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

Re: changes in Makefile.am



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

Attachment: signature.asc
Description: Digital signature


Reply to: