Merge branch 'next' of https://git.devuan.org/sdk/libdevuansdk into next
This commit is contained in:
commit
d9e9931830
|
|
@ -0,0 +1,3 @@
|
|||
[submodule "extra/devuan-keyring"]
|
||||
path = extra/devuan-keyring
|
||||
url = https://git.devuan.org/devuan-packages/devuan-keyring
|
||||
2
config
2
config
|
|
@ -28,7 +28,7 @@ arrs+=(core_packages base_packages purge_packages blend_packages)
|
|||
|
||||
os="devuan"
|
||||
release="jessie"
|
||||
version="1.0.0-RC"
|
||||
version="1.0.0-RC2"
|
||||
mirror="http://auto.mirror.devuan.org/merged"
|
||||
section="main"
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
Subproject commit e82213e52259a497db285c59758b9f6a95308060
|
||||
Binary file not shown.
|
|
@ -40,6 +40,7 @@ bootstrap_complete_base() {
|
|||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
sudo -E debootstrap \
|
||||
--keyring="$LIBPATH/extra/devuan-keyring/keyrings/devuan-archive-keyring.gpg" \
|
||||
--foreign \
|
||||
--arch $arch $release $strapdir $mirror || zerr
|
||||
|
||||
|
|
@ -116,7 +117,7 @@ bootstrap_tar_pack() {
|
|||
local _dest=$(dirname $bootstrap_tgz)
|
||||
|
||||
if [[ -f $bootstrap_tgz ]]; then
|
||||
act "tarball found already in $_dest"
|
||||
notice "tarball found already in $_dest"
|
||||
else
|
||||
notice "Creating boostrap tarball in $bootstrap_tgz"
|
||||
silly
|
||||
|
|
@ -138,16 +139,17 @@ bootstrap_tar_unpack() {
|
|||
ckreq || return 1
|
||||
|
||||
if [[ -f "${unpath}/.keep" ]]; then
|
||||
act "skipping tarball unpack"
|
||||
else
|
||||
sudo rm -rf ${unpath}
|
||||
mkdir -p ${unpath}
|
||||
silly
|
||||
sudo tar xfp $bootstrap_tgz -C ${unpath}
|
||||
sudo mkdir -p ${unpath}/{boot,dev,sys,proc}
|
||||
else
|
||||
error "no .keep file found. exiting..."
|
||||
zerr
|
||||
exit 1
|
||||
fi
|
||||
|
||||
conf_print_sourceslist | sudo tee $strapdir/etc/apt/sources.list >/dev/null
|
||||
|
||||
cat <<EOF | sudo tee ${strapdir}/postunpack >/dev/null
|
||||
#!/bin/sh
|
||||
apt-get update
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@
|
|||
|
||||
## helper functions that make my life easier
|
||||
|
||||
vars+=(loopdevice)
|
||||
|
||||
build_image_dist() {
|
||||
fn build_image_dist
|
||||
req=(arch size parted_type)
|
||||
|
|
@ -33,14 +35,14 @@ build_image_dist() {
|
|||
notice "building complete dist image"
|
||||
act "$image_name"
|
||||
|
||||
bootstrap_complete_base || zerr
|
||||
blend_preinst || zerr
|
||||
image_prepare_raw || zerr
|
||||
image_partition_raw_${parted_type} || zerr
|
||||
build_kernel_${arch} || zerr
|
||||
blend_postinst || zerr
|
||||
rsync_to_raw_image || zerr
|
||||
image_pack_dist || zerr
|
||||
bootstrap_complete_base || { zerr; wrapup }
|
||||
blend_preinst || { zerr; wrapup }
|
||||
image_prepare_raw || { zerr; wrapup }
|
||||
image_partition_raw_${parted_type} || { zerr; wrapup }
|
||||
build_kernel_${arch} || { zerr; wrapup }
|
||||
blend_postinst || { zerr; wrapup }
|
||||
rsync_to_raw_image || { zerr; wrapup }
|
||||
image_pack_dist || { zerr; wrapup }
|
||||
}
|
||||
|
||||
build_iso_dist() {
|
||||
|
|
@ -50,16 +52,16 @@ build_iso_dist() {
|
|||
|
||||
notice "building complete iso image"
|
||||
|
||||
bootstrap_complete_base || zerr
|
||||
blend_preinst || zerr
|
||||
iso_prepare_strap || zerr
|
||||
build_kernel_${arch} || zerr
|
||||
iso_setup_isolinux || zerr
|
||||
iso_write_isolinux_cfg || zerr
|
||||
bootstrap_complete_base || { zerr; wrapup }
|
||||
blend_preinst || { zerr; wrapup }
|
||||
iso_prepare_strap || { zerr; wrapup }
|
||||
build_kernel_${arch} || { zerr; wrapup }
|
||||
iso_setup_isolinux || { zerr; wrapup }
|
||||
iso_write_isolinux_cfg || { zerr; wrapup }
|
||||
#[[ $INSTALLER = 1 ]] && iso_setup_installer || zerr
|
||||
blend_postinst || zerr
|
||||
iso_squash_strap || zerr
|
||||
iso_xorriso_build || zerr
|
||||
blend_postinst || { zerr; wrapup }
|
||||
iso_squash_strap || { zerr; wrapup }
|
||||
iso_xorriso_build || { zerr; wrapup }
|
||||
}
|
||||
|
||||
build_vagrant_dist() {
|
||||
|
|
@ -69,16 +71,16 @@ build_vagrant_dist() {
|
|||
|
||||
notice "building complete vagrant image"
|
||||
|
||||
image_${imageformat}_as_strapdir || zerr
|
||||
bootstrap_complete_base || zerr
|
||||
vm_inject_overrides || zerr
|
||||
blend_preinst || zerr
|
||||
vm_setup_grub || zerr
|
||||
blend_postinst || zerr
|
||||
vm_umount_${imageformat} || zerr
|
||||
vm_vbox_setup || zerr
|
||||
vm_vagrant_package || zerr
|
||||
vm_pack_dist || zerr
|
||||
image_${imageformat}_as_strapdir || { zerr; wrapup }
|
||||
bootstrap_complete_base || { zerr; wrapup }
|
||||
vm_inject_overrides || { zerr; wrapup }
|
||||
blend_preinst || { zerr; wrapup }
|
||||
vm_setup_grub || { zerr; wrapup }
|
||||
blend_postinst || { zerr; wrapup }
|
||||
vm_umount_${imageformat} || { zerr; wrapup }
|
||||
vm_vbox_setup || { zerr; wrapup }
|
||||
vm_vagrant_package || { zerr; wrapup }
|
||||
vm_pack_dist || { zerr; wrapup }
|
||||
}
|
||||
|
||||
getfield() {
|
||||
|
|
@ -120,29 +122,40 @@ devprocsys() {
|
|||
sudo mount -o bind /dev/pts $werdo/dev/pts && act "mounted devpts" && \
|
||||
return 0
|
||||
elif [[ $watdo = umount ]]; then
|
||||
sudo umount $werdo/dev/pts && act "umounted devpts" && sleep 1 && \
|
||||
sudo umount $werdo/dev && act "umounted dev" && sleep 1 && \
|
||||
sudo umount $werdo/proc && act "umounted proc" && sleep 1 && \
|
||||
sudo umount $werdo/sys && act "umounted sys" && sleep 1 && \
|
||||
sudo umount $werdo/dev/pts && act "umounted devpts" && sleep 1
|
||||
sudo umount $werdo/dev && act "umounted dev" && sleep 1
|
||||
sudo umount $werdo/proc && act "umounted proc" && sleep 1
|
||||
sudo umount $werdo/sys && act "umounted sys" && sleep 1
|
||||
return 0
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
findloopmapp() {
|
||||
fn findloopmapp
|
||||
wrapup() {
|
||||
# a hopefully clean exit
|
||||
fn wrapup
|
||||
req=(strapdir)
|
||||
ckreq || {
|
||||
die "something is very wrong"
|
||||
die "cleanup yourself, sorry"
|
||||
exit 1
|
||||
}
|
||||
|
||||
devprocsys umount $strapdir
|
||||
exit 1
|
||||
}
|
||||
|
||||
findloopdev() {
|
||||
fn findloopdev
|
||||
req=(workdir image_name)
|
||||
ckreq || return 1
|
||||
|
||||
notice "finding a free loopdevice"
|
||||
|
||||
loopdevice=$(sudo losetup -f --show $workdir/${image_name}.img)
|
||||
mappdevice=$(sudo kpartx -va $loopdevice | \
|
||||
sed -E 's/.*(loop[0-9])p.*/\1/g' | sed 1q)
|
||||
sudo partx -av $loopdevice || zerr
|
||||
|
||||
func "loopdevice: $loopdevice"
|
||||
func "mappdevice: $mappdevice"
|
||||
|
||||
silly sleep 2
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,12 +45,11 @@ image_partition_raw_dos() {
|
|||
parted $workdir/${image_name}.img --script -- mkpart primary ${parted_boot}
|
||||
parted $workdir/${image_name}.img --script -- mkpart primary ${parted_root}
|
||||
|
||||
## get loopdevice and mapper device (see ./helpers)
|
||||
findloopmapp
|
||||
## get loopdevice (see ./helpers)
|
||||
findloopdev
|
||||
|
||||
mappdevice="/dev/mapper/${mappdevice}"
|
||||
bootpart=${mappdevice}p1
|
||||
rootpart=${mappdevice}p2
|
||||
bootpart=${loopdevice}p1
|
||||
rootpart=${loopdevice}p2
|
||||
|
||||
notice "formatting partitions..."
|
||||
sudo mkfs.vfat ${bootpart}
|
||||
|
|
@ -77,11 +76,10 @@ image_partition_raw_gpt() {
|
|||
awk '/Sec GPT table/ {print $1}') - ${gpt_root[1]}) \
|
||||
-l Root $workdir/${image_name}.img
|
||||
|
||||
findloopmapp
|
||||
findloopdev
|
||||
|
||||
mappdevice="/dev/mapper/${mappdevice}"
|
||||
bootpart=${mappdevice}p1
|
||||
rootpart=${mappdevice}p2
|
||||
bootpart="${loopdevice}p1"
|
||||
rootpart="${loopdevice}p2"
|
||||
|
||||
notice "formatting partitions..."
|
||||
sudo mkfs.ext4 -L rootfs ${rootpart}
|
||||
|
|
@ -89,14 +87,14 @@ image_partition_raw_gpt() {
|
|||
|
||||
image_pack_dist() {
|
||||
fn image_pack_dist
|
||||
req=(mappdevice loopdevice image_name strapdir workdir)
|
||||
req=(loopdevice image_name strapdir workdir)
|
||||
ckreq || return 1
|
||||
|
||||
notice "packaging image for dist"
|
||||
|
||||
act "rechecking filesystem"
|
||||
sudo e2fsck -f ${mappdevice}p2
|
||||
sudo resize2fs ${mappdevice}p2
|
||||
sudo e2fsck -f ${loopdevice}p2
|
||||
sudo resize2fs ${loopdevice}p2
|
||||
|
||||
sleep 2
|
||||
|
||||
|
|
@ -105,8 +103,8 @@ image_pack_dist() {
|
|||
sleep 1
|
||||
}
|
||||
|
||||
sudo kpartx -dv $loopdevice || {
|
||||
die "kpartx failed to remove $loopdevice"
|
||||
sudo partx -dv $loopdevice || {
|
||||
die "partx failed to remove $loopdevice"
|
||||
zerr
|
||||
}
|
||||
sudo losetup -d $loopdevice || {
|
||||
|
|
@ -114,12 +112,12 @@ image_pack_dist() {
|
|||
zerr
|
||||
}
|
||||
|
||||
_xz="xz -zv"
|
||||
_xz=(xz -zv)
|
||||
[[ $(command -v pixz) ]] && _xz=pixz
|
||||
notice "compressing image with $_xz"
|
||||
silly
|
||||
pushd $workdir
|
||||
${=_xz} ${image_name}.img
|
||||
${xz} "${image_name}.img"
|
||||
|
||||
notice "generating sha256 for ${image_name}.img.xz"
|
||||
sha256sum ${image_name}.img.xz > ${image_name}.img.xz.sha
|
||||
|
|
|
|||
44
zlibs/iso
44
zlibs/iso
|
|
@ -52,10 +52,25 @@ iso_setup_isolinux() {
|
|||
sudo cp $strapdir/boot/vmlinuz* binary/live/vmlinuz
|
||||
sudo cp $strapdir/boot/initrd* binary/live/initrd
|
||||
|
||||
sudo cp /usr/share/live/build/bootloaders/isolinux/isolinux.bin \
|
||||
binary/isolinux || zerr
|
||||
sudo cp /usr/share/live/build/bootloaders/isolinux/*.c32 \
|
||||
binary/isolinux || zerr
|
||||
eval $(cat /etc/os-release)
|
||||
case "$ID" in
|
||||
devuan)
|
||||
sudo cp \
|
||||
/usr/share/live/build/bootloaders/isolinux/isolinux.bin \
|
||||
binary/isolinux || zerr
|
||||
sudo cp /usr/share/live/build/bootloaders/isolinux/*.c32 \
|
||||
binary/isolinux || zerr
|
||||
;;
|
||||
gentoo)
|
||||
sudo cp \
|
||||
/usr/share/syslinux/isolinux.bin binary/isolinux || zerr
|
||||
sudo cp \
|
||||
/usr/share/syslinux/*.c32 binary/isolinux || zerr
|
||||
;;
|
||||
*)
|
||||
warn "no isolinux has been copied. take care of it yourself"
|
||||
;;
|
||||
esac
|
||||
popd
|
||||
}
|
||||
|
||||
|
|
@ -88,10 +103,13 @@ iso_squash_strap() {
|
|||
|
||||
notice "creating squashfs out of strapdir"
|
||||
|
||||
[[ -n "$mkefi" ]] && uefi_opt="-Xbcj x86"
|
||||
pushd $workdir
|
||||
sudo mksquashfs $strapdir binary/live/filesystem.squashfs \
|
||||
${=uefi_opt} \
|
||||
-noappend -comp xz || zerr
|
||||
popd
|
||||
unset uefi_opt
|
||||
}
|
||||
|
||||
iso_xorriso_build() {
|
||||
|
|
@ -102,10 +120,24 @@ iso_xorriso_build() {
|
|||
notice "building iso..."
|
||||
isoname="${image_name}-live.iso"
|
||||
|
||||
[[ -n "$mkefi" ]] && {
|
||||
uefi_opt="-eltorito-alt-boot -e boot/grub/efiboot.img -isohybrid-gpt-basdat -no-emul-boot"
|
||||
}
|
||||
|
||||
eval $(cat /etc/os-release)
|
||||
case "$ID" in
|
||||
devuan)
|
||||
isohybrid=/usr/lib/ISOLINUX/isohdpfx.bin
|
||||
;;
|
||||
gentoo)
|
||||
isohybrid=/usr/share/syslinux/isohdpfx.bin
|
||||
;;
|
||||
esac
|
||||
|
||||
mkdir -p $R/dist
|
||||
pushd $workdir
|
||||
sudo xorriso -as mkisofs -r -J -joliet-long -l \
|
||||
-isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin \
|
||||
-isohybrid-mbr $isohybrid \
|
||||
-partition_offset 16 \
|
||||
-A "${os} Live - ${arch}" \
|
||||
-b isolinux/isolinux.bin \
|
||||
|
|
@ -113,9 +145,11 @@ iso_xorriso_build() {
|
|||
-no-emul-boot \
|
||||
-boot-load-size 4 \
|
||||
-boot-info-table \
|
||||
${=uefi_opt} \
|
||||
-o $R/dist/$isoname \
|
||||
binary || zerr
|
||||
popd
|
||||
unset uefi_opt
|
||||
}
|
||||
|
||||
iso_setup_installer() {
|
||||
|
|
|
|||
Loading…
Reference in New Issue