Cleaned up AUR bash script, no need for it anymore since the reference has moved into the python code
This commit is contained in:
parent
9678ba9674
commit
3d0c9c4f11
72
install_aur
72
install_aur
|
|
@ -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."
|
|
||||||
Loading…
Reference in New Issue