Autogenerated commit at 2024-12-24 09:56:36.739708+00:00

This commit is contained in:
ahriman 2024-12-24 09:56:36 +00:00
parent ade19f4541
commit dae2412f99
10 changed files with 288 additions and 69 deletions

View File

@ -1,11 +1,10 @@
pkgbase = ahriman
pkgdesc = ArcH linux ReposItory MANager
pkgver = 2.15.3
pkgrel = 1
url = https://github.com/arcan1s/ahriman
install = ahriman.install
pkgver = 2.16.0
pkgrel = 2
url = https://ahriman.readthedocs.io/
arch = any
license = GPL3
license = GPL-3.0-or-later
makedepends = python-build
makedepends = python-flit
makedepends = python-installer
@ -13,20 +12,29 @@ pkgbase = ahriman
depends = devtools>=1:1.0.0
depends = git
depends = pyalpm
depends = python-bcrypt
depends = python-inflection
depends = python-passlib
depends = python-pyelftools
depends = python-requests
optdepends = python-aioauth-client: web server with OAuth2 authorization
optdepends = python-aiohttp: web server
optdepends = python-aiohttp-apispec>=3.0.0: web server
optdepends = python-aiohttp-cors: web server
optdepends = python-aiohttp-jinja2: web server
optdepends = python-aiohttp-security: web server with authorization
optdepends = python-aiohttp-session: web server with authorization
source = https://github.com/arcan1s/ahriman/releases/download/2.16.0/ahriman-2.16.0.tar.gz
source = ahriman.sysusers
source = ahriman.tmpfiles
sha256sums = 2f2eaef7a1fad1fff0d2d441fadf6384dd6d78f5274111bb05c8bc950d3f1bb7
sha256sums = 0c1cb37a57c47b5159c626f69c08d094c58241319e2a5a3b29c76170b92f09c8
sha256sums = 720a02af47ac718b31acd9feb73b1b81a5eed4f0bc4ca7a18dfc299dc0da5013
pkgname = ahriman
pkgdesc = ArcH linux ReposItory MANager (meta package)
depends = ahriman-core=2.16.0
depends = ahriman-triggers=2.16.0
depends = ahriman-web=2.16.0
pkgname = ahriman-core
install = ahriman.install
optdepends = ahriman-triggers: additional extensions for the application
optdepends = ahriman-web: web server
optdepends = python-boto3: sync to s3
optdepends = python-cerberus: configuration validator
optdepends = python-cryptography: web server with authorization
optdepends = python-matplotlib: usage statistics chart
optdepends = python-requests-unixsocket2: client report to web server by unix socket
optdepends = python-jinja: html report generation
@ -34,11 +42,20 @@ pkgbase = ahriman
optdepends = rsync: sync by using rsync
backup = etc/ahriman.ini
backup = etc/ahriman.ini.d/logging.ini
source = https://github.com/arcan1s/ahriman/releases/download/2.15.3/ahriman-2.15.3.tar.gz
source = ahriman.sysusers
source = ahriman.tmpfiles
sha512sums = 234280aa26eacf3f40098eef84d39c4a5f5a4ec46f894ad1e30c860b7ec71453a3d2697405786ef0348b62f0e1d622b833307f7f73d926a5a0e2b4692a840b2a
sha512sums = b1dd772f8802be99ccba3add5f1e6f78e5e79d0967342668dd12e472651a6b91c342f11fba330caaca421cc3d6c7e2011e09a6bd131f8ba14bbc4a6206cce539
sha512sums = 331e286cc82a7aca07b0332fab886e7404884a83f942afcee590b4a7a06abc1e3daa2dcf50d45041007ad7f3b93f760bfea5c7d38aa57937b0e103fd65b36564
pkgname = ahriman
pkgname = ahriman-triggers
pkgdesc = ArcH linux ReposItory MANager, additional extensions
depends = ahriman-core=2.16.0
backup = etc/ahriman.ini.d/00-triggers.ini
pkgname = ahriman-web
pkgdesc = ArcH linux ReposItory MANager, web server
depends = ahriman-core=2.16.0
depends = python-aiohttp-apispec-git
depends = python-aiohttp-cors
depends = python-aiohttp-jinja2
optdepends = python-aioauth-client: OAuth2 authorization support
optdepends = python-aiohttp-security: authorization support
optdepends = python-aiohttp-session: authorization support
optdepends = python-cryptography: authorization support
backup = etc/ahriman.ini.d/00-web.ini

