Hello Helmut!
On Tue, Aug 05, 2014 at 08:43:07PM +0200, Helmut Grohne wrote:
> The experimental version of util-linux introduces new B-Ds. Notable are
> libpam0g-dev and libsystemd-daemon-dev.
[...]
> Making build dependencies droppable is facilitated by using build
> profiles (https://wiki.debian.org/BuildProfileSpec). Ideally, util-linux
> would support a build mode that does not require systemd packages (and
> pam) and only builds the library parts. It builds fewer binary packages,
> but those packages it builds should be equal in functionality to the
> existing packages. Building more than just the libraries is also ok as
> long as the packages built do not differ in functionality.
[...]
I guess something along the lines of the attached patch should be a start.
It builds when using "dpkg-buildpackage -Pstage1" but please verify
it actually solves the bootstrapping problems, see if there's a need
for a cross profile and possibly see if there's anything that can
be simplified and/or improved....
(An improvement suggestion for debhelper would be to teach dh_installman
to skip installing manpages for packages skipped by the build profile.)
Regards,
Andreas Henriksson
diff --git a/debian/control b/debian/control
index 555b53c..4607142 100644
--- a/debian/control
+++ b/debian/control
@@ -8,16 +8,16 @@ Build-Depends: autoconf,
dpkg-dev (>=1.16.0),
gettext,
libncurses5-dev,
- libpam0g-dev,
+ libpam0g-dev <!profile.stage1>,
libselinux1-dev [linux-any],
libslang2-dev (>=2.0.4),
- libsystemd-daemon-dev [linux-any],
- libsystemd-journal-dev [linux-any],
+ libsystemd-daemon-dev [linux-any] <!profile.stage1>,
+ libsystemd-journal-dev [linux-any] <!profile.stage1>,
libtool,
lsb-release,
pkg-config,
po-debconf,
- systemd [linux-any],
+ systemd [linux-any] <!profile.stage1>,
zlib1g-dev
Section: base
Priority: required
@@ -32,6 +32,7 @@ Vcs-Git: git://git.debian.org/git/collab-maint/pkg-util-linux.git
Package: util-linux
Architecture: any
+Build-Profiles: !stage1
Section: utils
Essential: yes
Pre-Depends: ${misc:Pre-Depends}, ${shlibs:Depends}
@@ -48,6 +49,7 @@ Description: Miscellaneous system utilities
Package: util-linux-locales
Architecture: all
+Build-Profiles: !stage1
Section: localization
Priority: optional
Depends: util-linux (>= ${source:Upstream-Version}), ${misc:Depends}
@@ -61,6 +63,7 @@ Description: Locales files for util-linux
Package: mount
Architecture: linux-any
+Build-Profiles: !stage1
Essential: yes
Section: admin
Pre-Depends: ${misc:Pre-Depends}, ${shlibs:Depends}
@@ -73,6 +76,7 @@ Description: Tools for mounting and manipulating filesystems
Package: bsdutils
Architecture: any
+Build-Profiles: !stage1
Essential: yes
Section: utils
Pre-Depends: ${misc:Pre-Depends}, ${shlibs:Depends}
@@ -86,6 +90,7 @@ Description: basic utilities from 4.4BSD-Lite
Package: fdisk-udeb
Architecture: hurd-any linux-any
+Build-Profiles: !stage1
Priority: extra
Section: debian-installer
Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -95,6 +100,7 @@ Description: Manually partition a hard drive (fdisk)
Package: cfdisk-udeb
Architecture: hurd-any linux-any
+Build-Profiles: !stage1
Priority: extra
Section: debian-installer
Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -224,6 +230,7 @@ Description: Universally Unique ID library
Package: uuid-runtime
Architecture: any
+Build-Profiles: !stage1
Section: libs
Priority: optional
Pre-Depends: libuuid1 (>= 2.25-5~), ${misc:Pre-Depends}
@@ -275,6 +282,7 @@ Description: universally unique id library - headers and static libraries
Package: util-linux-udeb
Architecture: any
+Build-Profiles: !stage1
Priority: optional
Section: debian-installer
Depends: ${misc:Depends}, ${shlibs:Depends}
diff --git a/debian/rules b/debian/rules
index 851b784..161d8dd 100755
--- a/debian/rules
+++ b/debian/rules
@@ -12,8 +12,12 @@ ifeq ($(DEB_HOST_ARCH_OS),linux)
CONFOPTS += --enable-raw
CONFOPTS += --with-selinux
CONFOPTS += --enable-partx
-CONFOPTS += --with-systemd
CONFOPTS += --enable-tunelp
+ifneq ($(filter stage1,$(DEB_BUILD_PROFILES)),)
+ CONFOPTS += --without-systemd
+else
+ CONFOPTS += --with-systemd
+endif
else
CONFOPTS += --disable-pivot_root
endif
@@ -153,6 +157,7 @@ endif
rm -rf debian/*-udeb/usr/share/doc
override_dh_installman:
+ifeq ($(filter stage1,$(DEB_BUILD_PROFILES)),)
cat debian/util-linux.manpages debian/util-linux.manpages.linux-only > debian/util-linux.manpages.linux
ifeq ($(DEB_HOST_ARCH),sparc)
sed -i '/sfdisk/d' debian/*.manpages
@@ -183,6 +188,7 @@ endif
ifneq ($(DEB_HOST_ARCH_OS),linux)
cd debian/util-linux/usr/share/man/man8 && mv mkswap.8 mkswap.linux.8
endif
+endif
override_dh_gencontrol:
dh_gencontrol --package=bsdutils -- -v1:$(DEB_VERSION_UPSTREAM_REVISION)