[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: One source, two binary packages



Your debian/rules should build *both* packages.

Here's the debian/rules from my GIMP packages. It should clear up
your confusion. It uses debhelper judiciously; I'd recommend using
debhelper to save your sanity. :)

#!/usr/bin/make -f

# First, we build the package. The automake/aclocal/autoconf stuff
# isn't important; it's to get around libtool wonkiness. Ignore it. :)

build: build-stamp
build-stamp:
	dh_testdir
	automake
	aclocal
	autoconf
	# Add here commands to compile the pacckage.
	./configure --prefix=/usr
	$(MAKE)
	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	-rm -f build-stamp install-stamp
	# Add here commands to clean up after the build process.
	-$(MAKE) clean
	-$(MAKE) distclean
	rm -rf debian/{gimp,gimp-nonfree,libgimp1,libgimp-dev}
	find . -name '*.o' -o -name '_libs' -o -name '*.lo' -o -name '*.a' -o -name '*.P' -o -name 'Makefile' | xargs rm -rf
	-rm app/gimp
	dh_clean

# Build architecture-independent files here.
binary-indep: build
# We have nothing to do by default.

# Build architecture-dependent files here.

# Notice how binary-arch has lots of separate targets for the different
# packages that get built! Each one gets built after the 'build'
# and the 'install' targets are run.

binary-arch: build install gimp-nonfree gimp libgimp-dev libgimp1

# This target basically does the 'make install' bit of the package.
# All the individual files for each package are then moved through
# judicious use of dh_movefiles (I HIGHLY recommend using dh_movefiles
# for multi-binary packages; it makes things MUCH easier :)

install: install-stamp
install-stamp: build
	dh_testdir
	dh_testroot
	dh_clean
	dh_installdirs usr/X11R6/bin
	$(MAKE) prefix=`pwd`/debian/tmp/usr install
	mv debian/tmp/usr/bin/gimp debian/tmp/usr/X11R6/bin
	touch install-stamp

# The libgimp1 target is missing the dh_movefiles call because it's
# the topmost package target and the last target in binary-arch;
# it basically takes what's left in debian/tmp and packages it up
# for itself.

libgimp1: build install
	dh_testdir -plibgimp1 
	dh_testroot -plibgimp1
	dh_installdirs -plibgimp1
	rm -rf debian/tmp/usr/bin debian/tmp/usr/X11R6 debian/tmp/usr/include \
	  debian/tmp/usr/share debian/tmp/usr/lib/*.la
	dh_installdocs -plibgimp1
	dh_installchangelogs -plibgimp1
	dh_strip -plibgimp1
	dh_compress -plibgimp1
	dh_fixperms -plibgimp1
	dh_installdeb -plibgimp1
	dh_shlibdeps -plibgimp1
	dh_gencontrol -plibgimp1
	dh_makeshlibs -plibgimp1 -V
	dh_md5sums -plibgimp1
	dh_builddeb -plibgimp1

# The rest of the targets use dh_movefiles to move files into debian/package.
# The gimp target moves everything it wants into debian/gimp.

gimp: build install
	dh_testdir -pgimp 
	dh_testroot -pgimp
	dh_clean -k -pgimp 
	dh_installdirs -pgimp usr/X11R6/man/man1
	dh_movefiles -pgimp
	-rm -f install-stamp
	cp docs/gimp.1 debian/gimp/usr/X11R6/man/man1
	dh_installdocs -pgimp debian/README.debian docs/*.txt \
	  README NOTES
	dh_installchangelogs -pgimp ChangeLog
	dh_strip -pgimp
	dh_compress -pgimp
	dh_fixperms -pgimp
	dh_installmenu -pgimp
	dh_installdeb -pgimp
	LD_LIBRARY_PATH=$(shell pwd)/debian/tmp/usr/lib dh_shlibdeps -pgimp
	dh_gencontrol -pgimp
	dh_md5sums -pgimp
	dh_builddeb -pgimp

gimp-nonfree: build install
	dh_testdir -pgimp-nonfree
	dh_testroot -pgimp-nonfree
	dh_clean -k -pgimp-nonfree
	dh_movefiles -pgimp-nonfree
	-rm -f install-stamp
	dh_installdirs -pgimp-nonfree
	dh_installdocs -pgimp-nonfree
	dh_installchangelogs -pgimp-nonfree
	dh_strip -pgimp-nonfree
	dh_compress -pgimp-nonfree
	dh_fixperms -pgimp-nonfree
	dh_installdeb -pgimp-nonfree
	LD_LIBRARY_PATH=$(shell pwd)/debian/tmp/usr/lib dh_shlibdeps -pgimp-nonfree
	dh_gencontrol -pgimp-nonfree
	dh_md5sums -pgimp-nonfree
	dh_builddeb -pgimp-nonfree

libgimp-dev: build install
	dh_testdir -plibgimp-dev
	dh_testroot -plibgimp-dev
	dh_clean -plibgimp-dev -k
	dh_installdirs -plibgimp-dev
	dh_movefiles -plibgimp-dev
	-rm -f install-stamp
	dh_installdocs -plibgimp-dev
	dh_installchangelogs -plibgimp-dev
	dh_strip -plibgimp-dev
	dh_compress -plibgimp-dev
	dh_fixperms -plibgimp-dev
	dh_installdeb -plibgimp-dev
	dh_shlibdeps -plibgimp-dev
	dh_gencontrol -plibgimp-dev
	dh_md5sums -plibgimp-dev
	dh_builddeb -plibgimp-dev

source diff:                                                                  
	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary

-- 
Brought to you by the letters M and S and the number 11.
"Gorilla Gorilla Gorilla Gorilla Gorilla Gorilla (Stop That)" -- Alliances
Ben Gertzfield <http://www.imsa.edu/~wilwonka/> Finger me for my public
PGP key. I'm on FurryMUCK as Che, and EFNet and YiffNet IRC as Che_Fox.


--
To UNSUBSCRIBE, email to debian-mentors-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org


Reply to: