pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: postgresql -- missing files?



Jan Danielsson <jan.m.danielsson%gmail.com@localhost> writes:

[from an earlier message]
> Makefile:41: /usr/pkg/lib/postgresql/pgxs/src/makefiles/pgxs.mk: No such file 
> or directory
> gmake: *** No rule to make target
> `/usr/pkg/lib/postgresql/pgxs/src/makefiles/pgxs.mk'.  Stop.

> Joerg Sonnenberger wrote:
>> On Wed, Jun 20, 2007 at 07:22:04PM +0200, Jan Danielsson wrote:
>>>    According to the PL/R developer, those files should have been
>>> installed for me when I installed postgresql. He suggests that perhaps
>>> there is a "postgres-devel" package. AFAIK, the general philosophy in
>>> pkgsrc is that there are no "devel" packages. When you install a
>>> package, you get it all -- which is the way I prefer it.
>> 
>> We don't install them, because there was literally NO use for them so
>> far. I also strongly question whether it makes sense at all. Seriously,
>> is that piece of software you see not using autoconf or so anyway? The
>> fragment saves barely no work...
>
>    I just want to verify: postgresql in pkgsrc will not be fixed to
> support projects like PL/R?
>
>    FWIW, I believe I have a working package. All I need is that missing
> file, AFAIK.

I am not deeply familiar with the postgresql install procedure, but my
reaction is that if a "standard postgresql install", meaning following
the directions in the source tarball and not using a packaging system
installs the file, the package should too.

If PL/R uses a file that's not part of the default install, then there's
a bug between postgresql and PL/R someplace.  But it seems fair enough
for pkgsrc to cope with that somehow.  It's not like postgresql is a
tiny package and a small file will hurt.

Looking at postgresql82, I see that it sets BUILD_DIRS to a number of
values:

postgresql82-client/Makefile:INSTALL_DIRS=      src/include
postgresql82-client/Makefile:INSTALL_DIRS+=     src/interfaces
postgresql82-client/Makefile:INSTALL_DIRS+=     src/bin
postgresql82-client/Makefile:INSTALL_DIRS+=     doc
postgresql82-client/Makefile:BUILD_DIRS=        ${INSTALL_DIRS}
postgresql82-client/Makefile:BUILD_DIRS+=       src/backend
postgresql82-plperl/Makefile:BUILD_DIRS=                src/pl/plperl
postgresql82-plpython/Makefile:BUILD_DIRS=              src/pl/plpython
postgresql82-pltcl/Makefile:BUILD_DIRS=         src/pl/tcl
postgresql82-server/Makefile:BUILD_DIRS=                src/backend
postgresql82-server/Makefile:BUILD_DIRS+=               
src/backend/utils/mb/conversion_procs
postgresql82-server/Makefile:BUILD_DIRS+=               src/timezone
postgresql82-server/Makefile:BUILD_DIRS+=               src/pl
postgresql82-tsearch2/Makefile:BUILD_DIRS=              
contrib/tsearch2/snowball contrib/tsearch2

I would argue that all of files installed by the native postgresql install
should be installed by the union of all the packages.

Plausible options seem to be adding a postgresql82-pgxs package (but
this seems silly), and adding the dir with the mk file to BUILD_DIRS for
one of the existing packages.  Does PL/R depend on the server or client?
It seems easy enough to add BUILD_DIRS+= and to add the file to the
PLIST.

Whether or not this is an elegant build system is another story, but
pkgsrc does not have such an aesthetic filter as part of its mission.

Comments from the maintainer?  Is it ok to add the file for Jan?

Attachment: pgpedpH4qEt7q.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index