Added usage prompt and renamed functions
This commit is contained in:
parent
94d26902dc
commit
81df06fd8b
1 changed files with 50 additions and 35 deletions
85
Build Linux
85
Build Linux
|
|
@ -50,24 +50,6 @@ function cleanup() {
|
|||
mkdir "$TEMP_DIR" 2>/dev/null
|
||||
}
|
||||
|
||||
function copy_archiso() {
|
||||
echo "Copying Archlinux files..."
|
||||
rsync -aI /usr/share/archiso/configs/releng/ "$LIVE_DIR/"
|
||||
|
||||
# Add items
|
||||
rsync -aI "$ROOT_DIR/.linux_items/include/live/" "$LIVE_DIR/"
|
||||
|
||||
# Remove items
|
||||
rm "$LIVE_DIR/airootfs/etc/systemd/scripts/choose-mirror"
|
||||
rmdir "$LIVE_DIR/airootfs/etc/systemd/scripts" --ignore-fail-on-non-empty
|
||||
rm "$LIVE_DIR/airootfs/etc/systemd/system/choose-mirror.service"
|
||||
rm "$LIVE_DIR/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount"
|
||||
rm "$LIVE_DIR/airootfs/etc/systemd/system/pacman-init.service"
|
||||
rm "$LIVE_DIR/airootfs/etc/udev/rules.d/81-dhcpcd.rules"
|
||||
rmdir "$LIVE_DIR/airootfs/etc/udev/rules.d" --ignore-fail-on-non-empty
|
||||
rmdir "$LIVE_DIR/airootfs/etc/udev" --ignore-fail-on-non-empty
|
||||
}
|
||||
|
||||
function fix_kit_permissions() {
|
||||
# GitHub zip archives don't preserve the correct permissions
|
||||
for d in .bin .cbin .kit_items .linux_items .pe_items Images; do
|
||||
|
|
@ -110,6 +92,24 @@ function load_settings() {
|
|||
done < "$BUILD_DIR/main.py"
|
||||
}
|
||||
|
||||
function prep_live_env() {
|
||||
echo "Copying Archlinux files..."
|
||||
rsync -aI /usr/share/archiso/configs/releng/ "$LIVE_DIR/"
|
||||
|
||||
# Add items
|
||||
rsync -aI "$ROOT_DIR/.linux_items/include/live/" "$LIVE_DIR/"
|
||||
|
||||
# Remove items
|
||||
rm "$LIVE_DIR/airootfs/etc/systemd/scripts/choose-mirror"
|
||||
rmdir "$LIVE_DIR/airootfs/etc/systemd/scripts" --ignore-fail-on-non-empty
|
||||
rm "$LIVE_DIR/airootfs/etc/systemd/system/choose-mirror.service"
|
||||
rm "$LIVE_DIR/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount"
|
||||
rm "$LIVE_DIR/airootfs/etc/systemd/system/pacman-init.service"
|
||||
rm "$LIVE_DIR/airootfs/etc/udev/rules.d/81-dhcpcd.rules"
|
||||
rmdir "$LIVE_DIR/airootfs/etc/udev/rules.d" --ignore-fail-on-non-empty
|
||||
rmdir "$LIVE_DIR/airootfs/etc/udev" --ignore-fail-on-non-empty
|
||||
}
|
||||
|
||||
function run_elevated() {
|
||||
prog="$1"
|
||||
shift
|
||||
|
|
@ -242,7 +242,7 @@ function install_deps() {
|
|||
run_elevated pacman -Syu --needed --noconfirm $packages
|
||||
}
|
||||
|
||||
function build_arch() {
|
||||
function build_iso() {
|
||||
if [[ "$EUID" -ne 0 ]]; then
|
||||
echo "This section is meant to be run as root."
|
||||
echo "Aborted."
|
||||
|
|
@ -281,39 +281,54 @@ function build_full() {
|
|||
install_deps
|
||||
load_settings
|
||||
update_repo
|
||||
copy_archiso
|
||||
prep_live_env
|
||||
update_archlive
|
||||
# Rerun script as root to start Archiso build process
|
||||
run_elevated "$(realpath "$0")" --build-arch
|
||||
run_elevated "$(realpath "$0")" --build-iso
|
||||
}
|
||||
|
||||
# Check input
|
||||
case $1 in
|
||||
--build-arch)
|
||||
load_settings
|
||||
build_arch
|
||||
-b|--build-full)
|
||||
build_full
|
||||
;;
|
||||
|
||||
--copy-archiso)
|
||||
load_settings
|
||||
copy_archiso
|
||||
update_archlive
|
||||
;;
|
||||
|
||||
--fix-perms)
|
||||
-f|--fix-perms)
|
||||
fix_kit_permissions
|
||||
;;
|
||||
|
||||
--install-deps)
|
||||
-i|--install-deps)
|
||||
install_deps
|
||||
;;
|
||||
|
||||
--update-repo)
|
||||
update_repo
|
||||
-o|--build-iso)
|
||||
load_settings
|
||||
build_iso
|
||||
;;
|
||||
|
||||
-p|--prep-live-env)
|
||||
load_settings
|
||||
prep_live_env
|
||||
update_archlive
|
||||
;;
|
||||
|
||||
-u|--update-repo)
|
||||
update_repo
|
||||
;;
|
||||
|
||||
*)
|
||||
build_full
|
||||
echo "Usage: $(basename "$0") [OPTIONS]"
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " -b --build-full Perform all tasks and build iso"
|
||||
echo " -h --help Show usage"
|
||||
echo ""
|
||||
echo "Advanced options:"
|
||||
echo " -f --fix-perms Fix folder permissions"
|
||||
echo " -i --install-deps Install build dependencies"
|
||||
echo " -o --build-iso Build ISO (using current setup)"
|
||||
echo " -p --prep-live-env Prep live & airootfs folders"
|
||||
echo " -u --update-repo Update custom pacman repo"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue