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

Re: Better to run multiple configure/make cycles or use separate sources?



On (19/02/07 19:54), Roman Müllenschläder wrote:
> Let's ask different:
> I'm able to do differnet compiles and install (using 'make install') the whole 
> program (including pos, themes, docs, binaries, etc.) into subdirs beneath 
> debian ..
> debian/compiled-version1
> debian/compiled-version2
> debian/compiled-version3
> 
> What I want now is to put only the binaries in the different flavour-deb's and 
> all the common rest in a common.deb.
> How would I do that? Just not use upstream's 'make install' and use dh_install 
> together with flavour.install files in debian?
> Thus would mean, I have to re-do all what is done in upstream's Makefile by 
> hand in 'rules' !?
> 
> So ... I do have 3 subdirs under debian containing 3 complete installs with 
> different flavours.
> How do I part them up into 3 flavour.debs and 1 common.deb?
> 

You don't need to recreate everything in the rules, you can use the
upstream Makefile.

The easiest approach would seem to be to have an install target for
each version that looks like

  install-flavour1-stamp: build-flavour1-stamp
     $(MAKE) install DESTDIR="$(CURDIR)/debian/tmp/flavour1"

where the build target depends on the configure target that passes the
correct options. The configure target should also depend on a semi-clean
target that removes the built files but not debian/tmp. You can add a
proper clean rule as normal.

Then you can have package.flavour1.install files that have

  debian/tmp/flavour1/file

which should grab the correct files for each flavour.

Then make the binary target depend on all the install targets, you may
have some trouble getting binary-arch/indep separation though.

You can add as much Makefile madness to this as you like to generate the
targets that you need, but the basic idea should work.

Note that I have never packaged a package like this, so you might hit a
snag with this method, if so I suggest you look at other examples.

Thanks,

James

-- 
  James Westby   --    GPG Key ID: B577FE13    --     http://jameswestby.net/
  seccure key - (3+)k7|M*edCX/.A:n*N!>|&7U.L#9E)Tu)T0>AM - secp256r1/nistp256



Reply to: