index : archinstall32 | |
Archlinux32 installer | gitolite user |
summaryrefslogtreecommitdiff |
author | Anton Hvornum <anton.feeds+github@gmail.com> | 2019-11-15 19:58:01 +0000 |
---|---|---|
committer | Anton Hvornum <anton.feeds+github@gmail.com> | 2019-11-15 19:58:01 +0000 |
commit | 3d0c9c4f113a7863aa28ba8116cf692a6da5e202 (patch) | |
tree | 89bc73411b2125c639590cc81b9a3a5ef67dce81 /install_aur | |
parent | 9678ba9674ee83e9aea9da5279d7e726ab890ab6 (diff) |
-rw-r--r-- | install_aur | 72 |
diff --git a/install_aur b/install_aur deleted file mode 100644 index 6452c428..00000000 --- a/install_aur +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/bash - -# offline_mirror_path - is used to temporarily store build AUR packages -# in order to "host" them to the build process. -# The path will be on the build machine, not inside the build itself. - -work_dir=$1 -arch=$2 -offline_mirror_path="/tmp/aur_offline" - -# A func to download, build and host AUR packages to the ISO build process -build_aur () { - old_dir=`pwd` - package=$1 - # Prep with a build-user (removed at the end): - # TODO: Check if already exists, if so, randomize name/don't remove at the end. - # TODO: Don't give permission to wheel, give it only to this user (easy, but needs debugging first) - useradd -m -G wheel builder - sed -i 's/# %wheel ALL=(ALL) NO/%wheel ALL=(ALL) NO/' /etc/sudoers - - # Extract the AUR package. - cd /tmp - rm -rf ${package} ${package}.tar.gz - wget "https://aur.archlinux.org/cgit/aur.git/snapshot/${package}.tar.gz" - tar xvzf "${package}.tar.gz" - - cd ${package} - build_dir=$(pwd) - chown -R builder.builder /tmp/${package} - echo " => Buiilding ${package}" - su - builder -c "(cd ${build_dir}; makepkg -s --noconfirm)" >/dev/null 2>&1 - - - echo " => Adding ${package} to local AUR hosting directory ${offline_mirror_path}" - mkdir -p ${offline_mirror_path} - sh -c "cp *.xz ${offline_mirror_path}/" - sh -c "repo-add ${offline_mirror_path}/aur_offline.db.tar.gz ${offline_mirror_path}/*.xz" - - ## Long term storage inside the ISO? (if we want to install from CD to disk or host it to others) - # sh -c "mv *.xz ${old_dir}/$2/$1.pkg.tar.xz" - - cd ${old_dir} - userdel builder - rm -rf /home/builder - rm -rf /tmp/${package} - rm /tmp/${package}.tar.gz -} - -echo "Starting to sync upstream changes to offline mirror." -rm -rf /tmp/sync /tmp/local - -echo " => Building AUR packages (found in packages.aur)" -for package in $(cat ${work_dir}/packages.aur); do - build_aur package -done - -if [[ -z $(cat ${work_dir}/pacman.conf | grep '\[aur_offline\]') ]]; then - echo " => Adding offline mirror to the chroot environment" - - echo "[aur_offline]" >> ${work_dir}/pacman.conf - echo "Server = file:///tmp/aur_offline" >> ${work_dir}/pacman.conf - echo "SigLevel = Optional TrustAll" >> ${work_dir}/pacman.conf -fi - -## Long term storage, if we want to be able to index our newly build files -## while installing down to disk later, we need to index the AUR packages. -#echo " => Adding packages to offline database" -#sh -c "repo-add --new ${work_dir}/${arch}/airootfs/srv/http/archlinux/arch_offline/os/${arch}/arch_offline.db.tar.gz ${work_dir}/${arch}/airootfs/srv/http/archlinux/arch_offline/os/${arch}/*.pkg.tar.xz" >/dev/null 2>&1 - -pacman --config ${work_dir}/pacman.conf -Sy -pacman -Sy -echo "Done syncing offline mirror." |