1
0
Fork 1
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:
Tobias Geerinckx-Rice 2016-01-11 01:37:29 +01:00
parent 3a4d07e4d3
commit fcb913b3a7
3 changed files with 0 additions and 125 deletions

View file

@ -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;
};
}

View file

@ -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

View file

@ -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: {