diff options
Diffstat (limited to 'libre/libretools/libretools.install')
-rw-r--r-- | libre/libretools/libretools.install | 56 |
1 files changed, 10 insertions, 46 deletions
diff --git a/libre/libretools/libretools.install b/libre/libretools/libretools.install index a451add36..d46990da8 100644 --- a/libre/libretools/libretools.install +++ b/libre/libretools/libretools.install @@ -1,49 +1,14 @@ #!/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='[[ ! -x /usr/bin/librefetch ]] || DLAGENTS+=({https,libre}"::/usr/bin/librefetch -p \"\$BUILDFILE\" -- %u %o")' - -# This line was installed by previous versions of this script -_old_code='[[ ! -x /usr/bin/librefetch ]] || DLAGENTS+=("libre::/usr/bin/librefetch -p \"\$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 -} +_makepkgconf_append='[[ ! -x /usr/bin/librefetch ]] || DLAGENTS+=("libre::/usr/bin/librefetch -p \"\$BUILDFILE\" %u %o")' # arg 1: the new package version post_install() { - if grep -q 'librefetch' etc/makepkg.conf; then + if grep -q 'libre::' etc/makepkg.conf; then libremessages msg2 "libretools: librefetch is already in /etc/makepkg.conf" - if has_line "$_old_code"; then - libremessages msg2 "libretools: removing old librefetch entry in /etc/makepkg.conf" - del_line "$_old_code" - post_install - else - return 0 - fi 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" + libremessages msg2 "libretools: Adding librefetch to /etc/makepkg.conf" + printf '%s\n' "$_makepkgconf_append" >> etc/makepkg.conf fi } @@ -54,11 +19,10 @@ post_upgrade() { } 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" - - del_line "$_old_code" + 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 } |