aboutsummaryrefslogtreecommitdiffstats
path: root/build.sh
diff options
context:
space:
mode:
authorJoseph Carter <[email protected]>2016-09-07 13:32:36 -0700
committerXECDesign <[email protected]>2016-09-08 06:32:36 +1000
commitabc3e45727d0ed1a7804ed68a8a1c1b096b8372c (patch)
tree5cd9e7f3cfc32301afe7826a7ef955c8d3c3507a /build.sh
parentb9b8df3d113288765e893e181e6c3ea54cab5f43 (diff)
build.sh: Support comments in package files (#14)
* build.sh: Support comments in package files This patch allows the use of hash comments inside patch files. It's a little ugly, but it strips comments and collapses all whitespace down to single space characters between package names. It handles comments anywhere in a line, as well. Was unsure if \ continuation of the long sed line or the inclusion of a couple of lines of comments explaining what the sed expressions are doing would be appreciated, so didn't include them in this patch. * build.sh: whitespace fix * build.sh: Use sed script for packages files Broke the sed expressions out of build.sh and put them their own documented sed script. This greatly improves readability and avoids build.sh getting messier. Broke the substitution command into two separate subs. The first just deletes comments, and the second collapses all whitespace into a single space. This too is easier to read, and catches a couple of edge cases that would result it not all whitespace being collapsed. The result may still have (one) leading and/or trailing space, which is acceptable.
Diffstat (limited to 'build.sh')
-rwxr-xr-xbuild.sh6
1 files changed, 4 insertions, 2 deletions
diff --git a/build.sh b/build.sh
index 5b745e8..52f7a82 100755
--- a/build.sh
+++ b/build.sh
@@ -16,7 +16,8 @@ EOF
fi
if [ -f ${i}-packages-nr ]; then
log "Begin ${SUB_STAGE_DIR}/${i}-packages-nr"
- PACKAGES=`cat $i-packages-nr | tr '\n' ' '`
+ PACKAGES="$(sed -f "${SCRIPT_DIR}/remove-comments.sed" < ${i}-packages-nr)"
+ PACKAGES="$(sed -e "$sed_expr_packages" < ${i}-packages-nr)"
if [ -n "$PACKAGES" ]; then
on_chroot sh -e - << EOF
apt-get install --no-install-recommends -y $PACKAGES
@@ -26,7 +27,7 @@ EOF
fi
if [ -f ${i}-packages ]; then
log "Begin ${SUB_STAGE_DIR}/${i}-packages"
- PACKAGES=`cat $i-packages | tr '\n' ' '`
+ PACKAGES="$(sed -f "${SCRIPT_DIR}/remove-comments.sed" < ${i}-packages)"
if [ -n "$PACKAGES" ]; then
on_chroot sh -e - << EOF
apt-get install -y $PACKAGES
@@ -77,6 +78,7 @@ EOF
log "End ${SUB_STAGE_DIR}"
}
+
run_stage(){
log "Begin ${STAGE_DIR}"
STAGE=$(basename ${STAGE_DIR})