[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