Newer
Older
zope / zope.spec
%define python_minver 2.3.4

%define zope_user      zope
%define zope_group     %{zope_user}

%define zope_home      %{_libdir}/zope
%define software_home  %{zope_home}/lib/python
%define instance_home  %{_localstatedir}/lib/zope

%define zopectl        %{_bindir}/zopectl
%define runzope        %{_bindir}/runzope

Name:    zope
Summary: Web application server for flexible content management applications
Version: 2.8.5
Release: 1%{?dist}
License: ZPL
Group: 	 System Environment/Daemons
URL:     http://www.zope.org/
Source0: http://zope.org/Products/Zope/2.8.5/Zope-2.8.5-final.tgz
#Source10: http://www.zope.org/Products/Zope/Hotfix-2005-04-05/Hotfix-20050405/Hotfix_20050405.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

Source1: zope.init.in
Source2: zope.sysconfig.in
Source3: zope.zopectl.in
Source4: zope-README.CentOS
Source5: zope.logrotate.in
Source6: zope.logrotate.cron.in
Patch0:  zope-2.7.3-config.patch

BuildRequires: python-devel >= %{python_minver} 
BuildRequires: python >= %{python_minver} 
Requires:      python >= %{python_minver}

Requires(pre): /usr/sbin/useradd
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig, /sbin/service

%description
Zope is an application server framework that enables developers to quickly
build web applications such as intranets, portals, and content management
systems.

After starting Zope, you can access it by pointing your browser to
http://localhost:8080

WARNING: this zope package has been built on python 2.4.X, which is not
supported ! Do not file bugreports or ask for support on zope.org if you
choose to use this package.


%prep
%setup -q -n Zope-%{version}-final #-a 10
%patch0 -p1 -b .config
# remove the backup, or we'll install it too...
rm -f skel/etc/zope.conf.in.config

chmod -x skel/import/README.txt
cp -p %{SOURCE4} README.CentOS
cp -p %{SOURCE5} skel/etc/logrotate.conf.in


%build
./configure \
  --with-python=%{__python} \
  --prefix=$RPM_BUILD_ROOT%{zope_home} \
  --optimize
  
#    --no-compile

make %{?_smp_mflags}


%install
rm -rf $RPM_BUILD_ROOT
rm -f docs

# Create all required additional directories
for dir in %{zope_home} %{software_home} %{instance_home}/{Products,bin,var} \
    %{_sysconfdir}/sysconfig %{_bindir}; do
    mkdir -p $RPM_BUILD_ROOT$dir
done


install -D -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/zope
install -D -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/zope
install -D -m 755 %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/zopectl
install -D -m 755 %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/zope-logrotate
perl -pi -e 's,<<SYSCONFDIR>>,%{_sysconfdir},g;
             s,<<BINDIR>>,%{_bindir},g;
             s,<<LOCALSTATEDIR>>,%{_localstatedir},g;
             s,<<ZOPE_USER>>,%{zope_user},g' \
    $RPM_BUILD_ROOT%{_initrddir}/zope \
    $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/zope \
    $RPM_BUILD_ROOT%{_bindir}/zopectl \
    $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/zope-logrotate \
    README.CentOS skel/etc/zope.conf.in

# Install the skel, translating paths, into the build root
%{__python} "utilities/copyzopeskel.py" \
     --sourcedir="skel" \
     --targetdir="$RPM_BUILD_ROOT%{instance_home}" \
     --replace="INSTANCE_HOME:%{instance_home}" \
     --replace="SOFTWARE_HOME:%{software_home}" \
     --replace="ZOPE_HOME:%{zope_home}" \
     --replace="PYTHON:%{__python}" \

# Actually copy all the other files over
make install

# Hotfix
#cp -a Hotfix_20050405 $RPM_BUILD_ROOT%{zope_home}/lib/python/Products

chmod 700 $RPM_BUILD_ROOT%{instance_home}
chmod 755 $RPM_BUILD_ROOT%{zope_home}

# Symlink to include in the docs
ln -sf %{zope_home}/doc docs

# write version.txt
echo "Zope %{version}-%{release}" > \
    "$RPM_BUILD_ROOT%{zope_home}/lib/python/version.txt"

# Compile .pyc
%{__python} -c "import compileall; \
    compileall.compile_dir(\"$RPM_BUILD_ROOT%{zope_home}\", \
    ddir=\"%{zope_home}\", force=1)"



%clean
rm -rf $RPM_BUILD_ROOT


%pre
/usr/sbin/useradd -c "Zope user" -s /bin/false -r -d %{zope_home} \
    %{zope_user} 2>/dev/null || :


%post
# add zope init to runlevels
/sbin/chkconfig --add zope


%preun
if [ $1 -eq 0 ]; then
  /sbin/service zope stop >/dev/null 2>&1
  /sbin/chkconfig --del zope
fi



%files 
%defattr(-, root, root, -)
%doc %{zope_home}/doc
%doc docs README.CentOS
%config(noreplace) %{_sysconfdir}/sysconfig/zope
%config %{_initrddir}/zope
%config %{_sysconfdir}/cron.daily/zope-logrotate
%attr(0755, root, root) %{_bindir}/zopectl
%dir %{zope_home}
%{zope_home}/bin
%{zope_home}/import
%{zope_home}/lib
%dir %{zope_home}/skel
%{zope_home}/skel/bin
%{zope_home}/skel/Extensions
%{zope_home}/skel/import
%{zope_home}/skel/log
%{zope_home}/skel/Products
%{zope_home}/skel/README.txt
%{zope_home}/skel/var
%config %{zope_home}/skel/etc
%attr(-, %{zope_user}, %{zope_group}) %dir %{instance_home}
%attr(-, %{zope_user}, %{zope_group}) %{instance_home}/bin
%attr(-, %{zope_user}, %{zope_group}) %{instance_home}/Extensions
%attr(-, %{zope_user}, %{zope_group}) %{instance_home}/import
%attr(-, %{zope_user}, %{zope_group}) %{instance_home}/log
%attr(-, %{zope_user}, %{zope_group}) %{instance_home}/Products
%attr(-, %{zope_user}, %{zope_group}) %{instance_home}/README.txt
%attr(-, %{zope_user}, %{zope_group}) %{instance_home}/var
%attr(-, %{zope_user}, %{zope_group}) %config %{instance_home}/etc



%changelog
* Wed Jan 25 2006 Alex Tucker <alex@floop.org.uk> - 2.8.5
- Upgraded to 2.8.5, reworked for CentOS4

* Tue Oct 25 2005 Aurelien Bompard <gauret[AT]free.fr> 2.8.3-3
- rebuild

* Tue Oct 25 2005 Aurelien Bompard <gauret[AT]free.fr> 2.8.3-2
- add warning about zope 2.8 & python 2.4 (bug 171681)

* Sat Oct 22 2005 Aurelien Bompard <gauret[AT]free.fr> 2.8.3-1
- version 2.8.3

* Sat Oct 15 2005 Aurelien Bompard <gauret[AT]free.fr> 2.8.2-1
- version 2.8.2

* Sat Sep 10 2005 Aurelien Bompard <gauret[AT]free.fr> 2.8.1-1
- version 2.8.1

* Sun Jun 12 2005 Aurelien Bompard <gauret[AT]free.fr> 2.8.0-2
- rebuild

* Sat Jun 11 2005 Aurelien Bompard <gauret[AT]free.fr> 2.8.0-1
- version 2.8.0

* Sun Jun 05 2005 Aurelien Bompard <gauret[AT]free.fr> 2.7.6-2
- don't remove the zope user un postun (to keep the Data.fs to the
  correct owner after removal)

* Sun May 08 2005 Aurelien Bompard <gauret[AT]free.fr> 2.7.6-1%{?dist}
- version 2.7.6
- use disttag

* Thu Apr 07 2005 Aurelien Bompard <gauret[AT]free.fr> 2.7.5-2.fc4
- add hotfix

* Thu Mar 24 2005 Aurelien Bompard <gauret[AT]free.fr> 2.7.5-1.fc4
- version 2.7.5
- drop Epoch
- change release tag for FC4
- convert some tabs into spaces