9
ahriman/LICENSE Normal file
View File

@ -0,0 +1,9 @@
Binary files, as well as any files describing changes ("patches") to the software that is being built are excluded from this license. They are provided under the license terms of the software they describe changes for.
Any files containing a license notice are excluded from this license. They are provided under the license terms defined in their respective notices.
Copyright 2024 Arch Linux Contributors
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

View File

@ -1,58 +1,90 @@
# Maintainer: Evgeniy Alekseev
pkgname='ahriman'
pkgver=2.15.3
pkgrel=1
pkgbase='ahriman'
pkgname=('ahriman' 'ahriman-core' 'ahriman-triggers' 'ahriman-web')
pkgver=2.16.0
pkgrel=2
pkgdesc="ArcH linux ReposItory MANager"
arch=('any')
url="https://github.com/arcan1s/ahriman"
license=('GPL3')
depends=('devtools>=1:1.0.0' 'git' 'pyalpm' 'python-inflection' 'python-passlib' 'python-pyelftools' 'python-requests')
url="https://ahriman.readthedocs.io/"
license=('GPL-3.0-or-later')
depends=('devtools>=1:1.0.0' 'git' 'pyalpm' 'python-bcrypt' 'python-inflection' 'python-pyelftools' 'python-requests')
makedepends=('python-build' 'python-flit' 'python-installer' 'python-wheel')
optdepends=('python-aioauth-client: web server with OAuth2 authorization'
'python-aiohttp: web server'
'python-aiohttp-apispec>=3.0.0: web server'
'python-aiohttp-cors: web server'
'python-aiohttp-jinja2: web server'
'python-aiohttp-security: web server with authorization'
'python-aiohttp-session: web server with authorization'
'python-boto3: sync to s3'
'python-cerberus: configuration validator'
'python-cryptography: web server with authorization'
'python-matplotlib: usage statistics chart'
'python-requests-unixsocket2: client report to web server by unix socket'
'python-jinja: html report generation'
'python-systemd: journal support'
'rsync: sync by using rsync')
source=("https://github.com/arcan1s/ahriman/releases/download/$pkgver/$pkgname-$pkgver.tar.gz"
'ahriman.sysusers'
'ahriman.tmpfiles')
install="$pkgname.install"
backup=('etc/ahriman.ini'
'etc/ahriman.ini.d/logging.ini')
source=("https://github.com/arcan1s/ahriman/releases/download/$pkgver/$pkgbase-$pkgver.tar.gz"
"$pkgbase.sysusers"
"$pkgbase.tmpfiles")
build() {
cd "$pkgname-$pkgver"
cd "$pkgbase-$pkgver"
python -m build --wheel --no-isolation
python -m build --wheel --no-isolation
}
package() {
cd "$pkgname-$pkgver"
python -m installer --destdir="$pkgdir" "dist/$pkgname-$pkgver-py3-none-any.whl"
# thanks too PEP517, which we all wanted, you need to install data files manually nowadays
pushd package && find . \( -type f -or -type l \) -exec install -Dm644 "{}" "$pkgdir/usr/{}" \; && popd
# keep usr/share configs as reference and copy them to /etc
install -Dm644 "$pkgdir/usr/share/$pkgname/settings/ahriman.ini" "$pkgdir/etc/ahriman.ini"
install -Dm644 "$pkgdir/usr/share/$pkgname/settings/ahriman.ini.d/logging.ini" "$pkgdir/etc/ahriman.ini.d/logging.ini"
install -Dm644 "$srcdir/$pkgname.sysusers" "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
install -Dm644 "$srcdir/$pkgname.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
package_ahriman() {
pkgname='ahriman'
pkgdesc="ArcH linux ReposItory MANager (meta package)"
depends=("$pkgbase-core=$pkgver" "$pkgbase-triggers=$pkgver" "$pkgbase-web=$pkgver")
}
sha512sums=('234280aa26eacf3f40098eef84d39c4a5f5a4ec46f894ad1e30c860b7ec71453a3d2697405786ef0348b62f0e1d622b833307f7f73d926a5a0e2b4692a840b2a'
'b1dd772f8802be99ccba3add5f1e6f78e5e79d0967342668dd12e472651a6b91c342f11fba330caaca421cc3d6c7e2011e09a6bd131f8ba14bbc4a6206cce539'
'331e286cc82a7aca07b0332fab886e7404884a83f942afcee590b4a7a06abc1e3daa2dcf50d45041007ad7f3b93f760bfea5c7d38aa57937b0e103fd65b36564')
package_ahriman-core() {
pkgname='ahriman-core'
optdepends=('ahriman-triggers: additional extensions for the application'
'ahriman-web: web server'
'python-boto3: sync to s3'
'python-cerberus: configuration validator'
'python-matplotlib: usage statistics chart'
'python-requests-unixsocket2: client report to web server by unix socket'
'python-jinja: html report generation'
'python-systemd: journal support'
'rsync: sync by using rsync')
install="$pkgbase.install"
backup=('etc/ahriman.ini'
'etc/ahriman.ini.d/logging.ini')
cd "$pkgbase-$pkgver"
python -m installer --destdir="$pkgdir" "dist/$pkgbase-$pkgver-py3-none-any.whl"
python subpackages.py "$pkgdir" "$pkgname"
# keep usr/share configs as reference and copy them to /etc
install -Dm644 "$pkgdir/usr/share/$pkgbase/settings/ahriman.ini" "$pkgdir/etc/ahriman.ini"
install -Dm644 "$pkgdir/usr/share/$pkgbase/settings/ahriman.ini.d/logging.ini" "$pkgdir/etc/ahriman.ini.d/logging.ini"
install -Dm644 "$srcdir/$pkgbase.sysusers" "$pkgdir/usr/lib/sysusers.d/$pkgbase.conf"
install -Dm644 "$srcdir/$pkgbase.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/$pkgbase.conf"
}
package_ahriman-triggers() {
pkgname='ahriman-triggers'
pkgdesc="ArcH linux ReposItory MANager, additional extensions"
depends=("$pkgbase-core=$pkgver")
backup=('etc/ahriman.ini.d/00-triggers.ini')
cd "$pkgbase-$pkgver"
python -m installer --destdir="$pkgdir" "dist/$pkgbase-$pkgver-py3-none-any.whl"
python subpackages.py "$pkgdir" "$pkgname"
install -Dm644 "$pkgdir/usr/share/$pkgbase/settings/ahriman.ini.d/00-triggers.ini" "$pkgdir/etc/ahriman.ini.d/00-triggers.ini"
}
package_ahriman-web() {
pkgname='ahriman-web'
pkgdesc="ArcH linux ReposItory MANager, web server"
depends=("$pkgbase-core=$pkgver" 'python-aiohttp-apispec-git' 'python-aiohttp-cors' 'python-aiohttp-jinja2')
optdepends=('python-aioauth-client: OAuth2 authorization support'
'python-aiohttp-security: authorization support'
'python-aiohttp-session: authorization support'
'python-cryptography: authorization support')
backup=('etc/ahriman.ini.d/00-web.ini')
cd "$pkgbase-$pkgver"
python -m installer --destdir="$pkgdir" "dist/$pkgbase-$pkgver-py3-none-any.whl"
python subpackages.py "$pkgdir" "$pkgname"
install -Dm644 "$pkgdir/usr/share/$pkgbase/settings/ahriman.ini.d/00-web.ini" "$pkgdir/etc/ahriman.ini.d/00-web.ini"
}
sha256sums=('2f2eaef7a1fad1fff0d2d441fadf6384dd6d78f5274111bb05c8bc950d3f1bb7'
'0c1cb37a57c47b5159c626f69c08d094c58241319e2a5a3b29c76170b92f09c8'
'720a02af47ac718b31acd9feb73b1b81a5eed4f0bc4ca7a18dfc299dc0da5013')

View File

@ -2,6 +2,7 @@ post_upgrade() {
local breakpoints=(
2.9.0-1
2.12.0-1
2.16.0-1
)
for v in "${breakpoints[@]}"; do
@ -21,7 +22,7 @@ It was found that there was an upgrade from old devtools package to the new one,
* remove build chroot, e.g.: ahriman service-clean --chroot;
* update local databases: ahriman update --no-aur --no-local --no-manual -yy.
For more information kindly refer to migration notes https://ahriman.readthedocs.io/en/stable/migration.html.
For more information kindly refer to migration notes https://ahriman.readthedocs.io/en/stable/migrations/2.9.0.html.
EOF
}
@ -37,6 +38,16 @@ Whereas old local tree is still supported it is highly recommended to migrate to
* enable web and timer services again by using x86_64-aur suffix,
where x86_64 is the repository architecture and aur is the repository name.
For more information kindly refer to migration notes https://ahriman.readthedocs.io/en/stable/migration.html.
For more information kindly refer to migration notes https://ahriman.readthedocs.io/en/stable/migrations/2.12.0.html.
EOF
}
_2_16_0_1_changes() {
cat << EOF
In order to prepare to python 3.13 the project now uses bcrypt instead of passlib for generating and validating
passwords, because the passlib seems to be unmaintained and will be broken since then. If you are using password
authentication, you'd need to generate passwords again.
For more information kindly refer to migration notes https://ahriman.readthedocs.io/en/stable/migrations/2.16.0.html.
EOF
}

