On Sun, Jul 25, 1999 at 10:49:45AM -0500, Alexander Shinn wrote: > I just split my package into three, seperating the info documentation > and the library, and I'm having trouble building the .changes file. > At the end of debuild, debian/files represents only the third package > built. What creates this file, and is there a special way of handling > it for multiple packages with the same source? Attached is my > debian/rules.
Okay, there are a couple of problems: The library can't be called 'libgst', it has to have the soname in the package name, e.g. 'libgst1' or whatever is appropriate. This requires you to change both rules and control file, and possibly other files thaat reference it, if any. This is a policy requirement. When you use debhelper, please use it, don't complicate stuff when you can easily use dh_* tools to do it :) Instead of saying install -d ``cat dirs`, simply make the "dirs" file which will contain directories you need for the first package, the libgst0.dirs which will contain dirs that libgst0 needs, and gst-doc.dirs which will... you know :) That method works for the postinst and postrm scripts, too, i.e. you should have postinst (for gnu-smalltalk package), gst-doc.postinst and libgst0.postinst (obvious), and the same scheme for the postrm files. Almost everything can be set up this way, and dh_* tools will read it automagically. Use dh_clean to clean the source tree completely from debhelper and cruft - but when you use it in binary-* rules, then add th e"-k" option, that will preserve the debian/files file, and fix your problem instantly. I'm also attaching a modified copy of your rules file in case you didn't understand how to apply any of the above. :) It may still have errors, though, check it out. If you have any more questions, just ask. -- enJoy -*/\*- pronounced 'iosip', or simply 'joseph'
#!/usr/bin/make -f # Based loosely on the debian/rules file used by vim. package=gnu-smalltalk build: build-stamp build-stamp: # Include blox until there is a seperate shlib module ./modules blox ./configure --prefix=/usr --with-readline --with-x $(MAKE) clean && $(MAKE) gst CFLAGS="-O2 -g -Wall" # Create the documentation cd docs && $(MAKE) all touch build-stamp clean: rm -f build-stamp [ ! -f Makefile ] || $(MAKE) distclean dh_clean binary-indep: build # # Create the gst-doc package # # Initialize the building procedure dh_testdir dh_clean -k # Setup the directory structure dh_installdirs -pgst-doc # Install the info documentation cd docs && $(MAKE) install prefix=../debian/gst-doc/usr # Install the HTML documentation and build the package cp debian/dhelp debian/gst-doc/usr/doc/gnu-smalltalk/.dhelp dh_installdocs -pgst-doc docs/*.html dh_installchangelogs -pgst-doc dh_installdeb -pgst-doc dh_gencontrol -pgst-doc dh_md5sums -pgst-doc dh_builddeb -pgst-doc binary-arch: build # # Create the gnu-smalltalk package # # Initialize the building procedure dh_testdir dh_clean -k # Setup the directory structure dh_installdirs $(MAKE) install prefix=`pwd`/debian/tmp/usr # Install the other (Debian) stuff dh_installdocs dh_installchangelogs cp docs/gst.1 debian/tmp/usr/man/man1 dh_strip dh_compress dh_installmenu dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb # # Now create the libgst0 package # # Initialize the building procedure dh_testdir dh_clean -k # Setup the directory structure dh_installdirs -plibgst0 cd lib && $(MAKE) install prefix=../debian/libgst0/usr # Install the other (Debian) stuff dh_installdocs -plibgst0 dh_installchangelogs -plibgst0 dh_compress -plibgst0 dh_shlibdeps -plibgst0 dh_installdeb -plibgst0 dh_gencontrol -plibgst0 dh_md5sums -plibgst0 dh_builddeb -plibgst0 binary: binary-indep binary-arch .PHONY: binary binary-arch binary-indep clean build