# Maintainer: Luke Shumaker # Maintainer (AUR): Jochen Schalanda # Contributor (AUR): Pierre Carrier # Contributor (AUR): Thomas Dziedzic # Contributor (AUR): Chris Giles # Contributor (AUR): seblu # Contributor (AUR): squiddo pkgbase=dpkg #pkgname=(dpkg dpkg-devtools dselect libdpkg perl-dpkg) pkgname=(dpkg-devtools perl-dpkg) pkgdesc="Debian Package manager and utilities" license=('GPL2') pkgver=1.16.10 url="http://packages.debian.org/source/sid/dpkg" _debrepo=http://ftp.debian.org/debian/pool/main pkgrel=1.3 arch=('i686' 'x86_64' 'mips64el') depends=('bzip2' 'xz' 'zlib' 'ncurses') checkdepends=('perl-test-pod') makedepends=('perl-io-string' 'perl-timedate') _debfile() { echo "${_debrepo}/${1:0:1}/${1}/${1}_${2}"; } source=("$(_debfile ${pkgbase} ${pkgver}).tar.xz" dpkg-gzip-rsyncable.patch) ###################################################################### # This is really gross. # It uses the debian control files to help us split the package. # Shame on the dpkg developers for not putting that logic into the build system. _destdir="$pkgbase-$pkgver/debian/pkg-makepkg" _debhelper_install() { local debname=$1 cd "$srcdir/$_destdir" # main files sed -e '/^\s*$/d' -e 's|usr/share/perl5/|&vendor_perl/|g' ../$debname.install \ | while read pattern dest; do if [[ -z $dest ]]; then for file in $pattern; do install -d "$pkgdir/${file%/*}" cp -a "$file" "$pkgdir/$file" || true done else install -d "$pkgdir/$dest/" cp -a "$pattern" "$pkgdir/$dest/" || true fi done # manpages sed -e 's|^debian/tmp/||' -e '/^\s*$/d' ../$debname.manpages 2>/dev/null \ | while read pattern; do for file in $pattern; do install -d "$pkgdir/${file%/*}" cp -a "$file" "$pkgdir/$file" || true done done # other documentation install -d "$pkgdir/usr/share/doc/$pkgname/" sed '/^\s*$/d' ../$debname.docs 2>/dev/null \ | while read file; do gzip \ < "$srcdir/$pkgbase-$pkgver/$file" \ > "$pkgdir/usr/share/doc/$pkgname/${file##*/}.gz" done # symlinks sed '/^\s*$/d' ../$debname.links 2>/dev/null \ | while read file link; do ln -s "/$file" "$pkgdir/$link" done } ###################################################################### build() { cd "${srcdir}/${pkgbase}-${pkgver}" patch -Np0 -i "${srcdir}/dpkg-gzip-rsyncable.patch" ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --with-zlib --with-bz2 --with-liblzma make make DESTDIR="$srcdir/$_destdir" install } check() { cd "${srcdir}/${pkgbase}-${pkgver}" make check } package_dpkg() { pkgdesc="Debian Package manager" provides+=(start-stop-daemon) conflicts+=(start-stop-daemon) _debhelper_install dpkg } package_dpkg-devtools() { pkgdesc="Debian Package development tools" arch=(any) depends+=(perl-dpkg) _debhelper_install dpkg-dev } package_dselect() { pkgdesc="Debian Package manager high-level interface" _debhelper_install dselect } package_libdpkg() { pkgdesc="Debian Package manager library (static)" _debhelper_install libdpkg-dev } package_perl-dpkg() { pkgdesc="Debian Package perl modules" arch=(any) _debhelper_install libdpkg-perl } md5sums=('4df9319b2d17e19cdb6fe94dacee44da' '5ab63758999e9bb10f84bce79a0307b2' '74b7ce3045690a8fc290104f10cf8d42') md5sums=('a20a06a5272717274a8b009368f237da' '5ab63758999e9bb10f84bce79a0307b2')