diff --git a/Makefile b/Makefile index b0bae7c7f..67f5cde9d 100644 --- a/Makefile +++ b/Makefile @@ -59,6 +59,7 @@ REVISION ?= $(shell if svn info >/dev/null 2>&1; \ else git log | grep -c ^commit; \ fi) VERSION := $(shell echo -n "$$(sed -n 's/^\#define[[:blank:]]SCST_VERSION_NAME[[:blank:]]*\"\([^-]*\).*\"/\1/p' scst/include/scst_const.h).$(REVISION)") +DEBIAN_REVISION=1 help: @echo " all : make all" @@ -411,15 +412,18 @@ scst-dist-gzip: name=scst && \ mkdir $${name}-$(VERSION) && \ { \ - if [ -e qla2x00t_git ]; then \ - scripts/list-source-files | grep -v ^qla2x00t/; \ - ( dir="$$PWD" && cd qla2x00t_git && \ - "$$dir/scripts/list-source-files" ) | \ - sed 's,^,qla2x00t_git/,'; \ - else \ - scripts/list-source-files; \ - fi | \ - grep -E '^doc/|^fcst/|^iscsi-scst/|^Makefile|^qla2x00t(|_git)/|^scst.spec|^scst/|^scst_local/|^srpt/|^usr/|^scstadmin/'|\ + { \ + if [ -e qla2x00t_git ]; then \ + scripts/list-source-files | grep -v ^qla2x00t/; \ + ( dir="$$PWD" && cd qla2x00t_git && \ + "$$dir/scripts/list-source-files" ) | \ + sed 's,^,qla2x00t_git/,'; \ + else \ + scripts/list-source-files; \ + fi && \ + if [ -e debian/changelog ]; then echo debian/changelog; fi; \ + } | \ + $(4) | \ tar -T- -cf- | \ tar -C $${name}-$(VERSION) -xf-; \ } && \ @@ -469,6 +473,50 @@ rpm: find -name '*.rpm'; \ fi +debian/changelog: debian/changelog.in + sed 's/%{scst_version}/$(VERSION)-$(DEBIAN_REVISION)/' \ + debian/changelog + +../scst_$(VERSION).orig.tar.xz: debian/changelog Makefile + $(call make-scst-dist,J,xz,$(VERSION),cat) && \ + mv "scst-$(VERSION).tar.xz" "$@" + +dpkg: ../scst_$(VERSION).orig.tar.xz + @if [ -z "$$DEBEMAIL" ]; then \ + echo "Error: \$$DEBEMAIL has not been set"; \ + false; \ + fi && \ + if [ -z "$$DEBFULLNAME" ]; then \ + echo "Error: \$$DEBFULLNAME has not been set"; \ + false; \ + fi && \ + sed 's/%{scst_version}/$(VERSION)/' \ + debian/scst.dkms && \ + output_files=( \ + ../iscsi-scst_$(VERSION)-$(DEBIAN_REVISION)_amd64.deb \ + ../scst-dev_$(VERSION)-$(DEBIAN_REVISION)_all.deb \ + ../scst-dkms_$(VERSION)-$(DEBIAN_REVISION)_all.deb \ + ../scst_$(VERSION)-$(DEBIAN_REVISION).debian.tar.xz \ + ../scst_$(VERSION)-$(DEBIAN_REVISION).dsc \ + ../scst_$(VERSION)-$(DEBIAN_REVISION)_amd64.build \ + ../scst_$(VERSION)-$(DEBIAN_REVISION)_amd64.buildinfo \ + ../scst_$(VERSION)-$(DEBIAN_REVISION)_amd64.changes \ + ../scst_$(VERSION)-$(DEBIAN_REVISION)_amd64.deb \ + ../scstadmin_$(VERSION)-$(DEBIAN_REVISION)_amd64.deb \ + ) && \ + rm -f "$${output_files[@]}" && \ + if false; then \ + dpkg-buildpackage -uc -us -ui -jauto; \ + else \ + debuild -uc -us -ui -jauto --lintian-opts --profile debian; \ + fi && \ + mkdir -p dpkg && \ + for f in "$${output_files[@]}" ../scst_$(VERSION).orig.tar.xz; do\ + mv $$f dpkg || true; \ + done && \ + echo "Output files:" && \ + ls -l dpkg + release-archive: $(MAKE) 2release for m in $$(find -name Makefile | \ @@ -546,4 +594,5 @@ disable_proc: extraclean scst_local scst_local_install scst_local_uninstall scst_local_clean scst_local_extraclean \ mvsas mvsas_install mvsas_uninstall mvsas_clean mvsas_extraclean \ fcst fcst_install fcst_uninstall fcst_clean fcst_extraclean \ + scst-rpm scst-dkms-rpm dpkg \ 2perf 2release 2debug enable_proc disable_proc diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 000000000..abc57f34c --- /dev/null +++ b/debian/README.source @@ -0,0 +1,8 @@ +SCST source code +---------------- + +SCST source code is available at https://sourceforge.net/p/scst/svn/HEAD/tree/. + + + -- Bart Van Assche Fri, 12 Jan 2018 20:14:02 -0800 + diff --git a/debian/changelog.in b/debian/changelog.in new file mode 100644 index 000000000..881b5d1e2 --- /dev/null +++ b/debian/changelog.in @@ -0,0 +1,5 @@ +scst (%{scst_version}) unstable; urgency=medium + + * Initial release. + + -- Bart Van Assche Fri, 12 Jan 2018 20:14:02 -0800 diff --git a/debian/compat b/debian/compat new file mode 100644 index 000000000..ec635144f --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 000000000..d72ecaad3 --- /dev/null +++ b/debian/control @@ -0,0 +1,47 @@ +Source: scst +Section: net +Priority: optional +Maintainer: Vladislav Bolkhovitin +Build-Depends: debhelper (>= 9), + quilt, + dpkg-dev (>= 1.13.19) +Standards-Version: 4.1.1 +Homepage: http://scst.sourceforge.net + +Package: scst +Architecture: any +Depends: ${misc:Depends} +Conflicts: scst-dkms +Description: Generic SCSI target framework + SCST is a SCSI target framework that allows local block device data to be + accessed over a storage network via the iSCSI, FC, SRP or FCoE protocol. + This package contains the SCST kernel modules. + +Package: scst-dkms +Architecture: all +Depends: ${misc:Depends}, dkms +Conflicts: scst +Description: Generic SCSI target framework + SCST is a SCSI target framework that allows local block device data to be + accessed over a storage network via the iSCSI, FC, SRP or FCoE protocol. + This package contains the source code of the SCST kernel modules. DKMS will + convert this source code into binary kernel modules. + +Package: scst-dev +Architecture: all +Depends: ${misc:Depends} +Description: SCST development header and symbol files + Files needed to build out-of-tree SCST kernel modules. + +Package: scstadmin +Architecture: any +Depends: ${misc:Depends}, lsb-base, perl +Description: SCST admininstration tool + scstadmin is a tool that uses the SCST sysfs interface to query and modify + SCST settings. + +Package: iscsi-scst +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: iSCSI user space software for SCST + This package contains two executables, namely iscsi-scst-adm and iscsi-scstd. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 000000000..28c634bb7 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,425 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: SCST +Source: + +Files: * +Copyright: 2008-2017, Bart Van Assche + 2004-2017, Vladislav Bolkhovitin +License: GPL-2+ + +Files: Makefile + fcst/Makefile + fcst/fcst.h + fcst/ft_cmd.c + fcst/ft_scst.c + fcst/ft_sess.c + ibmvstgt/src/orig/2.6.35/scsi_transport_srp.c + ibmvstgt/src/orig/2.6.36/scsi_transport_srp.c + ibmvstgt/src/scsi_transport_srp.c + mpt/Makefile + mvsas_tgt/Makefile + mvsas_tgt/mv_64xx.c + mvsas_tgt/mv_64xx.h + mvsas_tgt/mv_94xx.c + mvsas_tgt/mv_94xx.h + mvsas_tgt/mv_chips.h + mvsas_tgt/mv_defs.h + mvsas_tgt/mv_init.c + mvsas_tgt/mv_sas.c + mvsas_tgt/mv_sas.h + mvsas_tgt/mv_spi.c + mvsas_tgt/mv_spi.h + mvsas_tgt/mv_tgt.c + mvsas_tgt/mv_tgt.h + qla2x00t/qla2x00-target/Makefile + qla2x00t/qla2x00-target/qla2x00t.c + qla2x00t/qla2x00-target/qla2x00t.h + scripts/blockdev-perftest + scripts/filter-trace-entry-exit + scripts/generate-kernel-patch + scripts/generate-patched-kernel + scripts/generate-scst-patch + scripts/list-double-blank-lines + scripts/monitor-memory-usage + scripts/rebuild-rhel-kernel-rpm + scripts/run-regression-tests + scripts/specialize-patch + scst-dkms.spec.in + scst.spec.in + usr/Makefile + usr/fileio/Makefile + usr/fileio/common.c + usr/fileio/common.h + usr/fileio/fileio.c + usr/include/* +Copyright: 2008-2017, Bart Van Assche + 2012, Chetan Loke + 2010, Cisco Systems, Inc + 2007, FUJITA Tomonori + 2006-2008, Jacky Feng + 2004-2005, Leonid Stoljar + 2008, Marvell + 2006, Nathaniel Clark + 2007, Red Hat, Inc + 2007-2017, SanDisk Corporation + 2004-2017, Vladislav Bolkhovitin +License: GPL-2 + +Files: ibmvstgt/src/SLES-10-SP3-ibmvscsis.c + ibmvstgt/src/ibmvscsi.h + ibmvstgt/src/ibmvstgt.c + ibmvstgt/src/libsrp.c + ibmvstgt/src/orig/2.6.35/ibmvstgt.c + ibmvstgt/src/orig/2.6.35/libsrp.c + ibmvstgt/src/orig/2.6.35/scsi_tgt_if.c + ibmvstgt/src/orig/2.6.35/scsi_tgt_if.h + ibmvstgt/src/orig/2.6.35/scsi_tgt_lib.c + ibmvstgt/src/orig/2.6.35/scsi_transport_fc.c + ibmvstgt/src/orig/2.6.36/ibmvstgt.c + ibmvstgt/src/orig/2.6.36/libsrp.c + ibmvstgt/src/orig/2.6.36/scsi_tgt_if.c + ibmvstgt/src/orig/2.6.36/scsi_tgt_if.h + ibmvstgt/src/orig/2.6.36/scsi_tgt_lib.c + ibmvstgt/src/orig/2.6.36/scsi_transport_fc.c + ibmvstgt/src/scsi_transport_fc.c + ibmvstgt/src/viosrp.h + mpt/mpt_scst.c + qla2x00t/qla2x_tgt.h + qla2x00t/qla2x_tgt_def.h +Copyright: 2010, Bart Van Assche + 2005, Beijing Soul Technology Co., Ltd + 2003-2005, Dave Boutcher (boutcher@us.ibm.com) IBM Corp + 2005-2006, FUJITA Tomonori + 1994-2003, IBM Corporation + 2004-2007, James Smart, Emulex Corporation + 2002-2004, LSI Logic Corporation + 2004-2005, Leonid Stoljar + 2005, Mike Christie + 2006, Nathaniel Clark + 2007-2017, SanDisk Corporation + 2003, Silicon Graphics, Inc + 2004-2017, Vladislav Bolkhovitin +License: GPL-2+ + +Files: debian/* +Copyright: 2018, Bart Van Assche +License: GPL-2+ + +Files: iscsi-scst/* +Copyright: 2002-2003, Ardis Technologies + 2007-2014, Fusion-io, Inc + 2001-2003, InterOperability Lab (IOL) + 2012, Riccardo Bicelli + 2012, Riccardo Bicelli + 2007-2017, SanDisk Corporation + 2007-2017, Vladislav Bolkhovitin + 2004, Xiranet Communications GmbH +License: GPL-2 + +Files: iscsi-scst/AskingQuestions + iscsi-scst/ChangeLog + iscsi-scst/Makefile + iscsi-scst/Makefile_user_space_only + iscsi-scst/README + iscsi-scst/README.iser + iscsi-scst/README.iser_ofed + iscsi-scst/README_in-tree + iscsi-scst/ToDo + iscsi-scst/doc/* + iscsi-scst/etc/* + iscsi-scst/include/iscsit_transport.h + iscsi-scst/include/isert_scst.h + iscsi-scst/kernel/Kconfig + iscsi-scst/kernel/Makefile.in-kernel + iscsi-scst/kernel/iscsit_transport.c + iscsi-scst/kernel/patches/put_page_callback-2.6.16.29.patch + iscsi-scst/kernel/patches/put_page_callback-2.6.18.1.patch + iscsi-scst/kernel/patches/put_page_callback-2.6.21.1.patch + iscsi-scst/kernel/patches/put_page_callback-2.6.22.patch + iscsi-scst/kernel/patches/put_page_callback-2.6.23.patch + iscsi-scst/kernel/patches/put_page_callback-2.6.24.patch + iscsi-scst/kernel/patches/put_page_callback-2.6.25.patch + iscsi-scst/kernel/patches/rhel/put_page_callback-2.6.18.patch + iscsi-scst/kernel/patches/rhel/put_page_callback-rhel5.patch + iscsi-scst/usr/sha1.h +Copyright: 2007-2017, Vladislav Bolkhovitin +License: GPL-2 + +Files: iscsi-scst/conftest/* +Copyright: 2015-2018, Bart Van Assche +License: GPL-2 + +Files: iscsi-scst/kernel/config.c + iscsi-scst/kernel/digest.c + iscsi-scst/kernel/digest.h + iscsi-scst/kernel/event.c + iscsi-scst/kernel/nthread.c + iscsi-scst/kernel/param.c + iscsi-scst/usr/config.c + iscsi-scst/usr/ctldev.c + iscsi-scst/usr/event.c + iscsi-scst/usr/iscsi_adm.c + iscsi-scst/usr/message.c + iscsi-scst/usr/param.c + iscsi-scst/usr/param.h +Copyright: 2004-2005, FUJITA Tomonori + 2007-2017, SanDisk Corporation + 2007-2017, Vladislav Bolkhovitin + 2004-2006, Xiranet Communications GmbH + 2004, Xiranet Communications GmbH +License: GPL + +Files: iscsi-scst/COPYING + iscsi-scst/usr/isns.c + iscsi-scst/usr/isns_proto.h + iscsi-scst/usr/md5.c + iscsi-scst/usr/sha1.c +Copyright: Alan Smithee + Andrew McDonald + Cryptoapi developers + 2006, FUJITA Tomonori + 1989-1991, Free Software Foundation, Inc + 2002, James Morris + Jean-Francois Dive + 2007-2017, SanDisk Corporation + 2007-2017, Vladislav Bolkhovitin +License: GPL-2+ + +Files: iscsi-scst/kernel/isert-scst/Kconfig + iscsi-scst/kernel/isert-scst/Makefile.in-kernel + iscsi-scst/kernel/isert-scst/TODO + iscsi-scst/kernel/isert-scst/iser.h + iscsi-scst/kernel/isert-scst/iser_buf.c + iscsi-scst/kernel/isert-scst/iser_datamover.c + iscsi-scst/kernel/isert-scst/iser_datamover.h + iscsi-scst/kernel/isert-scst/iser_global.c + iscsi-scst/kernel/isert-scst/iser_hdr.h + iscsi-scst/kernel/isert-scst/iser_pdu.c + iscsi-scst/kernel/isert-scst/iser_rdma.c + iscsi-scst/kernel/isert-scst/isert.c + iscsi-scst/kernel/isert-scst/isert.h + iscsi-scst/kernel/isert-scst/isert_login.c +Copyright: 2013-2014, Mellanox Technologies + 2013-2014, Yan Burman +License: GPL-2+ + +Files: iscsi-scst/usr/md5.h +Copyright: 1993, Colin Plumb + Ian Jackson +License: public-domain + +Files: qla_isp/* +Copyright: 1997-2009, Matthew Jacob + 2007-2008, Open-E Inc + 2007, Stanislaw Gruszka +License: BSD-2-clause + +Files: qla_isp/ChangeLog + qla_isp/FIRMWARE.readme + qla_isp/Makefile + qla_isp/README + qla_isp/README.scst + qla_isp/TAGS + qla_isp/linux-2.6/* +Copyright: 2006-2008, Matthew Jacob +License: BSD-2-clause + +Files: qla_isp/firmware/asm_1000.h + qla_isp/firmware/asm_1040.h + qla_isp/firmware/asm_1080.h + qla_isp/firmware/asm_12160.h + qla_isp/firmware/asm_2100.h + qla_isp/firmware/asm_2200.h + qla_isp/firmware/asm_2300.h + qla_isp/firmware/asm_2322.h + qla_isp/firmware/asm_2400.h + qla_isp/firmware/asm_2500.h +Copyright: 1995-2008, Qlogic, Inc +License: BSD-3-clause + +Files: qla_isp/linux/isp_linux.c +Copyright: 1997-2009, Matthew Jacob +License: BSD-2-clause or GPL + +Files: scst/* +Copyright: 2013-2017, SanDisk Corporation +License: GPL-2+ + +Files: scst/Makefile + scst/include/backport.h + scst/include/scst.h + scst/include/scst_const.h + scst/include/scst_debug.h + scst/include/scst_sgv.h + scst/include/scst_user.h + scst/src/Makefile + scst/src/dev_handlers/Makefile + scst/src/dev_handlers/scst_cdrom.c + scst/src/dev_handlers/scst_changer.c + scst/src/dev_handlers/scst_disk.c + scst/src/dev_handlers/scst_modisk.c + scst/src/dev_handlers/scst_processor.c + scst/src/dev_handlers/scst_raid.c + scst/src/dev_handlers/scst_tape.c + scst/src/dev_handlers/scst_user.c + scst/src/dev_handlers/scst_vdisk.c + scst/src/scst_debug.c + scst/src/scst_dlm.c + scst/src/scst_dlm.h + scst/src/scst_lib.c + scst/src/scst_main.c + scst/src/scst_mem.c + scst/src/scst_mem.h + scst/src/scst_module.c + scst/src/scst_no_dlm.c + scst/src/scst_pres.c + scst/src/scst_pres.h + scst/src/scst_priv.h + scst/src/scst_proc.c + scst/src/scst_sysfs.c + scst/src/scst_targ.c + scst/src/scst_tg.c +Copyright: 2009-2010, Alexey Obitotskiy + 2008-2017, Bart Van Assche + 2009, Daniel Henrique Debonzi + 2013-2014, Fusion-io, Inc + 2004-2005, Leonid Stoljar + 2007, Ming Zhang + 2009-2010, Open-E, Inc + 2007, Ross Walker + 2007-2017, SanDisk Corporation + 2004-2017, Vladislav Bolkhovitin +License: GPL-2 + +Files: scst/COPYING +Copyright: 1989-1991, Free Software Foundation, Inc +License: GPL-2+ + +Files: scstadmin/* +Copyright: 2009-2011, Bart Van Assche + 2008, Mark Buechler +License: GPL-2+ + +Files: scstadmin/scstadmin.procfs/scst-0.8.22/lib/* + scstadmin/scstadmin.procfs/scstadmin + scstadmin/scstadmin.spec.in + scstadmin/scstadmin.sysfs/scst-1.0.0/lib/* + scstadmin/scstadmin.sysfs/scstadmin +Copyright: 2011-2015, Bart Van Assche + 2005-2011, Mark R. Buechler +License: GPL-2 + +Files: scstadmin/LICENSE +Copyright: 1989-1991, Free Software Foundation, Inc +License: GPL-2+ + +Files: srpt/* +Copyright: 2008-2017, Bart Van Assche + 2013, Fusion-io, Inc + 2006-2009, Mellanox Technology Inc + 2008, Vladislav Bolkhovitin +License: BSD-2-clause + +Files: srpt/LICENSE +Copyright: OpenFabrics Alliance +License: BSD-2-clause + +License: BSD-2-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD-3-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the names of the contributors nor the names of the contributing + organizations may be used to endorse or promote products derived from + this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: GPL + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see + . + On Debian systems, the complete text of the GNU General + Public License can be found in "/usr/share/common-licenses/GPL". + +License: GPL-2 + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see + . + On Debian systems, the complete text of the GNU General + Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". + +License: GPL-2+ + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see + . + On Debian systems, the complete text of the GNU General + Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". + +License: public-domain + ... + ... diff --git a/debian/iscsi-scst.install b/debian/iscsi-scst.install new file mode 100644 index 000000000..b96822831 --- /dev/null +++ b/debian/iscsi-scst.install @@ -0,0 +1,5 @@ +usr/share/man/man5/iscsi-scstd.conf.5 +usr/share/man/man8/iscsi-scst-adm.8 +usr/share/man/man8/iscsi-scstd.8 +usr/sbin/iscsi-scst-adm +usr/sbin/iscsi-scstd diff --git a/debian/rules b/debian/rules new file mode 100644 index 000000000..37435d235 --- /dev/null +++ b/debian/rules @@ -0,0 +1,105 @@ +#!/usr/bin/make -f +# See debhelper(7) (uncomment to enable) +# output every command that modifies files on the build system. +export DH_VERBOSE = 1 + + +# see FEATURE AREAS in dpkg-buildflags(1) +#export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +# see ENVIRONMENT in dpkg-buildflags(1) +# package maintainers to append CFLAGS +#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic +# package maintainers to append LDFLAGS +#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed + +SUBDIRS=scst fcst iscsi-scst qla2x00t/qla2x00-target scst_local scstadmin srpt +DESTDIR=$(CURDIR)/debian/tmp +VERSION:=$(shell head -n1 debian/changelog | sed 's/.*(\([0-9.]*\).*).*/\1/') + +%: + echo "*** dh $@ ***" + dh $@ + +clean: + dh_testdir && \ + dh_prep -Xqla_isp/TAGS -Xdebian/changelog && \ + scripts/clean-source-tree -x debian/changelog + +build: + export BUILD_2X_MODULE=y && \ + export CONFIG_SCSI_QLA_FC=y CONFIG_SCSI_QLA2XXX_TARGET=y && \ + for d in $(SUBDIRS); do $(MAKE) -C $$d; done && \ + { \ + echo dkms.conf && \ + echo Makefile && \ + for d in fcst iscsi-scst qla2x00t scst scst_local srpt; do\ + echo $$d; \ + done; \ + } | sed "s,^,usr/src/scst-$(VERSION)/," >debian/scst-dkms.install + +build-indep: build + +build-arch: build + +install: + [ -n "$(VERSION)" ] && \ + dh_testdir && \ + export PREFIX=/usr && \ + export DESTDIR="$(DESTDIR)" && \ + export BUILD_2X_MODULE=y && \ + export CONFIG_SCSI_QLA_FC=y CONFIG_SCSI_QLA2XXX_TARGET=y && \ + for d in $(SUBDIRS); do \ + if [ $$d = scst ]; then \ + { $(MAKE) -C $$d install || break; } \ + else \ + { INSTALL_MOD_PATH="$(DESTDIR)" $(MAKE) -C $$d install; } ||\ + break; \ + fi; \ + done && \ + rm -f "$(DESTDIR)"/lib/modules/*/[Mm]odule* && \ + mkdir -p $(DESTDIR)/usr/src/scst-$(VERSION) && \ + for f in scst.dkms scst-dkms.postinst scst-dkms.prerm; do \ + sed "s/\$${PACKAGE_VERSION}/$(VERSION)/" \ + < debian/$$f.in >debian/$$f || exit $?; \ + done && \ + cp debian/scst.dkms \ + $(DESTDIR)/usr/src/scst-$(VERSION)/dkms.conf && \ + scripts/list-source-files | \ + grep -E '^Makefile$$|^(fcst|iscsi-scst|qla2x00t|scst|scst_local|srpt)/'|\ + tar -T- -cf- | \ + tar -C $(DESTDIR)/usr/src/scst-$(VERSION) -xf- && \ + chmod -R 0644 $(DESTDIR)/usr/src/scst-$(VERSION) && \ + chmod 0644 "$(DESTDIR)"/usr/lib/*/perl/*/auto/SCST_SCST/.packlist "$(DESTDIR)"/usr/share/perl/*/SCST/SCST.pm && \ + chmod 0755 "$(DESTDIR)"/usr/lib/*/perl/*/auto/SCST_SCST && \ + mkdir -p "$(DESTDIR)"/usr/share/man && \ + { tar -C "$(DESTDIR)"/usr/man -cf- . | \ + tar -C "$(DESTDIR)"/usr/share/man -xf-; } && \ + rm -rf "$(DESTDIR)"/usr/man && \ + dh_strip && \ + dh_compress && \ + dh_install && \ + dh_installdeb && \ + dh_installman && \ + dh_installchangelogs && \ + dh_shlibdeps && \ + dh_gencontrol && \ + dh_md5sums && \ + dh_builddeb + +binary-indep: install + +binary-arch: install + +binary: binary-indep binary-arch + +override_dh_installinit: + dh_installinit --onlyscripts + +# dh_make generated override targets +# This is example for Cmake (See https://bugs.debian.org/641051 ) +#override_dh_auto_configure: +# dh_auto_configure -- # -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH) + +.PHONY: clean binary binary-arch binary-indep build build-arch build-indep \ + install diff --git a/debian/scst-dev.install b/debian/scst-dev.install new file mode 100644 index 000000000..30b0020dd --- /dev/null +++ b/debian/scst-dev.install @@ -0,0 +1,8 @@ +usr/include/scst/Module.symvers +usr/include/scst/backport.h +usr/include/scst/scst.h +usr/include/scst/scst_const.h +usr/include/scst/scst_debug.h +usr/include/scst/scst_itf_ver.h +usr/include/scst/scst_sgv.h +usr/include/scst/scst_user.h diff --git a/debian/scst-dkms.postinst.in b/debian/scst-dkms.postinst.in new file mode 100644 index 000000000..59173dad2 --- /dev/null +++ b/debian/scst-dkms.postinst.in @@ -0,0 +1,10 @@ +#!/bin/sh + +DKMS_NAME=scst +DKMS_VERSION=${PACKAGE_VERSION} + +case "$1" in + configure) + /usr/lib/dkms/common.postinst "$DKMS_NAME" "$DKMS_VERSION" + ;; +esac diff --git a/debian/scst-dkms.prerm.in b/debian/scst-dkms.prerm.in new file mode 100644 index 000000000..1212bb4c3 --- /dev/null +++ b/debian/scst-dkms.prerm.in @@ -0,0 +1,10 @@ +#!/bin/sh + +DKMS_NAME=scst +DKMS_VERSION=${PACKAGE_VERSION} + +case "$1" in + upgrade|remove|deconfigure) + dkms remove -m "$DKMS_NAME" -v "$DKMS_VERSION" --all + ;; +esac diff --git a/debian/scst.dkms.in b/debian/scst.dkms.in new file mode 100644 index 000000000..615e76b63 --- /dev/null +++ b/debian/scst.dkms.in @@ -0,0 +1,61 @@ +PACKAGE_VERSION="${PACKAGE_VERSION}" +PACKAGE_NAME="scst" +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 2release && make -sC scst && make -sC fcst && make -sC iscsi-scst && make -sC qla2x00t/qla2x00-target && make -sC scst_local && make -sC srpt" +CLEAN="make clean" +# Remove any existing ib_srpt.ko kernel modules +PRE_INSTALL="find /lib/modules/${kernelver} -name ib_srpt.ko -exec rm {} \;" +# The SCST kernel module must be first because building the other kernel +# modules can only succeed after the SCST kernel module headers have been +# installed. +BUILT_MODULE_NAME[0]="scst" +BUILT_MODULE_LOCATION[0]="scst/src" +DEST_MODULE_LOCATION[0]="/extra" +BUILT_MODULE_NAME[1]="fcst" +BUILT_MODULE_LOCATION[1]="fcst" +DEST_MODULE_LOCATION[1]="/extra" +BUILT_MODULE_NAME[2]="iscsi-scst" +BUILT_MODULE_LOCATION[2]="iscsi-scst/kernel" +DEST_MODULE_LOCATION[2]="/extra" +BUILT_MODULE_NAME[3]="isert-scst" +BUILT_MODULE_LOCATION[3]="iscsi-scst/kernel/isert-scst" +DEST_MODULE_LOCATION[3]="/extra" +BUILT_MODULE_NAME[4]="qla2x00tgt" +BUILT_MODULE_LOCATION[4]="qla2x00t/qla2x00-target" +DEST_MODULE_LOCATION[4]="/extra" +BUILT_MODULE_NAME[5]="qla2xxx_scst" +BUILT_MODULE_LOCATION[5]="qla2x00t" +DEST_MODULE_LOCATION[5]="/extra" +BUILT_MODULE_NAME[6]="scst_cdrom" +BUILT_MODULE_LOCATION[6]="scst/src/dev_handlers" +DEST_MODULE_LOCATION[6]="/extra/dev_handlers" +BUILT_MODULE_NAME[7]="scst_changer" +BUILT_MODULE_LOCATION[7]="scst/src/dev_handlers" +DEST_MODULE_LOCATION[7]="/extra/dev_handlers" +BUILT_MODULE_NAME[8]="scst_disk" +BUILT_MODULE_LOCATION[8]="scst/src/dev_handlers" +DEST_MODULE_LOCATION[8]="/extra/dev_handlers" +BUILT_MODULE_NAME[9]="scst_modisk" +BUILT_MODULE_LOCATION[9]="scst/src/dev_handlers" +DEST_MODULE_LOCATION[9]="/extra/dev_handlers" +BUILT_MODULE_NAME[10]="scst_processor" +BUILT_MODULE_LOCATION[10]="scst/src/dev_handlers" +DEST_MODULE_LOCATION[10]="/extra/dev_handlers" +BUILT_MODULE_NAME[11]="scst_raid" +BUILT_MODULE_LOCATION[11]="scst/src/dev_handlers" +DEST_MODULE_LOCATION[11]="/extra/dev_handlers" +BUILT_MODULE_NAME[12]="scst_tape" +BUILT_MODULE_LOCATION[12]="scst/src/dev_handlers" +DEST_MODULE_LOCATION[12]="/extra/dev_handlers" +BUILT_MODULE_NAME[13]="scst_user" +BUILT_MODULE_LOCATION[13]="scst/src/dev_handlers" +DEST_MODULE_LOCATION[13]="/extra/dev_handlers" +BUILT_MODULE_NAME[14]="scst_vdisk" +BUILT_MODULE_LOCATION[14]="scst/src/dev_handlers" +DEST_MODULE_LOCATION[14]="/extra/dev_handlers" +BUILT_MODULE_NAME[15]="scst_local" +BUILT_MODULE_LOCATION[15]="scst_local" +DEST_MODULE_LOCATION[15]="/extra" +BUILT_MODULE_NAME[16]="ib_srpt" +BUILT_MODULE_LOCATION[16]="srpt/src" +DEST_MODULE_LOCATION[16]="/extra" diff --git a/debian/scst.install b/debian/scst.install new file mode 100644 index 000000000..f24e80a24 --- /dev/null +++ b/debian/scst.install @@ -0,0 +1 @@ +lib/modules/ diff --git a/debian/scst.postinst b/debian/scst.postinst new file mode 100644 index 000000000..0bd779962 --- /dev/null +++ b/debian/scst.postinst @@ -0,0 +1,41 @@ +#!/bin/sh +# postinst script for scst +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + mkdir -p /var/lib/scst/pr + mkdir -p /var/lib/scst/vdev_mode_pages + depmod;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/scst.preinst b/debian/scst.preinst new file mode 100644 index 000000000..4d5af2eaf --- /dev/null +++ b/debian/scst.preinst @@ -0,0 +1,47 @@ +#!/bin/sh +# preinst script for scst +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + install) + # Remove any existing ib_srpt.ko kernel modules + find "/lib/modules/$(uname -r)" -name ib_srpt.ko -exec rm {} \; + # 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 + ;; + + upgrade) + ;; + + abort-upgrade) + ;; + + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/scstadmin.install b/debian/scstadmin.install new file mode 100644 index 000000000..f1d5a2822 --- /dev/null +++ b/debian/scstadmin.install @@ -0,0 +1,8 @@ +etc/init.d/scst +usr/sbin/scstadmin +usr/share/perl/*/SCST/SCST.pm +usr/lib/*/perl/*/auto/SCST_SCST +usr/share/man/man3/SCST::SCST.3pm* +usr/share/man/man1/scstadmin.1* +usr/share/man/man5/scst.5* +usr/share/man/man5/scst.conf.5* diff --git a/debian/scstadmin.postinst b/debian/scstadmin.postinst new file mode 100644 index 000000000..ae3e5ca56 --- /dev/null +++ b/debian/scstadmin.postinst @@ -0,0 +1,39 @@ +#!/bin/sh +# postinst script for scstadmin +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + update-rc.d scst defaults;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/scstadmin.prerm b/debian/scstadmin.prerm new file mode 100644 index 000000000..499122f41 --- /dev/null +++ b/debian/scstadmin.prerm @@ -0,0 +1,32 @@ +#!/bin/sh +# prerm script for scst +# +# see: dh_installdeb(1) + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +case "$1" in + remove|upgrade|deconfigure) + update-rc.d scst remove;; + + failed-upgrade) + ;; + + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 000000000..163aaf8d8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt)