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 186 187 188 189 190 191 192 193 194 195 196
|
#!/usr/bin/make -f
CFLAGS = -g -Wall
INSTALL = install
INSTALL_FILE = $(INSTALL) -p -o root -g root -m 644
INSTALL_PROGRAM = $(INSTALL) -p -o root -g root -m 755
INSTALL_SCRIPT = $(INSTALL) -p -o root -g root -m 755
INSTALL_DIR = $(INSTALL) -p -d -o root -g root -m 755
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
CXXFLAGS += -O0
else
CFLAGS += -O2
CXXFLAGS += -O2
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
INSTALL_PROGRAM += -s
endif
SHELL=/bin/bash
SHAREDIR=/usr/share
CONFIGFLAGS=--prefix=/usr --mandir=${SHAREDIR}/man --infodir=${SHAREDIR}/info --enable-maildir-support --enable-etcdir=/etc/zsh30 --enable-fndir=/usr/share/zsh30/functions
ifneq (,$(findstring $(DEB_BUILD_OPTIONS),debug))
CONFIGFLAGS += --enable-zsh-debug --enable-zsh-mem-debug --enable-zsh-mem-warning --enable-zsh-secure-free --enable-zsh-hash-debug
endif
package=zsh30
build: stamp-configure
$(checkdir)
make
touch build
build-static: stamp-configure
$(checkdir)
-rm -f Src/zsh
make LDFLAGS="-static"
mv Src/zsh Src/zsh-static
touch build-static
build-debug: DEB_BUILD_OPTIONS+=debug
build-debug: build
stamp-configure:
$(checkdir)
CFLAGS="$(CFLAGS)" ./configure ${CONFIGFLAGS}
touch stamp-configure
clean:
$(checkdir)
-rm -f build build-static config.cache
-make distclean
-rm -f `find . -name "*~"`
-rm -rf debian/tmp debian/tmp-doc debian/files* core debian/*substvars stamp-configure debian/zsh30-static Src/zsh-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
-make install.info prefix=`pwd`/debian/tmp-doc/usr infodir=`pwd`/debian/tmp-doc/usr/share/info
gzip -9frq debian/tmp-doc${SHAREDIR}/info/zsh30*
$(INSTALL_SCRIPT) debian/doc.prerm debian/tmp-doc/DEBIAN/prerm
$(INSTALL_SCRIPT) debian/doc.postinst debian/tmp-doc/DEBIAN/postinst
$(INSTALL_FILE) debian/copyright debian/tmp-doc/usr/share/doc/zsh30-doc/copyright
$(INSTALL_FILE) debian/changelog debian/tmp-doc/usr/share/doc/zsh30-doc/changelog.Debian
gzip -9frq debian/tmp-doc/usr/share/doc/zsh30-doc/changelog.Debian
$(INSTALL_FILE) debian/zsh30.doc-base debian/tmp-doc/usr/share/doc-base/zsh30
dpkg-gencontrol -pzsh30-doc -Pdebian/tmp-doc -isp
chown -R root.root debian/tmp-doc
chmod -R go=rX debian/tmp-doc
dpkg --build debian/tmp-doc ..
binary-arch: checkroot build-static build
$(checkdir)
-rm -rf debian/tmp
install -d debian/tmp
cd debian/tmp && install -d `cat ../dirs`
$(INSTALL_DIR) debian/zsh30-static/bin debian/zsh30-static/usr/share/man/man1 debian/zsh30-static/DEBIAN debian/zsh30-static/usr/share/doc/zsh30-static debian/zsh30-static/usr/share/lintian/overrides
install -s Src/zsh-static debian/zsh30-static/bin/zsh30-static
ln -s zsh30.1.gz debian/zsh30-static/usr/share/man/man1/zsh30-static.1.gz
$(INSTALL_SCRIPT) debian/static.prerm debian/zsh30-static/DEBIAN/prerm
$(INSTALL_SCRIPT) debian/static.postinst debian/zsh30-static/DEBIAN/postinst
$(INSTALL_FILE) debian/copyright debian/zsh30-static${SHAREDIR}/doc/zsh30-static/copyright
$(INSTALL_FILE) debian/changelog debian/zsh30-static/usr/share/doc/zsh30-static/changelog.Debian
make install.man prefix=`pwd`/debian/tmp/usr mandir=`pwd`/debian/tmp/usr/share/man
gzip -9frq debian/tmp${SHAREDIR}/man/*
# man -l -7 Doc/zshbuiltins.1 | colcrt - | sed -e 's//{+|-}/' | ( \
nroff -mandoc -Tascii Doc/zshbuiltins.1 | colcrt - | sed -e 's//{+|-}/' | ( \
cd debian/tmp${SHAREDIR}/zsh30/help && perl ../../../../../../Util/helpfiles )
# functions
install -m 644 Misc/* debian/tmp${SHAREDIR}/doc/zsh30/examples/Misc/.
perl -pi -e 's#/usr/local/bin#/usr/bin#' debian/tmp${SHAREDIR}/doc/zsh30/examples/Misc/*
install -m 644 StartupFiles/* debian/tmp${SHAREDIR}/doc/zsh30/examples/StartupFiles/.
install -m 644 Util/* debian/tmp${SHAREDIR}/doc/zsh30/examples/Util/.
install -m 644 debian/compctl.dpkg debian/tmp${SHAREDIR}/doc/zsh30/examples/.
make install.bin prefix=`pwd`/debian/tmp/usr STRIPFLAGS=${INSTALL_FLAGS}
mv debian/tmp/usr/bin/zsh debian/tmp/usr/bin/zsh30
install -m 644 debian/{zlogin,zlogout,zprofile,zshenv,zshrc} debian/tmp/etc/zsh30/.
install -m 755 debian/run-help debian/tmp${SHAREDIR}/zsh30/functions/.
perl -pi -e 's#/usr/local/bin#/usr/bin#' debian/tmp/usr/share/zsh30/functions/*
# chmod 755 debian/tmp/usr/share/zsh30/functions/{acx,cat,checkmail,cx,harden,mere,proto,yp,yu,zless}
cp -a README META-FAQ Doc/zsh.texi Etc/BUGS Etc/CONTRIBUTORS Etc/FAQ Etc/FEATURES Etc/MACHINES Etc/NEWS debian/tmp${SHAREDIR}/doc/zsh30/
cp -a ChangeLog debian/tmp${SHAREDIR}/doc/zsh30/changelog
chmod -R u+rw,go=rX debian/tmp${SHAREDIR}/doc
install -m 644 -p debian/copyright debian/tmp${SHAREDIR}/doc/zsh30/copyright
$(INSTALL_FILE) debian/changelog debian/tmp${SHAREDIR}/doc/zsh30/changelog.Debian
# install -o root -g root -p -m644 debian/README.Debian debian/tmp${SHAREDIR}/doc/zsh30/README.Debian
install -p -m644 debian/menu debian/tmp/usr/share/menu/zsh30
install -p -m644 debian/lintianoverrides debian/zsh30-static/usr/share/lintian/overrides/zsh30-static
rm debian/tmp/usr/bin/zsh-3.0*
strip --strip-unneeded --remove-section .note --remove-section .comment debian/tmp/usr/bin/zsh*
chmod a-x debian/tmp/usr/share/doc/zsh30/examples/Misc/compctl-examples \
debian/tmp/usr/share/doc/zsh30/examples/Misc/lete2ctl \
debian/tmp/usr/share/doc/zsh30/examples/Util/helpfiles \
debian/tmp/usr/share/doc/zsh30/examples/Util/reporter \
debian/tmp/usr/share/doc/zsh30/README \
debian/tmp/usr/share/doc/zsh30/META-FAQ \
debian/tmp/usr/share/doc/zsh30/zsh.texi \
debian/tmp/usr/share/doc/zsh30/CONTRIBUTORS \
debian/tmp/usr/share/doc/zsh30/FAQ \
debian/tmp/usr/share/doc/zsh30/MACHINES \
debian/tmp/usr/share/doc/zsh30/NEWS \
debian/tmp/usr/share/doc/zsh30/changelog \
debian/tmp/usr/share/doc/zsh30/changelog.Debian \
debian/zsh30-static/usr/share/doc/zsh30-static/changelog.Debian
gzip -9f debian/tmp/usr/share/doc/zsh30/examples/Misc/compctl-examples \
debian/tmp/usr/share/doc/zsh30/examples/Misc/lete2ctl \
debian/tmp/usr/share/doc/zsh30/examples/Util/helpfiles \
debian/tmp/usr/share/doc/zsh30/examples/Util/reporter \
debian/tmp/usr/share/doc/zsh30/README \
debian/tmp/usr/share/doc/zsh30/META-FAQ \
debian/tmp/usr/share/doc/zsh30/zsh.texi \
debian/tmp/usr/share/doc/zsh30/CONTRIBUTORS \
debian/tmp/usr/share/doc/zsh30/FAQ \
debian/tmp/usr/share/doc/zsh30/MACHINES \
debian/tmp/usr/share/doc/zsh30/NEWS \
debian/tmp/usr/share/doc/zsh30/changelog \
debian/tmp/usr/share/doc/zsh30/changelog.Debian \
debian/zsh30-static/usr/share/doc/zsh30-static/changelog.Debian
dpkg-shlibdeps -Tdebian/substvars debian/tmp/usr/bin/zsh30
$(INSTALL_DIR) debian/tmp/DEBIAN
dpkg-gencontrol -pzsh30 -ldebian/changelog -isp -Tdebian/substvars -Pdebian/tmp
dpkg-gencontrol -pzsh30-static -ldebian/changelog -isp -Tdebian/zsh30-static.substvars -Pdebian/zsh30-static
$(INSTALL_SCRIPT) debian/postinst debian/tmp/DEBIAN/postinst
$(INSTALL_SCRIPT) debian/prerm debian/tmp/DEBIAN/prerm
$(INSTALL_SCRIPT) debian/postrm debian/tmp/DEBIAN/postrm
$(INSTALL_FILE) debian/conffiles debian/tmp/DEBIAN/conffiles
cd debian/tmp >/dev/null ; find . -type f ! -path "etc/zsh30/zlogin" ! -path "etc/zsh30/zlogout" ! -path "etc/zsh30/zprofile" ! -path "etc/zsh30/zshenv" ! -path "etc/zsh30/zshrc" ! -regex '.*/DEBIAN/.*' -printf '%P\0' | xargs -r0 md5sum > DEBIAN/md5sums
cd debian/zsh30-static >/dev/null ; find . -type f ! -regex '.*/DEBIAN/.*' -printf '%P\0' | xargs -r0 md5sum > DEBIAN/md5sums
chown -R root.root debian/tmp
chmod -R go=rX debian/tmp
dpkg --build debian/tmp ..
chown -R root.root debian/zsh30-static
chmod -R go=rX debian/zsh30-static
dpkg --build debian/zsh30-static ..
define checkdir
test -f debian/rules
endef
# Below here is fairly generic really
binary: binary-indep binary-arch
checkroot:
$(checkdir)
test root = "`whoami`"
.PHONY: binary binary-arch binary-indep clean checkroot
|