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 174 175 176 177 178 179 180 181 182 183 184 185
|
#!/usr/bin/make -f
SHELL=/bin/bash
SHAREDIR=/usr/share
CFLAGS="-O2 -Wall"
package=zsh-beta
CONFIGFLAGS=--prefix=/usr --program-suffix=-beta --mandir=${SHAREDIR}/man --infodir=${SHAREDIR}/info --enable-maildir-support --enable-max-jobtable-size=256 --enable-etcdir=/etc/${package} --enable-function-subdirs --enable-site-fndir=/usr/local/share/${package}/site-functions --with-curses-terminfo # --enable-fndir=/usr/share/${package}/functions
STATICFLAGS=--disable-dynamic --enable-ldflags=-static
ifneq (,$(findstring $(DEB_BUILD_OPTIONS),debug))
CFLAGS += -g
CONFIGFLAGS += --enable-zsh-debug --enable-zsh-mem-debug --enable-zsh-mem-warning --enable-zsh-secure-free --enable-zsh-hash-debug
else
INSTALL_FLAGS=-s
endif
export DH_OPTIONS
build: stamp-configure
$(checkdir)
touch stamp-h.in
cd obj && make
touch build
build-static: stamp-configure-static
$(checkdir)
cd obj-static && make
touch build-static
build-debug: DEB_BUILD_OPTIONS+=debug
build-debug: build
stamp-configure:
$(checkdir)
mkdir obj
cd obj && ../configure ${CONFIGFLAGS}
touch stamp-configure
stamp-configure-static:
$(checkdir)
mkdir obj-static
cd obj-static && ../configure ${CONFIGFLAGS} ${STATICFLAGS}
cp debian/static.conf obj-static/Src/mymods.conf
touch stamp-configure-static
clean:
$(checkdir)
-rm -f build build-static
-cd obj && make distclean
-cd obj-static && make distclean
-rm -f `find . -name "*~"`
-rm -rf debian/tmp debian/tmp-doc debian/tmp-static debian/files* core debian/substvars stamp-configure stamp-configure-static config.cache obj obj-static
binary-indep: checkroot build
$(checkdir)
-rm -rf debian/tmp-doc
install -d debian/tmp-doc
cd debian/tmp-doc && install -d `cat ../doc.dirs` DEBIAN
-cd obj && make install.info DESTDIR=`pwd`/../debian/tmp-doc
gzip -9frq debian/tmp-doc${SHAREDIR}/info/*
cd obj && make install.html DESTDIR=`pwd`/../debian/tmp-doc htmldir=${SHAREDIR}/doc/${package}-doc/html
install -m 755 debian/doc.prerm debian/tmp-doc/DEBIAN/prerm
install -m 755 debian/doc.preinst debian/tmp-doc/DEBIAN/preinst
install -m 755 debian/doc.postinst debian/tmp-doc/DEBIAN/postinst
install -m 644 debian/copyright debian/tmp-doc/usr/share/doc/${package}-doc/copyright
install -o root -g root -p -m644 debian/changelog debian/tmp-doc/usr/share/doc/${package}-doc/changelog.Debian
gzip -9frq debian/tmp-doc/usr/share/doc/${package}-doc/changelog.Debian
install -p -m 644 debian/${package}.doc-base debian/tmp-doc/usr/share/doc-base/${package}
dpkg-gencontrol -isp -p${package}-doc -Pdebian/tmp-doc
chown -R root.root debian/tmp-doc
chmod -R go=rX debian/tmp-doc
dpkg --build debian/tmp-doc ..
binary-arch: checkroot build
$(checkdir)
-rm -rf debian/tmp
install -d debian/tmp
cd debian/tmp && install -d `cat ../dirs` DEBIAN
cd obj && make install.man DESTDIR=`pwd`/../debian/tmp
# man -l -7 Doc/zshbuiltins.1 | colcrt - | sed -e 's//{+|-}/' | ( \
nroff -mandoc -Tascii Doc/zshbuiltins.1 | colcrt - | sed -e 's//{+|-}/' | ( \
cd debian/tmp${SHAREDIR}/${package}/help && perl ../../../../../../Util/helpfiles )
perl -pi -e \
's/zsh(misc|expn|param|options|builtins|zle|compwid|compsys|compctl|modules|ftpsys)/zsh-beta$1/g' \
debian/tmp/usr/share/man/man1/*.1
# functions
install -m 644 Misc/* debian/tmp${SHAREDIR}/doc/${package}/examples/Misc/.
perl -pi -e 's,#! */bin/zsh,#!/usr/bin/zsh,;s#/usr/local/bin#/usr/bin#;s#/usr/bin/zsh#/usr/bin/zsh-beta#' debian/tmp${SHAREDIR}/doc/${package}/examples/Misc/*
install -m 644 StartupFiles/* debian/tmp${SHAREDIR}/doc/${package}/examples/StartupFiles/.
install -m 644 Util/* debian/tmp${SHAREDIR}/doc/${package}/examples/Util/.
install -m 644 debian/compctl.dpkg debian/jhm.zshrc debian/ssh_completion debian/tmp${SHAREDIR}/doc/${package}/examples/.
cd obj && make install.bin DESTDIR=`pwd`/../debian/tmp STRIPFLAGS=${INSTALL_FLAGS}
cd obj && make install.modules DESTDIR=`pwd`/../debian/tmp STRIPFLAGS=${INSTALL_FLAGS}
cd obj && make install.fns DESTDIR=`pwd`/../debian/tmp
rm -r debian/tmp/usr/local
install -m 644 debian/{zlogin,zlogout,zprofile,zshenv,zshrc} debian/tmp/etc/${package}/.
install -m 755 debian/run-help debian/tmp${SHAREDIR}/${package}/*/functions/.
perl -pi -e 's,#! */bin/zsh,#!/usr/bin/zsh,;s#/usr/local/bin#/usr/bin#;s#/usr/bin/zsh#/usr/bin/zsh-beta#' `find debian/tmp/usr/share/${package}/*/functions -type f`
chmod 755 debian/tmp/usr/share/${package}/*/functions/Misc/{checkmail,harden,run-help,zkbd,zcalc}
cp -a ChangeLog.3.0 ChangeLog-3.1 README META-FAQ Doc/zsh.texi Etc/BUGS Etc/CONTRIBUTORS Etc/FAQ Etc/FEATURES Etc/FTP-README Etc/MACHINES Etc/NEWS Etc/completion-style-guide Etc/zsh-development-guide Functions/README.zftp debian/tmp${SHAREDIR}/doc/${package}/
cp -a ChangeLog debian/tmp${SHAREDIR}/doc/${package}/changelog
chmod -R u+rw,go=rX debian/tmp${SHAREDIR}/doc
install -m 644 -p debian/copyright debian/tmp${SHAREDIR}/doc/${package}/copyright
install -o root -g root -p -m644 debian/changelog debian/tmp${SHAREDIR}/doc/${package}/changelog.Debian
install -o root -g root -p -m644 debian/README.Debian debian/tmp${SHAREDIR}/doc/${package}/README.Debian
install -p -m644 debian/menu debian/tmp/usr/lib/menu/${package}
chmod 644 `find debian/tmp/usr/share/man -type f` `find debian/tmp/usr/share/doc -type f`
gzip -9f `find debian/tmp/usr/share/man -type f` `find debian/tmp/usr/share/doc -type f ! -name "copyright"`
dpkg-shlibdeps -Tdebian/substvars -dDepends debian/tmp/usr/lib/${package}/*/zsh/*.so debian/tmp/usr/bin/*
dpkg-gencontrol -ldebian/changelog -isp -p${package} -Tdebian/substvars -Pdebian/tmp
install -p -m755 debian/postinst debian/tmp/DEBIAN/postinst
install -p -m755 debian/prerm debian/tmp/DEBIAN/prerm
install -p -m755 debian/postrm debian/tmp/DEBIAN/postrm
install -p -m644 debian/conffiles debian/tmp/DEBIAN/conffiles
cd debian/tmp && find * -type f ! -path "etc/zlogin" ! -path "etc/zlogout" ! -path "etc/zprofile" ! -path "etc/zshenv" ! -path "etc/zshrc" ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums
chown -R root.root debian/tmp
chmod -R go=rX debian/tmp
dpkg --build debian/tmp ..
# dpkg-gencontrol -isp
# chown -R root.root debian/tmp
# chmod -R go=rX debian/tmp
# dpkg --build debian/tmp ..
define checkdir
test -f debian/rules
endef
binary-arch-static: checkroot build-static
$(checkdir)
-rm -rf debian/tmp-static
install -d debian/tmp-static
cd debian/tmp-static && install -d `cat ../static.dirs` DEBIAN
install -m 644 debian/lintianoverrides debian/tmp-static/usr/share/lintian/overrides/${package}-static
install -m 755 debian/static.prerm debian/tmp-static/DEBIAN/prerm
install -m 755 debian/static.postinst debian/tmp-static/DEBIAN/postinst
install -o root -g root -p -m644 debian/changelog debian/tmp-static${SHAREDIR}/doc/${package}-static/changelog.Debian
awk 'BEGIN { print "The following modules are statically-compiled into the static zsh-beta binary:\n"; } /link=static/ { printf "%s (%s %s)\n", substr($$1,6), $$4, $$5; }' obj-static/config.modules >debian/tmp-static${SHAREDIR}/doc/${package}-static/README.Debian
install -m 644 -p debian/copyright debian/tmp-static${SHAREDIR}/doc/${package}-static/copyright
install -s obj-static/Src/zsh debian/tmp-static/bin/zsh4-static
gzip -9f debian/tmp-static/usr/share/doc/${package}-static/changelog.Debian
cd debian/tmp-static && find * -type f ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums
dpkg-gencontrol -ldebian/changelog -isp -p${package}-static -Tdebian/${package}-static.substvars -Pdebian/tmp-static
chown -R root.root debian/tmp-static
chmod -R go=rX debian/tmp-static
dpkg --build debian/tmp-static ..
# Below here is fairly generic really
binary: binary-indep binary-arch
checkroot:
$(checkdir)
test root = "`whoami`"
.PHONY: binary binary-arch binary-indep clean checkroot binary-arch-static
|