2 # Made with the aid of dh_make, by Craig Small
3 # Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
4 # Some lines taken from debmake, by Christoph Lameter.
5 # $Id: rules,v 1.26 2001/02/23 04:29:59 tausq Exp $
7 # LD_LIBRARY_PATH=pwd/debian/tmp/usr/lib dh_shlibdeps -papt
8 # dpkg: /home/jgg/work/apt2/debian/tmp/usr/lib/libapt-pkg.so.2.9 not found.
10 # For the deb builder, you can run 'debian/rules cvs-build', which does all
11 # steps nescessary to produce a proper source tarball with the CVS/ removed.
12 # It builds in debian/cvs-build/apt-<VER>/, and places files in
13 # debian/cvs-build/. Optionally, you can run 'debian/rules cvs-mkul' to
14 # create ../upload-<VER>, with all the files needed to be uploaded placed
18 include build
/environment.mak
23 DEB_BUILD_PROG
:=debuild
-us
-uc
24 APT_DEBVER
=$(shell dpkg-parsechangelog |sed
-n
-e
'/^Version:/s/^Version: //p')
25 APT_CONFVER
=$(shell sed
-n
-e
's/^AC_DEFINE_UNQUOTED(VERSION,"\(.*\)")/\1/p' configure.in
)
27 # Determine the build directory to use
30 BUILD_POSSIBLE
:= $(BUILD
) $(BASE
)/$(BUILD
)
32 BUILD_POSSIBLE
:= $(BASE
) $(BASE
)/build-
$(shell uname
-m
) $(BASE
)/build
34 BUILDX
:= $(foreach i
,$(BUILD_POSSIBLE
),$(wildcard $(i
)/environment.mak
*))
35 BUILDX
:= $(patsubst %/,%,$(firstword $(dir $(BUILDX
))))
36 override BLD
:= $(BUILDX
)
38 ifeq ($(words $(BLD
)),0)
39 override BLD
:= .
/build
42 # Rebuild configure.in to have the correct version from the change log
43 ifneq ($(APT_DEBVER
),$(APT_CONFVER
))
46 sed
-e
's/$(APT_CONFVER)/$(APT_DEBVER)/' $@
> $@.
$$$$;mv
$@.
$$$$ $@
51 # APT Programs in apt-utils
52 APT_UTILS
=ftparchive sortpkgs extracttemplates
54 # Uncomment this to turn on verbose mode.
57 # Find the libapt-pkg major version for use in other control files
58 export LIBAPTPKG_MAJOR
:=$(shell egrep
'^MAJOR=' apt-pkg
/makefile |cut
-d
'=' -f
2)
59 export LIBAPTINST_MAJOR
:=$(shell egrep
'^MAJOR=' apt-inst
/makefile |cut
-d
'=' -f
2)
60 debian
/shlibs.local
: apt-pkg
/makefile
61 # We have 3 shlibs.local files.. One for 'apt', one for 'apt-utils' and
62 # one for the rest of the packages. This ensures that each package gets
63 # the right overrides..
64 rm -rf
$@
$@.apt
$@.apt-utils
65 echo
"libapt-pkg $(LIBAPTPKG_MAJOR)" > $@.apt
67 echo
"libapt-pkg $(LIBAPTPKG_MAJOR) libapt-pkg$(LIBAPTPKG_MAJOR)" > $@.apt-utils
68 echo
"libapt-inst $(LIBAPTINST_MAJOR)" >> $@.apt-utils
70 echo
"libapt-pkg $(LIBAPTPKG_MAJOR) libapt-pkg$(LIBAPTPKG_MAJOR)" > $@
71 echo
"libapt-inst $(LIBAPTINST_MAJOR) libapt-inst$(LIBAPTINST_MAJOR)" >> $@
73 build
: build
/build-stamp
75 # Note that this is unconditionally done first as part of loading environment.mak
76 # The true is needed to force make to reload environment.mak after running
77 # configure-stamp. Otherwise we can get stale or invalid, or missing config data.
78 build
/environment.mak
: build
/configure-stamp
81 configure
: configure.in
82 build
/configure-stamp
: configure
85 (cd build
; ..
/configure
)
88 build
/build-stamp
: build
/configure-stamp
89 # Add here commands to compile the package.
96 rm -f build-stamp debian
/shlibs.local
98 rm -f debian
/shlibs.local.apt debian
/shlibs.local.apt-utils
100 # Add here commands to clean up after the build process.
105 binary-indep
: libapt-pkg-doc
106 # Build architecture-independent files here.
107 libapt-pkg-doc
: build debian
/shlibs.local
113 # libapt-pkg-doc install
115 dh_installdocs
-p
$@
$(BLD
)/docs
/cache
* $(BLD
)/docs
/design
* $(BLD
)/docs
/dpkg-tech
* \
116 $(BLD
)/docs
/files
* $(BLD
)/docs
/method
* \
117 doc
/libapt-pkg2_to_3.txt doc
/style.txt
119 -cp
-a debian
/libapt-pkg-doc.dhelp debian
/libapt-pkg-doc
/usr
/doc
/libapt-pkg-doc
/.dhelp
120 -cp
-a debian
/libapt-pkg-doc.dhelp debian
/libapt-pkg-doc
/usr
/share
/doc
/libapt-pkg-doc
/.dhelp
122 dh_installexamples
-p
$@
123 # dh_installmenu -p$@
124 # dh_installinit -p$@
125 # dh_installcron -p$@
126 # dh_installmanpages -p$@
128 # dh_undocumented -p$@
129 dh_installchangelogs
-p
$@
133 # dh_suidregister -p$@
135 dh_gencontrol
-p
$@
-u
-Vlibapt-pkg
:major
=$(LIBAPTPKG_MAJOR
)
140 # Build architecture-dependent files here.
142 binary-arch
: apt libapt-pkg-dev apt-utils
143 apt
: build debian
/shlibs.local
151 cp
$(BLD
)/bin
/apt-
* debian
/tmp
/usr
/bin
/
153 # Remove the bits that are in apt-utils
154 rm $(addprefix debian
/tmp
/usr
/bin
/apt-
,$(APT_UTILS
))
156 # install the shared libs
157 find
$(BLD
)/bin
/ -type f
-name
"libapt-pkg.so.*" -exec cp
-a
"{}" debian
/tmp
/usr
/lib
/ \
;
158 find
$(BLD
)/bin
/ -type l
-name
"libapt-pkg.so.*" -exec cp
-a
"{}" debian
/tmp
/usr
/lib
/ \
;
160 cp
$(BLD
)/bin
/methods
/* debian
/tmp
/usr
/lib
/apt
/methods
/
162 cp
$(BLD
)/scripts
/dselect
/* debian
/tmp
/usr
/lib
/dpkg
/methods
/apt
/
165 dh_installdocs
-p
$@
$(BLD
)/docs
/guide
*.text
$(BLD
)/docs
/guide
*.html \
166 $(BLD
)/docs
/offline.text
$(BLD
)/docs
/offline.html
169 -cp
-a debian
/dhelp debian
/tmp
/usr
/doc
/apt
/.dhelp
170 -cp
-a debian
/dhelp debian
/tmp
/usr
/share
/doc
/apt
/.dhelp
172 # head -n 500 ChangeLog > debian/ChangeLog
174 dh_installexamples
-p
$@
$(BLD
)/docs
/examples
/*
175 dh_installmanpages
-p
$@ apt-ftparchive
.1 apt-sortpkgs
.1
177 dh_installchangelogs
-p
$@
182 dh_shlibdeps
-papt
-l
`pwd`/debian
/tmp
/usr
/lib
-- -Ldebian
/shlibs.local.apt
183 # LD_LIBRARY_PATH=`pwd`/debian/tmp/usr/lib dh_shlibdeps -papt
184 dh_gencontrol
-p
$@
-u
-Vlibapt-pkg
:major
=$(LIBAPTPKG_MAJOR
)
185 dh_makeshlibs
-m
$(LIBAPTPKG_MAJOR
) -V
'libapt-pkg$(LIBAPTPKG_MAJOR)' -papt
189 libapt-pkg-dev
: build debian
/shlibs.local
195 # libapt-pkg-dev install
197 cp
-a
$(BLD
)/bin
/libapt-pkg.so debian
/libapt-pkg-dev
/usr
/lib
/
198 cp
-a
$(BLD
)/bin
/libapt-inst.so debian
/libapt-pkg-dev
/usr
/lib
/
199 #ln -s libapt-pkg.so.$(LIBAPTPKG_MAJOR) debian/libapt-pkg-dev/usr/lib/libapt-pkg.so
200 cp
$(BLD
)/include/apt-pkg
/*.h debian
/libapt-pkg-dev
/usr
/include/apt-pkg
/
203 # dh_installmenu -p$@
204 # dh_installinit -p$@
205 # dh_installcron -p$@
206 # dh_installmanpages -p$@
208 dh_installchangelogs
-p
$@
212 # dh_suidregister -p$@
214 dh_gencontrol
-p
$@
-u
-Vlibapt-pkg
:major
=$(LIBAPTPKG_MAJOR
)
218 apt-utils
: build debian
/shlibs.local
224 # install the shared libs
225 find
$(BLD
)/bin
/ -type f
-name
"libapt-inst.so.*" -exec cp
-a
"{}" debian
/$@
/usr
/lib
/ \
;
226 find
$(BLD
)/bin
/ -type l
-name
"libapt-inst.so.*" -exec cp
-a
"{}" debian
/$@
/usr
/lib
/ \
;
228 cp
$(addprefix $(BLD
)/bin
/apt-
,$(APT_UTILS
)) debian
/$@
/usr
/bin
/
231 # Install the man pages..
232 mkdir
-p debian
/$@
/usr
/share
/man
/man1
233 cp doc
/apt-sortpkgs
.1 doc
/apt-ftparchive
.1 debian
/$@
/usr
/share
/man
/man1
/
235 dh_installchangelogs
-p
$@
240 LD_LIBRARY_PATH
=`pwd`/debian
/tmp
/usr
/lib
:`pwd`/debian
/$@
/usr
/lib dh_shlibdeps
-p
$@
-- -Ldebian
/shlibs.local.apt-utils
241 dh_gencontrol
-p
$@
-u
-Vlibapt-inst
:major
=$(LIBAPTINST_MAJOR
)
242 dh_makeshlibs
-m
$(LIBAPTINST_MAJOR
) -V
'libapt-inst$(LIBAPTINST_MAJOR)' -p
$@
247 @echo
>&2 'source and diff are obsolete - use dpkg-source -b'; false
254 # Update from CVS and then configure for build
255 super-l33ch
: l33ch Makefile.in
260 l33ch-stamp
: super-l33ch
264 -find
-name Makefile.in
-print0 | xargs
-0r
rm -f
265 find
-name ChangeLog | xargs
rm -f
268 binary
: binary-indep binary-arch
269 .PHONY
: build
clean binary-indep binary-arch binary debian
/shlibs.local
272 # Done by the uploader.
274 #edit debian/changelog
275 # configure.in has the version automatically updated now.
277 # debian/rules cvs-build
280 rm -rf debian
/cvs-build
282 #buildlib/mkChangeLog
285 tar c
--exclude CVS
--exclude cvs-build . |\
286 (mkdir
-p debian
/cvs-build
/apt-
$(APT_DEBVER
);cd debian
/cvs-build
/apt-
$(APT_DEBVER
);tar x
)
287 # The next line isn't needed, as debuild will make the .tar.gz for us.
288 # (cd debian/cvs-build;tar zcf apt_$(APT_DEBVER).tar.gz apt-$(APT_DEBVER))
289 (cd debian
/cvs-build
/apt-
$(APT_DEBVER
);$(DEB_BUILD_PROG
))
293 -mkdir
-p ..
/upload-
$(APT_DEBVER
)
294 cp
`find debian/cvs-build -maxdepth 1 -type f` ..
/upload-
$(APT_DEBVER
)