From b935d3ec1c667938a00da744869e5aa0d31994ade976014dbb8ba13faf88e9b4 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Tue, 9 Feb 2021 15:44:57 +0000 Subject: [PATCH] Accepting request 869163 from home:michals - Fix tests to not test disabled features. Disable zstd again. + kmod-populate-modules-Use-more-bash-more-quotes.patch + kmod-testsuite-compress-modules-if-feature-is-enabled.patch + kmod-also-test-xz-compression.patch OBS-URL: https://build.opensuse.org/request/show/869163 OBS-URL: https://build.opensuse.org/package/show/Base:System/kmod?expand=0&rev=182 --- kmod-also-test-xz-compression.patch | 39 +++++++ ...te-modules-Use-more-bash-more-quotes.patch | 65 +++++++++++ ...mpress-modules-if-feature-is-enabled.patch | 103 ++++++++++++++++++ kmod-testsuite.spec | 6 +- kmod.changes | 8 ++ 5 files changed, 218 insertions(+), 3 deletions(-) create mode 100644 kmod-also-test-xz-compression.patch create mode 100644 kmod-populate-modules-Use-more-bash-more-quotes.patch create mode 100644 kmod-testsuite-compress-modules-if-feature-is-enabled.patch diff --git a/kmod-also-test-xz-compression.patch b/kmod-also-test-xz-compression.patch new file mode 100644 index 0000000..da136ec --- /dev/null +++ b/kmod-also-test-xz-compression.patch @@ -0,0 +1,39 @@ +From 07aed32d80f306372e13701181cb827e6d0d7cff Mon Sep 17 00:00:00 2001 +From: Lucas De Marchi +Date: Fri, 29 Jan 2021 18:36:00 -0800 +Subject: [PATCH 2/2] testsuite: also test xz compression + +--- + testsuite/populate-modules.sh | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/testsuite/populate-modules.sh b/testsuite/populate-modules.sh +index ae43884984b8..099f02669156 100755 +--- a/testsuite/populate-modules.sh ++++ b/testsuite/populate-modules.sh +@@ -72,6 +72,9 @@ map=( + + gzip_array=( + "test-depmod/modules-order-compressed/lib/modules/4.4.4/kernel/drivers/block/cciss.ko" ++ ) ++ ++xz_array=( + "test-depmod/modules-order-compressed/lib/modules/4.4.4/kernel/drivers/scsi/scsi_mod.ko" + ) + +@@ -112,6 +115,12 @@ if feature_enabled ZLIB; then + done + fi + ++if feature_enabled XZ; then ++ for m in "${xz_array[@]}"; do ++ xz "$ROOTFS/$m" ++ done ++fi ++ + if feature_enabled ZSTD; then + for m in "${zstd_array[@]}"; do + zstd --rm $ROOTFS/$m +-- +2.26.2 + diff --git a/kmod-populate-modules-Use-more-bash-more-quotes.patch b/kmod-populate-modules-Use-more-bash-more-quotes.patch new file mode 100644 index 0000000..1ca7958 --- /dev/null +++ b/kmod-populate-modules-Use-more-bash-more-quotes.patch @@ -0,0 +1,65 @@ +From 3cee67ddd75114f9557ab7e13ef1751c277d9bd3 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Wed, 25 Mar 2020 11:03:58 -0400 +Subject: [PATCH] populate-modules: Use more bash, more quotes + +We're already using associatives arrays, so there's no reason we should +be using 'test'. +--- + testsuite/populate-modules.sh | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +diff --git a/testsuite/populate-modules.sh b/testsuite/populate-modules.sh +index 358e7405dcf8..b0cc932818e0 100755 +--- a/testsuite/populate-modules.sh ++++ b/testsuite/populate-modules.sh +@@ -85,15 +85,15 @@ attach_pkcs7_array=( + "test-modinfo/mod-simple-pkcs7.ko" + ) + +-for k in ${!map[@]}; do ++for k in "${!map[@]}"; do + dst=${ROOTFS}/$k + src=${MODULE_PLAYGROUND}/${map[$k]} + +- if test "${dst: -1}" = "/"; then +- install -d $dst +- install -t $dst $src ++ if [[ $dst = */ ]]; then ++ install -d "$dst" ++ install -t "$dst" "$src" + else +- install -D $src $dst ++ install -D "$src" "$dst" + fi + done + +@@ -101,7 +101,7 @@ done + + # gzip these modules + for m in "${gzip_array[@]}"; do +- gzip $ROOTFS/$m ++ gzip "$ROOTFS/$m" + done + + # zstd-compress these modules +@@ -110,13 +110,13 @@ for m in "${zstd_array[@]}"; do + done + + for m in "${attach_sha1_array[@]}"; do +- cat ${MODULE_PLAYGROUND}/dummy.sha1 >> ${ROOTFS}/$m ++ cat "${MODULE_PLAYGROUND}/dummy.sha1" >>"${ROOTFS}/$m" + done + + for m in "${attach_sha256_array[@]}"; do +- cat ${MODULE_PLAYGROUND}/dummy.sha256 >> ${ROOTFS}/$m ++ cat "${MODULE_PLAYGROUND}/dummy.sha256" >>"${ROOTFS}/$m" + done + + for m in "${attach_pkcs7_array[@]}"; do +- cat ${MODULE_PLAYGROUND}/dummy.pkcs7 >> ${ROOTFS}/$m ++ cat "${MODULE_PLAYGROUND}/dummy.pkcs7" >>"${ROOTFS}/$m" + done +-- +2.26.2 + diff --git a/kmod-testsuite-compress-modules-if-feature-is-enabled.patch b/kmod-testsuite-compress-modules-if-feature-is-enabled.patch new file mode 100644 index 0000000..12c4147 --- /dev/null +++ b/kmod-testsuite-compress-modules-if-feature-is-enabled.patch @@ -0,0 +1,103 @@ +From 4be01b2fc8f44c35184138ee9e21f2bc146c9056 Mon Sep 17 00:00:00 2001 +From: Lucas De Marchi +Date: Fri, 29 Jan 2021 18:35:59 -0800 +Subject: [PATCH 1/2] testsuite: compress modules if feature is enabled +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Since the output needs to be the same, regardless if the module is +compressed, change populate-modules.sh to conditionally compress the +module if that feature is enabled. + +This way we can execute the tests with any build-time configuration and +it should still pass. + +Suggested-by: Michal Suchánek +--- + Makefile.am | 2 +- + testsuite/populate-modules.sh | 27 ++++++++++++++++++--------- + testsuite/test-depmod.c | 2 -- + 3 files changed, 19 insertions(+), 12 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 702a665f0334..8c79349f1eb9 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -250,7 +250,7 @@ CREATE_ROOTFS = $(AM_V_GEN) ( $(RM) -rf $(ROOTFS) && mkdir -p $(dir $(ROOTFS)) & + find $(ROOTFS) -type d -exec chmod +w {} \; && \ + find $(ROOTFS) -type f -name .gitignore -exec rm -f {} \; && \ + $(top_srcdir)/testsuite/populate-modules.sh \ +- $(MODULE_PLAYGROUND) $(ROOTFS) ) && \ ++ $(MODULE_PLAYGROUND) $(ROOTFS) $(top_builddir)/config.h ) && \ + touch testsuite/stamp-rootfs + + build-module-playground: +diff --git a/testsuite/populate-modules.sh b/testsuite/populate-modules.sh +index b0cc932818e0..ae43884984b8 100755 +--- a/testsuite/populate-modules.sh ++++ b/testsuite/populate-modules.sh +@@ -4,6 +4,12 @@ set -e + + MODULE_PLAYGROUND=$1 + ROOTFS=$2 ++CONFIG_H=$3 ++ ++feature_enabled() { ++ local feature=$1 ++ grep KMOD_FEATURES $CONFIG_H | head -n 1 | grep -q \+$feature ++} + + declare -A map + map=( +@@ -99,15 +105,18 @@ done + + # start poking the final rootfs... + +-# gzip these modules +-for m in "${gzip_array[@]}"; do +- gzip "$ROOTFS/$m" +-done +- +-# zstd-compress these modules +-for m in "${zstd_array[@]}"; do +- zstd --rm $ROOTFS/$m +-done ++# compress modules with each format if feature is enabled ++if feature_enabled ZLIB; then ++ for m in "${gzip_array[@]}"; do ++ gzip "$ROOTFS/$m" ++ done ++fi ++ ++if feature_enabled ZSTD; then ++ for m in "${zstd_array[@]}"; do ++ zstd --rm $ROOTFS/$m ++ done ++fi + + for m in "${attach_sha1_array[@]}"; do + cat "${MODULE_PLAYGROUND}/dummy.sha1" >>"${ROOTFS}/$m" +diff --git a/testsuite/test-depmod.c b/testsuite/test-depmod.c +index 261559cab89b..d7802d7b2e0b 100644 +--- a/testsuite/test-depmod.c ++++ b/testsuite/test-depmod.c +@@ -25,7 +25,6 @@ + + #include "testsuite.h" + +-#ifdef ENABLE_ZLIB + #define MODULES_ORDER_UNAME "4.4.4" + #define MODULES_ORDER_ROOTFS TESTSUITE_ROOTFS "test-depmod/modules-order-compressed" + #define MODULES_ORDER_LIB_MODULES MODULES_ORDER_ROOTFS "/lib/modules/" MODULES_ORDER_UNAME +@@ -57,7 +56,6 @@ DEFINE_TEST(depmod_modules_order_for_compressed, + { } + }, + }); +-#endif + + #define SEARCH_ORDER_SIMPLE_ROOTFS TESTSUITE_ROOTFS "test-depmod/search-order-simple" + static noreturn int depmod_search_order_simple(const struct test *t) +-- +2.26.2 + diff --git a/kmod-testsuite.spec b/kmod-testsuite.spec index a50c2a4..6190502 100644 --- a/kmod-testsuite.spec +++ b/kmod-testsuite.spec @@ -38,6 +38,9 @@ Patch6: 0012-modprobe-print-unsupported-status.patch Patch7: usr-lib-modprobe.patch Patch8: no-stylesheet-download.patch Patch9: 0001-Fix-modinfo-F-always-shows-name-for-built-ins.patch +Patch10: kmod-populate-modules-Use-more-bash-more-quotes.patch +Patch11: kmod-testsuite-compress-modules-if-feature-is-enabled.patch +Patch12: kmod-also-test-xz-compression.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: docbook5-xsl-stylesheets @@ -47,9 +50,7 @@ BuildRequires: libtool BuildRequires: libxslt-tools BuildRequires: pkgconfig >= 0.21 BuildRequires: xz -BuildRequires: zstd BuildRequires: pkgconfig(liblzma) >= 4.99 -BuildRequires: pkgconfig(libzstd) >= 1.4.4 BuildRequires: pkgconfig(zlib) Requires: suse-module-tools %if !0%{?is_opensuse} @@ -74,7 +75,6 @@ export LDFLAGS="-Wl,-z,relro,-z,now" %configure \ --with-xz \ --with-zlib \ - --with-zstd \ --with-openssl \ --includedir="%_includedir/kmod" \ --with-rootlibdir="%_libdir" \ diff --git a/kmod.changes b/kmod.changes index f26aa6e..4bb8f2e 100644 --- a/kmod.changes +++ b/kmod.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Feb 4 08:55:08 UTC 2021 - Michal Suchanek + +- Fix tests to not test disabled features. Disable zstd again. + + kmod-populate-modules-Use-more-bash-more-quotes.patch + + kmod-testsuite-compress-modules-if-feature-is-enabled.patch + + kmod-also-test-xz-compression.patch + ------------------------------------------------------------------- Fri Jan 29 11:54:30 UTC 2021 - Dominique Leuenberger