[ubuntu-dev] Bug#751440: gdebi ignores 'Never-MarkAuto-Sections' from '/etc/apt/apt.conf.d/01autoremove'
Sven Wick
sven.wick at gmx.de
Thu Jun 12 21:32:04 UTC 2014
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.wick at 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
More information about the ubuntu-dev-team
mailing list