A new user interface for you! Read more...

File eGroupWare.spec of Package eGroupWare

#
# spec file for package eGroupWare (Version 1.2.107)
#
# Copyright (c) 2006 Scorpio IT, Deidesheim, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself

# norootforbuild

########################################
# apache macros
########################################
%define apxs2              %{_sbindir}/apxs2
%define apache2_mmn        %(MMN=$(%{apxs2} -q LIBEXECDIR)_MMN; test -x $MMN && $MMN)
%define apache2_libexecdir %(%{apxs2} -q LIBEXECDIR)
%define apache2_sysconfdir %(%{apxs2} -q SYSCONFDIR)
%define apache2_includedir %(%{apxs2} -q INCLUDEDIR)
%define apache2_serverroot %(%{apxs2} -q PREFIX)

Name:           eGroupWare
Version:        1.2.107
Release:        1
Summary:        A web-based groupware suite written in php
License:        GPL/LGPL
Group:          Productivity/Networking/Web/Frontends
Url:            http://www.egroupware.org/
Source0:        %{name}-%{version}.tar.bz2
Source1:        %{name}-contrib-%{version}.tar.bz2
Source10:       %{name}.http
Source11:       %{name}.cron
Source20:       %{name}.rpmlintrc
Patch0:         %{name}-1.2-105-uiasyncservice.diff
Patch1:         %{name}-1.2-105-ldap.diff
Patch2:         %{name}-1.2-manageheader.diff
Patch3:         %{name}-1.2-asyncwrapper.diff
Buildarch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}
PreReq:         sed
BuildRequires:  apache2-devel
%if 0%{?suse_version} >= 1100
BuildRequires:  fdupes
%endif
Conflicts:      php4
Requires:       php5 >= 5.0.4
Requires:       php5-bz2 php5-mbstring php5-pear php5-imap php5-gd
Requires:       php5-mcrypt php5-zlib
Requires:       apache2 apache2-mod_php5 mysql openldap2
Requires:       cron
Requires:       %{name}-admin %{name}-phpgwapi
Requires:       %{name}-addressbook %{name}-calendar %{name}-felamimail
Requires:       %{name}-infolog


%description
eGroupWare is a web-based groupware suite written in PHP. 

This package provides the eGroupWare minimal default applications:

eGroupWare minimal core with: addressbook, admin, calendar, felamimail, infolog,
  phpgwapi

eGroupWare other core with: bookmarks, developer_tools, emailadmin, filemanager,
  infolog, manual, mydms, news admin, phpbrain, phpsysinfo, polls, 
  preferences, projectmanager, registration, resources, sambaadmin, sitemgr,
  timesheet, wiki, workflow

It also provides an API for developing additional applications
eGroupWare for devel requires: etemplate, JiNN, soap, xmlrpc

Further contributed applications are avalible in single packages.
eGroupWare contribution with: backup, browser, chatty, comic, egwical, email,
  filescenter, forum, ftp, fudforum, headlines, icalsrv, jinn, messenger,
  projects, skel, soap, stocks, switchuser, tts, xmlrpc


%package addressbook
Summary:        The eGroupWare addressbook application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
Requires:       php5-mysql php5-ldap
%description addressbook
Contact manager with Vcard support.
addressbook is the %{name} default contact application.
It makes use of the %{name} contacts class to store and retrieve 
contact information via SQL, LDAP or Active Directory.

%package admin
Summary:        The eGroupWare admin application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description admin
Needed for administration of %{name}

%package bookmarks
Summary:        The eGroupWare bookmarks application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description bookmarks
Manage your bookmarks with eGroupWare. Has Netscape plugin.

%package calendar
Summary:        The eGroupWare calendar application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description calendar
Powerful calendar with meeting request system, Alarms, ICal and E-Mail support, 
and ACL security.

%package developer_tools
Summary:        The eGroupWare developer_tools application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%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
Summary:        The eGroupWare emailadmin application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description emailadmin
EmailAdmin allow to maintain User email accounts 

