From cf62bc5dddae442db71df15aff6a1fad56d08e13 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 2 Dec 2012 19:20:30 -0500 Subject: move common.sh back to the original location; don't use m4_include --- Makefile | 9 +-- checkpkg.in | 2 +- find-libdeps.in | 2 +- finddeps.in | 2 +- lddd.in | 2 +- lib/common.real.sh | 186 ---------------------------------------------------- lib/common.sh | 187 ++++++++++++++++++++++++++++++++++++++++++++++++++++- mkarchroot.in | 2 +- 8 files changed, 196 insertions(+), 196 deletions(-) delete mode 100644 lib/common.real.sh diff --git a/Makefile b/Makefile index 252b51a..a59c89e 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ V=20121128.6 PREFIX = /usr/local +pkgdatadir=$(PREFIX)/share/devtools BINPROGS = \ checkpkg \ @@ -13,9 +14,9 @@ SBINPROGS = \ all: $(BINPROGS) $(SBINPROGS) bash_completion zsh_completion -edit = sed -e "s|@pkgdatadir[@]|$(DESTDIR)$(PREFIX)/share/devtools|g" +edit = sed -e "s|@pkgdatadir[@]|$(pkgdatadir)|g" -%: %.in Makefile lib/common.sh +%: %.in Makefile @echo "GEN $@" @$(RM) "$@" @m4 -P $@.in | $(edit) >$@ @@ -28,7 +29,7 @@ clean: install: all install -dm0755 $(DESTDIR)$(PREFIX)/bin install -dm0755 $(DESTDIR)$(PREFIX)/sbin - install -dm0755 $(DESTDIR)$(PREFIX)/share/devtools + install -dm0755 $(DESTDIR)$(pkgdatadir) install -m0755 ${BINPROGS} $(DESTDIR)$(PREFIX)/bin # install -m0755 ${SBINPROGS} $(DESTDIR)$(PREFIX)/sbin @@ -36,7 +37,7 @@ install: all ln -sf find-libdeps $(DESTDIR)$(PREFIX)/bin/find-libprovides - install -m0644 lib/common.real.sh $(DESTDIR)$(PREFIX)/share/devtools/common.sh + install -m0644 lib/common.sh $(DESTDIR)$(pkgdatadir)/common.sh install -Dm0644 bash_completion $(DESTDIR)$(PREFIX)/share/bash-completion/completions/devtools install -Dm0644 zsh_completion $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_devtools diff --git a/checkpkg.in b/checkpkg.in index 95bf049..a761df7 100644 --- a/checkpkg.in +++ b/checkpkg.in @@ -1,6 +1,6 @@ #!/bin/bash -m4_include(lib/common.sh) +source @pkgdatadir@/common.sh # Source makepkg.conf; fail if it is not found if [[ -r '/etc/makepkg.conf' ]]; then diff --git a/find-libdeps.in b/find-libdeps.in index 36e2c43..7618850 100644 --- a/find-libdeps.in +++ b/find-libdeps.in @@ -1,6 +1,6 @@ #!/bin/bash -m4_include(lib/common.sh) +source @pkgdatadir@/common.sh set -e shopt -s extglob diff --git a/finddeps.in b/finddeps.in index 7a2a3fb..656fe5a 100644 --- a/finddeps.in +++ b/finddeps.in @@ -3,7 +3,7 @@ # finddeps - find packages that depend on a given depname # -m4_include(lib/common.sh) +source @pkgdatadir@/common.sh match=$1 diff --git a/lddd.in b/lddd.in index 43aa8c1..4040ce6 100644 --- a/lddd.in +++ b/lddd.in @@ -3,7 +3,7 @@ # lddd - find broken library links on your machine # -m4_include(lib/common.sh) +source @pkgdatadir@/common.sh ifs=$IFS IFS="${IFS}:" diff --git a/lib/common.real.sh b/lib/common.real.sh deleted file mode 100644 index d6fbe7c..0000000 --- a/lib/common.real.sh +++ /dev/null @@ -1,186 +0,0 @@ -# Avoid any encoding problems -export LANG=C - -# check if messages are to be printed using color -unset ALL_OFF BOLD BLUE GREEN RED YELLOW -if [[ -t 2 ]]; then - # prefer terminal safe colored and bold text when tput is supported - if tput setaf 0 &>/dev/null; then - ALL_OFF="$(tput sgr0)" - BOLD="$(tput bold)" - BLUE="${BOLD}$(tput setaf 4)" - GREEN="${BOLD}$(tput setaf 2)" - RED="${BOLD}$(tput setaf 1)" - YELLOW="${BOLD}$(tput setaf 3)" - else - ALL_OFF="\e[1;0m" - BOLD="\e[1;1m" - BLUE="${BOLD}\e[1;34m" - GREEN="${BOLD}\e[1;32m" - RED="${BOLD}\e[1;31m" - YELLOW="${BOLD}\e[1;33m" - fi -fi -readonly ALL_OFF BOLD BLUE GREEN RED YELLOW - -plain() { - local mesg=$1; shift - printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 -} - -msg() { - local mesg=$1; shift - printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 -} - -msg2() { - local mesg=$1; shift - printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 -} - -warning() { - local mesg=$1; shift - printf "${YELLOW}==> WARNING:${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 -} - -error() { - local mesg=$1; shift - printf "${RED}==> ERROR:${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 -} - -stat_busy() { - local mesg=$1; shift - printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}...${ALL_OFF}" >&2 -} - -stat_done() { - printf "${BOLD}done${ALL_OFF}\n" >&2 -} - -_setup_workdir=false -setup_workdir() { - [[ -z $WORKDIR ]] && WORKDIR=$(mktemp -d --tmpdir "${0##*/}.XXXXXXXXXX") - _setup_workdir=true - trap 'trap_abort' INT QUIT TERM HUP - trap 'trap_exit' EXIT -} - -cleanup() { - if [[ -n $WORKDIR ]] && $_setup_workdir; then - rm -rf "$WORKDIR" - fi - [[ -n $1 ]] && exit $1 -} - -abort() { - msg 'Aborting...' - cleanup 0 -} - -trap_abort() { - trap - EXIT INT QUIT TERM HUP - abort -} - -trap_exit() { - trap - EXIT INT QUIT TERM HUP - cleanup -} - -die() { - error "$*" - cleanup 1 -} - -## -# usage : in_array( $needle, $haystack ) -# return : 0 - found -# 1 - not found -## -in_array() { - local needle=$1; shift - local item - for item in "$@"; do - [[ $item = $needle ]] && return 0 # Found - done - return 1 # Not Found -} - -## -# usage : lock_open_write( $fd, $path, $wait_message ) -## -lock_open_write() { - local fd=$1 - local path=$2 - local msg=$3 - - # Only reopen the FD if it wasn't handed to us - if [[ $(readlink -f /dev/fd/$fd) != "${path}.lock" ]]; then - mkdir -p "${path%/*}" - eval "exec $fd>${path}.lock" - fi - - if ! flock -n $fd; then - stat_busy "$msg" - flock $fd - stat_done - fi -} - -## -# usage : lock_open_read( $fd, $path, $wait_message ) -## -lock_open_read() { - local fd=$1 - local path=$2 - local msg=$3 - - # Only reopen the FD if it wasn't handed to us - if [[ $(readlink -f /dev/fd/$fd) != "${path}.lock" ]]; then - mkdir -p "${path%/*}" - eval "exec $fd>${path}.lock" - fi - - if ! flock -sn $fd; then - stat_busy "$msg" - flock -s $fd - stat_done - fi -} - - -## -# usage : lock_close( $fd ) -## -lock_close() { - local fd=$1 - eval "exec $fd>&-" -} - -## -# usage : get_full_version( [$pkgname] ) -# return : full version spec, including epoch (if necessary), pkgver, pkgrel -## -get_full_version() { - # set defaults if they weren't specified in buildfile - pkgbase=${pkgbase:-${pkgname[0]}} - epoch=${epoch:-0} - if [[ -z $1 ]]; then - if [[ $epoch ]] && (( ! $epoch )); then - echo $pkgver-$pkgrel - else - echo $epoch:$pkgver-$pkgrel - fi - else - for i in pkgver pkgrel epoch; do - local indirect="${i}_override" - eval $(declare -f package_$1 | sed -n "s/\(^[[:space:]]*$i=\)/${i}_override=/p") - [[ -z ${!indirect} ]] && eval ${indirect}=\"${!i}\" - done - if (( ! $epoch_override )); then - echo $pkgver_override-$pkgrel_override - else - echo $epoch_override:$pkgver_override-$pkgrel_override - fi - fi -} diff --git a/lib/common.sh b/lib/common.sh index a45bf0a..d6fbe7c 100644 --- a/lib/common.sh +++ b/lib/common.sh @@ -1 +1,186 @@ -source /usr/share/devtools/common.sh +# Avoid any encoding problems +export LANG=C + +# check if messages are to be printed using color +unset ALL_OFF BOLD BLUE GREEN RED YELLOW +if [[ -t 2 ]]; then + # prefer terminal safe colored and bold text when tput is supported + if tput setaf 0 &>/dev/null; then + ALL_OFF="$(tput sgr0)" + BOLD="$(tput bold)" + BLUE="${BOLD}$(tput setaf 4)" + GREEN="${BOLD}$(tput setaf 2)" + RED="${BOLD}$(tput setaf 1)" + YELLOW="${BOLD}$(tput setaf 3)" + else + ALL_OFF="\e[1;0m" + BOLD="\e[1;1m" + BLUE="${BOLD}\e[1;34m" + GREEN="${BOLD}\e[1;32m" + RED="${BOLD}\e[1;31m" + YELLOW="${BOLD}\e[1;33m" + fi +fi +readonly ALL_OFF BOLD BLUE GREEN RED YELLOW + +plain() { + local mesg=$1; shift + printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +msg() { + local mesg=$1; shift + printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +msg2() { + local mesg=$1; shift + printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +warning() { + local mesg=$1; shift + printf "${YELLOW}==> WARNING:${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +error() { + local mesg=$1; shift + printf "${RED}==> ERROR:${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +stat_busy() { + local mesg=$1; shift + printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}...${ALL_OFF}" >&2 +} + +stat_done() { + printf "${BOLD}done${ALL_OFF}\n" >&2 +} + +_setup_workdir=false +setup_workdir() { + [[ -z $WORKDIR ]] && WORKDIR=$(mktemp -d --tmpdir "${0##*/}.XXXXXXXXXX") + _setup_workdir=true + trap 'trap_abort' INT QUIT TERM HUP + trap 'trap_exit' EXIT +} + +cleanup() { + if [[ -n $WORKDIR ]] && $_setup_workdir; then + rm -rf "$WORKDIR" + fi + [[ -n $1 ]] && exit $1 +} + +abort() { + msg 'Aborting...' + cleanup 0 +} + +trap_abort() { + trap - EXIT INT QUIT TERM HUP + abort +} + +trap_exit() { + trap - EXIT INT QUIT TERM HUP + cleanup +} + +die() { + error "$*" + cleanup 1 +} + +## +# usage : in_array( $needle, $haystack ) +# return : 0 - found +# 1 - not found +## +in_array() { + local needle=$1; shift + local item + for item in "$@"; do + [[ $item = $needle ]] && return 0 # Found + done + return 1 # Not Found +} + +## +# usage : lock_open_write( $fd, $path, $wait_message ) +## +lock_open_write() { + local fd=$1 + local path=$2 + local msg=$3 + + # Only reopen the FD if it wasn't handed to us + if [[ $(readlink -f /dev/fd/$fd) != "${path}.lock" ]]; then + mkdir -p "${path%/*}" + eval "exec $fd>${path}.lock" + fi + + if ! flock -n $fd; then + stat_busy "$msg" + flock $fd + stat_done + fi +} + +## +# usage : lock_open_read( $fd, $path, $wait_message ) +## +lock_open_read() { + local fd=$1 + local path=$2 + local msg=$3 + + # Only reopen the FD if it wasn't handed to us + if [[ $(readlink -f /dev/fd/$fd) != "${path}.lock" ]]; then + mkdir -p "${path%/*}" + eval "exec $fd>${path}.lock" + fi + + if ! flock -sn $fd; then + stat_busy "$msg" + flock -s $fd + stat_done + fi +} + + +## +# usage : lock_close( $fd ) +## +lock_close() { + local fd=$1 + eval "exec $fd>&-" +} + +## +# usage : get_full_version( [$pkgname] ) +# return : full version spec, including epoch (if necessary), pkgver, pkgrel +## +get_full_version() { + # set defaults if they weren't specified in buildfile + pkgbase=${pkgbase:-${pkgname[0]}} + epoch=${epoch:-0} + if [[ -z $1 ]]; then + if [[ $epoch ]] && (( ! $epoch )); then + echo $pkgver-$pkgrel + else + echo $epoch:$pkgver-$pkgrel + fi + else + for i in pkgver pkgrel epoch; do + local indirect="${i}_override" + eval $(declare -f package_$1 | sed -n "s/\(^[[:space:]]*$i=\)/${i}_override=/p") + [[ -z ${!indirect} ]] && eval ${indirect}=\"${!i}\" + done + if (( ! $epoch_override )); then + echo $pkgver_override-$pkgrel_override + else + echo $epoch_override:$pkgver_override-$pkgrel_override + fi + fi +} diff --git a/mkarchroot.in b/mkarchroot.in index e62c1cf..ebedcba 100644 --- a/mkarchroot.in +++ b/mkarchroot.in @@ -8,7 +8,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -m4_include(lib/common.sh) +source @pkgdatadir@/common.sh CHROOT_VERSION='v2' -- cgit v1.2.2