diff --git a/fix-32bits.diff b/fix-32bits.diff deleted file mode 100644 index 659158f..0000000 --- a/fix-32bits.diff +++ /dev/null @@ -1,84 +0,0 @@ -Author: Robert Milasan -Date: 2012-06-20 08:41:03 +0000 - -Fix broken testsuites on 32-bit systems. - -diff --git a/testsuite/init_module.c b/testsuite/init_module.c -index 814998a..ed8b9fc 100644 ---- a/testsuite/init_module.c -+++ b/testsuite/init_module.c -@@ -16,6 +16,7 @@ - */ - - #include -+#include - #include - #include - #include -@@ -206,6 +207,12 @@ static inline bool module_is_inkernel(const char *modname) - return ret; - } - -+static uint8_t elf_identify(void *mem) -+{ -+ uint8_t *p = mem; -+ return p[EI_CLASS]; -+} -+ - TS_EXPORT long init_module(void *mem, unsigned long len, const char *args); - - /* -@@ -225,6 +232,8 @@ long init_module(void *mem, unsigned long len, const char *args) - const void *buf; - uint64_t bufsize; - int err; -+ uint8_t class; -+ off_t offset; - - init_retcodes(); - -@@ -237,13 +246,20 @@ long init_module(void *mem, unsigned long len, const char *args) - kmod_elf_unref(elf); - - /* -- * We couldn't find the module's name inside the ELF file. Just exit -- * as if it was successful -+ * We couldn't find the parse the ELF file. Just exit as if it was -+ * successful - */ - if (err < 0) - return 0; - -- modname = (char *)buf + offsetof(struct module, name); -+ /* We need to open both 32 and 64 bits module - hack! */ -+ class = elf_identify(mem); -+ if (class == ELFCLASS64) -+ offset = MODULE_NAME_OFFSET_64; -+ else -+ offset = MODULE_NAME_OFFSET_32; -+ -+ modname = (char *)buf + offset; - mod = find_module(modules, modname); - if (mod != NULL) { - errno = mod->errcode; -diff --git a/testsuite/stripped-module.h b/testsuite/stripped-module.h -index 9f97dae..19862f3 100644 ---- a/testsuite/stripped-module.h -+++ b/testsuite/stripped-module.h -@@ -13,6 +13,7 @@ struct list_head { - }; - - #define MODULE_NAME_LEN (64 - sizeof(unsigned long)) -+ - struct module - { - enum module_state state; -@@ -24,4 +25,8 @@ struct module - char name[MODULE_NAME_LEN]; - }; - -+/* padding */ -+#define MODULE_NAME_OFFSET_64 4 + 4 + 2 * 8 -+#define MODULE_NAME_OFFSET_32 4 + 2 * 4 -+ - #endif diff --git a/kmod-10.tar.sign b/kmod-10.tar.sign new file mode 100644 index 0000000..1c02d82 --- /dev/null +++ b/kmod-10.tar.sign @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.19 (GNU/Linux) + +iQIcBAABAgAGBQJQSPkjAAoJEJuipaYwy+pTaEIP/jmc3hTYUDc8oo6Fiu2rBPX+ +uIHqUWCHc20+UUlqBgd4py7T8MO7WbeJjrtoTOYouCenoN2H4BmOJ1AXXvCebYUy +I/GtiNqyFiylRBaGedHgedAOmNNU7H+DUTCJb86VkKsgdfSyIKChqghQX/wR8+6h +coQikuHnUPCjlfKQ68vpGsjigHvPhDdWaZXkcoB6HLN3P0C1K2ygYmcFBBZWgp8h +Y73tFmTbZ6pSi3ryhE5o9d6t4jTIoWDG6Gbi/Z8mKV1XFki7Sqmn8MCVLGZnY5wd +4vw2WU1CvMYsaoKHnTVlnY4uDwafKYI+ShTrkJMaLkqMpt0NaIyIZiJSoCrd9AZ0 +vOTgHrgvs0AE3wvlzM0S7W4Goncl/LHvvjbN+KBrZeeVaumYwRMP75Azf9jjC+/3 +T+ccQYsWuZAEopenGCBZ2L1kWjelZVmO2Fxnp3ihtXVFDarTlGDbI3KYSXZNrYod +HgpvKUG91q/Wsk5YuMsxyPZKpCi/v7UP2kjRfPX9MoOkKxZBFj1y037Jnuhah9j1 +75WhaKirh5RJbb+zs899v+AMhkhEkyF+pEB32Wzup8TVDu/QdpEwi2Lrbs8+GMX1 +Z3JupAOPP0e/G5veYAC/mmdHtr3I6KWpej7HlB0DegyKHnYi4RXxL3dc8xSFtaKk +6wP4K9SjqJtwDsMYja/n +=dUNy +-----END PGP SIGNATURE----- diff --git a/kmod-10.tar.xz b/kmod-10.tar.xz new file mode 100644 index 0000000..5f9eedc --- /dev/null +++ b/kmod-10.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:deb80df9e6aa34f965ecf329fd07db462b57ce515b9077eae5cdfac5197a7bff +size 1125436 diff --git a/kmod-9.tar.sign b/kmod-9.tar.sign deleted file mode 100644 index d73b8cc..0000000 --- a/kmod-9.tar.sign +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.19 (GNU/Linux) - -iQIcBAABAgAGBQJP4QHcAAoJEJuipaYwy+pT9cYP/ig2VPtHtgONZkF99dcaPjVU -CZDa5tFbmwNYmV08ufPSDX1Dnz2x9TnlJQyOwR8PgOK0VSjqgAeVZhyMy2FDz7Iu -0QTFg3VhbFMYZbmvBEXuNw6ljIkmOk1BSMocbFJEaRSn19feW+JvlVugPOY+P9sM -/ySGPyz8r8DztbA6DA9QlICPl6/+AdxRMnkMp/ZGKChg72o7UgHwkebVZ4LaZ/gw -cbq4gvoiqsScfoaWjmXHexDAhmhw+uyvBOGLDCJI2UgnZtHawiBmpC7c7M38t8YJ -REySLixnmbL3jo5k2WMbYF2Q4rWoS8zyQtQHlyZznO31bXU8ma9he3vHHsrM2evO -yhIDm0eSJvFl2/qwBDUP8C92ekj7DoUFbs6BRAJoda+tmcmAVepg0P5kjmiYxMzC -BbscpRh3vBJ+/MSWsPAcT3OXQKBStwenfc2VN63hoS4ghIXFJDYeCmR2yM+UWsrr -SYjn5+Gs0cNO/mVxHILW9SHioUA+oJ8x4/ns6NUuVonBn2Itk4NdI6GoMM3hS3X8 -WT5WlqmvUCV6cb04Xh+N5ZoE0vRKCDJNN8Nye1XtHUUctZPrjmb7HwNUVwEFyQVt -RObsxQtsxpPUFNh5V8MQAxt2PVcW9K1xPPJNSBMQc+RLSBB5AjEzLDKkcNzHmcWo -oEDOGRlbO2Mgpu2gXD/3 -=wsDr ------END PGP SIGNATURE----- diff --git a/kmod-9.tar.xz b/kmod-9.tar.xz deleted file mode 100644 index de4dc19..0000000 --- a/kmod-9.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0607267cb62dbc9009d0719f442a56f97f64d9983e20dbcaedfff9073abdcecf -size 1122668 diff --git a/kmod-so-version.diff b/kmod-so-version.diff deleted file mode 100644 index 37c3736..0000000 --- a/kmod-so-version.diff +++ /dev/null @@ -1,24 +0,0 @@ -Index: kmod-9/Makefile.am -=================================================================== ---- kmod-9.orig/Makefile.am -+++ kmod-9/Makefile.am -@@ -33,10 +33,6 @@ SED_PROCESS = \ - %.pc: %.pc.in Makefile - $(SED_PROCESS) - --LIBKMOD_CURRENT=3 --LIBKMOD_REVISION=3 --LIBKMOD_AGE=1 -- - noinst_LTLIBRARIES = libkmod/libkmod-util.la - libkmod_libkmod_util_la_SOURCES = libkmod/libkmod-hash.c \ - libkmod/libkmod-hash.h \ -@@ -65,7 +61,7 @@ EXTRA_DIST += libkmod/libkmod.sym - EXTRA_DIST += libkmod/COPYING libkmod/README - - libkmod_libkmod_la_LDFLAGS = $(AM_LDFLAGS) \ -- -version-info $(LIBKMOD_CURRENT):$(LIBKMOD_REVISION):$(LIBKMOD_AGE) \ -+ -version-number 2:1:3 \ - -Wl,--version-script=$(top_srcdir)/libkmod/libkmod.sym - libkmod_libkmod_la_DEPENDENCIES = libkmod/libkmod-util.la \ - ${top_srcdir}/libkmod/libkmod.sym diff --git a/kmod.changes b/kmod.changes index 72aa111..e81c8e1 100644 --- a/kmod.changes +++ b/kmod.changes @@ -2,6 +2,11 @@ Thu Sep 13 23:19:10 UTC 2012 - jengelh@inai.de - Provide the "modutils" virtual symbol +- Update to new upstream release 10 +* Read coresize from /sys if supported +* Add flag to kmod_module_probe_insert() to apply blacklisting + during probe only if mod is an alias. Now modprobe uses this + flag by default. ------------------------------------------------------------------- Wed Jun 20 08:41:03 UTC 2012 - rmilasan@suse.com diff --git a/kmod.spec b/kmod.spec index 071ca50..a1c4bda 100644 --- a/kmod.spec +++ b/kmod.spec @@ -21,7 +21,7 @@ Name: kmod Summary: Utilities to load modules into the kernel License: LGPL-2.1+ and GPL-2.0+ Group: System/Kernel -Version: 9 +Version: 10 Release: 0 Url: http://www.jonmasters.org/blog/2011/12/20/libkmod-replaces-module-init-tools/ #Announce: https://lwn.net/Articles/502622/ @@ -30,13 +30,8 @@ Url: http://www.jonmasters.org/blog/2011/12/20/libkmod-replaces-modul #Git-Clone: git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod Source: ftp://ftp.kernel.org/pub/linux/utils/kernel/kmod/%name-%version.tar.xz Source2: ftp://ftp.kernel.org/pub/linux/utils/kernel/kmod/%name-%version.tar.sign -Patch1: kmod-so-version.diff -Patch2: fix-32bits.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: libtool BuildRequires: pkgconfig >= 0.21 BuildRequires: xz BuildRequires: pkgconfig(liblzma) >= 4.99 @@ -89,43 +84,53 @@ in %lname. %prep %setup -q -%patch1 -p1 -%patch2 -p1 %build -autoreconf -fi # The extra --includedir gives us the possibility to detect dependent # packages which fail to properly use pkgconfig. %configure \ - --with-xz \ - --with-zlib \ - --includedir="%_includedir/%name-%version" \ - --with-rootlibdir="%_libdir" \ - --bindir="%_bindir" + --with-xz \ + --with-zlib \ + --includedir="%_includedir/%name-%version" \ + --with-rootlibdir="%_libdir" \ + --bindir="%_bindir" make %{?_smp_mflags} %install -%make_install -rm -f "%buildroot/%_libdir"/*.la +b="%buildroot"; +make install DESTDIR="$b"; +rm -f "$b/%_libdir"/*.la -# kmod-compat -#UsrMerge -mkdir -p "%buildroot"/{bin,sbin,%_lib}; -ln -s "%_bindir/kmod" "%buildroot/bin/"; -ln -s "%_bindir/kmod" "%buildroot/bin/lsmod"; +mkdir -p "$b/%_libexecdir/%name" "$b/%_sbindir" "$b/sbin"; for i in depmod insmod lsmod modinfo modprobe rmmod; do - ln -s "%_bindir/kmod" "%buildroot/sbin/$i"; + # + # kmod-compat and kmod-compat(usrmerge) + # + ln -s "%_bindir/kmod" "$b/%_sbindir/$i"; + ln -s "%_bindir/kmod" "$b/sbin/$i"; + + # + # Make symlinks also available in normal fashion, + # so one can actually run it. + # + ln -s "%_bindir/kmod" "$b/%_libexecdir/%name/$i"; done; +mkdir -p "$b/%_bindir" "$b/bin"; +for i in lsmod; do + ln -s "%_bindir/kmod" "$b/%_bindir/$i"; + ln -s "%_bindir/kmod" "$b/bin/$i"; +done; + +# +# make mkinitrd happy +# (last time checked it does not look into /usr) +# +mkdir -p "$b"/{bin,sbin,%_lib}; +ln -s "%_bindir/kmod" "$b/bin/"; %if "%_libdir" != "/%_lib" -ln -s "%_libdir/libkmod.so.2" "%buildroot/%_lib/"; -ln -s "%_libdir/libkmod.so.2.1.3" "%buildroot/%_lib/"; +ln -s "%_libdir/libkmod.so.2" "$b/%_lib/"; +ln -s "%_libdir/libkmod.so.2.2.0" "$b/%_lib/"; %endif -#EndUsrMerge -mkdir -p "%buildroot/%_sbindir"; -ln -s "%_bindir/kmod" "%buildroot/%_bindir/lsmod"; -for i in depmod insmod lsmod modinfo modprobe rmmod; do - ln -s "%_bindir/kmod" "%buildroot/%_sbindir/$i"; -done; %check make check @@ -138,18 +143,15 @@ make check %files %defattr(-,root,root) -%{_bindir}/kmod -#UsrMerge +%_bindir/kmod +%_libexecdir/%name /bin/kmod -#EndUsrMerge %_mandir/man5/modules.dep.bin.5* %files -n %lname %defattr(-,root,root) %_libdir/libkmod.so.2* -#UsrMerge /%_lib/libkmod.so.2* -#EndUsrMerge %files -n libkmod-devel %defattr(-,root,root) @@ -159,15 +161,6 @@ make check %files compat %defattr(-,root,root) -#UsrMerge -/bin/lsmod -/sbin/depmod -/sbin/insmod -/sbin/lsmod -/sbin/modinfo -/sbin/modprobe -/sbin/rmmod -#EndUsrMerge %_bindir/lsmod %_sbindir/depmod %_sbindir/insmod @@ -175,6 +168,15 @@ make check %_sbindir/modinfo %_sbindir/modprobe %_sbindir/rmmod +# UsrMerge +/bin/lsmod +/sbin/depmod +/sbin/insmod +/sbin/lsmod +/sbin/modinfo +/sbin/modprobe +/sbin/rmmod +# EndUsrMerge %_mandir/man5/depmod.d.5* %_mandir/man5/modprobe.d.5* %_mandir/man5/modules.dep.5*