Thread: RPM changes for 7.1.

RPM changes for 7.1.

From
Lamar Owen
Date:
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

Re: RPM changes for 7.1.

From
"Ross J. Reedstrom"
Date:
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


Re: RPM changes for 7.1.

From
"Oliver Elphick"
Date:
"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