From e18e8c469ffe3d7c8256d9da1c1d73bc1b9fecfb Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 15 May 2007 13:23:28 +0000 Subject: [PATCH] Moved packages to non-free sections. Added watch file. Added postinst section and debconf templates into ion3 binary package to run uscan and require acknowledgement when installing an outdated version. Arranged to copy watch file into the binary package, and added necessary dependencies. Removed dependency of ion3-dev on ion3, since ion3 will not be automatically installable and is not strictly required. Arranged for ion3-dev to have its own copy of required docs. --- debian/changelog | 17 +++++++++++++++++ debian/control | 16 ++++++++-------- debian/ion3.install | 1 + debian/ion3.postinst | 38 ++++++++++++++++++++++++++++++++++++++ debian/ion3.templates | 34 ++++++++++++++++++++++++++++++++++ debian/overrides/ion3-dev | 1 - debian/rules | 8 ++++---- debian/watch | 3 +++ 8 files changed, 105 insertions(+), 13 deletions(-) create mode 100644 debian/ion3.templates create mode 100644 debian/watch diff --git a/debian/changelog b/debian/changelog index b01bfa8..c7543a2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,20 @@ +ion3 (20070506-1) unstable; urgency=low + + * New upstream release - closes: #422527 + * Changed to meet conditions on the use of the 'Ion' name, claimed + to be an unregistered trademark: + - Added upstream version check on first installation and requirement + that the user acknowledge that bugs in old versions should not be + reported upstream + - Moved to non-free section + * Removed dependency of ion3-dev on ion3, since the latter cannot + automatically be installed and only provided docs + * Fixed duplicate 'Lock screen' menu entry in 202_fix-menus.diff + * Removed 207_bindings-manpage.diff since it is broken and I do + not consider it necessary + + -- Ben Hutchings Mon, 14 May 2007 22:40:02 +0100 + ion3 (20070318-2) unstable; urgency=low * Applied upstream fix for configuration requests including dock sizing diff --git a/debian/control b/debian/control index db0c844..006fff1 100644 --- a/debian/control +++ b/debian/control @@ -1,19 +1,19 @@ Source: ion3 -Section: x11 +Section: non-free/x11 Priority: extra Maintainer: Ben Hutchings Standards-Version: 3.7.2.0 Build-Depends: debhelper (>> 4), gcc (>> 3), libx11-dev, libsm-dev, liblua5.1-0-dev, lua5.1, dpatch, pkg-config, groff-base Package: ion3 -Section: x11 +Section: non-free/x11 Architecture: any -Depends: ${shlibs:Depends}, xterm | x-terminal-emulator +Depends: ${shlibs:Depends}, xterm | x-terminal-emulator, debconf, devscripts, libwww-perl Suggests: menu (>= 2.1.9), docker, ion3-scripts -Conflicts: ion (<< 0.0.20020207-7) +Conflicts: ion (<< 0.0.20020207-7), ion3-old Recommends: xfonts-75dpi | xfonts-75dpi-transcoded | xfonts-100dpi | xfonts-100dpi-transcoded Provides: x-window-manager, ion3-api-${Ion:ApiVersion} -Description: keyboard-friendly window manager with tiled windows (devel) +Description: keyboard-friendly window manager with tiled windows Ion, based on PWM, is an unusual window manager with no overlapping windows. Windows are placed in tabbed frames which may be arbitrarily split to create additional frames, making keyboard navigation much @@ -32,16 +32,16 @@ Description: keyboard-friendly window manager with tiled windows (devel) Website: http://iki.fi/tuomov/ion/ Package: ion3-dev -Section: devel +Section: non-free/devel Priority: extra Architecture: all -Depends: ion3-api-${Ion:ApiVersion}, libx11-dev, libsm-dev, lua5.1, gcc (>> 3) +Depends: libx11-dev, libsm-dev, lua5.1, gcc (>> 3) Description: ion3 development files This package contains the files necessary for building extension modules to the window manager Ion. Package: ion3-doc -Section: doc +Section: non-free/doc Architecture: all Recommends: lynx | www-browser Suggests: doc-base, dwww | doc-central | dhelp diff --git a/debian/ion3.install b/debian/ion3.install index bd82f5f..3aafa3c 100644 --- a/debian/ion3.install +++ b/debian/ion3.install @@ -1,3 +1,4 @@ debian/ion3.desktop debian/pwm3.desktop usr/share/xsessions debian/default etc debian/overrides/ion3 usr/share/lintian/overrides +debian/watch usr/share/ion3/debian diff --git a/debian/ion3.postinst b/debian/ion3.postinst index 00db807..3085013 100644 --- a/debian/ion3.postinst +++ b/debian/ion3.postinst @@ -1,5 +1,43 @@ #!/bin/sh set -e +. /usr/share/debconf/confmodule + +UPSTREAM_VERSION= + +if [ "$1" = configure -a "$2" = "" ]; then + # Installing for the first time (or after a purge). + # To comply with the Ion trademark licence terms, we must ensure + # that this version is up-to-date or that the user acknowledges + # it is not. I freely admit that this is a horrible abuse of + # debconf, but it seems slightly less unpleasant than maintaining + # a renamed version. - benh + uscan_output=$(uscan 2>&1 --no-conf --report-status \ + --package ion3 --upstream-version "$UPSTREAM_VERSION" \ + --watchfile /usr/share/ion3/debian/watch) + case "$uscan_output" in + *"up to date"*) + question='' + ;; + *"Newer version"*) + question=ion3/acknowledge-outdated + ;; + *) + question=ion3/acknowledge-maybe-outdated + ;; + esac + if [ -n "$question" ]; then + db_fset $question seen false + db_subst $question version $UPSTREAM_VERSION + db_input high $question || true + db_go || true + db_get $question + if [ "$RET" != true ]; then + db_input high ion3/did-not-acknowledge-outdated || true + db_go || true + exit 1 + fi + fi +fi if [ -h /etc/X11/ion3/draw.lua ]; then rm -f /etc/X11/ion3/draw.lua diff --git a/debian/ion3.templates b/debian/ion3.templates new file mode 100644 index 0000000..47c7aee --- /dev/null +++ b/debian/ion3.templates @@ -0,0 +1,34 @@ +Template: ion3/acknowledge-outdated +Type: boolean +Default: false +Description: Do you understand that this an old version not supported by the author? + The version of Ion3 you are installing (version ${version}) is not + the latest version released by the author. + . + DO NOT send bug reports or questions to the author unless they apply + to the latest version, available from: + http://modeemi.fi/~tuomov/ion/download.html + . + You should send any bug reports about this package to the Debian bug + tracking system and any other questions to the Debian maintainer. + +Template: ion3/acknowledge-maybe-outdated +Type: boolean +Default: false +Description: Do you understand that this may be an old version that is not supported by the author? + The version of Ion3 you are installing (version ${version}) may not + be the latest version released by the author. + . + DO NOT send bug reports or questions to the author unless they apply + to the latest version, available at: + http://modeemi.fi/~tuomov/ion/download.html + . + Otherwise, you should send any bug reports about this package to the + Debian bug tracking system and any other questions to the Debian + maintainer. + +Template: ion3/did-not-acknowledge-outdated +Type: error +Description: You did not acknowledge installation of an old version. + You must acknowledge that the author does not support old versions + and should not be contacted about them. diff --git a/debian/overrides/ion3-dev b/debian/overrides/ion3-dev index 782fa64..321fb6b 100644 --- a/debian/overrides/ion3-dev +++ b/debian/overrides/ion3-dev @@ -1,3 +1,2 @@ -ion3-dev: usr-doc-symlink-without-dependency ion3 ion3-dev: script-not-executable ./usr/lib/ion3/libextl/libextl-mkexports ion3-dev: unusual-interpreter ./usr/lib/ion3/libextl/libextl-mkexports #!/usr/bin/lua5.1 diff --git a/debian/rules b/debian/rules index 0138c10..d9c6418 100755 --- a/debian/rules +++ b/debian/rules @@ -13,6 +13,7 @@ PACKAGE_DOC := $(PACKAGE)-doc INSTDIR := debian/$(PACKAGE) INSTDIR_DEV := debian/$(PACKAGE_DEV) INSTDIR_DOC := debian/$(PACKAGE_DOC) +UPSTREAM_VERSION := $(shell dpkg-parsechangelog | sed -r 's/^Version: ([0-9]*:)?(.*)-[^-]*$$/\2/; t; d') doc-orig: cp -R doc doc-orig @@ -86,9 +87,6 @@ binary-indep: build-indep install-indep echo Ion:ApiVersion=$$((cat version.h; echo ION_API_VERSION) \ | cpp -P | tail -1 | sed 's/"//g') >>debian/ion3-dev.substvars - dh_link -p$(PACKAGE_DEV) usr/share/doc/$(PACKAGE) \ - usr/share/doc/$(PACKAGE_DEV) - dh_installchangelogs -i dh_installdocs -i # remove empty images and TeX droppings @@ -144,7 +142,7 @@ binary-arch: build-arch install-arch cat $(CURDIR)/debian/patches/extra/debian-menu.cfg >> $(INSTDIR)/etc/X11/ion3/cfg_ioncore.lua -# dh_installdebconf -a + dh_installdebconf -a # dh_installlogrotate -a # dh_installemacsen -a # dh_installpam -a @@ -162,6 +160,8 @@ binary-arch: build-arch install-arch # dh_python -a # dh_makeshlibs -a dh_installdeb -a + sed -i 's/^UPSTREAM_VERSION=/UPSTREAM_VERSION=$(UPSTREAM_VERSION)/' \ + debian/ion3/DEBIAN/postinst dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..fe93fbc --- /dev/null +++ b/debian/watch @@ -0,0 +1,3 @@ +version=3 +http://modeemi.fi/~tuomov/ion/download.html \ +http://iki.fi/tuomov/dl/ion-3(?:rc)?-(\d{8})\.tar\.gz -- 2.39.2