%package etemplate
Summary:        The eGroupWare etemplate application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
Requires:       %{name}-phpgwapi
%description etemplate
etemplate needed for writing %{name}- and setup(3)-compatiple apps.

%package felamimail
Summary:        The eGroupWare felamimail application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
Requires:       %{name}-emailadmin = %{version}-%{release}
Requires:       courier-imap => 4.1.0
Requires:       courier-authlib-ldap courier-authlib-mysql
%description felamimail
The felamimail Email Reader is another Email application for eGroupWare.

%package filemanager
Summary:        The eGroupWare filemanager application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description filemanager
This is the filemanager app for eGroupWare.

%package infolog
Summary:        The eGroupWare infolog application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
Requires:       %{name}-etemplate
%description infolog
This is the infolog app for eGroupWare (Notes, ToDo, Phonelogs, CRM).

%package manual
Summary:        The eGroupWare manual application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description manual
This is the manual app for eGroupWare: online help system.

%package mydms
Summary:        The eGroupWare mydms application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release} 
%description mydms
This is a mydms port to eGroupWare.

%package news_admin
Summary:        The eGroupWare news_admin application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release} 
%description news_admin
This is the news_admin app for eGroupWare.

%package phpbrain
Summary:        The eGroupWare phpbrain application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
Requires:       %{name}-addressbook = %{version}-%{release}
%description phpbrain
This is the phpbrain app for eGroupWare.

%package phpgwapi
Summary:        The eGroupWare phpgwapi application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
Requires:       %{name}-etemplate
%description phpgwapi
This is the phpgwapi app for eGroupWare.

%package phpsysinfo
Summary:        The eGroupWare phpsysinfo application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description phpsysinfo
This is the phpsysinfo app for eGroupWare.

%package polls
Summary:        The eGroupWare polls application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description polls
This is the polls app for eGroupWare.

%package projectmanager
Summary:        The eGroupWare projectmanager application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release},
%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
Summary:        The eGroupWare registration application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description registration
This is the registration app for eGroupWare.

%package resources
Summary:        The eGroupWare resources application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description resources
resources is a resource booking sysmtem for eGroupWare.
Which integrates into the calendar.

%package sambaadmin
Summary:        The eGroupWare sambaadmin application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description sambaadmin
Manage LDAP based sambaacounts and workstations.

%package sitemgr
Summary:        The eGroupWare Sitemanager CMS application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description sitemgr
This is the Sitemanager CMS app for eGroupWare.

%package timesheet
Summary:        The eGroupWare timesheet application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%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 syncml
Summary:        The eGroupWare SyncML application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release},
%description syncml
This is the SyncML app for eGroupWare.

%package wiki
Summary:        The eGroupWare wiki application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release},
%description wiki
This is the wiki app for eGroupWare.

%package workflow
Summary:        The eGroupWare workflow application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release},
%description workflow
This is the workflow app for eGroupWare.

##################################################
# contrib applications
##################################################

%package backup
Summary:        The eGroupWare backup application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description backup
An online configurable backup app to store data offline. 
Can store files in zip, tar.gz and tar.bz2 on the local machine 
or Remote via FTP, SMBMOUNT or NFS 

%package browser
Summary:        The eGroupWare browser application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description browser
Intergrated browser to surf the web within eGroupWare.

%package chatty
Summary:        Instant messenger for eGroupWare
Group:          Productivity/Networking/Web/Frontends
Requires: %{name} = %{version}-%{release}
%description chatty
Instant messenger application using AJAX.

%package comic
Summary:        The eGroupWare comic application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description comic
This application display comic strips.

%package egwical
Summary:        The eGroupWare egwical application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release} 
%description egwical
This is the egwical app for eGroupWare.

%package email
Summary:        The eGroupWare email application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
Requires:       %{name}-addressbook = %{version}-%{release}
%description email
AngleMail for eGroupWare at www.anglemail.org is an Email reader with multiple accounts and mailbox filtering. Also Anglemail support IMAP, IMAPS, POP3 and POP3S accounts.

