summaryrefslogtreecommitdiff
path: root/src/libremessages
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2012-11-28 15:20:59 -0500
committerLuke Shumaker <LukeShu@sbcglobal.net>2012-11-28 15:20:59 -0500
commit00d67a5051e5d4163acffa80b7ef85f81f7e548f (patch)
tree2d27a49d659c7736871ca302eebc1df2d5ae3fa5 /src/libremessages
parentfd1e5a426713715d9c0e3fabbfe0d8a20b629bad (diff)
take (some) advantage of chroottools, fix some compatability things
mkarchroot/archroot's option parsing is a little less flexible (but a lot more understandable) than it was before.
Diffstat (limited to 'src/libremessages')
-rwxr-xr-xsrc/libremessages96
1 files changed, 31 insertions, 65 deletions
diff --git a/src/libremessages b/src/libremessages
index ff7476b..ccb5fb4 100755
--- a/src/libremessages
+++ b/src/libremessages
@@ -1,11 +1,11 @@
#!/bin/bash
-# Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
# Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
+# Copyright (c) 2006-2010 Pacman Development Team <pacman-dev@archlinux.org>
# Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
-# Copyright (c) 2006 by Miklos Vajna <vmiklos@frugalware.org>
# Copyright (c) 2005 by Christian Hamar <krics@linuxforum.hu>
# Copyright (c) 2006 by Alex Smith <alex@alex-smith.me.uk>
# Copyright (c) 2006 by Andras Voroskoi <voroskoi@frugalware.org>
+# Copyright (c) 2006 by Miklos Vajna <vmiklos@frugalware.org>
# Copyright (c) 2011 by Joshua Haase <hahj87@gmail.com>
#
# This program is free software; you can redistribute it and/or modify
@@ -21,70 +21,46 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# gettext initialization
-export TEXTDOMAIN='libretools'
-export TEXTDOMAINDIR='/usr/share/locale'
+################################################################################
+# Inherit most functions from devtools #
+################################################################################
-# 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)"
- PURPLE="${ALL_OFF}$(tput setaf 5)"
- 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"
- PURPLE="${BOLD}\033[1;30;40m"
- fi
-fi
-readonly ALL_OFF BOLD BLUE GREEN RED YELLOW PURPLE
+# This is only installed in Parabola's distribution of devtools, not Arch's
+. /usr/share/devtools/common.sh
-stdnull() {
- eval "$@ >/dev/null 2>&1"
-}
+################################################################################
+# gettext initialization #
+################################################################################
-plain() {
- local mesg=$1; shift
- printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
-}
+export TEXTDOMAIN='libretools'
+export TEXTDOMAINDIR='/usr/share/locale'
-msg() {
- local mesg=$1; shift
- printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
-}
+################################################################################
+# Devtools overrides #
+################################################################################
-msg2() {
- local mesg=$1; shift
- printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
-}
+# Override several functions with built-in text to uses gettext
warning() {
- local mesg=$1; shift
- printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
+ local mesg=$1; shift
+ printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
}
error() {
- local mesg=$1; shift
- printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
-}
-
-stat_busy() {
local mesg=$1; shift
- printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}...${ALL_OFF}" >&2
+ printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
}
stat_done() {
- printf "${BOLD}done${ALL_OFF}\n" >&2
+ printf "${BOLD}$(gettext "done")${ALL_OFF}\n" >&2
+}
+
+################################################################################
+# Own functions #
+################################################################################
+
+stdnull() {
+ eval "$@ >/dev/null 2>&1"
}
# Set the terminal title
@@ -97,19 +73,9 @@ term_title() {
printf "$fmt" "$*"
}
-# usage : in_array( $needle, $haystack )
-in_array() {
- [[ $2 ]] || return 1 # Not found
-
- local needle=$1; shift
- local item
-
- for item in "$@"; do
- [[ ${item#@} = $needle ]] && return 0 # Found
- done
-
- return 1 # Not Found
-}
+################################################################################
+# Run one of the defined functions if invoked directly #
+################################################################################
if [[ "${0##*/}" = libremessages ]]; then
_libremessages_cmd=$1