summaryrefslogtreecommitdiff
path: root/debian/rules
diff options
context:
space:
mode:
Diffstat (limited to 'debian/rules')
-rwxr-xr-xdebian/rules78
1 files changed, 75 insertions, 3 deletions
diff --git a/debian/rules b/debian/rules
index a58d2df8..9d88d5a6 100755
--- a/debian/rules
+++ b/debian/rules
@@ -18,9 +18,30 @@
# 02111-1307 USA.
DEB_DESTDIR = $(CURDIR)/debian/tmp
+DEB_DESTDIR_UDEB = $(CURDIR)/debian/tmp-udeb
+ifeq (,$(filter stage1 stage2,$(DEB_BUILD_PROFILES)))
CONFIGURE_ARGS = --disable-profile --enable-static-progs='ext2fs,iso9660fs'
+else
+CONFIGURE_ARGS = \
+ --disable-ncursesw \
+ --without-libbz2 \
+ --without-libz \
+ --without-parted
+# Skip some checks because they expect
+# a working glibc causing a circular dependency.
+# TODO: rather disable the corresponding features in configure.ac
+export ac_cv_search_clnt_create=no
+export ac_cv_lib_pciaccess_pci_system_init=no
+export ac_cv_func_file_exec_file_name=no
+export ac_cv_func_exec_exec_file_name=no
+export ac_cv_func__hurd_exec_file_name=no
+export LEX=:
+export YACC=:
+export MIG=:
+endif
CONFIGURE_ARGS_deb =
+CONFIGURE_ARGS_udeb = --without-libdaemon --without-libbz2
SUID_PROGRAMS = /bin/ids /bin/login /bin/ps-hurd /usr/bin/w-hurd
DEB_HOST_MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
@@ -28,19 +49,38 @@ DEB_HOST_MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
INSTALL_in := $(wildcard debian/*.install.in)
INSTALL_generated := $(patsubst %.in,%,$(INSTALL_in))
+BUILT_USING := $(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W libc0.3-dev libparted-dev zlib1g-dev libbz2-dev uuid-dev libblkid-dev)
+
%:
dh $@ -Bbuild-deb --with autotools_dev,autoreconf
override_dh_auto_configure:
dh_auto_configure -Bbuild-deb -- $(CONFIGURE_ARGS) $(CONFIGURE_ARGS_deb) $(shell dpkg-buildflags --export=configure)
+ifeq (,$(filter stage1 stage2 noudeb,$(DEB_BUILD_PROFILES)))
+ dh_auto_configure -Bbuild-udeb -- $(CONFIGURE_ARGS) $(CONFIGURE_ARGS_udeb) $(shell dpkg-buildflags --export=configure)
+endif
override_dh_auto_build:
+ifneq (,$(filter stage1,$(DEB_BUILD_PROFILES)))
+ :
+else
+ifneq (,$(filter stage2,$(DEB_BUILD_PROFILES)))
+ $(MAKE) -C build-deb/libihash libihash.a
+else
+ifeq (,$(filter noudeb,$(DEB_BUILD_PROFILES)))
+ dh_auto_build -Bbuild-udeb
+endif
dh_auto_build -Bbuild-deb
cd build-deb/doc && make && makeinfo --html --split=chapter ../../doc/hurd.texi
- $(MAKE) -C libdde-linux26 BUILDDIR=$(CURDIR)/build-deb
+ $(MAKE) -C libdde-linux26 BUILDDIR=$(CURDIR)/build-deb LDFLAGS=
+endif
+endif
override_dh_auto_clean:
dh_auto_clean -Bbuild-deb
+ifeq (,$(filter stage1 stage2 noudeb,$(DEB_BUILD_PROFILES)))
+ dh_auto_clean -Bbuild-udeb
+endif
$(MAKE) -C libdde-linux26 cleanall
rm -f $$(find libdde-linux26 -name \*.d)
rm -fr libdde-linux26/build
@@ -48,7 +88,16 @@ override_dh_auto_clean:
rm -f $(INSTALL_generated)
override_dh_auto_install:
- dh_auto_install -Bbuild-deb --destdir= -- prefix=$(DEB_DESTDIR) libdir=$(DEB_DESTDIR)/lib/$(DEB_HOST_MULTIARCH) sysconfdir=$(DEB_DESTDIR)/etc localstatedir=$(DEB_DESTDIR)/var XKB_BASE=$(DEB_DESTDIR)/usr/share/X11/xkb
+ifneq (,$(filter stage1 stage2,$(DEB_BUILD_PROFILES)))
+ $(MAKE) -Cbuild-deb prefix=$(DEB_DESTDIR) install-headers no_deps=t
+ifneq (,$(filter stage2,$(DEB_BUILD_PROFILES)))
+ $(MAKE) -Cbuild-deb/libihash libdir=$(DEB_DESTDIR)/lib/$(DEB_HOST_MULTIARCH) $(DEB_DESTDIR)/lib/$(DEB_HOST_MULTIARCH)/libihash.a
+endif
+else
+ dh_auto_install -Bbuild-deb -- prefix=$(DEB_DESTDIR) libdir=$(DEB_DESTDIR)/lib/$(DEB_HOST_MULTIARCH) libexecdir=$(DEB_DESTDIR)/lib/hurd sysconfdir=$(DEB_DESTDIR)/etc localstatedir=$(DEB_DESTDIR)/var XKB_BASE=$(DEB_DESTDIR)/usr/share/X11/xkb
+ifeq (,$(filter noudeb,$(DEB_BUILD_PROFILES)))
+ dh_auto_install -Bbuild-udeb -- prefix=$(DEB_DESTDIR_UDEB) libdir=$(DEB_DESTDIR_UDEB)/lib libexecdir=$(DEB_DESTDIR_UDEB)/lib/hurd sysconfdir=$(DEB_DESTDIR_UDEB)/etc localstatedir=$(DEB_DESTDIR_UDEB)/var XKB_BASE=$(DEB_DESTDIR_UDEB)/usr/share/X11/xkb
+endif
$(MAKE) -C libdde-linux26 INSTALLDIR=$(CURDIR)/debian/tmp/usr/share/libdde_linux26/build/include install
# runsystem is managed by update-alternatives
@@ -62,6 +111,13 @@ override_dh_auto_install:
mv debian/tmp/bin/uptime debian/tmp/usr/bin/uptime-hurd
mv debian/tmp/bin/vmstat debian/tmp/usr/bin/vmstat-hurd
mv debian/tmp/bin/w debian/tmp/usr/bin/w-hurd
+ifeq (,$(filter stage1 stage2 noudeb,$(DEB_BUILD_PROFILES)))
+ mkdir -p debian/tmp-udeb/usr/bin
+ mv debian/tmp-udeb/bin/ps debian/tmp-udeb/bin/ps-hurd
+ mv debian/tmp-udeb/bin/uptime debian/tmp-udeb/usr/bin/uptime-hurd
+ mv debian/tmp-udeb/bin/vmstat debian/tmp-udeb/usr/bin/vmstat-hurd
+ mv debian/tmp-udeb/bin/w debian/tmp-udeb/usr/bin/w-hurd
+endif
# move away halt and reboot to not conflict with sysvinit
# (they will be handled as alternatives)
@@ -70,9 +126,16 @@ override_dh_auto_install:
# remove PIC static libraries
rm -f debian/tmp/lib/$(DEB_HOST_MULTIARCH)/*_pic.a
+ rm -f debian/tmp-udeb/lib/*_pic.a
+endif
override_dh_install: $(INSTALL_generated)
+ dh_install $(addprefix -p,$(filter %-udeb,$(shell dh_listpackages))) --sourcedir=debian/tmp-udeb
dh_install --remaining-packages --list-missing --sourcedir=debian/tmp
+ifeq (,$(filter stage1 stage2 noudeb,$(DEB_BUILD_PROFILES)))
+ mkdir -p debian/hurd-udeb/usr/share/lintian/overrides
+ install -p -m644 debian/hurd-udeb.lintian-overrides debian/hurd-udeb/usr/share/lintian/overrides/hurd-udeb
+endif
override_dh_installinit:
dh_installinit -phurd --name=hurd-console
@@ -82,20 +145,29 @@ override_dh_installchangelogs:
dh_installchangelogs -XChangeLog
override_dh_strip:
+ifeq (,$(filter stage1 stage2,$(DEB_BUILD_PROFILES)))
dh_strip -phurd-libs0.3 -phurd --dbg-package=hurd-dbg
+endif
dh_strip --remaining-packages
override_dh_fixperms:
dh_fixperms
+ifeq (,$(filter stage1 stage2,$(DEB_BUILD_PROFILES)))
chmod u+s $(patsubst %,$(CURDIR)/debian/hurd%,$(SUID_PROGRAMS))
+endif
override_dh_makeshlibs:
- dh_makeshlibs -phurd-libs0.3
+ dh_makeshlibs -phurd-libs0.3 --add-udeb=hurd-libs0.3-udeb
dh_makeshlibs --remaining-packages -Xusr/lib/hurd/
+override_dh_gencontrol:
+ dh_gencontrol -- -V"built-using=$(BUILT_USING)"
+
override_dh_clean:
dh_clean
+ rm -rf debian/tmp-udeb
debian/%.install: debian/%.install.in
cat $^ | sed -e 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' > $@
+ [ ! -x $< ] || chmod +x $@