summaryrefslogtreecommitdiff
path: root/core/procps-ng
diff options
context:
space:
mode:
authorMichał Masłowski <mtjm@mtjm.eu>2012-05-06 11:43:14 +0200
committerMichał Masłowski <mtjm@mtjm.eu>2012-05-06 11:43:14 +0200
commit601a559448eb957ac98aca7a6e03de59e45fff91 (patch)
tree13fc71216622c3d764aa611b6a54e1918f21c496 /core/procps-ng
parentc96a7351e1f295c1e311860dec19ac7b506b0c5c (diff)
parentf37e773fe397778858ea8d51601554863c252536 (diff)
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts: community/rtorrent/PKGBUILD core/libcap/PKGBUILD extra/samba/PKGBUILD extra/systemd/PKGBUILD extra/usbmuxd/PKGBUILD testing/glib2/PKGBUILD
Diffstat (limited to 'core/procps-ng')
-rw-r--r--core/procps-ng/PKGBUILD48
-rw-r--r--core/procps-ng/complain_unmounted_proc.patch17
-rw-r--r--core/procps-ng/gnu-kbsd-version.patch38
-rw-r--r--core/procps-ng/includes_restrict.patch144
-rw-r--r--core/procps-ng/makefile_watch_ncurses.patch11
-rw-r--r--core/procps-ng/sig_printf_literal.patch11
-rw-r--r--core/procps-ng/sysctl.conf42
-rw-r--r--core/procps-ng/sysctl_man.patch20
8 files changed, 331 insertions, 0 deletions
diff --git a/core/procps-ng/PKGBUILD b/core/procps-ng/PKGBUILD
new file mode 100644
index 000000000..5e45ba2e4
--- /dev/null
+++ b/core/procps-ng/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 158584 2012-05-05 00:40:00Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=procps-ng
+pkgver=3.3.2
+pkgrel=2
+pkgdesc="Utilities for monitoring your system and processes on your system"
+arch=('i686' 'x86_64')
+url="http://gitorious.org/procps"
+license=('GPL' 'LGPL')
+groups=('base')
+depends=('ncurses')
+conflicts=('procps')
+provides=('procps')
+replaces=('procps')
+backup=('etc/sysctl.conf')
+options=('!libtool')
+source=(http://gitorious.org/procps/procps/archive-tarball/v${pkgver} sysctl.conf
+ sysctl_man.patch includes_restrict.patch gnu-kbsd-version.patch
+ complain_unmounted_proc.patch sig_printf_literal.patch
+ makefile_watch_ncurses.patch)
+sha1sums=('889692f891e790ea035315ec321cce92d00a8db2'
+ 'ddf0dab2e3612d44903fc02f46316cabbec4651e'
+ '39d6562b83389ec4893de88ec88222f7169fa732'
+ 'd588825497fef0b057491377421fd8f68730d181'
+ '9eb2bb32a13656b5d671f9cffed3094399a26048'
+ 'bf57f5a1f54a0f4a6d9e99d66b8e447225c3371d'
+ '25be10b456d56b8bdf6260276c60738a7d76a34d'
+ '9fc24e48f902c19315e2557e4deea5592bbfad7e')
+
+build() {
+ cd "${srcdir}/procps-procps"
+ ./autogen.sh
+ patch -p1 < ../sysctl_man.patch
+ patch -p1 < ../includes_restrict.patch
+ patch -p1 < ../gnu-kbsd-version.patch
+ patch -p1 < ../complain_unmounted_proc.patch
+ patch -p1 < ../sig_printf_literal.patch
+ patch -p1 < ../makefile_watch_ncurses.patch
+ ./configure --exec-prefix=/ --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib
+ make
+}
+
+package() {
+ cd "${srcdir}/procps-procps"
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 "${srcdir}/sysctl.conf" "${pkgdir}/etc/sysctl.conf"
+}
diff --git a/core/procps-ng/complain_unmounted_proc.patch b/core/procps-ng/complain_unmounted_proc.patch
new file mode 100644
index 000000000..ed932dbba
--- /dev/null
+++ b/core/procps-ng/complain_unmounted_proc.patch
@@ -0,0 +1,17 @@
+Author: <hesso@hesso.pool.math.tu-berlin.de>
+Description: Complain when /proc/version cannot be found instead of
+exiting silently.
+--- a/proc/version.c
++++ b/proc/version.c
+@@ -33,8 +33,10 @@
+ char buf[256];
+ int version_string_depth;
+
+- if ( (fp=fopen("/proc/version","r")) == NULL) /* failure implies impending death */
++ if ( (fp=fopen("/proc/version","r")) == NULL) {
++ fprintf(stderr, "Cannot find /proc/version - is /proc mounted?\n");
+ exit(1);
++ }
+ if (fgets(buf, 256, fp) == NULL) {
+ fprintf(stderr, "Cannot read kernel version from /proc/version\n");
+ fclose(fp);
diff --git a/core/procps-ng/gnu-kbsd-version.patch b/core/procps-ng/gnu-kbsd-version.patch
new file mode 100644
index 000000000..f310a4c93
--- /dev/null
+++ b/core/procps-ng/gnu-kbsd-version.patch
@@ -0,0 +1,38 @@
+Author: <csmall@debian.org>
+Description: Rework version parsing so its ok with other OSes
+--- a/proc/version.c
++++ b/proc/version.c
+@@ -28,20 +28,26 @@
+ int linux_version_code;
+
+ void init_Linux_version(void) {
+- static struct utsname uts;
+ int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 3 */
++ FILE *fp;
++ char buf[256];
+ int version_string_depth;
+
+- if (uname(&uts) == -1) /* failure implies impending death */
+- exit(1);
+-
+- version_string_depth = sscanf(uts.release, "%d.%d.%d", &x, &y, &z);
++ if ( (fp=fopen("/proc/version","r")) == NULL) /* failure implies impending death */
++ exit(1);
++ if (fgets(buf, 256, fp) == NULL) {
++ fprintf(stderr, "Cannot read kernel version from /proc/version\n");
++ fclose(fp);
++ exit(1);
++ }
++ fclose(fp);
++ version_string_depth = sscanf(buf, "Linux version %d.%d.%d", &x, &y, &z);
+
+ if ((version_string_depth < 2) || /* Non-standard for all known kernels */
+ ((version_string_depth < 3) && (x < 3))) /* Non-standard for 2.x.x kernels */
+ 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",
+- uts.release, x, y, z, LINUX_VERSION(x,y,z));
++ "%s=%d.%d.%d gives version code %d\n",
++ buf, x, y, z, LINUX_VERSION(x,y,z));
+ linux_version_code = LINUX_VERSION(x, y, z);
+ }
diff --git a/core/procps-ng/includes_restrict.patch b/core/procps-ng/includes_restrict.patch
new file mode 100644
index 000000000..417e93223
--- /dev/null
+++ b/core/procps-ng/includes_restrict.patch
@@ -0,0 +1,144 @@
+Author: Craig Small <csmall@debian.org>
+Description: Change restrict to __restrict
+ procps automake defines restrict which means the binaries for procps
+ binaries compile. However external programs may not of defined
+ restrict. includes from libc6 use __restrict and if is good enough for
+ them, its good enough for us.
+
+--- a/proc/devname.h
++++ b/proc/devname.h
+@@ -10,9 +10,9 @@
+ #define ABBREV_TTY 2 /* remove tty */
+ #define ABBREV_PTS 4 /* remove pts/ */
+
+-extern unsigned dev_to_tty(char *restrict ret, unsigned chop, dev_t dev_t_dev, int pid, unsigned int flags);
++extern unsigned dev_to_tty(char *__restrict ret, unsigned chop, dev_t dev_t_dev, int pid, unsigned int flags);
+
+-extern int tty_to_dev(const char *restrict const name);
++extern int tty_to_dev(const char *__restrict const name);
+
+ EXTERN_C_END
+ #endif
+--- a/proc/escape.h
++++ b/proc/escape.h
+@@ -14,10 +14,10 @@
+ #define ESC_BRACKETS 0x2 // if using cmd, put '[' and ']' around it
+ #define ESC_DEFUNCT 0x4 // mark zombies with " <defunct>"
+
+-extern int escape_strlist(char *restrict dst, char *restrict const *restrict src, size_t n, int *cells);
+-extern int escape_str(char *restrict dst, const char *restrict src, int bufsize, int *maxcells);
+-extern int escape_command(char *restrict const outbuf, const proc_t *restrict const pp, int bytes, int *cells, unsigned flags);
+-extern int escaped_copy(char *restrict dst, const char *restrict src, int bufsize, int *maxroom);
++extern int escape_strlist(char *__restrict dst, char *__restrict const *__restrict src, size_t n, int *cells);
++extern int escape_str(char *__restrict dst, const char *__restrict src, int bufsize, int *maxcells);
++extern int escape_command(char *__restrict const outbuf, const proc_t *__restrict const pp, int bytes, int *cells, unsigned flags);
++extern int escaped_copy(char *__restrict dst, const char *__restrict src, int bufsize, int *maxroom);
+
+ EXTERN_C_END
+ #endif
+--- a/proc/procps.h
++++ b/proc/procps.h
+@@ -103,6 +103,6 @@
+ #endif
+
+
+-typedef void (*message_fn)(const char *restrict, ...) __attribute__((format(printf,1,2)));
++typedef void (*message_fn)(const char *__restrict, ...) __attribute__((format(printf,1,2)));
+
+ #endif
+--- a/proc/readproc.h
++++ b/proc/readproc.h
+@@ -173,10 +173,10 @@
+ // char deBug1[64];
+ pid_t taskdir_user; // for threads
+ int did_fake; // used when taskdir is missing
+- int(*finder)(struct PROCTAB *restrict const, proc_t *restrict const);
+- proc_t*(*reader)(struct PROCTAB *restrict const, proc_t *restrict const);
+- int(*taskfinder)(struct PROCTAB *restrict const, const proc_t *restrict const, proc_t *restrict const, char *restrict const);
+- proc_t*(*taskreader)(struct PROCTAB *restrict const, const proc_t *restrict const, proc_t *restrict const, char *restrict const);
++ int(*finder)(struct PROCTAB *__restrict const, proc_t *__restrict const);
++ proc_t*(*reader)(struct PROCTAB *__restrict const, proc_t *__restrict const);
++ int(*taskfinder)(struct PROCTAB *__restrict const, const proc_t *__restrict const, proc_t *__restrict const, char *__restrict const);
++ proc_t*(*taskreader)(struct PROCTAB *__restrict const, const proc_t *__restrict const, proc_t *__restrict const, char *__restrict const);
+ pid_t* pids; // pids of the procs
+ uid_t* uids; // uids of procs
+ int nuid; // cannot really sentinel-terminate unsigned short[]
+@@ -200,8 +200,8 @@
+ int ntask; // * readproctab2
+ } proc_data_t; // * when PROC_LOOSE_TASKS set
+
+-extern proc_data_t *readproctab2(int(*want_proc)(proc_t *buf), int(*want_task)(proc_t *buf), PROCTAB *restrict const PT);
+-extern proc_data_t *readproctab3(int(*want_task)(proc_t *buf), PROCTAB *restrict const PT);
++extern proc_data_t *readproctab2(int(*want_proc)(proc_t *buf), int(*want_task)(proc_t *buf), PROCTAB *__restrict const PT);
++extern proc_data_t *readproctab3(int(*want_task)(proc_t *buf), PROCTAB *__restrict const PT);
+
+ // Convenient wrapper around openproc and readproc to slurp in the whole process
+ // table subset satisfying the constraints of flags and the optional PID list.
+@@ -222,12 +222,12 @@
+ // only before first use. Thereafter, the library will manage such
+ // a passed proc_t, freeing any additional acquired memory associated
+ // with the previous process or thread.
+-extern proc_t* readproc(PROCTAB *restrict const PT, proc_t *restrict p);
+-extern proc_t* readtask(PROCTAB *restrict const PT, const proc_t *restrict const p, proc_t *restrict t);
+-extern proc_t* readeither(PROCTAB *restrict const PT, proc_t *restrict x);
++extern proc_t* readproc(PROCTAB *__restrict const PT, proc_t *__restrict p);
++extern proc_t* readtask(PROCTAB *__restrict const PT, const proc_t *__restrict const p, proc_t *__restrict t);
++extern proc_t* readeither(PROCTAB *__restrict const PT, proc_t *__restrict x);
+
+ // warning: interface may change
+-extern int read_cmdline(char *restrict const dst, unsigned sz, unsigned pid);
++extern int read_cmdline(char *__restrict const dst, unsigned sz, unsigned pid);
+
+ extern void look_up_our_self(proc_t *p);
+
+--- a/proc/sig.h
++++ b/proc/sig.h
+@@ -16,13 +16,13 @@
+ EXTERN_C_BEGIN
+
+ /* return -1 on failure */
+-extern int signal_name_to_number(const char *restrict name);
++extern int signal_name_to_number(const char *__restrict name);
+
+ extern const char *signal_number_to_name(int signo);
+
+-extern int print_given_signals(int argc, const char *restrict const *restrict argv, int max_line);
++extern int print_given_signals(int argc, const char *__restrict const *__restrict argv, int max_line);
+
+-extern char *strtosig(const char *restrict s);
++extern char *strtosig(const char *__restrict s);
+
+ extern void pretty_print_signals(void);
+
+--- a/proc/sysinfo.h
++++ b/proc/sysinfo.h
+@@ -57,11 +57,11 @@
+
+ #define BUFFSIZE (64*1024)
+ typedef unsigned long long jiff;
+-extern void getstat(jiff *restrict cuse, jiff *restrict cice, jiff *restrict csys, jiff *restrict cide, jiff *restrict ciow, jiff *restrict cxxx, jiff *restrict cyyy, jiff *restrict czzz,
+- unsigned long *restrict pin, unsigned long *restrict pout, unsigned long *restrict s_in, unsigned long *restrict sout,
+- unsigned *restrict intr, unsigned *restrict ctxt,
+- unsigned int *restrict running, unsigned int *restrict blocked,
+- unsigned int *restrict btime, unsigned int *restrict processes);
++extern void getstat(jiff *__restrict cuse, jiff *__restrict cice, jiff *__restrict csys, jiff *__restrict cide, jiff *__restrict ciow, jiff *__restrict cxxx, jiff *__restrict cyyy, jiff *__restrict czzz,
++ unsigned long *__restrict pin, unsigned long *__restrict pout, unsigned long *__restrict s_in, unsigned long *__restrict sout,
++ unsigned *__restrict intr, unsigned *__restrict ctxt,
++ unsigned int *__restrict running, unsigned int *__restrict blocked,
++ unsigned int *__restrict btime, unsigned int *__restrict processes);
+
+ extern void meminfo(void);
+
+--- a/proc/wchan.h
++++ b/proc/wchan.h
+@@ -6,8 +6,8 @@
+ EXTERN_C_BEGIN
+
+ extern const char * lookup_wchan(unsigned KLONG address, unsigned pid);
+-extern int open_psdb(const char *restrict override);
+-extern int open_psdb_message(const char *restrict override, message_fn message);
++extern int open_psdb(const char *__restrict override);
++extern int open_psdb_message(const char *__restrict override, message_fn message);
+
+ EXTERN_C_END
+
diff --git a/core/procps-ng/makefile_watch_ncurses.patch b/core/procps-ng/makefile_watch_ncurses.patch
new file mode 100644
index 000000000..08d70bdc7
--- /dev/null
+++ b/core/procps-ng/makefile_watch_ncurses.patch
@@ -0,0 +1,11 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -383,7 +383,7 @@
+ @WITH_NCURSES_TRUE@slabtop_SOURCES = slabtop.c $(top_srcdir)/lib/strutils.c
+ @WITH_NCURSES_TRUE@slabtop_LDADD = @NCURSES_LIBS@
+ @WITH_NCURSES_TRUE@watch_SOURCES = watch.c $(top_srcdir)/lib/strutils.c
+-@WITH_NCURSES_TRUE@watch_LDADD = @NCURSES_LIBS@
++@WITH_NCURSES_TRUE@watch_LDADD = @WATCH_NCURSES_LIBS@
+ kill_SOURCES = skill.c $(top_srcdir)/lib/strutils.c
+ skill_SOURCES = skill.c $(top_srcdir)/lib/strutils.c
+ snice_SOURCES = skill.c $(top_srcdir)/lib/strutils.c
diff --git a/core/procps-ng/sig_printf_literal.patch b/core/procps-ng/sig_printf_literal.patch
new file mode 100644
index 000000000..2140abf0d
--- /dev/null
+++ b/core/procps-ng/sig_printf_literal.patch
@@ -0,0 +1,11 @@
+--- a/proc/sig.c
++++ b/proc/sig.c
+@@ -257,7 +257,7 @@
+ while(++i <= number_of_signals){
+ int n;
+ n = printf("%2d %s", i, signal_number_to_name(i));
+- if(n>0 && i%7) printf(" \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + n);
++ if(n>0 && i%7) printf("%s", " \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + n);
+ else printf("\n");
+ }
+ if((i-1)%7) printf("\n");
diff --git a/core/procps-ng/sysctl.conf b/core/procps-ng/sysctl.conf
new file mode 100644
index 000000000..44906a21a
--- /dev/null
+++ b/core/procps-ng/sysctl.conf
@@ -0,0 +1,42 @@
+# /etc/sysctl.conf - Configuration file for setting system variables
+# See sysctl.conf (5) for information.
+
+# you can have the CD-ROM close when you use it, and open
+# when you are done.
+#dev.cdrom.autoeject = 1
+#dev.cdrom.autoclose = 1
+
+# protection from the SYN flood attack
+net.ipv4.tcp_syncookies = 1
+
+# see the evil packets in your log files
+#net.ipv4.conf.all.log_martians = 1
+
+# if not functioning as a router, there is no need to accept redirects or source routes
+#net.ipv4.conf.all.accept_redirects = 0
+#net.ipv4.conf.all.accept_source_route = 0
+#net.ipv6.conf.all.accept_redirects = 0
+#net.ipv6.conf.all.accept_source_route = 0
+
+# Disable packet forwarding
+net.ipv4.ip_forward = 0
+net.ipv6.conf.all.forwarding = 0
+
+# sets the port range used for outgoing connections
+#net.ipv4.ip_local_port_range = 32768 61000
+
+# Swapping too much or not enough? Disks spinning up when you'd
+# rather they didn't? Tweak these.
+#vm.vfs_cache_pressure = 100
+#vm.laptop_mode = 0
+#vm.swappiness = 60
+
+#kernel.printk_ratelimit_burst = 10
+#kernel.printk_ratelimit = 5
+#kernel.panic_on_oops = 0
+
+# Reboot 600 seconds after a panic
+#kernel.panic = 600
+
+# Disable SysRq key (note: console security issues)
+kernel.sysrq = 0
diff --git a/core/procps-ng/sysctl_man.patch b/core/procps-ng/sysctl_man.patch
new file mode 100644
index 000000000..d6023edfb
--- /dev/null
+++ b/core/procps-ng/sysctl_man.patch
@@ -0,0 +1,20 @@
+--- a/sysctl.8
++++ b/sysctl.8
+@@ -55,7 +55,7 @@
+ \fB\-w\fR, \fB\-\-write\fR
+ Use this option when you want to change a sysctl setting.
+ .TP
+-\fB\-p\fR, \fB\-\-load\fR[=\fIFILE\fR]
++\fB\-p\fR[\fIFILE\fR], \fB\-\-load\fR[=\fIFILE\fR]
+ Load in sysctl settings from the file specified or /etc/sysctl.conf if none
+ given. Specifying \- as filename means reading data from standard input.
+ .TP
+@@ -117,7 +117,7 @@
+ .br
+ /sbin/sysctl \-w kernel.domainname="example.com"
+ .br
+-/sbin/sysctl \-p /etc/sysctl.conf
++/sbin/sysctl \-p/etc/sysctl.conf
+ .br
+ /sbin/sysctl \-a \-\-pattern forward
+ .br