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
|
#!/usr/bin/make -f
# Made with the aid of dh_make, by Craig Small
# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
# Some lines taken from debmake, by Christoph Lameter.
# $Id: rules,v 1.17 1999/05/14 02:51:37 jgg Exp $
# For the deb builder, you can run 'debian/rules cvs-build', which does all
# steps nescessary to produce a proper source tarball with the CVS/ removed.
# It builds in debian/cvs-build/apt-<VER>/, and places files in
# debian/cvs-build/. Optionally, you can run 'debian/rules cvs-mkul' to
# create ../upload-<VER>, with all the files needed to be uploaded placed
# in it.
DEB_BUILD_PROG:=debuild -us -uc
APT_DEBVER=$(shell dpkg-parsechangelog |sed -n -e '/^Version:/s/^Version: //p')
APT_CONFVER=$(shell sed -n -e 's/^AC_DEFINE_UNQUOTED(VERSION,"\(.*\)")/\1/p' configure.in)
# Determine the build directory to use
BASE=.
ifdef BUILD
BUILD_POSSIBLE := $(BUILD) $(BASE)/$(BUILD)
else
BUILD_POSSIBLE := $(BASE) $(BASE)/build-$(shell uname -m) $(BASE)/build
endif
BUILDX:= $(foreach i,$(BUILD_POSSIBLE),$(wildcard $(i)/environment.mak*))
BUILDX:= $(patsubst %/,%,$(firstword $(dir $(BUILDX))))
override BLD := $(BUILDX)
ifneq ($(APT_DEBVER),$(APT_CONFVER))
.PHONY: configure.in
configure.in:
sed -e 's/$(APT_CONFVER)/$(APT_DEBVER)/' $@ > $@.$$$$;mv $@.$$$$ $@
else
configure.in:
endif
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# Find the libapt-pkg major version for use in other control files
export LIBAPT_MAJOR:=$(shell egrep '^MAJOR=' apt-pkg/makefile |cut -d '=' -f 2)
#debian/shlibs.local:
# rm -f $@
# echo "libapt-pkg $(LIBAPT_MAJOR) libapt-pkg$(LIBAPT_MAJOR)" >> $@
# echo "libapt-pkg $(LIBAPT_MAJOR) apt $(APT_DEBVER)" >> $@
build: build-stamp
build-stamp: configure
dh_testdir
-mkdir build
(cd build; ../configure)
# cd build && CXXFLAGS="-g -Wall -D_POSIX_C_SOURCE=199309" ../configure --disable-nls --disable-static --prefix=/usr
# cd build && make all-hdr
# cd build && make -s
# Add here commands to compile the package.
make
touch build-stamp
clean:
dh_testdir
# dh_testroot
rm -f build-stamp
rm -rf build
# Add here commands to clean up after the build process.
-$(MAKE) clean
-$(MAKE) distclean
dh_clean
binary-indep: libapt-pkg-doc
# Build architecture-independent files here.
libapt-pkg-doc: build debian/shlibs.local
dh_testdir -p$@
dh_testroot -p$@
dh_clean -p$@ -k
dh_installdirs -p$@
#
# libapt-pkg-doc install
#
-cp -a $(BLD)/docs/cache* $(BLD)/docs/design* $(BLD)/docs/dpkg-tech* \
$(BLD)/docs/files* $(BLD)/docs/method* debian/libapt-pkg-doc/usr/doc/apt/
cp -a debian/libapt-pkg-doc.dhelp debian/libapt-pkg-doc/usr/doc/libapt-pkg-doc/.dhelp
dh_installdocs -p$@
dh_installexamples -p$@
# dh_installmenu -p$@
# dh_installinit -p$@
# dh_installcron -p$@
# dh_installmanpages -p$@
# dh_undocumented -p$@
dh_installchangelogs -p$@
dh_strip -p$@
dh_compress -p$@
dh_fixperms -p$@
# dh_suidregister -p$@
dh_installdeb -p$@
dh_gencontrol -p$@ -u -Vlibapt-pkg:major=${LIBAPT_MAJOR}
dh_md5sums -p$@
dh_builddeb -p$@
# Build architecture-dependent files here.
binary-arch: apt libapt-pkg-dev
apt: build debian/shlibs.local
dh_testdir -p$@
dh_testroot -p$@
dh_clean -p$@ -k
dh_installdirs -p$@
#
# apt install
#
cp $(BLD)/bin/apt-* debian/tmp/usr/bin/
# install the shared libs
find $(BLD)/bin/ -type f -name "libapt-pkg.so.*" -exec cp -a "{}" debian/tmp/usr/lib/ \;
find $(BLD)/bin/ -type l -name "libapt-pkg.so.*" -exec cp -a "{}" debian/tmp/usr/lib/ \;
cp $(BLD)/bin/methods/* debian/tmp/usr/lib/apt/methods/
cp $(BLD)/scripts/dselect/* debian/tmp/usr/lib/dpkg/methods/apt/
# cp debian/sources.list debian/tmp/etc/apt/
# Copy the users guide
-cp $(BLD)/docs/guide.text debian/tmp/usr/doc/apt/users-guide.txt
-cp -a $(BLD)/docs/guide.html/* debian/tmp/usr/doc/apt/users-guide.html/
# Copy the offline guide
-cp $(BLD)/docs/offline.text debian/tmp/usr/doc/apt/offline.txt
-cp -a $(BLD)/docs/offline.html/* debian/tmp/usr/doc/apt/offline.html/
cp -a debian/dhelp debian/tmp/usr/doc/apt/.dhelp
# head -n 500 ChangeLog > debian/ChangeLog
dh_installdocs -p$@
dh_installexamples -papt $(BLD)/docs/examples/*
# dh_installmenu -papt
# dh_installinit -papt
# dh_installcron -papt
dh_installmanpages -p$@
# dh_undocumented -papt
dh_installchangelogs -p$@
dh_strip -p$@
dh_compress -p$@
dh_fixperms -p$@
# dh_suidregister -p$@
dh_installdeb -p$@
LD_LIBRARY_PATH=`pwd`/debian/tmp/usr/lib dh_shlibdeps -papt
dh_gencontrol -p$@ -u -Vlibapt-pkg:major=${LIBAPT_MAJOR}
dh_makeshlibs -m${LIBAPT_MAJOR} -Vlibapt-pkg${LIBAPT_MAJOR} -papt
dh_md5sums -p$@
dh_builddeb -p$@
libapt-pkg-dev: build debian/shlibs.local
dh_testdir -p$@
dh_testroot -p$@
dh_clean -p$@ -k
dh_installdirs -p$@
#
# libapt-pkg-dev install
#
ln -s libapt-pkg.so.${LIBAPT_MAJOR} debian/libapt-pkg-dev/usr/lib/libapt-pkg.so
cp $(BLD)/include/apt-pkg/*.h debian/libapt-pkg-dev/usr/include/apt-pkg/
dh_installdocs -p$@
# dh_installmenu -papt
# dh_installinit -papt
# dh_installcron -papt
# dh_installmanpages -p$@
dh_installchangelogs -p$@
dh_strip -p$@
dh_compress -p$@
dh_fixperms -p$@
# dh_suidregister -p$@
dh_installdeb -p$@
dh_gencontrol -p$@ -u -Vlibapt-pkg:major=${LIBAPT_MAJOR}
dh_md5sums -p$@
dh_builddeb -p$@
source diff:
@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
# Update from CVS
l33ch: really-clean
cvs update
buildlib/mkChangeLog
# Update from CVS and then configure for build
super-l33ch: l33ch Makefile.in
configure:
make configure
l33ch-stamp: super-l33ch
touch l33ch-stamp
really-clean: clean
-find -name Makefile.in -print0 | xargs -0r rm -f
find -name ChangeLog | xargs rm -f
rm -f l33ch-stamp
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary debian/shlibs.local
# Done by the uploader.
#cvs update..
#edit debian/changelog
# configure.in has the version automatically updated now.
# edit configure.in
# debian/rules cvs-build
cvs-build:
rm -rf debian/cvs-build
cvs update
buildlib/mkChangeLog
make startup
make doc
tar c --exclude CVS --exclude debian/cvs-build . |\
(mkdir -p debian/cvs-build/apt-$(APT_DEBVER);cd debian/cvs-build/apt-$(APT_DEBVER);tar x)
# The next line isn't needed, as debuild will make the .tar.gz for us.
# (cd debian/cvs-build;tar zcf apt_$(APT_DEBVER).tar.gz apt-$(APT_DEBVER))
(cd debian/cvs-build/apt-$(APT_DEBVER);$(DEB_BUILD_PROG))
rm ChangeLog
cvs-mkul:
-mkdir -p ../upload-$(APT_DEBVER)
cp `find debian/cvs-build -maxdepth 1 -type f` ../upload-$(APT_DEBVER)
|