View File

@ -0,0 +1,19 @@
pkgbase = python-aiohttp-apispec-git
pkgdesc = Build and document REST APIs with aiohttp and apispec (git version)
pkgver = 3.0.0b2.r8.ge37d587
pkgrel = 3
url = https://github.com/maximdanilchenko/aiohttp-apispec
arch = any
license = MIT
makedepends = git
makedepends = python-setuptools
depends = python-aiohttp
depends = python-apispec
depends = python-jinja
depends = python-webargs
provides = python-aiohttp-apispec=3.0.0b2
conflicts = python-aiohttp-apispec
source = python-aiohttp-apispec-git::git+https://github.com/maximdanilchenko/aiohttp-apispec.git
sha512sums = SKIP
pkgname = python-aiohttp-apispec-git

View File

@ -0,0 +1,34 @@
# Maintainer: Evgenii Alekseev
_pkgname=aiohttp-apispec
pkgname=python-$_pkgname-git
pkgver=3.0.0b2.r8.ge37d587
pkgrel=3
pkgdesc='Build and document REST APIs with aiohttp and apispec (git version)'
arch=('any')
url='https://github.com/maximdanilchenko/aiohttp-apispec'
license=('MIT')
depends=('python-aiohttp' 'python-apispec' 'python-jinja' 'python-webargs')
makedepends=('git' 'python-setuptools')
conflicts=("python-$_pkgname")
provides=("python-$_pkgname=${pkgver%.r*}")
source=("$pkgname::git+$url.git")
sha512sums=('SKIP')
pkgver() {
cd "$pkgname"
git describe --tags --long --abbrev=7 | sed 's/\([^-]*-g\)/r\1/;s/-/./g' | sed 's/^[A-Za-z]*//'
}
build() {
cd "$pkgname"
python setup.py build
}
package() {
cd "$pkgname"
python setup.py install --root="$pkgdir" --optimize=1 --skip-build
# we don't need to distribute examples
rm -r "$pkgdir$(python -c 'import site; print(site.getsitepackages()[0])')/example"
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}

