[PATCH] Makefile: allow 'make uninstall'

Peter Maydell posted 1 patch 1 year, 3 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230110151318.24462-1-peter.maydell@linaro.org
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, "Alex Bennée" <alex.bennee@linaro.org>, Thomas Huth <thuth@redhat.com>
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] Makefile: allow 'make uninstall'
Posted by Peter Maydell 1 year, 3 months ago
Meson supports an "uninstall", so we can easily allow it to work by
not suppressing the forwarding of it from Make to meson.

We originally suppressed this because Meson's 'uninstall' has a hole
in it: it will remove everything that is installed by a mechanism
meson knows about, but not things installed by "custom install
scripts", and there is no "custom uninstall script" mechanism.

For QEMU, though, the only thing that was being installed by a custom
install script was the LC_MESSAGES files handled by Meson's i18n
module, and that code was fixed in Meson commit 487d45c1e5bfff0fbdb4,
which is present in Meson 0.60.0 and later.  Since we already require
a Meson version newer than that, we're now safe to enable
'uninstall', as it will now correctly uninstall everything that was
installed.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/109
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index a48103cc8a1..ce2f83a684f 100644
--- a/Makefile
+++ b/Makefile
@@ -150,7 +150,7 @@ NINJAFLAGS = $(if $V,-v) $(if $(MAKE.n), -n) $(if $(MAKE.k), -k0) \
 ninja-cmd-goals = $(or $(MAKECMDGOALS), all)
 ninja-cmd-goals += $(foreach g, $(MAKECMDGOALS), $(.ninja-goals.$g))
 
-makefile-targets := build.ninja ctags TAGS cscope dist clean uninstall
+makefile-targets := build.ninja ctags TAGS cscope dist clean
 # "ninja -t targets" also lists all prerequisites.  If build system
 # files are marked as PHONY, however, Make will always try to execute
 # "ninja build.ninja".
-- 
2.34.1
Re: [PATCH] Makefile: allow 'make uninstall'
Posted by Christian Borntraeger 1 year, 3 months ago
Am 10.01.23 um 16:13 schrieb Peter Maydell:
> Meson supports an "uninstall", so we can easily allow it to work by
> not suppressing the forwarding of it from Make to meson.
> 
> We originally suppressed this because Meson's 'uninstall' has a hole
> in it: it will remove everything that is installed by a mechanism
> meson knows about, but not things installed by "custom install
> scripts", and there is no "custom uninstall script" mechanism.
> 
> For QEMU, though, the only thing that was being installed by a custom
> install script was the LC_MESSAGES files handled by Meson's i18n
> module, and that code was fixed in Meson commit 487d45c1e5bfff0fbdb4,
> which is present in Meson 0.60.0 and later.  Since we already require
> a Meson version newer than that, we're now safe to enable
> 'uninstall', as it will now correctly uninstall everything that was
> installed.
> 
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/109
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Always missed that functionality. Thanks.
Re: [PATCH] Makefile: allow 'make uninstall'
Posted by Thomas Huth 1 year, 3 months ago
On 10/01/2023 16.13, Peter Maydell wrote:
> Meson supports an "uninstall", so we can easily allow it to work by
> not suppressing the forwarding of it from Make to meson.
> 
> We originally suppressed this because Meson's 'uninstall' has a hole
> in it: it will remove everything that is installed by a mechanism
> meson knows about, but not things installed by "custom install
> scripts", and there is no "custom uninstall script" mechanism.
> 
> For QEMU, though, the only thing that was being installed by a custom
> install script was the LC_MESSAGES files handled by Meson's i18n
> module, and that code was fixed in Meson commit 487d45c1e5bfff0fbdb4,
> which is present in Meson 0.60.0 and later.  Since we already require
> a Meson version newer than that, we're now safe to enable
> 'uninstall', as it will now correctly uninstall everything that was
> installed.
> 
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/109
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>   Makefile | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)

Works for me!

Tested-by: Thomas Huth <thuth@redhat.com>
Re: [PATCH] Makefile: allow 'make uninstall'
Posted by Daniel P. Berrangé 1 year, 3 months ago
On Tue, Jan 10, 2023 at 03:13:18PM +0000, Peter Maydell wrote:
> Meson supports an "uninstall", so we can easily allow it to work by
> not suppressing the forwarding of it from Make to meson.
> 
> We originally suppressed this because Meson's 'uninstall' has a hole
> in it: it will remove everything that is installed by a mechanism
> meson knows about, but not things installed by "custom install
> scripts", and there is no "custom uninstall script" mechanism.
> 
> For QEMU, though, the only thing that was being installed by a custom
> install script was the LC_MESSAGES files handled by Meson's i18n
> module, and that code was fixed in Meson commit 487d45c1e5bfff0fbdb4,
> which is present in Meson 0.60.0 and later.  Since we already require
> a Meson version newer than that, we're now safe to enable
> 'uninstall', as it will now correctly uninstall everything that was
> installed.
> 
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/109
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>  Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


Re: [PATCH] Makefile: allow 'make uninstall'
Posted by Peter Maydell 1 year, 3 months ago
On Tue, 10 Jan 2023 at 15:13, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> Meson supports an "uninstall", so we can easily allow it to work by
> not suppressing the forwarding of it from Make to meson.

Oops, sorry for the double-post; both emails are identical,
so just ignore this second one.

-- PMM
Re: [PATCH] Makefile: allow 'make uninstall'
Posted by Paolo Bonzini 1 year, 3 months ago
Queued, thanks.

Paolo