current build scripts

This commit is contained in:
Ralf Becker 2014-04-19 10:46:27 +00:00
parent 3f4d96d03c
commit 6b50b26f99
6 changed files with 1139 additions and 0 deletions

View File

@ -0,0 +1,281 @@
Source: egroupware-epl
Section: web
Priority: optional
Maintainer: Lars Volker <lv@stylite.de>
Build-Depends: debhelper (>= 5), po-debconf
Standards-Version: 3.8.0
Homepage: http://www.stylite.de/EPL
Package: egroupware-epl
Architecture: all
Depends: egroupware-epl-core, egroupware-epl-stylite, egroupware-epl-jdots, egroupware-epl-pixelegg, ${egw:Modules}, ${misc:Depends}
Replaces: egroupware
Description: web-based groupware suite - metapackage
${commondesc}
.
This package is a metapackage containing dependencies on all the
EGroupware applications. It can be used to conveniently install
EGroupware with all available applications.
Package: egroupware-epl-core
Architecture: all
Depends: apache2,
libapache2-mod-php5,
php5-cli,
php5-sqlite,
php5-mysql | php5-pgsql | php5-odbc,
php5-gd, php-log, php-pear,
egroupware-epl-egw-pear,
perl,
php5-mcrypt,
${misc:Depends}
Recommends: mysql-server, php-apc, mysql-client | postgresql-client
Suggests: egroupware-epl,
php5-ldap,
php5-mhash,
php5-auth-pam
Provides: egroupware-epl-addressbook, egroupware-epl-etemplate
Replaces: egroupware-core, egroupware-addressbook, egroupware-epl-addressbook, egroupware-etemplate, egroupware-epl-etemplate
Description: web-based groupware suite - core modules
${commondesc}
.
The core package provides the modules for initial setup, global
administration, and preferences, and the API for the applications. It
does not, by itself, provide any groupware functionality. The actual
EGroupware applications are shipped separately in packages named
"egroupware-epl-<name>".
Package: egroupware-epl-bookmarks
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}),
${misc:Depends}
Replaces: egroupware-bookmarks
Description: web-based groupware suite - bookmark management application
${commondesc}
.
This EGroupware application provides a bookmark management facility.
Package: egroupware-epl-calendar
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}), egroupware-epl-infolog (>= ${binary:Version}),
egroupware-epl-notifications (>= ${binary:Version}),
${misc:Depends}
Replaces: egroupware-calendar
Description: web-based groupware suite - calendar management application
${commondesc}
.
This EGroupware application provides a powerful calendar with a meeting
request system, alarms, iCal and e-Mail support, and ACL security.
Package: egroupware-epl-developer-tools
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}),
${misc:Depends}
Replaces: egroupware-developer-tools
Description: web-based groupware suite - developer tools
${commondesc}
.
This EGroupware application contains tools for EGroupware developers
and translators. The translation tools allow creating and extending
translation files for EGroupware. They can search the sources for new
or added phrases and show the ones missing in a given language.
Package: egroupware-epl-emailadmin
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}),
${misc:Depends}, php5-imap
Replaces: egroupware-emailadmin
Description: web-based groupware suite - e-mail user administration application
${commondesc}
.
This EGroupware application allows the administration of e-mail user
accounts. It is intended to be used with the package
egroupware-epl-mail.
Package: egroupware-epl-esync
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}),
${misc:Depends}
Replaces: egroupware-esync
Description: web-based groupware suite - esync application
${commondesc}
.
Z-Push based ActiveSync protocol implementation.
Package: egroupware-epl-mail
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}), egroupware-epl-emailadmin (>= ${binary:Version}),
${misc:Depends}
Provides: mail-reader, imap-client
Replaces: egroupware-felamimail, egroupware-epl-felamimail
Description: web-based groupware suite - e-mail application
${commondesc}
.
Mail is an e-mail application for EGroupware.
Package: egroupware-epl-filemanager
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}),
${misc:Depends}
Suggests: php5-cli
Replaces: egroupware-filemanager
Description: web-based groupware suite - file manager application
${commondesc}
.
This EGroupware application provides a web-based file manager.
Abilities include all common file actions (upload, mkdir, rename,
delete, copy, move), creating, and editing text files, and syncing with
the file system. Per file/directory comments are stored, and version
history is tracked. Group sharing and ACLs are fully supported.
Package: egroupware-epl-importexport
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}),
${misc:Depends}
Replaces: egroupware-importexport
Description: web-based groupware suite - importexport application
${commondesc}
.
This eGroupWare application is a framework for egroupware to handle
imports and exports.
Package: egroupware-epl-infolog
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}), ${misc:Depends}
Replaces: egroupware-infolog
Description: web-based groupware suite - infolog application
${commondesc}
.
This EGroupware application allows tracking on-going and previous support
requests, phone calls, and other customer relations.
Package: egroupware-epl-manual
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}), egroupware-epl-wiki (>= ${binary:Version}),
${misc:Depends}
Replaces: egroupware-manual
Description: web-based groupware suite - manual
${commondesc}
.
This package contains the EGroupware manual, provided as an
EGroupware application.
Package: egroupware-epl-news-admin
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}),
${misc:Depends}
Replaces: egroupware-news-admin
Description: web-based groupware suite - news administration interface
${commondesc}
.
This EGroupware application provides an interface to handle a simple
web-based news system.
Package: egroupware-epl-notifications
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}),
${misc:Depends}
Replaces: egroupware-notifications
Description: web-based groupware suite - notifications
${commondesc}
.
This package contains the EGroupware notifications, provided as an
EGroupware application.
Package: egroupware-epl-phpbrain
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}),
${misc:Depends}
Replaces: egroupware-phpbrain
Description: web-based groupware suite - phpbrain application
${commondesc}
.
This EGroupware application provides a knowledge base system.
Package: egroupware-epl-projectmanager
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}), php5-gd, jpgraph-epl,
${misc:Depends}
Replaces: egroupware-projectmanager
Description: web-based groupware suite - project management application
${commondesc}
.
This EGroupware application provides a project workflow tracker.
Package: egroupware-epl-registration
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}),
${misc:Depends}
Replaces: egroupware-registration
Description: web-based groupware suite - registration application
${commondesc}
.
This EGroupware application allows users to create EGroupware accounts
through a web interface. Site administrators can decide what pieces of
information are requested and whether each is required or not.
Package: egroupware-epl-resources
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}), egroupware-epl-filemanager (>= ${binary:Version}),
${misc:Depends}
Suggests: egroupware-epl-calendar
Replaces: egroupware-resources
Description: web-based groupware suite - resource manager application
${commondesc}
.
This EGroupware application provides a resource management and booking
system, which integrates into EGroupware's calendar.
Package: egroupware-epl-sambaadmin
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}),
php5-ldap,
${misc:Depends}
Replaces: egroupware-sambaadmin
Description: web-based groupware suite - Samba administration application
${commondesc}
.
This EGroupware application allows managing LDAP-based Samba servers.
Package: egroupware-epl-sitemgr
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}),
${misc:Depends}
Replaces: egroupware-sitemgr
Description: web-based groupware suite - site manager application
${commondesc}
.
This is a content management system application for EGroupware.
Package: egroupware-epl-timesheet
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}),
${misc:Depends}
Suggests: egroupware-epl-projectmanager
Replaces: egroupware-timesheet
Description: web-based groupware suite - timesheet application
${commondesc}
.
This EGroupware application allows tracking times and other activities
for the project manager.
Package: egroupware-epl-tracker
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}), egroupware-epl-notifications (>= ${binary:Version}),
${misc:Depends}
Replaces: egroupware-tracker
Description: web-based groupware suite - tracker application
${commondesc}
.
This EGroupware application is a universal tracker for bugs, feature
requests, etc. with voting and bounties.
Package: egroupware-epl-wiki
Architecture: all
Depends: egroupware-epl-core (>= ${binary:Version}),
${misc:Depends}
Replaces: egroupware-wiki
Description: web-based groupware suite - wiki application
${commondesc}
.
This EGroupware application provides a wiki.