!! Outdated !!
better use default felamimail

%package filescenter
Summary:        The eGroupWare filescenter application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description filescenter
This is the filescenter app for eGroupWare.

%package forum
Summary:        The eGroupWare forum application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description forum
This is the forum app for eGroupWare.

%package ftp
Summary:        The eGroupWare ftp application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release} 
%description ftp
This is the ftp app for eGroupWare.

%package fudforum
Summary:        The eGroupWare fudforum application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description fudforum
This is the fudforum app for eGroupWare.

%package headlines
Summary:        The eGroupWare headlines application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release} 
%description headlines
This is the headlines app for eGroupWare.

%package icalsrv
Summary:        The eGroupWare icalsrv application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release} 
%description icalsrv
This is the icalsrv app for eGroupWare.

%package jinn
Summary:        The eGroupWare jinn application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description jinn
The jinn app is a multi-site, multi-database, multi-user/-group,
database driven Content Management System written in and for the eGroupWare Framework.

%package messenger
Summary:        The eGroupWare messenger application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release} 
%description messenger
This is the messenger app for eGroupWare.

##----------------------------------------------------------------------------------
#%package phpldapadmin
##----------------------------------------------------------------------------------
#Summary:        The eGroupWare phpldapadmin application
#Group:          Productivity/Networking/Web/Frontends
#AutoReqProv:    on
#Requires:       %{name} = %{version}-%{release}
#%description phpldapadmin
#This is the cire phpldapadmin of eGroupWare.
#

%package stocks
Summary:        The eGroupWare stocks application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description stocks
This is the stocks app for eGroupWare.

%package xmlrpc
Summary:        The eGroupWare xmlrpc application
Group:          Productivity/Networking/Web/Frontends
Requires:       %{name} = %{version}-%{release}
%description xmlrpc
This is the xmlrpc app for eGroupWare developers.

%prep
%setup -n %{name}-%{version} -a 1
#%setup1 -T -D -b 1 -n %{name}

# remove .htaccess files
find -name ".htaccess" -exec %{__rm} {} \;
# remove rpm-build stuff
%{__rm} -rf doc/rpm-build 
# remove phpsysinfo/tools
%{__rm} -rf phpsysinfo/tools

# now patch :)
%patch0 -p 1
%patch1 -p 1
%patch2 -p 1
%patch3 -p 1

# cleanup perm
find -type d -exec chmod 0755 {} \;
find -type f -exec chmod 0644 {} \;

%build

%install
%{__install} -d $RPM_BUILD_ROOT%{apache2_serverroot}/%{name}
%{__install} -d $RPM_BUILD_ROOT/var/lib/%{name}/default/{backup,files}
%{__install} -d $RPM_BUILD_ROOT/var/lib/%{name}/sessions

# remove not-working/obsolete contribs
for module in phpldapadmin projects tts switchuser skel soap; do
  %{__rm} -rf ${module}
done

# now copy all files
%{__cp} -a * $RPM_BUILD_ROOT%{apache2_serverroot}/%{name}

# some extra stuff
touch $RPM_BUILD_ROOT/var/lib/%{name}/header.inc.php

# install apache conf.d file, cron file
%{__install} -D -m0644 %{S:10} $RPM_BUILD_ROOT%{apache2_sysconfdir}/conf.d/%{name}.conf
%{__install} -D -m0644 %{S:11} $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/%{name}
for i in \
 $RPM_BUILD_ROOT%{apache2_sysconfdir}/conf.d/%{name}.conf \
 $RPM_BUILD_ROOT%{apache2_serverroot}/%{name}/admin/inc/class.uiasyncservice.inc.php \
 $RPM_BUILD_ROOT%{apache2_serverroot}/%{name}/phpgwapi/cron/asyncwrapper.php \
 $RPM_BUILD_ROOT%{apache2_serverroot}/%{name}/setup/manageheader.php \
 $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/%{name}; do \
  %{__sed} -i \
    -e "s,@eGW_DIR@,%{apache2_serverroot},g" \
    -e "s,@eGW_NAME@,%{name},g" \
    $i
