diff mbox

kbuild/mkspec: clean boot loader configuration on rpm removal

Message ID cf947ffc2e633b0a2b75c21bd42c2061f3c5d418.1456925798.git.pabeni@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Paolo Abeni March 2, 2016, 2:28 p.m. UTC
This patch add a rpm preuninstall scriptlet to cleanup the
boot loader configuration on kernel package uninstall.
The initrd for the to-be-removed kernel is deleted, too.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
---
 scripts/package/mkspec | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Hannes Frederic Sowa March 2, 2016, 2:38 p.m. UTC | #1
On 02.03.2016 15:28, Paolo Abeni wrote:
> This patch add a rpm preuninstall scriptlet to cleanup the
> boot loader configuration on kernel package uninstall.
> The initrd for the to-be-removed kernel is deleted, too.
>
> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
> ---
>   scripts/package/mkspec | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/scripts/package/mkspec b/scripts/package/mkspec
> index fe44d68..b6de63c 100755
> --- a/scripts/package/mkspec
> +++ b/scripts/package/mkspec
> @@ -138,6 +138,11 @@ echo "/sbin/installkernel $KERNELRELEASE /boot/.vmlinuz-$KERNELRELEASE-rpm /boot
>   echo "rm -f /boot/.vmlinuz-$KERNELRELEASE-rpm /boot/.System.map-$KERNELRELEASE-rpm"
>   echo "fi"
>   echo ""
> +echo "%preun"
> +echo "if [ -x /sbin/new-kernel-pkg ]; then"
> +echo "new-kernel-pkg --remove $KERNELRELEASE --rminitrd --initrdfile=/boot/initramfs-$KERNELRELEASE.img"
> +echo "fi"
> +echo ""
>   echo "%files"
>   echo '%defattr (-, root, root)'
>   echo "/lib/modules/$KERNELRELEASE"
>

Maybe we should also switch to new-kernel-pkg for the postinstall call? 
How about switching to kernel-install?

Thanks,
Hannes

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Josh Boyer March 2, 2016, 3:09 p.m. UTC | #2
On Wed, Mar 2, 2016 at 9:38 AM, Hannes Frederic Sowa
<hannes@stressinduktion.org> wrote:
> On 02.03.2016 15:28, Paolo Abeni wrote:
>>
>> This patch add a rpm preuninstall scriptlet to cleanup the
>> boot loader configuration on kernel package uninstall.
>> The initrd for the to-be-removed kernel is deleted, too.
>>
>> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
>> ---
>>   scripts/package/mkspec | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> diff --git a/scripts/package/mkspec b/scripts/package/mkspec
>> index fe44d68..b6de63c 100755
>> --- a/scripts/package/mkspec
>> +++ b/scripts/package/mkspec
>> @@ -138,6 +138,11 @@ echo "/sbin/installkernel $KERNELRELEASE
>> /boot/.vmlinuz-$KERNELRELEASE-rpm /boot
>>   echo "rm -f /boot/.vmlinuz-$KERNELRELEASE-rpm
>> /boot/.System.map-$KERNELRELEASE-rpm"
>>   echo "fi"
>>   echo ""
>> +echo "%preun"
>> +echo "if [ -x /sbin/new-kernel-pkg ]; then"
>> +echo "new-kernel-pkg --remove $KERNELRELEASE --rminitrd
>> --initrdfile=/boot/initramfs-$KERNELRELEASE.img"
>> +echo "fi"
>> +echo ""
>>   echo "%files"
>>   echo '%defattr (-, root, root)'
>>   echo "/lib/modules/$KERNELRELEASE"
>>
>
> Maybe we should also switch to new-kernel-pkg for the postinstall call? How
> about switching to kernel-install?

new-kernel-pkg probably shouldn't be used here either.  The
installkernel binary is the distro agnostic kernel installation tool
and the various distros provide that as either the tool they use or as
a wrapper.  Switching to new-kernel-pkg implies this would only be
viable on grubby based distros, and using kernel-install would require
systemd.

josh
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Paolo Abeni March 3, 2016, 9:09 a.m. UTC | #3
On Wed, 2016-03-02 at 10:09 -0500, Josh Boyer wrote:
> On Wed, Mar 2, 2016 at 9:38 AM, Hannes Frederic Sowa
> <hannes@stressinduktion.org> wrote:
> > On 02.03.2016 15:28, Paolo Abeni wrote:
> >>
> >> This patch add a rpm preuninstall scriptlet to cleanup the
> >> boot loader configuration on kernel package uninstall.
> >> The initrd for the to-be-removed kernel is deleted, too.
> >>
> >> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
> >> ---
> >>   scripts/package/mkspec | 5 +++++
> >>   1 file changed, 5 insertions(+)
> >>
> >> diff --git a/scripts/package/mkspec b/scripts/package/mkspec
> >> index fe44d68..b6de63c 100755
> >> --- a/scripts/package/mkspec
> >> +++ b/scripts/package/mkspec
> >> @@ -138,6 +138,11 @@ echo "/sbin/installkernel $KERNELRELEASE
> >> /boot/.vmlinuz-$KERNELRELEASE-rpm /boot
> >>   echo "rm -f /boot/.vmlinuz-$KERNELRELEASE-rpm
> >> /boot/.System.map-$KERNELRELEASE-rpm"
> >>   echo "fi"
> >>   echo ""
> >> +echo "%preun"
> >> +echo "if [ -x /sbin/new-kernel-pkg ]; then"
> >> +echo "new-kernel-pkg --remove $KERNELRELEASE --rminitrd
> >> --initrdfile=/boot/initramfs-$KERNELRELEASE.img"
> >> +echo "fi"
> >> +echo ""
> >>   echo "%files"
> >>   echo '%defattr (-, root, root)'
> >>   echo "/lib/modules/$KERNELRELEASE"
> >>
> >
> > Maybe we should also switch to new-kernel-pkg for the postinstall call? How
> > about switching to kernel-install?
> 
> new-kernel-pkg probably shouldn't be used here either.  The
> installkernel binary is the distro agnostic kernel installation tool
> and the various distros provide that as either the tool they use or as
> a wrapper.  Switching to new-kernel-pkg implies this would only be
> viable on grubby based distros, and using kernel-install would require
> systemd.

I'm sorry, I try to dig a bit, but I did not find any distro agnostic
kernel removal tools. Can you please point out some ?

Elsewhere can we stuck with new-kernel-pkg, plus eventual fall-back to
other options, i.e. kernel-install?

Thank you,

Paolo

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Michal Marek March 4, 2016, 9:55 p.m. UTC | #4
Dne 3.3.2016 v 10:09 Paolo Abeni napsal(a):
> I'm sorry, I try to dig a bit, but I did not find any distro agnostic
> kernel removal tools. Can you please point out some ?

There isn't any, so unfortunately we need a list of various
distro-specific methods, starting with ew-kernel-pkg. The %post script
should stay as is, though.

Michal
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Michal Marek March 4, 2016, 9:59 p.m. UTC | #5
Dne 2.3.2016 v 15:28 Paolo Abeni napsal(a):
> This patch add a rpm preuninstall scriptlet to cleanup the
> boot loader configuration on kernel package uninstall.
> The initrd for the to-be-removed kernel is deleted, too.
> 
> Signed-off-by: Paolo Abeni <pabeni@redhat.com>

Applied to kbuild.git#misc.

Michal

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index fe44d68..b6de63c 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -138,6 +138,11 @@  echo "/sbin/installkernel $KERNELRELEASE /boot/.vmlinuz-$KERNELRELEASE-rpm /boot
 echo "rm -f /boot/.vmlinuz-$KERNELRELEASE-rpm /boot/.System.map-$KERNELRELEASE-rpm"
 echo "fi"
 echo ""
+echo "%preun"
+echo "if [ -x /sbin/new-kernel-pkg ]; then"
+echo "new-kernel-pkg --remove $KERNELRELEASE --rminitrd --initrdfile=/boot/initramfs-$KERNELRELEASE.img"
+echo "fi"
+echo ""
 echo "%files"
 echo '%defattr (-, root, root)'
 echo "/lib/modules/$KERNELRELEASE"