[petsc-dev] [Mike McQuaid] Re: [Homebrew/homebrew-core] PETSc: import from homebrew-science (#23598)

Satish Balay balay at mcs.anl.gov
Sun Feb 25 21:55:24 CST 2018


This is essentially what current uninstall script attempts to do [by keeping
track of installed files - i.e files that 'make install' copied over.

[there could be bugs introduced that broke this 'desing thingy?' - i.e
the change that introduced shutil.rmtree - and perhaps others that
need to be fixed]

But its not clear to me if we can do this for packages installed with
--download-package. We don't know how to get the list of files those
tools install.

Also if the package provides 'make uninstall' - for it to work - we
have to keep the sources arround [which i don't think we want to do] -
smilar to this install_manifest.txt feature.

Satish

On Mon, 26 Feb 2018, Jed Brown wrote:

> It would be pretty easy to provide the equivalent of CMake's
> install_manifest.txt.
> 
> https://cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F
> 
> "Smith, Barry F." <bsmith at mcs.anl.gov> writes:
> 
> >   For each package that has an uninstall we run the uninstall. (that is for no packages since it is unlikely any have an uninstaller)
> >
> >   For the other packages we can manually determine what they install and then list those items in the uninstall script. Not ideal but it will uninstall most of the items. 
> >
> >    Barry
> >
> >
> >> On Feb 25, 2018, at 8:17 PM, Satish Balay <balay at mcs.anl.gov> wrote:
> >> 
> >> On Sun, 25 Feb 2018, Lawrence Mitchell wrote:
> >> 
> >>> 
> >>> 
> >>>> On 25 Feb 2018, at 21:13, Jed Brown <jed at jedbrown.org> wrote:
> >>>> 
> >>>> 
> >>>> The try part of that commit (around os.remove) is necessary.  Also,
> >>>> "rmdir -p" provides a useful semantic in this context, but needs to be
> >>>> implemented manually in Python (or I don't know where that functionality
> >>>> is available in the standard library).
> >>> 
> >>> shutil.rmtree
> >> 
> >> I think [in uninstall script] - we want to delete dirs only if the dir
> >> is empty.  [if not empty - it could contain files installed by a
> >> different package - as its common to install multiple packages in the
> >> same prefix]
> >> 
> >> Also - thinking about it - its not clear if we can really do a proper
> >> uninstall - esp with --download-packages.
> >> 
> >> Previously - 'make install' would also install the downloaded packages
> >> and we kept track of them for the uninstall script. But now - we let
> >> each package do its own 'make install' to the prefix location. But we
> >> don't have an 'uninstall' option for these externalpackages. [I don't
> >> know if any of them provide 'make uninstall' feature]
> >> 
> >> Satish
> 



More information about the petsc-dev mailing list