View File

@ -0,0 +1,13 @@
pkgbase = python-aiohttp-cors
pkgdesc = CORS support for aiohttp
pkgver = 0.7.0
pkgrel = 8
url = https://github.com/aio-libs/aiohttp-cors
arch = any
license = Apache
makedepends = python-setuptools
depends = python-aiohttp
source = https://files.pythonhosted.org/packages/source/a/aiohttp-cors/aiohttp-cors-0.7.0.tar.gz
sha256sums = 4d39c6d7100fd9764ed1caf8cebf0eb01bf5e3f24e2e073fda6234bc48b19f5d
pkgname = python-aiohttp-cors

View File

@ -0,0 +1,24 @@
# Maintainer: Daniel M. Capella <polyzen@archlinux.org>
_name=aiohttp-cors
pkgname=python-aiohttp-cors
pkgver=0.7.0
pkgrel=8
pkgdesc='CORS support for aiohttp'
depends=('python-aiohttp')
makedepends=('python-setuptools')
arch=('any')
url=https://github.com/aio-libs/aiohttp-cors
license=('Apache')
source=("https://files.pythonhosted.org/packages/source/${_name::1}/$_name/$_name-$pkgver.tar.gz")
sha256sums=('4d39c6d7100fd9764ed1caf8cebf0eb01bf5e3f24e2e073fda6234bc48b19f5d')
build() {
cd $_name-$pkgver
python setup.py build
}
package() {
cd $_name-$pkgver
python setup.py install --root="$pkgdir" --optimize=1 --skip-build
}

