On Tue, Apr 13, 2004 at 11:15:33AM +0200, Zsolt Rizsanyi wrote: > Hi! > > Are there any guidlines on how to package a kde application where changes > are necessary in one or more Makefile.am-s ? > > If I just leave the Makefile regeneration to the make process then it does > not succeed because the automake version of the upstream does not match > the version I have from debian. > > If I try to rebuild the makefiles I get problems with *.moc autogeneration. > > Is there some solution to these problems?
My sources don't have .moc files in them they are created in my build dir, not source dir. What I normally do at least for official kde packages is: cvs export (release tag version) cvs export (current stable branch) diff -Nrua (release tag version dir) (current stable branch dir) uuencode 01_foo_branch.diff 01_foo_branch.diff > 01_foo_branch.diff.uu rm -rf (current stable branch dir) since its no longer needed run "make -f admin/Makefile.common" in release tag version dir run "find . -name .cvsignore -exec rm \{\} \;" (gets rid of lintian warning) turn the resulting release tag version dir into the foo.orig.tar.gz add branch patch and any other modifications I need run debuild (easier for me) or otherwise apply all patches run "make -f admin/Makefile.common" run debian/rules clean or otherwise unapply all patches The uuencode is needed for binary updates in branch releases since regular debian diff.gz can't have binary data in them directly. Also note that if you have to do builds often of the same code for testing purposes debuild can be made to use ccache very easily. You can see more about how the patching works for my kde debs by looking in one of my packages or looking at: http://svn.debian.org/viewcvs/pkg-kde/trunk/packages BTW - You need to make sure that you add the AM_MAINTAINER_MODE patch if any build system related stuff is in your patch, like the way mine is. Otherwise it will always try to update stuff with the currently installed automake which will cause build failures. Note that once you patch in AM_MAINTAINER_MODE it will never regenerate the Makefile's on its own so if you need them updated you have to run "make -f admin/Makefile.common" which should be done before generating the diff.gz to save buildd's time (IMHO). Running it in rules would be very slow especially on archs like arm, m68k, mips, etc Chris
signature.asc
Description: Digital signature