[Users] compat-wireless support

Samium Gromoff _deepfire at feelingofgreen.ru
Sun Sep 16 17:09:10 EDT 2012


Good day folks!

What is the status of compat-wireless patch[1] support in OpenVZ?

I've tried to build the RHEL6 SRPMs, and faced two issues.

A minor one is that rpmbuild does not properly detect the OpenVZ kernel
version, so that I had to slightly tweak the spec, by hardcoding the
module and kernel source directories.

The bigger problem is the source-level conflict, which appears to run
pretty deep:

[deepfire at feelingofgreen rpmbuild]$ rpmbuild -ba --target=`uname -m` --define 'kversion 2.6.32-042stab061.2' --define 'kvariants ""' SPECS/compat-wireless-next.spec
Building target platforms: x86_64
Building for target x86_64
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.g4Zv8f
+ umask 022
+ cd /root/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ cd /root/rpmbuild/BUILD
+ rm -rf compat-wireless-next-2012_07_03
+ /bin/mkdir -p compat-wireless-next-2012_07_03
+ cd compat-wireless-next-2012_07_03
+ /usr/bin/bzip2 -dc /root/rpmbuild/SOURCES/compat-wireless-2012-07-03.tar.bz2
+ /bin/tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ pushd compat-wireless-2012-07-03
~/rpmbuild/BUILD/compat-wireless-next-2012_07_03/compat-wireless-2012-07-03 ~/rpmbuild/BUILD/compat-wireless-next-2012_07_03
+ echo 'Patch #1 (compat-wireless-next-01-rhel6-compile.patch):'
Patch #1 (compat-wireless-next-01-rhel6-compile.patch):
+ /bin/cat /root/rpmbuild/SOURCES/compat-wireless-next-01-rhel6-compile.patch
+ /usr/bin/patch -s -p1 -b --suffix compat-wireless-next-01-rhel6-compile.patch --fuzz=0
+ echo 'Patch #2 (compat-wireless-next-02-redhat-drivers-disable-script.patch):'
Patch #2 (compat-wireless-next-02-redhat-drivers-disable-script.patch):
+ /bin/cat /root/rpmbuild/SOURCES/compat-wireless-next-02-redhat-drivers-disable-script.patch
+ /usr/bin/patch -s -p1 -b --suffix compat-wireless-next-02-redhat-drivers-disable-script.patch --fuzz=0
+ echo 'Patch #3 (compat-wireless-next-03-mask-kfifo.patch):'
Patch #3 (compat-wireless-next-03-mask-kfifo.patch):
+ /bin/cat /root/rpmbuild/SOURCES/compat-wireless-next-03-mask-kfifo.patch
+ /usr/bin/patch -s -p1 -b --suffix compat-wireless-next-03-mask-kfifo.patch --fuzz=0
+ popd
~/rpmbuild/BUILD/compat-wireless-next-2012_07_03
+ echo Flavors: default
Flavors: default
+ for flavor in default
+ cp -a compat-wireless-2012-07-03 _kmod_build-compat-wireless-next-default
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.aNouYo
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd compat-wireless-next-2012_07_03
+ LANG=C
+ export LANG
+ unset DISPLAY
+ for flavor in default
+ pushd _kmod_build-compat-wireless-next-default
~/rpmbuild/BUILD/compat-wireless-next-2012_07_03/_kmod_build-compat-wireless-next-default ~/rpmbuild/BUILD/compat-wireless-next-2012_07_03
+ ./scripts/driver-select redhat
Processing new driver-select request...
Backing up makefile: Makefile.bk
Backup exists: Makefile.bk
Backing up makefile: drivers/ssb/Makefile.bk
Backing up makefile: drivers/bcma/Makefile.bk
Backing up makefile: drivers/misc/eeprom/Makefile.bk
Backup exists: Makefile.bk
Backing up makefile: drivers/net/wireless/libertas/Makefile.bk
Backing up makefile: drivers/net/wireless/ti/wl12xx/Makefile.bk
Backing up makefile: drivers/net/wireless/ti/wl1251/Makefile.bk
Backing up makefile: drivers/net/wireless/Makefile.bk
Backing up makefile: drivers/net/wireless/mwifiex/Makefile.bk
+ make KLIB=/lib/modules/2.6.32-042stab061.2 KLIB_BUILD=/usr/src/kernels/2.6.32-042stab061.2/
./compat/scripts/gen-compat-config.sh: line 51: KLIB_BUILD: command not found
grep: /Makefile: No such file or directory
./scripts/gen-compat-autoconf.sh /root/rpmbuild/BUILD/compat-wireless-next-2012_07_03/_kmod_build-compat-wireless-next-default/.config /root/rpmbuild/BUILD/compat-wireless-next-2012_07_03/_kmod_build-compat-wireless-next-default/config.mk > include/linux/compat_autoconf.h
make -C /usr/src/kernels/2.6.32-042stab061.2/ M=/root/rpmbuild/BUILD/compat-wireless-next-2012_07_03/_kmod_build-compat-wireless-next-default modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-042stab061.2'
  CC [M]  /root/rpmbuild/BUILD/compat-wireless-next-2012_07_03/_kmod_build-compat-wireless-next-default/compat/main.o
  CC [M]  /root/rpmbuild/BUILD/compat-wireless-next-2012_07_03/_kmod_build-compat-wireless-next-default/compat/compat-2.6.33.o
  CC [M]  /root/rpmbuild/BUILD/compat-wireless-next-2012_07_03/_kmod_build-compat-wireless-next-default/compat/compat-2.6.34.o
  CC [M]  /root/rpmbuild/BUILD/compat-wireless-next-2012_07_03/_kmod_build-compat-wireless-next-default/compat/compat-2.6.35.o
  CC [M]  /root/rpmbuild/BUILD/compat-wireless-next-2012_07_03/_kmod_build-compat-wireless-next-default/compat/compat-2.6.36.o
