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