On 01/28/2011 10:40 AM, Kirill Churin wrote:
> Why don't you look how do KDE packages currently handled in Arch? I think
> you can apply it's basic principles to your Trinity packages as well.
> 
> E.g.
> http://projects.archlinux.org/svntogit/packages.git/tree/kde-meta/trunk/PKGBUILD
> and
> it's deps…
> <http://projects.archlinux.org/svntogit/packages.git/tree/kde-meta/trunk/PKGBUILD>

That looks like the way to go. I can follow what it does, but I'm missing how
the kde-meta/PKGBUILD actually invokes the module PKGBUILDs (eg. kdebase). For
example, in kde-meta, I see:

pkgbase=kde-meta
pkgname=('kde-meta-kdeaccessibility'
         'kde-meta-kdeadmin'
         'kde-meta-kdeartwork'
         'kde-meta-kdebase'
<snip>

package_kde-meta-kdebase() {
        pkgdesc=('Meta package for kdebase')
        depends=('kdebase-dolphin'
                 'kdebase-kdepasswd'
                 'kdebase-kdialog'
                 'kdebase-kfind'
             'kdebase-keditbookmarks'
                 'kdebase-konqueror'
                 'kdebase-konsole'
                 'kdebase-kwrite'
                 'kdebase-plasma')
        replaces=('kdebase')
        conflicts=('kdebase')
}

Then in the kdebase/PKGBUILD I see:

pkgbase=kdebase
pkgname=('kdebase-dolphin'
         'kdebase-kdepasswd'
         'kdebase-kdialog'
         'kdebase-keditbookmarks'
<snip>
build()...
<snip>
package_kdebase-dolphin() {
        pkgdesc='File Manager'
        depends=('kdebase-runtime' 'kdebase-lib')
        optdepends=('ruby: servicemenu installation')
        url="http://kde.org/applications/system/dolphin/";
<snip>

But what I don't get is where is the magic that ties the kde-meta/PKGBUILD to
the kdebase/PKGBUILD?  I can't see where the kde-meta script calls anything to
trigger a build. Is there some magic in the 'package_' prefix, or, is it just a
road-map that gets read by a script that subsequently loops through the actual
kde/modules calling makepkg -s for each module?

Thanks for any help you can provide.

-- 
David C. Rankin, J.D.,P.E.

Reply via email to