/root/rpmbuild/BUILD/compat-wireless-next-2012_07_03/_kmod_build-compat-wireless-next-default/compat/compat-2.6.36.c:174:44: error: macro "__create_workqueue" requires 5 arguments, but only 4 given
/root/rpmbuild/BUILD/compat-wireless-next-2012_07_03/_kmod_build-compat-wireless-next-default/compat/compat-2.6.36.c: In function 'compat_system_workqueue_create':
/root/rpmbuild/BUILD/compat-wireless-next-2012_07_03/_kmod_build-compat-wireless-next-default/compat/compat-2.6.36.c:174: error: '__create_workqueue' undeclared (first use in this function)
/root/rpmbuild/BUILD/compat-wireless-next-2012_07_03/_kmod_build-compat-wireless-next-default/compat/compat-2.6.36.c:174: error: (Each undeclared identifier is reported only once
/root/rpmbuild/BUILD/compat-wireless-next-2012_07_03/_kmod_build-compat-wireless-next-default/compat/compat-2.6.36.c:174: error: for each function it appears in.)
/root/rpmbuild/BUILD/compat-wireless-next-2012_07_03/_kmod_build-compat-wireless-next-default/compat/compat-2.6.36.c:175:54: error: macro "__create_workqueue" requires 5 arguments, but only 4 given
make[3]: *** [/root/rpmbuild/BUILD/compat-wireless-next-2012_07_03/_kmod_build-compat-wireless-next-default/compat/compat-2.6.36.o] Error 1
make[2]: *** [/root/rpmbuild/BUILD/compat-wireless-next-2012_07_03/_kmod_build-compat-wireless-next-default/compat] Error 2
make[1]: *** [_module_/root/rpmbuild/BUILD/compat-wireless-next-2012_07_03/_kmod_build-compat-wireless-next-default] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.32-042stab061.2'
make: *** [modules] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.aNouYo (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.aNouYo (%build)

..and, indeed, the following hunk from patch-042stab061 makes the nature of this conflict obvious:

@@ -182,18 +182,24 @@ __create_workqueue_key(const char *name,
                                                                \
        __create_workqueue_key((name), (singlethread),          \
                               (freezeable), (rt), &__key,      \
-                              __lock_name);                    \
+                              __lock_name, ve);                \
 })
 #else
-#define __create_workqueue(name, singlethread, freezeable, rt) \
+#define __create_workqueue(name, singlethread, freezeable, rt, ve)     \


regards,
Samium Gromoff

---
1. http://people.redhat.com/sgruszka/compat-wireless-next/SRPMS/RHEL6/


More information about the Users mailing list