mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 13:41:26 +00:00
systemtap: remove dead package
Broken since 2013. Depends on equally broken latex2html. Our version 1.2 is almost six years old; latest is 2.9. And it's (still) no dtrace.
This commit is contained in:
parent
3a4d07e4d3
commit
fcb913b3a7
|
@ -1,74 +0,0 @@
|
|||
{ fetchurl, stdenv, elfutils, latex2html, xmlto, docbook_xml_dtd_412
|
||||
, libxml2, docbook_xsl, libxslt, texLive, texLiveExtra, ghostscript, pkgconfig
|
||||
, gtkmm, libglademm, boost, perl, sqlite }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "systemtap-1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://sources.redhat.com/systemtap/ftp/releases/${name}.tar.gz";
|
||||
sha256 = "0kxgjr8p1pnncc0l4941gzx0jsyyqjzjqar2qkcjzp266ajn9qz6";
|
||||
};
|
||||
|
||||
patches =
|
||||
stdenv.lib.optional (stdenv ? glibc) ./nixos-kernel-store-path.patch;
|
||||
|
||||
postPatch =
|
||||
'' sed -i scripts/kernel-doc -e 's|/usr/bin/perl|${perl}/bin/perl|g'
|
||||
'';
|
||||
|
||||
preConfigure =
|
||||
# XXX: This should really be handled by TeXLive's setup-hook.
|
||||
'' export TEXINPUTS="${latex2html}/texinputs:$TEXINPUTS"
|
||||
export TEXINPUTS="${texLiveExtra}/texmf-dist/tex/latex/preprint:$TEXINPUTS"
|
||||
echo "\$TEXINPUTS is \`$TEXINPUTS'"
|
||||
'';
|
||||
|
||||
postConfigure =
|
||||
/* Work around this:
|
||||
|
||||
StapParser.cxx:118: instantiated from here
|
||||
/...-boost-1.42.0/include/boost/algorithm/string/compare.hpp:43: error: comparison between signed and unsigned integer expressions
|
||||
|
||||
*/
|
||||
'' sed -i "grapher/Makefile" -e's/-Werror//g'
|
||||
'';
|
||||
|
||||
buildInputs =
|
||||
[ elfutils latex2html xmlto texLive texLiveExtra ghostscript
|
||||
pkgconfig gtkmm libglademm boost sqlite
|
||||
docbook_xml_dtd_412 libxml2
|
||||
docbook_xsl libxslt
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "SystemTap, tools to gather information about a running GNU/Linux system";
|
||||
|
||||
longDescription =
|
||||
'' SystemTap provides free software (GPL) infrastructure to simplify
|
||||
the gathering of information about the running GNU/Linux system.
|
||||
This assists diagnosis of a performance or functional problem.
|
||||
SystemTap eliminates the need for the developer to go through the
|
||||
tedious and disruptive instrument, recompile, install, and reboot
|
||||
sequence that may be otherwise required to collect data.
|
||||
|
||||
SystemTap provides a simple command line interface and scripting
|
||||
language for writing instrumentation for a live running kernel. We
|
||||
are publishing samples, as well as enlarging the internal "tapset"
|
||||
script library to aid reuse and abstraction.
|
||||
|
||||
Among other tracing/probing tools, SystemTap is the tool of choice
|
||||
for complex tasks that may require live analysis, programmable
|
||||
on-line response, and whole-system symbolic access. SystemTap can
|
||||
also handle simple tracing jobs.
|
||||
'';
|
||||
|
||||
homepage = http://sourceware.org/systemtap/;
|
||||
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
|
||||
maintainers = [ ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
|
@ -1,47 +0,0 @@
|
|||
This patch makes stap(1) know about the kernel store path on NixOS.
|
||||
|
||||
--- systemtap-1.2/main.cxx 2010-03-22 22:51:49.000000000 +0100
|
||||
+++ systemtap-1.2/main.cxx 2010-05-04 14:56:19.000000000 +0200
|
||||
@@ -528,6 +528,32 @@ getmemusage ()
|
||||
return oss.str();
|
||||
}
|
||||
|
||||
+/* Read `/proc/cmdline' and extract the store path. The assumption is that
|
||||
+ `/proc/cmdline' looks like this:
|
||||
+
|
||||
+ BOOT_IMAGE=/nix/store/sxjd69wfcr6w8jlbcc5bc20nwjliq872-linux-2.6.32.8/bzImage systemConfig=/nix/store/kiicqkjwgfvkwrg4fp3dnhwldh7dq7is-system init=/nix/store/czgncihjwx3n58xij6i1rlnz8wv6ym4j-stage-2-init.sh splash=verbose vga=0x317
|
||||
+
|
||||
+ This is the case on NixOS GNU/Linux. */
|
||||
+static string
|
||||
+kernel_store_path (void)
|
||||
+{
|
||||
+ ifstream proc_cmdline ("/proc/cmdline");
|
||||
+ string variable_name, store_path;
|
||||
+
|
||||
+ getline (proc_cmdline, variable_name, '=');
|
||||
+ if (variable_name == "BOOT_IMAGE")
|
||||
+ {
|
||||
+ string boot_image_path;
|
||||
+ size_t slash_pos;
|
||||
+
|
||||
+ getline (proc_cmdline, boot_image_path, ' ');
|
||||
+ slash_pos = boot_image_path.find_last_of ('/');
|
||||
+ store_path = boot_image_path.substr (0, slash_pos);
|
||||
+ }
|
||||
+
|
||||
+ return store_path;
|
||||
+}
|
||||
+
|
||||
int
|
||||
main (int argc, char * const argv [])
|
||||
{
|
||||
@@ -541,7 +567,8 @@ main (int argc, char * const argv [])
|
||||
struct utsname buf;
|
||||
(void) uname (& buf);
|
||||
s.kernel_release = string (buf.release);
|
||||
- s.kernel_build_tree = "/lib/modules/" + s.kernel_release + "/build";
|
||||
+ s.kernel_build_tree =
|
||||
+ kernel_store_path () + "/lib/modules/" + s.kernel_release + "/build";
|
||||
|
||||
// PR4186: Copy logic from coreutils uname (uname -i) to squash
|
||||
// i?86->i386. Actually, copy logic from linux top-level Makefile
|
|
@ -10484,10 +10484,6 @@ let
|
|||
linuxHeaders = linuxHeaders_3_18;
|
||||
};
|
||||
|
||||
systemtap = callPackage ../development/tools/profiling/systemtap {
|
||||
inherit (gnome) libglademm;
|
||||
};
|
||||
|
||||
# In nixos, you can set systemd.package = pkgs.systemd_with_lvm2 to get
|
||||
# LVM2 working in systemd.
|
||||
systemd_with_lvm2 = pkgs.lib.overrideDerivation pkgs.systemd (p: {
|
||||
|
|
Loading…
Reference in a new issue