* [gentoo-commits] proj/genkernel:master commit in: /, patches/dmraid/1.0.0.rc16-3/, gkbuilds/, defaults/
@ 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: 179e5b5c4e6b9869d5a0f0dab21b875ab3a5a0f3
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 14 09:25:09 2019 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun Jul 14 11:58:15 2019 +0000
URL: https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=179e5b5c
Rework --dmraid support
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
defaults/software.sh | 10 ++-
gen_cmdline.sh | 12 ---
gen_compile.sh | 55 ------------
gen_initramfs.sh | 46 +++++-----
gkbuilds/dmraid.gkbuild | 31 +++++++
...h => dmraid-1.0.0_rc16-001-undo-p-rename.patch} | 0
.../dmraid-1.0.0_rc16-002-return-all-sets.patch | 11 +++
...dmraid-1.0.0_rc16-003-static-build-fixes.patch} | 98 +++++++++++-----------
...atch => dmraid-1.0.0_rc16-004-staticlink.patch} | 0
...h => dmraid-1.0.0_rc16-005-parallel-make.patch} | 0
.../dmraid-1.0.0_rc16-return-all-sets.patch | 11 ---
11 files changed, 120 insertions(+), 154 deletions(-)
diff --git a/defaults/software.sh b/defaults/software.sh
index 9c6ba70..532c520 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -21,10 +21,12 @@ MDADM_DIR="${MDADM_DIR:-mdadm-${MDADM_VER}}"
MDADM_SRCTAR="${MDADM_SRCTAR:-${DISTDIR}/mdadm-${MDADM_VER}.tar.xz}"
MDADM_BINCACHE="${MDADM_BINCACHE:-%%CACHE%%/mdadm-${MDADM_VER}-%%ARCH%%.tar.bz2}"
-DMRAID_VER="${DMRAID_VER:-VERSION_DMRAID}"
-DMRAID_DIR="${DMRAID_DIR:-dmraid/${DMRAID_VER}/dmraid}"
-DMRAID_SRCTAR="${DMRAID_SRCTAR:-${DISTDIR}/dmraid-${DMRAID_VER}.tar.bz2}"
-DMRAID_BINCACHE="${DMRAID_BINCACHE:-%%CACHE%%/dmraid-${DMRAID_VER}-%%ARCH%%.tar.bz2}"
+GKPKG_DMRAID_PN="dmraid"
+GKPKG_DMRAID_PV="${GKPKG_DMRAID_PV:-VERSION_DMRAID}"
+GKPKG_DMRAID_DEPS="lvm"
+GKPKG_DMRAID_SRCDIR="${GKPKG_DMRAID_SRCDIR:-dmraid/${GKPKG_DMRAID_PV}/dmraid}"
+GKPKG_DMRAID_SRCTAR="${GKPKG_DMRAID_SRCTAR:-${DISTDIR}/dmraid-${GKPKG_DMRAID_PV}.tar.bz2}"
+GKPKG_DMRAID_BINPKG="${GKPKG_DMRAID_BINPKG:-%%CACHE%%/dmraid-${GKPKG_DMRAID_PV}-%%ARCH%%.tar.xz}"
GKPKG_DROPBEAR_PN="dropbear"
GKPKG_DROPBEAR_PV="${GKPKG_DROPBEAR_PV:-VERSION_DROPBEAR}"
diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index 0a1b1c8..5a1b481 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -379,18 +379,6 @@ parse_cmdline() {
;;
--dmraid|--no-dmraid)
CMD_DMRAID=$(parse_optbool "$*")
- if isTrue "${CMD_DMRAID}" && [ ! -e /usr/sbin/dmraid ]
- then
- echo 'Error: --dmraid requires sys-fs/dmraid' \
- 'to be installed on the host system.'
- exit 1
- fi
- if isTrue "${CMD_DMRAID}" && [ ! -e /usr/include/libdevmapper.h ]
- then
- echo 'Error: --dmraid requires sys-fs/lvm2' \
- 'to be installed on the host system.'
- exit 1
- fi
print_info 2 "CMD_DMRAID: ${CMD_DMRAID}"
;;
--e2fsprogs|--no-e2fsprogs)
diff --git a/gen_compile.sh b/gen_compile.sh
index 438a251..1c096cb 100755
--- a/gen_compile.sh
+++ b/gen_compile.sh
@@ -572,61 +572,6 @@ compile_mdadm() {
fi
}
-compile_dmraid() {
- compile_device_mapper
-
- if [[ -f "${DMRAID_BINCACHE}" && "${DMRAID_BINCACHE}" -nt "${LVM_BINCACHE}" ]]
- then
- print_info 1 "$(getIndent 2)dmraid: >> Using cache ..."
- else
- [ -f "${DMRAID_SRCTAR}" ] ||
- gen_die "Could not find DMRAID source tarball: ${DMRAID_SRCTAR}! Please place it there, or place another version, changing /etc/genkernel.conf as necessary!"
- cd "${TEMP}"
- rm -rf ${DMRAID_DIR} > /dev/null
- /bin/tar -xpf ${DMRAID_SRCTAR} ||
- gen_die 'Could not extract DMRAID source tarball!'
- [ -d "${DMRAID_DIR}" ] ||
- gen_die "DMRAID directory ${DMRAID_DIR} is invalid!"
-
- rm -rf "${TEMP}/lvm" > /dev/null
- mkdir -p "${TEMP}/lvm"
- /bin/tar -xpf "${LVM_BINCACHE}" -C "${TEMP}/lvm" ||
- gen_die "Could not extract LVM2 binary cache!";
-
- cd "${DMRAID_DIR}" || gen_die "cannot chdir into '${DMRAID_DIR}'"
- apply_patches dmraid ${DMRAID_VER}
-
- print_info 1 "$(getIndent 2)dmraid: >> Configuring ..."
- DEVMAPPEREVENT_CFLAGS="-I${TEMP}/lvm/include" \
- LIBS="-lm -lrt -lpthread" \
- ./configure --enable-static_link \
- --with-devmapper-prefix="${TEMP}/lvm" \
- --prefix=${TEMP}/dmraid >> ${LOGFILE} 2>&1 ||
- gen_die 'Configure of dmraid failed!'
-
- # We dont necessarily have selinux installed yet... look into
- # selinux global support in the future.
- sed -i tools/Makefile -e "/DMRAID_LIBS +=/s|-lselinux||g"
- ###echo "DMRAIDLIBS += -lselinux -lsepol" >> tools/Makefile
- mkdir -p "${TEMP}/dmraid"
- print_info 1 "$(getIndent 2)dmraid: >> Compiling ..."
- compile_generic '' utils
- #compile_generic 'install' utils
- mkdir ${TEMP}/dmraid/sbin
- install -m 0755 -s tools/dmraid "${TEMP}/dmraid/sbin/dmraid"
-
- print_info 1 "$(getIndent 2)dmraid: >> Copying to bincache ..."
- cd "${TEMP}/dmraid" || gen_die "cannot chdir into '${TEMP}/dmraid'"
- /bin/tar -cjf "${DMRAID_BINCACHE}" sbin/dmraid ||
- gen_die 'Could not create binary cache'
-
- cd "${TEMP}"
- isTrue "${CMD_DEBUGCLEANUP}" && rm -rf "${TEMP}/lvm" > /dev/null
- isTrue "${CMD_DEBUGCLEANUP}" && rm -rf "${DMRAID_DIR}" dmraid
- return 0
- fi
-}
-
determine_busybox_config_file() {
print_info 2 "$(get_indent 3)busybox: >> Checking for suitable busybox configuration ..."
diff --git a/gen_initramfs.sh b/gen_initramfs.sh
index 7b282d2..b15f1bf 100755
--- a/gen_initramfs.sh
+++ b/gen_initramfs.sh
@@ -389,33 +389,33 @@ append_multipath(){
rm -r "${TEMP}/initramfs-multipath-temp/"
}
-append_dmraid(){
- if [ -d "${TEMP}/initramfs-dmraid-temp" ]
- then
- rm -r "${TEMP}/initramfs-dmraid-temp/"
- fi
- print_info 1 "$(getIndent 2)DMRAID: Adding support (compiling binaries)..."
- compile_dmraid
- mkdir -p "${TEMP}/initramfs-dmraid-temp/"
- /bin/tar -xpf "${DMRAID_BINCACHE}" -C "${TEMP}/initramfs-dmraid-temp" ||
- gen_die "Could not extract dmraid binary cache!";
- [ -x /sbin/dmsetup -a -x /sbin/kpartx ] && copy_binaries \
- "${TEMP}/initramfs-dmraid-temp/" \
- /sbin/{kpartx,dmsetup}
- cd "${TEMP}/initramfs-dmraid-temp/"
- module_ext=$(modules_kext)
- RAID456=`find . -type f -name raid456${module_ext}`
- if [ -n "${RAID456}" ]
+append_dmraid() {
+ local PN=dmraid
+ local TDIR="${TEMP}/initramfs-${PN}-temp"
+ if [ -d "${TDIR}" ]
then
- cd "${RAID456/raid456${module_ext}/}"
- ln -sf raid456.kp $(basename ${RAID456})
- cd "${TEMP}/initramfs-dmraid-temp/"
+ rm -r "${TDIR}" || gen_die "Failed to clean out existing '${TDIR}'!"
fi
+
+ populate_binpkg ${PN}
+
+ mkdir "${TDIR}" || gen_die "Failed to create '${TDIR}'!"
+
+ unpack "$(get_gkpkg_binpkg "${PN}")" "${TDIR}"
+
+ cd "${TDIR}" || gen_die "Failed to chdir to '${TDIR}'!"
+
+ # Delete unneeded files
+ rm -rf \
+ usr/lib \
+ usr/share \
+ usr/include
+
+ mkdir -p "${TDIR}"/var/lock/dmraid || gen_die "Failed to create '${TDIR}/var/lock/dmraid'!"
+
log_future_cpio_content
find . -print | cpio ${CPIO_ARGS} --append -F "${CPIO}" \
- || gen_die "compressing dmraid cpio"
- cd "${TEMP}"
- rm -r "${TEMP}/initramfs-dmraid-temp/"
+ || gen_die "Failed to append dmraid to cpio!"
}
append_iscsi() {
diff --git a/gkbuilds/dmraid.gkbuild b/gkbuilds/dmraid.gkbuild
new file mode 100644
index 0000000..2c6810c
--- /dev/null
+++ b/gkbuilds/dmraid.gkbuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+src_prepare() {
+ # pkg_check_modules is not in aclocal.m4 by default, and autoreconf doesn't add it
+ cat /usr/share/aclocal/pkg.m4 >>"${S}"/aclocal.m4 \
+ || die "Failed to append '/usr/share/aclocal/pkg.m4' to '${S}/aclocal.m4'!"
+
+ default
+}
+
+src_configure() {
+ local myconf=(
+ --enable-static_link
+ )
+
+ gkconf "${myconf[@]}"
+}
+
+src_install() {
+ default
+
+ "${STRIP}" --strip-all "${D}"/usr/sbin/dmraid \
+ || die "Failed to strip '${D}/usr/sbin/dmraid'!"
+
+ # For backward compatibility
+ mkdir "${D}"/sbin || die "Failed to create '${D}/sbin'!"
+
+ ln -s ../usr/sbin/dmraid "${D}"/sbin/dmraid \
+ || die "Failed to create symlink '${D}/sbin/dmraid' to '${D}/usr/sbin/dmraid'!"
+}
diff --git a/patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-undo-p-rename.patch b/patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-001-undo-p-rename.patch
similarity index 100%
rename from patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-undo-p-rename.patch
rename to patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-001-undo-p-rename.patch
diff --git a/patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-002-return-all-sets.patch b/patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-002-return-all-sets.patch
new file mode 100644
index 0000000..4ac153a
--- /dev/null
+++ b/patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-002-return-all-sets.patch
@@ -0,0 +1,11 @@
+--- a/1.0.0.rc16-3/dmraid/lib/metadata/metadata.c
++++ b/1.0.0.rc16-3/dmraid/lib/metadata/metadata.c
+@@ -839,7 +839,7 @@ _discover_partitions(struct lib_context *lc, struct list_head *rs_list)
+ */
+ if (T_GROUP(rs)) {
+ _discover_partitions(lc, &rs->sets);
+- return;
++ continue;
+ }
+
+ /*
diff --git a/patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-static-build-fixes.patch b/patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-003-static-build-fixes.patch
similarity index 87%
rename from patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-static-build-fixes.patch
rename to patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-003-static-build-fixes.patch
index 2988117..3ca491d 100644
--- a/patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-static-build-fixes.patch
+++ b/patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-003-static-build-fixes.patch
@@ -1,50 +1,6 @@
---- tools/Makefile.in.old 2010-05-31 07:18:31.000000000 -0400
-+++ tools/Makefile.in 2010-12-13 13:15:22.000000000 -0500
-@@ -60,17 +60,23 @@
- ifeq ("@KLIBC@", "no")
- ifeq ("@STATIC_LINK@", "no")
- LDFLAGS += -rdynamic
-+ MYLIBOBJ=$(top_builddir)/lib/libdmraid.so
- else
- LDFLAGS += -static
-+ MYLIBOBJ=$(top_builddir)/lib/libdmraid.a
-+ DMRAIDLIBS += \
-+ $(DEVMAPPEREVENT_LIBS) \
-+ $(DEVMAPPER_LIBS) \
-+ $(DL_LIBS)
- endif
- endif
-
- .PHONY: install_dmraid_tools
-
--dmraid: $(OBJECTS) $(top_builddir)/lib/libdmraid.a
-+dmraid: $(OBJECTS) $(MYLIBOBJ)
- $(CC) -o $@ $(OBJECTS) $(LDFLAGS) -L$(top_builddir)/lib $(DMRAIDLIBS) $(LIBS)
-
--dmevent_tool: $(OBJECTS2) $(top_builddir)/lib/libdmraid.a
-+dmevent_tool: $(OBJECTS2) $(MYLIBOBJ)
- $(CC) -o $@ $(OBJECTS2) $(INCLUDES) $(LDFLAGS) -L$(top_builddir)/lib \
- $(DMEVENTTOOLLIBS) $(DMRAIDLIBS) $(LIBS)
-
---- lib/Makefile.in.old 2010-10-27 07:31:46.000000000 -0400
-+++ lib/Makefile.in 2010-12-13 13:04:16.000000000 -0500
-@@ -60,11 +60,11 @@
- USRLIB_RELPATH = $(shell echo $(abspath $(usrlibdir) $(libdir)) | \
- $(AWK) -f $(top_srcdir)/tools/relpath.awk)
-
--TARGETS = $(LIB_STATIC)
-+TARGETS = $(LIB_STATIC) $(LIB_SHARED) $(LIB_EVENTS_SHARED)
-
- ifeq ("@KLIBC@", "no")
- ifeq ("@STATIC_LINK@", "no")
-- TARGETS += $(LIB_SHARED) $(LIB_EVENTS_SHARED)
-+ TARGETS = $(LIB_SHARED) $(LIB_EVENTS_SHARED)
- endif
- endif
-
---- configure.in 2010-05-31 07:18:30.000000000 -0400
-+++ configure.in.new 2010-12-07 13:30:40.000000000 -0500
-@@ -155,6 +155,15 @@
+--- a/1.0.0.rc16-3/dmraid/configure.in
++++ b/1.0.0.rc16-3/dmraid/configure.in
+@@ -155,6 +155,15 @@ AC_ARG_ENABLE(static_link,
Default is dynamic linking]),
[STATIC_LINK=$enableval], [STATIC_LINK=no])
@@ -60,7 +16,7 @@
dnl Enables shared libdmraid
AC_ARG_ENABLE(shared_lib,
AC_HELP_STRING([--enable-shared_lib], [Use this to generate shared
-@@ -248,23 +257,31 @@
+@@ -248,23 +257,31 @@ AC_ARG_WITH(devmapper-prefix,
AC_HELP_STRING([--with-devmapper-prefix=PFX],
[Where is devmapper library installed]),
[DEVMAPPER_LIBS="-L$withval/lib"
@@ -107,4 +63,48 @@
+fi
VERSION=$srcdir/tools/VERSION
- DMRAID_LIB_MAJOR=$(cut -d. -f1 $VERSION)
\ No newline at end of file
+ DMRAID_LIB_MAJOR=$(cut -d. -f1 $VERSION)
+--- a/1.0.0.rc16-3/dmraid/lib/Makefile.in
++++ b/1.0.0.rc16-3/dmraid/lib/Makefile.in
+@@ -60,11 +60,11 @@ LIB_EVENTS_SHARED=$(LIB_EVENTS_NAME).so
+ USRLIB_RELPATH = $(shell echo $(abspath $(usrlibdir) $(libdir)) | \
+ $(AWK) -f $(top_srcdir)/tools/relpath.awk)
+
+-TARGETS = $(LIB_STATIC)
++TARGETS = $(LIB_STATIC) $(LIB_SHARED) $(LIB_EVENTS_SHARED)
+
+ ifeq ("@KLIBC@", "no")
+ ifeq ("@STATIC_LINK@", "no")
+- TARGETS += $(LIB_SHARED) $(LIB_EVENTS_SHARED)
++ TARGETS = $(LIB_SHARED) $(LIB_EVENTS_SHARED)
+ endif
+ endif
+
+--- a/1.0.0.rc16-3/dmraid/tools/Makefile.in
++++ b/1.0.0.rc16-3/dmraid/tools/Makefile.in
+@@ -60,17 +60,23 @@ endif
+ ifeq ("@KLIBC@", "no")
+ ifeq ("@STATIC_LINK@", "no")
+ LDFLAGS += -rdynamic
++ MYLIBOBJ=$(top_builddir)/lib/libdmraid.so
+ else
+ LDFLAGS += -static
++ MYLIBOBJ=$(top_builddir)/lib/libdmraid.a
++ DMRAIDLIBS += \
++ $(DEVMAPPEREVENT_LIBS) \
++ $(DEVMAPPER_LIBS) \
++ $(DL_LIBS)
+ endif
+ endif
+
+ .PHONY: install_dmraid_tools
+
+-dmraid: $(OBJECTS) $(top_builddir)/lib/libdmraid.a
++dmraid: $(OBJECTS) $(MYLIBOBJ)
+ $(CC) -o $@ $(OBJECTS) $(LDFLAGS) -L$(top_builddir)/lib $(DMRAIDLIBS) $(LIBS)
+
+-dmevent_tool: $(OBJECTS2) $(top_builddir)/lib/libdmraid.a
++dmevent_tool: $(OBJECTS2) $(MYLIBOBJ)
+ $(CC) -o $@ $(OBJECTS2) $(INCLUDES) $(LDFLAGS) -L$(top_builddir)/lib \
+ $(DMEVENTTOOLLIBS) $(DMRAIDLIBS) $(LIBS)
+
diff --git a/patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0.rc16-3-staticlink.patch b/patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-004-staticlink.patch
similarity index 100%
rename from patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0.rc16-3-staticlink.patch
rename to patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-004-staticlink.patch
diff --git a/patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-parallel-make.patch b/patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-005-parallel-make.patch
similarity index 100%
rename from patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-parallel-make.patch
rename to patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-005-parallel-make.patch
diff --git a/patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-return-all-sets.patch b/patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-return-all-sets.patch
deleted file mode 100644
index 1e6c713..0000000
--- a/patches/dmraid/1.0.0.rc16-3/dmraid-1.0.0_rc16-return-all-sets.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/1.0.0.rc16/lib/metadata/metadata.c 2009-11-27 21:57:50.182129589 -0800
-+++ b/1.0.0.rc16/lib/metadata/metadata.c 2009-11-27 21:57:58.950964293 -0800
-@@ -839,7 +839,7 @@
- */
- if (T_GROUP(rs)) {
- _discover_partitions(lc, &rs->sets);
-- return;
-+ continue;
- }
-
- /*
^ 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: /, patches/dmraid/1.0.0.rc16-3/, gkbuilds/, defaults/ Thomas Deutschmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox