BUG #13220: make uninstall removes man pages not belonging to PostgreSQL

Started by Nonamealmost 11 years ago3 messagesbugs
Jump to latest
#1Noname
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

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

#2Bruce Momjian
bruce@momjian.us
In reply to: Noname (#1)
Re: BUG #13220: make uninstall removes man pages not belonging to PostgreSQL

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. +

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

#3Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Bruce Momjian (#2)
Re: BUG #13220: make uninstall removes man pages not belonging to PostgreSQL

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

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs