Hi All! I (once again) played a bit around with kernel-modules and a scheme for packaging those for fedora-extras. A patch for mock to pass the kernel-version for which the kernel-module-pkg should be build and a discussion about it and its usage in plague currently happens on fedora-buildsys-list. I also did some experiments with binary packages based on the KernelModuleProposal 2 ( http://www.fedoraproject.org/wiki/Extras/KernelModuleProposal ) and how yum handles those. To make my life easier I hacked up a test-script that creates a kernel-module testing-repo for yum. Those interested can find everything needed at http://www.leemhuis.info/files/fedorarpms/MISC.fdr/km-testing-yum Warning, use at your own risk. create_testrepo.sh creates a testrepo with ndiswrapper-rpms build from the two SRPMS (they are nearly identical with those from the KernelModuleProposal 2 with some slightly changes to simplify testing) in that dir. You need to install the SRPMS to your rpmbuild folder manually. You probably also need to adjust some variables in the script and copy two kernels from updates-testing over. The problems that showed up during the tests (on a fresh FC4, only UP-Kernel installed and yum updated to the latest version from updates-released [no other update]) are described below. Note, this is not meant as a rant against yum. I really like yum. It just meant as a "that the state with kernel-module{s,-proposal} and yum ATM -- if we like it or not". Seth (or anybody else), if you're interested in more details, debug output or even bug reports filled: just say and I'll do what I can. If anybody else has ideas what also could or should be tested send a mail and I'll add it. ####################### Adding a repo with > ndiswrapper-1.1-1.i386.rpm > kernel-module-ndiswrapper-1.1-1.2.6.11_1.1369_FC4.i686.rpm > kernel-module-ndiswrapper-1.1-1.2.6.11_1.1369_FC4smp.i686.rpm in it and typing ># yum --disablerepo=updates-released --enablerepo=step_1 install 'kernel-module-ndiswrapper' will result in: > [...] > Dependencies Resolved > > ============================================================================= > Package Arch Version Repository > Size > ============================================================================= > Installing: > kernel-module-ndiswrapper i686 1.1-1.2.6.11_1.1369_FC4smp > step_1 3.3 k > Installing for dependencies: > kernel-smp i686 2.6.11-1.1369_FC4 base > 13 M > ndiswrapper i386 1.1-1 step_1 > 22 k > > Transaction Summary > ============================================================================= > Install 3 Package(s)his > [...] Seems yum prefers to install the kernel-module for the smp kernel and therefor also installs that kernel even when a UP-Kernel is installed already. Not very nice :-( ####################### Nearly the same problem as above happened when I used ># yum --disablerepo=updates-released --enablerepo=step_1 ndiswrapper > [...] > Dependencies Resolved > > ============================================================================= > Package Arch Version Repository > Size > ============================================================================= > Installing: > ndiswrapper i386 1.1-1 step_1 > 22 k > Installing for dependencies: > kernel-module-ndiswrapper i686 1.1-1.2.6.11_1.1369_FC4smp > step_1 3.3 k > kernel-smp i686 2.6.11-1.1369_FC4 base > 13 M > > Transaction Summary > ============================================================================= > Install 3 Package(s) > [...] > ####################### Okay, next test; Both UP- and SMP-Kernel are installed now (as it normally is the case on SMP-Systems). typing > # yum --disablerepo=updates-released --enablerepo=step_1 install 'kernel-module-ndiswrapper' or > # yum --disablerepo=updates-released --enablerepo=step_1 ndiswrapper will result in something like this: > [...] > Dependencies Resolved > > ============================================================================= > Package Arch Version Repository > Size > ============================================================================= > Installing: > kernel-module-ndiswrapper i686 1.1-1.2.6.11_1.1369_FC4smp > step_1 3.3 k > Installing for dependencies: > ndiswrapper i386 1.1-1 step_1 > 22 k > > Transaction Summary > ============================================================================= > Install 2 Package(s) > [...] In and ideal world yum would install modules for both up and smp in that case. Note: The problems described up until here probably can happen with the naming schemes currently used by Livna (where uname is in the name of the package, e.g. kernel-module-ndiswrapper-2.6.11_1.1369_FC4smp-1.1-1.i686.rpm), too. We had some of those problems in the past. ####################### Next test (only with SMP-kernel): New Ndiswrapper-Version. This is in the repo now: > kernel-module-ndiswrapper-1.1-1.2.6.11_1.1369_FC4.i686.rpm > kernel-module-ndiswrapper-1.1-1.2.6.11_1.1369_FC4smp.i686.rpm > kernel-module-ndiswrapper-1.1-2.2.6.11_1.1369_FC4.i686.rpm > kernel-module-ndiswrapper-1.1-2.2.6.11_1.1369_FC4smp.i686.rpm > ndiswrapper-1.1-1.i386.rpm > ndiswrapper-1.1-2.i386.rpm Works now! Did not with older yum version. Problem was: kernel-modules normally are installed, not updated. But in this case the pgk needs to be updated cause the files in the package would conflict otherwise. > [...] > Dependencies Resolved > > ============================================================================= > Package Arch Version Repository > Size > ============================================================================= > Installing: > kernel-module-ndiswrapper i686 1.1-2.2.6.11_1.1369_FC4smp > step_2 3.3 k > Updating: > ndiswrapper i386 1.1-2 step_2 > 21 k > Removing: > kernel-module-ndiswrapper i686 1.1-1.2.6.11_1.1369_FC4smp > installed 11 > > Transaction Summary > ============================================================================= > Install 1 Package(s) > Update 1 Package(s) > Remove 1 Package(s) > [...] ####################### I did two further test it this point (also only with SMP-kernel) and they worked like they should: - I added a new kernel (2.6.12-1.1447_FC4) to the repo but the ndiswrapper-module was not yet in the repo -- yum updated the kernel - later I added the module (kernel-module-ndiswrapper-1.1-2.2.6.12_1.1447_FC4smp); yum installed it ####################### Last Test (for now). I placed another updated kernel and (at the same time) a update of ndiswrapper itself in the repo: > kernel-2.6.12-1.1447_FC4.i686.rpm > kernel-2.6.12-1.1456_FC4.i686.rpm > kernel-module-ndiswrapper-1.1-1.2.6.11_1.1369_FC4.i686.rpm > kernel-module-ndiswrapper-1.1-1.2.6.11_1.1369_FC4smp.i686.rpm > kernel-module-ndiswrapper-1.1-2.2.6.11_1.1369_FC4.i686.rpm > kernel-module-ndiswrapper-1.1-2.2.6.11_1.1369_FC4smp.i686.rpm > kernel-module-ndiswrapper-1.1-2.2.6.12_1.1447_FC4.i686.rpm > kernel-module-ndiswrapper-1.1-2.2.6.12_1.1447_FC4smp.i686.rpm > kernel-module-ndiswrapper-1.2-1.2.6.12_1.1456_FC4.i686.rpm > kernel-module-ndiswrapper-1.2-1.2.6.12_1.1456_FC4smp.i686.rpm > kernel-smp-2.6.12-1.1447_FC4.i686.rpm > kernel-smp-2.6.12-1.1456_FC4.i686.rpm > ndiswrapper-1.1-1.i386.rpm > ndiswrapper-1.1-2.i386.rpm > ndiswrapper-1.2-1.i386.rpm Yum installs the new kernel, new ndiswrapper and new kernel-module-ndiswrapper (as it should). But here we hit a problem with our proposal. Older kernel-module-versions stay installed, but they probably won't work with the new ndiswrapper-utils-package (maybe not in the case of ndiswrapper, but ati-fglrx, nvidia-glx, qemu and other pkg. likely will have this problem). I thought a Obsoletes in the kernel-module-ndiswraper.spec like the following might help: >Obsoletes: kernel-module-%{mainpkgname} < %{version}-%{release} And it did -- a bit: > [...] > Dependencies Resolved > > ============================================================================= > Package Arch Version Repository > Size > ============================================================================= > Installing: > kernel-module-ndiswrapper i686 1.2-1.2.6.12_1.1456_FC4smp > step_5 3.4 k > replacing kernel-module-ndiswrapper.i686 > 1.1-2.2.6.11_1.1369_FC4smp > > kernel-smp i686 2.6.12-1.1456_FC4 step_5 > 14 M > Updating: > ndiswrapper i386 1.2-1 step_5 > 21 k > > Transaction Summary > ============================================================================= > Install 2 Package(s) > Update 1 Package(s) > Remove 0 Package(s) > > Is this ok [y/N]: y > Downloading Packages: > Running Transaction Test > Finished Transaction Test > Transaction Test Succeeded > Running Transaction > Installing: kernel-smp ######################### > [1/4] > Installing: kernel-module-ndiswrapper ######################### > [2/4] > Updating : ndiswrapper ######################### > [3/4] > Cleanup : ndiswrapper ######################### > [4/4] > > Installed: kernel-module-ndiswrapper.i686 0:1.2-1.2.6.12_1.1456_FC4smp > kernel-smp.i686 0:2.6.12-1.1456_FC4 > Updated: ndiswrapper.i386 0:1.2-1 > Replaced: kernel-module-ndiswrapper.i686 0:1.1-2.2.6.11_1.1369_FC4smp > kernel-module-ndiswrapper.i686 0:1.1-2.2.6.12_1.1447_FC4smp > Complete! But huuuh, why are they still installed? afterwards? > $ rpm -qa 'kernel-module-ndiswrapper*' > kernel-module-ndiswrapper-1.1-2.2.6.11_1.1369_FC4smp > kernel-module-ndiswrapper-1.1-2.2.6.12_1.1447_FC4smp > kernel-module-ndiswrapper-1.2-1.2.6.12_1.1456_FC4smp > $ rpm -Va 'kernel-module-ndiswrapper*' && echo okay > okay Something seems wrong here. Anybody any idea what? -- Thorsten Leemhuis <fedora@xxxxxxxxxxxxx> -- Fedora-packaging mailing list Fedora-packaging@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-packaging