Fork of AUR SCST package bringing it up to date, and making it work better for my environment. https://aur.archlinux.org/packages/scst/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
aur-scst/PKGBUILD

150 lines
3.2 KiB

# Original maintainer Alex Talker < Alextalker at openmailbox dot com >
# Support Maintainer Filip Brcic < brcha at gna dot org >
# Contributor bitwave < aur [at] oomlu [d0t] de >
# Forker Ada Sauce < ada @ with dot parts >
# Alex say thanks to Filip about support this package while he was away from Arch.
pkgname=(scst scst_local iscsi-scst scstadmin)
pkgver=3.4.0.8683
pkgrel=1
pkgdesc="Generic SCSI Target Subsystem For Linux"
arch=('i686' 'x86_64')
url="http://scst.sourceforge.net"
license=('GPL')
install=${pkgname}.install
makedepends=('linux' 'linux-headers')
_version="3.4.0"
_branch="master"
source=(
"git+https://github.com/bvanassche/scst.git#branch=$_branch"
)
md5sums=(
'SKIP'
)
pkgver() {
cd $(find "$srcdir" -maxdepth 1 -type d -name 'scst*')
local ver="$(git rev-parse --short HEAD)"
local days=$(( ($(date --utc +%s) - $(date -d "2019-01-01 UTC" +%s)) / (60*60*24) ))
printf "${_version}.%s.%s" "${days}" "${ver//[[:alpha:]]}"
}
_base() {
cd $(find "$srcdir" -maxdepth 1 -type d -name 'scst*')
# Fix problem with scstadmin
unset PERL_MM_OPT
export KVER=$(uname -r)
export KVERSION=$(uname -r)
export PREFIX="/usr"
export MANDIR=/usr/share/man
}
_package_module() {
msg "Package module $1..."
_base
export DESTDIR="$pkgdir"
make -C "$1" INSTALL_MOD_PATH="$pkgdir" install
shopt -s nullglob
_mod_dir="$pkgdir"/lib/modules/"$KVER"
# Clean up conflict files
for f in "$_mod_dir"/modules.*; do
rm "$f"
done
# Resolve symlink
if [[ -d "$pkgdir"/lib ]]; then
mkdir -p "$pkgdir"/usr/lib
mv -v "$pkgdir"/lib/* "$pkgdir"/usr/lib/
rm -rf "$pkgdir"/lib
fi
# Resolve sbin
if [[ -d "$pkgdir"/usr/sbin ]]; then
mkdir -p "$pkgdir"/usr/bin
mv "$pkgdir"/usr/sbin/* "$pkgdir"/usr/bin/
rm -rf "$pkgdir"/usr/sbin
fi
msg "Done with packaging module $1"
}
prepare() {
cd $(find "$srcdir" -maxdepth 1 -type d -name 'scst*')
}
build() {
msg "Build package..."
_base
# Fix problems with linux-headers package
# (rdma headers is missing)
# _kern_inc=("$srcdir"/linux-*/include/)
# cp -r "$_kern_inc/rdma" "scst/include"
#export CFLAGS="$CFLAGS -I'$_kern_inc'"
make -C scst 2release
make -C scst
make -C scst_local
make -C iscsi-scst
# Fix issue with man pages
export MANDIR="$pkgdir"/usr/man
make -C scstadmin
msg "Done building"
}
package_scst() {
pkgdesc="Generic SCSI Target Subsystem For Linux"
depends=()
_package_module scst
}
package_scst_local() {
pkgdesc="Driver for support of local targets in SCST"
depends=('scst')
_package_module scst_local
}
package_iscsi-scst() {
pkgdesc="Driver & daemon for support iSCSI in SCST"
depends=('scst')
_package_module iscsi-scst
}
package_scstadmin() {
pkgdesc="Administration utilit for SCST"
depends=('perl')
msg "Package scstadmin util..."
_base
export DESTDIR="$pkgdir"
# Resolve path to install man pages
# and move script from sbin to bin
export MANDIR="$pkgdir"/usr/share/man
make -C scstadmin install_vendor
mkdir -p "$pkgdir"/usr/bin
mv "$pkgdir"/usr/sbin/* "$pkgdir"/usr/bin
rm -rf "$pkgdir"/usr/sbin
msg "Done with packaging scstadmin"
}