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
> [email protected]
> http://archlinux.org/mailman/listinfo/arch
>
_______________________________________________
arch mailing list
[email protected]
http://archlinux.org/mailman/listinfo/arch