refresh libdevuansdk code

This commit is contained in:
parazyd 2017-02-14 20:03:12 +01:00
parent a4cf35c5b6
commit f002c12258
No known key found for this signature in database
GPG Key ID: F0CB28FCF78637DE
11 changed files with 68 additions and 115 deletions

View File

@ -32,7 +32,7 @@ Devuan's SDK was originally conceived during a period of residency at the
Schumacher college in Dartington, UK. Greatly inspired by the laborious and Schumacher college in Dartington, UK. Greatly inspired by the laborious and
mindful atmosphere of its wonderful premises. mindful atmosphere of its wonderful premises.
The Devuan SDK is Copyright (c) 2015-2016 by the Dyne.org Foundation The Devuan SDK is Copyright (c) 2015-2017 by the Dyne.org Foundation
Devuan SDK components are designed, written and maintained by: Devuan SDK components are designed, written and maintained by:

16
config
View File

@ -1,5 +1,5 @@
#!/usr/bin/env zsh #!/usr/bin/env zsh
# Copyright (c) 2016 Dyne.org Foundation # Copyright (c) 2016-2017 Dyne.org Foundation
# libdevuansdk is maintained by Ivan J. <parazyd@dyne.org> # libdevuansdk is maintained by Ivan J. <parazyd@dyne.org>
# #
# This file is part of libdevuansdk # This file is part of libdevuansdk
@ -19,7 +19,7 @@
## libdevuansdk configuration ## libdevuansdk configuration
vars+=(release version mirror section blend_name) vars+=(release version mirror section blend_name image_name vm_name)
arrs+=(core_packages base_packages purge_packages blend_packages) arrs+=(core_packages base_packages purge_packages blend_packages)
os="devuan" os="devuan"
@ -28,12 +28,15 @@ version="1.0.0-beta2"
mirror="http://auto.mirror.devuan.org/merged" mirror="http://auto.mirror.devuan.org/merged"
section="main" section="main"
isomirror="http://files.devuan.org/devuan_jessie_beta"
image_name="${os}_${release}_${version}_${arch}" image_name="${os}_${release}_${version}_${arch}"
[[ -n $blend_name ]] && image_name="${image_name}_${blend_name}" [[ -n $blend_name ]] && image_name="${image_name}_${blend_name}"
[[ -n $device_name ]] && image_name="${image_name}_${device_name}" [[ -n $device_name ]] && image_name="${image_name}_${device_name}"
vm_name="${os}_${release}_${version}_${arch}_vagrant"
[[ -n $blend_name ]] && vm_name="${image_name}_${blend_name}"
rootcredentials="root:toor"
core_packages=( core_packages=(
devuan-keyring devuan-keyring
debian-keyring debian-keyring
@ -73,9 +76,4 @@ base_packages=(
purge_packages+=( purge_packages+=(
dbus dbus
nano
exim4
exim4-base
exim4-config
reportbug
) )

View File

@ -1,5 +1,5 @@
#!/usr/bin/env zsh #!/usr/bin/env zsh
# Copyright (c) 2016 Dyne.org Foundation # Copyright (c) 2016-2017 Dyne.org Foundation
# libdevuansdk maintained by Ivan J. <parazyd@dyne.org> # libdevuansdk maintained by Ivan J. <parazyd@dyne.org>
# #
# This file is part of libdevuansdk # This file is part of libdevuansdk
@ -17,7 +17,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this source code. If not, see <http://www.gnu.org/licenses/>. # along with this source code. If not, see <http://www.gnu.org/licenses/>.
libdevuansdk_version="0.3" libdevuansdk_version="0.4"
LIBPATH=${LIBPATH:-$(dirname $0)} LIBPATH=${LIBPATH:-$(dirname $0)}
source $LIBPATH/config source $LIBPATH/config
@ -33,15 +33,6 @@ source $LIBPATH/zlibs/vm
vars+=(libdevuansdk_version) vars+=(libdevuansdk_version)
vars+=(LIBPATH) vars+=(LIBPATH)
if [[ $DEBUG -gt 0 ]]; then setopt pushdsilent
cp="/bin/cp -v"
mkdir="/bin/mkdir -v"
else
cp="/bin/cp"
mkdir="/bin/mkdir"
setopt pushdsilent
fi
sudo="sudo -E"
act "libdevuansdk v$libdevuansdk_version loaded" act "libdevuansdk v$libdevuansdk_version loaded"

View File

@ -1,5 +1,5 @@
#!/usr/bin/env zsh #!/usr/bin/env zsh
# Copyright (c) 2016 Dyne.org Foundation # Copyright (c) 2016-2017 Dyne.org Foundation
# libdevuansdk maintained by Ivan J. <parazyd@dyne.org> # libdevuansdk maintained by Ivan J. <parazyd@dyne.org>
# #
# This file is part of libdevuansdk # This file is part of libdevuansdk
@ -52,18 +52,17 @@ bootstrap_complete_base() {
## write all system configuration ## write all system configuration
notice "writing system configuration" notice "writing system configuration"
conf_print_debconf | sudo tee $strapdir/debconf.set >/dev/null conf_print_debconf | sudo tee $strapdir/debconf.set >/dev/null
conf_print_fstab | sudo tee $strapdir/etc/fstab >/dev/null conf_print_fstab | sudo tee $strapdir/etc/fstab >/dev/null
conf_print_hostname | sudo tee $strapdir/etc/hostname >/dev/null conf_print_hostname | sudo tee $strapdir/etc/hostname >/dev/null
conf_print_hosts | sudo tee $strapdir/etc/hosts >/dev/null conf_print_hosts | sudo tee $strapdir/etc/hosts >/dev/null
conf_print_networkifaces | sudo tee $strapdir/etc/network/interfaces >/dev/null conf_print_netifaces | sudo tee $strapdir/etc/network/interfaces >/dev/null
conf_print_resolvconf | sudo tee $strapdir/etc/resolv.conf >/dev/null conf_print_resolvconf | sudo tee $strapdir/etc/resolv.conf >/dev/null
conf_print_sourceslist | sudo tee $strapdir/etc/apt/sources.list >/dev/null conf_print_sourceslist | sudo tee $strapdir/etc/apt/sources.list >/dev/null
conf_print_locales | sudo tee $strapdir/etc/profile.d/locales.sh >/dev/null conf_print_locales | sudo tee $strapdir/etc/profile.d/locales.sh >/dev/null
## write third-stage for chroot ## write third-stage for chroot
bootstrap_config_thirdstage | sudo tee $strapdir/thirdstage >/dev/null bootstrap_config_thirdstage | sudo tee $strapdir/thirdstage >/dev/null
bootstrap_config_cleanup | sudo tee $strapdir/cleanup >/dev/null
## chroot into it and configure further ## chroot into it and configure further
## debootstrap stage 3 ## debootstrap stage 3
@ -72,7 +71,6 @@ bootstrap_complete_base() {
devprocsys mount $strapdir || zerr devprocsys mount $strapdir || zerr
chroot-script -d thirdstage || zerr chroot-script -d thirdstage || zerr
chroot-script -d cleanup || zerr
sleep 1 sleep 1
devprocsys umount $strapdir || zerr devprocsys umount $strapdir || zerr
@ -81,22 +79,6 @@ bootstrap_complete_base() {
bootstrap_tar_unpack $strapdir || zerr bootstrap_tar_unpack $strapdir || zerr
} }
bootstrap_config_cleanup() {
fn config_cleanup
cat << EOF
#!/bin/sh
rm -f /debconf.set
rm -f /thirdstage
rm -f /etc/ssh/ssh_host_*
rm -f /root/.bash_history
#rm -f /usr/bin/qemu-arm-static
## our file for which we check the bootstrap is complete
echo "1" > .done
rm -f /cleanup
EOF
}
bootstrap_config_thirdstage() { bootstrap_config_thirdstage() {
fn bootstrap_config_thirdstage fn bootstrap_config_thirdstage
req=(core_packages base_packages) req=(core_packages base_packages)
@ -107,7 +89,7 @@ bootstrap_config_thirdstage() {
apt-get update apt-get update
debconf-set-selections /debconf.set debconf-set-selections /debconf.set
echo "root:toor" | chpasswd echo "${rootcredentials}" | chpasswd
sed -i -e 's/KERNEL\!=\"eth\*|/KERNEL\!=\"/' \ sed -i -e 's/KERNEL\!=\"eth\*|/KERNEL\!=\"/' \
/lib/udev/rules.d/75-persistent-net-generator.rules /lib/udev/rules.d/75-persistent-net-generator.rules
rm -f /etc/udev/rules.d/70-persistent-net.rules rm -f /etc/udev/rules.d/70-persistent-net.rules
@ -118,6 +100,11 @@ apt-get --yes --force-yes install ${base_packages}
apt-get --yes --force-yes purge ${purge_packages} apt-get --yes --force-yes purge ${purge_packages}
apt-get --yes --force-yes autoremove apt-get --yes --force-yes autoremove
apt-get clean apt-get clean
rm -f /debconf.set
rm -f /etc/ssh/ssh_host_*
rm -f /root/.bash_history
echo "1" > .keep
EOF EOF
} }
@ -126,19 +113,6 @@ bootstrap_tar_pack() {
req=(bootstrap_tgz) req=(bootstrap_tgz)
ckreq || return 1 ckreq || return 1
#for i in $custmodules;do sudo sed -i -e '/'$i'/d' $strapdir/etc/modules;done
#[[ -n $inittab ]] && sudo sed -i -e '/'$inittab'/d' $strapdir/etc/inittab
cat <<EOF | sudo tee ${strapdir}/prepack >/dev/null
#!/bin/sh
#apt-get --yes --force-yes purge ${extra_packages}
apt-get --yes --force-yes autoremove
apt-get clean
rm -f /prepack
EOF
chroot-script prepack || zerr
local _dest=$(dirname $bootstrap_tgz) local _dest=$(dirname $bootstrap_tgz)
if [[ -f $bootstrap_tgz ]]; then if [[ -f $bootstrap_tgz ]]; then
@ -163,12 +137,15 @@ bootstrap_tar_unpack() {
req=(unpath bootstrap_tgz) req=(unpath bootstrap_tgz)
ckreq || return 1 ckreq || return 1
[[ -f ${unpath}/.done ]] || { if [[ -f ${unpath}/.keep ]]; then
mkdir -p ${unpath} mkdir -p ${unpath}
silly silly
sudo tar xfp $bootstrap_tgz -C ${unpath} sudo tar xfp $bootstrap_tgz -C ${unpath}
sudo mkdir -p ${unpath}/{boot,dev,sys,proc} sudo mkdir -p ${unpath}/{boot,dev,sys,proc}
} else
error "no .keep file found. exiting..."
zerr
fi
cat <<EOF | sudo tee ${strapdir}/postunpack >/dev/null cat <<EOF | sudo tee ${strapdir}/postunpack >/dev/null
#!/bin/sh #!/bin/sh
@ -177,7 +154,6 @@ apt-get --yes --force-yes upgrade
apt-get --yes --force-yes install ${extra_packages} apt-get --yes --force-yes install ${extra_packages}
apt-get --yes --force-yes autoremove apt-get --yes --force-yes autoremove
apt-get clean apt-get clean
rm -f /postunpack
EOF EOF
devprocsys mount $strapdir devprocsys mount $strapdir

View File

@ -51,6 +51,7 @@ build_iso_dist() {
ckreq || return 1 ckreq || return 1
notice "building complete iso image" notice "building complete iso image"
## XXX: TODO: upstream existing heads code
bootstrap_complete_base || zerr bootstrap_complete_base || zerr
[[ $BLEND = 1 ]] && blend_preinst || zerr [[ $BLEND = 1 ]] && blend_preinst || zerr
@ -85,10 +86,7 @@ build_vagrant_dist() {
getfield() { getfield() {
fn getfield $* fn getfield $*
print "$1" | grep "^$2=" | sed -e 's:.*=\(.*\)$:\1:g' | sed -e 's:^"\(.*\)"$:\1:g'
echo "$1" | grep "^$2=" | \
sed -e 's:.*=\(.*\)$:\1:g' | \
sed -e 's:^"\(.*\)"$:\1:g'
} }
devprocsys() { devprocsys() {
@ -154,7 +152,6 @@ dpkg-divert --add --local \
cp /bin/true /usr/sbin/invoke-rc.d cp /bin/true /usr/sbin/invoke-rc.d
echo -e "#!/bin/sh\nexit 101" > /usr/sbin/policy-rc.d echo -e "#!/bin/sh\nexit 101" > /usr/sbin/policy-rc.d
chmod +x /usr/sbin/policy-rc.d chmod +x /usr/sbin/policy-rc.d
rm -f /dpkgdivert
EOF EOF
elif [[ $watdo = off ]]; then elif [[ $watdo = off ]]; then
cat <<EOF | sudo tee ${werdo}/dpkgdivert >/dev/null cat <<EOF | sudo tee ${werdo}/dpkgdivert >/dev/null
@ -162,7 +159,6 @@ EOF
rm -f /usr/sbin/policy-rc.d rm -f /usr/sbin/policy-rc.d
rm -f /usr/sbin/invoke-rc.d rm -f /usr/sbin/invoke-rc.d
dpkg-divert --remove --rename /usr/sbin/invoke-rc.d dpkg-divert --remove --rename /usr/sbin/invoke-rc.d
rm -f /dpkgdivert
EOF EOF
fi fi
@ -205,7 +201,7 @@ install-custdebs() {
ckreq || return 1 ckreq || return 1
sudo mkdir -p $strapdir/debs sudo mkdir -p $strapdir/debs
sudo ${=cp} $R/extra/custom-packages/*.deb $strapdir/debs/ sudo cp $R/extra/custom-packages/*.deb $strapdir/debs/
cat <<EOF | sudo tee ${strapdir}/install-debs >/dev/null cat <<EOF | sudo tee ${strapdir}/install-debs >/dev/null
#!/bin/sh #!/bin/sh
@ -215,7 +211,7 @@ for deb in /debs/*.deb; do
done done
apt-get autoremove apt-get autoremove
apt-get clean apt-get clean
rm -rf /debs install-debs rm -rf /debs
EOF EOF
chroot-script install-debs chroot-script install-debs
} }
@ -228,17 +224,19 @@ chroot-script() {
local script="$2" local script="$2"
dpkgdivert on "$strapdir" dpkgdivert on "$strapdir"
notice "chrooting to execute $script..." notice "chrooting to execute $script..."
sudo -E chmod +x "$strapdir/$script" || zerr sudo chmod +x "$strapdir/$script" || zerr
sudo -E chroot "$strapdir" "/$script" || zerr sudo -E chroot "$strapdir" "/$script" || zerr
dpkgdivert off "$strapdir" dpkgdivert off "$strapdir"
;; ;;
*) *)
local script="$1" local script="$1"
notice "chrooting to execute $script..." notice "chrooting to execute $script..."
sudo -E chmod +x "$strapdir/$script" || zerr sudochmod +x "$strapdir/$script" || zerr
sudo -E chroot "$strapdir" "/$script" || zerr sudo -E chroot "$strapdir" "/$script" || zerr
;; ;;
esac esac
sudo rm -f $strapdir/$script
} }
silly() { silly() {

View File

@ -1,5 +1,5 @@
#!/usr/bin/env zsh #!/usr/bin/env zsh
# Copyright (c) 2016 Dyne.org Foundation # Copyright (c) 2016-2017 Dyne.org Foundation
# libdevuansdk is maintained by Ivan J. <parazyd@dyne.org> # libdevuansdk is maintained by Ivan J. <parazyd@dyne.org>
# #
# This file is part of libdevuansdk # This file is part of libdevuansdk
@ -132,10 +132,6 @@ image_raw_mount() {
req=(workdir bootpart rootpart) req=(workdir bootpart rootpart)
ckreq || return 1 ckreq || return 1
#mkdir -p $workdir/boot $workdir/root
#sudo mount $bootpart $workdir/boot && act "mounted boot partition" || zerr
#sudo mount $rootpart $workdir/root && act "mounted root partition" || zerr
mkdir -p $workdir/mnt mkdir -p $workdir/mnt
sudo mount $rootpart $workdir/mnt && act "mounted root partition" || zerr sudo mount $rootpart $workdir/mnt && act "mounted root partition" || zerr
sudo mkdir $workdir/mnt/boot sudo mkdir $workdir/mnt/boot
@ -160,14 +156,14 @@ image_raw_as_strapdir() {
pushd "$workdir" pushd "$workdir"
notice "creating raw image of $size MB" notice "creating raw image of $size MB"
sudo -E rm -f base.raw sudo rm -f base.raw
sudo -E qemu-img create -f raw base.raw ${size}M sudo qemu-img create -f raw base.raw ${size}M || zerr
notice "partitioning" notice "partitioning"
sudo -E parted base.raw mktable msdos sudo parted base.raw mktable msdos || zerr
sudo -E parted base.raw mkpart primary '0%' '100%' sudo parted base.raw mkpart primary '0%' '100%' || zerr
loopdevice=$(losetup --find) loopdevice=$(losetup --find)
sudo -E losetup -P $loopdevice base.raw sudo losetup -P $loopdevice base.raw || zerr
sudo -E mkfs.ext4 ${loopdevice}p1 sudo mkfs.ext4 ${loopdevice}p1 || zerr
notice "mounting raw image to strapdir" notice "mounting raw image to strapdir"
sudo mount ${loopdevice}p1 $strapdir sudo mount ${loopdevice}p1 $strapdir

View File

@ -1,5 +1,5 @@
#!/usr/bin/env zsh #!/usr/bin/env zsh
# Copyright (c) 2016 Dyne.org Foundation # Copyright (c) 2016-2017 Dyne.org Foundation
# libdevuansdk is maintained by Ivan J. <parazyd@dyne.org> # libdevuansdk is maintained by Ivan J. <parazyd@dyne.org>
# #
# This file is part of libdevuansdk # This file is part of libdevuansdk
@ -34,7 +34,6 @@ apt-get update
apt-get --yes --force-yes install dialog live-boot apt-get --yes --force-yes install dialog live-boot
apt-get --yes --force-yes autoremove apt-get --yes --force-yes autoremove
apt-get clean apt-get clean
rm -f /isoprep
EOF EOF
chroot-script -d isoprep || zerr chroot-script -d isoprep || zerr
@ -50,12 +49,12 @@ iso_setup_isolinux() {
pushd $workdir pushd $workdir
sudo mkdir -p binary/{live,isolinux} sudo mkdir -p binary/{live,isolinux}
act "copying kernel and initrd" act "copying kernel and initrd"
sudo ${=cp} $strapdir/boot/vmlinuz* binary/live/vmlinuz sudo cp $strapdir/boot/vmlinuz* binary/live/vmlinuz
sudo ${=cp} $strapdir/boot/initrd* binary/live/initrd sudo cp $strapdir/boot/initrd* binary/live/initrd
sudo ${=cp} /usr/share/live/build/bootloaders/isolinux/isolinux.bin \ sudo cp /usr/share/live/build/bootloaders/isolinux/isolinux.bin \
binary/isolinux binary/isolinux
sudo ${=cp} /usr/share/live/build/bootloaders/isolinux/*.c32 \ sudo cp /usr/share/live/build/bootloaders/isolinux/*.c32 \
binary/isolinux binary/isolinux
popd popd
} }
@ -121,7 +120,7 @@ iso_setup_installer() {
fn iso_setup_installer fn iso_setup_installer
notice "setting up devuan-installer" notice "setting up devuan-installer"
sudo ${=cp} $R/extra/installer/* $strapdir/ sudo cp $R/extra/installer/* $strapdir/
## TODO: init to script ## TODO: init to script
} }

View File

@ -1,5 +1,5 @@
#!/usr/bin/env zsh #!/usr/bin/env zsh
# Copyright (c) 2016 Dyne.org Foundation # Copyright (c) 2016-2017 Dyne.org Foundation
# libdevuansdk is maintained by Ivan J. <parazyd@dyne.org> # libdevuansdk is maintained by Ivan J. <parazyd@dyne.org>
# #
# This file is part of libdevuansdk # This file is part of libdevuansdk
@ -22,7 +22,7 @@
build_kernel_amd64() { build_kernel_amd64() {
fn build_kernel_amd64 fn build_kernel_amd64
req=(strapdir arch) req=(strapdir arch)
#freq=($strapdir/.done) #freq=($strapdir/.keep)
ckreq || return 1 ckreq || return 1
local kernel_base="linux-image" local kernel_base="linux-image"
@ -43,7 +43,7 @@ build_kernel_amd64() {
build_kernel_i386() { build_kernel_i386() {
fn build_kernel_i386 fn build_kernel_i386
req=(strapdir arch) req=(strapdir arch)
#freq=($strapdir/.done) #freq=($strapdir/.keep)
ckreq || return 1 ckreq || return 1
local kernel_base="linux-image" local kernel_base="linux-image"

View File

@ -1,5 +1,5 @@
#!/usr/bin/env zsh #!/usr/bin/env zsh
# Copyright (c) 2016 Dyne.org Foundation # Copyright (c) 2016-2017 Dyne.org Foundation
# libdevuansdk is maintained by Ivan J. <parazyd@dyne.org> # libdevuansdk is maintained by Ivan J. <parazyd@dyne.org>
# #
# This file is part of libdevuansdk # This file is part of libdevuansdk

View File

@ -1,5 +1,5 @@
#!/usr/bin/env zsh #!/usr/bin/env zsh
# Copyright (c) 2016 Dyne.org Foundation # Copyright (c) 2016-2017 Dyne.org Foundation
# libdevuansdk is maintained by Ivan J. <parazyd@dyne.org> # libdevuansdk is maintained by Ivan J. <parazyd@dyne.org>
# #
# This file is part of libdevuansdk # This file is part of libdevuansdk

View File

@ -18,10 +18,6 @@
# along with this source code. If not, see <http://www.gnu.org/licenses/>. # along with this source code. If not, see <http://www.gnu.org/licenses/>.
## ma baker ## ma baker
#
# deps:
# virtualbox
# qemu-kvm
vars+=(vmname) vars+=(vmname)
@ -39,9 +35,9 @@ vm_inject_overrides() {
exit 0 exit 0
EOF EOF
sudo -E chmod +x $strapdir/etc/rc.local sudo chmod +x $strapdir/etc/rc.local
print "rootfs / rootfs rw 0 0" | sudo -E tee ${strapdir}/etc/fstab >/dev/null print "rootfs / rootfs rw 0 0" | sudo tee ${strapdir}/etc/fstab >/dev/null
sudo sed -i -e 's/without-password/yes/' ${strapdir}/etc/ssh/sshd_config || zerr sudo sed -i -e 's/without-password/yes/' ${strapdir}/etc/ssh/sshd_config || zerr
} }
@ -52,7 +48,7 @@ vm_setup_grub() {
ckreq || return 1 ckreq || return 1
notice "setting up grub" notice "setting up grub"
cat <<EOF | sudo -E tee ${strapdir}/setupgrub >/dev/null cat <<EOF | sudo tee ${strapdir}/setupgrub >/dev/null
#!/bin/sh #!/bin/sh
export DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND=noninteractive
apt-get --yes --force-yes install linux-image-amd64 grub-pc apt-get --yes --force-yes install linux-image-amd64 grub-pc
@ -60,9 +56,7 @@ sed -e 's:GRUB_TIMEOUT=5:GRUB_TIMEOUT=1:' -i /etc/default/grub
update-grub update-grub
grub-install --no-floppy --recheck --modules="biosdisk part_msdos" ${loopdevice} grub-install --no-floppy --recheck --modules="biosdisk part_msdos" ${loopdevice}
sed -e 's:${loopdevice}p1:/dev/sda1:g' -i /boot/grub/grub.cfg sed -e 's:${loopdevice}p1:/dev/sda1:g' -i /boot/grub/grub.cfg
sync sync; sync; sync
sync
sync
EOF EOF
devprocsys mount $strapdir || zerr devprocsys mount $strapdir || zerr
chroot-script -d setupgrub || zerr chroot-script -d setupgrub || zerr
@ -75,7 +69,7 @@ vm_umount_raw() {
ckreq || return 1 ckreq || return 1
notice "remounting raw image" notice "remounting raw image"
sudo -E mount -o remount,ro $strapdir || zerr sudo mount -o remount,ro $strapdir || zerr
sync sync
notice "flushing bytes and buffers" notice "flushing bytes and buffers"
sudo blockdev --flushbufs $loopdevice || zerr sudo blockdev --flushbufs $loopdevice || zerr
@ -99,8 +93,8 @@ vm_vbox_setup() {
notice "converting raw image to vdi" notice "converting raw image to vdi"
pushd $workdir pushd $workdir
sudo -E qemu-img convert -f raw -O vdi base.raw base.vdi || zerr sudo qemu-img convert -f raw -O vdi base.raw base.vdi || zerr
sudo -E chown $USER base.vdi || zerr sudo chown $USER base.vdi || zerr
VBoxManage modifyhd base.vdi --type immutable --compact || zerr VBoxManage modifyhd base.vdi --type immutable --compact || zerr
act "removing old raw image" act "removing old raw image"
rm -f base.raw rm -f base.raw
@ -151,7 +145,7 @@ EOF
} }
EOF EOF
notice "actually packaging..." notice "actually packaging..."
vagrant package --base "$vmname" --output devuanbox.box --include metadata.json --vagrantfile Vagrantfile || zerr vagrant package --base "$vmname" --output ${vm_name}.box --include metadata.json --vagrantfile Vagrantfile || zerr
popd popd
} }
@ -162,10 +156,11 @@ vm_pack_dist() {
notice "packing up dist" notice "packing up dist"
mkdir -p $R/dist mkdir -p $R/dist
mv $workdir/devuanbox.box $R/dist/ mv $workdir/${vm_name}.box $R/dist
act "calculating sha256sum..." act "calculating sha256sum..."
silly silly
sha256sum $R/dist/devuanbox.box > $R/dist/devuanbox.box.sha sha256sum $R/dist/${vm_name}.box > $R/dist/${vm_name}.box.sha
# TODO: XXX: cleanup vagrant/virtualbox leftovers
notice "done!" notice "done!"
ls -1 $R/dist ls -1 $R/dist
} }