mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-04-24 15:27:17 +00:00
61 lines
2.4 KiB
Bash
Executable File
61 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# Install the package and run main install commands
|
|
|
|
set -ex
|
|
|
|
[[ $1 = "minimal" ]] && MINIMAL_INSTALL=1
|
|
|
|
# install dependencies
|
|
echo -e '[arcanisrepo]\nServer = https://repo.arcanis.me/$arch\nSigLevel = Never' | tee -a /etc/pacman.conf
|
|
# refresh the image
|
|
pacman -Syyu --noconfirm
|
|
# main dependencies
|
|
pacman -S --noconfirm devtools git pyalpm python-inflection python-passlib python-pyelftools python-requests python-srcinfo python-systemd sudo
|
|
# make dependencies
|
|
pacman -S --noconfirm --asdeps base-devel python-build python-flit python-installer python-tox python-wheel
|
|
# optional dependencies
|
|
if [[ -z $MINIMAL_INSTALL ]]; then
|
|
# web server
|
|
pacman -S --noconfirm python-aioauth-client python-aiohttp python-aiohttp-apispec-git python-aiohttp-cors python-aiohttp-jinja2 python-aiohttp-security python-aiohttp-session python-cryptography python-jinja
|
|
# additional features
|
|
pacman -S --noconfirm gnupg python-boto3 python-cerberus python-matplotlib rsync
|
|
fi
|
|
# FIXME since 1.0.4 devtools requires dbus to be run, which doesn't work now in container
|
|
cp "docker/systemd-nspawn.sh" "/usr/local/bin/systemd-nspawn"
|
|
|
|
# create fresh tarball
|
|
tox -e archive
|
|
# run makepkg
|
|
mv dist/ahriman-*.tar.gz package/archlinux
|
|
chmod +777 package/archlinux # because fuck you that's why
|
|
cd package/archlinux
|
|
sudo -u nobody -- makepkg -cf --skipchecksums --noconfirm
|
|
sudo -u nobody -- makepkg --packagelist | grep -v -- -debug- | pacman -U --noconfirm -
|
|
# create machine-id which is required by build tools
|
|
systemd-machine-id-setup
|
|
|
|
# remove unused dependencies
|
|
pacman -Qdtq | pacman -Rscn --noconfirm -
|
|
|
|
# initial setup command as root
|
|
[[ -z $MINIMAL_INSTALL ]] && WEB_ARGS=("--web-port" "8080")
|
|
ahriman -a x86_64 -r "github" service-setup --packager "ahriman bot <ahriman@example.com>" "${WEB_ARGS[@]}"
|
|
# enable services
|
|
systemctl enable ahriman-web
|
|
systemctl enable ahriman@x86_64-github.timer
|
|
if [[ -z $MINIMAL_INSTALL ]]; then
|
|
# validate configuration
|
|
ahriman service-config-validate --exit-code
|
|
# run web service (detached)
|
|
sudo -u ahriman -- ahriman web &
|
|
WEB_PID=$!
|
|
fi
|
|
# add the first package
|
|
sudo -u ahriman -- ahriman --log-handler console package-add --now ahriman
|
|
# check if package was actually installed
|
|
test -n "$(find "/var/lib/ahriman/repository/github/x86_64" -name "ahriman*pkg*")"
|
|
# run package check
|
|
sudo -u ahriman -- ahriman repo-update
|
|
# stop web service lol
|
|
[[ -z $WEB_PID ]] || kill $WEB_PID
|