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 ---

Reply via email to