index : archinstall32 | |
Archlinux32 installer | gitolite user |
summaryrefslogtreecommitdiff |
author | Anton Hvornum <anton.feeds@gmail.com> | 2018-05-06 23:02:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-06 23:02:48 +0200 |
commit | a584d33c2a8bb2c1f44e3bdab28ff22141e01e10 (patch) | |
tree | 01a0fc2ddb7281482425fd6986548cb22752e49b | |
parent | 0629ed7a9431f2d8d33460db7b9ec6a2aeebbf91 (diff) |
-rw-r--r-- | make_offline | 62 |
diff --git a/make_offline b/make_offline index 0b79871b..225dec25 100644 --- a/make_offline +++ b/make_offline @@ -2,69 +2,67 @@ work_dir=$1 arch=$2 +offline_mirror_path="/tmp/aur_offline" # A func to download, build ... build_aur () { old_dir=`pwd` + package=$1 # Prep with a build-user: useradd -m -G wheel builder sed -i 's/# %wheel ALL=(ALL) NO/%wheel ALL=(ALL) NO/' /etc/sudoers cd /tmp - rm -rf $1 $1.tar.gz - wget "https://aur.archlinux.org/cgit/aur.git/snapshot/$1.tar.gz" - tar xvzf "$1.tar.gz" + rm -rf ${package} ${package}.tar.gz + wget "https://aur.archlinux.org/cgit/aur.git/snapshot/${package}.tar.gz" + tar xvzf "${package}.tar.gz" - cd $1 + cd ${package} build_dir=$(pwd) - chown -R builder.builder /tmp/$1 - echo " => Buiilding $1" + chown -R builder.builder /tmp/${package} + echo " => Buiilding ${package}" su - builder -c "(cd ${build_dir}; makepkg -s --noconfirm)" >/dev/null 2>&1 - if [[ -n $3 ]]; then - echo " => Adding $1 to local AUR mirror" - mkdir -p $3 - sh -c "cp *.xz $3/$1.pkg.tar.xz" - sh -c "repo-add $3/aur_offline.db.tar.gz $3/*.xz" - if [[ -z $(cat ${old_dir}/packages.both | grep $1) ]]; then - echo " => Adding $1 to packages.both (from AUR)" - echo "$1" >> ${old_dir}/packages.both - fi + + echo " => Adding ${package} to local AUR mirror" + 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" + if [[ -z $(cat ${old_dir}/packages.both | grep ${package}) ]]; then + # TODO: save a copy of ${old_dir}/packages.both ONCE, if it doesn't excist already. + # This in order to revert our AUR changes which will affect a re-build. + echo " => Adding ${package} to packages.both (from AUR)" + echo "${package}" >> ${old_dir}/packages.both fi - sh -c "mv *.xz ${old_dir}/$2/$1.pkg.tar.xz" + ## Long term storage inside the ISO? (if we want to install to disk, we need to pass this along) + # sh -c "mv *.xz ${old_dir}/$2/$1.pkg.tar.xz" cd ${old_dir} userdel builder rm -rf /home/builder - rm -rf /tmp/$1 - rm /tmp/$1.tar.gz + rm -rf /tmp/${package} + rm /tmp/${package}.tar.gz } -echo "Starting to sync upstream changes to mirror." - -mkdir -p ${work_dir}/${arch}/airootfs/srv/http/archlinux/arch_offline/os/x86_64 +echo "Starting to sync upstream changes to offline mirror." rm -rf /tmp/sync /tmp/local -echo " => Retrieving packages" -pacman --noconfirm --dbpath /tmp/ -Syu -w --cachedir ${work_dir}/${arch}/airootfs/srv/http/archlinux/arch_offline/os/${arch} base base-devel syslinux efitools haveged intel-ucode memtest86+ mkinitcpio-nfs-utils nbd zsh git python python-systemd nano sudo iptables dhclient dnsmasq openssh sshfs openssl openvpn gcc openvpn powerdns postgresql sqlite go c-ares http-parser libuv nodejs-less mariadb memcached bzip2 glib2 libev lua51 ragel zlib >/dev/null 2>&1 - -echo " => Retrieving ISO specific packages" -pacman --noconfirm --dbpath /tmp/ -Syu -w --cachedir ${work_dir}/${arch}/airootfs/srv/http/archlinux/arch_offline/os/${arch} $(cat ${work_dir}/../packages.both) - echo " => Building AUR (Adding packages to packages.both as we go along)" -build_aur "gogs-git" "${work_dir}/${arch}/airootfs/srv/http/archlinux/arch_offline/os/${arch}" -build_aur "lighttpd2-git" "${work_dir}/${arch}/airootfs/srv/http/archlinux/arch_offline/os/${arch}" "/tmp/aur_offline" +build_aur "lighttpd2-git" if [[ -z $(cat ${work_dir}/pacman.conf | grep '\[aur_offline\]') ]]; then - echo "Adding offline mirror to build bubble" + 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 -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 +## 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 |