simplified loading of library
config moved to each sdk implementation, library checks if config variables are set. other minor fixes (missing zlibs/grub source)
This commit is contained in:
parent
e3c0e5595b
commit
fb9cb40d33
|
|
@ -37,27 +37,3 @@ mirror="http://packages.devuan.org/merged"
|
||||||
|
|
||||||
# mirror repo section
|
# mirror repo section
|
||||||
section="main"
|
section="main"
|
||||||
|
|
||||||
# core packages for the system
|
|
||||||
core_packages=(devuan-keyring debian-keyring)
|
|
||||||
core_packages+=(initramfs-tools binutils ca-certificates curl)
|
|
||||||
core_packages+=(console-common less nano vim)
|
|
||||||
|
|
||||||
# base packages for the system
|
|
||||||
base_packages=(bzip2 dialog apt-utils fakeroot e2fsprogs parted)
|
|
||||||
|
|
||||||
# other system packages
|
|
||||||
system_packages=(sysvinit ssh)
|
|
||||||
|
|
||||||
# size of raw image file in MB
|
|
||||||
imgsize=1337
|
|
||||||
|
|
||||||
## libdevuansdk-specific settings
|
|
||||||
workdir="$H/workdir"
|
|
||||||
strapdir="${workdir}/${os}-${release}-${version}"
|
|
||||||
outdir="$H/builds"
|
|
||||||
|
|
||||||
# declare zuper globals
|
|
||||||
vars+=(os release version mirror section)
|
|
||||||
vars+=(workdir strapdir)
|
|
||||||
vars+=(imgsize)
|
|
||||||
|
|
|
||||||
88
libdevuansdk
88
libdevuansdk
|
|
@ -26,25 +26,44 @@ devuan_sdk_version=0.1
|
||||||
setopt pushdsilent
|
setopt pushdsilent
|
||||||
# export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"
|
# export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"
|
||||||
|
|
||||||
SDK_PREFIX=`pwd`
|
SDK_LIB=${SDK_LIB:-`pwd`}
|
||||||
SDK_HOME=`pwd`
|
|
||||||
SDK_CONF=`pwd`
|
|
||||||
|
|
||||||
R=${SDK_PREFIX:-/usr/local/devuan-sdk}
|
[[ "$core_packages" = "" ]] && {
|
||||||
H=${SDK_HOME:-$HOME/.devuan-sdk}
|
# core packages for the system
|
||||||
E=${SDK_CONF:-/etc/devuan-sdk}
|
core_packages=(devuan-keyring debian-keyring)
|
||||||
|
core_packages+=(initramfs-tools binutils ca-certificates curl)
|
||||||
|
core_packages+=(console-common less nano vim)
|
||||||
|
}
|
||||||
|
[[ "$base_packages" = "" ]] && {
|
||||||
|
# base packages for the system
|
||||||
|
base_packages=(bzip2 dialog apt-utils fakeroot e2fsprogs parted)
|
||||||
|
}
|
||||||
|
[[ "$system_packages" = "" ]] && {
|
||||||
|
# other system packages
|
||||||
|
system_packages=(sysvinit ssh)
|
||||||
|
}
|
||||||
|
# default size for an img
|
||||||
|
imgsize=${imgsize:-1337}
|
||||||
|
|
||||||
[[ -r $R ]] || {
|
|
||||||
print "Devuan SDK is not installed in: $R"
|
## libdevuansdk-specific settings
|
||||||
print "export SDK_PREFIX if installed on a different path"
|
workdir="$H/workdir"
|
||||||
|
strapdir="${workdir}/${os}-${release}-${version}"
|
||||||
|
outdir="$H/builds"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[[ -r $SDK_LIB/libdevuansdk ]] || {
|
||||||
|
print "Devuan SDK is not installed in: $SDK_LIB"
|
||||||
|
print "export SDK_LIB if installed on a different path"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
########################
|
########################
|
||||||
## Load Zuper extensions
|
## Load Zuper extensions
|
||||||
# conclude initialization
|
# conclude initialization
|
||||||
if [[ -r $R/zuper/zuper ]]; then
|
if [[ -r $SDK_LIB/zuper/zuper ]]; then
|
||||||
source $R/zuper/zuper
|
source $SDK_LIB/zuper/zuper
|
||||||
else source ./zuper/zuper; fi
|
else source ./zuper/zuper; fi
|
||||||
|
|
||||||
DEBUG=${DEBUG:-0}
|
DEBUG=${DEBUG:-0}
|
||||||
|
|
@ -53,29 +72,35 @@ LOG=${LOG:-""}
|
||||||
|
|
||||||
# path and debugging
|
# path and debugging
|
||||||
vars+=(R H E)
|
vars+=(R H E)
|
||||||
vars+=(name_default)
|
vars+=(SDK_LIB SDK_PREFIX SDK_CONF SDK_HOME)
|
||||||
# source $R/zlibs/library
|
|
||||||
source $E/config
|
|
||||||
source $R/zlibs/bootstrap
|
|
||||||
source $R/zlibs/helpers
|
|
||||||
# source $R/zlibs/imaging
|
|
||||||
source $R/zlibs/isolinux
|
|
||||||
source $R/zlibs/kernel
|
|
||||||
source $R/zlibs/qemu
|
|
||||||
source $R/zlibs/sysconf
|
|
||||||
|
|
||||||
|
# config globals
|
||||||
|
vars+=(os release version mirror section)
|
||||||
|
vars+=(workdir strapdir)
|
||||||
|
vars+=(imgsize)
|
||||||
|
|
||||||
|
# source $R/zlibs/library
|
||||||
|
source $SDK_LIB/zlibs/bootstrap
|
||||||
|
source $SDK_LIB/zlibs/helpers
|
||||||
|
# source $R/zlibs/imaging
|
||||||
|
source $SDK_LIB/zlibs/isolinux
|
||||||
|
source $SDK_LIB/zlibs/kernel
|
||||||
|
source $SDK_LIB/zlibs/qemu
|
||||||
|
source $SDK_LIB/zlibs/grub
|
||||||
|
source $SDK_LIB/zlibs/sysconf
|
||||||
|
|
||||||
|
# name of target by default, omits arch
|
||||||
|
vars+=(name_default)
|
||||||
|
name_default=${os}_${release}_${version}
|
||||||
|
|
||||||
|
|
||||||
# conclude initialization
|
# conclude initialization
|
||||||
if [[ -r $R/zuper/zuper.init ]]; then
|
if [[ -r $SDK_LIB/zuper/zuper.init ]]; then
|
||||||
source $R/zuper/zuper.init
|
source $SDK_LIB/zuper/zuper.init
|
||||||
else source ./zuper/zuper.init; fi
|
else source ./zuper/zuper.init; fi
|
||||||
|
|
||||||
# name of target by default, omits arch
|
|
||||||
name_default=${os}_${release}_${version}
|
|
||||||
|
|
||||||
# add all other binaries to the path
|
# add all other binaries to the path
|
||||||
path+=($R/bin)
|
path+=($SDK_LIB/bin)
|
||||||
rehash
|
rehash
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -89,4 +114,13 @@ notice "Loading Devuan SDK library v$devuan_sdk_version"
|
||||||
|
|
||||||
# ...
|
# ...
|
||||||
|
|
||||||
|
req=(os release version mirror section)
|
||||||
|
ckreq || { error "configuration is missing"; zshexit; return 1 }
|
||||||
|
|
||||||
act "library succesfully loaded"
|
act "library succesfully loaded"
|
||||||
|
|
||||||
|
# default operational paths
|
||||||
|
R=${R:-$SDK_PREFIX}
|
||||||
|
H=${H:-$SDK_HOME}
|
||||||
|
E=${E:-$SDK_CONF}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ grub_install_target_dev(){
|
||||||
root=$1
|
root=$1
|
||||||
install_dev=$2
|
install_dev=$2
|
||||||
req=(root install_dev)
|
req=(root install_dev)
|
||||||
freq=($root/.done $root/dev/pts/0)
|
freq=($root/.done)
|
||||||
ckreq || return 1
|
ckreq || return 1
|
||||||
|
|
||||||
# TODO: should we use qemu-chroot here for $arch = arm (parazyd?)
|
# TODO: should we use qemu-chroot here for $arch = arm (parazyd?)
|
||||||
|
|
|
||||||
|
|
@ -73,10 +73,10 @@ mountdevprocsys() {
|
||||||
req=(mntdir)
|
req=(mntdir)
|
||||||
ckreq || return 1
|
ckreq || return 1
|
||||||
|
|
||||||
sudo mount -o bind /sys ${mntdir}/sys && act "mounted /sys"
|
sudo mount -o bind /sys ${mntdir}/sys && act "mounted /sys in $mntdir"
|
||||||
sudo mount -t proc proc ${mntdir}/proc && act "mounted /proc"
|
sudo mount -t proc proc ${mntdir}/proc && act "mounted /proc in $mntdir"
|
||||||
sudo mount -o bind /dev ${mntdir}/dev && act "mounted /dev"
|
sudo mount -o bind /dev ${mntdir}/dev && act "mounted /dev in $mntdir"
|
||||||
sudo mount -o bind /dev/pts ${mntdir}/dev/pts && act "mounted /dev/pts"
|
sudo mount -o bind /dev/pts ${mntdir}/dev/pts && act "mounted /dev/pts $mntdir"
|
||||||
}
|
}
|
||||||
|
|
||||||
umountdevprocsys() {
|
umountdevprocsys() {
|
||||||
|
|
@ -85,10 +85,10 @@ umountdevprocsys() {
|
||||||
req=(mntdir)
|
req=(mntdir)
|
||||||
ckreq || return 1
|
ckreq || return 1
|
||||||
|
|
||||||
sudo umount ${mntdir}/dev/pts && act "unmounted /dev/pts" && sleep 2
|
sudo umount ${mntdir}/dev/pts && act "unmounted /dev/pts in $mntdir" && sleep 2
|
||||||
sudo umount ${mntdir}/dev && act "unmounted /dev" && sleep 2
|
sudo umount ${mntdir}/dev && act "unmounted /dev in $mntdir" && sleep 2
|
||||||
sudo umount ${mntdir}/proc && act "unmounted /proc" && sleep 2
|
sudo umount ${mntdir}/proc && act "unmounted /proc in $mntdir" && sleep 2
|
||||||
sudo umount ${mntdir}/sys && act "unmounted /sys" && sleep 2
|
sudo umount ${mntdir}/sys && act "unmounted /sys in $mntdir" && sleep 2
|
||||||
}
|
}
|
||||||
|
|
||||||
aptautostart() {
|
aptautostart() {
|
||||||
|
|
|
||||||
|
|
@ -136,7 +136,7 @@ isolinux_mkusr() {
|
||||||
|
|
||||||
mkdir -p $usrdir
|
mkdir -p $usrdir
|
||||||
|
|
||||||
rsync -av $strapdir/ $usrdir --exclude-from=$ztmpfile
|
rsync -raX $strapdir/ $usrdir --exclude-from=$ztmpfile
|
||||||
|
|
||||||
mkdir -p $isodir/live
|
mkdir -p $isodir/live
|
||||||
mksquashfs $usrdir/ $isodir/live/filesystem.squashfs -noappend
|
mksquashfs $usrdir/ $isodir/live/filesystem.squashfs -noappend
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ qemu_make_img(){
|
||||||
|
|
||||||
fn qemu_make_img $@
|
fn qemu_make_img $@
|
||||||
local imgfile=${1:-"$H/builds/${name_default}_${arch}.img"}
|
local imgfile=${1:-"$H/builds/${name_default}_${arch}.img"}
|
||||||
local imgsize=${2:-4G}
|
local imgsize=${2:-2G}
|
||||||
local imgformat=${3:-raw}
|
local imgformat=${3:-raw}
|
||||||
req=(strapdir os release version arch imgfile imgsize)
|
req=(strapdir os release version arch imgfile imgsize)
|
||||||
root=$strapdir
|
root=$strapdir
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue