This commit is contained in:
20
.SRCINFO
Normal file
20
.SRCINFO
Normal file
@@ -0,0 +1,20 @@
|
||||
pkgbase = python-rtslib-fb
|
||||
pkgdesc = free branch version of the LIO target API
|
||||
pkgver = 2.1.76
|
||||
pkgrel = 1
|
||||
url = https://github.com/open-iscsi/rtslib-fb
|
||||
arch = any
|
||||
license = Apache
|
||||
makedepends = python-setuptools
|
||||
makedepends = python-pyudev
|
||||
depends = python
|
||||
depends = python-six
|
||||
depends = python-pyudev
|
||||
conflicts = python2-rtslib
|
||||
conflicts = targetcli-fb<=2.1.fb31
|
||||
source = https://github.com/open-iscsi/rtslib-fb/archive/v2.1.76.tar.gz
|
||||
source = target.service
|
||||
sha512sums = 50bc9f4ebff71cc87fd62036ff9d929fb1e5989be6251b1111904e76a7c026215692dc8930b90552a4ff850c6252338e420fe710993b8c8a0c737b65590a520d
|
||||
sha512sums = 3c634f1c466d0a8c3dd2b57a230438aaeeb0e66324863a2ded57dd69a2ca5946f83c4ab511766f510f3e63b43aedcf7e368bcf5bc325ee69c016bb0bb2612de5
|
||||
|
||||
pkgname = python-rtslib-fb
|
||||
52
.gitea/workflows/build.yml
Normal file
52
.gitea/workflows/build.yml
Normal file
@@ -0,0 +1,52 @@
|
||||
name: Build package
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
build-package:
|
||||
runs-on: imgbuilder
|
||||
container:
|
||||
image: gitea.konchin.com/image/archmakepkg
|
||||
credentials:
|
||||
username: ${{ secrets.REGISTRY_USERNAME }}
|
||||
password: ${{ secrets.REGISTRY_PASSWORD }}
|
||||
options: --dns 172.20.10.253 --dns-search konchin.com --dns-option ndots:15
|
||||
env:
|
||||
REPO_NAME: custom
|
||||
MINIO_BUCKET: archrepo
|
||||
MINIO_ENDPOINT: https://minio.konchin.com
|
||||
MINIO_ACCESSKEY: ${{ secrets.MINIO_ACCESSKEY }}
|
||||
MINIO_SECRETKEY: ${{ secrets.MINIO_SECRETKEY }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Build package
|
||||
run: |
|
||||
chown -R builder .
|
||||
sudo -u builder makepkg -sc --needed --noconfirm
|
||||
|
||||
- name: Setup MinIO
|
||||
run: |
|
||||
mcli alias set m "${{ env.MINIO_ENDPOINT }}" \
|
||||
"${{ env.MINIO_ACCESSKEY }}" "${{ env.MINIO_SECRETKEY }}"
|
||||
echo "Set endpoint to ${{ env.MINIO_ENDPOINT }}"
|
||||
|
||||
- name: Copy repo db from MinIO
|
||||
run: |
|
||||
mkdir repo
|
||||
mcli cp "m/${{ env.MINIO_BUCKET }}/${{ env.REPO_NAME }}.db" "repo/${{ env.REPO_NAME }}.db.tar.zst"
|
||||
mcli cp "m/${{ env.MINIO_BUCKET }}/${{ env.REPO_NAME }}.files" "repo/${{ env.REPO_NAME }}.files.tar.zst"
|
||||
echo "Copy ${{ env.REPO_NAME }}.db and ${{ env.REPO_NAME }}.files from MinIO"
|
||||
|
||||
- name: Add pkgs to repo db
|
||||
run: |
|
||||
repo-add "repo/${{ env.REPO_NAME }}.db.tar.zst" *.pkg.tar.zst
|
||||
mv *.pkg.tar.zst repo
|
||||
echo "Add $(ls *.pkg.tar.zst) to repo"
|
||||
|
||||
- name: Update repo to MinIO
|
||||
run: |
|
||||
mcli mv repo/${{ env.REPO_NAME }}.db.tar.zst "m/${{ env.MINIO_BUCKET }}/${{ env.REPO_NAME }}.db"
|
||||
mcli mv repo/${{ env.REPO_NAME }}.files.tar.zst "m/${{ env.MINIO_BUCKET }}/${{ env.REPO_NAME }}.files"
|
||||
mcli mv repo/*.pkg.tar.zst "m/${{ env.MINIO_BUCKET }}"
|
||||
echo "Update ${{ env.REPO_NAME }}.db adn ${{ env.REPO_NAME }}.files to MinIO"
|
||||
8
.gitignore
vendored
Normal file
8
.gitignore
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
*.tar.gz
|
||||
*.tar.xz
|
||||
*.tgz
|
||||
*.rpm
|
||||
*.zip
|
||||
*.bz2
|
||||
src/
|
||||
pkg/
|
||||
47
PKGBUILD
Normal file
47
PKGBUILD
Normal file
@@ -0,0 +1,47 @@
|
||||
# Maintainer: Rigo Reddig <rigo.reddig at gmail dot com>
|
||||
pkgname='python-rtslib-fb'
|
||||
_pkgname=rtslib-fb
|
||||
pkgver=2.2.0
|
||||
pkgrel=1
|
||||
pkgdesc="Free branch version of the LIO target API"
|
||||
arch=('any')
|
||||
url="https://github.com/open-iscsi/$_pkgname"
|
||||
license=('Apache')
|
||||
depends=('python' 'python-six' 'python-pyudev')
|
||||
conflicts=('python2-rtslib' 'targetcli-fb<=2.1.fb31')
|
||||
makedepends=('python-setuptools' 'python-pyudev')
|
||||
source=(
|
||||
"https://github.com/open-iscsi/$_pkgname/archive/v${pkgver}.tar.gz"
|
||||
target.service
|
||||
fix_open_context.patch
|
||||
)
|
||||
sha512sums=('8a321be004fabdd4abb479a1900bc27103000ea15712cbcc855fdaa762dca1658e1f3528e1e1976a56a99e57a60c0d69e3bdede5323a2f1a3a6bf419a5ddc6d4'
|
||||
'3c634f1c466d0a8c3dd2b57a230438aaeeb0e66324863a2ded57dd69a2ca5946f83c4ab511766f510f3e63b43aedcf7e368bcf5bc325ee69c016bb0bb2612de5'
|
||||
'312e380deb60f082238389bcd455309283935d039e2d1404be25f12546ebaaf46d8e2d0dcaa05ecab4f97014c40dfb351ba082e07c6e8a2ee20004dd149d6431')
|
||||
|
||||
prepare() {
|
||||
cd "$srcdir/$_pkgname-$pkgver"
|
||||
patch -Np1 -i "$srcdir/fix_open_context.patch"
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$srcdir/$_pkgname-$pkgver"
|
||||
SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver python -m build --wheel --no-isolation
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/$_pkgname-$pkgver"
|
||||
python -m installer --destdir="$pkgdir" dist/*.whl
|
||||
install -Dm644 doc/targetctl.8 "$pkgdir/usr/share/man/man8/targetctl.8"
|
||||
install -Dm644 doc/saveconfig.json.5 "$pkgdir/usr/share/man/man5/saveconfig.json.5"
|
||||
|
||||
install -dm755 "$pkgdir/etc/target/backup"
|
||||
install -Dm644 "$srcdir/target.service" "$pkgdir/usr/lib/systemd/system/target.service"
|
||||
|
||||
# Install targetctl script to /usr/bin
|
||||
install -Dm755 scripts/targetctl "$pkgdir/usr/bin/targetctl"
|
||||
|
||||
# Create symlink for rtslib_fb to rtslib
|
||||
#install -dm755 "$pkgdir/usr/lib/python3.13/site-packages/rtslib"
|
||||
ln -s ./rtslib "$pkgdir/usr/lib/python3.13/site-packages/rtslib_fb"
|
||||
}
|
||||
11
fix_open_context.patch
Normal file
11
fix_open_context.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- rtslib-fb-2.2.0/rtslib/root.py.orig 2025-01-17 21:43:22.992672648 +0200
|
||||
+++ rtslib-fb-2.2.0/rtslib/root.py 2025-01-17 21:53:20.492076362 +0200
|
||||
@@ -487,7 +487,7 @@
|
||||
if not restore_file:
|
||||
restore_file = default_save_file
|
||||
|
||||
- with Path(restore_file).open as f:
|
||||
+ with Path(restore_file).open() as f:
|
||||
config = json.loads(f.read())
|
||||
return self.restore(config, target, storage_object,
|
||||
clear_existing=clear_existing,
|
||||
14
target.service
Normal file
14
target.service
Normal file
@@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=Restore LIO kernel target configuration
|
||||
Requires=sys-kernel-config.mount
|
||||
After=sys-kernel-config.mount network.target local-fs.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/targetctl restore
|
||||
ExecStop=/usr/bin/targetctl clear
|
||||
SyslogIdentifier=target
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user