I've attached a new version of the patch that splits into kerneloops-daemon and kerneloops-applet and adds a transitional empty 'kerneloops' package.
It probably needs some more testing than I've had time for (in particular, the upgrade path). -Tim Abbott On Thu, 13 Aug 2009, Tim Abbott wrote: > On Fri, 7 Aug 2009, Matthew Wilcox wrote: > > > On Fri, Aug 07, 2009 at 04:03:32PM -0400, Tim Abbott wrote: > > > Hmm. I think long-term it would be best to have the names be > > > kerneloops/kerneloops-applet. kerneloops-daemon/kerneloops is certainly > > > much better than kerneloops-nogui/kerneloops, but I think is still a bit > > > confusing. It may very well be justified by saving the current userbase > > > from having things change out from under them. > > > > We can set that as our goal and transition to it. So we should split > > the package into kerneloops-applet and kerneloops-daemon. Then create > > a new kerneloops dummy package which depends on kerneloops-applet. > > > > In a couple of years, we can rename kerneloops-daemon to kerneloops, > > and everybody should be happy. > > > > Computer Science Motto: All problems can be solved with an extra layer > > of abstraction ;-) > > Yeah, that's probably the right thing to do. > > I'll post a new version of the patch that makes kerneloops a transitional > package as you describe when I get a chance (probably in a week or two). > > -Tim Abbott > > > > > > -- > To unsubscribe, send mail to 476328-unsubscr...@bugs.debian.org. >
From ca3777a7a16310d2a7dae9040c428485b232d0c1 Mon Sep 17 00:00:00 2001 From: Tim Abbott <tabb...@ksplice.com> Date: Thu, 23 Jul 2009 11:10:05 -0400 Subject: [PATCH] Split the kerneloops package into kerneloops-daemon and kerneloops-applet. Also add a transitional kerneloops package that depends on kerneloops-applet. Signed-off-by: Tim Abbott <tabb...@ksplice.com> --- debian/control | 19 +++++++++++++++ debian/kerneloops-applet.install | 3 ++ debian/kerneloops-daemon.install | 2 + debian/kerneloops-daemon.postinst | 46 +++++++++++++++++++++++++++++++++++++ debian/kerneloops-daemon.postrm | 41 +++++++++++++++++++++++++++++++++ debian/postinst | 46 ------------------------------------- debian/postrm | 41 --------------------------------- debian/rules | 8 ++++-- 8 files changed, 116 insertions(+), 90 deletions(-) create mode 100644 debian/kerneloops-applet.install create mode 100644 debian/kerneloops-daemon.install create mode 100644 debian/kerneloops-daemon.postinst create mode 100644 debian/kerneloops-daemon.postrm delete mode 100644 debian/postinst delete mode 100644 debian/postrm mode change 100644 => 100755 debian/rules diff --git a/debian/control b/debian/control index 0e93c6a..9b33d40 100644 --- a/debian/control +++ b/debian/control @@ -9,8 +9,27 @@ Homepage: http://www.kerneloops.org/ Package: kerneloops Architecture: any +Depends: kerneloops-applet +Description: kernel oops tracker + This is a transitional package for splitting the kerneloops package + into the kerneloops-daemon package and the kerneloops-applet package. + In the future, the kerneloops package will contain only the + kerneloops daemon, and not the applet. If you want the kerneloops + applet, you should explicitly install the kerneloops-applet package. + +Package: kerneloops-daemon +Architecture: any Depends: ${shlibs:Depends}, adduser +Conflicts: kerneloops (<< 0.12+git20090217-2) Description: kernel oops tracker kerneloops is a daemon that collects kernel crash information and then submits the extracted signature to the kerneloops.org website for statistical analysis and presentation to the Linux kernel developers. + +Package: kerneloops-applet +Architecture: any +Depends: ${shlibs:Depends}, kerneloops-daemon +Description: applet for the kernel oops tracker + The kerneloops applet allows the kerneloops crash reporting utility + to ask a desktop user for permission before submitting an oops report + to the kerneloops.org website. diff --git a/debian/kerneloops-applet.install b/debian/kerneloops-applet.install new file mode 100644 index 0000000..3850712 --- /dev/null +++ b/debian/kerneloops-applet.install @@ -0,0 +1,3 @@ +debian/tmp/usr/bin/kerneloops-applet /usr/bin +debian/tmp/usr/share/kerneloops /usr/share +debian/tmp/usr/share/locale /usr/share diff --git a/debian/kerneloops-daemon.install b/debian/kerneloops-daemon.install new file mode 100644 index 0000000..cb7f717 --- /dev/null +++ b/debian/kerneloops-daemon.install @@ -0,0 +1,2 @@ +debian/tmp/usr/sbin/kerneloops /usr/sbin/ +debian/tmp/usr/share/man/man8/* /usr/share/man/man8/ diff --git a/debian/kerneloops-daemon.postinst b/debian/kerneloops-daemon.postinst new file mode 100644 index 0000000..53106e7 --- /dev/null +++ b/debian/kerneloops-daemon.postinst @@ -0,0 +1,46 @@ +#!/bin/sh +# postinst script for kerneloops-daemon +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <postinst> `configure' <most-recently-configured-version> +# * <old-postinst> `abort-upgrade' <new version> +# * <conflictor's-postinst> `abort-remove' `in-favour' <package> +# <new-version> +# * <postinst> `abort-remove' +# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' +# <failed-install-package> <version> `removing' +# <conflicting-package> <version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + # add the system user + NEED=kernoops + if ! getent passwd $NEED >/dev/null; then + adduser --quiet --system --disabled-password \ + --gecos "Kernel Oops Tracking Daemon" \ + --home / --no-create-home $NEED + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/kerneloops-daemon.postrm b/debian/kerneloops-daemon.postrm new file mode 100644 index 0000000..02fc7fc --- /dev/null +++ b/debian/kerneloops-daemon.postrm @@ -0,0 +1,41 @@ +#!/bin/sh +# postrm script for kerneloops-daemon +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <postrm> `remove' +# * <postrm> `purge' +# * <old-postrm> `upgrade' <new-version> +# * <new-postrm> `failed-upgrade' <old-version> +# * <new-postrm> `abort-install' +# * <new-postrm> `abort-install' <old-version> +# * <new-postrm> `abort-upgrade' <old-version> +# * <disappearer's-postrm> `disappear' <overwriter> +# <overwriter-version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + purge) + deluser --quiet --system kernoops >/dev/null || true + ;; + + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/postinst b/debian/postinst deleted file mode 100644 index 8e2e17d..0000000 --- a/debian/postinst +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# postinst script for kerneloops -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * <postinst> `configure' <most-recently-configured-version> -# * <old-postinst> `abort-upgrade' <new version> -# * <conflictor's-postinst> `abort-remove' `in-favour' <package> -# <new-version> -# * <postinst> `abort-remove' -# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' -# <failed-install-package> <version> `removing' -# <conflicting-package> <version> -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -case "$1" in - configure) - # add the system user - NEED=kernoops - if ! getent passwd $NEED >/dev/null; then - adduser --quiet --system --disabled-password \ - --gecos "Kernel Oops Tracking Daemon" \ - --home / --no-create-home $NEED - fi - ;; - - abort-upgrade|abort-remove|abort-deconfigure) - ;; - - *) - echo "postinst called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/debian/postrm b/debian/postrm deleted file mode 100644 index 24cd965..0000000 --- a/debian/postrm +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# postrm script for kerneloops -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * <postrm> `remove' -# * <postrm> `purge' -# * <old-postrm> `upgrade' <new-version> -# * <new-postrm> `failed-upgrade' <old-version> -# * <new-postrm> `abort-install' -# * <new-postrm> `abort-install' <old-version> -# * <new-postrm> `abort-upgrade' <old-version> -# * <disappearer's-postrm> `disappear' <overwriter> -# <overwriter-version> -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -case "$1" in - purge) - deluser --quiet --system kernoops >/dev/null || true - ;; - - remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) - ;; - - *) - echo "postrm called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/debian/rules b/debian/rules old mode 100644 new mode 100755 index dfe7ee3..69f5ad9 --- a/debian/rules +++ b/debian/rules @@ -27,8 +27,10 @@ install: build dh_installdirs # Add here commands to install the package into debian/<packagename> - $(MAKE) DESTDIR=`pwd`/debian/`dh_listpackages` install - install -D -m 0755 kerneloops.init `pwd`/debian/kerneloops/etc/init.d/kerneloops + $(MAKE) DESTDIR=`pwd`/debian/tmp install + install -D -m 0755 kerneloops.init `pwd`/debian/kerneloops-daemon/etc/init.d/kerneloops + dh_install -pkerneloops-daemon + dh_install -pkerneloops-applet # Build architecture-independent files here. binary-indep: build install @@ -41,7 +43,7 @@ binary-arch: build install dh_installchangelogs dh_installdocs dh_installexamples - dh_installinit -o + dh_installinit -pkerneloops-daemon --name=kerneloops -o # dh_installdebconf # dh_installman kerneloops.8 dh_link -- 1.6.3.3