Обсуждение: BUG #13220: make uninstall removes man pages not belonging to PostgreSQL
BUG #13220: make uninstall removes man pages not belonging to PostgreSQL
От
mario@mariovaldez.org
Дата:
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. Regards, Mario Valdez
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. +
Re: BUG #13220: make uninstall removes man pages not belonging to PostgreSQL
От
Alvaro Herrera
Дата:
Bruce Momjian wrote: > 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. Can't we create a "manifest" file? Keeping it in the build dir should be enough. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services