Bug 31960 - software setup: handling of package lists breaks de-installation
software setup: handling of package lists breaks de-installation
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: System setup
UCS 3.1
Other Linux
: P3 normal (vote)
: UCS 3.2
Assigned To: Arvid Requate
Dirk Wiesenthal
: interim-2
Depends on:
Blocks: 30982
  Show dependency treegraph
 
Reported: 2013-07-11 19:54 CEST by Arvid Requate
Modified: 2013-11-19 06:42 CET (History)
3 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Arvid Requate univentionstaff 2013-07-11 19:54:17 CEST
Uninstallation of ['samba', 'univention-samba', 'univention-samba-local-config'] first seems to install some samba4 related packages and in the finally the Package "samba" stays installed. The behaviour differs strongly from the behaviour of apt-get. Putting 'samba' to the end of the list fixes the problem in this case.

+++ This bug was initially created as a clone of Bug #30279 +++
Comment 1 Arvid Requate univentionstaff 2013-08-15 13:51:35 CEST
As discussed with the developper of AptScript/PackageManager this seems to be a problem of the way the AptScript/PackageManager is called in usr/lib/univention-system-setup/scripts/50_software/10software, where each package is removed separately instead of asking apt to remove alle the listed package in one go.
Comment 2 Arvid Requate univentionstaff 2013-08-15 16:53:42 CEST
Ok, several issues are here:
1. The 10software script calls apt for each package separately
2. The get_components helper sorts the package list by alphabet (dooh..)
3. The package_manager/python-apt combination seems to be inherently
   sensitive to the order of packages.

Acutally point 3 can also be seen in the CLI version of apt, so I guess there is not much we can do about this with a reasonable effort.

Point 2 blocked Bug 30982.
Point 1 is reponsible to the behaviour originally reported on the bug. Fixing it imroves transparency and performance and perspectively offers the basis to find a solution for point 3.

Changelog adjusted.
Comment 3 Stefan Gohmann univentionstaff 2013-08-22 08:34:04 CEST
(In reply to Arvid Requate from comment #2)
> Point 2 blocked Bug 30982.
> Point 1 is reponsible to the behaviour originally reported on the bug.
> Fixing it imroves transparency and performance and perspectively offers the
> basis to find a solution for point 3.

svn r43188 breaks the system setup software installation. After reverting the patch the installation works fine.

The output with r43188:

/usr/lib/univention-system-setup/scripts/50_software/10software
[...]
__MSG__:E:Unable to correct problems, you have held broken packages.
__ERR__:E:Unable to correct problems, you have held broken packages.
__MSG__:univention-s4-connector: Failed to install
__ERR__:univention-s4-connector: Failed to install
__MSG__:univention-samba4: Failed to install
__ERR__:univention-samba4: Failed to install
__MSG__:univention-mail-server: Failed to install
__ERR__:univention-mail-server: Failed to install
__MSG__:univention-horde4: Failed to install
__ERR__:univention-horde4: Failed to install
__MSG__:univention-dhcp: Failed to install
__ERR__:univention-dhcp: Failed to install
__MSG__:univention-printserver: Failed to install
__ERR__:univention-printserver: Failed to install
__MSG__:cups: Failed to install
__ERR__:cups: Failed to install
__MSG__:univention-squid: Failed to install
__ERR__:univention-squid: Failed to install
__MSG__:univention-bacula: Failed to install
__ERR__:univention-bacula: Failed to install
__MSG__:univention-nagios-server: Failed to install
__ERR__:univention-nagios-server: Failed to install
__MSG__:univention-pkgdb: Failed to install
__ERR__:univention-pkgdb: Failed to install
__MSG__:univention-admingrp-user-passwordreset: Failed to install
__ERR__:univention-admingrp-user-passwordreset: Failed to install
Comment 4 Arvid Requate univentionstaff 2013-08-22 16:23:00 CEST
Change for Point 1 was reverted, because in some package combinations this seems to break things.
Comment 5 Dirk Wiesenthal univentionstaff 2013-09-24 18:13:23 CEST
Okay, this cumulates in just one change: Do not sort 'Packages' in the installer list but use them "as is". Sounds reasonable.

Only Component that is affected (because it has more than one package and these packages are unsorted by default: "Print server (CUPS)" with ['univention-printserver', 'cups']

Note that with the absence of the SoftwarePage in system-setup in non-appliance-mode this bug has little practical implications (except some pre-defined CUPS images...)
Comment 6 Dirk Wiesenthal univentionstaff 2013-09-25 10:53:36 CEST
CUPS uninstallation after an installation uninstalls CUPS properly (i.e. as expected) - with the exception of leaving ttf-freefont installed. But this is due to apt not being able to autoremove it (some OR-dependency on fontconfig-config). This is not critical and was probably also a "problem" before.

Changeset: Ok
Changelog: Adapted

I cannot find any hints that the packages are sorted in ncurses version of univention-installer (but I can hardly find anything there...), so this change harmonizes the two ways to install UCS.
Comment 7 Stefan Gohmann univentionstaff 2013-11-19 06:42:00 CET
UCS 3.2 has been released:
 http://docs.univention.de/release-notes-3.2-en.html
 http://docs.univention.de/release-notes-3.2-de.html

If this error occurs again, please use "Clone This Bug".