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 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247
|
#!/usr/bin/make -f
# This script used debhelper by Joey Hess, which has the delightful
# feature of giving you the exact details of how to avoid using it
# in the future.
export DH_VERBOSE=1
# This is probably very wrong... but I can't figure out how else to do this.
build: build-static
build-static: build-stamp-static
build-stamp-static:
test -e debian/control
# build package
./configure --prefix=/usr --without-athena --with-static-lib \
--datadir=/etc
(cd lib && $(MAKE))
touch build-stamp-static
build-shared: build-stamp-shared
build-stamp-shared:
test -e debian/control
# clean up non-relocatable objects
$(MAKE) clean
# static libraries are now gone, change stamp to reflect this
-rm -f build-stamp-static
# build package
./configure --prefix=/usr --datadir=/etc
$(MAKE)
touch build-stamp-shared
clean:
test -e debian/control
# check that we are root (or at least think we are)
test `id -u` = 0
-rm -f build-stamp-static build-stamp-shared
-$(MAKE) distclean
# clean up random junk
rm -f debian/substvars
rm -rf debian/tmp
rm -rf debian/t1lib0-dev
rm -f debian/t1lib0-bin.substvars
rm -rf debian/t1lib0-bin
rm -f debian/files
find . \( -name '#*#' -o -name '*~' -o -name DEADJOE -o -name '*.orig' -o -name '*.rej' -o -name '*.bak' -o -name '.*.orig' -o -name '.*.rej' -o -name .SUMS -o -name TAGS -o -name core \) -exec rm -f {} \;
binary-indep: build
binary-arch: binary-t1lib0-dev binary-t1lib0
# install config script
install -p -m755 debian/t1libconfig debian/tmp/usr/sbin
# install docs
install -d debian/tmp/usr/doc/t1lib0
cp README.t1lib-0.7-beta debian/tmp/usr/doc/t1lib0/
install -m 644 -p debian/README.debian \
debian/tmp/usr/doc/t1lib0/README.Debian
install -m 644 -p debian/copyright debian/tmp/usr/doc/t1lib0/copyright
install -d debian/t1lib0-dev/usr/doc/t1lib0-dev
cp -a doc/*.ps doc/*.tex doc/*.dvi doc/*.eps doc/*.fig \
debian/t1lib0-dev/usr/doc/t1lib0-dev/
install -m 644 -p debian/copyright \
debian/t1lib0-dev/usr/doc/t1lib0-dev/copyright
install -d debian/t1lib0-bin/usr/doc/t1lib0-bin
install -m 644 -p debian/copyright \
debian/t1lib0-bin/usr/doc/t1lib0-bin/copyright
# move files
(cd debian/tmp && tar --remove-files -cf - usr/include/*.h) | \
(cd debian/t1lib0-dev && tar xvf -)
(cd debian/tmp && tar --remove-files -cf - usr/lib/*.a \
usr/lib/*.so) | (cd debian/t1lib0-dev && tar xvf -)
(cd debian/tmp && tar --remove-files -cf - usr/bin/*) | \
(cd debian/t1lib0-bin && tar xvf -)
# remove empty directories
rmdir debian/tmp/usr/bin debian/tmp/usr/include
# install menu entries
install -d debian/t1lib0-bin/usr/lib/menu
install -p -m644 debian/menu.t1lib0-bin \
debian/t1lib0-bin/usr/lib/menu/t1lib0-bin
# install and compress man pages
install -d debian/tmp/usr/man/man5 debian/tmp/usr/man/man8
install -p -m644 debian/*.5 debian/tmp/usr/man/man5
gzip -f9 debian/tmp/usr/man/man5/*.5
install -p -m644 debian/*.8 debian/tmp/usr/man/man8
gzip -f9 debian/tmp/usr/man/man8/*.8
install -d debian/t1lib0-bin/usr/man/man1
install -p -m644 debian/*.1 debian/t1lib0-bin/usr/man/man1
gzip -f9 debian/t1lib0-bin/usr/man/man1/*.1
# install changelogs
cp Changes debian/tmp/usr/doc/t1lib0/changelog
install -p -m644 debian/changelog \
debian/tmp/usr/doc/t1lib0/changelog.Debian
install -p -m644 debian/changelog \
debian/t1lib0-dev/usr/doc/t1lib0-dev/changelog.Debian
install -p -m644 debian/changelog \
debian/t1lib0-bin/usr/doc/t1lib0-bin/changelog.Debian
# strip files
strip --remove-section=.comment --remove-section=.note \
debian/t1lib0-bin/usr/bin/*
strip --strip-unneeded debian/tmp/usr/lib/*.so.*.*
strip --strip-debug debian/t1lib0-dev/usr/lib/*.a
# compress files
(cd debian/tmp && \
gzip -f9 usr/doc/t1lib0/README.t1lib-0.7-beta \
usr/doc/t1lib0/changelog usr/doc/t1lib0/changelog.Debian)
(cd debian/t1lib0-dev && \
gzip -f9 usr/doc/t1lib0-dev/t1lib_doc.ps \
usr/doc/t1lib0-dev/getstart.tex \
usr/doc/t1lib0-dev/internals.tex \
usr/doc/t1lib0-dev/intro.tex \
usr/doc/t1lib0-dev/ut1lib.tex \
usr/doc/t1lib0-dev/xglyph.tex \
usr/doc/t1lib0-dev/xinterface.tex \
usr/doc/t1lib0-dev/t1lib_doc.dvi \
usr/doc/t1lib0-dev/t1_data.eps \
usr/doc/t1lib0-dev/t1_data.fig \
usr/doc/t1lib0-dev/changelog.Debian)
(cd debian/t1lib0-bin && \
gzip -f9 usr/doc/t1lib0-bin/changelog.Debian)
# fix permissions
chown -R root.root debian/tmp debian/t1lib0-bin debian/t1lib0-dev
chmod -R go=rX debian/tmp debian/t1lib0-bin debian/t1lib0-dev
chmod -R u+rw debian/tmp debian/t1lib0-bin debian/t1lib0-dev
for i in debian/tmp debian/t1lib0-bin debian/t1lib0-dev ; do \
find $$i/usr/doc -type f -print0 2>/dev/null | \
xargs -0r chmod 644 ; \
find $$i/usr/doc -type d -print0 2>/dev/null | \
xargs -0r chmod 755 ; \
find $$i/usr/man/ $$i/usr/X11*/man/ -type f \
-print0 2>/dev/null | xargs -0r chmod 644 ; \
find $$i -perm -5 -type f \( -name *.so* -or -name *.la \) \
-print0 2>/dev/null | xargs -0r chmod a-X ; \
done
# install maintainer scripts
install -o root -g root -d debian/tmp/DEBIAN
install -p -o root -g root -m755 debian/postinst debian/tmp/DEBIAN/postinst
install -p -o root -g root -m755 debian/postrm debian/tmp/DEBIAN/postrm
install -o root -g root -d debian/t1lib0-dev/DEBIAN
# install -p -o root -g root -m755 debian/postinst.t1lib0-dev debian/t1lib0-dev/DEBIAN/postinst
# install -p -o root -g root -m755 debian/postrm.t1lib0-dev debian/t1lib0-dev/DEBIAN/postrm
install -o root -g root -d debian/t1lib0-bin/DEBIAN
install -p -o root -g root -m755 debian/postinst.t1lib0-bin debian/t1lib0-bin/DEBIAN/postinst
install -p -o root -g root -m755 debian/postrm.t1lib0-bin debian/t1lib0-bin/DEBIAN/postrm
# get shared library dependencies
dpkg-shlibdeps -Tdebian/substvars \
debian/tmp/usr/lib/libt1x.so.0.7.1 debian/tmp/usr/lib/libt1.so.0.7.1
dpkg-shlibdeps -Tdebian/t1lib0-bin.substvars \
debian/t1lib0-bin/usr/bin/xglyph debian/t1lib0-bin/usr/bin/type1afm
# generate control file
dpkg-gencontrol -ldebian/changelog -isp -pt1lib0 \
-Tdebian/substvars -Pdebian/tmp
chmod 644 debian/tmp/DEBIAN/control
chown root.root debian/tmp/DEBIAN/control
dpkg-gencontrol -ldebian/changelog -isp -pt1lib0-dev \
-Tdebian/t1lib0-dev.substvars -Pdebian/t1lib0-dev
chmod 644 debian/t1lib0-dev/DEBIAN/control
chown root.root debian/t1lib0-dev/DEBIAN/control
dpkg-gencontrol -ldebian/changelog -isp -pt1lib0-bin \
-Tdebian/t1lib0-bin.substvars -Pdebian/t1lib0-bin
chmod 644 debian/t1lib0-bin/DEBIAN/control
chown root.root debian/t1lib0-bin/DEBIAN/control
# install shlibs file
install -p -o root -g root -m644 debian/shlibs debian/tmp/DEBIAN/shlibs
# make md5sums files
(cd debian/tmp && \
find * -type f ! -regex '^DEBIAN/.*' -print0 | \
xargs -0 md5sum > DEBIAN/md5sums)
chmod 644 debian/tmp/DEBIAN/md5sums
chown root.root debian/tmp/DEBIAN/md5sums
(cd debian/t1lib0-dev && \
find * -type f ! -regex '^DEBIAN/.*' -print0 | \
xargs -0 md5sum > DEBIAN/md5sums)
chmod 644 debian/t1lib0-dev/DEBIAN/md5sums
chown root.root debian/t1lib0-dev/DEBIAN/md5sums
(cd debian/t1lib0-bin && \
find * -type f ! -regex '^DEBIAN/.*' -print0 | \
xargs -0 md5sum > DEBIAN/md5sums)
chmod 644 debian/t1lib0-bin/DEBIAN/md5sums
chown root.root debian/t1lib0-bin/DEBIAN/md5sums
# build packages
dpkg --build debian/tmp ..
dpkg --build debian/t1lib0-dev ..
dpkg --build debian/t1lib0-bin ..
# this is screwy - we have to build AND install the static libraries first
# because we have to re-configure and make clean in order to build the
# shared libraries correctly
binary-t1lib0-dev: build-static
test -e debian/control
# check that we are root (or at least think we are)
test `id -u` = 0
# clean up random junk
rm -f debian/substvars
rm -rf debian/tmp
rm -rf debian/t1lib0-dev
rm -f debian/t1lib0-bin.substvars
rm -rf debian/t1lib0-bin
find . \( -name '#*#' -o -name '*~' -o -name DEADJOE -o -name '*.orig' -o -name '*.rej' -o -name '*.bak' -o -name '.*.orig' -o -name '.*.rej' -o -name .SUMS -o -name TAGS -o -name core \) -exec rm -f {} \;
# install dirs
install -d debian/tmp debian/t1lib0-dev debian/t1lib0-bin
(cd debian/tmp && \
install -d usr/lib usr/include usr/bin usr/sbin etc/t1lib)
# install static libraries only
install -p -m644 lib/*.a debian/tmp/usr/lib
(cd lib && $(MAKE) install prefix=`pwd`/../debian/tmp/usr \
datadir=`pwd`/../debian/tmp/etc)
binary-t1lib0: build-shared
test -e debian/control
# check that we are root (or at least think we are)
test `id -u` = 0
$(MAKE) install prefix=`pwd`/debian/tmp/usr \
datadir=`pwd`/debian/tmp/etc
binary: binary-indep binary-arch
.PHONY: build-static build-shared clean binary-indep binary-arch binary binary-t1lib0 binary-t1lib0-dev
|