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

[PATCH initramfs-tools 2/2] Split initramfs-tools binary packages into core and automation hooks



Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
The purpose of this is to allow installing the tools (mkinitramfs,
lsinitramfs, and default scripts) without update-initramfs and the hook
that makes it run automatically.  This plus a similar split in dracut
will allow for coinstallation and comparison of the two.  It may also
be useful for live system builders.

I'm not sure I've got the split exactly right, or whether the '-core'
suffix is the right way to distinguish the tools package.  I do think
we need to keep automation in the 'initramfs-tools' binary package for
backward compatibility.

Ben.

 debian/.gitignore                                       |  1 +
 debian/control                                          | 17 ++++++++++++++---
 .../{initramfs-tools.dirs => initramfs-tools-core.dirs} |  0
 ...mfs-tools.doc-base => initramfs-tools-core.doc-base} |  4 ++--
 .../{initramfs-tools.docs => initramfs-tools-core.docs} |  0
 ...mfs-tools.examples => initramfs-tools-core.examples} |  0
 debian/initramfs-tools-core.install                     |  8 ++++++++
 debian/initramfs-tools-core.lintian-overrides           |  3 +++
 debian/initramfs-tools-core.manpages                    |  4 ++++
 debian/initramfs-tools-core.postinst                    | 10 ++++++++++
 ...itramfs-tools.postrm => initramfs-tools-core.postrm} |  0
 debian/initramfs-tools.install                          |  8 --------
 debian/initramfs-tools.lintian-overrides                |  3 ---
 debian/initramfs-tools.manpages                         |  4 ----
 debian/initramfs-tools.postinst                         |  5 -----
 15 files changed, 42 insertions(+), 25 deletions(-)
 rename debian/{initramfs-tools.dirs => initramfs-tools-core.dirs} (100%)
 rename debian/{initramfs-tools.doc-base => initramfs-tools-core.doc-base} (62%)
 rename debian/{initramfs-tools.docs => initramfs-tools-core.docs} (100%)
 rename debian/{initramfs-tools.examples => initramfs-tools-core.examples} (100%)
 create mode 100644 debian/initramfs-tools-core.install
 create mode 100644 debian/initramfs-tools-core.lintian-overrides
 create mode 100644 debian/initramfs-tools-core.manpages
 create mode 100644 debian/initramfs-tools-core.postinst
 rename debian/{initramfs-tools.postrm => initramfs-tools-core.postrm} (100%)
 delete mode 100644 debian/initramfs-tools.lintian-overrides

