Package: gdebi Version: 0.9.5.4 Severity: wishlist
Hi, I created a simple meta-package with 'equivs' with dependencies of some packages I use. In '/etc/apt/apt.conf.d/01autoremove' is an entry with a list of sections called 'Never-MarkAuto-Sections'. /etc/apt/apt.conf.d/01autoremove ... Never-MarkAuto-Sections { "metapackages"; "restricted/metapackages"; "universe/metapackages"; "multiverse/metapackages"; "oldlibs"; "restricted/oldlibs"; "universe/oldlibs"; "multiverse/oldlibs"; }; ... If in the control file of a meta-package the section matches one of those, the installed dependencies won't get marked as installed 'auto'. They are instead marked as installed 'manual' which prevents the dependencies being marked for removal in case the meta-package is removed. This works using dpkg/apt but is ignored when using gdebi for installing the meta-package. Here is an example: 1) config file for equivs to create the .deb file ./my-fav-apps.cfg Section: metapackages Priority: optional Standards-Version: 3.9.2 Package: my-fav-apps Version: 0.1 Maintainer: Sven Wick <sven.w...@gmx.de> Depends: hello Architecture: all Description: installs my favorite packages 2) Making sure the dependency is already uninstalled # apt-get --purge remove hello # apt-mark showmanual | grep hello # # apt-mark showauto | grep hello # 3) Creating the .deb file with equivs $ equivs-build my-fav-apps.cfg -> ./my-fav-apps_0.1_all.deb 4) Installing the meta-package with dpkg # dpkg -i my-fav-apps_0.1_all.deb Selecting previously unselected package my-fav-apps. (Reading database ... 242603 files and directories currently installed.) Preparing to unpack my-fav-apps_0.1_all.deb ... Unpacking my-fav-apps (0.1) ... dpkg: dependency problems prevent configuration of my-fav-apps: my-fav-apps depends on hello; however: Package hello is not installed. dpkg: error processing package my-fav-apps (--install): dependency problems - leaving unconfigured Errors were encountered while processing: my-fav-apps # apt-get -f install Reading package lists... Done Building dependency tree Reading state information... Done Correcting dependencies... Done The following extra packages will be installed: hello The following NEW packages will be installed: hello 0 upgraded, 1 newly installed, 0 to remove and 53 not upgraded. 1 not fully installed or removed. Need to get 50.2 kB of archives. After this operation, 526 kB of additional disk space will be used. Do you want to continue? [Y/n] # apt-mark showmanual | grep hello hello # apt-mark showauto | grep hello # The dependency package was flagged as installed 'manual' 5) Removing only the meta-package # apt-get --purge remove my-fav-apps Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: my-fav-apps* 0 upgraded, 0 newly installed, 1 to remove and 53 not upgraded. After this operation, 26.6 kB disk space will be freed. Do you want to continue? [Y/n] 6) Autoremove packages # apt-get autoremove Reading package lists... Done Building dependency tree Reading state information... Done 0 upgraded, 0 newly installed, 0 to remove and 53 not upgraded. The 'hello' packages is still installed and was not auto-removed 7) Manually removing the package 'hello' # apt-get --purge remove hello The following packages will be REMOVED: hello* 0 upgraded, 0 newly installed, 1 to remove and 53 not upgraded. After this operation, 526 kB disk space will be freed. Do you want to continue? [Y/n] 8) Doing the same steps but with gdebi # gdebi my-fav-apps_0.1_all.deb Reading package lists... Done Building dependency tree Reading state information... Done Building data structures... Done Building data structures... Done Requires the installation of the following packages: hello installs my favorite packages Do you want to install the software package? [y/N]: # apt-mark showmanual | grep hello # # apt-mark showauto | grep hello hello This time the dependency package was flagged as installed 'auto' 9) Removing only the meta-package # apt-get --purge remove my-fav-apps Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: hello Use 'apt-get autoremove' to remove it. The following packages will be REMOVED: my-fav-apps* 0 upgraded, 0 newly installed, 1 to remove and 53 not upgraded. After this operation, 26.6 kB disk space will be freed. Do you want to continue? [Y/n] The dependency is marked for auto-removal 10) Autoremove packages # apt-get autoremove Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: hello 0 upgraded, 0 newly installed, 1 to remove and 53 not upgraded. After this operation, 526 kB disk space will be freed. Do you want to continue? [Y/n] -- System Information: Debian Release: jessie/sid APT prefers testing-updates APT policy: (500, 'testing-updates'), (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 3.14-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages gdebi depends on: ii gdebi-core 0.9.5.4 ii gir1.2-gtk-3.0 3.12.2-1+b1 ii gir1.2-vte-2.90 1:0.36.2-1 ii gksu 2.0.2-6 ii gnome-icon-theme 3.12.0-1 ii python3-gi 3.12.1-1+b1 pn python3:any <none> Versions of packages gdebi recommends: ii libgtk2-perl 2:1.2491-3 ii shared-mime-info 1.2-1 gdebi suggests no packages. -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org