#!/bin/bash # Install the package and run main install commands set -ex # install dependencies echo -e '[arcanisrepo]\nServer = http://repo.arcanis.me/$arch\nSigLevel = Never' | tee -a /etc/pacman.conf # refresh the image pacman --noconfirm -Syu # main dependencies pacman --noconfirm -Sy base-devel devtools git pyalpm python-aur python-passlib python-srcinfo sudo # make dependencies pacman --noconfirm -Sy python-pip # optional dependencies # VCS support pacman --noconfirm -Sy breezy darcs mercurial subversion # web server pacman --noconfirm -Sy python-aioauth-client python-aiohttp python-aiohttp-debugtoolbar python-aiohttp-jinja2 python-aiohttp-security python-aiohttp-session python-cryptography python-jinja # additional features pacman --noconfirm -Sy gnupg python-boto3 rsync # create fresh tarball make VERSION=1.0.0 archlinux # well, it does not really matter which version we will put here # run makepkg mv ahriman-*-src.tar.xz package/archlinux chmod +777 package/archlinux # because fuck you that's why cd package/archlinux sudo -u nobody makepkg -cf --skipchecksums --noconfirm pacman --noconfirm -U ahriman-1.0.0-1-any.pkg.tar.zst # special thing for the container, because /dev/log interface is not available there sed -i 's/handlers = syslog_handler/handlers = console_handler/g' /etc/ahriman.ini.d/logging.ini # initial setup command as root sudo -u ahriman ahriman -a x86_64 init ahriman -a x86_64 repo-setup --packager "ahriman bot " --repository "github" --web-port 8080 # enable services systemctl enable ahriman-web@x86_64 systemctl enable ahriman@x86_64.timer # run web service (detached) sudo -u ahriman ahriman -a x86_64 web & WEBPID=$! sleep 15s # wait for the web service activation # add the first package # the build itself does not really work in the container because it requires procfs sudo -u ahriman ahriman package-add yay # run package check sudo -u ahriman ahriman repo-update # stop web service lol kill $WEBPID