summaryrefslogtreecommitdiffstats
path: root/src/sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/sh')
-rw-r--r--src/sh/dpkg-error.sh93
1 files changed, 93 insertions, 0 deletions
diff --git a/src/sh/dpkg-error.sh b/src/sh/dpkg-error.sh
new file mode 100644
index 0000000..b7f968e
--- /dev/null
+++ b/src/sh/dpkg-error.sh
@@ -0,0 +1,93 @@
+#
+# Copyright © 2010 Raphaël Hertzog <hertzog@debian.org>
+# Copyright © 2011-2015 Guillem Jover <guillem@debian.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+#
+# shellcheck shell=sh
+
+# Standard ANSI colors and attributes.
+COLOR_NORMAL=''
+COLOR_RESET=''
+COLOR_BOLD=''
+COLOR_BLACK=''
+COLOR_RED=''
+COLOR_GREEN=''
+COLOR_YELLOW=''
+COLOR_BLUE=''
+COLOR_MAGENTA=''
+COLOR_CYAN=''
+COLOR_WHITE=''
+COLOR_BOLD_BLACK=''
+COLOR_BOLD_RED=''
+COLOR_BOLD_GREEN=''
+COLOR_BOLD_YELLOW=''
+COLOR_BOLD_BLUE=''
+COLOR_BOLD_MAGENTA=''
+COLOR_BOLD_CYAN=''
+COLOR_BOLD_WHITE=''
+
+setup_colors()
+{
+ : "${DPKG_COLORS=auto}"
+
+ case "$DPKG_COLORS" in
+ auto)
+ if [ -t 1 ]; then
+ USE_COLORS=yes
+ else
+ USE_COLORS=no
+ fi
+ ;;
+ always)
+ USE_COLORS=yes
+ ;;
+ *)
+ USE_COLORS=no
+ ;;
+ esac
+
+ if [ $USE_COLORS = yes ]; then
+ COLOR_PROG="$COLOR_BOLD"
+ COLOR_INFO="$COLOR_GREEN"
+ COLOR_NOTICE="$COLOR_YELLOW"
+ COLOR_WARN="$COLOR_BOLD_YELLOW"
+ COLOR_ERROR="$COLOR_BOLD_RED"
+ else
+ COLOR_RESET=""
+ fi
+ FMT_PROG="$COLOR_PROG$PROGNAME$COLOR_RESET"
+}
+
+debug() {
+ if [ -n "$DPKG_DEBUG" ]; then
+ echo "DEBUG: $FMT_PROG: $*" >&2
+ fi
+}
+
+error() {
+ echo "$FMT_PROG: ${COLOR_ERROR}error${COLOR_RESET}: $*" >&2
+ exit 1
+}
+
+warning() {
+ echo "$FMT_PROG: ${COLOR_WARN}warning${COLOR_RESET}: $*" >&2
+}
+
+badusage() {
+ echo "$FMT_PROG: ${COLOR_ERROR}error${COLOR_RESET}: $1" >&2
+ echo >&2
+ echo "Use '$PROGNAME --help' for program usage information." >&2
+ exit 1
+}