mirror of
https://github.com/arcan1s/ahriman.git
synced 2026-08-20 15:27:26 +00:00
Compare commits
4
Commits
9b544f9e45
...
024b6a014f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
024b6a014f | ||
|
|
e12e844312 | ||
|
|
eaac507d12 | ||
|
|
117db10932 |
@@ -94,7 +94,7 @@ class Setup(Handler):
|
||||
"""
|
||||
parser = root.add_parser("service-setup", aliases=["init", "repo-init", "repo-setup", "setup"],
|
||||
help="initial service configuration",
|
||||
description="create initial service configuration, requires root",
|
||||
description="create initial service configuration as the repository owner",
|
||||
epilog="Create minimal configuration for the service according to provided options.")
|
||||
parser.add_argument("--build-as-user", help="force makepkg user to the specific one")
|
||||
parser.add_argument("--from-configuration", help="path to default devtools pacman configuration",
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
ahriman ALL= NOPASSWD:SETENV: /usr/bin/ahriman-archbuild *
|
||||
Defaults!/usr/bin/ahriman-archbuild env_keep += "SOURCE_DATE_EPOCH SRCDEST SRCPKGDEST PKGDEST LOGDEST NPROC MAKEFLAGS PACKAGER GNUPGHOME"
|
||||
ahriman ALL= NOPASSWD:NOSETENV: /usr/bin/ahriman-archbuild *
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ ARG BUILD_DATE
|
||||
RUN useradd -m -d "/home/build" -s "/usr/bin/nologin" build
|
||||
|
||||
## extract container creation date and set mirror for this timestamp, set PKGEXT and refresh database next
|
||||
RUN echo "Server = https://archive.archlinux.org/repos/${BUILD_DATE//-/\/}/\$repo/os/\$arch" > "/etc/pacman.d/mirrorlist" && \
|
||||
RUN echo "Server = https://archive.archlinux.org/repos/${BUILD_DATE//-//}/\$repo/os/\$arch" > "/etc/pacman.d/mirrorlist" && \
|
||||
pacman -Syyuu --noconfirm
|
||||
## setup package cache
|
||||
RUN runuser -u build -- mkdir "/tmp/pkg" && \
|
||||
|
||||
+18
-27
@@ -10,41 +10,32 @@ Initial setup
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
sudo ahriman -a x86_64 -r aur service-setup ...
|
||||
sudo -u ahriman -- ahriman -a x86_64 -r aur service-setup \
|
||||
--packager "ahriman bot <ahriman@example.com>" ...
|
||||
|
||||
.. admonition:: Details
|
||||
:collapsible: closed
|
||||
|
||||
``service-setup`` literally does the following steps:
|
||||
``service-setup`` does the following steps:
|
||||
|
||||
#.
|
||||
Create ``/var/lib/ahriman/.makepkg.conf`` with ``makepkg.conf`` overrides if required (at least you might want to set ``PACKAGER``):
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
echo 'PACKAGER="ahriman bot <ahriman@example.com>"' | sudo -u ahriman tee -a /var/lib/ahriman/.makepkg.conf
|
||||
Create a repository-specific ahriman configuration below
|
||||
``/var/lib/ahriman/.config/ahriman/ahriman.ini.d``. This configuration stores the
|
||||
packager identity, ``MAKEFLAGS`` and other options supplied on the command line.
|
||||
|
||||
#.
|
||||
Configure build tools (it is required for correct dependency management system):
|
||||
Generate the devtools pacman configuration in
|
||||
``/var/lib/ahriman/.config/ahriman/pacman.conf.d``. The file is based on the
|
||||
configuration selected by ``--from-configuration`` and contains the requested mirror,
|
||||
multilib settings and the ahriman repository path.
|
||||
|
||||
#.
|
||||
Create configuration file ``{name}.conf`` or ``{name}-{arch}.conf``, where ``name`` is the repostory name and ``arch`` is the repository architecture, e.g.:
|
||||
#.
|
||||
Create the repository directories, initialize the package repository and synchronize
|
||||
its pacman database.
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
cp /usr/share/devtools/pacman.conf.d/{extra,aur-x86_64}.conf
|
||||
|
||||
#.
|
||||
Change configuration file, add your own repository, add multilib repository etc:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
echo '[multilib]' | tee -a /usr/share/devtools/pacman.conf.d/aur-x86_64.conf
|
||||
echo 'Include = /etc/pacman.d/mirrorlist' | tee -a /usr/share/devtools/pacman.conf.d/aur-x86_64.conf
|
||||
|
||||
echo '[aur]' | tee -a /usr/share/devtools/pacman.conf.d/aur-x86_64.conf
|
||||
echo 'SigLevel = Optional TrustAll' | tee -a /usr/share/devtools/pacman.conf.d/aur-x86_64.conf
|
||||
echo 'Server = file:///var/lib/ahriman/repository/$repo/$arch' | tee -a /usr/share/devtools/pacman.conf.d/aur-x86_64.conf
|
||||
Both configuration locations are below the repository root and must be writable by the
|
||||
user running ahriman. Existing system-wide overrides remain supported; see
|
||||
:doc:`the 2.22.0 migration guide <migrations/2.22.0>` when upgrading.
|
||||
|
||||
This command supports several arguments, kindly refer to its help message.
|
||||
|
||||
@@ -53,14 +44,14 @@ Initial setup
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
systemctl enable --now ahriman@x86_64-aur.timer
|
||||
sudo systemctl enable --now ahriman@x86_64-aur.timer
|
||||
|
||||
#.
|
||||
Start and enable status page:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
systemctl enable --now ahriman-web
|
||||
sudo systemctl enable --now ahriman-web
|
||||
|
||||
#.
|
||||
Add packages by using ``ahriman package-add {package}`` command:
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
"dependencies": {
|
||||
"@emotion/react": ">=11.14.0 <11.15.0",
|
||||
"@emotion/styled": ">=11.14.0 <11.15.0",
|
||||
"@mui/icons-material": ">=9.2.0 <9.3.0",
|
||||
"@mui/material": ">=9.2.0 <9.3.0",
|
||||
"@mui/x-data-grid": ">=9.10.0 <9.11.0",
|
||||
"@mui/icons-material": ">=9.3.0 <9.4.0",
|
||||
"@mui/material": ">=9.3.0 <9.4.0",
|
||||
"@mui/x-data-grid": ">=9.11.0 <9.12.0",
|
||||
"@tanstack/react-query": ">=5.101.0 <5.102.0",
|
||||
"chart.js": ">=4.5.0 <4.6.0",
|
||||
"react": ">=19.2.0 <19.3.0",
|
||||
@@ -26,8 +26,8 @@
|
||||
"eslint-plugin-react-refresh": ">=0.5.0 <0.6.0",
|
||||
"eslint-plugin-simple-import-sort": ">=14.0.0 <14.1.0",
|
||||
"typescript": ">=6.0.0 <6.1.0",
|
||||
"typescript-eslint": ">=8.64.0 <8.65.0",
|
||||
"vite": ">=8.1.0 <8.2.0"
|
||||
"typescript-eslint": ">=8.67.0 <8.68.0",
|
||||
"vite": ">=8.2.0 <8.3.0"
|
||||
},
|
||||
"name": "ahriman",
|
||||
"private": true,
|
||||
|
||||
@@ -19,7 +19,7 @@ export default defineConfig({
|
||||
build: {
|
||||
chunkSizeWarningLimit: 10000,
|
||||
emptyOutDir: false,
|
||||
outDir: path.resolve(__dirname, "../ahriman-web/package/share/ahriman/templates"),
|
||||
outDir: path.resolve(import.meta.dirname, "../ahriman-web/package/share/ahriman/templates"),
|
||||
rolldownOptions: {
|
||||
output: {
|
||||
assetFileNames: "static/[name].[ext]",
|
||||
|
||||
Reference in New Issue
Block a user