You are not logged in.

#1 2016-11-29 13:27:29

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,597
Website

pacman leave optdeps behind the user did not install [SOLVED]

Is it expected of pacman to leave behind an optdep (and its dependencies) of another package that the user did not implicitly install?  Example is deluge:

Installing deluge and then removing it leaves behind a number of python2 dependencies that the original install operation pulled in related to python2-twisted.  These were not present on the system before installing deluge but python2-twisted is an optdep of another package already on the system (avahi in this case).

1) `pacman -S deluge` pulls in 21 python2-* dependencies
2) `pacman -Rs deluge` only removes 16 of them.  The remaining 5 need to be removed by removing python2-twisted.

After these two transactions, python2-twisted and its dependencies are left behind and they were not present before installing deluge:

# pacman -Rs python2[TAB]
python2                 python2-constantly      python2-twisted
python2-click           python2-incremental     python2-zope-interface

Full logs of 1 and 2 above:

# pacman -S deluge
resolving dependencies...
looking for conflicting packages...
warning: dependency cycle detected:
warning: python2-incremental will be installed before its python2-twisted dependency

Packages (24) boost-libs-1.62.0-3  libtorrent-rasterbar-1:1.1.1-4  python2-appdirs-1.4.0-4  python2-cffi-1.9.1-1
              python2-chardet-2.3.0-2  python2-click-6.6-1  python2-constantly-15.1.0-1  python2-cryptography-1.5.3-1
              python2-enum34-1.1.6-1  python2-idna-2.1-1  python2-incremental-16.10.1-1  python2-ipaddress-1.0.17-1
              python2-packaging-16.8-1  python2-ply-3.9-1  python2-pyasn1-0.1.9-1  python2-pycparser-2.17-1
              python2-pyopenssl-16.2.0-1  python2-pyparsing-2.1.10-1  python2-setuptools-1:28.8.0-1  python2-six-1.10.0-2
              python2-twisted-16.5.0-1  python2-xdg-0.25-3  python2-zope-interface-4.3.2-1  deluge-1.3.13+2+g6c73105-1

Total Installed Size:  83.44 MiB

