Gentoo Archives: gnap-dev

From: codesite-noreply@××××××.com
To: gnap-dev@l.g.o
Subject: [gnap-dev] [gnap-dev commit] r115 - trunk/src
Date: Tue, 17 Jun 2008 19:23:37
Message-Id: 00163645777090b115044fe1adfb@google.com
1 Author: rieggepp
2 Date: Tue Jun 17 12:14:44 2008
3 New Revision: 115
4
5 Added:
6 trunk/src/gnap_shared.sh
7
8 Log:
9 This file is from Summer of Code 2007 patch set, forgot to add it.
10
11 Added: trunk/src/gnap_shared.sh
12 ==============================================================================
13 --- (empty file)
14 +++ trunk/src/gnap_shared.sh Tue Jun 17 12:14:44 2008
15 @@ -0,0 +1,107 @@
16 +NAME=$(basename "$0")
17 +
18 +case ${NAME} in
19 + gnap_make ) GNAP_PRODUCT="Build";;
20 + gnap_overlay ) GNAP_PRODUCT="Overlay";;
21 + gnap_remaster ) GNAP_PRODUCT="Remaster";;
22 + * ) GNAP_PRODUCT="Something";;
23 +esac
24 +
25 +GNAP_STAGE3FILE=${GNAP_STAGE3FILE:-"${GNAP_LIBDIR}/gnap-stage3seed.tar.bz2"}
26 +GNAP_SNAPSHOTFILE=${GNAP_SNAPSHOTFILE:-"${GNAP_LIBDIR}/gnap-portagesnapshot.tar.bz2"}
27 +GNAP_SPECS=${GNAP_SPECS:-"${GNAP_LIBDIR}/gnap-specs.tar.bz2"}
28 +GNAP_CORE=${GNAP_CORE:-"${GNAP_LIBDIR}/gnap-core.tar"}
29 +GNAP_MBR=${GNAP_MBR:-"${GNAP_LIBDIR}/mbr/mbr.bin"}
30 +GNAP_EXTDIR=${GNAP_EXTDIR:-"${GNAP_LIBDIR}/extensions"}
31 +GNAP_BASEFS=${GNAP_BASEFS:-"${GNAP_LIBDIR}/gnap-basefs.tar.bz2"}
32 +
33 +GNAP_FORCEYES=${GNAP_FORCEYES:-0}
34 +
35 +#CONTINUED=0
36 +TEMPDIR=''
37 +LOOP=''
38 +
39 +G=$'\e[32;01m' # green
40 +B=$'\e[31;01m' # red
41 +N=$'\e[0m' # neutral
42 +W=$'\e[33;01m' # yellow
43 +K=$'\e[34;01m' # blue
44 +C="$[$(set -- $(stty size 2>/dev/null); echo ${2}) - 7]" # end of line helper
45 +E=$'\e['${C}'G' # end of line
46 +
47 +ginfo() {
48 + echo -e " ${G}*${N} ${*}"
49 +}
50 +
51 +gwarn() {
52 + echo -e " ${W}*${N} ${*}"
53 +}
54 +
55 +gdie() {
56 + echo -e " ${B}*${N} ${*}"
57 + cleanup
58 + exit 1
59 +}
60 +
61 +
62 +gmkdir() {
63 + mkdir -p "$1"
64 + gtest continued $? "Failed to create \"$1\"."
65 +}
66 +
67 +gconfirm() {
68 + if [[ "${GNAP_FORCEYES}" -eq 1 ]]; then
69 + gwarn "${*} forced to yes"
70 + else
71 + read -ep " ${W}*${N} ${*} [N]: " answer
72 + [[ "${answer}" != 'y' && "${answer}" != 'Y' ]] && \
73 + gdie "${GNAP_PRODUCT} aborted!"
74 + fi
75 +}
76 +
77 +gbegin() {
78 +# [[ "${CONTINUED}" -eq 1 ]] && gdie "BUG triggered by gbegin()"
79 +
80 + echo -ne " ${G}*${N} ${*}..."
81 +# CONTINUED=1
82 +}
83 +
84 +gtest() {
85 +# # TODO: Remove this after removing all "gtest continued"
86 +# if [[ "${#}" -gt 0 && "${1}" == 'continued' ]]; then
87 +# shift
88 +# fi
89 + CONTINUED=0
90 + if [[ "${#}" -gt 0 && "${1}" == 'continued' ]]; then
91 + CONTINUED=1
92 + shift
93 + fi
94 +
95 + if [[ "${#}" -eq 0 || "${1}" -eq 0 ]]; then
96 + if [[ "${CONTINUED}" -eq 0 ]]; then
97 + echo -e "${E} ${K}[ ${G}ok${K} ]${N}"
98 + fi
99 + else
100 + echo -e "${E} ${K}[ ${B}!!${K} ]${N}"
101 + if [[ "${#}" -ge 2 ]]; then
102 + shift
103 + echo -en " ${B}*${N} ${*}"
104 + echo -e "${E} ${K}[ ${B}!!${K} ]${N}"
105 + fi
106 + gdie "${GNAP_PRODUCT} failed, try man ${NAME} for more help"
107 + fi
108 +}
109 +
110 +cleanup() {
111 + if [[ -n "${LOOP}" ]]; then
112 + gbegin 'Unmounting loop filesystem'
113 + umount "${LOOP}" && losetup -d "${LOOP}"
114 + gtest $? "Failed to unmount ${LOOP}"
115 + fi
116 + if [[ -d "${TEMPDIR}" ]]; then
117 + gbegin 'Cleaning temporary directories'
118 + rm -rf "${TEMPDIR}"
119 + gtest $? "Failed to remove ${DIRTOREMOVE}"
120 + TEMPDIR=''
121 + fi
122 +}
123 --
124 gnap-dev@l.g.o mailing list