Files
scst/debian/rules
Konstantin Kharlamov 93d07f966e debian: make sure depmod uses the correct version
By default it uses the currently running kernel, which is not necessary
the kernel the package was built for. Fix this by generating the path on
package creation stage.
2021-05-19 16:09:34 +03:00

110 lines
3.2 KiB
Makefile
Executable File

#!/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/')
# rules won't see variables unless they're using DEB_foo_SET syntax. So use that as
# an intermediary. Also, export variables for sub-makes to be able to see them.
export KVER=$(DEB_KVER_SET)
export KDIR=$(DEB_KDIR_SET)
%:
echo "*** dh $@ ***"
dh $@
clean:
dh_testdir && \
dh_prep -Xqla_isp/TAGS -Xdebian/changelog && \
scripts/clean-source-tree -x debian/changelog -x debian/compat -x debian/scst.preinst \
-x debian/scst.postinst
build:
make 2release && \
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 && \
make 2debug && \
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- && \
find $(DESTDIR) -type f -print0 | xargs -0 -r chmod 0644 && \
find $(DESTDIR) -type d -print0 | xargs -0 -r chmod 0755 && \
mv "$(DESTDIR)"/usr/man "$(DESTDIR)"/usr/share/man && \
dh_install && \
dh_installman && \
dh_installchangelogs && \
dh_compress && \
dh_fixperms && \
dh_strip && \
dh_makeshlibs && \
dh_shlibdeps && \
dh_installdeb && \
dh_gencontrol && \
dh_md5sums && \
dh_builddeb
binary-indep: install
binary-arch: install
binary: binary-indep binary-arch
override_dh_installinit:
dh_installinit --onlyscripts
override_dh_auto_configure:
true
.PHONY: clean binary binary-arch binary-indep build build-arch build-indep \
install