done

cd $RPM_BUILD_ROOT%{apache2_serverroot}/%{name}
%{__ln_s} -f ../../../var/lib/%{name}/header.inc.php 
%{__ln_s} -f sitemgr/sitemgr-link

# rpmlint
%if 0%{?suse_version} >= 1100
%fdupes $RPM_BUILD_ROOT%{apache2_serverroot}/%{name}
%endif

%clean
%{__rm} -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root)
%doc doc/LICENSE doc/SECURITY setup/doc/*
%dir %attr(0755,root,root) %{apache2_serverroot}/%{name}
%dir %attr(0750,wwwrun,root) /var/lib/%{name}
%{apache2_serverroot}/%{name}/about.php
%{apache2_serverroot}/%{name}/anon_wrapper.php
%{apache2_serverroot}/%{name}/header.inc.php
%{apache2_serverroot}/%{name}/header.inc.php.template
%{apache2_serverroot}/%{name}/icalsrv.php
%{apache2_serverroot}/%{name}/index.php
%{apache2_serverroot}/%{name}/login.php
%{apache2_serverroot}/%{name}/logout.php
%{apache2_serverroot}/%{name}/notify.php
%{apache2_serverroot}/%{name}/notify_simple.php
%{apache2_serverroot}/%{name}/notifyxml.php
%{apache2_serverroot}/%{name}/redirect.php
%{apache2_serverroot}/%{name}/rpc.php
%{apache2_serverroot}/%{name}/set_box.php
%{apache2_serverroot}/%{name}/soap.php
%{apache2_serverroot}/%{name}/xajax.php
%{apache2_serverroot}/%{name}/xmlrpc.php
%{apache2_serverroot}/%{name}/doc
%{apache2_serverroot}/%{name}/home
%{apache2_serverroot}/%{name}/preferences
%{apache2_serverroot}/%{name}/setup
%config %attr(0640,root,root) /etc/cron.d/%{name}
%dir %attr(0750,wwwrun,root) /var/lib/%{name}/default
%dir %attr(0750,wwwrun,root) /var/lib/%{name}/default/files
%dir %attr(0750,wwwrun,root) /var/lib/%{name}/default/backup
%dir %attr(0750,wwwrun,root) /var/lib/%{name}/sessions
%config %attr(0644,root,root) %{apache2_sysconfdir}/conf.d/%{name}.conf
%config %attr(0640,wwwrun,root) /var/lib/%{name}/header.inc.php

%files addressbook
%defattr(-,root,root)
%{apache2_serverroot}/%{name}/addressbook

%files admin
%defattr(-,root,root)
%doc admin/doc/*
%{apache2_serverroot}/%{name}/admin

%files bookmarks
%defattr(-,root,root)
%{apache2_serverroot}/%{name}/bookmarks

%files calendar
%defattr(-,root,root)
%doc calendar/doc/*
%{apache2_serverroot}/%{name}/calendar

%files developer_tools
%defattr(-,root,root)
%doc developer_tools/doc/*
%{apache2_serverroot}/%{name}/developer_tools

%files emailadmin
%defattr(-,root,root)
%doc emailadmin/doc/*
%{apache2_serverroot}/%{name}/emailadmin

%files etemplate
%defattr(-,root,root)
%doc etemplate/doc/*
%{apache2_serverroot}/%{name}/etemplate

%files felamimail
%defattr(-,root,root)
%{apache2_serverroot}/%{name}/felamimail

%files filemanager
%defattr(-,root,root)
%doc filemanager/doc/*
%{apache2_serverroot}/%{name}/filemanager

%files infolog
%defattr(-,root,root)
%{apache2_serverroot}/%{name}/infolog

%files manual
%defattr(-,root,root)
%{apache2_serverroot}/%{name}/manual

%files mydms
%defattr(-,root,root)
%{apache2_serverroot}/%{name}/mydms

%files news_admin
%defattr(-,root,root)
%doc news_admin/doc/*
%{apache2_serverroot}/%{name}/news_admin

%files phpbrain
%defattr(-,root,root)
%{apache2_serverroot}/%{name}/phpbrain

%files phpgwapi
%defattr(-,root,root)
%{apache2_serverroot}/%{name}/phpgwapi

%files phpsysinfo
%defattr(-,root,root)
%{apache2_serverroot}/%{name}/phpsysinfo

%files polls
%defattr(-,root,root)
%doc polls/doc/*
%{apache2_serverroot}/%{name}/polls

%files projectmanager
%defattr(-,root,root)
%{apache2_serverroot}/%{name}/projectmanager

%files registration
%defattr(-,root,root)
%doc registration/doc/*
%{apache2_serverroot}/%{name}/registration

%files resources
%defattr(-,root,root)
%{apache2_serverroot}/%{name}/resources

%files sambaadmin
%defattr(-,root,root)
%{apache2_serverroot}/%{name}/sambaadmin

%files sitemgr
%defattr(-,root,root)
%doc sitemgr/doc/*
%{apache2_serverroot}/%{name}/sitemgr
%{apache2_serverroot}/%{name}/sitemgr-link

%files syncml
%defattr(-,root,root)
%{apache2_serverroot}/%{name}/syncml

%files timesheet
%defattr(-,root,root)
%{apache2_serverroot}/%{name}/timesheet

%files wiki
%defattr(-,root,root)
%doc wiki/doc/*
%{apache2_serverroot}/%{name}/wiki

%files workflow
%defattr(-,root,root)
%doc workflow/doc/*
%{apache2_serverroot}/%{name}/workflow

# contrib packages
%files backup
%defattr(-,root,root)
%{apache2_serverroot}/%{name}/backup

%files browser
%defattr(-,root,root)
%doc browser/doc/*
%{apache2_serverroot}/%{name}/browser

%files chatty
%defattr(-,root,root)
%{apache2_serverroot}/%{name}/chatty

%files comic
%defattr(-,root,root)
%doc comic/doc/*
%{apache2_serverroot}/%{name}/comic

%files egwical
%defattr(-,root,root)
%doc egwical/doc/*
%{apache2_serverroot}/%{name}/egwical

%files email
%defattr(-,root,root)
%doc email/doc/*
%{apache2_serverroot}/%{name}/email

%files filescenter
%defattr(-,root,root)
%doc filescenter/doc/*
%{apache2_serverroot}/%{name}/filescenter

%files forum
%defattr(-,root,root)
%doc forum/doc/*
%{apache2_serverroot}/%{name}/forum

%files ftp
%defattr(-,root,root)
%doc ftp/doc/*
%{apache2_serverroot}/%{name}/ftp

%files fudforum
%defattr(-,root,root)
%{apache2_serverroot}/%{name}/fudforum

%files headlines
%defattr(-,root,root)
%{apache2_serverroot}/%{name}/headlines

%files icalsrv
%defattr(-,root,root)
%doc icalsrv/doc/*
%{apache2_serverroot}/%{name}/icalsrv

%files jinn
%defattr(-,root,root)
%doc jinn/doc/*
%{apache2_serverroot}/%{name}/jinn

%files messenger
%defattr(-,root,root)
%doc messenger/doc/*
%{apache2_serverroot}/%{name}/messenger

#%files phpldapadmin
#%defattr(-,root,root)
#%{apache2_serverroot}/%{name}/phpldapadmin

%files stocks
%defattr(-,root,root)
%doc stocks/doc/*
%{apache2_serverroot}/%{name}/stocks

%files xmlrpc
%defattr(-,root,root)
%doc xmlrpc/doc/*
%{apache2_serverroot}/%{name}/xmlrpc

%changelog