On Sun, May 3, 2015 at 03:19:03AM +0000, mario@mariovaldez.org wrote:
> The following bug has been logged on the website:
>
> Bug reference: 13220
> Logged by: Mario Valdez
> Email address: mario@mariovaldez.org
> PostgreSQL version: 9.4.1
> Operating system: Linux
> Description:
>
> Executing the command "make uninstall" will remove all man pages in the
> DESTDIR/man1 and DESTDIR/man3 directories, even if there are files there
> from other programs. For example, if your DESTDIR is set to "/usr", man
> pages will be copied to /usr/man1 and /usr/man3, and if you run "make
> uninstall" all the man1 and man3 pages will be gone.
>
> The greediness of the unistall command only affects the man pages Makefile
> (doc/src/sgml/Makefile), all other Makefiles seems to delete only what was
> installe, no more, no less.
Ouch, I see your point:
uninstall:
rm -f '$(DESTDIR)$(htmldir)/html/'* $(addprefix '$(DESTDIR)$(mandir)'/man, 1/* 3/* $(sqlmansectnum)/*)
That Makefile assumes your man pages are in a Postgres-specific
directory, rather than shared with other applications. I am unclear how
to fix this as we don't actually have a list of files to uninstall;
rather, we just copy every file we have generated during the install.
I have added a Makefile comment about this undesirable behavior in case
we ever find a way to fix it. The cleanest way would be to build the
docs as part of the uninstall, get a list of those files, then delete
the files from the install and the man directories.
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ Everyone has their own god. +