Keep RPM artifact creation, archive generation, package release preparation
and version updates in one directory. Switch all component archive targets,
the top-level RPM target and the RPM workflow to the relocated helpers.
Point archive generation at the shared source inventory in source/ while
preserving its caller-directory semantics and the existing package inputs.
The scst_user specification copies ioctl structures and command payloads
that predate several ABI extensions. Building a handler from those
layouts can select the wrong union member, alignment or completion path.
Commit 3fc775c75a ("EXTENDED COPY support") added remapping payloads.
Commit daee4dcb7e ("WRITE SAME command improvements") added WRITE
SAME descriptors. Commit d1bd22afd9 ("scst_user: avoid global locks")
left the explicit unregister ioctl as an obsolete no-op.
Use scst/include/scst_user.h and scst_user.c as the producer-side
source of truth. Synchronize registration, command, reply and subcommand
layouts, version checks, reserved fields and ioctl rules.
Update the fileio_tgt, stpgd and event guides from current code. Make
live-storage and event-consumption risks explicit.
Move the build_mode file from the top level into the scst directory. Write
build mode defines into scst/include/build_mode.h and include that file
directly or indirectly in all source files that depend on these #defines.
This approach has the advantage that "make clean" does no longer has to
be run when switching between build modes because the kernel build system
recognizes build_mode.h as a dependency and triggers a rebuild of all
source files that directly or indirectly include the build_mode.h header
file.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8347 d57e44dd-8a1f-0410-8b47-8ef2f437770f
When DESTDIR is a relative path, make install fails to install
`scst_on_stpg` for not having created `$(DESTDIR)$(PREFIX)/bin/scst`.
When DESTDIR is an absolute path, make install doesn't fail to install
`scst_on_stpg` because usr/fileio has already created the directory.
usr/stpgd should explicitly create `$(DESTDIR)$(PREFIX)/bin/scst`
so that it can handle a relative DESTDIR, plus be independent of
usr/fileio installation.
--
# cd usr
# make install DESTDIR=./aaa
cd fileio && make install
make[1]: Entering directory '/tmp/scst/usr/fileio'
install -d ./aaa/usr/local/bin/scst
install -m 755 fileio_tgt ./aaa/usr/local/bin/scst
make[1]: Leaving directory '/tmp/scst/usr/fileio'
cd stpgd && make install
make[1]: Entering directory '/tmp/scst/usr/stpgd'
install -d ./aaa/usr/local/sbin
install -m 700 stpgd ./aaa/usr/local/sbin
install -m 700 scst_on_stpg ./aaa/usr/local/bin/scst/scst_on_stpg
install: cannot create regular file './aaa/usr/local/bin/scst/scst_on_stpg': No such file or directory
Makefile:60: recipe for target 'install' failed
make[1]: *** [install] Error 1
make[1]: Leaving directory '/tmp/scst/usr/stpgd'
Makefile:32: recipe for target 'install' failed
make: *** [install] Error 2
Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@osnexus.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7403 d57e44dd-8a1f-0410-8b47-8ef2f437770f