1 #!/usr/bin/env bash -xe
3 # This build script is meant to be run from the vroot.x(32|64) directory, as part of the build process
4 # It more-or-less automates the Abigail build process
5 # Make sure appropriate directories have been bind-mounted (sudo sh ../bm.sh)
7 # Update the build chroot, last release published was 20191111
8 sudo chroot .
/bin
/bash
-c '(xbps-install -Syu && xbps-install -Syu && exit)'
10 # Copy in our RELEASE, etc, files
11 for F
in RELEASE .pkgs .svcs .patches .build
; do sudo
cp -r ..
/files
/"${F}" .
/; done
13 # Enter the updated build environment
14 # Install packages, remake the mandoc db, enable services, patch the boot process, and finally remove orphan packages
15 sudo chroot .
/bin
/bash
-xe -c '\
18 for PKG in $(cat .pkgs); do xbps-install -Suy $PKG; done &&\
19 makewhatis /usr/share/man &&\
20 for SVC in $(cat .svcs); do ln -s /etc/sv/$SVC /etc/runit/runsvdir/default/$SVC; done &&\
21 patch -R -p1 /etc/runit/core-services/03-filesystems.sh < /.patches/fix-panic-on-readonly-root.patch &&\
29 mkdir -m 0400 /initrd &&\
30 xbps-remove --remove-orphans &&\
31 rmdir /opt /media ||: &&\
34 sudo
touch .
/initrd
/init3.btrfs
35 sudo mkfs.btrfs
--shrink --rootdir=..
/..
/initrd2 initrd
/init3.btrfs
36 sudo chown root
:root initrd
/init3.btrfs
37 sudo
chmod 0400 initrd
/init3.btrfs