On 9/27/07, Allan McRae <[EMAIL PROTECTED]> wrote: > > Essien Ita Essien wrote: > > sounds interesting... very. Can you give s snippet from the resuling > > PKGBUILD? sorry i'm a bit slow with _only_ textual descriptions :) > > > > > OK - see if this helps. > > Firstly the case where one package is split-up. For example the gcc > PKGBUILD would look something like (with much stealing from current > package builds): > > build() > { > .... > make || return 1 > } > > package() > { > #main > make -j1 DESTDIR=${startdir}/pkg/main install || return 1 > rm -f ${startdir}/pkg/main/usr/lib/lib* > find ${startdir}/pkg/main -name libstdc++.mo -delete > > #lib > make -j1 DESTDIR=${startdir}/pkg/lib install-target-libstdc++-v3 > install-target-libmudflap install-target-libgomp install-target-libssp > || return 1 > rm -rf ${startdir}/pkg/lib/usr/include > rm -rf ${startdir}/pkg/lib/usr/lib/gcc > rm -rf ${startdir}/pkg/lib/usr/bin > rm -rf ${startdir}/pkg/lib/usr{,share}/man > find ${startdir}/pkg/lib -name gcc.mo -delete > > #obc > ... > } > > Note the gcc package is installed in ${startdir}/pkg/main and the > gcc-libs is installed in ${startdir}/pkg/libs. That is it.... no other > tricks!
Sounds great! Now the slightly more difficult case of supporting different > configurations. I'll use ettercap as an example as I have looked at it > recently (see http://bugs.archlinux.org/task/4051 ). Basically, it can > have an optional GTK interface. So you would end up with something like > > build > { > cd $startdir/src/$origname-$origver > > case "$1" in > "gtk" ) > ./configure --prefix=/usr --sysconfdir=/etc --enable-plugins > --enable-https > ;; > * ) > ./configure --prefix=/usr --sysconfdir=/etc --enable-plugins > --enable-https --disable-gtk > ;; > esac > > make || return 1 > make DESTDIR=$startdir/pkg install > > ... > } > > This would work with "makepkg" using the default case (*) and making > package ettercap. "makepkg gtk" would make ettercap-gtk. If we were > building foo-mysql and foo-prestgres then the default case would be > "return 1" or some other error. A little bit "too compiicated" for me, but may just for me too. Note that I have concerns that this way of providing multiple > configuration options may make things too complicated with needing case > statements for provides/conflicts, configure options, etc... But then > again, it may still be better than providing multiple PKGBUILDS. I'm > still trying to improve this so more suggestions are alway welcome! :) > > Allan > > > > > _______________________________________________ > arch mailing list > arch@archlinux.org > http://archlinux.org/mailman/listinfo/arch >
_______________________________________________ arch mailing list arch@archlinux.org http://archlinux.org/mailman/listinfo/arch