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
|
#!/usr/bin/make -f
ifeq (,$(filter terse,${DEB_BUILD_OPTIONS}))
export DH_VERBOSE=1
export V=1
export VERBOSE=1
endif
LC_ALL:=C
export LC_ALL
shellescape='$(subst ','\'',$(1))'
shellexport=$(1)=$(call shellescape,${$(1)})
DEB_HOST_GNU_CPU ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
MUSL=$(DEB_HOST_GNU_CPU)-linux-musl
ifneq (,$(filter armel,$(DEB_HOST_ARCH)))
MUSL=arm-linux-musleabi
endif
ifneq (,$(filter armhf,$(DEB_HOST_ARCH)))
MUSL=arm-linux-musleabihf
endif
ifeq ($(DEB_HOST_ARCH_CPU),i386)
MUSL=i386-linux-musl
endif
ifeq ($(DEB_HOST_ARCH_CPU),sh4)
MUSL=sh-linux-musl
endif
FALLBACK=$(call shellescape,$(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null || dpkg-architecture -qDEB_HOST_GNU_TYPE))
%:
dh $@ --buildsystem=none
execute_before_dh_auto_clean:
-rm -rf builddir
-rm -f debian/*~ debian/mksh.copyright
-rm -f t.* xmusl.spec
override_dh_auto_build:
exec sh debian/meat
execute_before_dh_install:
cat builddir/substvars >>debian/mksh.substvars
extract_categories:=sed --posix -n '/^set -A check_categories -- */{s//cat=/;s/ */ /g;y/ /,/;p;q;}'
execute_after_dh_install:
mkdir -p debian/mksh/usr/share/doc/mksh
{ \
${extract_categories} builddir/full/test.sh; \
echo shell=/bin/mksh; \
echo skip=0; \
} >debian/mksh/usr/share/doc/mksh/testdata.full
{ \
${extract_categories} builddir/legacy/test.sh; \
echo shell=/bin/lksh; \
echo skip=0; \
} >debian/mksh/usr/share/doc/mksh/testdata.legacy
if test -e builddir/static-klibc/mksh; then \
{ \
${extract_categories} builddir/static-klibc/test.sh; \
echo shell=/usr/lib/klibc/bin/mksh; \
echo skip=$$( \
test -x builddir/static-klibc/mksh; \
echo $$? \
); \
} >debian/mksh/usr/share/doc/mksh/testdata.static-klibc; \
mkdir -p debian/mksh/usr/lib/klibc/bin && \
cp builddir/static-klibc/mksh debian/mksh/usr/lib/klibc/bin/; \
fi
if test -e builddir/static-dietlibc/mksh; then \
{ \
${extract_categories} builddir/static-dietlibc/test.sh; \
echo shell=/usr/lib/diet/bin/mksh; \
echo skip=$$( \
test -x builddir/static-dietlibc/mksh; \
echo $$? \
); \
} >debian/mksh/usr/share/doc/mksh/testdata.static-dietlibc; \
mkdir -p debian/mksh/usr/lib/diet/bin && \
cp builddir/static-dietlibc/mksh debian/mksh/usr/lib/diet/bin/; \
fi
if test -e builddir/static-musl/mksh; then \
{ \
${extract_categories} builddir/static-musl/test.sh; \
echo shell=/usr/lib/${MUSL}/bin/mksh; \
echo skip=$$( \
test -x builddir/static-musl/mksh; \
echo $$? \
); \
} >debian/mksh/usr/share/doc/mksh/testdata.static-musl; \
mkdir -p debian/mksh/usr/lib/${MUSL}/bin && \
cp builddir/static-musl/mksh debian/mksh/usr/lib/${MUSL}/bin/; \
fi
case $$(cat builddir/which_static) in \
(klibc) ln -sf /usr/lib/klibc/bin/mksh debian/mksh/bin/mksh-static ;; \
(diet*) ln -sf /usr/lib/diet/bin/mksh debian/mksh/bin/mksh-static ;; \
(musl) ln -sf /usr/lib/${MUSL}/bin/mksh debian/mksh/bin/mksh-static ;; \
(glibc) { \
${extract_categories} builddir/static-glibc/test.sh; \
echo shell=/usr/lib/${FALLBACK}/bin/mksh; \
echo skip=0; \
} >debian/mksh/usr/share/doc/mksh/testdata.static-glibc; \
mkdir -p debian/mksh/usr/lib/${FALLBACK}/bin; \
cp builddir/static-glibc/mksh debian/mksh/usr/lib/${FALLBACK}/bin/; \
ln -sf /usr/lib/${FALLBACK}/bin/mksh debian/mksh/bin/mksh-static ;; \
(*) echo cannot happen; exit 1 ;; \
esac
{ \
${extract_categories} builddir/asan/test.sh; \
echo shell=/usr/lib/${FALLBACK}/bin/mksh-g; \
echo skip=$$( \
test -x builddir/asan/mksh; \
echo $$? \
); \
cat builddir/asan/asanopts.inc; \
} >debian/mksh/usr/share/doc/mksh/testdata.asan
mkdir -p debian/mksh/usr/lib/${FALLBACK}/bin
cp builddir/asan/mksh debian/mksh/usr/lib/${FALLBACK}/bin/mksh-g
test -x debian/mksh/$$(readlink debian/mksh/bin/mksh-static)
test -x debian/mksh/bin/mksh
test -x debian/mksh/bin/lksh
cp -a builddir/dot.mkshrc debian/mksh/etc/mkshrc
execute_after_dh_installdocs-arch:
# we install this already, except with more information
rm -f debian/mksh/usr/share/doc/mksh/README.Debian
cp builddir/README.Debian.gz debian/mksh/usr/share/doc/mksh/
override_dh_shlibdeps:
dh_shlibdeps -Xmksh-g -- \
-dSuggests debian/mksh/usr/lib/*/bin/mksh-g \
-dDepends
execute_before_dh_installdeb:
if command -v dh_movetousr >/dev/null 2>&1; then dh_movetousr; fi
execute_after_dh_builddeb-arch:
#-
cat builddir/loglibc.txt
gzip -d <builddir/README.Debian.gz | sed --posix \
-e '1,/^Details/d' -e '/^Actual/d' -e '/^]/d'
|