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.