Makefile | 2 +- etc/iscsid.conf | 2 +- etc/systemd/iscsi-init.service.template | 2 +- etc/systemd/iscsi.tmpfiles | 2 ++ etc/systemd/iscsiuio.service.template | 1 + libopeniscsiusr/idbm.h | 2 +- libopeniscsiusr/iface.c | 2 +- libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h | 8 ++++---- libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h | 2 +- meson.build | 17 ++++++++++++++--- usr/Makefile | 2 +- usr/iface.h | 1 + usr/meson.build | 4 +++- utils/iscsi-gen-initiatorname.sh.template | 2 +- 14 files changed, 33 insertions(+), 16 deletions(-) diff --git a/Makefile b/Makefile index ce814a8..c5df933 100644 --- a/Makefile +++ b/Makefile @@ -19,7 +19,7 @@ HOMEDIR = $(etcdir)/iscsi DBROOT = $(etcdir)/iscsi RULESDIR = $(etcdir)/udev/rules.d -INSTALL = /usr/bin/install +INSTALL = install # pass these on to sub-Makefiles export DESTDIR prefix INSTALL SBINDIR HOMEDIR DBROOT RULESDIR ISCSI_VERSION_STR diff --git a/etc/iscsid.conf b/etc/iscsid.conf index ca29e43..75c8117 100644 --- a/etc/iscsid.conf +++ b/etc/iscsid.conf @@ -24,7 +24,7 @@ # iscsid.startup = /bin/systemctl start iscsid.socket # # Default if you are not using systemd. Uncomment to activate. -# iscsid.startup = /usr/bin/service start iscsid +# iscsid.startup = /bin/service start iscsid # Check for active mounts on devices reachable through a session # and refuse to logout if there are any. Defaults to "No". diff --git a/etc/systemd/iscsi-init.service.template b/etc/systemd/iscsi-init.service.template index 8f9a8aa..fea2380 100644 --- a/etc/systemd/iscsi-init.service.template +++ b/etc/systemd/iscsi-init.service.template @@ -16,4 +16,4 @@ WantedBy=systemd-remount-fs.service [Service] Type=oneshot RemainAfterExit=no -ExecStart=/usr/bin/sh -c 'echo "InitiatorName=`@SBINDIR@/iscsi-iname`" > /etc/iscsi/initiatorname.iscsi' +ExecStart=/bin/sh -c 'echo "InitiatorName=`@SBINDIR@/iscsi-iname`" > /etc/iscsi/initiatorname.iscsi' diff --git a/etc/systemd/iscsi.tmpfiles b/etc/systemd/iscsi.tmpfiles new file mode 100644 index 0000000..eab4fb2 --- /dev/null +++ b/etc/systemd/iscsi.tmpfiles @@ -0,0 +1,2 @@ +d /run/lock/iscsi 0700 root root - +f /run/lock/iscsi/lock 0600 root root - diff --git a/etc/systemd/iscsiuio.service.template b/etc/systemd/iscsiuio.service.template index 7c44f20..e6f5dd2 100644 --- a/etc/systemd/iscsiuio.service.template +++ b/etc/systemd/iscsiuio.service.template @@ -17,3 +17,4 @@ Restart=on-failure [Install] WantedBy=multi-user.target +Also=iscsiuio.socket diff --git a/libopeniscsiusr/idbm.h b/libopeniscsiusr/idbm.h index 8de5f13..549587f 100644 --- a/libopeniscsiusr/idbm.h +++ b/libopeniscsiusr/idbm.h @@ -31,7 +31,7 @@ #include "libopeniscsiusr/libopeniscsiusr_common.h" #ifndef ISCSI_DB_ROOT -#define ISCSI_DB_ROOT "/etc/iscsi" +#define ISCSI_DB_ROOT "/var/lib/iscsi" #endif #define IFACE_CONFIG_DIR ISCSI_DB_ROOT"/ifaces" diff --git a/libopeniscsiusr/iface.c b/libopeniscsiusr/iface.c index 645e177..d48c24d 100644 --- a/libopeniscsiusr/iface.c +++ b/libopeniscsiusr/iface.c @@ -409,7 +409,7 @@ int iscsi_default_iface_setup(struct iscsi_context *ctx) _good(_iscsi_hids_get(ctx, &hids, &hid_count), rc, out); for (i = 0; i < hid_count; ++i) { - /* Create /etc/iscsi/ifaces/ file if not found + /* Create /var/lib/iscsi/ifaces/ file if not found */ _good(_iscsi_ifaces_get_from_sysfs(ctx, hids[i], &ifaces, &iface_count), rc, out); diff --git a/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h b/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h index 948e129..325ead6 100644 --- a/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h +++ b/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr.h @@ -339,7 +339,7 @@ __DLL_EXPORT void iscsi_session_free(struct iscsi_session *se); * * bnx2i * * It will also create configuration files for iSCSI hardware offload cards in - * /etc/iscsi/ifaces/. + * /var/lib/iscsi/ifaces/. * * @ctx: * Pointer of 'struct iscsi_context'. @@ -369,7 +369,7 @@ __DLL_EXPORT int iscsi_default_iface_setup(struct iscsi_context *ctx); * Retrieves all iSCSI interfaces. For the properties of 'struct iscsi_iface', * please refer to the functions defined in 'libopeniscsiusr_iface.h' file. * The returned results contains default iSCSI interfaces(iser and iscsi_tcp) - * and iSCSI interfaces configured in "/etc/iscsi/ifaces/". + * and iSCSI interfaces configured in "/var/lib/iscsi/ifaces/". * Illegal configuration file will be skipped and warned. * To generate iSCSI interface configuration when new card installed, please * use iscsi_default_iface_setup(). @@ -427,7 +427,7 @@ __DLL_EXPORT void iscsi_ifaces_free(struct iscsi_iface **ifaces, * iscsi_iface_get() - Retrieve specified iSCSI interface. * * Retrieves specified iSCSI interfaces by reading configuration from - * "/etc/iscsi/iface/". + * "/var/lib/iscsi/iface/". * To generate iSCSI interface configuration when new card installed, please * use iscsi_default_iface_setup(). * Illegal configuration file will be treated as error LIBISCSI_ERR_IDBM. @@ -438,7 +438,7 @@ __DLL_EXPORT void iscsi_ifaces_free(struct iscsi_iface **ifaces, * If this pointer is NULL, your program will be terminated by assert. * @iface_name: * String. Name of iSCSI interface. Also the file name of configuration - * file "/etc/iscsi/iface/". + * file "/var/lib/iscsi/iface/". * If this pointer is NULL or empty string, your program will be terminated * by assert. * @iface: diff --git a/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h b/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h index c08c902..e0d6aed 100644 --- a/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h +++ b/libopeniscsiusr/libopeniscsiusr/libopeniscsiusr_iface.h @@ -182,7 +182,7 @@ __DLL_EXPORT const char *iscsi_iface_name_get(struct iscsi_iface *iface); * * Dump all configurations of specified iSCSI interface. Will skip empty * configuration so that output string could be saved directly to - * /etc/iscsi/ifaces/ file. + * /var/lib/iscsi/ifaces/ file. * * @iface: * Pointer of 'struct iscsi_iface'. diff --git a/meson.build b/meson.build index ede92f3..8557462 100644 --- a/meson.build +++ b/meson.build @@ -181,7 +181,7 @@ foreach a,v: test_arr endforeach # set up usr dependences and link args -usr_deps = [kmod_dep, crypto_dep, mount_dep, sysdeps_dep, fwparam_dep, libiscsi_usr_dep] +usr_deps = [kmod_dep, crypto_dep, mount_dep, sysdeps_dep, fwparam_dep] if not no_systemd usr_deps += systemd_dep endif @@ -194,12 +194,23 @@ if cc.find_library('isns', required: get_option('isns')).found() genl_cargs += '-DISNS_SUPPORTED' endif -# build iscsid, iscsiadm, and iscsistart +# build iscsid and iscsistart foreach k,v: iscsi_usr_arr executable(k, sources: v, include_directories: [usr_inc, main_inc, lib_inc], - dependencies: usr_deps, + dependencies: [usr_deps, libiscsi_usr_dep], + c_args: genl_cargs, + install: true, + install_dir: iscsi_sbindir) +endforeach + +# build iscsiadm +foreach k,v: iscsiadm_usr_arr + executable(k, + sources: v, + include_directories: [usr_inc, main_inc, lib_inc], + dependencies: [usr_deps, libiscsi_usr_dep], c_args: genl_cargs, install: true, install_dir: iscsi_sbindir) diff --git a/usr/Makefile b/usr/Makefile index 891ec4b..49cb861 100644 --- a/usr/Makefile +++ b/usr/Makefile @@ -6,7 +6,7 @@ endif INSTALL = install -DESTDR ?= +DESTDIR ?= SBINDIR ?= /sbin etcdir = /etc diff --git a/usr/iface.h b/usr/iface.h index 7e1e6a2..1139fc1 100644 --- a/usr/iface.h +++ b/usr/iface.h @@ -21,6 +21,7 @@ #define ISCSI_IFACE_H #include +#include "idbm.h" #define IFACE_CONFIG_DIR ISCSI_DB_ROOT"/ifaces" diff --git a/usr/meson.build b/usr/meson.build index b2bfe60..27ce3e3 100644 --- a/usr/meson.build +++ b/usr/meson.build @@ -52,5 +52,7 @@ iscsistart_src_files = files([iscsi_lib_srcs, initiator_srcs, iscsistart_srcs]) iscsi_usr_arr = { 'iscsid': iscsid_src_files, - 'iscsiadm': iscsiadm_src_files, 'iscsistart': iscsistart_src_files} + +iscsiadm_usr_arr = { + 'iscsiadm': iscsiadm_src_files} diff --git a/utils/iscsi-gen-initiatorname.sh.template b/utils/iscsi-gen-initiatorname.sh.template index 5c2bfdf..4d2b420 100644 --- a/utils/iscsi-gen-initiatorname.sh.template +++ b/utils/iscsi-gen-initiatorname.sh.template @@ -16,7 +16,7 @@ INAME_DIR="@HOMEDIR@" INAME_FILE="$INAME_DIR/initiatorname.iscsi" # our default IQN prefix -DEFAULT_IQN_PREFIX="iqn.1996-04.de.suse:01" +DEFAULT_IQN_PREFIX="iqn.2001-04.ru.alt:01" # # set up comments for initiatorname files using variables