pkgsrc-Bugs archive

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

pkg/44778: pkg_delete -A doesn't work



>Number:         44778
>Category:       pkg
>Synopsis:       pkg_delete -A doesn't work
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Mar 28 09:20:00 +0000 2011
>Originator:     Aleksey Cheusov
>Release:        Linux 2.6.18-194.32.1.el5xen
>Organization:
<organization of PR author (multiple lines)>
>Environment:
System: Linux centos.imb.invention.com 2.6.18-194.32.1.el5xen #1 SMP Wed Jan 5 
19:32:33 EST 2011 i686 i686 i386 GNU/Linux
Architecture: i686

>Description:
"pkg_delete -A" doesn't work as it is documented.

     -A    Recursively remove all automatically installed packages that
           were needed by the given packages and are no longer required.
           See also the -R flag.

Example is below. Package abcde is installed. All dependencies including
id3lib are marked as "installed as a dependency".  abcde depends on
id3v2 which in turn depends on id3lib.  After "pkg_delete -A abcde"
id3lib is kept installed and nothing depends on it (see pkg_leaves
output).

pkg_bin_summary is from pkg_summary-utils, it is a wrapper
over pkg_info -XB.

   # pkg_bin_summary -f PKGNAME,PKGPATH,REQUIREDBY,DEPENDS,automatic abcde 
id3v2 id3lib
   PKGNAME=abcde-2.3.99.7
   DEPENDS=cd-discid>=0.7
   DEPENDS=id3-[0-9]*
   DEPENDS=id3v2-[0-9]*
   DEPENDS=cdparanoia>=3.0.9.7
   DEPENDS=mkcue>=2.1
   DEPENDS=gsed>=4.2
   DEPENDS=bash-[0-9]*
   PKGPATH=audio/abcde

   PKGNAME=id3v2-0.1.12
   REQUIREDBY=abcde-2.3.99.7
   DEPENDS=id3lib>=3.8.3nb1
   PKGPATH=audio/id3v2
   automatic=yes

   PKGNAME=id3lib-3.8.3nb5
   REQUIREDBY=id3v2-0.1.12
   PKGPATH=audio/id3lib
   automatic=yes

   # pkg_delete -A abcde
   gsed-4.2.1: unregistering info file /usr/pkg/info/sed.info
   bash-4.2: unregistering info file /usr/pkg/info/bash.info
   bash-4.2: removing /usr/pkg/bin/bash from /etc/shells
   # pkg_leaves
   id3lib-3.8.3nb5
   # pkg_bin_summary -f PKGNAME,PKGPATH,REQUIREDBY,DEPENDS,automatic id3lib
   PKGNAME=id3lib-3.8.3nb5
   PKGPATH=audio/id3lib
   automatic=yes

   #

Another example. 1) Check for auto-installed leaf packages, 2) remove
ctwm with a help of "pkg_delete -A", 3) check for leaf packages again.

ctwm is built with modular Xorg.

In this example "nih deps -rI" shows a dependency graph
of installed packages.

   # pkg_leaves
   # nih deps -rI ctwm | sort -k2 
   jpeg ctwm
   libXext ctwm
   libXmu ctwm
   libXpm ctwm
   m4 ctwm
   libICE libSM
   libXau libX11
   libXdmcp libX11
   libxcb libX11
   libX11 libXext
   libX11 libXmu
   libXext libXmu
   libXt libXmu
   libX11 libXpm
   libXext libXpm
   libXt libXpm
   libICE libXt
   libSM libXt
   libX11 libXt
   libXau libxcb
   libXdmcp libxcb
   # pkg_delete -A ctwm          
   m4-1.4.16: unregistering info file /usr/pkg/info/m4.info
   # pkg_leaves
   libXt-1.0.8
   libXext-1.1.1
   #

>Fix:

Unknown


Home | Main Index | Thread Index | Old Index