[pacman-dev] Splitting packages in makepkg
Xavier
shiningxc at gmail.com
Mon Jun 16 11:38:44 EDT 2008
On Sun, Jun 15, 2008 at 3:20 PM, Allan McRae <mcrae_allan at hotmail.com> wrote:
> So with a split package, the package part could be:
>
> #1) KDEmod style
>
> package_base() {
> #do base install
> }
>
> package_gui() {
> #override pkgname etc
> # do gui install
> }
>
>
> #2) Modified KDEmod style
>
> package() {
> # do base install
> }
>
>
> package_gui() {
> #override pkgname etc
> # do gui install
> }
>
>
> #3) case statement way
>
> package() {
> case "$1" in
> "base" )
> # do install stuff
> ;;
> "gui" )
> # override pkgname etc
> # do install stuff
> ;;
> esac
> }
>
>
> Now think about how we keep backwards compatibility with old PKGBUILDs
> that don't have a package function of any variety. Without split
> packages, we have to test if the package() function is present to decide
> whether or not the build() segment is run in fakeroot. This is
> compatible with splitting methods #2 and #3 where there is a package
> function but not with #1 which would require an additional check for the
> definition of a "split" array. Option #2 also suffers from the problem
> that there may not be a main part to package so it may not be obvious
> what should be in the package() function. Thus, I think option #2 can
> be excluded from here on.
>
> Option #1 is essentially what the KDEmod team have done and would only
> require an additional test for the "split" array to know what to use
> fakeroot on. However, you end up with as many package functions as
> there are sub-packages which itself makes the PKGBUILD less clear.
>
> Option #3 is my personal favorite as you still only have two functions -
> build and package. Admittedly the package function is slightly more
> complex when building a split package but if you wanted it simple, you
> would be using two PKGBUILDs instead of one. Still, I find it the
> cleaner of the options but I may be fighting a losing campaign here
> given option #1 is "in the wild"...
>
> In the end, I think splitting packages is a nice feature but I doubt I
> will use it frequently. So the decision should be weighted by those who
> would. Now the KDEmod team chose option #1. My question is: Was that
> because it was the best way or was it just because it worked? I think
> it would be good to combine the whole split packages, multiple package
> directories, minimal fake install ideas but I am still trying to decide
> what the best way to do this is.
>
>
What bothers me here is that the only question is asked directly to
the kdemod team. I am not sure they all follow this mailing list.
Maybe you should just ask them privately (have a look at the people
who contributed to that bug report).
But personally, I find that option #1 looks nicer ;)
More information about the pacman-dev
mailing list