From 3a4442cb264557db9ef544c1a1f1b38d2061827a Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 20 Jan 2014 17:58:33 -0500 Subject: update libre/dpkg --- libre/dpkg/PKGBUILD | 185 ++++++++++++++++++++--------------- libre/dpkg/dpkg-gzip-rsyncable.patch | 19 ++-- 2 files changed, 115 insertions(+), 89 deletions(-) diff --git a/libre/dpkg/PKGBUILD b/libre/dpkg/PKGBUILD index 806194577..99681df3e 100644 --- a/libre/dpkg/PKGBUILD +++ b/libre/dpkg/PKGBUILD @@ -12,20 +12,38 @@ pkgname=(dpkg-devtools perl-dpkg) pkgdesc="Debian Package manager and utilities" license=('GPL2') -pkgver=1.16.10 +pkgver=1.17.6 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') +pkgrel=1 +options=('staticlibs') + +if ! type in_array &>/dev/null; then + in_array() { + local i + for i in "${@:2}"; do [[ $i = "$1" ]] && return 0; done + return 1 + } +fi + +# The architecture dependent bits aren't packaged with the reduced pkgname +arch=('any') +for _pkg in dpkg dselect libdpkg; do + if in_array "$_pkg" "${pkgname[@]}"; then + arch=('i686' 'x86_64' 'mips64el') + fi +done +unset _pkg + +makedepends=('bzip2' 'xz' 'zlib' 'ncurses') +checkdepends=('gzip' 'perl-test-pod' 'perl-io-string' 'perl-timedate') -_debfile() { echo "${_debrepo}/${1:0:1}/${1}/${1}_${2}"; } -source=("$(_debfile ${pkgbase} ${pkgver}).tar.xz" +_debrepo=http://ftp.debian.org/debian/pool/main +_debfile() { echo "${_debrepo}/${1:0:1}/${1%_*}/${1}"; } +source=("$(_debfile ${pkgbase}_${pkgver}).tar.xz" dpkg-gzip-rsyncable.patch) +md5sums=('c87f2ae291d460015353e01d121bea85' + '9c77a553e3219dcd29b7ff44b89d718d') ###################################################################### @@ -34,97 +52,104 @@ source=("$(_debfile ${pkgbase} ${pkgver}).tar.xz" # 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 + 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 + sed '/^\s*$/d' ../$debname.docs 2>/dev/null | + while read file; do + install -d "$pkgdir/usr/share/doc/$pkgname/" + 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" +prepare() { + cd "${srcdir}/${pkgbase}-${pkgver}" + # {Arch Linux,Parabola}'s gzip doesn't support --rsyncable + patch -Np1 -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 +build() { + cd "${srcdir}/${pkgbase}-${pkgver}" + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --sysconfdir=/etc \ + --sbindir=/sbin \ + --localstatedir=/var \ + --with-zlib \ + --with-liblzma \ + --with-bz2 + make + make DESTDIR="$srcdir/$_destdir" install } check() { - cd "${srcdir}/${pkgbase}-${pkgver}" - make check + cd "${srcdir}/${pkgbase}-${pkgver}" + make check } package_dpkg() { - pkgdesc="Debian Package manager" - provides+=(start-stop-daemon) - conflicts+=(start-stop-daemon) - _debhelper_install dpkg + pkgdesc="Debian Package manager" + depends=('zlib' 'xz' 'bzip2') + _debhelper_install dpkg } package_dpkg-devtools() { - pkgdesc="Debian Package development tools" - arch=(any) - depends+=(perl-dpkg) - _debhelper_install dpkg-dev + 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 + pkgdesc="Debian Package manager high-level interface" + depends=('dpkg' 'perl' 'ncurses') + _debhelper_install dselect } package_libdpkg() { - pkgdesc="Debian Package manager library (static)" - _debhelper_install libdpkg-dev + pkgdesc="Debian Package manager library (static)" + _debhelper_install libdpkg-dev } package_perl-dpkg() { - pkgdesc="Debian Package perl modules" - arch=(any) - _debhelper_install libdpkg-perl + pkgdesc="Debian Package Perl modules" + arch=('any') + depends=('perl-timedate' 'gzip' 'bzip2' 'xz') + _debhelper_install libdpkg-perl } - -md5sums=('4df9319b2d17e19cdb6fe94dacee44da' - '5ab63758999e9bb10f84bce79a0307b2' - '74b7ce3045690a8fc290104f10cf8d42') -md5sums=('a20a06a5272717274a8b009368f237da' - '5ab63758999e9bb10f84bce79a0307b2') diff --git a/libre/dpkg/dpkg-gzip-rsyncable.patch b/libre/dpkg/dpkg-gzip-rsyncable.patch index 3daf6d76e..187633874 100644 --- a/libre/dpkg/dpkg-gzip-rsyncable.patch +++ b/libre/dpkg/dpkg-gzip-rsyncable.patch @@ -1,11 +1,12 @@ ---- ./scripts/Dpkg/Compression.pm.orig 2012-04-27 04:49:02.000000000 +0200 -+++ ./scripts/Dpkg/Compression.pm 2012-05-27 22:23:18.530628795 +0200 -@@ -52,7 +52,7 @@ +diff -ruN dpkg-1.17.6.orig/scripts/Dpkg/Compression.pm dpkg-1.17.6/scripts/Dpkg/Compression.pm +--- dpkg-1.17.6.orig/scripts/Dpkg/Compression.pm 2014-01-15 09:02:16.000000000 -0500 ++++ dpkg-1.17.6/scripts/Dpkg/Compression.pm 2014-01-19 23:22:39.771215424 -0500 +@@ -50,7 +50,7 @@ my $COMP = { - "gzip" => { - "file_ext" => "gz", -- "comp_prog" => [ "gzip", "--no-name", "--rsyncable" ], -+ "comp_prog" => [ "gzip", "--no-name" ], - "decomp_prog" => [ "gunzip" ], - "default_level" => 9, + gzip => { + file_ext => 'gz', +- comp_prog => [ 'gzip', '--no-name', '--rsyncable' ], ++ comp_prog => [ 'gzip', '--no-name' ], + decomp_prog => [ 'gunzip' ], + default_level => 9, }, -- cgit v1.2.3-2-g168b From 182f7683a74e0838c85245376af173ecb46fd8d4 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Tue, 21 Jan 2014 20:22:07 -0500 Subject: mv libre{-testing,}/libretools --- libre-testing/libretools/PKGBUILD | 91 ----------------------------- libre-testing/libretools/libretools.install | 72 ----------------------- libre/libretools/PKGBUILD | 16 ++--- libre/libretools/libretools.install | 64 ++++++++++++++++---- 4 files changed, 62 insertions(+), 181 deletions(-) delete mode 100644 libre-testing/libretools/PKGBUILD delete mode 100644 libre-testing/libretools/libretools.install diff --git a/libre-testing/libretools/PKGBUILD b/libre-testing/libretools/PKGBUILD deleted file mode 100644 index 51d33f1cd..000000000 --- a/libre-testing/libretools/PKGBUILD +++ /dev/null @@ -1,91 +0,0 @@ -# Maintainer: Luke Shumaker -# Contributor: Joshua Haase -# Contributor: Márcio Silva - -pkgbase=libretools -pkgname=(libretools libretools-mips64el librelib gitget) -pkgdesc="Programs for Parabola development" -url="https://projects.parabolagnulinux.org/packages/libretools.git/" -license=('GPL3' 'GPL2') - -pkgver=20140120.1 -_libretools_commit=641002eff37a30eb2b8237b15b74cc15b4d9f822 -_devtools_commit=534d2015b45e013b37e1edbb997bd4df27d7b8fd - -_packages_url=https://projects.parabolagnulinux.org/packages -source=($_packages_url/libretools.git/snapshot/libretools-$_libretools_commit.tar.bz2 - $_packages_url/devtools-par.git/snapshot/devtools-par-$_devtools_commit.tar.bz2) - -pkgrel=1 -arch=('any') -makedepends=(emacs ronn) # emacs --batch is used during the build to process text -checkdepends=(sh-roundup) - -build() { - cd "$srcdir" - ln -sf devtools-par-$_devtools_commit devtools-par - cd "$srcdir/$pkgbase-$_libretools_commit" - make build-libretools build-libretools-mips64el build-librelib build-doc -} - -check() { - cd "$srcdir/$pkgbase-$_libretools_commit" - - SUDO_USER= make check TESTENVFLAGS='--no-network --no-sudo' -} - -package_librelib() { - pkgdesc="Shell library portion of libretools" - depends=( - wget # `aur` and `lib/blacklist.sh` - ) - - cd "$srcdir/$pkgbase-$_libretools_commit" - make install-librelib DESTDIR="$pkgdir" -} - -package_gitget() { - depends=("librelib=$pkgver" git) - - provides=("libregit=$pkgver") - conflicts=("libregit") - replaces=("libregit") - - cd "$srcdir/$pkgbase-$_libretools_commit" - make install-gitget DESTDIR="$pkgdir" -} - -package_libretools() { - backup=(etc/libretools.conf etc/libretools.d/chroot.conf etc/libretools.d/librefetch.conf) - install=libretools.install - replaces=(chroottools) - conflicts=(devtools) - - depends=( - "librelib=$pkgver" - "gitget=$pkgver" # `createworkdir` - arch-install-scripts # `archroot` uses `pacstrap` - openssh # `librerelease` - rsync # `librerelease` and `makechrootpkg.sh` - subversion # `diff-unfree` - tokyocabinet # `treepkg` - ) - optdepends=('namcap: to check package files') - - cd "$srcdir/$pkgbase-$_libretools_commit" - make install-libretools install-doc DESTDIR="$pkgdir" -} - -package_libretools-mips64el() { - pkgdesc="Scripts for Parabola development (for mips64el architecture)" - depends=("$pkgbase=$pkgver" - git # mips-add - ) - - cd "$srcdir/$pkgbase-$_libretools_commit" - make install-libretools-mips64el DESTDIR="$pkgdir" -} - -md5sums=('8991b27aed494b60f33c84dd48aea874' - 'ec69dffa68829f063224de19bbd55fa9') diff --git a/libre-testing/libretools/libretools.install b/libre-testing/libretools/libretools.install deleted file mode 100644 index 35edf68c7..000000000 --- a/libre-testing/libretools/libretools.install +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/sh - -_edit_code=" 'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'" -_edit_cmnt='#%s # commented out by the libretools post_install script' - -_add_cmnt='# The following line is added by the libretools post_install script' -_add_code='DLAGENTS+=({https,libre}'\''::/usr/bin/librefetch -p "$BUILDFILE" -- %u %o'\'')' - -# These lines were installed by previous versions of this script -_old_code=( - '[[ ! -x /usr/bin/librefetch ]] || DLAGENTS+=("libre::/usr/bin/librefetch -p \"\$BUILDFILE\" %u %o")' - '[[ ! -x /usr/bin/librefetch ]] || DLAGENTS+=({https,libre}"::/usr/bin/librefetch -p \"\$BUILDFILE\" -- %u %o")' - 'DLAGENTS+=({https,libre}"::/usr/bin/librefetch -p $(printf "%q" "$BUILDFILE") -- %u %o")' -) - -# has_line $line -has_line() { grep -Fxq -- "$1" etc/makepkg.conf; } -# add_line $line -add_line() { printf '%s\n' "$1" >> etc/makepkg.conf; } -# del_line $line -del_line() { - local lineno=($(grep -Fxn -- "$1" etc/makepkg.conf | cut -d: -f1)) - if [[ "${#lineno[@]}" -gt 0 ]]; then - sed -i "$(printf '%dd;' "${lineno[@]}")" etc/makepkg.conf; - fi -} -# rep_line $orig $replacement_bre -rep_line() { - local lineno=($(grep -Fxn -- "$1" etc/makepkg.conf | cut -d: -f1)) - if [[ "${#lineno[@]}" == 1 ]]; then - sed -i "${lineno}s|.*|${2//|/\\|}|" etc/makepkg.conf; - fi -} - -# arg 1: the new package version -post_install() { - if grep -q 'librefetch' etc/makepkg.conf; then - libremessages msg2 "libretools: librefetch is already in /etc/makepkg.conf" - local line del=false - for line in "${_old_code[@]}"; do - if has_line "$line"; then - pre_remove - post_install - return $? - fi - done - else - libremessages msg2 "libretools: adding librefetch to /etc/makepkg.conf" - rep_line "$_edit_code" "$(printf "$_edit_cmnt" '&')" - add_line "$_add_cmnt" - add_line "$_add_code" - fi -} - -## arg 1: the new package version -## arg 2: the old package version -post_upgrade() { - post_install -} - -pre_remove() { - libremessages msg2 "libretools: removing librefetch from /etc/makepkg.conf" - - rep_line "$(printf "$_edit_cmnt" "$_edit_code")" "$_edit_code" - del_line "$_add_cmnt" - del_line "$_add_code" - - local line - for line in "${_old_code[@]}"; do - del_line "$line" - done -} diff --git a/libre/libretools/PKGBUILD b/libre/libretools/PKGBUILD index 569706f80..51d33f1cd 100644 --- a/libre/libretools/PKGBUILD +++ b/libre/libretools/PKGBUILD @@ -1,5 +1,5 @@ -# Maintainer: Joshua Haase +# Maintainer: Luke Shumaker +# Contributor: Joshua Haase # Contributor: Márcio Silva @@ -9,9 +9,9 @@ pkgdesc="Programs for Parabola development" url="https://projects.parabolagnulinux.org/packages/libretools.git/" license=('GPL3' 'GPL2') -pkgver=20131112 -_libretools_commit=0f03eb7ac94ad72f551eb1b2470b850d6bcf8bf0 -_devtools_commit=021653a0acecc8763e1bbe90dbb770b4e6df4390 +pkgver=20140120.1 +_libretools_commit=641002eff37a30eb2b8237b15b74cc15b4d9f822 +_devtools_commit=534d2015b45e013b37e1edbb997bd4df27d7b8fd _packages_url=https://projects.parabolagnulinux.org/packages source=($_packages_url/libretools.git/snapshot/libretools-$_libretools_commit.tar.bz2 @@ -64,8 +64,8 @@ package_libretools() { depends=( "librelib=$pkgver" + "gitget=$pkgver" # `createworkdir` arch-install-scripts # `archroot` uses `pacstrap` - git # `createworkdir` openssh # `librerelease` rsync # `librerelease` and `makechrootpkg.sh` subversion # `diff-unfree` @@ -87,5 +87,5 @@ package_libretools-mips64el() { make install-libretools-mips64el DESTDIR="$pkgdir" } -md5sums=('81e6d3d6fe1964a407a4520ce0916c0d' - '656008e8e35e6adba527b7bfc367b9f7') +md5sums=('8991b27aed494b60f33c84dd48aea874' + 'ec69dffa68829f063224de19bbd55fa9') diff --git a/libre/libretools/libretools.install b/libre/libretools/libretools.install index d46990da8..35edf68c7 100644 --- a/libre/libretools/libretools.install +++ b/libre/libretools/libretools.install @@ -1,14 +1,54 @@ #!/bin/sh -_makepkgconf_append='[[ ! -x /usr/bin/librefetch ]] || DLAGENTS+=("libre::/usr/bin/librefetch -p \"\$BUILDFILE\" %u %o")' +_edit_code=" 'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'" +_edit_cmnt='#%s # commented out by the libretools post_install script' + +_add_cmnt='# The following line is added by the libretools post_install script' +_add_code='DLAGENTS+=({https,libre}'\''::/usr/bin/librefetch -p "$BUILDFILE" -- %u %o'\'')' + +# These lines were installed by previous versions of this script +_old_code=( + '[[ ! -x /usr/bin/librefetch ]] || DLAGENTS+=("libre::/usr/bin/librefetch -p \"\$BUILDFILE\" %u %o")' + '[[ ! -x /usr/bin/librefetch ]] || DLAGENTS+=({https,libre}"::/usr/bin/librefetch -p \"\$BUILDFILE\" -- %u %o")' + 'DLAGENTS+=({https,libre}"::/usr/bin/librefetch -p $(printf "%q" "$BUILDFILE") -- %u %o")' +) + +# has_line $line +has_line() { grep -Fxq -- "$1" etc/makepkg.conf; } +# add_line $line +add_line() { printf '%s\n' "$1" >> etc/makepkg.conf; } +# del_line $line +del_line() { + local lineno=($(grep -Fxn -- "$1" etc/makepkg.conf | cut -d: -f1)) + if [[ "${#lineno[@]}" -gt 0 ]]; then + sed -i "$(printf '%dd;' "${lineno[@]}")" etc/makepkg.conf; + fi +} +# rep_line $orig $replacement_bre +rep_line() { + local lineno=($(grep -Fxn -- "$1" etc/makepkg.conf | cut -d: -f1)) + if [[ "${#lineno[@]}" == 1 ]]; then + sed -i "${lineno}s|.*|${2//|/\\|}|" etc/makepkg.conf; + fi +} # arg 1: the new package version post_install() { - if grep -q 'libre::' etc/makepkg.conf; then + if grep -q 'librefetch' etc/makepkg.conf; then libremessages msg2 "libretools: librefetch is already in /etc/makepkg.conf" + local line del=false + for line in "${_old_code[@]}"; do + if has_line "$line"; then + pre_remove + post_install + return $? + fi + done else - libremessages msg2 "libretools: Adding librefetch to /etc/makepkg.conf" - printf '%s\n' "$_makepkgconf_append" >> etc/makepkg.conf + libremessages msg2 "libretools: adding librefetch to /etc/makepkg.conf" + rep_line "$_edit_code" "$(printf "$_edit_cmnt" '&')" + add_line "$_add_cmnt" + add_line "$_add_code" fi } @@ -19,10 +59,14 @@ post_upgrade() { } pre_remove() { - if fgrep -q "$_makepkgconf_append" etc/makepkg.conf; then - libremessages msg2 "libretools: removing librefetch from /etc/makepkg.conf" - sed -i '/libre::/d' etc/makepkg.conf - else - libremessages msg2 "libretools: librefetch is not in /etc/makepkg.conf as we added it" - fi + libremessages msg2 "libretools: removing librefetch from /etc/makepkg.conf" + + rep_line "$(printf "$_edit_cmnt" "$_edit_code")" "$_edit_code" + del_line "$_add_cmnt" + del_line "$_add_code" + + local line + for line in "${_old_code[@]}"; do + del_line "$line" + done } -- cgit v1.2.3-2-g168b