* [gentoo-commits] proj/genkernel:master commit in: /, defaults/, gkbuilds/, patches/multipath-tools/0.8.0/
@ 2019-07-14 13:00 Thomas Deutschmann
0 siblings, 0 replies; only message in thread
From: Thomas Deutschmann @ 2019-07-14 13:00 UTC (permalink / raw
To: gentoo-commits
commit: 7ce2716d901d834c375b5a24c928a7ce33ba0653
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 14 09:49:51 2019 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun Jul 14 11:58:17 2019 +0000
URL: https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=7ce2716d
Rework --multipath support
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
defaults/initrd.scripts | 4 +-
defaults/software.sh | 21 +++
gen_cmdline.sh | 12 --
gen_determineargs.sh | 5 +
gen_initramfs.sh | 43 +++---
gkbuilds/eudev.gkbuild | 46 ++++++
gkbuilds/multipath-tools.gkbuild | 62 ++++++++
gkbuilds/userspace-rcu.gkbuild | 17 +++
.../multipath-tools-0.7.5-respect-flags.patch | 19 +++
.../multipath-tools-0.8.0-respect-sysroot.patch | 55 +++++++
.../0.8.0/multipath-tools-0.8.0-static-libs.patch | 159 +++++++++++++++++++++
11 files changed, 407 insertions(+), 36 deletions(-)
diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index be76a4d..fc9045d 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1198,16 +1198,18 @@ start_volumes() {
good_msg "Scanning for multipath devices"
good_msg ":: Populating scsi_id info for libudev queries"
mkdir -p /run/udev/data
+
+ local ech
for ech in /sys/block/*
do
local tgtfile=b$(cat ${ech}/dev)
/lib/udev/scsi_id -g -x /dev/${ech##*/} |sed -e 's/^/E:/' >/run/udev/data/${tgtfile}
done
+
${multipath_path} -v 0
sleep 2
good_msg "Activating multipath devices"
${dmsetup_path} ls --target multipath --exec "${kpartx_path} -a -v"
- #for MULTIPATH_VOLUMES in /dev/mapper/*; do ${kpartx_path} -a ${MULTIPATH_VOLUMES}; done
fi
fi
diff --git a/defaults/software.sh b/defaults/software.sh
index cecad69..acf5439 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -37,6 +37,13 @@ GKPKG_DROPBEAR_SRCTAR="${GKPKG_DROPBEAR_SRCTAR:-${DISTDIR}/dropbear-${GKPKG_DROP
GKPKG_DROPBEAR_SRCDIR="${GKPKG_DROPBEAR_SRCDIR:-dropbear-${GKPKG_DROPBEAR_PV}}"
GKPKG_DROPBEAR_BINPKG="${GKPKG_DROPBEAR_BINPKG:-%%CACHE%%/dropbear-${GKPKG_DROPBEAR_PV}-%%ARCH%%.tar.xz}"
+GKPKG_EUDEV_PN="eudev"
+GKPKG_EUDEV_PV="${GKPKG_EUDEV_PV:-VERSION_EUDEV}"
+GKPKG_EUDEV_DEPS=""
+GKPKG_EUDEV_SRCTAR="${GKPKG_EUDEV_SRCTAR:-${DISTDIR}/eudev-${GKPKG_EUDEV_PV}.tar.gz}"
+GKPKG_EUDEV_SRCDIR="${GKPKG_EUDEV_SRCDIR:-eudev-${GKPKG_EUDEV_PV}}"
+GKPKG_EUDEV_BINPKG="${GKPKG_EUDEV_BINPKG:-%%CACHE%%/eudev-${GKPKG_EUDEV_PV}-%%ARCH%%.tar.xz}"
+
GKPKG_E2FSPROGS_PN="e2fsprogs"
GKPKG_E2FSPROGS_PV="${GKPKG_E2FSPROGS_PV:-VERSION_E2FSPROGS}"
GKPKG_E2FSPROGS_DEPS="util-linux"
@@ -107,6 +114,13 @@ GKPKG_MDADM_SRCDIR="${GKPKG_MDADM_SRCDIR:-mdadm-${GKPKG_MDADM_PV}}"
GKPKG_MDADM_SRCTAR="${GKPKG_MDADM_SRCTAR:-${DISTDIR}/mdadm-${GKPKG_MDADM_PV}.tar.xz}"
GKPKG_MDADM_BINPKG="${GKPKG_MDADM_BINPKG:-%%CACHE%%/mdadm-${GKPKG_MDADM_PV}-%%ARCH%%.tar.xz}"
+GKPKG_MULTIPATH_TOOLS_PN="multipath-tools"
+GKPKG_MULTIPATH_TOOLS_PV="${GKPKG_MULTIPATH_TOOLS_PV:-VERSION_MULTIPATH_TOOLS}"
+GKPKG_MULTIPATH_TOOLS_DEPS="json-c libaio userspace-rcu eudev lvm"
+GKPKG_MULTIPATH_TOOLS_SRCTAR="${GKPKG_MULTIPATH_TOOLS_SRCTAR:-${DISTDIR}/multipath-tools-${GKPKG_MULTIPATH_TOOLS_PV}.tar.gz}"
+GKPKG_MULTIPATH_TOOLS_SRCDIR="${GKPKG_MULTIPATH_TOOLS_SRCDIR:-multipath-tools-${GKPKG_MULTIPATH_TOOLS_PV}-eb688e1}"
+GKPKG_MULTIPATH_TOOLS_BINPKG="${GKPKG_MULTIPATH_TOOLS_BINPKG:-%%CACHE%%/multipath-tools-${GKPKG_MULTIPATH_TOOLS_PV}-%%ARCH%%.tar.xz}"
+
GKPKG_POPT_PN="popt"
GKPKG_POPT_PV="${GKPKG_POPT_PV:-VERSION_POPT}"
GKPKG_POPT_DEPS=""
@@ -121,6 +135,13 @@ GKPKG_UNIONFS_FUSE_SRCDIR="${GKPKG_UNIONFS_FUSE_SRCDIR:-unionfs-fuse-${GKPKG_UNI
GKPKG_UNIONFS_FUSE_SRCTAR="${GKPKG_UNIONFS_FUSE_SRCTAR:-${DISTDIR}/unionfs-fuse-${GKPKG_UNIONFS_FUSE_PV}.tar.gz}"
GKPKG_UNIONFS_FUSE_BINPKG="${GKPKG_UNIONFS_FUSE_BINPKG:-%%CACHE%%/unionfs-fuse-${GKPKG_UNIONFS_FUSE_PV}-%%ARCH%%.tar.xz}"
+GKPKG_USERSPACE_RCU_PN="userspace-rcu"
+GKPKG_USERSPACE_RCU_PV="${GKPKG_USERSPACE_RCU_PV:-VERSION_USERSPACE_RCU}"
+GKPKG_USERSPACE_RCU_DEPS=""
+GKPKG_USERSPACE_RCU_SRCTAR="${GKPKG_USERSPACE_RCU_SRCTAR:-${DISTDIR}/userspace-rcu-${GKPKG_USERSPACE_RCU_PV}.tar.bz2}"
+GKPKG_USERSPACE_RCU_SRCDIR="${GKPKG_USERSPACE_RCU_SRCDIR:-userspace-rcu-${GKPKG_USERSPACE_RCU_PV}}"
+GKPKG_USERSPACE_RCU_BINPKG="${GKPKG_USERSPACE_RCU_BINPKG:-%%CACHE%%/userspace-rcu-${GKPKG_USERSPACE_RCU_PV}-%%ARCH%%.tar.xz}"
+
GKPKG_UTIL_LINUX_PN="util-linux"
GKPKG_UTIL_LINUX_PV="${GKPKG_UTIL_LINUX_PV:-VERSION_UTIL_LINUX}"
GKPKG_UTIL_LINUX_DEPS=""
diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index 5a1b481..ec5a5bc 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -399,18 +399,6 @@ parse_cmdline() {
;;
--multipath|--no-multipath)
CMD_MULTIPATH=$(parse_optbool "$*")
- if isTrue "${CMD_MULTIPATH}" && [ ! -e /sbin/multipath ]
- then
- echo 'Error: --multipath requires sys-fs/multipath-tools' \
- 'to be installed on the host system.'
- exit 1
- fi
- if isTrue "${CMD_MULTIPATH}" && [ ! -e /usr/include/libdevmapper.h ]
- then
- echo 'Error: --multipath requires sys-fs/lvm2' \
- 'to be installed on the host system.'
- exit 1
- fi
print_info 2 "CMD_MULTIPATH: ${CMD_MULTIPATH}"
;;
--bootloader=*)
diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index a698f77..7d01565 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -415,6 +415,11 @@ determine_real_args() {
then
gen_die "--do-keymap-auto requires --keymap but --no-keymap is set!"
fi
+
+ if isTrue "${MULTIPATH}" && ! isTrue "${LVM}"
+ then
+ gen_die "--multipath requires --lvm but --no-lvm is set!"
+ fi
fi
MICROCODE=${MICROCODE,,}
diff --git a/gen_initramfs.sh b/gen_initramfs.sh
index 26b2ea3..c4e9bdb 100755
--- a/gen_initramfs.sh
+++ b/gen_initramfs.sh
@@ -350,43 +350,40 @@ append_unionfs_fuse() {
# rm -r "${TEMP}/initramfs-suspend-temp/"
#}
-append_multipath(){
- if [ -d "${TEMP}/initramfs-multipath-temp" ]
+append_multipath() {
+ local PN=multipath-tools
+ local TDIR="${TEMP}/initramfs-${PN}-temp"
+ if [ -d "${TDIR}" ]
then
- rm -r "${TEMP}/initramfs-multipath-temp"
+ rm -r "${TDIR}" || gen_die "Failed to clean out existing '${TDIR}'!"
fi
- print_info 1 "$(getIndent 2)Multipath: Adding support (using system binaries)..."
- mkdir -p "${TEMP}"/initramfs-multipath-temp/{bin,etc,sbin,lib}/
- # Copy files
- copy_binaries "${TEMP}/initramfs-multipath-temp" \
- /bin/mountpoint \
- /sbin/{multipath,kpartx,dmsetup} \
- /{lib,lib64}/{udev/scsi_id,multipath/*so}
+ populate_binpkg ${PN}
+
+ mkdir -p "${TDIR}"/etc || gen_die "Failed to create '${TDIR}/etc'!"
- # Support multipath-tools-0.4.8 and previous
- if [ -x /sbin/mpath_prio_* ]
- then
- copy_binaries "${TEMP}/initramfs-multipath-temp" \
- /sbin/mpath_prio_*
- fi
+ unpack "$(get_gkpkg_binpkg "${PN}")" "${TDIR}"
+
+ cd "${TDIR}" || gen_die "Failed to chdir to '${TDIR}'!"
if [ -x /sbin/multipath ]
then
- cp /etc/multipath.conf "${TEMP}/initramfs-multipath-temp/etc/" || gen_die 'could not copy /etc/multipath.conf please check this'
+ cp -aL /etc/multipath.conf "${TDIR}"/etc/multipath.conf 2>/dev/null \
+ || gen_die "Failed to copy '/etc/multipath.conf'!"
fi
+
# /etc/scsi_id.config does not exist in newer udevs
# copy it optionally.
- if [ -x /sbin/scsi_id -a -f /etc/scsi_id.config ]
+ if [ -f /etc/scsi_id.config ]
then
- cp /etc/scsi_id.config "${TEMP}/initramfs-multipath-temp/etc/" || gen_die 'could not copy scsi_id.config'
+ cp -aL /etc/scsi_id.config "${TDIR}"/etc/scsi_id.config 2>/dev/null \
+ || gen_die "Failed to copy '/etc/scsi_id.config'!"
fi
- cd "${TEMP}/initramfs-multipath-temp"
+
+ cd "${TDIR}" || gen_die "Failed to chdir to '${TDIR}'!"
log_future_cpio_content
find . -print | cpio ${CPIO_ARGS} --append -F "${CPIO}" \
- || gen_die "compressing multipath cpio"
- cd "${TEMP}"
- rm -r "${TEMP}/initramfs-multipath-temp/"
+ || gen_die "Failed to append ${PN} to cpio!"
}
append_dmraid() {
diff --git a/gkbuilds/eudev.gkbuild b/gkbuilds/eudev.gkbuild
new file mode 100644
index 0000000..26dc8b2
--- /dev/null
+++ b/gkbuilds/eudev.gkbuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's/scsi_id_LDADD = \\/scsi_id_LDADD = -all-static \\/' \
+ src/scsi_id/Makefile.in \
+ || die "Failed to add '-all-static' for scsi_id program!"
+}
+
+src_configure() {
+ export cc_cv_CFLAGS__flto=no
+
+ local myconf=(
+ ac_cv_search_cap_init=
+ ac_cv_header_sys_capability_h=yes
+ DBUS_CFLAGS=' '
+ DBUS_LIBS=' '
+ --enable-split-usr
+ --disable-manpages
+ --disable-hwdb
+ --enable-static
+ --disable-introspection
+ --disable-kmod
+ --disable-selinux
+ --disable-rule-generator
+ )
+
+ gkconf "${myconf[@]}"
+}
+
+src_install() {
+ default
+
+ "${STRIP}" --strip-all "${D}"/usr/lib/udev/*_id \
+ || die "Failed to strip '${D}/usr/lib/udev/*_id' programs!"
+
+ rm -rf \
+ "${D}"/etc \
+ "${D}"/sbin \
+ "${D}"/usr/bin \
+ "${D}"/usr/sbin \
+ "${D}"/usr/share
+}
diff --git a/gkbuilds/multipath-tools.gkbuild b/gkbuilds/multipath-tools.gkbuild
new file mode 100644
index 0000000..b2c7bd9
--- /dev/null
+++ b/gkbuilds/multipath-tools.gkbuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e '/libmpathpersist \\/d' \
+ -e '/multipathd \\/d' \
+ -e '/mpathpersist \\/d' \
+ Makefile || die "Failed to disable unneeded components!"
+}
+
+src_compile() {
+ local MYMAKEOPTS=( "V=1" )
+ MYMAKEOPTS+=( "sysroot='${BROOT}'" )
+ MYMAKEOPTS+=( "ENABLE_LIBDMMP=0" )
+ gkmake "${MYMAKEOPTS[@]}"
+}
+
+src_install() {
+ mkdir "${D}"/sbin || die "Failed to create '${D}/sbin'!"
+
+ cp -a multipath/multipath "${D}"/sbin/ \
+ || die "Failed to copy '${S}/multipath/multipath' to '${D}/sbin/'!"
+
+ "${STRIP}" --strip-all "${D}"/sbin/multipath \
+ || die "Failed to strip '${D}/sbin/multipath'!"
+
+ cp -a kpartx/kpartx "${D}"/sbin/ \
+ || die "Failed to copy '${S}/kpartx/kpartx' to '${D}/sbin/'!"
+
+ "${STRIP}" --strip-all "${D}"/sbin/kpartx \
+ || die "Failed to strip '${D}/sbin/kpartx'!"
+
+ mkdir -p "${D}"/lib/multipath || die "Failed to create '${D}/lib/multipath'!"
+
+ local -a CHECKERS
+ CHECKERS+=( 'libcheckcciss_tur.so' )
+ CHECKERS+=( 'libcheckdirectio.so' )
+ CHECKERS+=( 'libcheckemc_clariion.so' )
+ CHECKERS+=( 'libcheckhp_sw.so' )
+ CHECKERS+=( 'libcheckrdac.so' )
+ CHECKERS+=( 'libcheckreadsector0.so' )
+ CHECKERS+=( 'libchecktur.so' )
+
+ local checker_lib=
+ for checker_lib in "${CHECKERS[@]}"
+ do
+ cp -a libmultipath/checkers/${checker_lib} "${D}"/lib/multipath/ \
+ || die "Failed to copy checker '${S}/libmultipath/checkers/${checker_lib}' to '${D}/lib/multipath/${checker_lib}'!"
+
+ "${STRIP}" --strip-all "${D}"/lib/multipath/${checker_lib} \
+ || die "Failed to strip '${D}/lib/multipath/${checker_lib}'!"
+ done
+
+ # Copy file from eudev package into multipath-tools binpkg ...
+ mkdir -p "${D}"/lib/udev || die "Failed to create '${D}/lib/udev'!"
+
+ cp -a "${BROOT}"/usr/lib/udev/scsi_id "${D}"/lib/udev/ \
+ || die "Failed to copy '${BROOT}/usr/lib/udev/scsi_id' to '${D}/lib/udev/'!"
+}
diff --git a/gkbuilds/userspace-rcu.gkbuild b/gkbuilds/userspace-rcu.gkbuild
new file mode 100644
index 0000000..e214039
--- /dev/null
+++ b/gkbuilds/userspace-rcu.gkbuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+src_configure() {
+ local myconf=(
+ --enable-shared
+ --enable-static
+ )
+
+ gkconf "${myconf[@]}"
+}
+
+src_install() {
+ default
+
+ rm -rf "${D}"/usr/share
+}
diff --git a/patches/multipath-tools/0.8.0/multipath-tools-0.7.5-respect-flags.patch b/patches/multipath-tools/0.8.0/multipath-tools-0.7.5-respect-flags.patch
new file mode 100644
index 0000000..fef55ce
--- /dev/null
+++ b/patches/multipath-tools/0.8.0/multipath-tools-0.7.5-respect-flags.patch
@@ -0,0 +1,19 @@
+--- multipath-tools-0.7.5/Makefile.inc
++++ multipath-tools-0.7.5/Makefile.inc
+@@ -91,12 +91,13 @@
+ -Wp,-D_FORTIFY_SOURCE=2 $(STACKPROT) \
+ --param=ssp-buffer-size=4
+
+-CFLAGS := $(OPTFLAGS) -DBIN_DIR=\"$(bindir)\" -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" \
+- -MMD -MP $(CFLAGS)
++CFLAGS ?= $(OPTFLAGS)
++CFLAGS += -DBIN_DIR=\"$(bindir)\" -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" \
++ -MMD -MP
+ BIN_CFLAGS = -fPIE -DPIE
+ LIB_CFLAGS = -fPIC
+ SHARED_FLAGS = -shared
+-LDFLAGS = -Wl,-z,relro -Wl,-z,now
++LDFLAGS += -Wl,-z,relro -Wl,-z,now
+ BIN_LDFLAGS = -pie
+
+ # Check whether a function with name $1 has been declared in header file $2.
diff --git a/patches/multipath-tools/0.8.0/multipath-tools-0.8.0-respect-sysroot.patch b/patches/multipath-tools/0.8.0/multipath-tools-0.8.0-respect-sysroot.patch
new file mode 100644
index 0000000..66ac85e
--- /dev/null
+++ b/patches/multipath-tools/0.8.0/multipath-tools-0.8.0-respect-sysroot.patch
@@ -0,0 +1,55 @@
+diff --git a/Makefile.inc b/Makefile.inc
+index fc728ca..825166f 100644
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -45,7 +45,8 @@ ifndef SYSTEMDPATH
+ SYSTEMDPATH=usr/lib
+ endif
+
+-prefix =
++sysroot ?=
++prefix ?=
+ exec_prefix = $(prefix)
+ usr_prefix = $(prefix)
+ bindir = $(exec_prefix)/sbin
+diff --git a/kpartx/Makefile b/kpartx/Makefile
+index 7eb467e..0a3827b 100644
+--- a/kpartx/Makefile
++++ b/kpartx/Makefile
+@@ -8,7 +8,7 @@ LDFLAGS += $(BIN_LDFLAGS)
+
+ LIBDEPS += -ldevmapper
+
+-ifneq ($(call check_func,dm_task_set_cookie,/usr/include/libdevmapper.h),0)
++ifneq ($(call check_func,dm_task_set_cookie,$(sysroot)/usr/include/libdevmapper.h),0)
+ CFLAGS += -DLIBDM_API_COOKIE
+ endif
+
+diff --git a/libmultipath/Makefile b/libmultipath/Makefile
+index a2be42e..becaef3 100644
+--- a/libmultipath/Makefile
++++ b/libmultipath/Makefile
+@@ -20,19 +20,19 @@ ifdef SYSTEMD
+ endif
+ endif
+
+-ifneq ($(call check_func,dm_task_no_flush,/usr/include/libdevmapper.h),0)
++ifneq ($(call check_func,dm_task_no_flush,$(sysroot)/usr/include/libdevmapper.h),0)
+ CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE
+ endif
+
+-ifneq ($(call check_func,dm_task_set_cookie,/usr/include/libdevmapper.h),0)
++ifneq ($(call check_func,dm_task_set_cookie,$(sysroot)/usr/include/libdevmapper.h),0)
+ CFLAGS += -DLIBDM_API_COOKIE
+ endif
+
+-ifneq ($(call check_func,udev_monitor_set_receive_buffer_size,/usr/include/libudev.h),0)
++ifneq ($(call check_func,udev_monitor_set_receive_buffer_size,$(sysroot)/usr/include/libudev.h),0)
+ CFLAGS += -DLIBUDEV_API_RECVBUF
+ endif
+
+-ifneq ($(call check_func,dm_task_deferred_remove,/usr/include/libdevmapper.h),0)
++ifneq ($(call check_func,dm_task_deferred_remove,$(sysroot)/usr/include/libdevmapper.h),0)
+ CFLAGS += -DLIBDM_API_DEFERRED
+ endif
+
diff --git a/patches/multipath-tools/0.8.0/multipath-tools-0.8.0-static-libs.patch b/patches/multipath-tools/0.8.0/multipath-tools-0.8.0-static-libs.patch
new file mode 100644
index 0000000..c29d8b6
--- /dev/null
+++ b/patches/multipath-tools/0.8.0/multipath-tools-0.8.0-static-libs.patch
@@ -0,0 +1,159 @@
+diff --git a/Makefile.inc b/Makefile.inc
+index 76c81fc..6f3bc6d 100644
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -101,7 +101,7 @@ BIN_CFLAGS = -fPIE -DPIE
+ LIB_CFLAGS = -fPIC
+ SHARED_FLAGS = -shared
+ LDFLAGS += -Wl,-z,relro -Wl,-z,now
+-BIN_LDFLAGS = -pie
++BIN_LDFLAGS = -pie -static
+
+ # Check whether a function with name $1 has been declared in header file $2.
+ check_func = $(shell \
+diff --git a/kpartx/Makefile b/kpartx/Makefile
+index 0a3827b..f26101d 100644
+--- a/kpartx/Makefile
++++ b/kpartx/Makefile
+@@ -6,7 +6,7 @@ include ../Makefile.inc
+ CFLAGS += $(BIN_CFLAGS) -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
+ LDFLAGS += $(BIN_LDFLAGS)
+
+-LIBDEPS += -ldevmapper
++LIBDEPS += -ldevmapper -lm -lpthread
+
+ ifneq ($(call check_func,dm_task_set_cookie,$(sysroot)/usr/include/libdevmapper.h),0)
+ CFLAGS += -DLIBDM_API_COOKIE
+diff --git a/libmpathcmd/Makefile b/libmpathcmd/Makefile
+index 0f6b816..2fb81e4 100644
+--- a/libmpathcmd/Makefile
++++ b/libmpathcmd/Makefile
+@@ -1,19 +1,23 @@
+ include ../Makefile.inc
+
++LIBNAME = libmpathcmd
+ SONAME = 0
+-DEVLIB = libmpathcmd.so
++DEVLIB = $(LIBNAME).so
+ LIBS = $(DEVLIB).$(SONAME)
+
+ CFLAGS += $(LIB_CFLAGS)
+
+ OBJS = mpath_cmd.o
+
+-all: $(LIBS)
++all: $(LIBS) $(LIBNAME).a
+
+ $(LIBS): $(OBJS)
+ $(CC) $(LDFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ -o $@ $(OBJS) $(LIBDEPS)
+ $(LN) $@ $(DEVLIB)
+
++$(LIBNAME).a: $(OBJS) $(LIBDEPS)
++ $(AR) $(ARFLAGS) $@ $^
++
+ install: $(LIBS)
+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(syslibdir)
+ $(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(syslibdir)/$(LIBS)
+diff --git a/libmpathpersist/Makefile b/libmpathpersist/Makefile
+index 21fdad8..647176f 100644
+--- a/libmpathpersist/Makefile
++++ b/libmpathpersist/Makefile
+@@ -6,7 +6,7 @@ LIBS = $(DEVLIB).$(SONAME)
+
+ CFLAGS += $(LIB_CFLAGS) -I$(multipathdir) -I$(mpathpersistdir) -I$(mpathcmddir)
+
+-LIBDEPS += -lpthread -ldevmapper -ldl -L$(multipathdir) -lmultipath \
++LIBDEPS += -lm -lpthread -ldevmapper -ldl -L$(multipathdir) -lmultipath \
+ -L$(mpathcmddir) -lmpathcmd
+
+ OBJS = mpath_persist.o mpath_updatepr.o mpath_pr_ioctl.o
+diff --git a/libmultipath/Makefile b/libmultipath/Makefile
+index becaef3..5d3a09c 100644
+--- a/libmultipath/Makefile
++++ b/libmultipath/Makefile
+@@ -3,13 +3,14 @@
+ #
+ include ../Makefile.inc
+
++LIBNAME = libmultipath
+ SONAME = 0
+-DEVLIB = libmultipath.so
++DEVLIB = $(LIBNAME).so
+ LIBS = $(DEVLIB).$(SONAME)
+
+ CFLAGS += $(LIB_CFLAGS) -I$(mpathcmddir) -I$(mpathpersistdir) -I$(nvmedir)
+
+-LIBDEPS += -lpthread -ldl -ldevmapper -ludev -L$(mpathcmddir) -lmpathcmd -lurcu -laio
++LIBDEPS += -lm -lpthread -ldl -ldevmapper -ludev -L$(mpathcmddir) -lmpathcmd -lurcu -laio
+
+ ifdef SYSTEMD
+ CFLAGS += -DUSE_SYSTEMD=$(SYSTEMD)
+@@ -45,7 +46,7 @@ OBJS = memory.o parser.o vector.o devmapper.o callout.o \
+ lock.o file.o wwids.o prioritizers/alua_rtpg.o prkey.o \
+ io_err_stat.o dm-generic.o generic.o foreign.o nvme-lib.o
+
+-all: $(LIBS)
++all: $(LIBS) $(LIBNAME).a
+
+ nvme-lib.o: nvme-lib.c nvme-ioctl.c nvme-ioctl.h
+ $(CC) $(CFLAGS) -Wno-unused-function -c -o $@ $<
+@@ -62,6 +63,9 @@ $(LIBS): $(OBJS)
+ $(CC) $(LDFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ -o $@ $(OBJS) $(LIBDEPS)
+ $(LN) $@ $(DEVLIB)
+
++$(LIBNAME).a: $(OBJS)
++ $(AR) $(ARFLAGS) $@ $^
++
+ install:
+ $(INSTALL_PROGRAM) -d $(DESTDIR)$(syslibdir)
+ $(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(syslibdir)/$(LIBS)
+diff --git a/libmultipath/log.c b/libmultipath/log.c
+index debd36d..03d54b5 100644
+--- a/libmultipath/log.c
++++ b/libmultipath/log.c
+@@ -91,7 +91,7 @@ void free_logarea (void)
+ return;
+ }
+
+-void log_close (void)
++void mpt_log_close (void)
+ {
+ free_logarea();
+ closelog();
+diff --git a/libmultipath/log.h b/libmultipath/log.h
+index 6551b5c..f0ed15c 100644
+--- a/libmultipath/log.h
++++ b/libmultipath/log.h
+@@ -32,7 +32,7 @@ struct logarea {
+ extern struct logarea* la;
+
+ int log_init (char * progname, int size);
+-void log_close (void);
++void mpt_log_close (void);
+ void log_reset (char * progname);
+ int log_enqueue (int prio, const char * fmt, va_list ap);
+ int log_dequeue (void *);
+diff --git a/libmultipath/log_pthread.c b/libmultipath/log_pthread.c
+index be57bb1..10f7228 100644
+--- a/libmultipath/log_pthread.c
++++ b/libmultipath/log_pthread.c
+@@ -131,5 +131,5 @@ void log_thread_stop (void)
+ pthread_mutex_destroy(&logev_lock);
+ pthread_cond_destroy(&logev_cond);
+
+- log_close();
++ mpt_log_close();
+ }
+diff --git a/multipath/Makefile b/multipath/Makefile
+index 0828a8f..8bd6ce4 100644
+--- a/multipath/Makefile
++++ b/multipath/Makefile
+@@ -6,7 +6,7 @@ include ../Makefile.inc
+ CFLAGS += $(BIN_CFLAGS) -I$(multipathdir) -I$(mpathcmddir)
+ LDFLAGS += $(BIN_LDFLAGS)
+ LIBDEPS += -L$(multipathdir) -lmultipath -L$(mpathcmddir) -lmpathcmd \
+- -lpthread -ldevmapper -ldl -ludev
++ -lpthread -ldevmapper -laio -ldl -ludev -lm
+
+ EXEC = multipath
+
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2019-07-14 13:00 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-07-14 13:00 [gentoo-commits] proj/genkernel:master commit in: /, defaults/, gkbuilds/, patches/multipath-tools/0.8.0/ Thomas Deutschmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox