mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-10-25 10:53:45 +00:00
In current workflow you need to run setup to run init (because of repository name), but you need to run init before setup (because of repository tree rights). New solution just add `Repo.init()` method call to setup subcommand after config reload to make sure that repository name has been applied. In addition chown method as well as setuid method for check_output have been added.
2.6 KiB
2.6 KiB
Setup instructions
-
Install package as usual.
-
Change settings if required, see configuration reference for more details.
-
TL;DR
sudo ahriman -a x86_64 repo-setup ...repo-setupliterally does the following steps:-
Create
/var/lib/ahriman/.makepkg.confwithmakepkg.confoverrides if required (at least you might want to setPACKAGER):echo 'PACKAGER="John Doe <john@doe.com>"' | sudo -u ahriman tee -a /var/lib/ahriman/.makepkg.conf -
Configure build tools (it is required for correct dependency management system):
- Create build command, e.g.
ln -s /usr/bin/archbuild /usr/local/bin/ahriman-x86_64-build(you can choose any name for command, basically it should be{name}-{arch}-build). - Create configuration file, e.g.
cp /usr/share/devtools/pacman-{extra,ahriman}.conf(same as previouspacman-{name}.conf). - Change configuration file, add your own repository, add multilib repository etc;
- Set
build_commandoption to point to your command. - Configure
/etc/sudoers.d/ahrimanto allow running command without a password.
ln -s /usr/bin/archbuild /usr/local/bin/ahriman-x86_64-build cp /usr/share/devtools/pacman-{extra,ahriman}.conf echo '[multilib]' | tee -a /usr/share/devtools/pacman-ahriman.conf echo 'Include = /etc/pacman.d/mirrorlist' | tee -a /usr/share/devtools/pacman-ahriman.conf echo '[aur-clone]' | tee -a /usr/share/devtools/pacman-ahriman.conf echo 'SigLevel = Optional TrustAll' | tee -a /usr/share/devtools/pacman-ahriman.conf echo 'Server = file:///var/lib/ahriman/repository/$arch' | tee -a /usr/share/devtools/pacman-ahriman.conf echo '[build]' | tee -a /etc/ahriman.ini.d/build.ini echo 'build_command = ahriman-x86_64-build' | tee -a /etc/ahriman.ini.d/build.ini echo 'Cmnd_Alias CARCHBUILD_CMD = /usr/local/bin/ahriman-x86_64-build *' | tee -a /etc/sudoers.d/ahriman echo 'ahriman ALL=(ALL) NOPASSWD: CARCHBUILD_CMD' | tee -a /etc/sudoers.d/ahriman chmod 400 /etc/sudoers.d/ahriman - Create build command, e.g.
-
-
Start and enable
ahriman@.timerviasystemctl:systemctl enable --now ahriman@x86_64.timer -
Start and enable status page:
systemctl enable --now ahriman-web@x86_64 -
Add packages by using
ahriman package-add {package}command:sudo -u ahriman ahriman -a x86_64 package-add ahriman --now
User creation
user-add subcommand is recommended for new user creation.