diff --git a/README.md b/README.md index 8d7db87..4260752 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ # procps-ng +This project provides command line and full screen utilities for browsing procfs, a "pseudo" file system dynamically generated by the kernel to provide information about the status of entries in its process table (such as whether the process is running, stopped, or a "zombie"). +It contains free, kill, pkill, pgrep, pmap, ps, pwdx, skill, slabtop, snice, sysctl, tload, top, uptime, vmstat, w, and watch. + diff --git a/procps-3.2.8-kernel-3.0.patch b/procps-3.2.8-kernel-3.0.patch new file mode 100644 index 0000000..6c32b3b --- /dev/null +++ b/procps-3.2.8-kernel-3.0.patch @@ -0,0 +1,12 @@ +diff -Nru procps-3.2.8.orig/proc/version.c procps-3.2.8/proc/version.c +--- procps-3.2.8.orig/proc/version.c 2011-09-18 17:05:50.489893190 +0200 ++++ procps-3.2.8/proc/version.c 2011-09-18 17:07:03.757693608 +0200 +@@ -39,7 +39,7 @@ + + if (uname(&uts) == -1) /* failure implies impending death */ + exit(1); +- if (sscanf(uts.release, "%d.%d.%d", &x, &y, &z) < 3) ++ if (sscanf(uts.release, "%d.%d.%d", &x, &y, &z) < 2) + fprintf(stderr, /* *very* unlikely to happen by accident */ + "Non-standard uts for running kernel:\n" + "release %s=%d.%d.%d gives version code %d\n", diff --git a/procps-3.2.8-sysinfo_7numbers.patch b/procps-3.2.8-sysinfo_7numbers.patch new file mode 100644 index 0000000..5fa0314 --- /dev/null +++ b/procps-3.2.8-sysinfo_7numbers.patch @@ -0,0 +1,35 @@ +diff -upr procps-3.2.8.orig/proc/sysinfo.c procps-3.2.8/proc/sysinfo.c +--- procps-3.2.8.orig/proc/sysinfo.c 2008-03-24 04:33:43.000000000 +0000 ++++ procps-3.2.8/proc/sysinfo.c 2011-02-07 18:14:16.476982472 +0000 +@@ -212,6 +212,7 @@ static int check_for_privs(void){ + static void init_libproc(void) __attribute__((constructor)); + static void init_libproc(void){ + have_privs = check_for_privs(); ++ init_Linux_version(); + // ought to count CPUs in /proc/stat instead of relying + // on glibc, which foolishly tries to parse /proc/cpuinfo + // +diff -upr procps-3.2.8.orig/proc/version.c procps-3.2.8/proc/version.c +--- procps-3.2.8.orig/proc/version.c 2003-01-29 01:11:43.000000000 +0000 ++++ procps-3.2.8/proc/version.c 2011-02-07 18:13:12.283649138 +0000 +@@ -33,8 +33,7 @@ void display_version(void) { + + int linux_version_code; + +-static void init_Linux_version(void) __attribute__((constructor)); +-static void init_Linux_version(void) { ++void init_Linux_version(void) { + static struct utsname uts; + int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 3 */ + +diff -upr procps-3.2.8.orig/proc/version.h procps-3.2.8/proc/version.h +--- procps-3.2.8.orig/proc/version.h 2002-12-15 00:08:32.000000000 +0000 ++++ procps-3.2.8/proc/version.h 2011-02-07 18:14:20.263649138 +0000 +@@ -14,6 +14,7 @@ + + EXTERN_C_BEGIN + ++extern void init_Linux_version(void); + extern void display_version(void); /* display suite version */ + extern const char procps_version[]; /* global buf for suite version */ + diff --git a/procps-ng.spec b/procps-ng.spec new file mode 100644 index 0000000..4d93735 --- /dev/null +++ b/procps-ng.spec @@ -0,0 +1,157 @@ +Name: procps-ng +Version: 3.3.9 +Release: 2mamba +Summary: Command line and full screen utilities for browsing procfs +Group: System/Tools +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://sourceforge.net/projects/procps-ng +Source: http://sourceforge.net/projects/procps-ng/files/Production/procps-ng-%{version}.tar.xz +Patch0: procps-3.2.8-sysinfo_7numbers.patch +Patch1: procps-3.2.8-kernel-3.0.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libncurses-devel +BuildRequires: libsystemd-devel +## AUTOBUILDREQ-END +Provides: procps = %{version}-%{release} +Obsoletes: procps < 3.2.9 +Provides: sysvinit-tools +Obsoletes: sysvinit-tools +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +This project provides command line and full screen utilities for browsing procfs, a "pseudo" file system dynamically generated by the kernel to provide information about the status of entries in its process table (such as whether the process is running, stopped, or a "zombie"). +It contains free, kill, pkill, pgrep, pmap, ps, pwdx, skill, slabtop, snice, sysctl, tload, top, uptime, vmstat, w, and watch. + +%package -n libprocps +Group: System/Libraries +Summary: Shared libraries for %{name} + +%description -n libprocps +This package contains shared libraries for %{name}. + +%package -n libprocps-devel +Group: Development/Libraries +Summary: Development files for %{name} +Requires: libprocps = %{?epoch:%epoch:}%{version}-%{release} +Requires: pkg-config + +%description -n libprocps-devel +This package contains libraries and header files for developing applications that use %{name}. + +%prep +%setup -q +#%patch0 -p1 +#%patch1 -p1 + +%build +%configure \ + --with-systemd \ + --exec-prefix= \ + --bindir=/bin \ + --sbindir=/sbin + +%make \ + CC=%{_target_platform}-gcc + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall + +mv %{buildroot}%{_bindir}/pidof %{buildroot}/bin/pidof +install -d -m0755 %{buildroot}/%{_lib} +mv %{buildroot}%{_libdir}/libprocps.so.* %{buildroot}/%{_lib}/ +ln -sfv ../../%{_lib}/$(readlink %{buildroot}%{_libdir}/libprocps.so) %{buildroot}%{_libdir}/libprocps.so + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +# add/remove libproc in the cache +%post -n libprocps -p /sbin/ldconfig +%postun -n libprocps -p /sbin/ldconfig + +%files +%defattr(-,root,root) +/bin/kill +/bin/pidof +/bin/ps +/sbin/sysctl +%{_bindir}/free +%{_bindir}/pgrep +%{_bindir}/pkill +%{_bindir}/pmap +%{_bindir}/pwdx +#%{_bindir}/skill +%{_bindir}/slabtop +#%{_bindir}/snice +%{_bindir}/tload +%{_bindir}/top +%{_bindir}/uptime +%{_bindir}/vmstat +%{_bindir}/w +%{_bindir}/watch +%{_mandir}/man?/* + +%files -n libprocps +%defattr(-,root,root) +/%{_lib}/libprocps.so.* +%doc AUTHORS COPYING* + +%files -n libprocps-devel +%defattr(-,root,root) +%dir %{_includedir}/proc +%{_includedir}/proc/*.h +%{_libdir}/libprocps.a +%{_libdir}/libprocps.la +%{_libdir}/libprocps.so +%{_libdir}/pkgconfig/libprocps.pc +%{_datadir}/doc/procps-ng/BUGS +%{_datadir}/doc/procps-ng/FAQ +%{_datadir}/doc/procps-ng/README.top +%doc NEWS README + +%changelog +* Sat Aug 09 2014 Silvan Calarco 3.3.9-2mamba +- completed work started by Davide + +* Tue Jul 22 2014 Davide Madrisan 3.3.9-1mamba +- update to 3.3.9 + +* Sun Sep 18 2011 Silvan Calarco 3.2.8-5mamba +- added patch to support 2 components kernel versions (3.0) + +* Sat May 07 2011 Silvan Calarco 3.2.8-4mamba +- added a better patch to fix 'Unknown HZ value' message (see http://bugs.gentoo.org/show_bug.cgi?id=303120#c33) + +* Fri Aug 20 2010 Silvan Calarco 3.2.8-3mamba +- fix the make 3.82 fix to restore build of /bin/ps + +* Wed Aug 18 2010 Silvan Calarco 3.2.8-2mamba +- added Makefile fix for build with make 3.82 + +* Sat Jun 06 2009 Automatic Build System 3.2.8-1mamba +- automatic update by autodist + +* Wed Jun 04 2008 Silvan Calarco 3.2.7-2mamba +- specfile updated + +* Tue Oct 03 2006 Silvan Calarco 3.2.7-1qilnx +- update to version 3.2.7 by autospec + +* Wed Jun 28 2006 Stefano Cotta Ramusino 3.2.6-1qilnx +- update to version 3.2.6 by autospec + +* Mon Sep 12 2005 Silvan Calarco 3.2.5-1qilnx +- update to version 3.2.5 by autospec + +* Fri Jul 09 2004 Silvan Calarco 3.2.1-1qilnx +- new version build + +* Sun Nov 30 2003 Davide Madrisan 3.1.14-1qilnx +- rebuilt with latest version (linux 2.6.x compatible version) + +* Wed Apr 09 2003 Mirko Cortillaro +- write a spec file for procps