[Fedora-packaging] Updated kernel-module-packaging example with ndiswrapper (Was: example kernel-module package)

Thorsten Leemhuis fedora at leemhuis.info
Sun Jul 3 15:25:04 UTC 2005


Am Sonntag, den 03.07.2005, 09:21 -0500 schrieb Tom 'spot' Callaway:
> On Sun, 2005-07-03 at 16:11 +0200, Thorsten Leemhuis wrote:
> 
> > - These macro definitions are now found in the top of the spec file:
> > %{!?kver:  %define  kver            %(uname -r)}
> >            %define  ksrc            %{_usrsrc}/kernels/%{kver}-%{_target_cpu}
> >            %define  moddir          /lib/modules/%{kver}/kernel/misc
> >            %define  mainpkgname     ndiswrapper
> >            %define  mainpkgversion  1.2
> >            %define  mainpgkrelease  1
> > Yes, in other packages I would not like these "mainpkg*" definitions on
> > the top, but in this type of package I think they are helpful.
> 
> I think you're mostly right. mainpkgversion and mainpkgrelease are
> redundant, however. Just use Version and Release for that.

/me thinks about that -- can't remember what my idea here was in the
beginning.

Removed.

> > - The main kernel-module package is now named
> > "kernel-module-%{mainpkgname}-base" (if someones knows something better
> > then "base" tell me). 
> 
> Perhaps instead of -base, it could be -source. I'm ambivalent on that,
> really.

Yeah, source might be better. Changed.

>[...]
> > - Avoid some problems when kernel-module and kernel are deleted in one
> > rpm transaction (anyone knows a better way to fix? "Requires(postun):
> > kernel-%{_target_cpu} = %{kver}" does not work):  
> > -- Only depmod when System.map is still there
> >  %postun -n kernel-module-%{mainpkgname}
> >  [ -e "/boot/System.map-%{kver}" ] && \
> >  /sbin/depmod -e -F /boot/System.map-%{kver} %{kver}> /dev/null || :
> > -- In %files:
> > %dir /lib/modules/%{kver}/
> > so that dir is removed during remove. 
> 
> The kernel package already owns that dir, I don't see why this is here.
> rpm removal ordering should take the module out first, then the kernel.
> Is that not the case?

No:

[thl at notebook ~]$ ls /lib/modules/
2.6.12-1.1387_FC4
[thl at notebook ~]$ sudo rpm -ivh /home/rpmbuild/rpmbuild/RPMS/i686/kernel-module-ndiswrapper-1.2-1.2.6.11_1.1369_FC4.i686.rpm /mnt/server/all/usr/www/fedora/linux/core/4/i386/os/Fedora/RPMS/kernel-2.6.11-1.1369_FC4.i686.rpm --oldpackage
Preparing...                ########################################### [100%]
   1:kernel                 ########################################### [ 50%]
   2:kernel-module-ndiswrapp########################################### [100%]
[thl at notebook ~]$ sudo rpm -e kernel-2.6.11-1.1369_FC4 kernel-module-ndiswrapper-1.2-1.2.6.11_1.1369_FC4.i686
[thl at notebook ~]$ ls /lib/modules/ 
2.6.11-1.1369_FC4  2.6.12-1.1387_FC4
[thl at notebook ~]$ ls /lib/modules/2.6.11-1.1369_FC4/
[thl at notebook ~]$ rpm -qpl /mnt/server/all/usr/www/fedora/linux/core/4/i386/os/Fedora/RPMS/kernel-2.6.11-1.1369_FC4.i686.rpm | grep '/lib/modules/2.6.11-1.1369_FC4$'
/lib/modules/2.6.11-1.1369_FC4
[thl at notebook ~]$ sudo rpm -ivh /home/rpmbuild/rpmbuild/RPMS/i686/kernel-module-ndiswrapper-1.2-1.2.6.11_1.1369_FC4.i686.rpm /mnt/server/all/usr/www/fedora/linux/core/4/i386/os/Fedora/RPMS/kernel-2.6.11-1.1369_FC4.i686.rpm --oldpackage
Preparing...                ########################################### [100%]
   1:kernel                 ########################################### [ 50%]
   2:kernel-module-ndiswrapp########################################### [100%]
[thl at notebook ~]$ sudo rpm -e kernel-module-ndiswrapper-1.2-1.2.6.11_1.1369_FC4.i686
[thl at notebook ~]$ sudo rpm -e kernel-2.6.11-1.1369_FC4
[thl at notebook ~]$ ls /lib/modules/
2.6.12-1.1387_FC4
[thl at notebook ~]$

Don't ask me why. Anyone any idea what's wrong here? Probably a stupid
error of mine I don't see.

> All in all, very good work. I think your proposal is shaping up to work
> well. Thanks for the time.

np -- what would be of more interest: skvidal, could something like
http://www.leemhuis.info/files/fedorarpms/MISC.fdr/kernel-module-example/kernel-module-ndiswrapper.spec
work together with yum or a slightly modified version of yum? Or is
there anything obvious wrong here that would confuse yum?
-- 
Thorsten Leemhuis <fedora at leemhuis.info>




More information about the Fedora-packaging mailing list