On mer, 2008-10-29 at 22:43 +0100, Adeodato Simó wrote: > So, I would suggest something similar to what you have: > > * modified files under /etc/splashy move (without changing name) to > a /etc/slpashy.bak directory (created by the maintainer script) > > * a note is left in README.Debian saying that modified files are to > be > found there (I don't think this is worth of NEWS.Debian, given the > low chances of this happening). Ok, it took some time, but I've prepared a 5.0.3 release which should fix the problem. Would you accept in Lenny 5.0.3 with the attached diff? (from 5.0.2, ask if you prefer diff from 5.0.1) Cheers, -- Yves-Alexis
Reading package lists...
Building dependency tree...
Reading state information...
Need to get 5990kB of source archives.
Get:1 http://ftp.fr.debian.org sid/main desktop-base 5.0.2 (dsc) [1071B]
Get:2 http://ftp.fr.debian.org sid/main desktop-base 5.0.2 (tar) [5989kB]
dpkg-source: extracting desktop-base in desktop-base-5.0.2
dpkg-source: info: unpacking desktop-base_5.0.2.tar.gz
Fetched 5990kB in 10s (574kB/s)
Differences in desktop-base between 5.0.2 and 5.0.3
diff -Nru desktop-base-5.0.2/debian/changelog desktop-base-5.0.3/debian/changelog
--- desktop-base-5.0.2/debian/changelog 2008-10-24 00:23:57.000000000 +0200
+++ desktop-base-5.0.3/debian/changelog 2008-12-06 17:02:52.000000000 +0100
@@ -1,3 +1,16 @@
+desktop-base (5.0.3) UNRELEASED; urgency=low
+
+ * debian/preinst:
+ - handle upgrade in various cases: (/etc/splashy/themes symlink or not,
+ and changed or unchanged themes files)
+ * debian/README.Debian: announce the change.
+ * debian/postinst:
+ - make sure we can use /etc/splashy/config.xml.
+ * debian/source.lintian-overrides:
+ - add override for not adding ${misc:depends} to Depends: line.
+
+ -- Yves-Alexis Perez <corsac@debian.org> Sat, 06 Dec 2008 17:02:28 +0100
+
desktop-base (5.0.2) unstable; urgency=low
* moreblue-orbit-wallpaper-widescreen.svg updated, fix a “transparent”
diff -Nru desktop-base-5.0.2/debian/postinst desktop-base-5.0.3/debian/postinst
--- desktop-base-5.0.2/debian/postinst 2008-10-23 23:56:04.000000000 +0200
+++ desktop-base-5.0.3/debian/postinst 2008-12-06 14:41:06.000000000 +0100
@@ -2,32 +2,6 @@
#DEBHELPER#
-# Move a conffile without triggering a dpkg question
-mv_conffile() {
- OLDCONFFILE="$1"
- NEWCONFFILE="$2"
- if [ -e "$OLDCONFFILE" ]; then
- echo "Preserving user changes to $NEWCONFFILE ..."
- mv -f "$NEWCONFFILE" "$NEWCONFFILE".dpkg-new
- mv -f "$OLDCONFFILE" "$NEWCONFFILE"
- fi
-}
-
-
-case "${1}" in
-install|upgrade)
- # splashy theme is moved to /usr/share/splashy starting 5.0.2
- if dpkg --compare-versions ${2} le 5.0.2; then
- mv_conffile /etc/splashy/themes/moreblue-orbit/background-bw.png \
- /usr/share/splashy/themes/moreblue-orbit/background-bw.png
- mv_conffile /etc/splashy/themes/moreblue-orbit/background-color.png \
- /usr/share/splashy/themes/moreblue-orbit/background-color.png
- mv_conffile /etc/splashy/themes/moreblue-orbit/theme.xml \
- /usr/share/splashy/themes/moreblue-orbit/theme.xml
- mv_conffile /etc/splashy/themes/moreblue-orbit/VeraSans.ttf \
- /usr/share/splashy/themes/moreblue-orbit/VeraSans.ttf
- fi
-esac
if [ "${1}" = "configure" ] && [ "$2" != "" ] ; then
@@ -117,7 +91,7 @@
update-grub2
fi
- if [ -x /sbin/splashy_config ]; then
+ if [ -x /sbin/splashy_config ] && [ -w /etc/splashy/config.xml ]; then
splashy_config --set-theme moreblue-orbit
fi
diff -Nru desktop-base-5.0.2/debian/preinst desktop-base-5.0.3/debian/preinst
--- desktop-base-5.0.2/debian/preinst 2008-10-24 00:01:59.000000000 +0200
+++ desktop-base-5.0.3/debian/preinst 2008-12-06 15:15:14.000000000 +0100
@@ -17,25 +17,55 @@
fi
fi
-# prepare to move splashy themes, moved to /usr/share in 5.0.2
-prep_mv_conffile() {
- PKGNAME="$1"
- CONFFILE="$2"
- if [ -e "$CONFFILE" ]; then
- md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`"
- old_md5sum="`dpkg-query -W -f='${Conffiles}' $PKGNAME | sed -n -e \"\\\\' $CONFFILE '{s/ obsolete$//;s/.* //p}\"`"
- if [ "$md5sum" = "$old_md5sum" ]; then
- rm -f "$CONFFILE"
- fi
- fi
+same_conffile() {
+ CONFFILE="$1"
+ if [ -e "$CONFFILE" ]; then
+ md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`"
+ old_md5sum="`dpkg-query -W -f='${Conffiles}' desktop-base | sed -n -e \"\\\\' $CONFFILE '{s/ obsolete$//;s/.* //p}\"`"
+ [ "$md5sum" = "$old_md5sum" ]
+ return
+ fi
+ return 1
}
+
case "$1" in
-install|upgrade)
- if dpkg --compare-versions "$2" le "5.0.2"; then
- prep_mv_conffile desktop-base "/etc/splashy/themes/moreblue-orbit/background-bw.png"
- prep_mv_conffile desktop-base "/etc/splashy/themes/moreblue-orbit/background-color.png"
- prep_mv_conffile desktop-base "/etc/splashy/themes/moreblue-orbit/VeraSans.ttf"
- prep_mv_conffile desktop-base "/etc/splashy/themes/moreblue-orbit/theme.xml"
+ install|upgrade)
+ if dpkg --compare-versions "$2" lt "5.0.2"; then
+ # if the folder is a symlink (installed by splashy), modified files
+ # need to be copied (from /usr/share/splashy/themes) before beeing
+ # replaced. If it's not, they need to be moved (from
+ # /etc/splashy/themes)
+ # not modified files need to be removed if no symlink, and not
+ # touched in case of a symlink
+ THEME_FOLDER="/etc/splashy/themes/moreblue-orbit"
+ THEME_FOLDER_BAK="/etc/splashy.dpkg-old/themes/moreblue-orbit"
+ FILES="background-bw.png background-color.png VeraSans.ttf theme.xml"
+
+ if [ -h /etc/splashy/themes ]; then
+ # symlink
+ for FILE in ${FILES}; do
+ [ -f ${THEME_FOLDER}/${FILE} ] || break
+ if ! same_conffile "${THEME_FOLDER}/${FILE}"; then
+ # symlink and changed file, copy it in a safe place
+ [ -d $THEME_FOLDER_BAK ] || mkdir -p $THEME_FOLDER_BAK
+ cp ${THEME_FOLDER}/${FILE} ${THEME_FOLDER_BAK}/
+ fi
+ done
+ else
+ # real folder
+ for FILE in ${FILES}; do
+ [ -f ${THEME_FOLDER}/${FILE} ] || break
+ if ! same_conffile "${THEME_FOLDER}/${FILE}"; then
+ # real folder and changed file, move it in a safe place
+ [ -d $THEME_FOLDER_BAK ] || mkdir -p $THEME_FOLDER_BAK
+ mv ${THEME_FOLDER}/${FILE} ${THEME_FOLDER_BAK}/
+ else
+ # real folder but unchanged file, just remove it
+ rm ${THEME_FOLDER}/${FILE}
+ fi
+ done
+ fi
fi
+ ;;
esac
diff -Nru desktop-base-5.0.2/debian/README.Debian desktop-base-5.0.3/debian/README.Debian
--- desktop-base-5.0.2/debian/README.Debian 2008-08-22 23:49:07.000000000 +0200
+++ desktop-base-5.0.3/debian/README.Debian 2008-12-01 14:45:33.000000000 +0100
@@ -5,7 +5,7 @@
1.1. Emblems
1.2. Pixmaps
1.3. Splash and Wallpapers
- 1.4. GDM Theme
+ 1.4. Boot splash
2. Desktop files
3. Changing desktop-base images
4. Window Managers
@@ -37,9 +37,13 @@
/usr/share/images/desktop-base/splash/gnome-debian-etch-splash.png
/usr/share/images/desktop-base/wallpapers/gnome-debian-etch-wp.png
-1.4. GDM Theme
+1.4. Boot splash
-desktop-base GDM theme will be built as soon as possible.
+desktop-base provides a theme for splashy, in
+/usr/share/splashy/themes/moreblue-orbit. Previously the theme was in
+/etc/splashy but since splashy people move the themes to /usr/share and
+replaced the folder by a symlink, we had to follow. If you modified the
+theme before, you should be able to find it in /etc/splashy.dpkg-old.
2. Desktop files
/usr/share/desktop-base/debian-homepage.desktop
diff -Nru desktop-base-5.0.2/debian/source.lintian-overrides desktop-base-5.0.3/debian/source.lintian-overrides
--- desktop-base-5.0.2/debian/source.lintian-overrides 1970-01-01 01:00:00.000000000 +0100
+++ desktop-base-5.0.3/debian/source.lintian-overrides 2008-12-06 17:06:13.000000000 +0100
@@ -0,0 +1,2 @@
+# we ignore ${Misc:Depends} because it would bring gconf
+desktop-base source: debhelper-but-no-misc-depends desktop-base
Attachment:
signature.asc
Description: This is a digitally signed message part