[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#789084: debian-edu-artwork-lines, debian-edu-artwork-spacefun: using manual alternatives makes system state dependent on configuration order



Package: debian-edu-artwork-lines,debian-edu-artwork-spacefun
Version: 0.52-2
Severity: important
User: debian-qa@lists.debian.org
Usertags: piuparts

Hi,

during a test with piuparts and DOSE tools I noticed your package causes
changes to the settings of alternatives solely depending on the order
of package configuration.

The installation sequence to reproduce this problem is

  apt-get install debian-edu-artwork-lines
  # (1)
  apt-get install debian-edu-artwork-spacefun
  apt-get remove debian-edu-artwork-spacefun
  # (2)

(or swap the two packages, result is similar)

The system state at points (1) and (2) should be identical, but some
alternatives have changed (from the attached log, scroll to the end):

0m20.8s DEBUG: Modified(uid, gid, mode, size, target): /etc/alternatives/desktop-background (0, 0, l 120777, 71, /usr/share/images/desktop-base/debian-edu-lines-wallpaper_1920x1080.svg) != (0, 0, l 120777, 60, /usr/share/images/desktop-base/lines-wallpaper_1920x1080.svg)
0m20.8s DEBUG: Modified(uid, gid, mode, size, target): /usr/share/images/desktop-base/login-background.svg (0, 0, l 120777, 62, /usr/share/images/desktop-base/debian-edu-lines-login+grub.svg) != (0, 0, l 120777, 76, /usr/share/images/desktop-base/debian-edu-spacefun-wallpaper01_1600x1200.svg)
### read these as properties_of(expected file) != properties_of(actual file)
### and why is this still referencing spacefun after the package got purged?

0m20.8s ERROR: FAIL: After purging files have disappeared:
  /usr/share/kde4/apps/plasma-desktop/init/20-desktop-base-edu.js -> /usr/share/debian-edu-artwork-lines/kde4/apps/plasma-desktop/init/20-desktop-base-edu.js    not owned
  /usr/share/pixmaps/splash/debian-edu-splash.png -> debian-edu-lines-splash.png         not owned
### OUCH!

0m20.8s ERROR: FAIL: After purging files have been modified:
  /etc/alternatives/desktop-background -> /usr/share/images/desktop-base/debian-edu-lines-wallpaper_1920x1080.svg        not owned
  /usr/share/images/desktop-base/login-background.svg -> /usr/share/images/desktop-base/debian-edu-lines-login+grub.svg  owned by: debian-edu-artwork, desktop-base
### see above for the actual modifications

The problem is caused by the update-debian-edu-artwork-{lines,spacefun} scripts
that use 'update-alternatives --set' (which in turn switches alternatives to
manual mode - I'm not sure whether this is allowed by policy, since it overrides
any local configuration of these alternatives (on installation, upgrades
or reconfiguration) - maybe the severity should be raised to serious for this)
instead of using proper priorities that
  a) are high enough to override the defaults from desktop-base and
  b) provide a clear ordering between the different debian-edu-artwork-* alternatives


Also the desktop-background alternative 
  /usr/share/images/desktop-base/debian-edu-lines-wallpaper_1920x1080.svg
is installed twice by the update-debian-edu-artwork-lines script:
* once with priority 75 (which would be highest and therefore default) and
* once with priority 50 (overriding the previous priority)


Just think about upgrades (assuming this is done at some point in the
future whereversion(stretch) != version(jessie) ):

# setup jessie system
apt-get install debian-edu-artwork-spacefun
apt-get install debian-edu-artwork-lines
# currently set to "lines" (deterministic install order)
sed -i s/jessie/stretch/ /etc/apt/sources.list
apt-get update
apt-get dist-upgrade
# what's the setting afterwards? what's the configuration order?
# e.g. alphabetic? so setting is "spacefun" aftwerwards ...


Andreas

Attachment: debian-edu-artwork-lines=0.52-2_debian-edu-artwork-spacefun=0.52-2.log.gz
Description: application/gzip


Reply to: