>> %post >> ... >> +if [ -e /boot/vmlinuz-%{KERNELRELEASE} ] && file -bL /boot/vmlinuz-%{KERNELRELEASE} | grep -q " #%{release} "; then >> ... >> >> %preun ... >> +if [ -e /boot/vmlinuz-%{KERNELRELEASE} ] && file -bL /boot/vmlinuz-%{KERNELRELEASE} | grep -q " #%{release} "; then > I do not understand why this is needed. > Please explain. Of course. Fisrt of all, I have seen (i.e. openSUSE Tumbleweed) that in the same way that vmlinuz, System.map and config was not copied when the rpm was installed (because of the reason that you commented with the missing script), they were not removed when the rpm was removed, so I have added the lines to remove in a similar way as you suggested for install. And I have seen as well (i.e. openSUSE Tumbleweed)) that if the a new rpm is installed (same release but bigger build version to use default options for the tool), vmlinuz, System.map and config are not copied from %post because vmlinuz, System.map and config already exist and the situation is not good, because /lib/modules/{KERNELRELEASE} is updated but the commented files in /boot are not updated. That is the reason why I have tried to identify when vmlinuz, System.map and config are not the good ones, to copy too. Besides, in the commented situation, the older rpm (same release but older build version) is removed and with that, the new vmlinuz, System.map and config are removed too. That is the reason that I have tried to identify again the files, removing only the suitable vmlinuz, System.map and config with the same release and build number requested. > And, is the output of 'file' standardized? With no more information, file is going to print the strings in the file, that is, the information containig release, version, ... and here we can find what we are interested in. So in some way depends on vmlinuz binary. > You need to understand that ARCH is not always x86, > and /boot/vmlinuz-%{KERNELRELEASE} > is not always arch/x86/boot/bzImage. > > See arch/arm64/Makefile KBUILD_IMAGE := $(boot)/Image.gz > > For arm64, /boot/vmlinuz-%{KERNELRELEASE} is Image.gz > > 'file' says it is gzip data, that's all. > You cannot read the build version. You are right, again good catch. I will try to think something for aarch64. Maybe something more general, and independent of the kernel binary name, is possible and valid for other architectures, maybe with rpm command. If nothing comes up, I will do only for x86. > Unreadable. > I suggested code with indentation and quotation, > but you got rid of them. I did not want to modify the style. Ok, I will follow your suggestion, it's clearer to me too. Thanks Best regards José Ignacio