Hello community,

here is the log from the commit of package kmod for openSUSE:Factory checked in 
at 2012-06-25 14:00:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kmod (Old)
 and      /work/SRC/openSUSE:Factory/.kmod.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kmod", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/kmod/kmod.changes        2012-04-23 
09:15:20.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kmod.new/kmod.changes   2012-06-25 
14:16:18.000000000 +0200
@@ -1,0 +2,15 @@
+Wed Jun 20 08:41:03 UTC 2012 - rmila...@suse.com
+
+- Update to new upstream release 9
+* build-sys: allow compressed modules in testsuite
+* build-sys: Make dirs writable on rootfs creation
+* depmod: use ferror and fclose to check for error
+* depmod: return error when index is truncated due to ENOSPC
+* depmod: fix coding-style issue in array declaration
+* depmod: fail if any index could not be created
+* depmod: don't return error if modules.builtin don't exist
+* libkmod-util: split function for usec conversion
+* libkmod-util: add missing stdbool.h include
+- Fix broken testsuites on 32bit systems.
+  add: fix-32bits.diff
+-------------------------------------------------------------------

Old:
----
  kmod-8.tar.sign
  kmod-8.tar.xz

New:
----
  fix-32bits.diff
  kmod-9.tar.sign
  kmod-9.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kmod.spec ++++++
--- /var/tmp/diff_new_pack.Q6Gnt2/_old  2012-06-25 14:16:20.000000000 +0200
+++ /var/tmp/diff_new_pack.Q6Gnt2/_new  2012-06-25 14:16:20.000000000 +0200
@@ -21,7 +21,7 @@
 Summary:        Utilities to load modules into the kernel
 License:        LGPL-2.1+ and GPL-2.0+
 Group:          System/Kernel
-Version:        8
+Version:        9
 Release:        0
 Url:            http://www.politreco.com/2011/12/announce-kmod-2/
 
@@ -30,6 +30,7 @@
 Source:         %name-%version.tar.xz
 Source2:        %name-%version.tar.sign
 Patch1:         kmod-so-version.diff
+Patch2:         fix-32bits.diff
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  autoconf
@@ -86,7 +87,8 @@
 
 %prep
 %setup -q
-%patch -P 1 -p1
+%patch1 -p1
+%patch2 -p1
 
 %build
 autoreconf -fi
@@ -130,6 +132,8 @@
 
 %postun -n %lname -p /sbin/ldconfig
 
+%clean
+
 %files
 %defattr(-,root,root)
 %{_bindir}/kmod

++++++ fix-32bits.diff ++++++
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 <assert.h>
+#include <elf.h>
 #include <errno.h>
 #include <dirent.h>
 #include <fcntl.h>
@@ -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
++++++ kmod-so-version.diff ++++++
--- /var/tmp/diff_new_pack.Q6Gnt2/_old  2012-06-25 14:16:20.000000000 +0200
+++ /var/tmp/diff_new_pack.Q6Gnt2/_new  2012-06-25 14:16:20.000000000 +0200
@@ -1,28 +1,13 @@
-From: Jan Engelhardt <jeng...@medozas.de>
-Upstream: this patch is too complex for upstream to handle
-
-Change the kmod Makefile from using -version-info to -version-number
-to make it clear that the kmod project is not trying to subvert the
-libtool "interface" number concept, but in fact does not do
-libtool-style counting.
-
-References: <alpine.lnx.2.01.1202070049200.12...@frira.zrqbmnf.qr>
-References: http://lists.gnu.org/archive/html/libtool/2012-02/msg00011.html
-
----
- Makefile.am |    6 +-----
- 1 file changed, 1 insertion(+), 5 deletions(-)
-
-Index: kmod-8/Makefile.am
+Index: kmod-9/Makefile.am
 ===================================================================
---- kmod-8.orig/Makefile.am
-+++ kmod-8/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=2
+-LIBKMOD_REVISION=3
 -LIBKMOD_AGE=1
 -
  noinst_LTLIBRARIES = libkmod/libkmod-util.la

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to