shameless self-promoting website
»Rejourn root
Posted Saturday, 04 February 2006 by Miklos
Tags: en hacking

today i got this "having subpackages in extra while the main pkg is in the frugalware repo" stuff working. a few notes from the manpage: Special case: subpkgs in other repos.

The situation is the following: you have a package which is in the frugalware repo, but you want its subpackage to be in extra. It's a but tricky, but still possible.

The trick is to create a fake FrugalBuild in the other repo. You could place it whereever you want, but to use repoman you need to place it under $fst/extra/source/subpkgs/pkgname, where pkgname is the name of the original main package.

How to create that fake FrugalBuild?

Copy the original one, but remove everything except the subfoo directives, pkgver and pkgrel. The next step is to clarify which subpackage have to be in which repo. This is done by removing the architectures from the subarchs() array.


The old main:

subpkgs=('foo' 'bar') subarchs=('i686 x86_64' 'i686 x86_64')

The new main: subpkgs=('foo' 'bar') subarchs=('i686 x86_64' '')

The new fake: subpkgs=('foo' 'bar') subarchs=('' 'i686 x86_64')

This means that bar is expected to be uploaded to extra, while foo is still in the frugal- ware repo. If you move all the subpackages to extra, then of course you can remove the whole subarchs() array from the main FrugalBuild. a few other notes:

  • it requires repoman from pacman-tools-0.6.3
  • subarchs() is no longer optional
  • as the fake FB is not in the current dir, if you record with repoman, it won't record the it!
  • i've added subarchs() to the existing packages and updated the skel file :)
  • for database generation it needs pacman from darcs, but probably you don't have to care about it as genesis runs that version