1 |
Author: rieggepp |
2 |
Date: Tue Jun 17 11:55:55 2008 |
3 |
New Revision: 110 |
4 |
|
5 |
Modified: |
6 |
trunk/src/gnap_make |
7 |
trunk/tools/gnap_overlay |
8 |
trunk/tools/gnap_remaster |
9 |
|
10 |
Log: |
11 |
Applied 03-gnap-namespace.patch from Summer of Code 2007. |
12 |
|
13 |
Modified: trunk/src/gnap_make |
14 |
============================================================================== |
15 |
--- trunk/src/gnap_make (original) |
16 |
+++ trunk/src/gnap_make Tue Jun 17 11:55:55 2008 |
17 |
@@ -1,9 +1,9 @@ |
18 |
#!/bin/bash |
19 |
-GNAPVERSION='2.0' |
20 |
+VERSION='2.0' |
21 |
|
22 |
-GNAPLIBDIR='/usr/lib/gnap' |
23 |
-source ${GNAPLIBDIR}/gnap_shared.sh |
24 |
-echo "GNAP Core Building tool ${GNAPNAME} version ${GNAPVERSION}" |
25 |
+GNAP_LIBDIR='/usr/lib/gnap' |
26 |
+source ${GNAP_LIBDIR}/gnap_shared.sh |
27 |
+echo "GNAP Core Building tool ${NAME} version ${VERSION}" |
28 |
|
29 |
usage() { |
30 |
echo 'Options:' |
31 |
@@ -17,7 +17,7 @@ |
32 |
echo ' -c catalyst.conf Use specific catalyst.conf file' |
33 |
echo ' -e specs Specs directory or tar.bz2 file' |
34 |
echo |
35 |
- echo "Please use man ${GNAPNAME} for more details." |
36 |
+ echo "Please use man ${NAME} for more details." |
37 |
} |
38 |
|
39 |
if [[ "$#" -eq 0 ]]; then |
40 |
@@ -28,58 +28,64 @@ |
41 |
gbegin 'Checking parameters' |
42 |
|
43 |
# Catalyst executable and config file |
44 |
-CATALYST_BIN="/usr/bin/catalyst" |
45 |
-CATALYST_CONF="/etc/catalyst/catalyst.conf" |
46 |
+GNAP_CATALYST_BIN="/usr/bin/catalyst" |
47 |
+GNAP_CATALYST_CONF="/etc/catalyst/catalyst.conf" |
48 |
|
49 |
# Read options |
50 |
+GNAP_STAGE3=0 |
51 |
+GNAP_LIVECD1=0 |
52 |
+GNAP_LIVECD2=0 |
53 |
+GNAP_TARBALL=0 |
54 |
+GNAP_MODULES=0 |
55 |
+GNAP_STAMP=$(date +%Y%m%d) |
56 |
NOTARGET=1 |
57 |
-STAMP=$(date +%Y%m%d) |
58 |
+NEEDS_SNAPSHOT=0 |
59 |
while getopts ':hs:p:m:o:v:t:fl:c:e:' option; do |
60 |
case ${option} in |
61 |
h ) |
62 |
usage |
63 |
exit 0;; |
64 |
- s ) STAGE3FILE="${OPTARG}";; |
65 |
- p ) SNAPSHOTFILE="${OPTARG}";; |
66 |
- o ) PORTAGE_OVERLAYS="${PORTAGE_OVERLAYS} ${OPTARG}";; |
67 |
- v ) STAMP="${OPTARG}";; |
68 |
+ s ) GNAP_STAGE3FILE="${OPTARG}";; |
69 |
+ p ) GNAP_SNAPSHOTFILE="${OPTARG}";; |
70 |
+ o ) GNAP_PORTAGE_OVERLAYS="${GNAP_PORTAGE_OVERLAYS} ${OPTARG}";; |
71 |
+ v ) GNAP_STAMP="${OPTARG}";; |
72 |
t ) |
73 |
case "${OPTARG}" in |
74 |
all ) |
75 |
- STAGE3=1 |
76 |
- LIVECD1=1 |
77 |
- LIVECD2=1 |
78 |
- TARBALL=1 |
79 |
- MODULES=1 |
80 |
+ GNAP_STAGE3=1 |
81 |
+ GNAP_LIVECD1=1 |
82 |
+ GNAP_LIVECD2=1 |
83 |
+ GNAP_TARBALL=1 |
84 |
+ GNAP_MODULES=1 |
85 |
NEEDS_SNAPSHOT=1;; |
86 |
stage3 ) |
87 |
- STAGE3=1 |
88 |
+ GNAP_STAGE3=1 |
89 |
NEEDS_SNAPSHOT=1;; |
90 |
livecd-stage1 ) |
91 |
- LIVECD1=1 |
92 |
+ GNAP_LIVECD1=1 |
93 |
NEEDS_SNAPSHOT=1;; |
94 |
livecd-stage2 ) |
95 |
- LIVECD2=1 |
96 |
+ GNAP_LIVECD2=1 |
97 |
NEEDS_SNAPSHOT=1;; |
98 |
tarball ) |
99 |
- TARBALL=1;; |
100 |
+ GNAP_TARBALL=1;; |
101 |
extensions ) |
102 |
- MODULES=1 |
103 |
+ GNAP_MODULES=1 |
104 |
NEEDS_SNAPSHOT=1;; |
105 |
* ) gtest 1 'Specified stage is unknown!';; |
106 |
esac |
107 |
NOTARGET=0;; |
108 |
- f ) FORCEYES=1;; |
109 |
- l ) GNAPLOGPREFIX="${OPTARG}";; |
110 |
- c ) CATALYST_CONF="${OPTARG}";; |
111 |
- e ) SPECS="${OPTARG}";; |
112 |
+ f ) GNAP_FORCEYES=1;; |
113 |
+ l ) GNAP_LOGPREFIX="${OPTARG}";; |
114 |
+ c ) GNAP_CATALYST_CONF="${OPTARG}";; |
115 |
+ e ) GNAP_SPECS="${OPTARG}";; |
116 |
* ) gtest 1 'Specified options are incomplete or unknown!';; |
117 |
esac |
118 |
done |
119 |
|
120 |
# Root is needed |
121 |
test "${EUID}" -eq 0 |
122 |
-gtest continued $? "You need to be root to run ${GNAPNAME}" |
123 |
+gtest continued $? "You need to be root to run ${NAME}" |
124 |
|
125 |
# Setting up temporary directory |
126 |
TEMPDIR=$(mktemp -d -t gnap_make.XXXXXX) |
127 |
@@ -87,15 +93,15 @@ |
128 |
|
129 |
# Prepare specs dir and check common.conf file |
130 |
SPECDIR="${TEMPDIR}/specs" |
131 |
-if [[ -f "${SPECS}" ]]; then |
132 |
+if [[ -f "${GNAP_SPECS}" ]]; then |
133 |
gmkdir "${SPECDIR}" |
134 |
- tar jx -f "${SPECS}" -C "${SPECDIR}" |
135 |
+ tar jx -f "${GNAP_SPECS}" -C "${SPECDIR}" |
136 |
gtest continued $? 'Failed to unpack specs' |
137 |
-elif [[ -d "${SPECS}" ]]; then |
138 |
- cp -rp "${SPECS}" "${SPECDIR}" |
139 |
+elif [[ -d "${GNAP_SPECS}" ]]; then |
140 |
+ cp -rp "${GNAP_SPECS}" "${SPECDIR}" |
141 |
gtest continued $? 'Failed to copy specs directory contents' |
142 |
else |
143 |
- gtest continued 1 "${SPECS} not found, provide a valid -e option" |
144 |
+ gtest continued 1 "${GNAP_SPECS} not found, provide a valid -e option" |
145 |
fi |
146 |
test -f "${SPECDIR}/common.conf" |
147 |
gtest continued $? "Incorrect specdir: ${SPECDIR}/common.conf not found!" |
148 |
@@ -108,9 +114,9 @@ |
149 |
fi |
150 |
|
151 |
# catalyst.conf file |
152 |
-test -f "${CATALYST_CONF}" |
153 |
-gtest continued $? "${CATALYST_CONF} file not found!" |
154 |
-source "${CATALYST_CONF}" |
155 |
+test -f "${GNAP_CATALYST_CONF}" |
156 |
+gtest continued $? "${GNAP_CATALYST_CONF} file not found!" |
157 |
+source "${GNAP_CATALYST_CONF}" |
158 |
|
159 |
# At least one target is needed |
160 |
test "${NOTARGET}" -eq 0 |
161 |
@@ -121,76 +127,76 @@ |
162 |
gmkdir "${storedir}" |
163 |
|
164 |
# Stage3 needs a seed stage |
165 |
-if [[ "${STAGE3}" -eq 1 ]]; then |
166 |
- test -f "${STAGE3FILE}" |
167 |
+if [[ "${GNAP_STAGE3}" -eq 1 ]]; then |
168 |
+ test -f "${GNAP_STAGE3FILE}" |
169 |
gtest continued $? 'The "-s" option needs to designate a valid seed stage' |
170 |
fi |
171 |
|
172 |
# Snapshot must exist if a stage is selected |
173 |
if [[ "${NEEDS_SNAPSHOT}" -eq 1 ]]; then |
174 |
- test -f "${SNAPSHOTFILE}" |
175 |
- gtest continued $? "Can't find ${SNAPSHOTFILE}" |
176 |
+ test -f "${GNAP_SNAPSHOTFILE}" |
177 |
+ gtest continued $? "Can't find ${GNAP_SNAPSHOTFILE}" |
178 |
fi |
179 |
|
180 |
# Seed stage if needed must be an existing file |
181 |
-if [[ "${STAGE3}" -eq 1 ]]; then |
182 |
- test -f "${STAGE3FILE}" |
183 |
- gtest continued $? "${STAGE3FILE} is not a valid stage3 tarball" |
184 |
+if [[ "${GNAP_STAGE3}" -eq 1 ]]; then |
185 |
+ test -f "${GNAP_STAGE3FILE}" |
186 |
+ gtest continued $? "${GNAP_STAGE3FILE} is not a valid stage3 tarball" |
187 |
fi |
188 |
|
189 |
# If extensions and no stage3, warn that we'll use seedstage as stage3 |
190 |
-STAGE3LOC="${storedir}/builds/${RELTYPE}/stage3-${SUBARCH}-${STAMP}.tar.bz2" |
191 |
-if [[ "${MODULES}" -eq 1 || "${LIVECD1}" -eq 1 ]]; then |
192 |
- if [[ "${STAGE3}" -ne 1 && ! -f "${STAGE3LOC}" ]]; then |
193 |
+STAGE3LOC="${storedir}/builds/${RELTYPE}/stage3-${SUBARCH}-${GNAP_STAMP}.tar.bz2" |
194 |
+if [[ "${GNAP_MODULES}" -eq 1 || "${GNAP_LIVECD1}" -eq 1 ]]; then |
195 |
+ if [[ "${GNAP_STAGE3}" -ne 1 && ! -f "${STAGE3LOC}" ]]; then |
196 |
gwarn '"livecd-stage1" or "extensions" was selected without "stage3".' |
197 |
gconfirm 'Should I use the seed stage as stage3 result?' |
198 |
gmkdir "${storedir}/builds/${RELTYPE}" |
199 |
- cp "${STAGE3FILE}" "${STAGE3LOC}" |
200 |
+ cp "${GNAP_STAGE3FILE}" "${STAGE3LOC}" |
201 |
fi |
202 |
fi |
203 |
|
204 |
# Explain what will get built |
205 |
-if [[ "${STAGE3}" -eq 1 ]]; then |
206 |
+if [[ "${GNAP_STAGE3}" -eq 1 ]]; then |
207 |
TARGETLIST='[stage3] ' |
208 |
fi |
209 |
-if [[ "${LIVECD1}" -eq 1 ]]; then |
210 |
+if [[ "${GNAP_LIVECD1}" -eq 1 ]]; then |
211 |
TARGETLIST="${TARGETLIST}[livecd-stage1] " |
212 |
fi |
213 |
-if [[ "${LIVECD2}" -eq 1 ]]; then |
214 |
+if [[ "${GNAP_LIVECD2}" -eq 1 ]]; then |
215 |
TARGETLIST="${TARGETLIST}[livecd-stage2] " |
216 |
fi |
217 |
-if [[ "${TARBALL}" -eq 1 ]]; then |
218 |
+if [[ "${GNAP_TARBALL}" -eq 1 ]]; then |
219 |
TARGETLIST="${TARGETLIST}[tarball] " |
220 |
fi |
221 |
-if [[ "${MODULES}" -eq 1 ]]; then |
222 |
+if [[ "${GNAP_MODULES}" -eq 1 ]]; then |
223 |
TARGETLIST="${TARGETLIST}[extensions]" |
224 |
fi |
225 |
ginfo 'The following targets will be called:' |
226 |
ginfo "${TARGETLIST}" |
227 |
|
228 |
# Confirm tarball overwrite if TARBALL stage selected |
229 |
-if [[ "${TARBALL}" -eq 1 && -e "gnap-${GNAPVERSION}-${STAMP}.tar" ]]; then |
230 |
- gconfirm "gnap-${GNAPVERSION}-${STAMP}.tar already exists, overwrite" |
231 |
+if [[ "${GNAP_TARBALL}" -eq 1 && |
232 |
-e "gnap-${VERSION}-${GNAP_STAMP}.tar" ]]; then |
233 |
+ gconfirm "gnap-${VERSION}-${GNAP_STAMP}.tar already exists, overwrite" |
234 |
fi |
235 |
|
236 |
# Logfile setup and confirmation |
237 |
-if [[ -z "$GNAPLOGPREFIX" ]]; then |
238 |
- GNAPLOGPREFIX="./${GNAPNAME}-${STAMP}" |
239 |
+if [[ -z "$GNAP_LOGPREFIX" ]]; then |
240 |
+ GNAP_LOGPREFIX="./${NAME}-${GNAP_STAMP}" |
241 |
fi |
242 |
|
243 |
-if [[ -f "${GNAPLOGPREFIX}.out" || -f "${GNAPLOGPREFIX}.err" ]]; then |
244 |
- if [[ "${FORCEYES}" -ne 1 ]]; then |
245 |
+if [[ -f "${GNAP_LOGPREFIX}.out" || -f "${GNAP_LOGPREFIX}.err" ]]; then |
246 |
+ if [[ "${GNAP_FORCEYES}" -ne 1 ]]; then |
247 |
read -ep \ |
248 |
" ${W}*${N} Logfile(s) already exists. Append/Overwrite [A]: " \ |
249 |
answer |
250 |
if [[ "${answer}" == 'o' || "${answer}" == 'O' ]]; then |
251 |
- rm "${GNAPLOGPREFIX}.out" "${GNAPLOGPREFIX}.err" |
252 |
+ rm "${GNAP_LOGPREFIX}.out" "${GNAP_LOGPREFIX}.err" |
253 |
fi |
254 |
fi |
255 |
fi |
256 |
-touch "${GNAPLOGPREFIX}.out" |
257 |
-touch "${GNAPLOGPREFIX}.err" |
258 |
-SEELOGFILES="see ${GNAPLOGPREFIX}.err and .out for details" |
259 |
+touch "${GNAP_LOGPREFIX}.out" |
260 |
+touch "${GNAP_LOGPREFIX}.err" |
261 |
+SEELOGFILES="see ${GNAP_LOGPREFIX}.err and .out for details" |
262 |
|
263 |
# Snapshot preparation |
264 |
if [[ "${NEEDS_SNAPSHOT}" -eq 1 ]]; then |
265 |
@@ -198,34 +204,34 @@ |
266 |
|
267 |
gmkdir "${storedir}/snapshots" |
268 |
|
269 |
- if [[ -z "${PORTAGE_OVERLAYS}" ]]; then |
270 |
- cp "${SNAPSHOTFILE}" "${storedir}/snapshots/portage-${STAMP}.tar.bz2" |
271 |
+ if [[ -z "${GNAP_PORTAGE_OVERLAYS}" ]]; then |
272 |
+ cp "${GNAP_SNAPSHOTFILE}" "${storedir}/snapshots/portage-${GNAP_STAMP}.tar.bz2" |
273 |
gtest $? "Snapshot preparation failed, ${SEELOGFILES}" |
274 |
else |
275 |
TEMPPRTDIR="${TEMPDIR}/portage" |
276 |
gmkdir "${TEMPPRTDIR}" |
277 |
|
278 |
- tar jxf "${SNAPSHOTFILE}" -C "${TEMPPRTDIR}" \ |
279 |
- >> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err" |
280 |
+ tar jxf "${GNAP_SNAPSHOTFILE}" -C "${TEMPPRTDIR}" \ |
281 |
+ >> "${GNAP_LOGPREFIX}.out" 2>> "${GNAP_LOGPREFIX}.err" |
282 |
|
283 |
- for overlay in ${PORTAGE_OVERLAYS} ; do |
284 |
+ for overlay in ${GNAP_PORTAGE_OVERLAYS} ; do |
285 |
cp -rp ${overlay}/* "${TEMPPRTDIR}/portage" |
286 |
gtest continued $? "Failed to copy ${overlay}" |
287 |
done |
288 |
|
289 |
- tar jcf "${storedir}/snapshots/portage-${STAMP}.tar.bz2" \ |
290 |
+ tar jcf "${storedir}/snapshots/portage-${GNAP_STAMP}.tar.bz2" \ |
291 |
-C "${TEMPPRTDIR}" . \ |
292 |
- >> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err" |
293 |
+ >> "${GNAP_LOGPREFIX}.out" 2>> "${GNAP_LOGPREFIX}.err" |
294 |
gtest $? "Snapshot preparation failed, ${SEELOGFILES}" |
295 |
fi |
296 |
fi |
297 |
|
298 |
# Stage3 phase |
299 |
-if [[ "${STAGE3}" -eq 1 ]]; then |
300 |
+if [[ "${GNAP_STAGE3}" -eq 1 ]]; then |
301 |
gbegin "${G}[stage3]${N} stage (base system build)" |
302 |
|
303 |
gmkdir "${storedir}/builds/${RELTYPE}" |
304 |
- cp "${STAGE3FILE}" "${storedir}/builds/${RELTYPE}/seedstage.tar.bz2" |
305 |
+ cp "${GNAP_STAGE3FILE}" "${storedir}/builds/${RELTYPE}/seedstage.tar.bz2" |
306 |
|
307 |
TEMPCONF="${TEMPDIR}/stage3.conf" |
308 |
touch "${TEMPCONF}" |
309 |
@@ -235,20 +241,20 @@ |
310 |
${DISTCCSPEC} |
311 |
subarch: ${SUBARCH} |
312 |
rel_type: ${RELTYPE} |
313 |
-snapshot: ${STAMP} |
314 |
-version_stamp: ${STAMP} |
315 |
+snapshot: ${GNAP_STAMP} |
316 |
+version_stamp: ${GNAP_STAMP} |
317 |
profile: ${PROFILE} |
318 |
source_subpath: ${RELTYPE}/seedstage |
319 |
portage_confdir: ${SPECDIR}/portage_confdir |
320 |
EOF |
321 |
- $CATALYST_BIN -c "${CATALYST_CONF}" -f "${TEMPCONF}" \ |
322 |
- >> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err" |
323 |
+ $GNAP_CATALYST_BIN -c "${GNAP_CATALYST_CONF}" -f "${TEMPCONF}" \ |
324 |
+ >> "${GNAP_LOGPREFIX}.out" 2>> "${GNAP_LOGPREFIX}.err" |
325 |
gtest $? "[stage3] failed, ${SEELOGFILES}" |
326 |
rm "${storedir}/builds/${RELTYPE}/seedstage.tar.bz2" |
327 |
fi |
328 |
|
329 |
# LIVECD-STAGE1 phase |
330 |
-if [[ "${LIVECD1}" -eq 1 ]]; then |
331 |
+if [[ "${GNAP_LIVECD1}" -eq 1 ]]; then |
332 |
gbegin "${G}[livecd-stage1]${N} stage (GNAP-specific packages build)" |
333 |
TEMPCONF="${TEMPDIR}/livecd-stage1.conf" |
334 |
touch "${TEMPCONF}" |
335 |
@@ -258,21 +264,21 @@ |
336 |
${DISTCCSPEC} |
337 |
subarch: ${SUBARCH} |
338 |
rel_type: ${RELTYPE} |
339 |
-snapshot: ${STAMP} |
340 |
-version_stamp: ${STAMP} |
341 |
+snapshot: ${GNAP_STAMP} |
342 |
+version_stamp: ${GNAP_STAMP} |
343 |
profile: ${PROFILE} |
344 |
-source_subpath: ${RELTYPE}/stage3-${SUBARCH}-${STAMP} |
345 |
+source_subpath: ${RELTYPE}/stage3-${SUBARCH}-${GNAP_STAMP} |
346 |
portage_confdir: ${SPECDIR}/portage_confdir |
347 |
EOF |
348 |
cat "${SPECDIR}/packages.conf" >> "${TEMPCONF}" |
349 |
|
350 |
- $CATALYST_BIN -c "${CATALYST_CONF}" -f "${TEMPCONF}" \ |
351 |
- >> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err" |
352 |
+ $GNAP_CATALYST_BIN -c "${GNAP_CATALYST_CONF}" -f "${TEMPCONF}" \ |
353 |
+ >> "${GNAP_LOGPREFIX}.out" 2>> "${GNAP_LOGPREFIX}.err" |
354 |
gtest $? "[livecd-stage1] failed, ${SEELOGFILES}" |
355 |
fi |
356 |
|
357 |
# LIVECD-STAGE2 phase |
358 |
-if [[ "${LIVECD2}" -eq 1 ]]; then |
359 |
+if [[ "${GNAP_LIVECD2}" -eq 1 ]]; then |
360 |
gbegin "${G}[livecd-stage2]${N} stage (kernel and LiveCD builds)" |
361 |
TEMPCONF="${TEMPDIR}/livecd-stage2.conf" |
362 |
touch "${TEMPCONF}" |
363 |
@@ -282,30 +288,30 @@ |
364 |
${DISTCCSPEC} |
365 |
subarch: ${SUBARCH} |
366 |
rel_type: ${RELTYPE} |
367 |
-snapshot: ${STAMP} |
368 |
-version_stamp: ${STAMP} |
369 |
+snapshot: ${GNAP_STAMP} |
370 |
+version_stamp: ${GNAP_STAMP} |
371 |
profile: ${PROFILE} |
372 |
-source_subpath: ${RELTYPE}/livecd-stage1-${SUBARCH}-${STAMP} |
373 |
+source_subpath: ${RELTYPE}/livecd-stage1-${SUBARCH}-${GNAP_STAMP} |
374 |
boot/kernel/gentoo/sources: ${KERNEL_SOURCES} |
375 |
boot/kernel/gentoo/config: ${SPECDIR}/kernel.config |
376 |
-boot/kernel/gentoo/extraversion: GNAP-${GNAPVERSION} |
377 |
-livecd/iso: gnap-${GNAPVERSION}-${STAMP}.iso |
378 |
+boot/kernel/gentoo/extraversion: GNAP-${VERSION} |
379 |
+livecd/iso: gnap-${VERSION}-${GNAP_STAMP}.iso |
380 |
livecd/fsscript: ${SPECDIR}/fsscript |
381 |
livecd/root_overlay: ${SPECDIR}/root_overlay |
382 |
EOF |
383 |
cat "${SPECDIR}/livecd.conf" >> "${TEMPCONF}" |
384 |
|
385 |
- $CATALYST_BIN -c "${CATALYST_CONF}" -f "${TEMPCONF}" \ |
386 |
- >> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err" |
387 |
+ $GNAP_CATALYST_BIN -c "${GNAP_CATALYST_CONF}" -f "${TEMPCONF}" \ |
388 |
+ >> "${GNAP_LOGPREFIX}.out" 2>> "${GNAP_LOGPREFIX}.err" |
389 |
gtest $? "[livecd-stage2] failed, ${SEELOGFILES}" |
390 |
fi |
391 |
|
392 |
# TARBALL phase |
393 |
-if [[ "${TARBALL}" -eq 1 ]]; then |
394 |
+if [[ "${GNAP_TARBALL}" -eq 1 ]]; then |
395 |
gbegin "${G}[tarball]${N} phase (Creation of core and basefs components)" |
396 |
- test -e "gnap-${GNAPVERSION}-${STAMP}.iso" |
397 |
- gtest continued $? "No gnap-${GNAPVERSION}-${STAMP}.iso file to convert !" |
398 |
- test -d "${storedir}/tmp/gnap/livecd-stage1-${SUBARCH}-${STAMP}" |
399 |
+ test -e "gnap-${VERSION}-${GNAP_STAMP}.iso" |
400 |
+ gtest continued $? "No gnap-${VERSION}-${GNAP_STAMP}.iso file to convert !" |
401 |
+ test -d "${storedir}/tmp/gnap/livecd-stage1-${SUBARCH}-${GNAP_STAMP}" |
402 |
gtest $? 'Missing livecd-stage2 results' |
403 |
|
404 |
gbegin ' Creating core component' |
405 |
@@ -314,7 +320,7 @@ |
406 |
TEMPISODIR="${TEMPDIR}/iso" |
407 |
gmkdir "${TEMPISODIR}" |
408 |
|
409 |
- mount -o loop "gnap-${GNAPVERSION}-${STAMP}.iso" ${TEMPMNTDIR} && \ |
410 |
+ mount -o loop "gnap-${VERSION}-${GNAP_STAMP}.iso" ${TEMPMNTDIR} && \ |
411 |
cp -r ${TEMPMNTDIR}/* ${TEMPISODIR} |
412 |
gtest continued $? 'Failed to mount ISO and copy files' |
413 |
umount "${TEMPMNTDIR}" |
414 |
@@ -324,23 +330,23 @@ |
415 |
cp "${SPECDIR}/isolinux/syslinux.cfg" ${TEMPISODIR}/ |
416 |
cp "${SPECDIR}/isolinux/boot.msg" ${TEMPISODIR}/isolinux/ |
417 |
DATE=$(date --utc) |
418 |
- echo "GNAP-${GNAPVERSION}-${STAMP} built on ${DATE}" \ |
419 |
+ echo "GNAP-${VERSION}-${GNAP_STAMP} built on ${DATE}" \ |
420 |
>> "${TEMPISODIR}/isolinux/boot.msg" |
421 |
|
422 |
- tar cf "gnap-${GNAPVERSION}-${STAMP}.tar" -C "${TEMPISODIR}" . |
423 |
+ tar cf "gnap-${VERSION}-${GNAP_STAMP}.tar" -C "${TEMPISODIR}" . |
424 |
gtest $? 'Failed to create tarball' |
425 |
- rm "gnap-${GNAPVERSION}-${STAMP}.iso" |
426 |
+ rm "gnap-${VERSION}-${GNAP_STAMP}.iso" |
427 |
|
428 |
gbegin ' Creating basefs component' |
429 |
- tar jcf "gnap-basefs-${GNAPVERSION}-${STAMP}.tar.bz2" \ |
430 |
- -C "${storedir}/tmp/gnap/livecd-stage2-${SUBARCH}-${STAMP}" . |
431 |
+ tar jcf "gnap-basefs-${VERSION}-${GNAP_STAMP}.tar.bz2" \ |
432 |
+ -C "${storedir}/tmp/gnap/livecd-stage2-${SUBARCH}-${GNAP_STAMP}" . |
433 |
gtest $? 'Unable to create basefs tarball' |
434 |
fi |
435 |
|
436 |
# EXTENSIONS phase |
437 |
-if [[ "${MODULES}" -eq 1 ]]; then |
438 |
+if [[ "${GNAP_MODULES}" -eq 1 ]]; then |
439 |
gbegin "${G}[extensions]${N} stage start" |
440 |
- GRP_PREFIX="${storedir}/builds/${RELTYPE}/grp-${SUBARCH}-${STAMP}" |
441 |
+ GRP_PREFIX="${storedir}/builds/${RELTYPE}/grp-${SUBARCH}-${GNAP_STAMP}" |
442 |
SPECMODULE="${SPECDIR}/extensions.conf" |
443 |
mod_list=$(grep '^extensions:' "${SPECMODULE}" 2>/dev/null); |
444 |
mod_list="${mod_list/extensions:/}" |
445 |
@@ -362,25 +368,25 @@ |
446 |
${DISTCCSPEC} |
447 |
subarch: ${SUBARCH} |
448 |
rel_type: ${RELTYPE} |
449 |
-snapshot: ${STAMP} |
450 |
-version_stamp: ${STAMP} |
451 |
+snapshot: ${GNAP_STAMP} |
452 |
+version_stamp: ${GNAP_STAMP} |
453 |
profile: ${PROFILE} |
454 |
-source_subpath: ${RELTYPE}/stage3-${SUBARCH}-${STAMP} |
455 |
+source_subpath: ${RELTYPE}/stage3-${SUBARCH}-${GNAP_STAMP} |
456 |
grp: ${mod_name} |
457 |
grp/use: ${mod_useflags} |
458 |
grp/${mod_name}/type: pkgset |
459 |
grp/${mod_name}/packages: ${mod_packlist} |
460 |
EOF |
461 |
|
462 |
- $CATALYST_BIN -c "${CATALYST_CONF}" -f "${TEMPCONF}" \ |
463 |
- >> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err" |
464 |
+ $GNAP_CATALYST_BIN -c "${GNAP_CATALYST_CONF}" -f "${TEMPCONF}" \ |
465 |
+ >> "${GNAP_LOGPREFIX}.out" 2>> "${GNAP_LOGPREFIX}.err" |
466 |
gtest continued $? "Extension build failed, ${SEELOGFILES}" |
467 |
|
468 |
TEMPMODULEDIR="${TEMPDIR}/module_${mod_name}" |
469 |
gmkdir "${TEMPMODULEDIR}" |
470 |
for pkg in $( ls ${GRP_PREFIX}/${mod_name}/All/*.tbz2 ); do |
471 |
tar jxf $pkg -C "${TEMPMODULEDIR}" -p \ |
472 |
- >> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err" |
473 |
+ >> "${GNAP_LOGPREFIX}.out" 2>> "${GNAP_LOGPREFIX}.err" |
474 |
done |
475 |
gtest continued $? 'Failed to unpack extension packages' |
476 |
|
477 |
@@ -392,9 +398,9 @@ |
478 |
rm -rf ${mod_rmlist} |
479 |
gtest continued $? 'Failed to apply extension cleanup instructions' |
480 |
|
481 |
- tar jcf "gnapext_${mod_name}-${STAMP}.tbz2" \ |
482 |
+ tar jcf "gnapext_${mod_name}-${GNAP_STAMP}.tbz2" \ |
483 |
-C "${TEMPMODULEDIR}" . \ |
484 |
- >> "${GNAPLOGPREFIX}.out" 2>> "${GNAPLOGPREFIX}.err" |
485 |
+ >> "${GNAP_LOGPREFIX}.out" 2>> "${GNAP_LOGPREFIX}.err" |
486 |
gtest $? 'Failed to build extension file' |
487 |
done |
488 |
fi |
489 |
|
490 |
Modified: trunk/tools/gnap_overlay |
491 |
============================================================================== |
492 |
--- trunk/tools/gnap_overlay (original) |
493 |
+++ trunk/tools/gnap_overlay Tue Jun 17 11:55:55 2008 |
494 |
@@ -1,17 +1,15 @@ |
495 |
#!/bin/bash |
496 |
VERSION='2.0' |
497 |
|
498 |
-GNAPLIBDIR='/usr/lib/gnap' |
499 |
-source ${GNAPLIBDIR}/gnap_shared.sh |
500 |
-echo "GNAP overlay tool ${GNAPNAME} ${VERSION}" |
501 |
- |
502 |
-IMG_SIZE=15 |
503 |
+GNAP_LIBDIR='/usr/lib/gnap' |
504 |
+source ${GNAP_LIBDIR}/gnap_shared.sh |
505 |
+echo "GNAP overlay tool ${NAME} ${VERSION}" |
506 |
|
507 |
usage() { |
508 |
echo |
509 |
echo 'Usage:' |
510 |
- echo " ${GNAPNAME} -i isoname -o overlay [ options ]" |
511 |
- echo " ${GNAPNAME} -d hostdisk -r rootdev -o overlay [ options ]" |
512 |
+ echo " ${NAME} -i isoname -o overlay [ options ]" |
513 |
+ echo " ${NAME} -d hostdisk -r rootdev -o overlay [ options ]" |
514 |
echo |
515 |
echo 'Common options:' |
516 |
echo ' -o overlay Overlay directory or tbz2 file' |
517 |
@@ -36,7 +34,7 @@ |
518 |
echo ' -S size Size of image file in megabyte' |
519 |
echo ' The disk target options also apply, except -d.' |
520 |
echo |
521 |
- echo "Please use man ${GNAPNAME} for more details." |
522 |
+ echo "Please use man ${NAME} for more details." |
523 |
} |
524 |
|
525 |
if [[ "$#" -eq 0 || "${1}" == '-h' ]]; then |
526 |
@@ -47,105 +45,106 @@ |
527 |
gbegin 'Checking parameters' |
528 |
|
529 |
# Read options |
530 |
-NOLOGO=0 |
531 |
-FORCEYES=0 |
532 |
-OUTPUT='' |
533 |
-TYPE='' |
534 |
-CREATE='n' |
535 |
-TARGETROOT='' |
536 |
-CACHE='' |
537 |
-SERIAL='' |
538 |
-BAUDRATE='' |
539 |
+GNAP_NOLOGO=0 |
540 |
+GNAP_FORCEYES=0 |
541 |
+GNAP_OUTPUT='' |
542 |
+GNAP_TYPE='' |
543 |
+GNAP_CREATE='n' |
544 |
+GNAP_IMG_SIZE=15 |
545 |
+GNAP_TARGETROOT='' |
546 |
+GNAP_CACHE='' |
547 |
+GNAP_SERIAL='' |
548 |
+GNAP_BAUDRATE='' |
549 |
while getopts ':hg:o:c:nfi:d:l:r:ms:S:L:' option; do |
550 |
case ${option} in |
551 |
h ) usage |
552 |
exit 0;; |
553 |
- g ) GNAPCORE="${OPTARG}";; |
554 |
- o ) OVERLAYS="${OVERLAYS} ${OPTARG}";; |
555 |
- c ) OVERLAYCONF="${OPTARG}";; |
556 |
- n ) NOLOGO=1;; |
557 |
- f ) FORCEYES=1;; |
558 |
- i ) OUTPUT="${OPTARG}" |
559 |
- TYPE='iso';; |
560 |
- d ) OUTPUT="${OPTARG}" |
561 |
- TYPE='disk';; |
562 |
- l ) OUTPUT="${OPTARG}" |
563 |
- TYPE='image' |
564 |
- CREATE='n';; |
565 |
- L ) OUTPUT="${OPTARG}" |
566 |
- TYPE='image' |
567 |
- CREATE='y';; |
568 |
- S ) IMG_SIZE="${OPTARG}";; |
569 |
- r ) TARGETROOT="${OPTARG}";; |
570 |
- m ) CACHE='docache ';; |
571 |
- s ) SERIAL="console=ttyS0,${OPTARG}n81" |
572 |
- BAUDRATE="${OPTARG}";; |
573 |
+ g ) GNAP_CORE="${OPTARG}";; |
574 |
+ o ) GNAP_OVERLAYS="${GNAP_OVERLAYS} ${OPTARG}";; |
575 |
+ c ) GNAP_OVERLAY_CONF="${OPTARG}";; |
576 |
+ n ) GNAP_NOLOGO=1;; |
577 |
+ f ) GNAP_FORCEYES=1;; |
578 |
+ i ) GNAP_OUTPUT="${OPTARG}" |
579 |
+ GNAP_TYPE='iso';; |
580 |
+ d ) GNAP_OUTPUT="${OPTARG}" |
581 |
+ GNAP_TYPE='disk';; |
582 |
+ l ) GNAP_OUTPUT="${OPTARG}" |
583 |
+ GNAP_TYPE='image' |
584 |
+ GNAP_CREATE='n';; |
585 |
+ L ) GNAP_OUTPUT="${OPTARG}" |
586 |
+ GNAP_TYPE='image' |
587 |
+ GNAP_CREATE='y';; |
588 |
+ S ) GNAP_IMG_SIZE="${OPTARG}";; |
589 |
+ r ) GNAP_TARGETROOT="${OPTARG}";; |
590 |
+ m ) GNAP_CACHE='docache ';; |
591 |
+ s ) GNAP_SERIAL="console=ttyS0,${OPTARG}n81" |
592 |
+ GNAP_BAUDRATE="${OPTARG}";; |
593 |
* ) gtest 1 'Specified options are incomplete or unknown!';; |
594 |
esac |
595 |
done |
596 |
|
597 |
# Target type (-i or -d) is needed |
598 |
-test -n "${TYPE}" |
599 |
+test -n "${GNAP_TYPE}" |
600 |
gtest continued $? 'Please specify a target (-i or -d option)' |
601 |
|
602 |
# Core file is required |
603 |
-test -f "${GNAPCORE}" |
604 |
+test -f "${GNAP_CORE}" |
605 |
gtest continued $? 'Please specify a valid GNAP core file (-g option)' |
606 |
|
607 |
-case "${TYPE}" in |
608 |
+case "${GNAP_TYPE}" in |
609 |
disk) |
610 |
# if disk type, doublecheck everything is ok |
611 |
- PARENTDEV="${OUTPUT:0:$((${#OUTPUT}-1))}" |
612 |
+ PARENTDEV="${GNAP_OUTPUT:0:$((${#GNAP_OUTPUT}-1))}" |
613 |
test -b "${PARENTDEV}" |
614 |
gtest continued $? "${PARENTDEV} device does not exist on this system" |
615 |
- test -b "${OUTPUT}" |
616 |
- gtest continued $? "${OUTPUT} partition does not exist on this system" |
617 |
+ test -b "${GNAP_OUTPUT}" |
618 |
+ gtest continued $? "${GNAP_OUTPUT} partition does not exist on this system" |
619 |
;; |
620 |
image) |
621 |
- if [[ "${CREATE}" != 'y' ]]; then |
622 |
+ if [[ "${GNAP_CREATE}" != 'y' ]]; then |
623 |
# Check whether image file exists |
624 |
- test -f "${OUTPUT}" |
625 |
- gtest continued $? "Image file ${OUTPUT} does not exist." |
626 |
+ test -f "${GNAP_OUTPUT}" |
627 |
+ gtest continued $? "Image file ${GNAP_OUTPUT} does not exist." |
628 |
fi |
629 |
;; |
630 |
esac |
631 |
|
632 |
# At least one overlay is required |
633 |
-test -n "${OVERLAYS}${OVERLAYCONF}" |
634 |
+test -n "${GNAP_OVERLAYS}${GNAP_OVERLAY_CONF}" |
635 |
gtest $? 'Please specify at least an overlay (-o) or config file (-c)' |
636 |
|
637 |
# Warning for disk type targets |
638 |
-if [[ "${TYPE}" == 'disk' ]]; then |
639 |
+if [[ "${GNAP_TYPE}" == 'disk' ]]; then |
640 |
gwarn 'Warning : you have selected disk install' |
641 |
- gwarn "Make sure you are root or have full access to ${OUTPUT}" |
642 |
+ gwarn "Make sure you are root or have full access to ${GNAP_OUTPUT}" |
643 |
gwarn "${PARENTDEV} must have an MBR installed, run:" |
644 |
- gwarn "${W}dd if=${GNAPMBR} of=${PARENTDEV} bs=512 count=1${N} if needed" |
645 |
- gwarn "${OUTPUT} must contain an active partition:" |
646 |
+ gwarn "${W}dd if=${GNAP_MBR} of=${PARENTDEV} bs=512 count=1${N} if needed" |
647 |
+ gwarn "${GNAP_OUTPUT} must contain an active partition:" |
648 |
gwarn " use ${W}fdisk ${PARENTDEV}${N} if needed" |
649 |
- gwarn "Current data on ${OUTPUT} will be ${B}destroyed${N}!" |
650 |
+ gwarn "Current data on ${GNAP_OUTPUT} will be ${B}destroyed${N}!" |
651 |
gconfirm 'Are you sure you want to continue ?' |
652 |
fi |
653 |
|
654 |
# Common actions |
655 |
-gbegin "Expanding ${GNAPCORE} core" |
656 |
+gbegin "Expanding ${GNAP_CORE} core" |
657 |
TEMPDIR=$(mktemp -d -t gnap_overlay.XXXXXX) |
658 |
gtest continued $? 'Failed to create temporary directory' |
659 |
TEMPCOREDIR="${TEMPDIR}/core" |
660 |
gmkdir "${TEMPCOREDIR}" |
661 |
-tar x -C "${TEMPCOREDIR}" -f "${GNAPCORE}" |
662 |
+tar x -C "${TEMPCOREDIR}" -f "${GNAP_CORE}" |
663 |
gtest $? 'Failed to extract core' |
664 |
|
665 |
gbegin 'Preparing overlay' |
666 |
TEMPOVERDIR="${TEMPDIR}/overlay" |
667 |
gmkdir "${TEMPOVERDIR}" |
668 |
|
669 |
-if [[ -n "${BAUDRATE}" ]]; then |
670 |
+if [[ -n "${GNAP_BAUDRATE}" ]]; then |
671 |
gbegin 'Adding baudrate for serial console' |
672 |
gmkdir -p "${TEMPOVERDIR}/etc/gnap" |
673 |
- echo -n "${BAUDRATE}" > "${TEMPOVERDIR}/etc/gnap/baudrate" |
674 |
+ echo -n "${GNAP_BAUDRATE}" > "${TEMPOVERDIR}/etc/gnap/baudrate" |
675 |
gtest $? 'Failed to create /etc/gnap/baudrate' |
676 |
fi |
677 |
-for overlay in ${OVERLAYS} ; do |
678 |
+for overlay in ${GNAP_OVERLAYS} ; do |
679 |
if [[ -d "${overlay}" ]]; then |
680 |
gbegin "Adding ${overlay} (directory overlay)" |
681 |
cp -rp "${overlay}"/* "${TEMPOVERDIR}" |
682 |
@@ -156,13 +155,13 @@ |
683 |
gtest $? "${overlay} is not a valid conflet file (tbz2 format)" |
684 |
fi |
685 |
done |
686 |
-if [[ -n "${OVERLAYCONF}" ]]; then |
687 |
- gbegin "Adding ${OVERLAYCONF} (overlay.conf file)" |
688 |
+if [[ -n "${GNAP_OVERLAY_CONF}" ]]; then |
689 |
+ gbegin "Adding ${GNAP_OVERLAY_CONF} (overlay.conf file)" |
690 |
if [[ ! -d "${TEMPOVERDIR}/etc" ]]; then |
691 |
gmkdir "${TEMPOVERDIR}/etc" |
692 |
fi |
693 |
- cp "${OVERLAYCONF}" "${TEMPOVERDIR}/etc/overlay.conf" |
694 |
- gtest $? "Failed to copy ${OVERLAYCONF}" |
695 |
+ cp "${GNAP_OVERLAY_CONF}" "${TEMPOVERDIR}/etc/overlay.conf" |
696 |
+ gtest $? "Failed to copy ${GNAP_OVERLAY_CONF}" |
697 |
fi |
698 |
gbegin 'Creating overlay tarball' |
699 |
test -f "${TEMPOVERDIR}/etc/overlay.conf" |
700 |
@@ -172,28 +171,28 @@ |
701 |
gtest $? 'Failed to create overlay tarball' |
702 |
|
703 |
DATE=$(date --utc) |
704 |
-if [[ "${NOLOGO}" -eq 1 ]]; then |
705 |
+if [[ "${GNAP_NOLOGO}" -eq 1 ]]; then |
706 |
echo "GNAP ${VERSION}" > "${TEMPCOREDIR}/isolinux/boot.msg" |
707 |
fi |
708 |
-if [[ -n "${OVERLAYS}" ]]; then |
709 |
- echo "Overlaid with ${OVERLAYS} on ${DATE}" \ |
710 |
+if [[ -n "${GNAP_OVERLAYS}" ]]; then |
711 |
+ echo "Overlaid with ${GNAP_OVERLAYS} on ${DATE}" \ |
712 |
>> "${TEMPCOREDIR}/isolinux/boot.msg" |
713 |
fi |
714 |
|
715 |
# Target specific actions |
716 |
-if [[ "${TYPE}" == 'iso' ]]; then |
717 |
- if [[ -f "${OUTPUT}" ]]; then |
718 |
- gconfirm "File ${OUTPUT} already exists, overwrite?" |
719 |
+if [[ "${GNAP_TYPE}" == 'iso' ]]; then |
720 |
+ if [[ -f "${GNAP_OUTPUT}" ]]; then |
721 |
+ gconfirm "File ${GNAP_OUTPUT} already exists, overwrite?" |
722 |
fi |
723 |
rm "${TEMPCOREDIR}/syslinux.cfg" |
724 |
- gbegin "Building ${OUTPUT} ISO file" |
725 |
- mkisofs -quiet -J -r -l -x "${TEMPCOREDIR}/.." -o "${OUTPUT}" \ |
726 |
+ gbegin "Building ${GNAP_OUTPUT} ISO file" |
727 |
+ mkisofs -quiet -J -r -l -x "${TEMPCOREDIR}/.." -o "${GNAP_OUTPUT}" \ |
728 |
-b isolinux/isolinux.bin -c isolinux/boot.cat \ |
729 |
-no-emul-boot -boot-load-size 4 -boot-info-table "${TEMPCOREDIR}" |
730 |
gtest $? |
731 |
|
732 |
else |
733 |
- if [[ "${TYPE}" == 'image' ]]; then |
734 |
+ if [[ "${GNAP_TYPE}" == 'image' ]]; then |
735 |
gbegin 'Looking for free loop device' |
736 |
LOOP='' |
737 |
for i in /dev/loop/?* /dev/loop?*; do |
738 |
@@ -210,25 +209,25 @@ |
739 |
|
740 |
ginfo "Using loop device ${LOOP}" |
741 |
|
742 |
- if [[ "${CREATE}" == y ]]; then |
743 |
- if [[ -f "${OUTPUT}" ]]; then |
744 |
- gconfirm "File ${OUTPUT} already exists, overwrite?" |
745 |
+ if [[ "${GNAP_CREATE}" == y ]]; then |
746 |
+ if [[ -f "${GNAP_OUTPUT}" ]]; then |
747 |
+ gconfirm "File ${GNAP_OUTPUT} already exists, overwrite?" |
748 |
fi |
749 |
|
750 |
gbegin 'Creating image file' |
751 |
# 1048576 = 1 MiB |
752 |
- dd if=/dev/zero of="${OUTPUT}" bs=1048576 count="${IMG_SIZE}" \ |
753 |
+ dd if=/dev/zero of="${GNAP_OUTPUT}" bs=1048576 |
754 |
count="${GNAP_IMG_SIZE}" \ |
755 |
>/dev/null 2>&1 |
756 |
gtest $? |
757 |
|
758 |
gbegin 'Creating partition table' |
759 |
# Create one partition of the full size |
760 |
- echo '0;;6;*' | sfdisk -D -H 64 -S 32 "${OUTPUT}" >/dev/null 2>&1 |
761 |
+ echo '0;;6;*' | sfdisk -D -H 64 -S 32 "${GNAP_OUTPUT}" >/dev/null 2>&1 |
762 |
gtest $? |
763 |
fi |
764 |
|
765 |
gbegin 'Reading Cylinder/Heads/Sectors' |
766 |
- CHS=$(sfdisk -G "${OUTPUT}" 2>/dev/null) |
767 |
+ CHS=$(sfdisk -G "${GNAP_OUTPUT}" 2>/dev/null) |
768 |
gtest $? |
769 |
|
770 |
set -- ${CHS/*:/} |
771 |
@@ -241,22 +240,22 @@ |
772 |
|
773 |
ginfo "Offset is ${offset}" |
774 |
|
775 |
- gbegin "Mounting ${OUTPUT} to ${LOOP}" |
776 |
- losetup -o "${offset}" "${LOOP}" "${OUTPUT}" |
777 |
+ gbegin "Mounting ${GNAP_OUTPUT} to ${LOOP}" |
778 |
+ losetup -o "${offset}" "${LOOP}" "${GNAP_OUTPUT}" |
779 |
gtest $? |
780 |
|
781 |
- ORIG_OUTPUT="${OUTPUT}" |
782 |
- OUTPUT="${LOOP}" |
783 |
+ ORIG_OUTPUT="${GNAP_OUTPUT}" |
784 |
+ GNAP_OUTPUT="${LOOP}" |
785 |
fi |
786 |
|
787 |
- gbegin "Formatting ${OUTPUT}" |
788 |
- mkfs.msdos "${OUTPUT}" > /dev/null 2>&1 |
789 |
+ gbegin "Formatting ${GNAP_OUTPUT}" |
790 |
+ mkfs.msdos "${GNAP_OUTPUT}" > /dev/null 2>&1 |
791 |
gtest $? |
792 |
|
793 |
- gbegin "Mounting ${OUTPUT}" |
794 |
+ gbegin "Mounting ${GNAP_OUTPUT}" |
795 |
TEMPMOUNTDIR="${TEMPDIR}/mount" |
796 |
gmkdir "${TEMPMOUNTDIR}" |
797 |
- mount -t msdos "${OUTPUT}" "${TEMPMOUNTDIR}" |
798 |
+ mount -t msdos "${GNAP_OUTPUT}" "${TEMPMOUNTDIR}" |
799 |
gtest $? |
800 |
|
801 |
gbegin 'Copying files' |
802 |
@@ -268,31 +267,31 @@ |
803 |
cp ${TEMPCOREDIR}/overlay.tgz ${TEMPMOUNTDIR}/ &&\ |
804 |
cp ${TEMPCOREDIR}/image.squashfs ${TEMPMOUNTDIR}/image.sfs &&\ |
805 |
sed -i \ |
806 |
- "s:cdroot:cdroot=/dev/${TARGETROOT} ${CACHE}${SERIAL}:" \ |
807 |
+ "s:cdroot:cdroot=/dev/${GNAP_TARGETROOT} |
808 |
${GNAP_CACHE}${GNAP_SERIAL}:" \ |
809 |
"${TEMPMOUNTDIR}/syslinux.cfg" |
810 |
gtest $? |
811 |
|
812 |
- gbegin "Unmounting ${OUTPUT}" |
813 |
+ gbegin "Unmounting ${GNAP_OUTPUT}" |
814 |
umount "${TEMPMOUNTDIR}" |
815 |
gtest $? |
816 |
|
817 |
# Is autocleaned so maybe not useful |
818 |
- if [[ "${TYPE}" == 'image' ]]; then |
819 |
+ if [[ "${GNAP_TYPE}" == 'image' ]]; then |
820 |
losetup -d "${LOOP}" |
821 |
LOOP= |
822 |
fi |
823 |
|
824 |
export MTOOLS_SKIP_CHECK=1 |
825 |
- case "${TYPE}" in |
826 |
+ case "${GNAP_TYPE}" in |
827 |
disk) |
828 |
gbegin 'Syslinuxing' |
829 |
- syslinux "${OUTPUT}" |
830 |
+ syslinux "${GNAP_OUTPUT}" |
831 |
gtest $? |
832 |
;; |
833 |
image) |
834 |
gbegin 'Preparing disk for boot' |
835 |
syslinux -o "${offset}" "${ORIG_OUTPUT}" && \ |
836 |
- dd if="${GNAPMBR}" of="${ORIG_OUTPUT}" bs=512 count=1 \ |
837 |
+ dd if="${GNAP_MBR}" of="${ORIG_OUTPUT}" bs=512 count=1 \ |
838 |
conv=notrunc >/dev/null 2>&1 |
839 |
gtest $? |
840 |
;; |
841 |
|
842 |
Modified: trunk/tools/gnap_remaster |
843 |
============================================================================== |
844 |
--- trunk/tools/gnap_remaster (original) |
845 |
+++ trunk/tools/gnap_remaster Tue Jun 17 11:55:55 2008 |
846 |
@@ -1,16 +1,16 @@ |
847 |
#!/bin/bash |
848 |
VERSION='2.0' |
849 |
|
850 |
-GNAPLIBDIR='/usr/lib/gnap' |
851 |
-source ${GNAPLIBDIR}/gnap_shared.sh |
852 |
-echo "GNAP remastering tool ${GNAPNAME} ${VERSION}" |
853 |
+GNAP_LIBDIR='/usr/lib/gnap' |
854 |
+source ${GNAP_LIBDIR}/gnap_shared.sh |
855 |
+echo "GNAP remastering tool ${NAME} ${VERSION}" |
856 |
|
857 |
-OUTPUT='mygnap-core.tar' |
858 |
+GNAP_OUTPUT='mygnap-core.tar' |
859 |
|
860 |
usage() { |
861 |
echo |
862 |
echo 'Usage:' |
863 |
- echo " ${GNAPNAME} [ options ]" |
864 |
+ echo " ${NAME} [ options ]" |
865 |
echo |
866 |
echo 'Options:' |
867 |
echo ' -e extension Extension to include in core file' |
868 |
@@ -22,7 +22,7 @@ |
869 |
echo ' -d extdir Directory where to find extensions' |
870 |
echo ' -f Force all answers to yes (dangerous!)' |
871 |
echo |
872 |
- echo "Please use man ${GNAPNAME} for more details." |
873 |
+ echo "Please use man ${NAME} for more details." |
874 |
} |
875 |
|
876 |
if [[ "$#" -eq 0 || "${1}" == '-h' ]]; then |
877 |
@@ -33,64 +33,64 @@ |
878 |
gbegin 'Checking parameters' |
879 |
|
880 |
# Read options |
881 |
-EXTENSIONS='' |
882 |
-KERNEXT='' |
883 |
-MODEXT='' |
884 |
-GNAPBASEFS='' |
885 |
-GNAPEXTDIR='' |
886 |
-FORCEYES=0 |
887 |
+GNAP_EXTENSIONS='' |
888 |
+GNAP_KERNEXT='' |
889 |
+GNAP_MODEXT='' |
890 |
+GNAP_BASEFS='' |
891 |
+GNAP_EXTDIR='' |
892 |
+GNAP_FORCEYES=0 |
893 |
while getopts ':he:k:m:o:g:b:d:f' option; do |
894 |
case ${option} in |
895 |
h ) usage |
896 |
exit 0;; |
897 |
- e ) EXTENSIONS="${EXTENSIONS} ${OPTARG}";; |
898 |
- k ) KERNEXT="${OPTARG}";; |
899 |
- m ) MODEXT="${OPTARG}";; |
900 |
- o ) OUTPUT="${OPTARG}";; |
901 |
- g ) GNAPCORE="${OPTARG}";; |
902 |
- b ) GNAPBASEFS="${OPTARG}";; |
903 |
- d ) GNAPEXTDIR="${OPTARG}";; |
904 |
- f ) FORCEYES=1;; |
905 |
+ e ) GNAP_EXTENSIONS="${GNAP_EXTENSIONS} ${OPTARG}";; |
906 |
+ k ) GNAP_KERNEXT="${OPTARG}";; |
907 |
+ m ) GNAP_MODEXT="${OPTARG}";; |
908 |
+ o ) GNAP_OUTPUT="${OPTARG}";; |
909 |
+ g ) GNAP_CORE="${OPTARG}";; |
910 |
+ b ) GNAP_BASEFS="${OPTARG}";; |
911 |
+ d ) GNAP_EXTDIR="${OPTARG}";; |
912 |
+ f ) GNAP_FORCEYES=1;; |
913 |
* ) gtest 1 'Specified options are incomplete or unknown!';; |
914 |
esac |
915 |
done |
916 |
|
917 |
# Root is needed |
918 |
test "${EUID}" -eq 0 |
919 |
-gtest continued $? "You need to be root to run ${GNAPNAME}" |
920 |
+gtest continued $? "You need to be root to run ${NAME}" |
921 |
|
922 |
# basefs file is required |
923 |
-test -f "${GNAPBASEFS}" |
924 |
+test -f "${GNAP_BASEFS}" |
925 |
gtest continued $? 'Please specify a valid GNAP basefs file (-b option)' |
926 |
|
927 |
# core file is required |
928 |
-test -f "${GNAPCORE}" |
929 |
+test -f "${GNAP_CORE}" |
930 |
gtest continued $? 'Please specify a valid GNAP core file (-g option)' |
931 |
|
932 |
# At least one operation is required |
933 |
-test -n "${EXTENSIONS}" -o -n "${KERNEXT}" -o -n "${MODEXT}" |
934 |
+test -n "${GNAP_EXTENSIONS}" -o -n "${GNAP_KERNEXT}" -o -n "${GNAP_MODEXT}" |
935 |
gtest $? 'Please specify at least one operation (-e, -k, -m) to perform' |
936 |
|
937 |
# Confirm tarball overwrite |
938 |
-if [[ -e "${OUTPUT}" ]]; then |
939 |
- gconfirm "${OUTPUT} already exists, overwrite" |
940 |
+if [[ -e "${GNAP_OUTPUT}" ]]; then |
941 |
+ gconfirm "${GNAP_OUTPUT} already exists, overwrite" |
942 |
fi |
943 |
|
944 |
# Preparing new FS |
945 |
-gbegin "Unpacking ${GNAPBASEFS} basefs" |
946 |
+gbegin "Unpacking ${GNAP_BASEFS} basefs" |
947 |
TEMPDIR=$(mktemp -d -t gnap_remaster.XXXXXX) |
948 |
gtest continued $? 'Failed to create temporary directory' |
949 |
TEMPOVERDIR="${TEMPDIR}/basefs" |
950 |
gmkdir "${TEMPOVERDIR}" |
951 |
|
952 |
-tar jx -C "${TEMPOVERDIR}" -f "${GNAPBASEFS}" |
953 |
+tar jx -C "${TEMPOVERDIR}" -f "${GNAP_BASEFS}" |
954 |
gtest $? 'Failed to unpack basefs' |
955 |
|
956 |
-for overlay in ${EXTENSIONS} ; do |
957 |
+for overlay in ${GNAP_EXTENSIONS} ; do |
958 |
gbegin "Adding ${overlay} extension" |
959 |
- test -f "${GNAPEXTDIR}/gnapext_${overlay}.tbz2" |
960 |
- gtest continued $? "${GNAPEXTDIR}/gnapext_${overlay}.tbz2 does not exist" |
961 |
- tar jxf "${GNAPEXTDIR}/gnapext_${overlay}.tbz2" -C "${TEMPOVERDIR}" |
962 |
+ test -f "${GNAP_EXTDIR}/gnapext_${overlay}.tbz2" |
963 |
+ gtest continued $? "${GNAP_EXTDIR}/gnapext_${overlay}.tbz2 does not exist" |
964 |
+ tar jxf "${GNAP_EXTDIR}/gnapext_${overlay}.tbz2" -C "${TEMPOVERDIR}" |
965 |
gtest $? "${overlay} is not a valid extension (tbz2 format)" |
966 |
done |
967 |
|
968 |
@@ -99,31 +99,31 @@ |
969 |
TEMPCOREDIR="${TEMPDIR}/core" |
970 |
gmkdir "${TEMPCOREDIR}" |
971 |
|
972 |
-tar x -C "${TEMPCOREDIR}" -f "${GNAPCORE}" --exclude image.squashfs |
973 |
+tar x -C "${TEMPCOREDIR}" -f "${GNAP_CORE}" --exclude image.squashfs |
974 |
gtest $? 'Failed to extract core' |
975 |
|
976 |
-if [[ -f "${KERNEXT}" ]]; then |
977 |
- gbegin "Replacing kernel and initrd using ${KERNEXT}" |
978 |
+if [[ -f "${GNAP_KERNEXT}" ]]; then |
979 |
+ gbegin "Replacing kernel and initrd using ${GNAP_KERNEXT}" |
980 |
TEMPKERNDIR="${TEMPDIR}/kernel" |
981 |
gmkdir "${TEMPKERNDIR}" |
982 |
|
983 |
- tar jx -C "${TEMPKERNDIR}" -f "${KERNEXT}" |
984 |
+ tar jx -C "${TEMPKERNDIR}" -f "${GNAP_KERNEXT}" |
985 |
gtest continued $? 'Failed to extract kernpackage' |
986 |
cp ${TEMPKERNDIR}/kernel* "${TEMPCOREDIR}/isolinux/gentoo" && \ |
987 |
cp ${TEMPKERNDIR}/initr* "${TEMPCOREDIR}/isolinux/gentoo.igz" |
988 |
gtest $? 'Failed to copy kernel and initrd' |
989 |
|
990 |
-elif [[ -n "${KERNEXT}" ]]; then |
991 |
- gwarn "${KERNEXT} does not exist, ignoring..." |
992 |
+elif [[ -n "${GNAP_KERNEXT}" ]]; then |
993 |
+ gwarn "${GNAP_KERNEXT} does not exist, ignoring..." |
994 |
fi |
995 |
|
996 |
-if [[ -f "${MODEXT}" ]]; then |
997 |
- gbegin "Replacing modules using ${MODEXT}" |
998 |
+if [[ -f "${GNAP_MODEXT}" ]]; then |
999 |
+ gbegin "Replacing modules using ${GNAP_MODEXT}" |
1000 |
rm -rf "${TEMPOVERDIR}/lib/modules" && |
1001 |
- tar jx -C "${TEMPOVERDIR}" -f "${MODEXT}" |
1002 |
+ tar jx -C "${TEMPOVERDIR}" -f "${GNAP_MODEXT}" |
1003 |
gtest $? 'Failed to replace modules' |
1004 |
-elif [[ -n "${MODEXT}" ]]; then |
1005 |
- gwarn "${MODEXT} does not exist, ignoring..." |
1006 |
+elif [[ -n "${GNAP_MODEXT}" ]]; then |
1007 |
+ gwarn "${GNAP_MODEXT} does not exist, ignoring..." |
1008 |
fi |
1009 |
|
1010 |
gbegin 'Creating new squashfs filesystem' |
1011 |
@@ -131,8 +131,8 @@ |
1012 |
> /dev/null 2>/dev/null |
1013 |
gtest $? 'Failed to create squashfs' |
1014 |
|
1015 |
-gbegin "Creating ${OUTPUT} core file" |
1016 |
-tar cf "${OUTPUT}" -C "${TEMPCOREDIR}" . |
1017 |
+gbegin "Creating ${GNAP_OUTPUT} core file" |
1018 |
+tar cf "${GNAP_OUTPUT}" -C "${TEMPCOREDIR}" . |
1019 |
gtest $? 'Failed to create new core tarball' |
1020 |
|
1021 |
# Successful finish |
1022 |
-- |
1023 |
gnap-dev@l.g.o mailing list |