diff --git a/debian/.gitignore b/debian/.gitignore
index d62df89..cf18842 100644
--- a/debian/.gitignore
+++ b/debian/.gitignore
@@ -2,3 +2,4 @@
 /*.debhelper.log
 /*.substvars
 /initramfs-tools/
+/initramfs-tools-core/
diff --git a/debian/control b/debian/control
index 463510e..9239f78 100644
--- a/debian/control
+++ b/debian/control
@@ -11,13 +11,24 @@ Vcs-Git: git://git.debian.org/git/kernel/initramfs-tools.git
 Package: initramfs-tools
 Architecture: all
 Multi-Arch: foreign
-Recommends: busybox (>= 1:1.01-3) | busybox-initramfs | busybox-static
-Depends: klibc-utils (>= 2.0-1~), cpio, kmod | module-init-tools, udev, ${misc:Depends}, klibc-utils (>= 2.0.4-1.2~) | busybox (>= 1:1.01-3) | busybox-initramfs | busybox-static
+Depends: initramfs-tools-core, ${misc:Depends}
 Suggests: bash-completion
 Provides: linux-initramfs-tool
 Conflicts: linux-initramfs-tool, usplash (<< 0.5.50)
 Breaks: cryptsetup (<< 2:1.6.6-4~), elilo (<< 3.12-3.1~), lilo (<< 22.8-8.2~), s390-tools (<< 1.8.3-2~), console-setup (<< 1.72), systemd-sysv (<< 186), lvm2 (<< 2.02.111-2.1~)
-Description: generic modular initramfs generator
+Description: generic modular initramfs generator (automation)
  This package builds a bootable initramfs for Linux kernel packages.  The
  initramfs is loaded along with the kernel and is responsible for
  mounting the root filesystem and starting the main init system.
+
+Package: initramfs-tools-core
+Architecture: all
+Multi-Arch: foreign
+Recommends: busybox (>= 1:1.01-3) | busybox-initramfs | busybox-static
+Depends: klibc-utils (>= 2.0-1~), cpio, kmod | module-init-tools, udev, ${misc:Depends}, klibc-utils (>= 2.0.4-1.2~) | busybox (>= 1:1.01-3) | busybox-initramfs | busybox-static
+Suggests: bash-completion
+Description: generic modular initramfs generator (core tools)
+ This package contains the mkinitramfs program that can be used to
+ create a bootable initramfs for a Linux kernel.  The initramfs should
+ be loaded along with the kernel and is then responsible for mounting
+ the root filesystem and starting the main init system.
diff --git a/debian/initramfs-tools.dirs b/debian/initramfs-tools-core.dirs
similarity index 100%
rename from debian/initramfs-tools.dirs
rename to debian/initramfs-tools-core.dirs
diff --git a/debian/initramfs-tools.doc-base b/debian/initramfs-tools-core.doc-base
similarity index 62%
rename from debian/initramfs-tools.doc-base
rename to debian/initramfs-tools-core.doc-base
index 41f2134..e2817c3 100644
--- a/debian/initramfs-tools.doc-base
+++ b/debian/initramfs-tools-core.doc-base
@@ -6,5 +6,5 @@ Abstract: This document describes the workflow of
 Section: Debian
 
 Format: HTML
-Index: /usr/share/doc/initramfs-tools/maintainer-notes.html
-Files: /usr/share/doc/initramfs-tools/maintainer-notes.html
+Index: /usr/share/doc/initramfs-tools-core/maintainer-notes.html
+Files: /usr/share/doc/initramfs-tools-core/maintainer-notes.html
diff --git a/debian/initramfs-tools.docs b/debian/initramfs-tools-core.docs
similarity index 100%
rename from debian/initramfs-tools.docs
rename to debian/initramfs-tools-core.docs
diff --git a/debian/initramfs-tools.examples b/debian/initramfs-tools-core.examples
similarity index 100%
rename from debian/initramfs-tools.examples
rename to debian/initramfs-tools-core.examples
diff --git a/debian/initramfs-tools-core.install b/debian/initramfs-tools-core.install
new file mode 100644
index 0000000..91d0378
--- /dev/null
+++ b/debian/initramfs-tools-core.install
@@ -0,0 +1,8 @@
+lsinitramfs		usr/bin
+mkinitramfs		usr/sbin
+init			usr/share/initramfs-tools
+scripts			usr/share/initramfs-tools
+conf/initramfs.conf	etc/initramfs-tools
+hooks			usr/share/initramfs-tools
+hook-functions		usr/share/initramfs-tools
+conf/modules		usr/share/initramfs-tools
diff --git a/debian/initramfs-tools-core.lintian-overrides b/debian/initramfs-tools-core.lintian-overrides
new file mode 100644
index 0000000..d5ebecb
--- /dev/null
+++ b/debian/initramfs-tools-core.lintian-overrides
@@ -0,0 +1,3 @@
+initramfs-tools-core: package-contains-empty-directory usr/share/initramfs-tools/conf.d/
+initramfs-tools-core: package-contains-empty-directory usr/share/initramfs-tools/conf-hooks.d/
+initramfs-tools-core: package-contains-empty-directory usr/share/initramfs-tools/modules.d/
diff --git a/debian/initramfs-tools-core.manpages b/debian/initramfs-tools-core.manpages
new file mode 100644
index 0000000..2245ac9
--- /dev/null
+++ b/debian/initramfs-tools-core.manpages
@@ -0,0 +1,4 @@
+lsinitramfs.8
+mkinitramfs.8
+initramfs.conf.5
+initramfs-tools.8
diff --git a/debian/initramfs-tools-core.postinst b/debian/initramfs-tools-core.postinst
new file mode 100644
index 0000000..b78f279
--- /dev/null
+++ b/debian/initramfs-tools-core.postinst
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+if [ ! -e /etc/initramfs-tools/modules ]; then
+	sed '/^###/d' /usr/share/initramfs-tools/modules \
+		> /etc/initramfs-tools/modules
+fi
+
+#DEBHELPER#
diff --git a/debian/initramfs-tools.postrm b/debian/initramfs-tools-core.postrm
similarity index 100%
rename from debian/initramfs-tools.postrm
rename to debian/initramfs-tools-core.postrm
diff --git a/debian/initramfs-tools.install b/debian/initramfs-tools.install
index bdf5c6c..4e69147 100644
--- a/debian/initramfs-tools.install
+++ b/debian/initramfs-tools.install
@@ -1,12 +1,4 @@
-lsinitramfs		usr/bin
-mkinitramfs		usr/sbin
-init			usr/share/initramfs-tools
-scripts			usr/share/initramfs-tools
-conf/initramfs.conf	etc/initramfs-tools
 conf/update-initramfs.conf	etc/initramfs-tools
-hooks			usr/share/initramfs-tools
-hook-functions		usr/share/initramfs-tools
-conf/modules		usr/share/initramfs-tools
 update-initramfs	usr/sbin
 debian/script		usr/share/bug/initramfs-tools
 kernel			etc
diff --git a/debian/initramfs-tools.lintian-overrides b/debian/initramfs-tools.lintian-overrides
deleted file mode 100644
index 5191f49..0000000
--- a/debian/initramfs-tools.lintian-overrides
+++ /dev/null
@@ -1,3 +0,0 @@
-initramfs-tools: package-contains-empty-directory usr/share/initramfs-tools/conf.d/
-initramfs-tools: package-contains-empty-directory usr/share/initramfs-tools/conf-hooks.d/
-initramfs-tools: package-contains-empty-directory usr/share/initramfs-tools/modules.d/
diff --git a/debian/initramfs-tools.manpages b/debian/initramfs-tools.manpages
index d56d0bd..a6b7118 100644
--- a/debian/initramfs-tools.manpages
+++ b/debian/initramfs-tools.manpages
@@ -1,6 +1,2 @@
-lsinitramfs.8
-mkinitramfs.8
-initramfs.conf.5
-initramfs-tools.8
 update-initramfs.8
 update-initramfs.conf.5
diff --git a/debian/initramfs-tools.postinst b/debian/initramfs-tools.postinst
index 9526cf7..7b7a789 100644
--- a/debian/initramfs-tools.postinst
+++ b/debian/initramfs-tools.postinst
@@ -2,11 +2,6 @@
 
 set -e
 
-if [ ! -e /etc/initramfs-tools/modules ]; then
-	sed '/^###/d' /usr/share/initramfs-tools/modules \
-		> /etc/initramfs-tools/modules
-fi
-
 # Regenerate initramfs whenever we go to dpkg state `installed'
 if [ "x$1" != xtriggered ]; then
 	# this activates the trigger, if triggers are working
-- 
Ben Hutchings
Theory and practice are closer in theory than in practice.
                                - John Levine, moderator of comp.compilers

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: