[Zope-dev] Zope RPMs/debs and Linux FHS
Adam Manock
abmanock@earthlink.net
13 Oct 2002 12:15:42 -0400
Looks good,
I was planning to start from scratch with building a RPM for 2.6
that would work on at least RedHat 8.x AND 7.x.. Coincidentally,
this is something I planned to start on tomorrow! :-)
Instead, I'll take a few hours tomorrow to test your spec on
RedHat 8.0, it would be *really* good if this could be the basis
of and future 2.6 / 2.7 packaging efforts...
> - anybody has opinions on the packaging layout. Why is it advantageous
> to have many packages rather than one?
Zope, Zope-zserver and Zope-PCGI packages seem like a good idea.
Most RPM dists seem to have at least a "-server" sub package if they
provide a daemon (eg postgresql). Init scripts, the "data" dir, etc
all go in the "-server" subcomponent
[adam@blackbox adam]$ rpm -qa | grep postgresql
postgresql-7.2.2-1
postgresql-server-7.2.2-1
postgresql-libs-7.2.2-1
[adam@blackbox adam]$ rpm -ql postgresql-server
/etc/rc.d/init.d/postgresql
/usr/bin/initdb
/usr/bin/initlocation
/usr/bin/ipcclean
/usr/bin/pg_ctl
/usr/bin/pg_passwd
/usr/bin/postgres
/usr/bin/postmaster
/usr/lib/pgsql
/usr/lib/pgsql/backup
/usr/lib/pgsql/backup/pg_dumpall_new
/usr/lib/pgsql/plpgsql.so
/usr/share/locale/cs/LC_MESSAGES/postgres.mo
/usr/share/locale/de/LC_MESSAGES/postgres.mo
/usr/share/locale/hu/LC_MESSAGES/postgres.mo
/usr/share/locale/ru/LC_MESSAGES/postgres.mo
/usr/share/locale/zh_CN/LC_MESSAGES/postgres.mo
/usr/share/locale/zh_TW/LC_MESSAGES/postgres.mo
/usr/share/man/man1/initdb.1.gz
/usr/share/man/man1/initlocation.1.gz
/usr/share/man/man1/ipcclean.1.gz
/usr/share/man/man1/pg_ctl.1.gz
/usr/share/man/man1/pg_passwd.1.gz
/usr/share/man/man1/postgres.1.gz
/usr/share/man/man1/postmaster.1.gz
/usr/share/pgsql
/usr/share/pgsql/pg_hba.conf.sample
/usr/share/pgsql/pg_ident.conf.sample
/usr/share/pgsql/postgres.bki
/usr/share/pgsql/postgres.description
/usr/share/pgsql/postgresql.conf.sample
/var/lib/pgsql
/var/lib/pgsql/.bash_profile
/var/lib/pgsql/backups
/var/lib/pgsql/data
> - anybody has any opinions of where Zope files distributed via RPMs and
> debs should really go, especially wrt to the Linux FHS. I'm not sure
> there is a right answer, but I don't know beans about this, so I
> figure I'll ask. A file named 'Zope.spec.in' is attached to this
> email which is the input file to create a Zope RPM spec file during
> the make process, to give a better idea of how this works.
AFAIK on RedHat /opt or "mixed in" (/usr/bin etc) is fine, the argument
goes "if RPM tracks all the files for you, why use /usr/local or /opt?"
/opt is used too, the only problem being that it isn't often created
separate from the "/" partition, so there often isn't alot of space
there!
One "trick" to note is for creating the inituser (from 2.5.1):
# Declare the Superuser of the Default Zope Project
rm $RPM_BUILD_ROOT/usr/share/zope/inituser
%{PYTHONAPP} $RPM_BUILD_ROOT/usr/bin/zpasswd -u admin -p 123
$RPM_BUILD_ROOT/var/zope/inituser
chmod 0640 $RPM_BUILD_ROOT/var/zope/inituser
Adam