View File

@ -0,0 +1,2 @@
/var/lib/egroupware/header.inc.php
/etc/egroupware/apache.conf

118
doc/rpm-build/debian.rules Normal file
View File

@ -0,0 +1,118 @@
#!/usr/bin/make -f
SHELL = /bin/sh -e
PACKAGES := $(shell dh_listpackages)
MODULES = $(filter-out core,$(patsubst egroupware-epl-%,%,$(filter egroupware-epl-%,$(PACKAGES))))
COREDIR = debian/egroupware-epl-core/usr/share/egroupware
COREDOC = debian/egroupware-epl-core/usr/share/doc/egroupware-core
PACKAGEDIR = debian/egroupware-epl-$${APP}/usr/share/egroupware/$${APPDIR}
PACKAGEDOC = debian/egroupware-epl-$${APP}/usr/share/doc/egroupware-$${APPDIR}
COPYRIGHT = -iname 'copyright*' -or -iname 'copying*' -or -iname '*license*'
CHANGELOG = -iname 'changelog*'
EXTRADOC = -iname readme -or -iname todo
FINDOPT = -type f
APPFILES = -not \( -path '*/doc/*' -or -path '.' -or -name '*.pl' -or $(COPYRIGHT) -or $(CHANGELOG) -or -iname install -or $(EXTRADOC) \)
SPECIALDOC = -size 0 -or -iname install -or $(CHANGELOG) -or $(COPYRIGHT) -or \
-name '*.sgml' -or -name '*.lyx' -or -name '*.ps' -or -name '*.dvi' -or -name '*.rtf'
DOCFILES = -not \( $(SPECIALDOC) \)
INSTALL = install -D -m 644
clean:
dh_testdir
dh_testroot
debconf-updatepo
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# apply the patch
cat ./doc/rpm-build/class.uiasyncservice.inc.php.patch | patch -p1
# customize apache config
mkdir -p $(CURDIR)/debian/egroupware-epl-core/etc/egroupware
sed 's/\/usr\/share\/pear/\/usr\/share\/php:\/usr\/local\/zend\/share\/pear/' $(CURDIR)/doc/rpm-build/apache.conf > $(CURDIR)/debian/egroupware-epl-core/etc/egroupware/apache.conf
# install core modules
for DIR in admin home phpgwapi preferences etemplate addressbook setup doc; do \
cd $(CURDIR)/$${DIR}; \
find $(FINDOPT) $(APPFILES) \
-exec $(INSTALL) {} $(CURDIR)/$(COREDIR)/$${DIR}/{} \; ; \
done
# install applications
# lv: activesync (tm) microsoft and has to be renamed
for APP in $(MODULES) ; do \
APPDIR=$$(echo $${APP} | sed 's/-/_/g') ; \
if [ "$${APP}" = "esync" ]; then \
APPDIR="activesync"; \
fi; \
if [ -d $(CURDIR)/$${APPDIR} ] ; then \
cd $(CURDIR)/$${APPDIR}; \
find $(FINDOPT) $(APPFILES) \
-exec $(INSTALL) {} $(CURDIR)/$(PACKAGEDIR)/{} \; ; \
if [ -d $(CURDIR)/$${APPDIR}/doc ] ; then \
cd $(CURDIR)/$${APPDIR}/doc; \
find $(FINDOPT) $(DOCFILES) \
-exec $(INSTALL) {} $(CURDIR)/$(PACKAGEDOC)/{} \; ;\
fi ; \
else \
echo "PACKAGING ERROR: directory $${APPDIR} not found" 1>&2; exit 1 ; \
fi ; \
done
# install cron-file
mkdir -p debian/egroupware-epl-core/etc/cron.d
sed 's/apache/www-data/' doc/rpm-build/egroupware.cron > debian/egroupware-epl-core/etc/cron.d/egroupware
dh_install
# delete some stuff
for APKG in $(PACKAGES) ; do \
if [ -f debian/$${APKG}.remove ] ; then \
perl -l0 -p -e '' debian/$${APKG}.remove | xargs -0ri /bin/sh -c "rm -rf debian/$${APKG}/{}" ; \
fi ; \
done
# make postinstall executable
#chmod a+x debian/egroupware-epl-core/usr/share/egroupware/doc/rpm-build/post_install.php
ls -al debian/egroupware-epl-*/usr/share/egroupware/*/*cli.php debian/egroupware-epl-*/usr/share/egroupware/phpgwapi/cron/*.php debian/egroupware-epl-*/usr/share/egroupware/doc/rpm-build/*.php
chmod a+x debian/egroupware-epl-*/usr/share/egroupware/*/*cli.php debian/egroupware-epl-*/usr/share/egroupware/phpgwapi/cron/*.php debian/egroupware-epl-*/usr/share/egroupware/doc/rpm-build/*.php
binary-indep: build install
dh_testdir -i
dh_testroot -i
dh_installdebconf -i
dh_installdocs -i
dh_installexamples -i
dh_installchangelogs -i
dh_link -i
dh_compress -i -X .php
dh_fixperms -i
dh_installdeb -i
(echo -n "egw:Modules="; for x in $(MODULES); do echo -n "egroupware-epl-$$x,"; done; echo) >>debian/egroupware-epl.substvars
perl -l0 -p -e 's/^/-V/' debian/substvars | xargs -0 dh_gencontrol -i --
dh_md5sums -i
dh_builddeb -i
binary: binary-indep binary-arch
.PHONY: build binary binary-arch binary-indep clean install
# vim: ts=4 noet

BIN
doc/rpm-build/debian.tar.gz Normal file

Binary file not shown.

View File

@ -0,0 +1,11 @@
Format: 1.0
Source: egroupware-epl
Binary: egroupware-epl, egroupware-epl-core, egroupware-epl-bookmarks, egroupware-epl-calendar, egroupware-epl-developer-tools, egroupware-epl-emailadmin, egroupware-epl-esync, egroupware-epl-mail, egroupware-epl-filemanager, egroupware-epl-infolog, egroupware-epl-manual, egroupware-epl-news-admin, egroupware-epl-notifications, egroupware-epl-phpbrain, egroupware-epl-projectmanager, egroupware-epl-registration, egroupware-epl-resources, egroupware-epl-sambaadmin, egroupware-epl-sitemgr, egroupware-epl-timesheet, egroupware-epl-tracker, egroupware-epl-wiki, egroupware-esync, egroupware-phpfreechat
Architecture: all
Version: 14.1.20140417-1
Maintainer: Ralf Becker <rb@stylite.de>
Homepage: http://www.stylite.de/EPL
Standards-Version: 3.8.0
Build-Depends: debhelper (>= 5), po-debconf
Debtransform-Tar: egroupware-epl-14.1.20140417.tar.gz
Debtransform-Files-Tar: debian.tar.gz phpfreechat_data_public.tar.gz

View File

@ -0,0 +1,727 @@
Name: egroupware-epl
Version: 14.1.20140417
Release:
Summary: EGroupware is a web-based groupware suite written in php
Group: Web/Database
License: GPLv2
URL: http://www.egroupware.org/
Vendor: Stylite GmbH, http://www.stylite.de/
Packager: Ralf Becker <rb@stylite.de>
Prefix: /usr/share
%define egwdir %{prefix}/egroupware
%define egwdatadir /var/lib/egroupware
%define egw_packagename eGroupware
#
# Define opensuse_version to tell opensuse 11.1 (1110) from sles11 (1110) and suse 10.1 from sles 10
%if "0%{?suse_version:1}%{!?sles_version:0}" == "010"
%define opensuse_version %{suse_version}
%endif
%if 0%{?suse_version}
%if 0%{?opensuse_version} < 1200
%define php php5
%else
# opensuse 12+ uses /usr/bin/php again
%define php php
%endif
%if 0%{?sles_version} < 1210
%define php php
%endif
%define httpdconfd /etc/apache2/conf.d
%define distribution SUSE Linux %{?suse_version}
%if 0%{?sles_version}
# sle 10 and 11 does NOT contain libtidy
%define extra_requires apache2 mod_php_any php_any_db php-dom php-bz2 php-openssl php-zip php-ctype php-sqlite %{php}-xml %{php}-xmlreader %{php}-xmlwriter %{php}-dom
%else
%define extra_requires apache2 apache2-mod_php5 php_any_db php5-dom php5-bz2 php5-openssl php5-zip php5-ctype php5-sqlite php5-tidy %{php}-xml %{php}-xmlreader %{php}-xmlwriter %{php}-dom
%endif
%define cron cron
%define apache_user wwwrun
%define apache_group www
%define pear_dir \\/usr\\/share\\/php5\\/PEAR:\\/etc\\/php5
%else
%define php php
%define httpdconfd /etc/httpd/conf.d
%define cron crontabs
%define apache_user apache
%define apache_group apache
%define pear_dir \\/usr\\/share\\/pear
%endif
%define install_log /root/%{name}-install.log
%define post_install /usr/bin/%{php} %{egwdir}/doc/rpm-build/post_install.php --source_dir %{egwdir} --data_dir %{egwdatadir}
%if 0%{?fedora_version}
%define osversion %{?fedora_version}
%define distribution Fedora Core %{?fedora_version}
%define extra_requires httpd php-mysql php-xml php-tidy
%endif
%if 0%{?mandriva_version}
%define osversion %{?mandriva_version}
%define distribution Mandriva %{?mandriva_version}
%define extra_requires apache php-mysql php-dom php-pdo_mysql php-pdo_sqlite php-tidy
# try to keep build from searching (for wrong) dependencys
%undefine __find_provides
%undefine __find_requires
%endif
%if 0%{?rhel_version}
%define osversion %{?rhel_version}
%define distribution Red Hat %{?rhel_version}
%define extra_requires httpd php-mysql php-xml php-tidy
%endif
%if 0%{?centos_version}
%define osversion %{?centos_version}
%define distribution CentOS %{?centos_version}
%define extra_requires httpd php-mysql php-xml php-tidy
%endif
Distribution: %{distribution}
Source0: %{name}-%{version}.tar.gz
Source1: %{name}-egw-pear-%{version}.tar.bz2
#Source2: %{name}-stylite-%{version}.tar.bz2
Source3: %{name}-pixelegg-%{version}.tar.bz2
#Source4: %{name}-esyncpro-%{version}.tar.bz2
Source5: %{name}-jdots-%{version}.tar.bz2
Source6: phpfreechat_data_public.tar.gz
Source8: %{name}-rpmlintrc
#Source9: %{name}-gallery-%{version}.tar.bz2
Patch0: class.uiasyncservice.inc.php.patch
#Patch1: revert-php-path-suse.patch
#Patch2: mandriva_upload_tmp_dir.patch
BuildRoot: %{_tmppath}/%{name}-buildroot
#otherwise build fails because of jar files in G2
BuildRequires: unzip sed
Buildarch: noarch
AutoReqProv: no
Requires: %{name}-core = %{version}
Requires: %{name}-egw-pear = %{version}
#Requires: %{name}-stylite = %{version}
Requires: %{name}-jdots = %{version}
Requires: %{name}-esync = %{version}
Requires: %{name}-bookmarks = %{version}
Requires: %{name}-calendar = %{version}
Requires: %{name}-developer_tools = %{version}
Requires: %{name}-emailadmin = %{version}
Requires: %{name}-filemanager = %{version}
Requires: %{name}-infolog = %{version}
Requires: %{name}-importexport = %{version}
Requires: %{name}-jdots = %{version}
Requires: %{name}-mail = %{version}
Requires: %{name}-manual = %{version}
Requires: %{name}-news_admin = %{version}
Requires: %{name}-notifications = %{version}
Requires: %{name}-phpbrain = %{version}
Requires: %{name}-phpfreechat = %{version}
Requires: %{name}-pixelegg = %{version}
Requires: %{name}-projectmanager = %{version}
Requires: %{name}-registration = %{version}
Requires: %{name}-resources = %{version}
Requires: %{name}-sambaadmin = %{version}
Requires: %{name}-sitemgr = %{version}
Requires: %{name}-timesheet = %{version}
Requires: %{name}-tracker = %{version}
Requires: %{name}-wiki = %{version}
Obsoletes: %{egw_packagename}
Obsoletes: %{egw_packagename}-core
Obsoletes: %{egw_packagename}-egw-pear
Obsoletes: %{egw_packagename}-esync
Obsoletes: %{egw_packagename}-addressbook
Obsoletes: %{egw_packagename}-bookmarks
Obsoletes: %{egw_packagename}-calendar
Obsoletes: %{egw_packagename}-developer_tools
Obsoletes: %{egw_packagename}-emailadmin
Obsoletes: %{egw_packagename}-felamimail
Obsoletes: %{egw_packagename}-filemanager
Obsoletes: %{egw_packagename}-infolog
Obsoletes: %{egw_packagename}-importexport
Obsoletes: %{egw_packagename}-manual
Obsoletes: %{egw_packagename}-news_admin
Obsoletes: %{egw_packagename}-notifications
Obsoletes: %{egw_packagename}-phpbrain
Obsoletes: %{egw_packagename}-phpfreechat
Obsoletes: %{egw_packagename}-phpsysinfo
Obsoletes: %{egw_packagename}-polls
Obsoletes: %{egw_packagename}-projectmanager
Obsoletes: %{egw_packagename}-registration
Obsoletes: %{egw_packagename}-resources
Obsoletes: %{egw_packagename}-sambaadmin
Obsoletes: %{egw_packagename}-sitemgr
Obsoletes: %{egw_packagename}-timesheet
Obsoletes: %{egw_packagename}-tracker
Obsoletes: %{egw_packagename}-wiki
# packages no longer in 14.1
Obsoletes: %{name}-felamimail
Obsoletes: %{name}-phpsysinfo
Obsoletes: %{name}-polls
%post
# Check binary paths and create links for opensuse/sles
# create symlink for suse to get scripts with /usr/bin/php working
%if 0%{?suse_version}
if [ ! -f /usr/bin/php -a -x /usr/bin/php5 ]; then \
echo "Installing php -> php5 alternative"; \
/usr/sbin/update-alternatives --install /usr/bin/php php /usr/bin/php5 99; \
fi
if [ ! -f /usr/bin/pear -a -x /usr/bin/pear5 ]; then \
echo "Installing pear -> pear5 alternative"; \
/usr/sbin/update-alternatives --install /usr/bin/pear pear /usr/bin/pear5 99; \
fi
%endif
%if 0%{?rhel_version} || 0%{?fedora_version} || 0%{?centos_version}
chcon -R -u user_u -r object_r -t httpd_sys_content_t %{egwdatadir}
setsebool -P httpd_can_network_connect=1
%endif
/bin/date >> %{install_log}
%{post_install} 2>&1 | tee -a %{install_log}
echo "EGroupware install log saved to %{install_log}"
%description
EGroupware is a web-based groupware suite written in PHP.
EGroupware EPL combines Stylite's actual EGroupware enhancements and the recent development of the EGroupware open source project in one software package.
- Brand new Stylite features, which are not available publicly in the community edition of EGroupware
- The latest possible state of open source community features.
This package automatically requires the EGroupware default applications:
egroupware core with: admin, api, docs, etemplate, prefereces and setup,
addressbook, bookmarks, calendar, translation-tools, emailadmin, mail,
filemanager, infolog, manual, news admin, knowledgebase, polls, jdots, pixelegg,
projectmanager, resources, sambaadmin, sitemgr, eSync, timesheet, tracker, wiki
It also provides an API for developing additional applications.
Further contributed applications are available as separate packages.
%package core
Summary: The EGroupware core
Group: Web/Database
Requires: %{php} >= 5.3.2
Requires: %{php}-mbstring %{php}-gd %{php}-mcrypt %{php}-pear %{php}-posix %{extra_requires} %{cron} zip %{php}-json %{php}-xsl
Provides: egw-core %{version}
Provides: egw-etemplate %{version}
Provides: egw-addressbook %{version}
%if 0%{?suse_version}
Provides: /usr/bin/php
%endif
Obsoletes: %{egw_packagename}-core
Obsoletes: %{egw_packagename}-addressbook
%description core
This package provides the EGroupware core applications
(API, admin, etemplate, preferences and setup) plus addressbook.
%package egw-pear
Version: %{version}
Summary: The EGroupware egw-pear application
Group: Web/Database
Requires: %{php}-pear
AutoReqProv: no
Requires: egw-core >= %{version}
Provides: egw-pear %{version}
Obsoletes: %{egw_packagename}-egw-pear
%description egw-pear
egw-pear contains modified pear classes necessary for EGroupware
%package esync
Version: %{version}
Summary: The EGroupware eSync application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Obsoletes: %{egw_packagename}-esync
%description esync
Z-Push based ActiveSync protocol implementation.
%package bookmarks
Version: %{version}
Summary: The EGroupware bookmarks application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Obsoletes: %{egw_packagename}-bookmarks
%description bookmarks
Manage your bookmarks with EGroupware. Has Netscape plugin.
%package calendar
Version: %{version}
Summary: The EGroupware calendar application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Obsoletes: %{egw_packagename}-calendar
%description calendar
Powerful calendar with meeting request system, Alarms, ICal and E-Mail support,
and ACL security.
%package developer_tools
Version: %{version}
Summary: The EGroupware developer_tools application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Obsoletes: %{egw_packagename}-developer_tools
%description developer_tools
The TranslationTools allow to create and extend translations-files for EGroupware.
They can search the sources for new / added phrases and show you the ones missing in your language.
%package emailadmin
Version: %{version}
Summary: The EGroupware emailadmin application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Requires: %{php}-imap
Requires: %{name}-egw-pear >= %{version}
Obsoletes: %{egw_packagename}-emailadmin
%description emailadmin
EmailAdmin allow to maintain User email accounts
%package mail
Version: %{version}
Summary: The EGroupware Webmail application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Requires: %{name}-emailadmin >= %{version}
Requires: %{name}-egw-pear >= %{version}
Obsoletes: %{egw_packagename}-felamimail
Obsoletes: %{name}-felamimail
%description mail
The Email application for EGroupware.
%package filemanager
Version: %{version}
Summary: The EGroupware filemanager application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Requires: %{name}-egw-pear >= %{version}
Obsoletes: %{egw_packagename}-filemanager
%description filemanager
This is the filemanager app for EGroupware.
%package infolog
Version: %{version}
Summary: The EGroupware infolog application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Obsoletes: %{egw_packagename}-infolog
%description infolog
This is the infolog app for EGroupware (Notes, ToDo, Phonelogs, CRM).
%package importexport
Version: %{version}
Summary: The EGroupware importexport application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Obsoletes: %{egw_packagename}-importexport
%description importexport
This is the importexport app for EGroupware. It includes a comandline client.
%package jdots
Version: %{version}
Summary: Old tab-based EPL template based on idots look
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
%description jdots
EPL 11.1 default template.
%package pixelegg
Version: %{version}
Summary: New default template for EGroupware
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
%description pixelegg
New 14.1 default template from Pixelegg.
%package manual
Version: %{version}
Summary: The EGroupware manual application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Requires: %{name}-wiki >= %{version}
Obsoletes: %{egw_packagename}-manual
%description manual
This is the manual app for EGroupware: online help system.
%package news_admin
Version: %{version}
Summary: The EGroupware news_admin application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Obsoletes: %{egw_packagename}-news_admin
%description news_admin
This is the news_admin app for EGroupware.
%package notifications
Version: %{version}
Summary: The EGroupware notifications application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Obsoletes: %{egw_packagename}-notifications
%description notifications
This is the notifications app for EGroupware.
%package phpbrain
Version: %{version}
Summary: The EGroupware phpbrain application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Obsoletes: %{egw_packagename}-phpbrain
%description phpbrain
This is a knowledgebase for EGroupware.
%package phpfreechat
Version: %{version}
Summary: The EGroupware chat application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Obsoletes: %{egw_packagename}-phpfreechat
%description phpfreechat
Chat with other EGroupware users. A port of phpFreeChat for EGroupware.
#%package phpsysinfo
#Version: %{version}
#Summary: The EGroupware phpsysinfo application
#Group: Web/Database
#AutoReqProv: no
#Requires: egw-core >= %{version}
#Obsoletes: %{egw_packagename}-phpsysinfo
#%description phpsysinfo
#This is the phpsysinfo app for EGroupware.
#%package polls
#Version: %{version}
#Summary: The EGroupware polls application
#Group: Web/Database
#AutoReqProv: no
#Requires: egw-core >= %{version}
#Obsoletes: %{egw_packagename}-polls
#%description polls
#This is the polls app for EGroupware.
%package projectmanager
Version: %{version}
Summary: The EGroupware projectmanager application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version},
Obsoletes: %{egw_packagename}-projectmanager
%description projectmanager
The projectmanager is EGroupware's new project management application.
It's fully integrated into EGroupware and use the data of InfoLog and Calendar.
Plugable datasources allow to support and manage further applications.
%package registration
Version: %{version}
Summary: The EGroupware registration application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Obsoletes: %{egw_packagename}-registration
%description registration
This is the registration app for EGroupware.
%package resources
Version: %{version}
Summary: The EGroupware resources application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Obsoletes: %{egw_packagename}-resources
%description resources
resources is a resource booking sysmtem for EGroupware.
Which integrates into the calendar.
%package sambaadmin
Version: %{version}
Summary: The EGroupware sambaadmin application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Obsoletes: %{egw_packagename}-sambaadmin
%description sambaadmin
Manage LDAP based sambaacounts and workstations.
%package sitemgr
Version: %{version}
Summary: The EGroupware Sitemanager CMS application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Obsoletes: %{egw_packagename}-sitemgr
%description sitemgr
This is the Sitemanager CMS app for EGroupware.
#%package stylite
#Version: %{version}
#Summary: Stylite EPL enhancements
#License: proprietary, see http://www.stylite.de/EPL
#Group: Web/Database
#AutoReqProv: no
#Requires: egw-core >= %{version}
#%description stylite
#The package contains Stylite proprietary EPL enhancements:
#- stylite.links stream wrapper allows browsing of app directories
#- filemanger favorites
%package timesheet
Version: %{version}
Summary: The EGroupware timesheet application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Obsoletes: %{egw_packagename}-timesheet
%description timesheet
Simple timesheet application, which allow to record and report
the times and other expenses. It can be uses as well standalone
as together with the ProjectManager application.
%package tracker
Version: %{version}
Summary: The EGroupware trouble ticket system application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version}
Obsoletes: %{egw_packagename}-tracker
%description tracker
This is the trouble ticket system app for EGroupware.
%package wiki
Version: %{version}
Summary: The EGroupware wiki application
Group: Web/Database
AutoReqProv: no
Requires: egw-core >= %{version},
Obsoletes: %{egw_packagename}-wiki
%description wiki
This is the wiki app for EGroupware.
#%package esyncpro
#Version: %{version}
#Summary: Stylite eSync Provisioning
#License: proprietary
#Group: Web/Database
#AutoReqProv: no
#Requires: egw-core >= %{version}, %{name}-esync >= %{version}
#%description esyncpro
#Stylite's eSync Provisioning app allows to edit and assign
#policies to devices and keeps a central list of syncing devices.
#It also allows to remote wipe or view sync logs of all devices.
#%post esyncpro
# update/install esyncpro
#%{post_install} --install-update-app esyncpro 2>&1 | tee -a %{install_log}
%prep
echo "Detected php: %{php}"
echo "post_install: %{post_install}"
%setup0 -c -n %{egwdirname}
%setup1 -T -D -a 1 -n %{egwdirname}
#%setup2 -T -D -a 2 -n %{egwdirname}
%setup3 -T -D -a 3 -n %{egwdirname}
#%setup4 -T -D -a 4 -n %{egwdirname}
%setup5 -T -D -a 5 -n %{egwdirname}
%setup6 -T -D -a 6 -n %{egwdirname}
#%setup9 -T -D -a 9 -n %{egwdirname}
%patch0 -p 0
#%patch1 -p 0
#%patch2 -p 0
%build
%install
[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
mkdir -p $RPM_BUILD_ROOT%{egwdir}
mkdir -p $RPM_BUILD_ROOT%{httpdconfd}
sed 's/\/usr\/share\/pear/%{pear_dir}/' egroupware/doc/rpm-build/apache.conf > $RPM_BUILD_ROOT%{httpdconfd}/egroupware.conf
mkdir -p $RPM_BUILD_ROOT/etc/cron.d
sed 's/apache/%{apache_user}/' egroupware/doc/rpm-build/egroupware.cron > $RPM_BUILD_ROOT/etc/cron.d/egroupware
mkdir -p $RPM_BUILD_ROOT%{egwdatadir}/default/files
mkdir -p $RPM_BUILD_ROOT%{egwdatadir}/default/backup
cp egroupware/doc/rpm-build/header.inc.php $RPM_BUILD_ROOT%{egwdatadir}
cp -aRf egroupware/* $RPM_BUILD_ROOT%{egwdir}
cd %{buildroot}%{egwdir}
ln -s ../../..%{egwdatadir}/header.inc.php
%clean
[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
# egroupware metapackage seems to need some files to be build ...
%files
%defattr(-,root,root)
%dir %{egwdir}
%dir %attr(0700,%{apache_user},%{apache_group}) %{egwdatadir}
%files core
%defattr(-,root,root)
%dir %{egwdir}
%{egwdir}/about.php
%{egwdir}/header.inc.php
%{egwdir}/header.inc.php.template
%{egwdir}/index.php
%{egwdir}/json.php
%{egwdir}/login.php
%{egwdir}/logout.php
%{egwdir}/redirect.php
%{egwdir}/remote.php
%{egwdir}/rpc.php
%{egwdir}/set_box.php
%{egwdir}/status.php
%{egwdir}/svn-helper.php
%{egwdir}/groupdav.php
%{egwdir}/groupdav.htaccess
%{egwdir}/webdav.php
%{egwdir}/addressbook
%{egwdir}/admin
%{egwdir}/doc
%{egwdir}/etemplate
%{egwdir}/files
%{egwdir}/home
%{egwdir}/phpgwapi
%{egwdir}/preferences
%{egwdir}/setup
%config(noreplace) %attr(0644,root,root) /etc/cron.d/egroupware
%config(noreplace) %attr(0644,root,root) %{httpdconfd}/egroupware.conf
%if 0%{?suse_version}
%dir %attr(0755,root,root) /etc/apache2
%dir %attr(0755,root,root) %{httpdconfd}
%endif
%dir %attr(0700,%{apache_user},%{apache_group}) %{egwdatadir}
%dir %attr(0700,%{apache_user},%{apache_group}) %{egwdatadir}/default
%dir %attr(0700,%{apache_user},%{apache_group}) %{egwdatadir}/default/files
%dir %attr(0700,%{apache_user},%{apache_group}) %{egwdatadir}/default/backup
%config(noreplace) %attr(0640,%{apache_user},%{apache_group}) %{egwdatadir}/header.inc.php
%files bookmarks
%defattr(-,root,root)
%{egwdir}/bookmarks
%files esync
%defattr(-,root,root)
%{egwdir}/activesync
#%files esyncpro
#%defattr(-,root,root)
#%{egwdir}/esyncpro
%%files calendar
%defattr(-,root,root)
%{egwdir}/calendar
%files developer_tools
%defattr(-,root,root)
%{egwdir}/developer_tools
%files egw-pear
%defattr(-,root,root)
%{egwdir}/egw-pear
%files emailadmin
%defattr(-,root,root)
%{egwdir}/emailadmin
%files filemanager
%defattr(-,root,root)
%{egwdir}/filemanager
%files infolog
%defattr(-,root,root)
%{egwdir}/infolog
%files importexport
%defattr(-,root,root)
%{egwdir}/importexport
%files pixelegg
%defattr(-,root,root)
%{egwdir}/pixelegg
%files jdots
%defattr(-,root,root)
%{egwdir}/jdots
%files mail
%defattr(-,root,root)
%{egwdir}/mail
%files manual
%defattr(-,root,root)
%{egwdir}/manual
%files news_admin
%defattr(-,root,root)
%{egwdir}/news_admin
%files notifications
%defattr(-,root,root)
%{egwdir}/notifications
%files phpbrain
%defattr(-,root,root)
%{egwdir}/phpbrain
%files phpfreechat
%defattr(-,root,root)
%{egwdir}/phpfreechat
#%files phpsysinfo
#%defattr(-,root,root)
#%{egwdir}/phpsysinfo
#%files polls
#%defattr(-,root,root)
#%{egwdir}/polls
%files projectmanager
%defattr(-,root,root)
%{egwdir}/projectmanager
%files registration
%defattr(-,root,root)
%{egwdir}/registration
%files resources
%defattr(-,root,root)
%{egwdir}/resources
%files sambaadmin
%defattr(-,root,root)
%{egwdir}/sambaadmin
%files sitemgr
%defattr(-,root,root)
%{egwdir}/sitemgr
#%files stylite
#%defattr(-,root,root)
#%{egwdir}/stylite
%files timesheet
%defattr(-,root,root)
%{egwdir}/timesheet
%files tracker
%defattr(-,root,root)
%{egwdir}/tracker
%files wiki
%defattr(-,root,root)
%{egwdir}/wiki