Message ID | 20230110151318.24462-1-peter.maydell@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | Makefile: allow 'make uninstall' | expand |
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
Queued, thanks. Paolo
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
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>
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.
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".
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(-)