mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-22 13:11:27 +00:00
scst.spec.in: Add DKMS support
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5976 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
116
scst.spec.in
116
scst.spec.in
@@ -47,6 +47,7 @@
|
||||
# Make command with or without flags.
|
||||
%define make %{expand:%%(echo ${MAKE:-make})}
|
||||
%define pkgrel 1
|
||||
%define dkms_version %{rpm_version}-%{pkgrel}%{?dist}
|
||||
|
||||
Name: %{kmod_name}
|
||||
Version: %{rpm_version}
|
||||
@@ -80,6 +81,22 @@ Authors:
|
||||
--------
|
||||
Vladislav Bolkhovitin, Bart Van Assche and others
|
||||
|
||||
%package userspace
|
||||
Summary: SCST mid-layer user space software
|
||||
Group: Development/Kernel
|
||||
Requires: scst-dkms
|
||||
|
||||
%description userspace
|
||||
A generic SCSI target subsystem for Linux that allows to convert any Linux
|
||||
server into a sophisticated storage server. The three layers in SCST are the
|
||||
target driver layer; the SCSI target core and the device handler layer. SCST
|
||||
target drivers realize communication with an initiator and implement a storage
|
||||
protocol like iSCSI, FC or SRP. SCST device handlers implement a SCSI
|
||||
interface on top of local storage. Examples of such local storage are SCSI
|
||||
RAID controller (dev_disk handler), block device (vdisk_blockio handler), file
|
||||
(vdisk_fileio handler) or custom block device behavior implemented in user
|
||||
space (scst_user).
|
||||
|
||||
%package devel
|
||||
Summary: SCST mid-layer kernel driver development package
|
||||
Group: Development/Kernel
|
||||
@@ -93,6 +110,25 @@ provide access to a local SCSI RAID controller (dev_disk), block device
|
||||
(vdisk_blockio), file (vdisk_fileio) or custom block device behavior
|
||||
implemented in user space (scst_user).
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Vladislav Bolkhovitin, Bart Van Assche and others
|
||||
|
||||
%package dkms
|
||||
Summary: DKMS-enabled SCST source code package
|
||||
Group: System/Kernel
|
||||
BuildArch: noarch
|
||||
Requires(pre): dkms gcc make
|
||||
Requires(post): dkms
|
||||
|
||||
%description dkms
|
||||
A generic SCSI target subsystem for Linux (SCST) that allows to convert
|
||||
any Linux server into a sophisticated storage server. SCST target drivers
|
||||
implement protocols like iSCSI, FC or SRP. SCST device handlers either
|
||||
provide access to a local SCSI RAID controller (dev_disk), block device
|
||||
(vdisk_blockio), file (vdisk_fileio) or custom block device behavior
|
||||
implemented in user space (scst_user).
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Vladislav Bolkhovitin, Bart Van Assche and others
|
||||
@@ -119,6 +155,53 @@ for d in fcst iscsi-scst qla2x00t/qla2x00-target scst_local srpt; do
|
||||
done
|
||||
rm -f %{buildroot}/lib/modules/%{kversion}/[Mm]odule*
|
||||
|
||||
install -d -m 755 %{buildroot}/usr/src/%{kmod_name}-%{dkms_version}
|
||||
(
|
||||
cd %{buildroot}/usr/src/%{kmod_name}-%{dkms_version} &&
|
||||
tar --strip-components=1 -xaf %{SOURCE0}
|
||||
)
|
||||
cat >%{buildroot}/usr/src/%{kmod_name}-%{dkms_version}/dkms.conf <<"EOF"
|
||||
PACKAGE_VERSION="%{dkms_version}"
|
||||
PACKAGE_NAME="%{kmod_name}"
|
||||
AUTOINSTALL=yes
|
||||
MAKE[0]="export KVER=${kernelver} KDIR=${kernel_source_dir} BUILD_2X_MODULE=y CONFIG_SCSI_QLA_FC=y CONFIG_SCSI_QLA2XXX_TARGET=y && make -sC scst && make -sC fcst && make -sC iscsi-scst && make -sC qla2x00t/qla2x00-target && make -sC scst_local && make -sC srpt && cp */*.ko */*/*.ko */*/*/*.ko ."
|
||||
CLEAN="make clean"
|
||||
# Remove any existing ib_srpt.ko kernel modules
|
||||
PRE_INSTALL="find /lib/modules/${kernelver} -name ib_srpt.ko -exec rm {} \;"
|
||||
BUILT_MODULE_NAME[ 0]="fcst"
|
||||
BUILT_MODULE_NAME[ 1]="ib_srpt"
|
||||
BUILT_MODULE_NAME[ 2]="iscsi-scst"
|
||||
BUILT_MODULE_NAME[ 3]="qla2x00tgt"
|
||||
BUILT_MODULE_NAME[ 4]="qla2xxx_scst"
|
||||
BUILT_MODULE_NAME[ 5]="scst"
|
||||
BUILT_MODULE_NAME[ 6]="scst_local"
|
||||
BUILT_MODULE_NAME[ 7]="scst_cdrom"
|
||||
BUILT_MODULE_NAME[ 8]="scst_changer"
|
||||
BUILT_MODULE_NAME[ 9]="scst_disk"
|
||||
BUILT_MODULE_NAME[10]="scst_modisk"
|
||||
BUILT_MODULE_NAME[11]="scst_processor"
|
||||
BUILT_MODULE_NAME[12]="scst_raid"
|
||||
BUILT_MODULE_NAME[13]="scst_tape"
|
||||
BUILT_MODULE_NAME[14]="scst_user"
|
||||
BUILT_MODULE_NAME[15]="scst_vdisk"
|
||||
DEST_MODULE_LOCATION[ 0]="/extra"
|
||||
DEST_MODULE_LOCATION[ 1]="/extra"
|
||||
DEST_MODULE_LOCATION[ 2]="/extra"
|
||||
DEST_MODULE_LOCATION[ 3]="/extra"
|
||||
DEST_MODULE_LOCATION[ 4]="/extra"
|
||||
DEST_MODULE_LOCATION[ 5]="/extra"
|
||||
DEST_MODULE_LOCATION[ 6]="/extra"
|
||||
DEST_MODULE_LOCATION[ 7]="/extra/dev_handlers"
|
||||
DEST_MODULE_LOCATION[ 8]="/extra/dev_handlers"
|
||||
DEST_MODULE_LOCATION[ 9]="/extra/dev_handlers"
|
||||
DEST_MODULE_LOCATION[10]="/extra/dev_handlers"
|
||||
DEST_MODULE_LOCATION[11]="/extra/dev_handlers"
|
||||
DEST_MODULE_LOCATION[12]="/extra/dev_handlers"
|
||||
DEST_MODULE_LOCATION[13]="/extra/dev_handlers"
|
||||
DEST_MODULE_LOCATION[14]="/extra/dev_handlers"
|
||||
DEST_MODULE_LOCATION[15]="/extra/dev_handlers"
|
||||
EOF
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
@@ -133,9 +216,27 @@ rm -f /usr/local/sbin/iscsi-scst-adm
|
||||
rm -f /usr/local/sbin/iscsi-scstd
|
||||
rm -rf /usr/local/include/scst
|
||||
|
||||
%pre userspace
|
||||
# Remove files installed by "make install"
|
||||
rm -f /usr/local/man/man5/iscsi-scstd.conf.5
|
||||
rm -f /usr/local/man/man8/iscsi-scst-adm.8
|
||||
rm -f /usr/local/man/man8/iscsi-scstd.8
|
||||
rm -f /usr/local/sbin/iscsi-scst-adm
|
||||
rm -f /usr/local/sbin/iscsi-scstd
|
||||
rm -rf /usr/local/include/scst
|
||||
|
||||
%post
|
||||
/sbin/depmod -a %{kversion}
|
||||
|
||||
%post dkms
|
||||
dkms add -m %{kmod_name} -v %{dkms_version} --rpm_safe_upgrade
|
||||
dkms build -m %{kmod_name} -v %{dkms_version}
|
||||
dkms install -m %{kmod_name} -v %{dkms_version}
|
||||
|
||||
%preun dkms
|
||||
dkms remove -m %{kmod_name} -v %{dkms_version} --rpm_safe_upgrade --all
|
||||
true
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%dir /lib/modules/%{kversion}/extra
|
||||
@@ -164,6 +265,15 @@ rm -rf /usr/local/include/scst
|
||||
%dir /var/lib/scst/pr
|
||||
%dir /var/lib/scst/vdev_mode_pages
|
||||
|
||||
%files userspace
|
||||
%{_mandir}/man5/iscsi-scstd.conf.5.gz
|
||||
%{_mandir}/man8/iscsi-scst-adm.8.gz
|
||||
%{_mandir}/man8/iscsi-scstd.8.gz
|
||||
%{_sbindir}/iscsi-scst-adm
|
||||
%{_sbindir}/iscsi-scstd
|
||||
%dir /var/lib/scst/pr
|
||||
%dir /var/lib/scst/vdev_mode_pages
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%dir /usr/include/scst
|
||||
@@ -175,6 +285,12 @@ rm -rf /usr/local/include/scst
|
||||
/usr/include/scst/scst_sgv.h
|
||||
/usr/include/scst/scst_user.h
|
||||
|
||||
%files dkms
|
||||
%defattr(-,root,root)
|
||||
/usr/src/%{kmod_name}-%{dkms_version}/
|
||||
|
||||
%changelog
|
||||
* Fri Jan 16 2015 Bart Van Assche <bart.vanassche@sandisk.com>
|
||||
- Added DKMS support.
|
||||
* Fri Nov 22 2013 Bart Van Assche <bvanassche@acm.org>
|
||||
- Initial spec file.
|
||||
|
||||
Reference in New Issue
Block a user