From: Tobias Geerinckx-Rice via Bug reports for GNU Guix <bug-guix@gnu.org>
To: 37905@debbugs.gnu.org
Subject: bug#37905: psmisc-23.2.tar.xz was updated in place
Date: Thu, 24 Oct 2019 18:22:30 +0200 [thread overview]
Message-ID: <87wocuf709.fsf@nckx> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 68 bytes --]
Guix,
Here's[0] the diff with pretty colours.
Here it is without:
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: diff -Naur psmisc-23.2-{old,new} --]
[-- Type: text/x-patch, Size: 9450 bytes --]
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);
}
}
[-- Attachment #1.3: Type: text/plain, Size: 62 bytes --]
Kind regards,
T G-R
[0]: https://paste.debian.net/1110034/
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
next reply other threads:[~2019-10-24 16:23 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-24 16:22 Tobias Geerinckx-Rice via Bug reports for GNU Guix [this message]
2019-10-24 16:36 ` bug#37905: (no subject) Tobias Geerinckx-Rice
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87wocuf709.fsf@nckx \
--to=bug-guix@gnu.org \
--cc=37905@debbugs.gnu.org \
--cc=me@tobias.gr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).