diff --git a/arch.yaml b/arch.yaml new file mode 100644 index 0000000..accca99 --- /dev/null +++ b/arch.yaml @@ -0,0 +1,72 @@ +track: "base" + +modules: + - name: exec + run: | + for cmd in "$@"; do + bash -s <<< "$cmd" + done + + - name: pacman-install + run: | + pacman -Syqu --noconfirm "$@" || pacman -Syqu --noconfirm "$@" + + - name: pacman-remove + run: | + pacman -Rcns --noconfirm "$@" + +stages: + - module: pacman-install + inputs: + - "sudo" + - "grub" + - "nano" + - "linux" + - "linux-firmware" + - "dracut" + +distro-config: + init-rootfs: | + set -e + + mkdir -m 0755 -p ./var/{cache/blendOS/pacman/pkg,lib/pacman,log} ./{dev,run,etc/pacman.d} + mkdir -m 1777 -p ./tmp + mkdir -m 0555 -p ./{sys,proc} + + cat <./etc/pacman.conf + [options] + HoldPkg = pacman glibc + Architecture = auto + CheckSpace + ParallelDownloads = 5 + CacheDir = /var/cache/blendOS/pacman/pkg/ + SigLevel = Never + LocalFileSigLevel = Never + RemoteFileSigLevel = Never + + [core] + Server = https://fastly.mirror.pkgbuild.com/$repo/os/$arch + Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch + Server = https://ftpmirror.infania.net/mirror/archlinux/$repo/os/$arch + Server = https://mirror.rackspace.com/archlinux/$repo/os/$arch + + [extra] + Server = https://fastly.mirror.pkgbuild.com/$repo/os/$arch + Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch + Server = https://ftpmirror.infania.net/mirror/archlinux/$repo/os/$arch + Server = https://mirror.rackspace.com/archlinux/$repo/os/$arch + + [multilib] + Server = https://fastly.mirror.pkgbuild.com/$repo/os/$arch + Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch + Server = https://ftpmirror.infania.net/mirror/archlinux/$repo/os/$arch + Server = https://mirror.rackspace.com/archlinux/$repo/os/$arch + EOF + + pacman -Sy --config ./etc/pacman.conf --cachedir ./var/cache/blendOS/pacman/pkg -r . --needed --noconfirm base + + ln -sfn usr/lib64 ./lib64 + ln -sfn usr/sbin ./sbin + + can-update: | + [ "$(checkupdates | wc -l)" -gt 0 ]