2022-12-28 17:24:04 +03:00
|
|
|
# Maintainer: Oscar Krause <oscar.krause@collinwebdesigns.de>
|
2022-12-30 09:33:17 +03:00
|
|
|
# Contributor: samicrusader <hi@samicrusader.me>
|
2022-12-28 23:13:20 +03:00
|
|
|
|
2022-12-28 17:24:04 +03:00
|
|
|
pkgname=fastapi-dls
|
2022-12-30 09:33:17 +03:00
|
|
|
pkgver=1.1
|
2022-12-28 17:57:55 +03:00
|
|
|
pkgrel=1
|
2022-12-28 23:13:20 +03:00
|
|
|
pkgdesc='NVIDIA DLS server implementation with FastAPI'
|
|
|
|
arch=('any')
|
|
|
|
url='https://git.collinwebdesigns.de/oscar.krause/fastapi-dls'
|
|
|
|
license=('MIT')
|
|
|
|
depends=('python' 'python-jose' 'python-starlette' 'python-httpx' 'python-fastapi' 'python-dotenv' 'python-dateutil' 'python-sqlalchemy' 'python-pycryptodome' 'uvicorn' 'python-markdown' 'openssl')
|
|
|
|
provider=("$pkgname")
|
|
|
|
install="$pkgname.install"
|
2023-01-26 09:17:16 +03:00
|
|
|
backup=('etc/default/fastapi-dls')
|
2024-01-18 19:02:09 +03:00
|
|
|
source=("git+file://${CI_PROJECT_DIR}"
|
2022-12-28 23:13:20 +03:00
|
|
|
"$pkgname.default"
|
2022-12-30 09:33:17 +03:00
|
|
|
"$pkgname.service"
|
|
|
|
"$pkgname.tmpfiles")
|
2022-12-28 23:13:20 +03:00
|
|
|
sha256sums=('SKIP'
|
2022-12-30 09:33:17 +03:00
|
|
|
'fbd015449a30c0ae82733289a56eb98151dcfab66c91b37fe8e202e39f7a5edb'
|
|
|
|
'2719338541104c537453a65261c012dda58e1dbee99154cf4f33b526ee6ca22e'
|
|
|
|
'3dc60140c08122a8ec0e7fa7f0937eb8c1288058890ba09478420fc30ce9e30c')
|
2022-12-28 17:57:55 +03:00
|
|
|
|
2022-12-29 14:12:26 +03:00
|
|
|
pkgver() {
|
2023-03-20 12:09:50 +03:00
|
|
|
echo -e "VERSION=$VERSION\nCOMMIT=$CI_COMMIT_SHA" > $srcdir/$pkgname/version.env
|
2022-12-29 14:12:26 +03:00
|
|
|
source $srcdir/$pkgname/version.env
|
2023-03-20 12:09:50 +03:00
|
|
|
echo $VERSION
|
2022-12-29 14:12:26 +03:00
|
|
|
}
|
|
|
|
|
2022-12-28 23:13:20 +03:00
|
|
|
check() {
|
|
|
|
cd "$srcdir/$pkgname/test"
|
|
|
|
mkdir "$srcdir/$pkgname/app/cert"
|
|
|
|
openssl genrsa -out "$srcdir/$pkgname/app/cert/instance.private.pem" 2048
|
|
|
|
openssl rsa -in "$srcdir/$pkgname/app/cert/instance.private.pem" -outform PEM -pubout -out "$srcdir/$pkgname/app/cert/instance.public.pem"
|
|
|
|
python "$srcdir/$pkgname/test/main.py"
|
|
|
|
rm -rf "$srcdir/$pkgname/app/cert"
|
2022-12-28 17:24:04 +03:00
|
|
|
}
|
2022-12-28 19:00:35 +03:00
|
|
|
|
2022-12-28 23:13:20 +03:00
|
|
|
package() {
|
2023-01-02 20:01:44 +03:00
|
|
|
# create directories
|
2022-12-28 23:13:20 +03:00
|
|
|
install -d "$pkgdir/usr/share/doc/$pkgname"
|
|
|
|
install -d "$pkgdir/var/lib/$pkgname/cert"
|
2023-01-02 20:01:44 +03:00
|
|
|
|
|
|
|
# copy docs & static files
|
2022-12-28 23:13:20 +03:00
|
|
|
cp -r "$srcdir/$pkgname/doc"/* "$pkgdir/usr/share/doc/$pkgname/"
|
|
|
|
install -Dm644 "$srcdir/$pkgname/README.md" "$pkgdir/usr/share/doc/$pkgname/README.md"
|
2022-12-29 11:15:33 +03:00
|
|
|
install -Dm644 "$srcdir/$pkgname/version.env" "$pkgdir/usr/share/doc/$pkgname/version.env"
|
2022-12-28 23:13:20 +03:00
|
|
|
sed -i "s/README.md/\/usr\/share\/doc\/$pkgname\/README.md/g" "$srcdir/$pkgname/app/main.py"
|
2023-01-02 20:01:44 +03:00
|
|
|
|
|
|
|
# copy main app python files
|
2022-12-28 23:13:20 +03:00
|
|
|
sed -i "s/join(dirname(__file__), 'cert\//join('\/var\/lib\/$pkgname', 'cert\//g" "$srcdir/$pkgname/app/main.py"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/main.py" "$pkgdir/opt/$pkgname/main.py"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/orm.py" "$pkgdir/opt/$pkgname/orm.py"
|
2022-12-29 10:48:34 +03:00
|
|
|
install -Dm755 "$srcdir/$pkgname/app/util.py" "$pkgdir/opt/$pkgname/util.py"
|
2023-01-02 20:01:44 +03:00
|
|
|
|
|
|
|
# copy static asset files
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/static/assets/css/bootstrap.min.css" "$pkgdir/opt/$pkgname/static/assets/css/bootstrap.min.css"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/static/assets/css/bootstrap-icons.min.css" "$pkgdir/opt/$pkgname/static/assets/css/bootstrap-icons.min.css"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/static/assets/css/custom.css" "$pkgdir/opt/$pkgname/static/assets/css/custom.css"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/static/assets/css/dashboard.css" "$pkgdir/opt/$pkgname/static/assets/css/dashboard.css"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/static/assets/fonts/bootstrap-icons.woff" "$pkgdir/opt/$pkgname/static/assets/fonts/bootstrap-icons.woff"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/static/assets/fonts/bootstrap-icons.woff2" "$pkgdir/opt/$pkgname/static/assets/fonts/bootstrap-icons.woff2"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/static/assets/img/favicons/android-chrome-192x192.png" "$pkgdir/opt/$pkgname/static/assets/img/favicons/android-chrome-192x192.png"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/static/assets/img/favicons/android-chrome-512x512.png" "$pkgdir/opt/$pkgname/static/assets/img/favicons/android-chrome-512x512.png"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/static/assets/img/favicons/apple-touch-icon.png" "$pkgdir/opt/$pkgname/static/assets/img/favicons/apple-touch-icon.png"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/static/assets/img/favicons/favicon.ico" "$pkgdir/opt/$pkgname/static/assets/img/favicons/favicon.ico"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/static/assets/img/favicons/favicon-16x16.png" "$pkgdir/opt/$pkgname/static/assets/img/favicons/favicon-16x16.png"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/static/assets/img/favicons/favicon-32x32.png" "$pkgdir/opt/$pkgname/static/assets/img/favicons/favicon-32x32.png"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/static/assets/img/favicons/manifest.json" "$pkgdir/opt/$pkgname/static/assets/img/favicons/manifest.json"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/static/assets/img/logo.png" "$pkgdir/opt/$pkgname/static/assets/img/logo.png"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/static/assets/js/bootstrap.min.js" "$pkgdir/opt/$pkgname/static/assets/js/bootstrap.min.js"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/static/assets/js/helper.js" "$pkgdir/opt/$pkgname/static/assets/js/helper.js"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/static/assets/js/popper.min.js" "$pkgdir/opt/$pkgname/static/assets/js/popper.min.js"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/templates/components/navbar.html" "$pkgdir/opt/$pkgname/templates/components/navbar.html"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/templates/components/sidebar.html" "$pkgdir/opt/$pkgname/templates/components/sidebar.html"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/templates/layout/base.html" "$pkgdir/opt/$pkgname/templates/layout/base.html"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/templates/layout/bootstrap.html" "$pkgdir/opt/$pkgname/templates/layout/bootstrap.html"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/templates/layout/bootstrap-dashboard.html" "$pkgdir/opt/$pkgname/templates/layout/bootstrap-dashboard.html"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/templates/views/dashboard.html" "$pkgdir/opt/$pkgname/templates/views/dashboard.html"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/templates/views/dashboard_leases.html" "$pkgdir/opt/$pkgname/templates/views/dashboard_leases.html"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/templates/views/dashboard_origins.html" "$pkgdir/opt/$pkgname/templates/views/dashboard_origins.html"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/templates/views/dashboard_readme.html" "$pkgdir/opt/$pkgname/templates/views/dashboard_readme.html"
|
|
|
|
install -Dm755 "$srcdir/$pkgname/app/templates/views/index.html" "$pkgdir/opt/$pkgname/templates/views/index.html"
|
|
|
|
|
|
|
|
# copy service files
|
2022-12-28 23:13:20 +03:00
|
|
|
install -Dm644 "$srcdir/$pkgname.default" "$pkgdir/etc/default/$pkgname"
|
|
|
|
install -Dm644 "$srcdir/$pkgname.service" "$pkgdir/usr/lib/systemd/system/$pkgname.service"
|
2022-12-30 09:33:17 +03:00
|
|
|
install -Dm644 "$srcdir/$pkgname.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
|
2022-12-28 23:13:20 +03:00
|
|
|
}
|