Your message dated Sun, 09 Oct 2011 21:32:13 +0000
with message-id <[email protected]>
and subject line Bug#608387: fixed in debian-goodies 0.56
has caused the Debian Bug report #608387,
regarding checkrestart -p is broken
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
608387: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=608387
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: debian-goodies
Version: 0.53
Severity: normal
I think the implementation logic of -p is backwards or broken. Consider this
case:
$ sudo /usr/sbin/checkrestart
Found 10 processes using old versions of upgraded files
(1 distinct program)
(1 distinct packages)
Of these, 1 seem to contain init scripts which can be used to restart them:
The following packages seem to have init scripts that could be used
to restart them:
postgresql-8.4:
11103 /usr/lib/postgresql/8.4/bin/postgres
15000 /usr/lib/postgresql/8.4/bin/postgres
9151 /usr/lib/postgresql/8.4/bin/postgres
11085 /usr/lib/postgresql/8.4/bin/postgres
13031 /usr/lib/postgresql/8.4/bin/postgres
13032 /usr/lib/postgresql/8.4/bin/postgres
12050 /usr/lib/postgresql/8.4/bin/postgres
13062 /usr/lib/postgresql/8.4/bin/postgres
5191 /usr/lib/postgresql/8.4/bin/postgres
12046 /usr/lib/postgresql/8.4/bin/postgres
These are the init scripts:
/etc/init.d/postgresql-8.4 restart
Taking a closer look:
$ sudo /usr/sbin/checkrestart -v
Found 9 processes using old versions of upgraded files
(1 distinct program)
Process /usr/lib/postgresql/8.4/bin/postgres (PID: 11103)
List of deleted files in use:
/var/lib/postgresql/8.4/main/pg_xlog/00000001000006D20000000D (deleted)
Process /usr/lib/postgresql/8.4/bin/postgres (PID: 15000)
List of deleted files in use:
/var/lib/postgresql/8.4/main/pg_xlog/00000001000006D200000010 (deleted)
Process /usr/lib/postgresql/8.4/bin/postgres (PID: 9151)
List of deleted files in use:
/var/lib/postgresql/8.4/main/pg_xlog/00000001000006D20000000A (deleted)
Process /usr/lib/postgresql/8.4/bin/postgres (PID: 11085)
List of deleted files in use:
/var/lib/postgresql/8.4/main/pg_xlog/00000001000006D20000000E (deleted)
Process /usr/lib/postgresql/8.4/bin/postgres (PID: 13031)
List of deleted files in use:
/var/lib/postgresql/8.4/main/pg_xlog/00000001000006D20000000E (deleted)
Process /usr/lib/postgresql/8.4/bin/postgres (PID: 13032)
List of deleted files in use:
/var/lib/postgresql/8.4/main/pg_xlog/00000001000006D20000000E (deleted)
Process /usr/lib/postgresql/8.4/bin/postgres (PID: 13062)
List of deleted files in use:
/var/lib/postgresql/8.4/main/pg_xlog/00000001000006D20000000E (deleted)
Process /usr/lib/postgresql/8.4/bin/postgres (PID: 5191)
List of deleted files in use:
/var/lib/postgresql/8.4/main/pg_xlog/00000001000006D200000007 (deleted)
Process /usr/lib/postgresql/8.4/bin/postgres (PID: 12046)
List of deleted files in use:
/var/lib/postgresql/8.4/main/pg_xlog/00000001000006D20000000E (deleted)
(1 distinct packages)
Of these, 1 seem to contain init scripts which can be used to restart them:
The following packages seem to have init scripts that could be used
to restart them:
postgresql-8.4:
11103 /usr/lib/postgresql/8.4/bin/postgres
15000 /usr/lib/postgresql/8.4/bin/postgres
9151 /usr/lib/postgresql/8.4/bin/postgres
11085 /usr/lib/postgresql/8.4/bin/postgres
13031 /usr/lib/postgresql/8.4/bin/postgres
13032 /usr/lib/postgresql/8.4/bin/postgres
13062 /usr/lib/postgresql/8.4/bin/postgres
5191 /usr/lib/postgresql/8.4/bin/postgres
12046 /usr/lib/postgresql/8.4/bin/postgres
These are the init scripts:
/etc/init.d/postgresql-8.4 restart
So this is a typical false positive, an application accessing data files that
are deleted. Now I suppose the -p option should end up ignoring these files
because they don't belong to a package. But it doesn't:
$ sudo /usr/sbin/checkrestart -p
dpkg: /var/lib/postgresql/8.4/main/pg_xlog/00000001000006D20000000D (deleted)
not found.
dpkg: /var/lib/postgresql/8.4/main/pg_xlog/00000001000006D200000010 (deleted)
not found.
dpkg: /var/lib/postgresql/8.4/main/pg_xlog/00000001000006D20000000A (deleted)
not found.
dpkg: /var/lib/postgresql/8.4/main/pg_xlog/00000001000006D20000000E (deleted)
not found.
dpkg: /var/lib/postgresql/8.4/main/pg_xlog/00000001000006D20000000E (deleted)
not found.
dpkg: /var/lib/postgresql/8.4/main/pg_xlog/00000001000006D20000000E (deleted)
not found.
dpkg: /var/lib/postgresql/8.4/main/pg_xlog/00000001000006D20000000E (deleted)
not found.
dpkg: /var/lib/postgresql/8.4/main/pg_xlog/00000001000006D200000007 (deleted)
not found.
dpkg: /var/lib/postgresql/8.4/main/pg_xlog/00000001000006D20000000E (deleted)
not found.
Found 9 processes using old versions of upgraded files
(1 distinct program)
(1 distinct packages)
Of these, 1 seem to contain init scripts which can be used to restart them:
The following packages seem to have init scripts that could be used
to restart them:
postgresql-8.4:
11103 /usr/lib/postgresql/8.4/bin/postgres
15000 /usr/lib/postgresql/8.4/bin/postgres
9151 /usr/lib/postgresql/8.4/bin/postgres
11085 /usr/lib/postgresql/8.4/bin/postgres
13031 /usr/lib/postgresql/8.4/bin/postgres
13032 /usr/lib/postgresql/8.4/bin/postgres
13062 /usr/lib/postgresql/8.4/bin/postgres
5191 /usr/lib/postgresql/8.4/bin/postgres
12046 /usr/lib/postgresql/8.4/bin/postgres
These are the init scripts:
/etc/init.d/postgresql-8.4 restart
I think this piece of code doesn't do what it should:
# Skip, if asked to, files that do not belong to any package
if onlyPackageFiles:
dpkgQuery = ["dpkg-query", "--search", f]
dpkgProc = subprocess.Popen(dpkgQuery, stdout=subprocess.PIPE,
stderr=None)
for line in dpkgProc.stdout.readlines():
if line.endswith(f):
return 0
First of all, as you can see, it queries dpkg for file names that end on
"(deleted)". Then, if dpkg-query doesn't find the file, the for loop doesn't
read anything and the code falls through to the default case, which is to
return 1.
I think the code should look more like this:
# Skip, if asked to, files that do not belong to any package
if onlyPackageFiles:
file_in_package = False
dpkgQuery = ["dpkg-query", "--search", f]
dpkgProc = subprocess.Popen(dpkgQuery, stdout=subprocess.PIPE,
stderr=None)
for line in dpkgProc.stdout.readlines():
if line.endswith(f):
file_in_package = True
break
if not file_in_package:
return 0
(plus fixing the "(deleted)" issue and hiding the stderr output of dpkg-query).
--- End Message ---
--- Begin Message ---
Source: debian-goodies
Source-Version: 0.56
We believe that the bug you reported is fixed in the latest version of
debian-goodies, which is due to be installed in the Debian FTP archive:
debian-goodies_0.56.dsc
to main/d/debian-goodies/debian-goodies_0.56.dsc
debian-goodies_0.56.tar.gz
to main/d/debian-goodies/debian-goodies_0.56.tar.gz
debian-goodies_0.56_all.deb
to main/d/debian-goodies/debian-goodies_0.56_all.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Javier Fernandez-Sanguino Pen~a <[email protected]> (supplier of updated
debian-goodies package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Sun, 09 Oct 2011 20:51:11 +0200
Source: debian-goodies
Binary: debian-goodies
Architecture: source all
Version: 0.56
Distribution: unstable
Urgency: low
Maintainer: Javier Fernandez-Sanguino Pen~a <[email protected]>
Changed-By: Javier Fernandez-Sanguino Pen~a <[email protected]>
Description:
debian-goodies - Small toolbox-style utilities for Debian systems
Closes: 64397 595096 600252 608387 609454 623168
Changes:
debian-goodies (0.56) unstable; urgency=low
.
* [checkrestart]:
- Use patch provided by Jörg Sommer and Piotr Kaczuba that makes the
script use a set for the initscripts information, thus making the
program work with Python 2.7 (Closes: #64397)
- Fix behaviour of -p so that it does not consider files that do
not belong to any package, thanks to Peter Eisentraut for the
patch. (Closes: #608387)
- Fix handling of --verbose option (Closes: #623168)
- Exclude /dev/shm from the deleted files check, this prevents
a false positive from some programs such as jackd2 (Closes: #595096)
- Exclude /home from the deleted files check as these
generate a number of false positives. This included: GNOME's mixer
applet, dovecot, nautilus, chromium-broswer and evolution-data-server
(Closes: #595096, #609454)
* [checkrestart.1]:
- Update the manpage to indicate what information to provide when
reporting a false positive in checkrestart
* /debmany/man/debmany.1:
- Fix typo in manpage (Closes: #600252)
Checksums-Sha1:
89e69739b948f70348497437f62edf3260b2c156 994 debian-goodies_0.56.dsc
0589634dc1024953c662dccc35f9dd305b12ea85 56249 debian-goodies_0.56.tar.gz
64f2d449bbe723ad8cfecff4839fcb07f6265f96 61948 debian-goodies_0.56_all.deb
Checksums-Sha256:
8d6cd049053f42d2a63ef37c3b7885b2f113dfddd348e1c7d10b069c0a6e90b2 994
debian-goodies_0.56.dsc
bfad0f33362689ba1611bb107f5c557ebd7fccd15c65daa18e57d238cc65bbb5 56249
debian-goodies_0.56.tar.gz
ece7d44b3e94202bef9e29bb2167fea881e30e6c0668942c9a27a23810a65774 61948
debian-goodies_0.56_all.deb
Files:
e343626ec7502897234ac352897f9652 994 utils optional debian-goodies_0.56.dsc
b415b6b2894a7003647b3a6a40de827f 56249 utils optional
debian-goodies_0.56.tar.gz
b28eca2616276b68e6b47c6f416adbd5 61948 utils optional
debian-goodies_0.56_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iD8DBQFOkg31sandgtyBSwkRApiPAJ9NKuE5U7gEeNyrKRzYDoN96XW4lgCdHc05
N3YOWelQfIXReqzHc13OZXE=
=auTi
-----END PGP SIGNATURE-----
--- End Message ---