[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