On Mon, Jun 16, 2008 at 04:31:11PM -0500, Dan McGee <[EMAIL PROTECTED]> wrote:
> > and this is where you make it impossible to name a subpkg 'kopete',
> > right?
> >
> > how would that handle the case when for example openoffice.org-i18n-de
> > is split from openoffice.org?
> >
> > (given that the implementation we have in pacman-g2 was already flamed
> > off here, iirc - i don't want to hype it here, but that one deals with
> > such a problem properly.)
> 
> Can you possibly give us an overview of how it works? I think it would
> be quite relevant to this discussion as it is actually a system that
> is used, rather than a bunch of "well this might work" scenarios.

http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=blob;f=doc/FrugalBuild.txt;hb=HEAD

-> '=== Package splitting'

basically we have a subpkgs() array which defines the subpackages, and
we have subfoo variables for other foo variables, like:

pkgname=libfoo
groups=('foo' 'bar')

pkgname=foo-doc
groups=('baz' 'blah')

becomes

subpkgs=('libfoo' "$pkgname-doc")
groups=('foo bar' 'baz blah')

the main package's files are still under $startdir/pkg, but libfoo is
under $startdir/pkg.libfoo, foo-doc is under $startdir/pkg.foo-doc, etc.

there is also a macro called Fsplit that moves a files/directories from
$startdir/pkg to a $startdir/pkg.foo dir, like:

Fsplit subpkgname usr/share/

but of course it can be done manually using mkdir and mv.

here is a more complex example when there are a lot of subpackages:

http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-stable.git;a=blob;f=source/locale-extra/kde-i18n/FrugalBuild;hb=HEAD

probably the biggest problem with it (since every implementation has
some problems) is that it can be a bit tricky to see for example what
deps are set for a given subpackage if you have a lot of them.

like this:

http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-stable.git;a=blob;f=source/devel/gcc/FrugalBuild;hb=HEAD

if you ask me what deps 'gcc-objc++' has, then i can't say the answer
right now, i have to search a bit.

and the big benefit (what rpm does not have) is that if you don't split
a given file then it's included in the main package and it is not just
dropped, like rpm does.

Attachment: pgpD5q0Xo3qGW.pgp
Description: PGP signature

_______________________________________________
pacman-dev mailing list
[email protected]
http://archlinux.org/mailman/listinfo/pacman-dev

Reply via email to