[databases-discuss] Webrev request: libpqxx, C++ API library for PostgreSQL
James Gates
james.gates at sun.com
Fri May 9 07:41:25 PDT 2008
1) usr/src/cmd/Makefile
You've made the libpqxx build dependent on the postgres 8.3 build
(because libpqxx is being delivered in the 8.3 packages). But you've
placed the source in it's own directory "postgres/libpqxx". Wouldn't it
make more sense for libpqxx to be in the postgres/postgresql-8.3
directory? That's how libpq is built & delivered.
But maybe, you've decided to release libpqxx with multiple versions in
future (e.g. 8.3 & 8.4) and thought this is the best this way? Have you
thought about libpqxx with multiple versions of postgres? And how is
this reflected in your directory structure & Makefile?
2) Your webrev doesn't show libpqxx-2.6.9.tar.gz as a new file. Is the
webrev correct? Are there other missing files?
3) usr/src/cmd/postgres/libpqxx/Makefile.sfw
This doesn't look like it could easily support building libpqxx for
multiple versions of postgres. It looks more like the libpqxx targets
should be part of each usr/src/cmd/postgres/postgresql-?.?/Makefile.sfw
file. This is especially true given that the protofix in
postgres/postgresql-8.3/Makefile.sfw will fail when run before libpqxx
is built (which is always the case with nightly).
So same question again - How do you handle libpqxx with multiple
versions of postgres? And how is this reflected in your directory
structure & Makefile?
4) usr/src/cmd/postgres/libpqxx/install-sfw
You shouldn't replace "64" with the with actual directory name. Why is
this necessary? All references to 64-bit directories should be with the
name "64" (because then it's platform independent). The symbolic links
of 64->amd64 & 64->sparcv9 does the work of finding the right file.
5) usr/src/pkgdefs/SUNWpostgr-83-libs/prototype_com
Includes file usr/postgres/8.3/lib/libpqxx.la. According to
http://filext.com/file-extension/la, this is a file that's used by the
GNU libtool during linking. So I assume the file is necessary if people
are using libpqxx.so with the GNU compiler/linker. Is that anticipated?
Do we even have a GNU libtool on Solaris?
You have included usr/postgres/8.3/bin/pqxx-config in the -libs package.
But pg_config is already in the -devel package. It would make more sense
(and would be more consistent) to put pqxx-config (and it's libpqxx.pc
files) in the -devel package.
6) libpqxx.so is linked with the C++ libraries:
libCstd.so.1 => /usr/lib/libCstd.so.1
libCrun.so.1 => /usr/lib/libCrun.so.1
These are part of the SUNWlibC package, so you need to update the depend
files of the postgres packages you are changing.
More information about the databases-discuss
mailing list