diff options
author | Thomas Deutschmann <whissi@gentoo.org> | 2019-03-21 21:43:38 +0100 |
---|---|---|
committer | Thomas Deutschmann <whissi@gentoo.org> | 2019-03-21 21:43:38 +0100 |
commit | 4c92b79d16789bfeddb02dcf7834111ca187359c (patch) | |
tree | aff74f6c80623bcc65532f57da597ea319040622 | |
parent | Add libaio-0.3.110 (diff) | |
download | genkernel-4c92b79d16789bfeddb02dcf7834111ca187359c.tar.gz genkernel-4c92b79d16789bfeddb02dcf7834111ca187359c.tar.bz2 genkernel-4c92b79d16789bfeddb02dcf7834111ca187359c.zip |
Bump LVM2 to v2.02.183
Bug: https://bugs.gentoo.org/642988
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
-rwxr-xr-x | gen_compile.sh | 21 | ||||
-rw-r--r-- | patches/lvm/2.02.173/lvm2-2.02.139-dynamic-static-ldflags.patch | 63 | ||||
-rw-r--r-- | patches/lvm/2.02.183/lvm2-001-example.conf.in.patch | 50 | ||||
-rw-r--r-- | patches/lvm/2.02.183/lvm2-002-always-make-static-libdm.patch | 42 | ||||
-rw-r--r-- | patches/lvm/2.02.183/lvm2-003-lvm2create_initrd.patch | 72 | ||||
-rw-r--r-- | patches/lvm/2.02.183/lvm2-004-createinitrd.patch | 18 | ||||
-rw-r--r-- | patches/lvm/2.02.183/lvm2-005-locale-muck.patch | 11 | ||||
-rw-r--r-- | patches/lvm/2.02.183/lvm2-006-asneeded.patch | 15 | ||||
-rw-r--r-- | patches/lvm/2.02.183/lvm2-007-dynamic-static-ldflags.patch | 59 | ||||
-rw-r--r-- | patches/lvm/2.02.183/lvm2-008-static-pkgconfig-libs.patch | 102 | ||||
-rw-r--r-- | patches/lvm/2.02.183/lvm2-009-pthread-pkgconfig.patch | 29 | ||||
-rw-r--r-- | patches/lvm/2.02.183/lvm2-010-static-libm.patch | 13 | ||||
-rw-r--r-- | patches/lvm/2.02.183/lvm2-011-HPPA-no-O_DIRECT.patch | 12 |
13 files changed, 437 insertions, 70 deletions
diff --git a/gen_compile.sh b/gen_compile.sh index 0689e10..c4a6665 100755 --- a/gen_compile.sh +++ b/gen_compile.sh @@ -530,7 +530,9 @@ compile_libaio() { } compile_lvm() { - if [ -f "${LVM_BINCACHE}" ] + compile_libaio + + if [[ -f "${LVM_BINCACHE}" && "${LVM_BINCACHE}" -nt "${LIBAIO_BINCACHE}" ]] then print_info 1 "$(getIndent 3)lvm: >> Using cache" else @@ -542,6 +544,12 @@ compile_lvm() { gen_die 'Could not extract LVM source tarball!' [ -d "${LVM_DIR}" ] || gen_die "LVM directory ${LVM_DIR} is invalid!" + + rm -rf "${TEMP}/libaio" > /dev/null + mkdir -p "${TEMP}/libaio" + /bin/tar -xpf "${LIBAIO_BINCACHE}" -C "${TEMP}/libaio" || + gen_die "Could not extract libaio binary cache!"; + cd "${LVM_DIR}" print_info 1 "$(getIndent 3)lvm: >> Patching ..." apply_patches lvm ${LVM_VER} @@ -553,7 +561,7 @@ compile_lvm() { LVM_CONF=( --enable-static_link --prefix=/ - --disable-dmeventd # Fails to build libdm-string.c:(.text+0x1481): undefined reference to `nearbyintl' + --enable-dmeventd --enable-cmdlib --enable-applib --disable-lvmetad @@ -570,22 +578,21 @@ compile_lvm() { --with-raid=internal ) CFLAGS="-fPIC" \ - LIBS='-luuid -lrt -lpthread -lm' \ - LDFLAGS='-Wl,--no-as-needed' \ + LDFLAGS="-L${TEMP}/libaio/lib" \ ./configure "${LVM_CONF[@]}" \ >> ${LOGFILE} 2>&1 || \ gen_die 'Configure of lvm failed!' print_info 1 "$(getIndent 3)lvm: >> Compiling..." compile_generic '' utils || gen_die "failed to build LVM" - mkdir -p "${TEMP}/lvm/sbin" print_info 1 "$(getIndent 3)lvm: >> Installing to DESTDIR..." + mkdir -p "${TEMP}/lvm/sbin" compile_generic "install DESTDIR=${TEMP}/lvm/" utils || gen_die "failed to install LVM" # Upstream does u-w on files, and this breaks stuff. chmod -R u+w "${TEMP}/lvm/" - cd "${TEMP}/lvm" print_info 1 "$(getIndent 3)lvm: >> Copying to bincache..." + cd "${TEMP}/lvm" || gen_die "cannot chdir into '${TEMP}/lvm'" ${UTILS_CROSS_COMPILE}strip "sbin/lvm.static" || gen_die 'Could not strip lvm.static!' # See bug 382555 @@ -596,7 +603,7 @@ compile_lvm() { cd "${TEMP}" isTrue "${CMD_DEBUGCLEANUP}" && rm -rf "${TEMP}/lvm" > /dev/null - isTrue "${CMD_DEBUGCLEANUP}" && rm -rf "${LVM_DIR}" lvm + isTrue "${CMD_DEBUGCLEANUP}" && rm -rf "${LVM_DIR}" libaio lvm return 0 fi } diff --git a/patches/lvm/2.02.173/lvm2-2.02.139-dynamic-static-ldflags.patch b/patches/lvm/2.02.173/lvm2-2.02.139-dynamic-static-ldflags.patch deleted file mode 100644 index 312e546..0000000 --- a/patches/lvm/2.02.173/lvm2-2.02.139-dynamic-static-ldflags.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff -ur LVM2.2.02.139_O/configure.in LVM2.2.02.139/configure.in ---- LVM2.2.02.139_O/configure.in 2016-01-19 12:54:33.155187005 +0000 -+++ LVM2.2.02.139/configure.in 2016-01-19 12:56:39.487181372 +0000 -@@ -31,6 +31,7 @@ - linux*) - CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym" - ELDFLAGS="-Wl,--export-dynamic" -+ STATIC_LDFLAGS="-Wl,--no-export-dynamic" - # FIXME Generate list and use --dynamic-list=.dlopen.sym - CLDWHOLEARCHIVE="-Wl,-whole-archive" - CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive" -@@ -2009,6 +2010,7 @@ - AC_SUBST(SELINUX_PC) - AC_SUBST(SNAPSHOTS) - AC_SUBST(STATICDIR) -+AC_SUBST(STATIC_LDFLAGS) - AC_SUBST(STATIC_LINK) - AC_SUBST(TESTING) - AC_SUBST(TESTSUITE_DATA) -diff -ur LVM2.2.02.139_O/daemons/dmeventd/Makefile.in LVM2.2.02.139/daemons/dmeventd/Makefile.in ---- LVM2.2.02.139_O/daemons/dmeventd/Makefile.in 2016-01-19 12:54:33.278186999 +0000 -+++ LVM2.2.02.139/daemons/dmeventd/Makefile.in 2016-01-19 12:57:44.277178484 +0000 -@@ -67,7 +67,7 @@ - $(DL_LIBS) $(LVMLIBS) $(LIBS) -rdynamic - - dmeventd.static: $(LIB_STATIC) dmeventd.o $(interfacebuilddir)/libdevmapper.a -- $(CC) $(CFLAGS) $(LDFLAGS) $(ELDFLAGS) -static -L. -L$(interfacebuilddir) -o $@ \ -+ $(CC) $(CFLAGS) $(LDFLAGS) $(ELDFLAGS) $(STATIC_LDFLAGS) -static -L. -L$(interfacebuilddir) -o $@ \ - dmeventd.o $(DL_LIBS) $(LVMLIBS) $(LIBS) $(STATIC_LIBS) - - ifeq ("@PKGCONFIG@", "yes") -diff -ur LVM2.2.02.139_O/make.tmpl.in LVM2.2.02.139/make.tmpl.in ---- LVM2.2.02.139_O/make.tmpl.in 2016-01-19 12:54:33.529186988 +0000 -+++ LVM2.2.02.139/make.tmpl.in 2016-01-19 12:58:31.514176378 +0000 -@@ -49,6 +49,7 @@ - # FIXME set this only where it's needed, not globally? - CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@ - LDFLAGS ?= @COPTIMISE_FLAG@ @LDFLAGS@ -+STATIC_LDFLAGS += @STATIC_LDFLAGS@ - CLDFLAGS += @CLDFLAGS@ - ELDFLAGS += @ELDFLAGS@ - LDDEPS += @LDDEPS@ -diff -ur LVM2.2.02.139_O/tools/Makefile.in LVM2.2.02.139/tools/Makefile.in ---- LVM2.2.02.139_O/tools/Makefile.in 2016-01-08 18:51:21.000000000 +0000 -+++ LVM2.2.02.139/tools/Makefile.in 2016-01-19 13:00:08.349172060 +0000 -@@ -129,7 +129,7 @@ - -o $@ dmsetup.o -ldevmapper $(LIBS) - - dmsetup.static: dmsetup.o $(interfacebuilddir)/libdevmapper.a -- $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \ -+ $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) \ - -o $@ dmsetup.o -ldevmapper $(M_LIBS) $(PTHREAD_LIBS) $(STATIC_LIBS) $(LIBS) - - all: device-mapper -@@ -146,7 +146,7 @@ - endif - - lvm.static: $(OBJECTS) lvm-static.o $(top_builddir)/lib/liblvm-internal.a $(interfacebuilddir)/libdevmapper.a -- $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ \ -+ $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) -o $@ \ - $(OBJECTS) lvm-static.o $(LVMLIBS) $(STATIC_LIBS) $(LIBS) - - liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o diff --git a/patches/lvm/2.02.183/lvm2-001-example.conf.in.patch b/patches/lvm/2.02.183/lvm2-001-example.conf.in.patch new file mode 100644 index 0000000..34c710d --- /dev/null +++ b/patches/lvm/2.02.183/lvm2-001-example.conf.in.patch @@ -0,0 +1,50 @@ +--- LVM2.2.02.178/conf/example.conf.in ++++ LVM2.2.02.178/conf/example.conf.in +@@ -128,6 +128,9 @@ + # Example + # Accept every block device: + # filter = [ "a|.*/|" ] ++ # Gentoo: we exclude /dev/nbd by default, because it makes a lot of kernel ++ # noise when you probed while not available. ++ filter = [ "r|/dev/nbd.*|", "a/.*/" ] + # Reject the cdrom drive: + # filter = [ "r|/dev/cdrom|" ] + # Work with just loopback devices, e.g. for testing: +@@ -704,7 +707,8 @@ + # Configuration option global/fallback_to_lvm1. + # This setting is no longer used. + # This configuration option has an automatic default value. +- # fallback_to_lvm1 = 0 ++ # Gentoo: the LVM tools are a seperate package. ++ fallback_to_lvm1 = 0 + + # Configuration option global/format. + # This setting is no longer used. +@@ -1508,7 +1512,7 @@ + + # Configuration section metadata. + # This configuration section has an automatic default value. +-# metadata { ++metadata { + + # Configuration option metadata/check_pv_device_sizes. + # Check device sizes are not smaller than corresponding PV sizes. +@@ -1553,7 +1557,8 @@ + # + # This configuration option is advanced. + # This configuration option has an automatic default value. +- # pvmetadatacopies = 1 ++ # Gentoo: enable for data safety, but PV resize is then disabled. ++ # pvmetadatacopies = 2 + + # Configuration option metadata/vgmetadatacopies. + # Number of copies of metadata to maintain for each VG. +@@ -1608,7 +1613,7 @@ + # + # This configuration option is advanced. + # This configuration option does not have a default value defined. +-# } ++} + + # Configuration section report. + # LVM report command output formatting. diff --git a/patches/lvm/2.02.183/lvm2-002-always-make-static-libdm.patch b/patches/lvm/2.02.183/lvm2-002-always-make-static-libdm.patch new file mode 100644 index 0000000..5ddcb4e --- /dev/null +++ b/patches/lvm/2.02.183/lvm2-002-always-make-static-libdm.patch @@ -0,0 +1,42 @@ +diff -Nuar --exclude '*~' LVM2.2.02.63.orig/daemons/dmeventd/Makefile.in LVM2.2.02.63/daemons/dmeventd/Makefile.in +--- LVM2.2.02.63.orig/daemons/dmeventd/Makefile.in 2010-04-09 14:42:48.000000000 -0700 ++++ LVM2.2.02.63/daemons/dmeventd/Makefile.in 2010-04-19 11:53:27.000000000 -0700 +@@ -28,11 +28,12 @@ + INSTALL_LIB_TARGETS = install_lib_dynamic + + LIB_NAME = libdevmapper-event ++LIB_STATIC = $(LIB_NAME).a ++INSTALL_LIB_TARGETS += install_lib_static ++TARGETS += $(LIB_STATIC) + ifeq ("@STATIC_LINK@", "yes") +- LIB_STATIC = $(LIB_NAME).a +- TARGETS += $(LIB_STATIC) dmeventd.static ++ TARGETS += dmeventd.static + INSTALL_DMEVENTD_TARGETS += install_dmeventd_static +- INSTALL_LIB_TARGETS += install_lib_static + endif + + LIB_VERSION = $(LIB_VERSION_DM) +diff -Nuar --exclude '*~' LVM2.2.02.63.orig/libdm/Makefile.in LVM2.2.02.63/libdm/Makefile.in +--- LVM2.2.02.63.orig/libdm/Makefile.in 2010-04-09 14:42:51.000000000 -0700 ++++ LVM2.2.02.63/libdm/Makefile.in 2010-04-19 11:52:20.000000000 -0700 +@@ -34,8 +34,8 @@ + + INCLUDES = -I$(srcdir)/$(interface) -I$(srcdir) + +-ifeq ("@STATIC_LINK@", "yes") + LIB_STATIC = $(interface)/libdevmapper.a ++ifeq ("@STATIC_LINK@", "yes") + endif + + LIB_SHARED = $(interface)/libdevmapper.$(LIB_SUFFIX) +@@ -63,8 +63,8 @@ + + INSTALL_TYPE = install_dynamic + +-ifeq ("@STATIC_LINK@", "yes") + INSTALL_TYPE += install_static ++ifeq ("@STATIC_LINK@", "yes") + endif + + ifeq ("@PKGCONFIG@", "yes") diff --git a/patches/lvm/2.02.183/lvm2-003-lvm2create_initrd.patch b/patches/lvm/2.02.183/lvm2-003-lvm2create_initrd.patch new file mode 100644 index 0000000..59aaa9b --- /dev/null +++ b/patches/lvm/2.02.183/lvm2-003-lvm2create_initrd.patch @@ -0,0 +1,72 @@ +--- LVM2.2.02.56/scripts/lvm2create_initrd/lvm2create_initrd.orig 2006-11-21 22:41:56.000000000 +0000 ++++ LVM2.2.02.56/scripts/lvm2create_initrd/lvm2create_initrd 2009-12-26 01:47:08.025224602 +0000 +@@ -54,7 +54,9 @@ + DEVRAM=/tmp/initrd.$$ + + # set defaults +-BINFILES=${BINFILES:-"`which lvm` `which bash` `which busybox` `which pivot_root`"} ++LVM=`which lvm.static` ++LVM=${LVM:-"`which lvm`"} ++BINFILES=${BINFILES:-"${LVM} `which bash` `which busybox` `which pivot_root`"} + BASICDEVICES=${BASICDEVICES:-"std consoleonly fd"} + BLOCKDEVICES=${BLOCKDEVICES:-"md hda hdb hdc hdd sda sdb sdc sdd"} + MAKEDEV=${MAKEDEV:-"debian"} +@@ -119,6 +121,10 @@ + echo "$PRE Mounting /proc" + mount -t proc none /proc + ++# We need /sys for lvm ++echo "$PRE Mounting /sys" ++mount -t sysfs sysfs /sys ++ + # plug in modules listed in /etc/modules + if [ -f /etc/modules ]; then + echo -n "$PRE plugging in kernel modules:" +@@ -179,26 +185,29 @@ + # run a shell if we're passed lvm2rescue on commandline + grep lvm2rescue /proc/cmdline 1>/dev/null 2>&1 + if [ $? -eq 0 ]; then +- lvm vgchange --ignorelockingfailure -P -a y ++ $LVM vgchange --ignorelockingfailure -P -a y + do_shell + else +- lvm vgchange --ignorelockingfailure -a y ++ $LVM vgchange --ignorelockingfailure -a y + fi + + echo "$PRE Mounting root filesystem $rootvol ro" + mkdir /rootvol + if ! mount -t auto -o ro $rootvol /rootvol; then +- echo "\t*FAILED*"; ++ echo "\t*FAILED TRYING TO MOUNT ROOTVOL*"; + do_shell + fi + + echo "$PRE Umounting /proc" + umount /proc + ++echo "$PRE Umounting /sys" ++umount /sys ++ + echo "$PRE Changing roots" + cd /rootvol + if ! pivot_root . initrd ; then +- echo "\t*FAILED*" ++ echo "\t*FAILED PIVOT TO NEW ROOT*" + do_shell + fi + +@@ -356,7 +365,7 @@ + fi + + verbose "creating basic set of directories in $TMPMNT" +-(cd $TMPMNT; mkdir bin dev etc lib proc sbin var) ++(cd $TMPMNT; mkdir bin dev etc lib proc sbin sys var) + if [ $? -ne 0 ]; then + echo "$cmd -- ERROR creating directories in $TMPMNT" + cleanup 1 +@@ -499,4 +508,3 @@ + FINALTXT + + cleanup 0 +- diff --git a/patches/lvm/2.02.183/lvm2-004-createinitrd.patch b/patches/lvm/2.02.183/lvm2-004-createinitrd.patch new file mode 100644 index 0000000..7f0bfb8 --- /dev/null +++ b/patches/lvm/2.02.183/lvm2-004-createinitrd.patch @@ -0,0 +1,18 @@ +X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=301331 +X-Gentoo-Bug: 301331 + +diff -Nuar LVM2.2.02.67.orig/scripts/lvm2create_initrd/lvm2create_initrd LVM2.2.02.67/scripts/lvm2create_initrd/lvm2create_initrd +--- LVM2.2.02.67.orig/scripts/lvm2create_initrd/lvm2create_initrd 2010-06-07 18:44:34.182980475 +0000 ++++ LVM2.2.02.67/scripts/lvm2create_initrd/lvm2create_initrd 2010-06-07 18:51:27.636312899 +0000 +@@ -469,9 +469,9 @@ + rmdir $TMPMNT/lost+found + + echo "$cmd -- ummounting ram disk" +-umount $DEVRAM ++umount $TMPMNT + if [ $? -ne 0 ]; then +- echo "$cmd -- ERROR umounting $DEVRAM" ++ echo "$cmd -- ERROR umounting $TMPMNT" + cleanup 1 + fi + diff --git a/patches/lvm/2.02.183/lvm2-005-locale-muck.patch b/patches/lvm/2.02.183/lvm2-005-locale-muck.patch new file mode 100644 index 0000000..fe7ec87 --- /dev/null +++ b/patches/lvm/2.02.183/lvm2-005-locale-muck.patch @@ -0,0 +1,11 @@ +--- LVM2/make.tmpl.in ++++ LVM2/make.tmpl.in +@@ -395,7 +395,7 @@ + ( cat $(srcdir)/.exported_symbols; \ + if test x$(EXPORTED_HEADER) != x; then \ + $(CC) -E -P $(INCLUDES) $(DEFS) $(EXPORTED_HEADER) | \ +- $(SED) -ne "/^typedef|}/!s/.*[ *]\($(EXPORTED_FN_PREFIX)_[a-z0-9_]*\)(.*/\1/p"; \ ++ LC_ALL=C $(SED) -ne "/^typedef|}/!s/.*[ *]\($(EXPORTED_FN_PREFIX)_[a-z0-9_]*\)(.*/\1/p"; \ + fi \ + ) > $@ + diff --git a/patches/lvm/2.02.183/lvm2-006-asneeded.patch b/patches/lvm/2.02.183/lvm2-006-asneeded.patch new file mode 100644 index 0000000..c831c6d --- /dev/null +++ b/patches/lvm/2.02.183/lvm2-006-asneeded.patch @@ -0,0 +1,15 @@ +http://bugs.gentoo.org/330255 + +liblvm2app.so: undefined reference to `floor' + +--- LVM2.2.02.178/liblvm/Makefile.in ++++ LVM2.2.02.178/liblvm/Makefile.in +@@ -43,7 +43,7 @@ + include $(top_builddir)/make.tmpl + + LDFLAGS += -L$(top_builddir)/lib -L$(top_builddir)/daemons/dmeventd +-LIBS += $(LVMINTERNAL_LIBS) -ldevmapper -laio ++LIBS += $(LVMINTERNAL_LIBS) -ldevmapper -laio -lm + + .PHONY: install_dynamic install_static install_include install_pkgconfig + diff --git a/patches/lvm/2.02.183/lvm2-007-dynamic-static-ldflags.patch b/patches/lvm/2.02.183/lvm2-007-dynamic-static-ldflags.patch new file mode 100644 index 0000000..0a0e732 --- /dev/null +++ b/patches/lvm/2.02.183/lvm2-007-dynamic-static-ldflags.patch @@ -0,0 +1,59 @@ +--- LVM2.2.02.178/configure.ac ++++ LVM2.2.02.178/configure.ac +@@ -33,6 +33,7 @@ + CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym" + # equivalent to -rdynamic + ELDFLAGS="-Wl,--export-dynamic" ++ STATIC_LDFLAGS="-Wl,--no-export-dynamic" + # FIXME Generate list and use --dynamic-list=.dlopen.sym + CLDWHOLEARCHIVE="-Wl,-whole-archive" + CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive" +@@ -2042,6 +2043,7 @@ + AC_SUBST(SYSTEMD_LIBS) + AC_SUBST(SNAPSHOTS) + AC_SUBST(STATICDIR) ++AC_SUBST(STATIC_LDFLAGS) + AC_SUBST(STATIC_LINK) + AC_SUBST(TESTSUITE_DATA) + AC_SUBST(THIN) +--- LVM2.2.02.178/daemons/dmeventd/Makefile.in ++++ LVM2.2.02.178/daemons/dmeventd/Makefile.in +@@ -64,7 +64,7 @@ + -o $@ $(DL_LIBS) $(DMEVENT_LIBS) $(LIBS) + + dmeventd.static: $(LIB_STATIC) dmeventd.o $(interfacebuilddir)/libdevmapper.a +- $(CC) $(CFLAGS) $(LDFLAGS) -static -L. -L$(interfacebuilddir) dmeventd.o \ ++ $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L. -L$(interfacebuilddir) dmeventd.o \ + -o $@ $(DL_LIBS) $(DMEVENT_LIBS) $(LIBS) $(STATIC_LIBS) + + ifeq ("@PKGCONFIG@", "yes") +--- LVM2.2.02.178/make.tmpl.in ++++ LVM2.2.02.178/make.tmpl.in +@@ -64,6 +64,7 @@ + # FIXME set this only where it's needed, not globally? + CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@ + LDFLAGS ?= @LDFLAGS@ ++STATIC_LDFLAGS += @STATIC_LDFLAGS@ + CLDFLAGS += @CLDFLAGS@ + ELDFLAGS += @ELDFLAGS@ + LDDEPS += @LDDEPS@ +--- LVM2.2.02.178/tools/Makefile.in ++++ LVM2.2.02.178/tools/Makefile.in +@@ -129,7 +129,7 @@ + + dmsetup.static: dmsetup.o $(interfacebuilddir)/libdevmapper.a + @echo " [CC] $@" +- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \ ++ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) \ + -o $@ dmsetup.o -ldevmapper $(M_LIBS) $(PTHREAD_LIBS) $(STATIC_LIBS) $(LIBS) + + all: device-mapper +@@ -159,7 +159,7 @@ + + lvm.static: $(OBJECTS) lvm-static.o $(top_builddir)/lib/liblvm-internal.a $(interfacebuilddir)/libdevmapper.a + @echo " [CC] $@" +- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ \ ++ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) -o $@ \ + $(OBJECTS) lvm-static.o $(LVMLIBS) $(STATIC_LIBS) $(LIBS) + + liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o diff --git a/patches/lvm/2.02.183/lvm2-008-static-pkgconfig-libs.patch b/patches/lvm/2.02.183/lvm2-008-static-pkgconfig-libs.patch new file mode 100644 index 0000000..989b308 --- /dev/null +++ b/patches/lvm/2.02.183/lvm2-008-static-pkgconfig-libs.patch @@ -0,0 +1,102 @@ +--- LVM2.2.02.178/configure.ac ++++ LVM2.2.02.178/configure.ac +@@ -1238,6 +1238,7 @@ + PKG_CHECK_MODULES(BLKID, blkid >= 2.24, + [ BLKID_WIPING=yes + BLKID_PC="blkid" ++ BLKID_STATIC_LIBS=`$PKG_CONFIG --static --libs $BLKID_PC` + DEFAULT_USE_BLKID_WIPING=1 + AC_DEFINE([BLKID_WIPING_SUPPORT], 1, [Define to 1 to use libblkid detection of signatures when wiping.]) + ], [if test "$BLKID_WIPING" = maybe; then +@@ -1286,6 +1287,7 @@ + if test "$UDEV_SYNC" = yes; then + pkg_config_init + PKG_CHECK_MODULES(UDEV, libudev >= 143, [UDEV_PC="libudev"]) ++ UDEV_STATIC_LIBS=`$PKG_CONFIG --static --libs libudev` + AC_DEFINE([UDEV_SYNC_SUPPORT], 1, [Define to 1 to enable synchronisation with udev processing.]) + + AC_CHECK_LIB(udev, udev_device_get_is_initialized, AC_DEFINE([HAVE_LIBUDEV_UDEV_DEVICE_GET_IS_INITIALIZED], 1, +@@ -1564,19 +1566,32 @@ + if test "$SELINUX" = yes; then + AC_CHECK_LIB([sepol], [sepol_check_context], [ + AC_DEFINE([HAVE_SEPOL], 1, [Define to 1 if sepol_check_context is available.]) +- SELINUX_LIBS="-lsepol"]) ++ SEPOL_LIBS="-lsepol"]) ++ ++ dnl -- init pkgconfig if required ++ if test x$PKGCONFIG_INIT != x1; then ++ pkg_config_init ++ fi ++ PKG_CHECK_MODULES(SELINUX, libselinux, [ ++ SELINUX_PC="libselinux" ++ SELINUX_STATIC_LIBS=`$PKG_CONFIG --static --libs libselinux` ++ SELINUX_LIBS="$SELINUX_LIBS $SEPOL_LIBS" ++ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.]) ++ ],[ ++ dnl -- old non-pkgconfig method, is buggy with static builds + + AC_CHECK_LIB([selinux], [is_selinux_enabled], [ + AC_CHECK_HEADERS([selinux/selinux.h],, hard_bailout) + AC_CHECK_HEADERS([selinux/label.h]) + AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.]) +- SELINUX_LIBS="-lselinux $SELINUX_LIBS" ++ SELINUX_LIBS="-lselinux $SEPOL_LIBS" + SELINUX_PC="libselinux" + HAVE_SELINUX=yes ], [ + AC_MSG_WARN(Disabling selinux) + SELINUX_LIBS= + SELINUX_PC= + HAVE_SELINUX=no ]) ++ ]) + fi + + ################################################################################ +@@ -1927,6 +1942,7 @@ + ################################################################################ + AC_SUBST(APPLIB) + AC_SUBST(AWK) ++AC_SUBST(BLKID_STATIC_LIBS) + AC_SUBST(BLKID_PC) + AC_SUBST(BUILD_CMIRRORD) + AC_SUBST(BUILD_DMEVENTD) +@@ -2037,6 +2053,7 @@ + AC_SUBST(SALCK_LIBS) + AC_SUBST(SBINDIR) + AC_SUBST(SELINUX_LIBS) ++AC_SUBST(SELINUX_STATIC_LIBS) + AC_SUBST(SELINUX_PC) + AC_SUBST(SYSCONFDIR) + AC_SUBST(SYSTEMD_LIBS) +@@ -2053,6 +2070,7 @@ + AC_SUBST(CACHE_DUMP_CMD) + AC_SUBST(CACHE_REPAIR_CMD) + AC_SUBST(CACHE_RESTORE_CMD) ++AC_SUBST(UDEV_STATIC_LIBS) + AC_SUBST(UDEV_PC) + AC_SUBST(UDEV_RULES) + AC_SUBST(UDEV_SYNC) +--- LVM2.2.02.178/make.tmpl.in ++++ LVM2.2.02.178/make.tmpl.in +@@ -59,7 +59,7 @@ + + LIBS = @LIBS@ + # Extra libraries always linked with static binaries +-STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS) ++STATIC_LIBS = $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS) + DEFS += @DEFS@ + # FIXME set this only where it's needed, not globally? + CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@ +@@ -75,10 +75,13 @@ + PTHREAD_LIBS = @PTHREAD_LIBS@ + READLINE_LIBS = @READLINE_LIBS@ + SELINUX_LIBS = @SELINUX_LIBS@ ++SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@ + UDEV_CFLAGS = @UDEV_CFLAGS@ + UDEV_LIBS = @UDEV_LIBS@ ++UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@ + BLKID_CFLAGS = @BLKID_CFLAGS@ + BLKID_LIBS = @BLKID_LIBS@ ++BLKID_STATIC_LIBS = @BLKID_STATIC_LIBS@ + SYSTEMD_LIBS = @SYSTEMD_LIBS@ + VALGRIND_CFLAGS = @VALGRIND_CFLAGS@ + diff --git a/patches/lvm/2.02.183/lvm2-009-pthread-pkgconfig.patch b/patches/lvm/2.02.183/lvm2-009-pthread-pkgconfig.patch new file mode 100644 index 0000000..c0265e8 --- /dev/null +++ b/patches/lvm/2.02.183/lvm2-009-pthread-pkgconfig.patch @@ -0,0 +1,29 @@ +--- LVM2.2.02.176/libdm/libdevmapper.pc.in ++++ LVM2.2.02.176/libdm/libdevmapper.pc.in +@@ -9,4 +9,4 @@ + Cflags: -I${includedir} + Libs: -L${libdir} -ldevmapper + Requires.private: @SELINUX_PC@ @UDEV_PC@ +-Libs.private: -lm @RT_LIBS@ ++Libs.private: -lm @RT_LIBS@ @PTHREAD_LIBS@ +--- LVM2.2.02.176/tools/Makefile.in ++++ LVM2.2.02.176/tools/Makefile.in +@@ -93,6 +93,7 @@ + INSTALL_LVM_TARGETS += install_tools_static + INSTALL_DMSETUP_TARGETS += install_dmsetup_static + INSTALL_CMDLIB_TARGETS += install_cmdlib_static ++ STATIC_LIBS += @PTHREAD_LIBS@ + endif + + LVMLIBS = $(LVMINTERNAL_LIBS) -ldevmapper +@@ -118,6 +119,10 @@ + + include $(top_builddir)/make.tmpl + ++ifeq ("@STATIC_LINK@", "yes") ++ STATIC_LIBS += @PTHREAD_LIBS@ ++endif ++ + device-mapper: $(TARGETS_DM) + + CFLAGS_dmsetup.o += $(UDEV_CFLAGS) $(EXTRA_EXEC_CFLAGS) diff --git a/patches/lvm/2.02.183/lvm2-010-static-libm.patch b/patches/lvm/2.02.183/lvm2-010-static-libm.patch new file mode 100644 index 0000000..1cbf956 --- /dev/null +++ b/patches/lvm/2.02.183/lvm2-010-static-libm.patch @@ -0,0 +1,13 @@ +diff --git a/make.tmpl.in b/make.tmpl.in +index a40eaaa15..7eea943aa 100644 +--- a/make.tmpl.in ++++ b/make.tmpl.in +@@ -53,7 +53,7 @@ PYCOMPILE = $(top_srcdir)/autoconf/py-compile + + LIBS = @LIBS@ + # Extra libraries always linked with static binaries +-STATIC_LIBS = $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS) ++STATIC_LIBS = $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS) $(M_LIBS) + DEFS += @DEFS@ + # FIXME set this only where it's needed, not globally? + CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@ diff --git a/patches/lvm/2.02.183/lvm2-011-HPPA-no-O_DIRECT.patch b/patches/lvm/2.02.183/lvm2-011-HPPA-no-O_DIRECT.patch new file mode 100644 index 0000000..0f830e4 --- /dev/null +++ b/patches/lvm/2.02.183/lvm2-011-HPPA-no-O_DIRECT.patch @@ -0,0 +1,12 @@ +--- a/lib/device/dev-io.c ++++ b/lib/device/dev-io.c +@@ -505,7 +505,9 @@ + dev->flags |= DEV_NOT_O_NOATIME; + if ((dev->fd = open(name, flags, 0777)) >= 0) { + log_debug_devs("%s: Not using O_NOATIME", name); ++#ifdef O_DIRECT_SUPPORT + goto opened; ++#endif + } + } + #endif |