Dan McGee schrieb:
On Sat, Jan 17, 2009 at 6:56 AM, Pierre Schmitz <pierre@archlinux.de> wrote:
Am Samstag 17 Januar 2009 13:26:09 schrieb Allan McRae:
That PKGBUILD looks good to me. The only comment I have is that if someone does a "pacman -S phonon" they are going to get phonon-backend-gstreamer installed by default as this will be the first detected provider of phonon-backend. So people are going to want to do "pacman -S phonon-backend-foo" which will work because of the dependency cycle in there.
I really do not know how to handle this better. Maybe a post install message for phonon saying a backend is needed. I am sure there is another package like that in one of the repos but cannot remember what it is...
It is similar to the libgl stuff. If you install anything that depends on it pacman will grab fglrx or whatever comes first. So until pacman get some implementation to ask the user to choose from different providers, we'll have to live with that. But that are rare cases and not related to splitted packages.
The next one I'll try is php. It should be more complex but there won't be strange dependencies between sub packages.
Thanks a bunch for trying this out, Pierre. It should get it closer to release knowing someone is putting it through the paces with real packages.
-Dan _______________________________________________ pacman-dev mailing list pacman-dev@archlinux.org http://archlinux.org/mailman/listinfo/pacman-dev
Hello, we use Allan's split-package implementation quite a while without any problems... We did rebuilds of all 291 PKGBUILDs we have in our pool of packages and we have encountered no problems. We also test split packages and are in progress to split all packages for hardening into separate packages for binary and development contents (headers and static libs). I attached our PKGBUILD for bacula for reference. Thanks, Marc pkgname=('bacula-clinet' 'bacula-director' 'bacula-storage') pkgver=2.5.28_b1 pkgrel=0.6.0 pkgdesc='Bacula, the Network Backup Tool' arch=('i686' 'x86_64') depends=('acl' 'gcc' 'ncurses' 'openssl' 'python' 'zlib') url='http://www.bacula.org' license=('GPL') source=(http://downloads.sourceforge.net/${pkgname/-*}/${pkgname/-*}-${pkgver/_/-}.tar.gz) build() { cd ${srcdir}/${pkgname/-*}-${pkgver/_/-} if [ "${CARCH}" == "x86_64" ] then CC='gcc -m64' CXX='g++ -m64' ./configure --prefix=/usr \ --libdir=/usr/lib64 \ --sysconfdir=/etc/bacula --localstatedir=/var \ --with-working-dir=/var/spool/bacula \ --with-scriptdir=/usr/share/bacula \ --with-dir-user=bacula --with-dir-group=bacula \ --with-sd-user=root --with-sd-group=bacula \ --with-fd-user=root --with-fd-group=bacula \ --enable-smartalloc \ --with-openssl --with-python \ --without-tcp-wrappers --with-mysql else CC='gcc -m32' CXX='g++ -m32' ./configure --prefix=/usr \ --sysconfdir=/etc/bacula --localstatedir=/var \ --with-working-dir=/var/spool/bacula \ --with-scriptdir=/usr/share/bacula \ --with-dir-user=bacula --with-dir-group=bacula \ --with-sd-user=root --with-sd-group=bacula \ --with-fd-user=root --with-fd-group=bacula \ --enable-smartalloc \ --with-openssl --with-python \ --without-tcp-wrappers --with-mysql fi make } package_bacula-clinet() { cd ${srcdir}/${pkgname/-*}-${pkgver/_/-} make all_subdirs="src scripts src/lib src/findlib src/filed src/console \ src/plugins/fd manpages" DESTDIR=${pkgdir} install } package_bacula-director() { depends=('bacula-client' 'mysql') cd ${srcdir}/${pkgname/-*}-${pkgver/_/-} make all_subdirs="src/cats src/dird src/tools" DESTDIR=${pkgdir} install } package_bacula-storage() { depends=('bacula-client' 'mysql') cd ${srcdir}/${pkgname/-*}-${pkgver/_/-} make all_subdirs="src/stored" DESTDIR=${pkgdir} install }