moved code into library
This commit is contained in:
parent
ace0d07a63
commit
9f280d8ee4
|
@ -0,0 +1,82 @@
|
|||
# Declares helpers for image building
|
||||
|
||||
set -e
|
||||
[ "$DEBUG" = "1" ] && set -x
|
||||
|
||||
|
||||
prepare_nbd_volume() {
|
||||
device=$1
|
||||
if ! `mountpoint -q "$TARGET"`; then
|
||||
sudo mkfs.ext4 "$device"
|
||||
sudo mkdir -p "$TARGET"
|
||||
sudo mount "$device" "$TARGET"
|
||||
fi
|
||||
}
|
||||
|
||||
require_debootstrap() {
|
||||
type -P debootstrap >/dev/null && return
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install debootstrap
|
||||
}
|
||||
|
||||
clean_workspace() {
|
||||
sudo rm -rf $TARGET/* $TARGET/.??*
|
||||
}
|
||||
|
||||
debootstrap() {
|
||||
sudo debootstrap \
|
||||
--arch="$ARCH" \
|
||||
--variant="$VARIANT" \
|
||||
--components="$COMPONENTS" \
|
||||
--include="$PKGS_INCLUDE" \
|
||||
--foreign \
|
||||
"$VERSION" \
|
||||
"$TARGET" \
|
||||
"$MIRROR" \
|
||||
"$SCRIPT"
|
||||
}
|
||||
|
||||
secondstage() {
|
||||
# This step could be done directly by removing
|
||||
sudo chroot "$TARGET" /debootstrap/debootstrap --second-stage
|
||||
}
|
||||
|
||||
patch_target() {
|
||||
patches_dir=$1
|
||||
for file in $(find "$patches_dir" -type f | sed -n "s|^$patches_dir/||p"); do
|
||||
sudo mkdir -p "$TARGET/$(dirname $file)"
|
||||
sudo cp "$patches_dir/$file" "$TARGET/$file"
|
||||
done
|
||||
}
|
||||
|
||||
clean_target() {
|
||||
clean_paths=$1
|
||||
for path in $clean_paths; do
|
||||
if [ -e "$TARGET/$path" ]; then
|
||||
sudo rm -rf "$TARGET/$path"
|
||||
fi
|
||||
done
|
||||
echo apt-get clean | sudo chroot "$TARGET"
|
||||
}
|
||||
|
||||
archive_target() {
|
||||
sudo tar -C "$TARGET" -czf "$NAME.tar.gz" .
|
||||
}
|
||||
|
||||
cli() {
|
||||
case $1 in
|
||||
"tarball")
|
||||
build_image
|
||||
archive_target
|
||||
exit 0
|
||||
;;
|
||||
"image")
|
||||
NBD_DEVICE=$2
|
||||
prepare_nbd_volume $NBD_DEVICE
|
||||
build_image
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
echo >&2 "usage: [DEBUG=1] $0 (tarball|image)"
|
||||
exit 1
|
||||
}
|
Loading…
Reference in New Issue