Experimental Physics and Industrial Control System
On 06/15, Ralph Lange wrote:
> The right thing would be saving the list of all installed files during the
> build and have "make uninstall" remove exactly the files that were
> installed.
> But that is actually what package managers are about, and pretty much
> out-of-scope for the build itself.
The right thing would be to make it only uninstall whatever it
installed, no more and no less. How that is achieved is up to the
implementation. If the build system can't correctly perform an
uninstall, then it shouldn't provide that target. GNU Make considers
uninstall to be a standard target [1], and there's lots of non-GNU-Make
software that provides an uninstall target too, so I don't think
uninstall is out of scope for a build system.
I'm actually not a big fan, though, of an uninstall target for any
software because I think it's not always clear what the behavior should
be. Strictly, if an install target created a directory and then created
a file in that directory, then the uninstall should remove that file
as well as the directory that got created if the directory is empty.
I'd bet some uninstall targets don't do that. Also, when it comes
to configuration files, strictly, if the install target installed
a configuration file, then the uninstall should remove it. That's
potentially undesirable, though, if the configuration file contains
local changes. I've seen some projects provide an "uninstall-all" or
"uninstallall" target that *does* remove any configuration files that
were installed by the install target, and then they make the uninstall
target *not* remove any configuration files that were installed. So,
they're trying to provide behavior in the uninstall target that does
not lose local changes, and they're providing an uninstall-all target
that really does uninstall everything that was installed including
configuration files that might contain local changes.
Lewis
[1] https://www.gnu.org/software/make/manual/html_node/Standard-Targets.html
- References:
- Problem with INSTALL_LOCATION and "make uninstall" in 7.0.1 Mark Rivers
- Re: Problem with INSTALL_LOCATION and "make uninstall" in 7.0.1 Andrew Johnson
- Re: Problem with INSTALL_LOCATION and "make uninstall" in 7.0.1 Ralph Lange
- Navigate by Date:
- Prev:
Re: Q: Structured argument types for PVA RPC service call Michael Davidsaver
- Next:
wrapped shared_ptr games Michael Davidsaver
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
<2018>
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Problem with INSTALL_LOCATION and "make uninstall" in 7.0.1 Ralph Lange
- Next:
Re: Problem with INSTALL_LOCATION and "make uninstall" in 7.0.1 Dirk Zimoch
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
<2018>
2019
2020
2021
2022
2023
2024