Name: owncloud Version: 4.5.7 Release: 2%{?dist} Summary: Private file sync and share server # starting with oc 4.5 add LGPLv3 license for apps/files_svgedit License: AGPLv3+ and MIT and BSD and CC-BY and CC-BY-SA and GPLv3 and Public Domain and (MPLv1.1 or GPLv2+ or LGPLv2+) and (MIT or GPL+) and (MIT or GPLv2) and ASL 2.0 URL: http://owncloud.org # removed any occurences of jslint, see script delete-jslint Source0: %{name}-%{version}-repack.tar.bz2 # orig source: http://owncloud.org/releases/%{name}-%{version}.tar.bz2 Source1: %{name}-httpd-2.2.conf Source6: %{name}-httpd-2.4.conf # very basic Source2: %{name}-logrotate.conf # packaging notes and doc Source3: %{name}-README.fedora Source4: %{name}-mysql.txt Source5: %{name}-postgresql.txt # used to repack the source tarball Source42: %{name}-delete-jslint.sh Patch0: %{name}-4.5.7-config.patch # triggers selinux avc, write access on config/config.php is sufficient Patch1: %{name}-4.5.7-disable-config-dir-access-check.patch # remove calls to jslint Patch2: %{name}-4.5.7-remove-jslint.patch # fix includes Patch10: %{name}-4.5.7-unbundle-blowfish.patch Patch11: %{name}-4.5.7-unbundle-phpmailer.patch Patch12: %{name}-4.5.7-unbundle-phptar.patch Patch13: %{name}-setup.patch BuildArch: noarch Requires: %{name}-webserver = %{version}-%{release} Requires: %{name}-database = %{version}-%{release} # core PHP libs Requires: php-gd php-curl php-dom php-exif php-fileinfo php-gmp php-iconv Requires: php-json php-ldap php-mbstring php-openssl php-pcre php-pdo Requires: php-session php-simplexml php-spl php-zip %if 0%{?fedora} || 0%{?rhel} > 6 Requires: php-filter %endif # other PHP libs Requires: php-getid3 php-PHPMailer php-cloudfiles php-phpass # PHP PEAR dependencies Requires: php-pear(Crypt_Blowfish) php-pear(MDB2_Schema) Requires: php-pear(Net_Curl) php-pear(XML_Parser) # SabreDAV Requires: php-pear(Sabre_CalDAV) php-pear(Sabre_CardDAV) # for logrotate Requires: rsyslog %if 0%{?rhel} Requires(post): policycoreutils-python Requires(postun): policycoreutils-python %endif # Bundled 3rdparty libs missing in Fedora ## JS (mainly jQuery plugins) # https://github.com/harvesthq/chosen/ # http://fgelinas.com/code/timepicker # http://arshaw.com/fullcalendar/ %description ownCloud gives you universal access to your files through a web interface or WebDAV. It also provides a platform to easily view & sync your contacts, calendars and bookmarks across all your devices and enables basic editing right on the web. ownCloud is extendable via a simple but powerful API for applications and plugins. %package httpd Summary: Httpd integration for ownCloud Provides: %{name}-webserver = %{version}-%{release} Requires: %{name} = %{version}-%{release} # PHP dependencies Requires: php %description httpd %{summary} # imagine something like %%package nginx or lighttpd here %package mysql Summary: Virtual package providing MySQL dependencies for %{name} Provides: %{name}-database = %{version}-%{release} Requires: %{name} = %{version}-%{release} Requires: php-mysql Requires: php-pear(MDB2_Driver_mysqli) Requires: mysql-server %description mysql %{summary} %package postgresql Summary: Virtual package providing PostgreSQL dependencies for %{name} Provides: %{name}-database = %{version}-%{release} Requires: %{name} = %{version}-%{release} Requires: php-pgsql Requires: php-pear(MDB2_Driver_pgsql) Requires: postgresql-server %description postgresql %{summary} %package sqlite Summary: Virtual package providing Sqlite3 dependencies for %{name} Provides: %{name}-database = %{version}-%{release} Requires: %{name} = %{version}-%{release} # just need mdb2, the sqlite3 driver is already included Requires: php-sqlite3 php-pcre Requires: php-pear(MDB2) %description sqlite %{summary} %prep %setup -q -n %{name} %patch0 %patch1 %patch2 %patch10 %patch11 %patch12 %patch13 # Strip bundled libraries rm -rf 3rdparty/{Archive,Console,Crypt_Blowfish,OS,Sabre,simpletest,getid3,php-cloudfiles,phpass} rm -f 3rdparty/{Sabre.includes,System,class.phpmailer,class.smtp}.php # clean up content rm -rf apps/files_odfviewer/src rm -rf apps/files_videoviewer/mediaelement/src rm -f 3rdparty/PEAR-LICENSE rm -f apps/files_texteditor/js/aceeditor/mode-text.js rm -f apps/files_texteditor/js/aceeditor/mode-text-uncompressed.js rm -f l10n/{l10n.pl,init.sh} # prepare package doc cp %{SOURCE3} README.fedora cp %{SOURCE4} README.mysql cp %{SOURCE5} README.postgresql %build # Nothing to build %install install -dm 755 %{buildroot}%{_datadir}/%{name} # create owncloud datadir mkdir -p %{buildroot}%{_localstatedir}/lib/%{name}/data # create writable app dir for appstore mkdir -p %{buildroot}%{_localstatedir}/lib/%{name}/apps # create owncloud sysconfdir mkdir -p %{buildroot}%{_sysconfdir}/%{name} # install content cp -a apps %{buildroot}%{_datadir}/%{name} cp -a core %{buildroot}%{_datadir}/%{name} cp -a files %{buildroot}%{_datadir}/%{name} cp -a l10n %{buildroot}%{_datadir}/%{name} cp -a lib %{buildroot}%{_datadir}/%{name} cp -a ocs %{buildroot}%{_datadir}/%{name} cp -a search %{buildroot}%{_datadir}/%{name} cp -a settings %{buildroot}%{_datadir}/%{name} cp -a themes %{buildroot}%{_datadir}/%{name} cp -a 3rdparty %{buildroot}%{_datadir}/%{name} install -pm 644 {index,public,remote,status,cron}.php %{buildroot}%{_datadir}/%{name} install -pm 644 db_structure.xml %{buildroot}%{_datadir}/%{name} install -pm 644 config/config.sample.php %{buildroot}%{_sysconfdir}/%{name}/config.php # symlink config dir ln -sf %{_sysconfdir}/%{name} %{buildroot}%{_datadir}/%{name}/config # httpd config %if 0%{?fedora} >= 18 install -Dpm 644 %{SOURCE6} \ %{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}.conf %else install -Dpm 644 %{SOURCE1} \ %{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}.conf %endif # logging mkdir -p %{buildroot}%{_localstatedir}/log touch %{buildroot}%{_localstatedir}/log/owncloud.log install -Dpm 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} %if 0%{?rhel} %post semanage fcontext -a -t httpd_sys_rw_content_t '%{_sysconfdir}/%{name}/config.php' 2>/dev/null || : restorecon %{_sysconfdir}/%{name}/config.php || : %postun if [ $1 -eq 0 ] ; then semanage fcontext -d -t httpd_sys_rw_content_t '%{_sysconfdir}/%{name}/config.php' 2>/dev/null || : fi %endif %post httpd %if 0%{?fedora} || 0%{?rhel} > 6 /usr/bin/systemctl reload httpd.service > /dev/null 2>&1 || : %else /sbin/service httpd reload > /dev/null 2>&1 || : %endif %postun httpd if [ $1 -eq 0 ]; then %if 0%{?fedora} || 0%{?rhel} > 6 /usr/bin/systemctl reload httpd.service > /dev/null 2>&1 || : %else /sbin/service httpd reload > /dev/null 2>&1 || : %endif fi %files %doc AUTHORS COPYING-AGPL COPYING-README README README.fedora config/config.sample.php %dir %attr(-,apache,apache) %{_sysconfdir}/%{name} # contains sensitive data (dbpassword, passwordsalt) %config(noreplace) %attr(0600,apache,apache) %{_sysconfdir}/%{name}/config.php %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %{_datadir}/%{name} %exclude %{_datadir}/%{name}/lib/MDB2 %dir %attr(0755,apache,apache) %{_localstatedir}/lib/%{name} # user data must not be world readable %dir %attr(0750,apache,apache) %{_localstatedir}/lib/%{name}/data %attr(-,apache,apache) %{_localstatedir}/lib/%{name}/apps %ghost %{_localstatedir}/log/owncloud.log %files httpd %config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf %files mysql %doc README.mysql %files postgresql %doc README.postgresql %files sqlite %{_datadir}/%{name}/lib/MDB2 %changelog * Mon Feb 25 2013 Gregor Tätzner - 4.5.7-2 - added script for re-creating stripped tarball - new httpd.conf for httpd 2.4 * Sun Feb 24 2013 Gregor Tätzner - 4.5.7-1 - 4.5.7 * Sun Jan 13 2013 Gregor Tätzner - 4.0.8-7 - fixed selinux file context on rhel * Sat Dec 08 2012 Gregor Tätzner - 4.0.8-6 - unbundled phpass and php-when - added database setup instructions * Thu Nov 08 2012 Gregor Tätzner - 4.0.8-5 - moved included sqlite3 driver to owncloud-sqlite - unbundled php-cloudfiles - reworked runtime requirements * Sun Nov 04 2012 Gregor Tätzner - 4.0.8-4 - repacked source tarball (deleted jslint code) * Sat Nov 03 2012 Gregor Tätzner - 4.0.8-3 - added missing licenses - obliterated jslint code from aceeditor * Fri Nov 02 2012 Gregor Tätzner - 4.0.8-2 - updated license field - added README.fedora * Thu Oct 18 2012 Gregor Tätzner - 4.0.8-1 - owncloud-4.0.8 * Fri Oct 12 2012 Gregor Tätzner - 4.0.7-5 - unbundle php-getid3 - remove conf dir access check * Tue Oct 02 2012 Gregor Tätzner - 4.0.7-4 - require rsyslog - switched log type back to 'owncloud' * Sun Sep 23 2012 Gregor Tätzner - 4.0.7-3 - unbundled Archive/Tar.php, Guess.php, phpmailer - created virtual packages for supported databases - added logrotate script * Thu Sep 20 2012 Gregor Tätzner - 4.0.7-2 - moved httpd files and sciptlets into own subpackage - redirected log output to /var/log/owncloud.log - deleted unecessary files * Wed Sep 19 2012 Gregor Tätzner - 4.0.7-1 - updated to version 4.0.7 * Fri Apr 06 2012 Felix Kaechele - 3.0.1-1 - initial package