View File

@ -0,0 +1,19 @@
pkgbase = python-aiohttp-jinja2
pkgdesc = jinja2 template renderer for aiohttp.web
pkgver = 1.6
pkgrel = 2
url = http://aiohttp-jinja2.aio-libs.org/
arch = any
license = Apache-2.0
checkdepends = python-pytest-aiohttp
checkdepends = python-pytest-asyncio
makedepends = python-build
makedepends = python-installer
makedepends = python-setuptools
makedepends = python-wheel
depends = python-aiohttp
depends = python-jinja
source = https://github.com/aio-libs/aiohttp-jinja2/releases/download/v1.6/aiohttp-jinja2-1.6.tar.gz
sha256sums = a3a7ff5264e5bca52e8ae547bbfd0761b72495230d438d05b6c0915be619b0e2
pkgname = python-aiohttp-jinja2

View File

@ -0,0 +1,41 @@
# Maintainer: Anton Kudelin <kudelin at proton dot me>
_pyname=aiohttp-jinja2
pkgname=python-$_pyname
pkgver=1.6
pkgrel=2
pkgdesc='jinja2 template renderer for aiohttp.web'
arch=(any)
url='http://aiohttp-jinja2.aio-libs.org/'
license=(Apache-2.0)
depends=(python-aiohttp python-jinja)
makedepends=(python-build python-installer python-setuptools python-wheel)
checkdepends=(python-pytest-aiohttp python-pytest-asyncio)
source=(https://github.com/aio-libs/$_pyname/releases/download/v$pkgver/$_pyname-$pkgver.tar.gz)
sha256sums=('a3a7ff5264e5bca52e8ae547bbfd0761b72495230d438d05b6c0915be619b0e2')
build() {
cd "$srcdir/$_pyname-$pkgver"
python -m build \
--wheel \
--no-isolation \
--skip-dependency-check
}
check() {
cd "$srcdir/$_pyname-$pkgver"
python -m venv --system-site-packages test-env
test-env/bin/python -m installer dist/*.whl
sed -i '/--cov/d' pytest.ini
test-env/bin/python -m pytest -v
}
package() {
cd "$srcdir/$_pyname-$pkgver"
python -m installer \
--destdir="$pkgdir" \
--compile-bytecode=2 \
dist/*.whl
}