5 export DEB_BUILD_MAINT_OPTIONS ?
= hardening
=+all
7 DPKG_EXPORT_BUILDFLAGS
= 1
8 include /usr
/share
/dpkg
/default.mk
13 ifeq ($(DEB_HOST_ARCH_OS
), hurd
)
17 ifneq ($(filter pkg.e2fsprogs.no-fuse2fs
,$(DEB_BUILD_PROFILES
)),)
21 COMERR_VERSION ?
= $(shell grep ELF_VERSION lib
/et
/Makefile.in | cut
'-d ' -f3
)
22 SS_VERSION ?
= $(shell grep ELF_VERSION lib
/ss
/Makefile.in | cut
'-d ' -f3
)
24 topdir ?
= $(shell pwd
)
25 tmpdir ?
= ${topdir}/debian
/tmp
26 udebdir ?
= ${topdir}/debian
/e2fsprogs-udeb
27 stdbuilddir ?
= ${topdir}/debian
/BUILD-STD
30 INSTALL_PROGRAM ?
= $(INSTALL
) -p
-o root
-g root
-m
0755
32 ifneq (,$(findstring update-symbols
,$(DEB_BUILD_OPTIONS
)))
33 SYMBOL_LIBS
:= libext2fs libcomerr2 libss2
36 ifeq (${DEB_HOST_ARCH},alpha
)
37 CFLAGS
+= -DHAVE_NETINET_IN_H
39 CFLAGS
+= -D__NO_STRING_INLINES
42 CFLAGS_SHLIB
= $(CFLAGS
)
43 CFLAGS_STLIB
= $(CFLAGS
)
44 LDFLAGS_SHLIB
= $(LDFLAGS
)
45 LDFLAGS_STATIC
= $(filter-out -fPIE
-fpie
-pie
,$(LDFLAGS
))
47 BACKTRACE_CONF_FLAGS ?
= $(shell if debian
/scripts
/test-backtrace
; then echo
--disable-backtrace
; fi
)
49 COMMON_CONF_FLAGS
= --enable-elf-shlibs
--enable-lto
--disable-ubsan \
50 --disable-addrsan
--disable-threadsan
--disable-e2initrd-helper \
51 --disable-fsck
--disable-libblkid
--disable-libuuid
--disable-uuidd \
52 --infodir=/usr
/share
/info --enable-symlink-install \
53 --with-multiarch
=$(DEB_HOST_MULTIARCH
) \
54 $(BACKTRACE_CONF_FLAGS
) ${EXTRA_CONF_FLAGS}
56 ifneq ($(SKIP_FUSE2FS
),)
57 COMMON_CONF_FLAGS
+= --disable-fuse2fs
60 ifneq ($(DEB_BUILD_GNU_TYPE
),$(DEB_HOST_GNU_TYPE
))
61 CC ?
= $(DEB_HOST_GNU_TYPE
)-gcc
62 COMMON_CONF_FLAGS
+= --build
=$(DEB_BUILD_GNU_TYPE
) --host
=$(DEB_HOST_GNU_TYPE
)
66 dh
$@
-B
${stdbuilddir}
68 override_dh_autoreconf
:
70 override_dh_auto_configure
:
71 mkdir
-p
${stdbuilddir}
72 cd
${stdbuilddir} && AWK
=/usr
/bin
/awk \
73 ..
/..
/configure
${COMMON_CONF_FLAGS}
75 override_dh_auto_build
:
76 $(MAKE
) -C
${stdbuilddir} V
=1 all
77 $(MAKE
) -C
${stdbuilddir}/e2fsck V
=1 e2fsck.static
78 if
! test -d debian
/orig-gmo
; then \
79 mkdir debian
/orig-gmo
; \
80 mv po
/*.gmo po
/*.po debian
/orig-gmo
; \
81 cp debian
/orig-gmo
/*.po po
; \
83 $(MAKE
) -C
${stdbuilddir}/po V
=1 update-gmo
85 $(MAKE
) -C
${stdbuilddir}/doc V
=1 libext2fs.html
86 $(MAKE
) -C
${stdbuilddir}/lib
/et V
=1 com_err.
info com_err.html
87 cat
$(shell /bin
/ls
-1 .
/doc
/RelNotes
/*.txt | tac
) | \
88 gzip
-9n
> ${stdbuilddir}/NEWS.gz
90 override_dh_auto_clean
:
91 if
test -d debian
/orig-gmo
; then \
92 rm -f po
/*.gmo po
/*.po
; \
93 mv debian
/orig-gmo
/* po
; \
94 rmdir debian
/orig-gmo
; \
98 override_dh_auto_install
:
99 mkdir
-p
${tmpdir}/sbin
100 $(MAKE
) -C
${stdbuilddir} V
=1 install DESTDIR
=${tmpdir} \
101 INSTALL_PROGRAM
="${INSTALL_PROGRAM}" LDCONFIG
=true
102 # static libs and .h files
103 $(MAKE
) -C
${stdbuilddir} V
=1 install-libs DESTDIR
=${tmpdir} LDCONFIG
=true
105 # statically-linked fsck
106 ${INSTALL_PROGRAM} ${stdbuilddir}/e2fsck
/e2fsck.static
${tmpdir}/sbin
107 (cd debian
/tmp
/usr
/share
/man
/man8
; cp e2fsck
.8 e2fsck.static
.8)
109 ifeq ($(DEB_HOST_ARCH_OS
), hurd
)
110 ${INSTALL} -m
0644 misc
/mke2fs-hurd.conf
${tmpdir}/etc
/mke2fs.conf
113 # install for e2fsprogs-udeb
114 $(MAKE
) -C
${stdbuilddir} V
=1 install-shlibs-libs-recursive DESTDIR
=${udebdir} \
115 INSTALL_PROGRAM
="${INSTALL_PROGRAM}" LDCONFIG
=true
116 $(MAKE
) -C
${stdbuilddir}/e2fsck V
=1 install DESTDIR
=${udebdir} \
117 INSTALL_PROGRAM
="${INSTALL_PROGRAM}" LDCONFIG
=true
118 $(MAKE
) -C
${stdbuilddir}/misc V
=1 install DESTDIR
=${udebdir} \
119 INSTALL_PROGRAM
="${INSTALL_PROGRAM}" LDCONFIG
=true
120 $(MAKE
) -C
${stdbuilddir}/resize V
=1 install DESTDIR
=${udebdir} \
121 INSTALL_PROGRAM
="${INSTALL_PROGRAM}" LDCONFIG
=true
123 rm -rf
${udebdir}/usr
124 find
${udebdir}/sbin
-type f
-a
! -name e2fsck \
125 -a
! -name mke2fs
-a
! -name tune2fs \
126 -a
! -name resize2fs
-a
! -name badblocks
-print | xargs
rm
128 (cd
${udebdir}/sbin
; ln
-sf e2fsck fsck.ext2
; \
129 ln
-sf e2fsck fsck.ext3
; ln
-sf e2fsck fsck.ext4
; \
130 ln
-sf mke2fs mkfs.ext2
; ln
-sf mke2fs mkfs.ext3
; \
131 ln
-sf mke2fs mkfs.ext4
)
134 dh_install
-p e2fsprogs
--sourcedir
=${stdbuilddir} NEWS.gz \
135 usr
/share
/doc
/e2fsprogs
137 test -z
"`find ${tmpdir} -type f`"
141 $(INSTALL
) -D
-p
-m644 debian
/e2fsprogs-udeb.lintian-overrides \
142 debian
/e2fsprogs-udeb
/usr
/share
/lintian
/overrides
/e2fsprogs-udeb
144 override_dh_installinfo
:
146 $(INSTALL
) -d debian
/libext2fs-dev
/usr
/share
/doc
/libext2fs2
/html-info
/
147 $(INSTALL
) -p
-m
0644 ${stdbuilddir}/doc
/*.html \
148 debian
/libext2fs-dev
/usr
/share
/doc
/libext2fs2
/html-info
/
149 $(INSTALL
) -d debian
/comerr-dev
/usr
/share
/doc
/comerr-dev
/html-info
/
150 $(INSTALL
) -p
-m
0644 ${stdbuilddir}/lib
/et
/*.html \
151 debian
/comerr-dev
/usr
/share
/doc
/comerr-dev
/html-info
/
154 mkdir
-p debian
/comerr-dev
/usr
/share
/doc
/comerr-dev
155 $(INSTALL
) -p
-m
0644 ${topdir}/doc
/libext2fs.texinfo \
156 debian
/libext2fs-dev
/usr
/share
/doc
/libext2fs2
/libext2fs.texi
157 $(INSTALL
) -p
-m
0644 ${topdir}/lib
/et
/com_err.texinfo \
158 debian
/comerr-dev
/usr
/share
/doc
/comerr-dev
/com_err.texi
160 $(INSTALL
) -d debian
/comerr-dev
/usr
/share
/doc
/comerr-dev
/examples
161 $(INSTALL
) -p
-m
0644 lib
/ss
/ss_err.et \
162 ${stdbuilddir}/lib
/ext2fs
/ext2_err.et \
163 debian
/comerr-dev
/usr
/share
/doc
/comerr-dev
/examples
164 $(INSTALL
) -d debian
/ss-dev
/usr
/share
/doc
/ss-dev
/examples
165 $(INSTALL
) -p
-m
0644 debugfs
/debug_cmds.ct \
166 debian
/ss-dev
/usr
/share
/doc
/ss-dev
/examples
168 dh_installinfo
-pcomerr-dev
${stdbuilddir}/lib
/et
/com_err.
info
169 dh_installinfo
-plibext2fs-dev
${stdbuilddir}/doc
/libext2fs.
info
171 override_dh_makeshlibs
:
172 for i in
$(SYMBOL_LIBS
); \
174 echo
"Generating symbols for $$i..."; \
175 dpkg-gensymbols
-p
$$i -Pdebian
/$$i > debian
/$$i.tmp-patch
; \
176 cat debian
/$$i.tmp-patch
; \
177 patch debian
/$$i.symbols
< debian
/$$i.tmp-patch
; \
178 /bin
/rm debian
/$$i.tmp-patch
; \
180 dh_makeshlibs
--add-udeb
=e2fsprogs-udeb
182 override_dh_shlibdeps
:
183 dh_shlibdeps
-pe2fsprogs
-l
${stdbuilddir}/lib \
184 -- -Ldebian
/e2fsprogs.shlibs.local
185 dh_shlibdeps
-pe2fsprogs-udeb
-l
${stdbuilddir}/lib \
186 -- -Ldebian
/e2fsprogs-udeb.shlibs.local
187 ifeq ($(SKIP_FUSE2FS
),)
188 dh_shlibdeps
-pfuse2fs
-l
${stdbuilddir}/lib \
189 -- -Ldebian
/e2fsprogs.shlibs.local
191 dh_shlibdeps
--remaining-packages
-l
${stdbuilddir}/lib
193 override_dh_gencontrol
:
194 dh_gencontrol
-pcomerr-dev \
195 -- -v
${COMERR_VERSION}-${DEB_VERSION} -VmainBinary
=${DEB_VERSION}
196 dh_gencontrol
-pss-dev \
197 -- -v
${SS_VERSION}-${DEB_VERSION} -VmainBinary
=${DEB_VERSION}
198 dh_gencontrol
--remaining-packages