summaryrefslogtreecommitdiff
path: root/libre
diff options
context:
space:
mode:
Diffstat (limited to 'libre')
-rw-r--r--libre/libretools/PKGBUILD16
-rw-r--r--libre/libretools/libretools.install64
2 files changed, 62 insertions, 18 deletions
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 <hahj87@gmail.com
-# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+# Contributor: Joshua Haase <hahj87@gmail.com
# Contributor: fauno <fauno@kiwwwi.com.ar>
# Contributor: Márcio Silva <coadde@lavabit.com>
@@ -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
}