Source: pulseaudio
Version: 4.0-6
Severity: normal
Tags: patch
User: [email protected]
Usertag: bootstrap

Pulseaudio is part of a cyclic build-dependency loop:
pulseaudio → bluez → gst-plugins-base0.10 → libtheora → libsdl1.2 → pulseaudio 

This means that none of these packages can be built first when bootstrapping a 
new architecture or build optimisation.

This patch breaks that loop by allowing a build of pulseaudio without bleutooth 
support.

It probably makes sense to exclude some of the other option components
of pulseaudio in the profile build, but this was sufficient for the
arm64 bootstrap. Analysis is ongoing as we add these patches to the archive. 
See https://bootstrap.debian.net/

There will be an addition to this patch later to specify the changed
Build-Depends: line according to https://wiki.debian.org/BuildProfileSpec
but whilst dpkg is now ready for those, the archive machinery isn't quite yet.

This patch is sufficient to allow bootstrapping 
by not installing bluez and doing:
DEB_BUILD_PROFILES=stage1 dpkg-buildpackage -d

This patch is part of a series affecting about 60 packages which should
make Debian bootstrappable. See https://wiki.debian.org/DebianBootstrap
for details

-- System Information:
Debian Release: 7.3
  APT prefers stable
  APT policy: (990, 'stable')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-kvm-i386-20110111 (SMP w/1 CPU core)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
diff -Nru pulseaudio-4.0/debian/changelog pulseaudio-4.0/debian/changelog
--- pulseaudio-4.0/debian/changelog	2013-07-21 09:49:58.000000000 +0000
+++ pulseaudio-4.0/debian/changelog	2021-07-24 05:16:59.000000000 +0000
@@ -1,3 +1,9 @@
+pulseaudio (4.0-6profile1) unstable; urgency=low
+
+  * Add stage1 DEB_BUILD_PROFILES initial bootstrap support
+
+ --  <[email protected]>  Sat, 24 Jul 2021 05:16:08 +0000
+
 pulseaudio (4.0-6) unstable; urgency=low
 
   * debian/patches/build-make-ARM-NEON-check-in-configure.ac-more-stric.patch
diff -Nru pulseaudio-4.0/debian/control pulseaudio-4.0/debian/control
--- pulseaudio-4.0/debian/control	2013-07-21 09:49:58.000000000 +0000
+++ pulseaudio-4.0/debian/control	2021-07-24 04:59:43.000000000 +0000
@@ -4,6 +4,8 @@
 Maintainer: Pulseaudio maintenance team <[email protected]>
 Uploaders: Sjoerd Simons <[email protected]>, 
     Martin-Éric Racine <[email protected]>
+# The following packages can be omitted for bootstrapping (DEB_BUILD_PROFILES=stage1):
+#  libbluetooth-dev
 Build-Depends: debhelper (>= 8.1.3),
     cdbs (>= 0.4.93),
     dh-autoreconf,
diff -Nru pulseaudio-4.0/debian/rules pulseaudio-4.0/debian/rules
--- pulseaudio-4.0/debian/rules	2013-07-21 09:49:58.000000000 +0000
+++ pulseaudio-4.0/debian/rules	2021-07-24 05:44:54.000000000 +0000
@@ -5,6 +5,13 @@
 include /usr/share/cdbs/1/rules/utils.mk
 include /usr/share/cdbs/1/rules/autoreconf.mk
 
+#Don't build all the modules packages when bootstrapping
+ifeq ($(words $(sort $(filter stage1,$(DEB_BUILD_PROFILES)))),1)
+  $(warning Bootstrap profile build)
+  export DH_OPTIONS += -Npulseaudio-module-bluetooth -Npulseaudio-module-bluetooth-dbg
+  DEB_CONFIGURE_EXTRA_FLAGS += --disable-bluez
+endif
+
 common-build-arch::
 	grep -v -e alsa -e evdev -e udev -e share/pulseaudio -e systemd \
 	  debian/pulseaudio.install > debian/pulseaudio.install.kfreebsd-i386
@@ -56,6 +63,11 @@
   --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
   --with-module-dir=\$${prefix}/lib/pulse-$(DEB_UPSTREAM_VERSION)/modules
 
+ifeq ($(words $(sort $(filter stage1,$(DEB_BUILD_PROFILES)))),1)
+  DEB_CONFIGURE_EXTRA_FLAGS += --disable-bluez
+endif
+
+
 DEB_DH_MAKESHLIBS_ARGS_ALL = --exclude=usr/lib/pulse-$(DEB_UPSTREAM_VERSION)/modules
 
 LDFLAGS += -Wl,--no-as-needed
_______________________________________________
pkg-pulseaudio-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-pulseaudio-devel

Reply via email to