pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/pkgtools/pkg_install/files



Module Name:    pkgsrc
Committed By:   agc
Date:           Fri Aug  5 07:04:28 UTC 2011

Modified Files:
        pkgsrc/pkgtools/pkg_install/files/add: perform.c
        pkgsrc/pkgtools/pkg_install/files/lib: version.h

Log Message:
Fix for pkg_delete on NFS from Anthony Mallet.

Problem analysis from Anthony:

        On Wednesday, at 23:52, Anthony Mallet wrote:
        > # rm -rf ~tmp && mkdir ~/tmp
        > # pkg_add -K ~/tmp/var/db/pkg -p ~/tmp 
/usr/pkgsrc/packages/All/digest-20080510.tgz
        > # pkg_add -U -K ~/tmp/var/db/pkg -p ~/tmp 
/usr/pkgsrc/packages/All/digest-20080510.tgz
        > pkg_delete: Couldn't remove package directory in 
`/home/tho/tmp/var/db/pkg/digest-20080510'
        > Also, the dir var/db/pkg/digest-20080510.xxxxxxx is never cleaned.
        >
        > The problem apparently is that pkg_delete finds some stalled NFS 
entries
        > (.nfs*) in the var/db/pkg/digest-20080510 dir, so it does not delete 
the
        > directory. Is this due to pkg_add not correctly closing file 
descriptors before
        > exec'ing pkg_delete? For instance, I really don't understand the 
logic in
        > check_already_installed() (add/perform.c:375) regarding the open() of 
+CONTENTS
        > which is almost never closed (and never used as well...). Shouldn't 
this be
        > closed before running pkg_delete?

        ktrace shows that the +CONTENTS file is open() by pkg_add, I believe 
this is in
        check_already_installed(), add/perform.c:381. Then pkg_delete is run 
and when
        it comes to deleting the pkgdir entry, it finds that .nfs file and 
aborts.

Bump version to 20110805


To generate a diff of this commit:
cvs rdiff -u -r1.99 -r1.100 pkgsrc/pkgtools/pkg_install/files/add/perform.c
cvs rdiff -u -r1.161 -r1.162 pkgsrc/pkgtools/pkg_install/files/lib/version.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



Home | Main Index | Thread Index | Old Index