Thread: RPM changes for 7.1.
Ok, after taking in feedback from several RPM users over the last six months or so, I have come up with a list of possible changes to the RPMset for PostgreSQL 7.1. I'd like comments on these changes. If there are now comments, I'll go ahead and make the changes. 1.) Addition of a postgresql-lib subpackage. Rationale: those using just the Perl, Python, or Tcl clients may not want the full psql cli and documetation installed just to use their client. This package would simply be the shared object dynamic load libraries necessary for any client. 2.) Addition of a postgresql-pltcl subpackage. Rationale: pl/tcl is currently included as part of the postgresql-tcl package. If someone has the need for a tcl-client ONLY installation, they currently cannot do so due to the postgresql-tcl package's dependency upon the server subpackage being loaded. Likewise, answering the question 'why not put pl/tcl in the main server package', someone needing the server package, but not pl/tcl, bight not want to have the full Tcl client installed just to run a server. 3.) Cross-distribution mechanisms. This is a work-in-progress -- but the eventual goal is a source RPM that will build working packages on the most popular RPM-based Linux distributions, as well as on other OS's that have RPM installed (RPM is not just for Linux). 4.) Addition of a postgresql-docs subpackage. The main package is rather large -- there may be those that want the docs but not the other programs that are in the main package. Now, the argument can be made that, if the docs are split out, then there is much less need for a separate libs subpackage -- and I am inclined to agree. I am certainly open to suggestions -- but the gist is that I am looking at ways for the RPM installation to have the minimum necessary footprint for what the user wants to do. I am a minimalist not because of a desire to save disk space -- disk is cheap, after all. I am a minimalist because of security -- if I don't _need_ Perl installed, then I shouldn't be forced to install Perl, for instance. A _full_ PostgreSQL RPM installation requires Python, Perl, Tcl/Tk, and X installed -- and many folk will not need nor will they want to have X installed on their production database server. The security angle is also why I use my own RPM's -- on a machine that has no compiler. It is hard for a malicious cracker to compile cracking tools or rootkits on my machine when no compiler exists on my machine. I have been cracked into once -- and I don't plan on being so obliging to the cracker next time one does get in. The from-source configure allows much flexibility in what parts get built -- I just want to provide the same or similar flexibility in the prebuilt RPM installation. I am cross-posting (via blind copy) this to -hackers since the community in -hackers is well-versed in system issues such as these. Replies should go to the -ports list, or directly to me. Many thanks for the feedback I have received thus far! -- Lamar Owen WGCR Internet Radio 1 Peter 4:11
On Mon, Dec 11, 2000 at 02:09:35PM -0500, Lamar Owen wrote: > > I am cross-posting (via blind copy) this to -hackers since the community > in -hackers is well-versed in system issues such as these. Ah, _that's_ why my procmail filter missed this one! Couldn't think of why you'd email me about RPMs directly, since I use Oliver's debs. Looks good, though, and the analysis applies regardless of the details of which packing system is used. You and Oliver would be well advised to consider using the same scheme, as much as possible. Here's the current set of Debian packages derived from the main postgresql source, with their descriptions: pgaccess - Tk/Tcl front-end for PostgreSQL database postgresql-slink - Package to ease upgrade of postgresql from Debian 2.1 to 2.2 libpgsql2 - Shared library libpq.so.2 for PostgreSQL postgresql-contrib - Additional facilities for PostgreSQL postgresql-test - Regression test suite for PostgreSQL libpgjava - Java database (JDBC) driver for PostgreSQL postgresql-pl - A procedural language for PostgreSQL ecpg - Embedded SQL for PostgreSQL libpgtcl - Tcl/Tk library and front-end for PostgreSQL. libpgsql - Library for connecting to PostgreSQL 6.3 backend postgresql-dev - Header files for libpq (postgresql library) postgresql - Object-relational SQL database, descended from POSTGRES. postgresql-doc - Documentation for the PostgreSQL database. postgresql-client - Front-end programs for PostgreSQL libpgperl - Perl modules for PostgreSQL. odbc-postgresql - ODBC support for PostgreSQL task-database-pg - PostgreSQL database the -pl package contains both plpgsql and pltcl. The descripton there needs updating. The task- package is an empty package, with dependencies that pull in a 'recommended set' of packages to fullfill a given task, in this case, running a postgresql database installation. It pulls in: postgresql postgresql-client pgaccess ecpg postgresql-doc postgresql-pl postgresql-contrib php-pgsql As you can see, Oliver has also taken the route of allowing the admin to load the minimum set of software for any configuration, except for the procedural languages on the server itself. Debian has package naming policies for library and development packages. Libraries are named libfoo, while development packages (usually header files) are foo-dev. Ross -- Ross J. Reedstrom, Ph.D., <reedstrm@rice.edu> NSBRI Research Scientist/Programmer Computer and Information Technology Institute Rice University, 6100 S. Main St., Houston, TX 77005
"Ross J. Reedstrom" wrote: >Here's the current set of Debian packages derived from the main postgresql >source, with theirdescriptions: ... > >the -pl package contains both plpgsql and pltcl. The descripton there >needs updating. This is a mistake, and the dependencies aren't right. pltcl ought to be in with libpgtcl, to share the dependency on tcl. I suppose I originally classed the PLs together, but there's plperl as well now. I'll be fixing this soon. -- Oliver Elphick Oliver.Elphick@lfix.co.uk Isle of Wight http://www.lfix.co.uk/oliver PGP: 1024R/32B8FAA1: 97 EA 1D 47 72 3F 28 47 6B 7E 39 CC 56 E4 C1 47 GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839 932A 614D 4C34 3E1D 0C1C ======================================== "Be of good courage, and he shall strengthen your heart, all ye that hopein the LORD." Psalms 31:24