diff options
author | 2012-10-09 04:30:31 +0000 | |
---|---|---|
committer | 2012-10-09 04:30:31 +0000 | |
commit | 98a9b0c1bc8562957c532934ad87270136be1360 (patch) | |
tree | d981ea9a50c5623a3d95c18e2655d11fbd3d2450 /sys-process/psmisc | |
parent | Bump to 3.01 per bug 343211. Thanks to all contributors. (diff) | |
download | historical-98a9b0c1bc8562957c532934ad87270136be1360.tar.gz historical-98a9b0c1bc8562957c532934ad87270136be1360.tar.bz2 historical-98a9b0c1bc8562957c532934ad87270136be1360.zip |
Add fix from upstream for building on selinux systems #437332 by Amadeusz Sławiński.
Package-Manager: portage-2.2.0_alpha131/cvs/Linux x86_64
Diffstat (limited to 'sys-process/psmisc')
-rw-r--r-- | sys-process/psmisc/ChangeLog | 7 | ||||
-rw-r--r-- | sys-process/psmisc/Manifest | 25 | ||||
-rw-r--r-- | sys-process/psmisc/files/psmisc-22.20-selinux.patch | 263 | ||||
-rw-r--r-- | sys-process/psmisc/psmisc-22.20.ebuild | 10 |
4 files changed, 293 insertions, 12 deletions
diff --git a/sys-process/psmisc/ChangeLog b/sys-process/psmisc/ChangeLog index 372125fb23fc..e4fedab29a43 100644 --- a/sys-process/psmisc/ChangeLog +++ b/sys-process/psmisc/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for sys-process/psmisc # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-process/psmisc/ChangeLog,v 1.139 2012/10/03 09:42:47 radhermit Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-process/psmisc/ChangeLog,v 1.140 2012/10/09 04:30:31 vapier Exp $ + + 09 Oct 2012; Mike Frysinger <vapier@gentoo.org> + +files/psmisc-22.20-selinux.patch, psmisc-22.20.ebuild: + Add fix from upstream for building on selinux systems #437332 by Amadeusz + Sławiński. *psmisc-22.20 (03 Oct 2012) diff --git a/sys-process/psmisc/Manifest b/sys-process/psmisc/Manifest index 4f93d3c75f0c..2acf82f7ced3 100644 --- a/sys-process/psmisc/Manifest +++ b/sys-process/psmisc/Manifest @@ -2,23 +2,30 @@ Hash: SHA256 AUX psmisc-22.16-fuser-pic.patch 598 SHA256 075c1406d995cafb4d8fac83b984fc5a0e03215548def65da565c97644a0a817 SHA512 ada88e426a53c326b3c28b3747a66736e68d4d9218566929bbf2ccf647276d6c7ac7cf08c8df84347a6d3577670e6612258a04b491fea71ecdd266be7073a060 WHIRLPOOL 1cbdc68a87acd2bea28844053bf892fe2a3b2cb029bd71a763ba31a02cf600d0dd7c43699b2b2de8293072c9c0881083112c655f3e7b014b18c9ffe9bcafab93 +AUX psmisc-22.20-selinux.patch 9092 SHA256 3aabdfb164d19fc38ace4272833973dd5b0d8971a7f2b8e4ac4dae4e5ea9459e SHA512 9e146809d411d28cbccc305f32d1cacb09e803deddb9ef2762e45ef9d4276abf30e1bce6bd33f5297293f77c4033c38f7075ba5d5c9f43f1886de01b2203782c WHIRLPOOL 53ec1e82aa50d4a700e884d1ff274c5104c7b51caa066b63b6eb79f33b9d111cef23e961ea5bd9b1cf533d909a5d2a95cf2a5dc23666bf056a09cf7dbefd0b7c DIST psmisc-22.16.tar.gz 465138 SHA256 ae426d7238e5353fdf51b1d313897c2bbed0023e66e5b4af2be9cd03d87a9d01 SHA512 265c9cc757c0d3f2a1b5ccf2171d1639d7af027ff13dd0d8fe1222ec3abc943cd1b60de49b3e651d21639590180ceb34a192121ecae5cd220814918c397c2426 WHIRLPOOL e4ceb5e9f9fcf89a25d707f9d3be925fcf53b69cff40222e8e7a04563d60a47ea85c0bd9a606cf00907fb9235c91a266f8edff12355cb0bac321e6f697c8299d DIST psmisc-22.19-fuser-unix-sockets.patch.xz 8216 SHA256 ca5a3ede7bf4c5b3946f6d3afbf03273fecc46b43b2b1bf71cc591e8c9e1e2f0 SHA512 e414d0ebbce698d7c8f118a7f23fe3cc1b93d606216ac1468db2c8b5bd3df02854bea4e1f43cc02f9a083e68f1c7d5b167ba602e0744dddf69fdeed46339d9f6 WHIRLPOOL f4903dc6983ff4e40d0a77ca272a74e90795c8fc2c332d3e74a8a8d6ca37e518aabff8e5e8707a72f8d3e6dd3a4f0b82e768ee5a40328917ff30933d54d0412c DIST psmisc-22.19.tar.gz 492733 SHA256 e112ccadd4694c98f5ea4a02cd6944fdc5a2a1985f20e2b3f74f4dbca83a2a31 SHA512 8f4526e53c80a3bc19430b5721610b733f59a330ee0230a3a285d104f99969c092421cb59b4e535aff3337c4de2118c148e2ea2e7019b704a28b22eff40b19d3 WHIRLPOOL eee3f704bdb3bfb6af0c66cdf81b51f4bb660b972bebbad91d4ded26406e3eff126023404ff41a1a43d82c5f687873d8040b9051d2bdf107f2d4b655376ba665 DIST psmisc-22.20.tar.gz 432501 SHA256 b17224e2385f6a799ffebba27eb7870771d42555e86814ef56b6d7e955765514 SHA512 5565163651c90afeb146c3305fddefc544bcd4cd5e98917fd57a9920e76c22e4bc0a197618539475a1410cfec9dd168b69983b2210a3ad9fc54368e9220503a6 WHIRLPOOL 97826e7d6d5def8a631a0726c3c1c8f67ab4f5f5b39e67d4a915f2741d8914b6c83d69293daacf25e92cef37990e1463ef7dc0843b47d5b0bfb1e3745fde669d EBUILD psmisc-22.16.ebuild 1405 SHA256 f17d61de77f0ef4319bb84c1c0ffb4e1dc161ddc3ba01dbff63c3ad3de845aa5 SHA512 a3fe74fb434d9bbec0cd9d70f48f932cd493d7d05838e057414d9176db5c96aea1b41d1e88abf1557ffd7713ff4d5ab23a2cf4628187f33438b603129f67de23 WHIRLPOOL 4a91191dce24bc699f771f9dc8a648f6e0a5717e428859b360fb93ef0dc43a85886e95835748b09e904e5ee2b230795b053a88c10ec6f3f3c07f7be4c0e2abb8 EBUILD psmisc-22.19-r1.ebuild 1478 SHA256 fb3f30f59d0aa07e27381de84e0487decc7a3f5683cbfb434de43363ee411ca5 SHA512 c1a43004c0e4faaf34b5eb9b379e5d526cab028f2fff1063b030fe7e7099d8d75bd3e06ad285b3f98a3fe5fdbdb2b7bd4e40575f6f050820d56922c9f86e2b73 WHIRLPOOL 0048ccf4e37174cfdc563f51078048c88f5539f175dacd687db329263cc0083fee186874930f899615aed96887fec3fa4ce884048878454688d73e58502a4818 -EBUILD psmisc-22.20.ebuild 1323 SHA256 f70710929fe0ad2fed9e7f6650fe43d7c4f0c6f8a66795f4b686f216bc44c710 SHA512 a847ca4fe206eb0ccc7045cdd59bbe8c936613c5f9d396a836eeeddd614248bc1c0077fbd0c08e9a2fe83841006846510694ed3166a456e513d3b446533dbbe7 WHIRLPOOL 86d51ec3bdcbfcee4b5915d97d616f16ac4b4c3a78c31f3a86ddabf9090c5d28338086be0f68c003ed483b9fafd2c979aea39c4c9a7de42370100a3ec2161c8f -MISC ChangeLog 22914 SHA256 32d4fb14c2f2b29ca0e4a9bb6d61e41d3ab6da4cb619058beeb6ae720ff6e1c4 SHA512 fa3749e1c5809f1df5725d146932b7f707be05a357393a229fb92136db1eedf6f227432c91b720fdb964c990c49ab22e7304d869fdff3d09181a2ee327971866 WHIRLPOOL f819a12dd0fad4cf1110c40fe51dfb25bedb65ca36d7b22d7a838ecea9480f57e458327c7d5b592f118121b05613ac4099e8dfeb9f0384d6e3ae883a5653393a +EBUILD psmisc-22.20.ebuild 1406 SHA256 fe5e0d3d60026af1cf9901610e14d00bd29407004ecc0ebb3c63d86534f48a87 SHA512 2c1c380c5b2103c5e73b5491b08112c8e4e49b14c933ad1a6e0a92f3cc701e3d5d8391eb73ae5e81bd0d666646bca68763d4eb97a4c960594c828ed3656da82f WHIRLPOOL c6db87a23ce203919ba0fff7865a00d104cc936a25114c0c11db194d1201151a4f5e381002c9649cda2bdfbf8bfc5092dd99c6490fb25477b86d35b7c312c9fe +MISC ChangeLog 23111 SHA256 7368a68c931f5f3f278c4bb8c3a81566d7dbc70d45979267503d83f21966f56d SHA512 6592ce8f74da523e74f92b988f963a639178dc7b0835573d7fd97525c19c3d949eda5c6a8621c422ec903d613d84942fd4fbd6164a685a795ad3333303fe2fe3 WHIRLPOOL 81611004271989c7e7800fb93733cca12a7507639f7be6e60da381bf34c43c855463e890c72ae50a1cff4b2e12feaf6d43760c2b0ab6a90830546e4b4ad621b3 MISC metadata.xml 164 SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92 SHA512 8eb0d5153d388f6ea069c64b93882244816a0a09aecc0d73cb872121ce0eb24c5ccafa96aad0b620b2300f319e1af101fa7fa6c5d0d561719d49bb07da0a2eca WHIRLPOOL 11a1441bddb7a6c69653c663902b7da5767ae6ad515ac2aabfc42fe37927a1ccc21472deeee454009ff720201a41c3e4a912df42661a0a87150fb46126da2d52 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) -iQEcBAEBCAAGBQJQbAimAAoJEEqz6FtPBkyjipsH/jtvrPkB4I2+u3NCw2JNCjqU -8sZJIVpH8aFe2tuHtoWimex2B5Af6nzcR2kMA4iZ/zSWxK7jl21/SXdtCje9omjH -stQsdAO1DFXawLyyS/BNuAw3etNgIlKBHTSSZ4wO9VNvh1MmaA0EPkBotofN/EjZ -xOrmFOB2VapBH9FuNujPC/y9zMK4lhmoR1YjIPI5ZayJ6cQbTlCw1oyCARJBx72O -Wb6QNy1HDAHbRu5GoislAiC0r/fheVZhskajA4tovllW5bMLX+JgYS/ia4OxFMrP -0LL4ArL4adcajPPTJ3f0gD/WBXHMBP8ZyElauyc3FXP2jGbVt0tVI+EJKUQADW0= -=FvX7 +iQIcBAEBCAAGBQJQc6jQAAoJELEHsLL7fEFWK0IQAMSjjRPBotGziSkDN8mYhuVy +z7nsRcddNiIs7N5TCqv26gdTclbenYRfV1tIsOaQTJv3NNa8FkXjvL12XzKUMjj3 +t87c+ZrI5SpMbMal1Ouihe02hcKMQAzN3rnclQl8I4pA7XMxmbQwvwno1eXEElwj +gHpkm2FzZyRVbMPSp2IvT/BCR6vuwTDc09XZ2Xc/p68Di9Nq+6VHsP185qyDEUct +mDFQNu29AN8vq2AdsVFi/ec4AN+jh0o7dFPc8bEcsLZyEKXYZ1pKNr9dEbDhlCmN +xwxoXBXK7Zx66MbBNbCT0jnQHDsO6kg/Dmdf/My9yGBRvRzqF1BdxXqUGKFPtMiA +hyBx1PEJBUBCgzImNv/xSlVWwThthtJOAX/yOK2SYGJjC48cY/GVr9tqVp0Ys+GT +7+d/ItlEy1RutY5PtBy2O+Wi7TkKjeHb6laZdEwe8JtonK4jMvkk7UjlSkY0VQYQ +rdjsBmzvb4B/025vEDRpXy0+otWVdtHu3MyRBxJ3EGjetV5qybIHKdmI4aAi6VMr +y04aS+sXTiNjauzHsZYYywpWLk0PV9oMO9d+IvouswLdYOdMVRd4g7YUXnsgoOcA +uaaGHp4T6+vuJpLGNsoyJhXlN3wvOZzryaGMwo3HJjMdq+IJ/tqg3jK8esXVs71U +fWUTK2W4fVVw/HFF83X9 +=KjeB -----END PGP SIGNATURE----- diff --git a/sys-process/psmisc/files/psmisc-22.20-selinux.patch b/sys-process/psmisc/files/psmisc-22.20-selinux.patch new file mode 100644 index 000000000000..b4ac010ac8dc --- /dev/null +++ b/sys-process/psmisc/files/psmisc-22.20-selinux.patch @@ -0,0 +1,263 @@ +From 89fa40f0a55096a62809e852244d7db3f445b0cd Mon Sep 17 00:00:00 2001 +From: Craig Small <csmall@enc.com.au> +Date: Sun, 7 Oct 2012 10:52:46 +1100 +Subject: [PATCH] pstree compiles with SE Linux + +pstree failed to compile with SE Linux enabled because one of the +scontext was missed and without it enabled the bug doesn't appear. + +pstree is now re-worked so scontext is defined as a dummy meaning +most of the code except the reall SE Linux specific stuff is compilied +meaning this sort of thing shouldn't happen too much again. + +Bug-Gentoo: https://bugs.gentoo.org/show_bug.cgi?id=437332 +Bug-Sourceforge: https://sourceforge.net/p/psmisc/bugs/54/ +--- + src/pstree.c | 69 ++++++------------------------------------------------------ + 1 file changed, 6 insertions(+), 63 deletions(-) + +diff --git a/src/pstree.c b/src/pstree.c +index db57244..b9a01cf 100644 +--- a/src/pstree.c ++++ b/src/pstree.c +@@ -47,6 +47,8 @@ + + #ifdef WITH_SELINUX + #include <selinux/selinux.h> ++#else ++typedef void* security_context_t; /* DUMMY to remove most ifdefs */ + #endif /*WITH_SELINUX */ + + extern const char *__progname; +@@ -81,9 +83,7 @@ typedef struct _proc { + pid_t pid; + pid_t pgid; + uid_t uid; +-#ifdef WITH_SELINUX + security_context_t scontext; +-#endif /*WITH_SELINUX */ + char flags; + struct _child *children; + struct _proc *parent; +@@ -131,16 +131,14 @@ static int *more = NULL; + + static int print_args = 0, compact = 1, user_change = 0, pids = 0, pgids = 0, + show_parents = 0, by_pid = 0, trunc = 1, wait_end = 0; +-#ifdef WITH_SELINUX + static int show_scontext = 0; +-#endif /*WITH_SELINUX */ + static int output_width = 132; + static int cur_x = 1; + static char last_char = 0; + static int dumped = 0; /* used by dump_by_user */ + static int charlen = 0; /* length of character */ + +-static void fix_orphans(void); ++static void fix_orphans(security_context_t scontext); + /* + * Allocates additional buffer space for width and more as needed. + * The first call will allocate the first buffer. +@@ -229,15 +227,12 @@ static int out_int(int x) + return digits; + } + +-#ifdef WITH_SELINUX + static void out_scontext(security_context_t scontext) + { + out_string("`"); + out_string(scontext); + out_string("'"); + } +-#endif /*WITH_SELINUX */ +- + + static void out_newline(void) + { +@@ -259,12 +254,8 @@ static PROC *find_proc(pid_t pid) + return NULL; + } + +-#ifdef WITH_SELINUX + static PROC *new_proc(const char *comm, pid_t pid, uid_t uid, + security_context_t scontext) +-#else /*WITH_SELINUX */ +-static PROC *new_proc(const char *comm, pid_t pid, uid_t uid) +-#endif /*WITH_SELINUX */ + { + PROC *new; + +@@ -279,9 +270,7 @@ static PROC *new_proc(const char *comm, pid_t pid, uid_t uid) + new->flags = 0; + new->argc = 0; + new->argv = NULL; +-#ifdef WITH_SELINUX + new->scontext = scontext; +-#endif /*WITH_SELINUX */ + new->children = NULL; + new->parent = NULL; + new->next = list; +@@ -364,24 +353,14 @@ rename_proc(PROC *this, const char *comm, uid_t uid) + } + } + } +-#ifdef WITH_SELINUX + static void + add_proc(const char *comm, pid_t pid, pid_t ppid, pid_t pgid, uid_t uid, + const char *args, int size, char isthread, security_context_t scontext) +-#else /*WITH_SELINUX */ +-static void +-add_proc(const char *comm, pid_t pid, pid_t ppid, pid_t pgid, uid_t uid, +- const char *args, int size, char isthread) +-#endif /*WITH_SELINUX */ + { + PROC *this, *parent; + + if (!(this = find_proc(pid))) +-#ifdef WITH_SELINUX + this = new_proc(comm, pid, uid, scontext); +-#else /*WITH_SELINUX */ +- this = new_proc(comm, pid, uid); +-#endif /*WITH_SELINUX */ + else { + rename_proc(this, comm, uid); + } +@@ -393,11 +372,7 @@ add_proc(const char *comm, pid_t pid, pid_t ppid, pid_t pgid, uid_t uid, + if (isthread) + this->flags |= PFLAG_THREAD; + if (!(parent = find_proc(ppid))) { +-#ifdef WITH_SELINUX + parent = new_proc("?", ppid, 0, scontext); +-#else /*WITH_SELINUX */ +- parent = new_proc("?", ppid, 0); +-#endif + } + if (pid != 0) { + add_child(parent, this); +@@ -494,12 +469,10 @@ dump_tree(PROC * current, int level, int rep, int leaf, int last, + else + (void) out_int(current->uid); + } +-#ifdef WITH_SELINUX + if (show_scontext) { + out_char(info++ ? ',' : '('); + out_scontext(current->scontext); + } +-#endif /*WITH_SELINUX */ + if ((swapped && print_args && current->argc < 0) || (!swapped && info)) + out_char(')'); + if ((current->flags & PFLAG_HILIGHT) && (tmp = tgetstr("me", NULL))) +@@ -520,11 +493,7 @@ dump_tree(PROC * current, int level, int rep, int leaf, int last, + } + } + } +-#ifdef WITH_SELINUX + if (show_scontext || print_args || !current->children) +-#else /*WITH_SELINUX */ +- if (print_args || !current->children) +-#endif /*WITH_SELINUX */ + { + while (closing--) + out_char(']'); +@@ -533,11 +502,7 @@ dump_tree(PROC * current, int level, int rep, int leaf, int last, + ensure_buffer_capacity(level); + more[level] = !last; + +-#ifdef WITH_SELINUX + if (show_scontext || print_args) +-#else /*WITH_SELINUX */ +- if (print_args) +-#endif /*WITH_SELINUX */ + { + width[level] = swapped + (comm_len > 1 ? 0 : -1); + count=0; +@@ -653,8 +618,8 @@ static void read_proc(void) + pid_t pid, ppid, pgid; + int fd, size; + int empty; +-#ifdef WITH_SELINUX + security_context_t scontext = NULL; ++#ifdef WITH_SELINUX + int selinux_enabled = is_selinux_enabled() > 0; + #endif /*WITH_SELINUX */ + +@@ -726,21 +691,12 @@ static void read_proc(void) + while ((dt = readdir(taskdir)) != NULL) { + if ((thread = atoi(dt->d_name)) != 0) { + if (thread != pid) { +-#ifdef WITH_SELINUX + if (print_args) + add_proc(threadname, thread, pid, pgid, st.st_uid, + threadname, strlen (threadname) + 1, 1,scontext); + else + add_proc(threadname, thread, pid, pgid, st.st_uid, + NULL, 0, 1, scontext); +-#else /*WITH_SELINUX */ +- if (print_args) +- add_proc(threadname, thread, pid, pgid, st.st_uid, +- threadname, strlen (threadname) + 1, 1); +- else +- add_proc(threadname, thread, pid, pgid, st.st_uid, +- NULL, 0, 1); +-#endif /*WITH_SELINUX */ + } + } + } +@@ -749,11 +705,7 @@ static void read_proc(void) + } + free(taskpath); + if (!print_args) +-#ifdef WITH_SELINUX + add_proc(comm, pid, ppid, pgid, st.st_uid, NULL, 0, 0, scontext); +-#else /*WITH_SELINUX */ +- add_proc(comm, pid, ppid, pgid, st.st_uid, NULL, 0, 0); +-#endif /*WITH_SELINUX */ + else { + sprintf(path, "%s/%d/cmdline", PROC_BASE, pid); + if ((fd = open(path, O_RDONLY)) < 0) { +@@ -770,13 +722,8 @@ static void read_proc(void) + size--; + if (size) + buffer[size++] = 0; +-#ifdef WITH_SELINUX + add_proc(comm, pid, ppid, pgid, st.st_uid, + buffer, size, 0, scontext); +-#else /*WITH_SELINUX */ +- add_proc(comm, pid, ppid, pgid, st.st_uid, +- buffer, size, 0); +-#endif /*WITH_SELINUX */ + } + } + } +@@ -787,7 +734,7 @@ static void read_proc(void) + } + } + (void) closedir(dir); +- fix_orphans(); ++ fix_orphans(scontext); + if (print_args) + free(buffer); + if (empty) { +@@ -796,7 +743,7 @@ static void read_proc(void) + } + } + +-static void fix_orphans(void) ++static void fix_orphans(security_context_t scontext) + { + /* When using kernel 3.3 with hidepid feature enabled on /proc + * then we need fake root pid and gather all the orphan processes +@@ -807,11 +754,7 @@ static void fix_orphans(void) + PROC *root, *walk; + + if (!(root = find_proc(ROOT_PID))) { +-#ifdef WITH_SELINUX + root = new_proc("?", ROOT_PID, 0, scontext); +-#else /*WITH_SELINUX */ +- root = new_proc("?", ROOT_PID, 0); +-#endif + } + for (walk = list; walk; walk = walk->next) { + if (walk->pid == 1 || walk->pid == 0) +-- +1.7.12 + diff --git a/sys-process/psmisc/psmisc-22.20.ebuild b/sys-process/psmisc/psmisc-22.20.ebuild index 42c16e10edb3..e41b789ac2a7 100644 --- a/sys-process/psmisc/psmisc-22.20.ebuild +++ b/sys-process/psmisc/psmisc-22.20.ebuild @@ -1,8 +1,10 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-process/psmisc/psmisc-22.20.ebuild,v 1.1 2012/10/03 09:42:47 radhermit Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-process/psmisc/psmisc-22.20.ebuild,v 1.2 2012/10/09 04:30:31 vapier Exp $ -EAPI=4 +EAPI="4" + +inherit eutils DESCRIPTION="A set of tools that use the proc filesystem" HOMEPAGE="http://psmisc.sourceforge.net/" @@ -22,6 +24,10 @@ DEPEND="${RDEPEND} DOCS="AUTHORS ChangeLog NEWS README" +src_prepare() { + epatch "${FILESDIR}"/${P}-selinux.patch #437332 +} + src_configure() { econf \ $(use_enable selinux) \ |