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@notebook ~]$ ls /lib/modules/
2.6.12-1.1387_FC4
[thl@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@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@notebook ~]$ ls /lib/modules/
2.6.11-1.1369_FC4 2.6.12-1.1387_FC4
[thl@notebook ~]$ ls /lib/modules/2.6.11-1.1369_FC4/
[thl@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@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@notebook ~]$ sudo rpm -e kernel-module-ndiswrapper-1.2-1.2.6.11_1.1369_FC4.i686
[thl@notebook ~]$ sudo rpm -e kernel-2.6.11-1.1369_FC4
[thl@notebook ~]$ ls /lib/modules/
2.6.12-1.1387_FC4
[thl@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/...
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(a)leemhuis.info>