Package: guix;
Reported by: Tobias Geerinckx-Rice <me <at> tobias.gr>
Date: Thu, 24 Oct 2019 16:23:01 UTC
Severity: normal
Done: Tobias Geerinckx-Rice <me <at> tobias.gr>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: Tobias Geerinckx-Rice <me <at> tobias.gr> Subject: bug#37905: closed () Date: Thu, 24 Oct 2019 16:37:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report #37905: psmisc-23.2.tar.xz was updated in place which was filed against the guix package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 37905 <at> debbugs.gnu.org. -- 37905: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=37905 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Tobias Geerinckx-Rice <me <at> tobias.gr> To: 37905-done <at> debbugs.gnu.org Date: Thu, 24 Oct 2019 18:36:01 +0200[Message part 3 (text/plain, inline)]…and adjusted in commit 70a4fb6f983f05b5630cf8c7d85c3143b6d5523b. Kind regards, T G-R[signature.asc (application/pgp-signature, inline)]
[Message part 5 (message/rfc822, inline)]
From: Tobias Geerinckx-Rice <me <at> tobias.gr> To: Tobias Geerinckx-Rice via Bug reports for GNU Guix <bug-guix <at> gnu.org> Subject: psmisc-23.2.tar.xz was updated in place Date: Thu, 24 Oct 2019 18:22:30 +0200[Message part 6 (text/plain, inline)]Guix, Here's[0] the diff with pretty colours. Here it is without:[DIFF (text/x-patch, inline)]diff -Naur psmisc-23.2-old/ChangeLog psmisc-23.2-new/ChangeLog --- psmisc-23.2-old/ChangeLog 2018-08-13 13:25:48.670327531 +0200 +++ psmisc-23.2-new/ChangeLog 2018-09-18 13:13:41.336594226 +0200 @@ -2,9 +2,11 @@ =============== * misc: Command names increased from 16 to 64 characters * buildsys: signals.c depends on signames.h !16 + * docs: Fix fuser.1 groff errors Debian #900225 * killall: look at all namespaces by default * killall: Fix -INT option parsing #11 - * killall: change to getopt_long without _only #12 + * killall: ignore -n 0 #15 + * killall: another crack at fixing getopt #12 #13 * peekfd: Attach to all threads option !15 * pslog: Define PATH_MAX if required Debian:#905797 diff -Naur psmisc-23.2-old/doc/fuser.1 psmisc-23.2-new/doc/fuser.1 --- psmisc-23.2-old/doc/fuser.1 2016-09-21 13:18:43.691359617 +0200 +++ psmisc-23.2-new/doc/fuser.1 2018-09-12 14:13:48.728646493 +0200 @@ -21,15 +21,14 @@ .RB [ \-i ] .RB [ \-M ] .RB [ \-w ] -.RB [ \- \fISIGNAL\fR] +.RB [ \-\c +.IR SIGNAL ] ] -.IR name " ..." +.IR name " \&...\&" .br -.B fuser -.RB \-l +.B fuser \-l .br -.B fuser -.RB \-V +.B fuser \-V .ad b .SH DESCRIPTION .B fuser @@ -88,7 +87,7 @@ and the remote address. All fields are optional, but commas in front of missing fields must be present: .PP -\fB[\fR\fIlcl_port\fR\fB][\fR,\fB[\fR\fIrmt_host\fR\fB][\fR,\fB[\fIrmt_port\fR\fB]]] +.RI [ lcl_port ][,[ rmt_host ][,[ rmt_port ]]] .PP Either symbolic or numeric values can be used for IP addresses and port numbers. @@ -97,19 +96,21 @@ outputs only the PIDs to stdout, everything else is sent to stderr. .SH OPTIONS .TP -\fB\-a\fR, \fB\-\-all\fR +.BR \-a ", " \-\-all Show all files specified on the command line. By default, only files that are accessed by at least one process are shown. .TP -\fB\-c\fR +.B \-c Same as \-m option, used for POSIX compatibility. .TP -\fB\-f\fR +.B \-f Silently ignored, used for POSIX compatibility. .TP -\fB\-k\fR, \fB\-\-kill\fR +.BR \-k ", "\-\-kill Kill processes accessing the file. Unless changed with -\fB\-\fR\fISIGNAL\fR, SIGKILL is sent. An +.BI \- SIGNAL\/\c +, SIGKILL is sent. +An .B fuser process never kills itself, but may kill other .B fuser @@ -117,22 +118,23 @@ .B fuser is set to its real user ID before attempting to kill. .TP -\fB\-i\fR, \fB\-\-interactive\fR -Ask the user for confirmation before killing a process. This option is +.BR \-i ", " \-\-interactive +Ask the user for confirmation before killing a process. +This option is silently ignored if .B \-k is not present too. .TP -\fB\-I\fR, \fB\-\-inode\fR +.BR \-I ", " \-\-inode For the name space .B file -let all comparisions be based on the inodes of the specified file(s) +let all comparisons be based on the inodes of the specified file(s) and never on the file names even on network based file systems. .TP -\fB\-l\fR, \fB\-\-list\-signals\fR +.BR \-l ", " \-\-list\-signals List all known signal names. .TP -\fB\-m\fR \fINAME\fR, \fB\-\-mount\fR \fINAME\fR +.BI -m " NAME \fR, " "\-\-mount " NAME .I NAME specifies a file on a mounted file system or a block device that is mounted. All processes accessing files on that file system are listed. @@ -140,21 +142,21 @@ .IR NAME /. to use any file system that might be mounted on that directory. .TP -\fB\-M\fR, \fB\-\-ismountpoint\fR +.BR \-M ", " \-\-ismountpoint Request will be fulfilled only if .I NAME -specifies a mountpoint. This is an invaluable seatbelt which prevents +specifies a mountpoint. This is an invaluable seat belt which prevents you from killing the machine if .I NAME happens to not be a filesystem. .TP -\fB\-w\fP +.B \-w Kill only processes which have write access. This option is silently ignored if .B \-k is not present too. .TP -\fB\-n \fISPACE\fR, \fB\-\-namespace\fR \fISPACE\fR +.BI \-n " SPACE\fR, " "\-\-namespace " SPACE Select a different name space. The name spaces .B file (file names, the default), @@ -163,10 +165,13 @@ .B tcp (local TCP ports) are supported. For ports, either the port number or the symbolic name can be specified. If there is no ambiguity, the -shortcut notation \fIname\fB/\fIspace\fR (e.g. \fI80\fB/\fItcp\fR) +shortcut notation +.IB name / space +(e.g., +.IB 80 / tcp \fR) can be used. .TP -\fB\-s\fR, \fB\-\-silent\fR +.BR \-s ", " \-\-silent Silent operation. .B \-u and @@ -176,20 +181,20 @@ must not be used with .BR \-s . .TP -\fB\-\fISIGNAL\fR +.BI \- SIGNAL Use the specified signal instead of SIGKILL when killing processes. -Signals can be specified either by name (e.g. -.BR \-HUP ) or by -number (e.g. +Signals can be specified either by name (e.g., +.BR \-HUP ) +or by number (e.g., .BR \-1 ). This option is silently ignored if the .B \-k option is not used. .TP -\fB\-u\fR, \fB\-\-user\fR +.BR \-u ", " \-\-user Append the user name of the process owner to each PID. .TP -\fB\-v\fR, \fB\-\-verbose\fR +.BR \-v ", " \-\-verbose Verbose mode. Processes are shown in a .BR ps -like @@ -201,15 +206,15 @@ .B kernel is shown instead of the PID. .TP -\fB\-V\fR, \fB\-\-version\fR +.BR \-V ", " \-\-version Display version information. .TP -\fB\-4\fR, \fB\-\-ipv4\fR +.BR \-4 ", " \-\-ipv4 Search only for IPv4 sockets. This option must not be used with the .B \-6 option and only has an effect with the tcp and udp namespaces. .TP -\fB\-6\fR, \fB\-\-ipv6\fR +.BR \-6 ", " \-\-ipv6 Search only for IPv6 sockets. This option must not be used with the .B \-4 option and only has an effect with the tcp and udp namespaces. @@ -224,7 +229,7 @@ .B fuser \-km /home kills all processes accessing the file system /home in any way. .TP -\fBif fuser \-s /dev/ttyS1; then :; else \fIsomething\fB; fi\fR +.BI "if fuser \-s /dev/ttyS1; then :; else " something "; fi" invokes .I something if no other process is using /dev/ttyS1. diff -Naur psmisc-23.2-old/src/killall.c psmisc-23.2-new/src/killall.c --- psmisc-23.2-old/src/killall.c 2018-08-13 13:24:42.767618335 +0200 +++ psmisc-23.2-new/src/killall.c 2018-09-18 13:09:23.948951682 +0200 @@ -350,8 +350,8 @@ lencomm = endcomm - startcomm; if (lencomm < 0) lencomm = 0; - if (lencomm > sizeof comm -1) - lencomm = sizeof comm -1; + if (lencomm > COMM_LEN -1) + lencomm = COMM_LEN -1; strncpy(comm, startcomm, lencomm); comm[lencomm] = '\0'; @@ -857,9 +857,9 @@ opterr = 0; #ifdef WITH_SELINUX - while ( (optc = getopt_long(argc,argv,"egy:o:ilqrs:u:vwZ:VIn:",options,NULL)) != -1) { + while ( (optc = getopt_long_only(argc,argv,"egy:o:ilqrs:u:vwZ:VIn:",options,NULL)) != -1) { #else - while ( (optc = getopt_long(argc,argv,"egy:o:ilqrs:u:vwVIn:",options,NULL)) != -1) { + while ( (optc = getopt_long_only(argc,argv,"egy:o:ilqrs:u:vwVIn:",options,NULL)) != -1) { #endif switch (optc) { case 'e': @@ -914,7 +914,7 @@ ignore_case = 1; } else { sig_num = get_signal (argv[optind]+1, "killall"); - skip_error=1; + skip_error=optind; } break; case 'V': @@ -922,13 +922,20 @@ if (strcmp(argv[optind-1],"-V") == 0 || strncmp(argv[optind-1],"--",2) == 0) { print_version(); return 0; + } else { + sig_num = get_signal (argv[optind]+1, "killall"); + skip_error=optind; } - sig_num = get_signal (argv[optind]+1, "killall"); break; - case 'n': - opt_ns_pid = atoi(optarg); - if (opt_ns_pid == 0) + case 'n': { + long num; + char *end = NULL; + errno = 0; + num = strtol(optarg, &end, 10); + if (errno != 0 || optarg == end || end == NULL) usage(_("Invalid namespace PID")); + opt_ns_pid = (pid_t) num; + } break; #ifdef WITH_SELINUX case 'Z': @@ -943,6 +950,15 @@ break; #endif /*WITH_SELINUX*/ case '?': + if (skip_error == optind) + break; + /* Sigh, this is a hack because -ve could be -version or + * -verbose */ + if (strncmp(argv[optind-1], "-ve", 3) == 0) { + verbose=1; + exact=1; + break; + } /* Signal names are in uppercase, so check to see if the argv * is upper case */ if (argv[optind-1][1] >= 'A' && argv[optind-1][1] <= 'Z') { @@ -952,9 +968,6 @@ if (argv[optind-1][1] >= '0' && argv[optind-1][1] <= '9') { sig_num = atoi(argv[optind-1]+1); } else { - if (skip_error) - skip_error=0; - else usage(NULL); } }[Message part 8 (text/plain, inline)]Kind regards, T G-R [0]: https://paste.debian.net/1110034/[signature.asc (application/pgp-signature, inline)]
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.