* Wed Jan 26 2005 Aurelien Bompard <gauret[AT]free.fr> 2.7.4-1
- version 2.7.4
- flag the documentation as %%doc
- make %%zope_home go+rx to allow users to create instances and to allow
  access to docs
- add a logrotate cron job
- flag config files as %%config even in %%zope_home and %%instance_home

* Fri Dec 10 2004 Aurelien Bompard <gauret[AT]free.fr> 2.7.3-0.fdr.6
- activate "security-policy-implementation python" in zope.conf

* Sun Nov 21 2004 Aurelien Bompard <gauret[AT]free.fr> 2.7.3-0.fdr.5
- revert to zope's default directory tree to allow multiple instances
- make the zopectl script multiple-instaces-aware.
- add README.Fedora

* Fri Nov 12 2004 Aurelien Bompard <gauret[AT]free.fr> 2.7.3-0.fdr.4
- compile scripts in %zope_home/bin too
- keep skel dir in %zope_home to fix mkzopeinstance
- BuildRequire python, since python-devel doesn't require it.

* Fri Nov 12 2004 Aurelien Bompard <gauret[AT]free.fr> 2.7.3-0.fdr.3
- compile .pyc instead of just touch-ing them

* Thu Nov 11 2004 Aurelien Bompard <gauret[AT]free.fr> 2.7.3-0.fdr.2
- deal with leftover .pyc files
- minor spec cleanups

* Thu Nov 11 2004 Aurelien Bompard <gauret[AT]free.fr> 2.7.3-0.fdr.1
- fix scriptlets requirements
- use standard buildroot
- replace %%buildroot by RPM_BUILD_ROOT
- update to 2.7.3
- drop Hotfix
- drop patch 1, fixed upstream

* Tue Aug 10 2004 Aurelien Bompard <gauret[AT]free.fr> 2.7.2-0.fdr.3
- add hotfix from Zope.org: 
  http://zope.org/Products/Zope/Hotfix-200400807/Hotfix-20040807-alert

* Wed Aug 04 2004 Aurelien Bompard <gauret[AT]free.fr> 2.7.2-0.fdr.2
- add patch to warn the user that the initial user cannot be added while
  Zope is running (from Chris McDonough)

* Wed Aug 04 2004 Aurelien Bompard <gauret[AT]free.fr> 2.7.2-0.fdr.1
- version 2.7.2
- remove leftover byte-compilation in %%post
- Zope 2.7.x really requires python >= 2.3.3

* Wed Jul 14 2004 Rex Dieter <rexdieter at sf.net> 2.7.1-0.fdr.1
- 2.7.1
- move files created in %%post back into rpm.  Unowned files are bad.
- make (theoretically) buildable for all rh73-rh90,fc1/2,el3
  NOTE: lowerred python_minver to 2.2.2 to test builds, though (most) 
  docs claim 2.3.3 is required.  (??) 
- don't use Requires(preun,postun)
- use %%_smp_mflags

* Tue Apr 28 2004 Chris McDonough <chrism@plope.com> 2.7.0-0.fdr.1
- Prep for submission to Fedora.us by revising work done by Matthias
- Refer to source files by URL instead of by name
- Write version.txt into software home in post
- Don't ship byte-compiled files, instead compile them in post
- Add patch for inverted P_WAIT/P_NOWAIT in zdctl (fixes startup)
- Add patch for objectmanager bug that could effect sites that depend
  on userid/username separation
- Improved init script (OK and FAILED now are printed at the appropriate
  times)
- Remove runzope workaround by adding a <zoperunner> stanza to the
  config file.
- Start in runlevels 345.
- Known issues:
  - zopectl is started and runs as the root user at boot time,
    (although Zope itself runs as the zope user)
  - no distro-specific docs telling people which port the software
    runs on or how to add a user via zopectl adduser.

* Wed Feb 18 2004 Matthias Saou <http://freshrpms.net/> 2.7.0-0.6.fr
- Initial RPM release.
- The startup/stop needs to be modified further.
- Currently "zopectl" returns an error although Zope does start...