> Those installed files should be removed by %ghost markers. > I already have a local patch to do this. > (see the attachment) I like the idea of your new patch, a lot of things can be fixed in that way. Ok, I will remove the extra code to remove (%preun) in the patch. Just a comment about your patch: for openSUSE /boot/initramfs-* files are called /boot/initrd-* and maybe someone would not require it (i.e. embedded systems). If it is created it is normally removed and it might not be necessary (although I like your idea to control it). > I just asked you to fix up the code as I suggested in v4. Now I understand why no code was added in %preun. Ok, your suggestion was very good, but let me try and explain better with commands what I would like to fix after next point. When I said 'update' wasn't clear, I think. If it doesn't fit with your idea or global usage, I will include your suggestion like it is. > For me (on Fedora 39 and openSUSE Tumbleweed), rpm fails due to file conflict. > > vagrant@opensuse-tumbleweed20231218:~> sudo rpm -i > kernel-6.7.0_12924_g660a5f4a53e7-4.x86_64.rpm > file /lib/modules/6.7.0-12924-g660a5f4a53e7/vmlinuz from install of > kernel-6.7.0_12924_g660a5f4a53e7-4.x86_64 conflicts with file from > package kernel-6.7.0_12924_g660a5f4a53e7-3.x86_64 > > So, this does not happen. I was refering to the cases when zypper is used to install a new kernel with the same release and different build number or when 'rpm -i --replacefiles' is used (in this case it would be necessary to remove the old kernel with 'rpm -e --justdb' too). In this cases we only need the possibility of copying the files from the new package and not only if they don't exist. I have thought about an easy way (no extra or problematic command) and I think I have it. In addition to your suggestion (if the file does not exit in /boot), I will just compare the file in /boot with the file in /lib/modules/%{KERNELRELEASE} and if it is not the same, we allow copying: %post if [ -x /usr/bin/kernel-install ]; then /usr/bin/kernel-install add %{KERNELRELEASE} /lib/modules/%{KERNELRELEASE}/vmlinuz fi for file in vmlinuz System.map config; do if [ ! -e "/boot/${file}-%{KERNELRELEASE}" ] || ! cmp --silent "/lib/modules/%{KERNELRELEASE}/${file}" "/boot/${file}-%{KERNELRELEASE}"; then cp "/lib/modules/%{KERNELRELEASE}/${file}" "/boot/${file}-%{KERNELRELEASE}" fi done Let me try with a new patch to know your opinion. Thanks Best regards José Ignacio