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

Reply via email to