:: Proceed with installation? [Y/n] 
(24/24) checking keys in keyring                                             [############################################] 100%
(24/24) checking package integrity                                           [############################################] 100%
(24/24) loading package files                                                [############################################] 100%
(24/24) checking for file conflicts                                          [############################################] 100%
:: Processing package changes...
( 1/24) installing python2-xdg                                               [############################################] 100%
( 2/24) installing boost-libs                                                [############################################] 100%
Optional dependencies for boost-libs
    openmpi: for mpi support
( 3/24) installing libtorrent-rasterbar                                      [############################################] 100%
( 4/24) installing python2-zope-interface                                    [############################################] 100%
( 5/24) installing python2-click                                             [############################################] 100%
( 6/24) installing python2-incremental                                       [############################################] 100%
( 7/24) installing python2-constantly                                        [############################################] 100%
( 8/24) installing python2-twisted                                           [############################################] 100%
Optional dependencies for python2-twisted
    python2-pyopenssl: for TLS client hostname verification [pending]
    python2-service-identity: for TLS client hostname verification
    python2-idna: for TLS client hostname verification [pending]
    python2-cryptography: for using conch [pending]
    python2-h2: for http2 support
    python2-soappy: for twisted.web.soap
    pygtk: for using manhole
    tk: for using tkconch
( 9/24) installing python2-six                                               [############################################] 100%
(10/24) installing python2-pyasn1                                            [############################################] 100%
(11/24) installing python2-ply                                               [############################################] 100%
(12/24) installing python2-pycparser                                         [############################################] 100%
(13/24) installing python2-cffi                                              [############################################] 100%
(14/24) installing python2-enum34                                            [############################################] 100%
(15/24) installing python2-idna                                              [############################################] 100%
(16/24) installing python2-ipaddress                                         [############################################] 100%
(17/24) installing python2-pyparsing                                         [############################################] 100%
(18/24) installing python2-packaging                                         [############################################] 100%
(19/24) installing python2-appdirs                                           [############################################] 100%
(20/24) installing python2-setuptools                                        [############################################] 100%
(21/24) installing python2-cryptography                                      [############################################] 100%
(22/24) installing python2-pyopenssl                                         [############################################] 100%
(23/24) installing python2-chardet                                           [############################################] 100%
(24/24) installing deluge                                                    [############################################] 100%
Optional dependencies for deluge
    python2-notify: libnotify notifications
    pygtk: needed for gtk ui
    librsvg: needed for gtk ui [installed]
    python2-mako: needed for web ui
:: Running post-transaction hooks...
(1/2) Updating icon theme caches...
(2/2) Updating the desktop file MIME type cache...
# pacman -Rs deluge
checking dependencies...
:: python2 optionally requires python2-setuptools
:: python2-twisted optionally requires python2-pyopenssl: for TLS client hostname verification
:: python2-twisted optionally requires python2-idna: for TLS client hostname verification
:: python2-twisted optionally requires python2-cryptography: for using conch

Packages (19) boost-libs-1.62.0-3  libtorrent-rasterbar-1:1.1.1-4  python2-appdirs-1.4.0-4  python2-cffi-1.9.1-1
              python2-chardet-2.3.0-2  python2-cryptography-1.5.3-1  python2-enum34-1.1.6-1  python2-idna-2.1-1
              python2-ipaddress-1.0.17-1  python2-packaging-16.8-1  python2-ply-3.9-1  python2-pyasn1-0.1.9-1
              python2-pycparser-2.17-1  python2-pyopenssl-16.2.0-1  python2-pyparsing-2.1.10-1  python2-setuptools-1:28.8.0-1
              python2-six-1.10.0-2  python2-xdg-0.25-3  deluge-1.3.13+2+g6c73105-1

Total Removed Size:  41.52 MiB

:: Do you want to remove these packages? [Y/n] 
:: Processing package changes...
( 1/19) removing deluge                                                      [############################################] 100%
( 2/19) removing python2-xdg                                                 [############################################] 100%
( 3/19) removing python2-pyopenssl                                           [############################################] 100%
( 4/19) removing python2-cryptography                                        [############################################] 100%
( 5/19) removing python2-setuptools                                          [############################################] 100%
( 6/19) removing python2-packaging                                           [############################################] 100%
( 7/19) removing python2-six                                                 [############################################] 100%
( 8/19) removing python2-pyparsing                                           [############################################] 100%
( 9/19) removing python2-appdirs                                             [############################################] 100%
(10/19) removing python2-pyasn1                                              [############################################] 100%
(11/19) removing python2-ipaddress                                           [############################################] 100%
(12/19) removing python2-idna                                                [############################################] 100%
(13/19) removing python2-enum34                                              [############################################] 100%
(14/19) removing python2-cffi                                                [############################################] 100%
(15/19) removing python2-pycparser                                           [############################################] 100%
(16/19) removing python2-ply                                                 [############################################] 100%
(17/19) removing python2-chardet                                             [############################################] 100%
(18/19) removing libtorrent-rasterbar                                        [############################################] 100%
(19/19) removing boost-libs                                                  [############################################] 100%
:: Running post-transaction hooks...
(1/2) Updating icon theme caches...
(2/2) Updating the desktop file MIME type cache...

Last edited by graysky (2016-12-03 10:48:07)


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#2 2016-11-29 13:55:19

Awebb
Member
Registered: 2010-05-06
Posts: 6,282

Re: pacman leave optdeps behind the user did not install [SOLVED]

It's expected as far as pacman's features go. Last time I checked, pacman only did one thing with optdepends: It understands, that they are deps of a package, if they are being installed --asdeps, so they don't show up on a -Qdt style orphan check, nothing more, nothing less.

Offline

#3 2016-11-30 04:52:47

apg
Developer
Registered: 2012-11-10
Posts: 211

Re: pacman leave optdeps behind the user did not install [SOLVED]

This has nothing to do with optional dependencies.  There is a dependency cycle. https://bugs.archlinux.org/task/41031

Offline

#4 2016-11-30 19:33:27

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,597
Website

Re: pacman leave optdeps behind the user did not install [SOLVED]

@apg - Thanks for the link.  Known bug, solved.


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

Board footer

Powered by FluxBB