1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
|
#!/usr/bin/make -f
# -*- mode: makefile; coding: utf-8 -*-
# Copyright © 2003 Jeff Bailey <jbailey@debian.org>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2, or (at
# your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
# 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)
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 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
rm -fr libdde-linux26/lib/src/gen_crc32table libdde-linux26/lib/src/crc32table.h libdde-linux26/lib/src/timeconst.h
rm -f $(INSTALL_generated)
override_dh_auto_install:
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
mv debian/tmp/lib/hurd/runsystem debian/tmp/lib/hurd/runsystem.gnu
# move away fakeroot, ps, uptime, vmstat and w to not conflict with the
# ones from other packages
mkdir -p debian/tmp/usr/bin
mv debian/tmp/bin/fakeroot debian/tmp/usr/bin/fakeroot-hurd
mv debian/tmp/bin/ps debian/tmp/bin/ps-hurd
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)
mv debian/tmp/sbin/halt debian/tmp/sbin/halt-hurd
mv debian/tmp/sbin/reboot debian/tmp/sbin/reboot-hurd
# 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
dh_installinit --remaining-packages
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 --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 $@
|