%define basever 1.22 %define subver 2 %define _requires_exceptions pear(\\(extensions/.*\\|core/includes/WebStart.php\\|phase3/includes/WebStart.php\\|PHPUnit/Framework.php\\)) Name: mediawiki Version: %{basever}.%{subver} %define subrel 1 Release: %mkrel 1 Summary: A wiki engine License: GPLv2+ Group: System/Servers BuildArch: noarch Url: http://www.mediawiki.org/wiki/MediaWiki Source0: http://download.wikimedia.org/mediawiki/%{basever}/%{name}-%{version}.tar.gz Source1: mediawiki.conf # to make sure the "apache" group is created before mediawiki is installed Requires(pre): webserver-base Requires: webserver-base # suggest apache-mod_php Suggests: apache-mod_php # for diff3: Requires: diffutils # for convert: Requires: imagemagick Requires(post): php-cli Requires: php-gd Requires: %{name}-sql = %{version}-%{release} Requires: php-xml Suggests: php-intl Conflicts: mediawiki < 0:1.16.5-0 # make upgrading from mediawiki < 1.19 painless Obsoletes: %{name}-minimal < 1.19.1 # RenameUser extension bundled with MediaWiki as of 1.20 Obsoletes: mediawiki-renameuser < %{version}-%{release} # GraphViz extension unmaintained and vulnerable to XSS attacks Obsoletes: mediawiki-graphviz < 0.9-2 %description MediaWiki is the software used for Wikipedia and the other Wikimedia Foundation websites. Compared to other wikis, it has an excellent range of features and support for high-traffic websites using multiple servers This package includes math rendering support for mediawiki. %package mysql Summary: Mediawiki with mysql database Group: System/Servers Provides: %{name}-sql = %{version}-%{release} Requires: php-mysql %description mysql This meta package installs the neccessary packages to use mediawiki with a mariadb or mysql database. This does not install the database server itself, because you can run mediawiki with a remote database server. %package pgsql Summary: Mediawiki with postgresql database Group: System/Servers Provides: %{name}-sql = %{version}-%{release} Requires: php-pgsql %description pgsql This meta package installs the neccessary packages to use mediawiki with a postgresql database. This does not install the database server itself, because you can run mediawiki with a remote database server. %package sqlite Summary: Mediawiki with sqlite database Group: System/Servers Provides: %{name}-sql = %{version}-%{release} Requires: php-sqlite3 Requires: php-pdo_sqlite %description sqlite This meta package installs the neccessary packages to use mediawiki with an sqlite database. If you are using sqlite you can't use a remote database server. %prep %setup -q %build : %install rm -rf %{buildroot} # now copy the rest to the buildroot. mkdir -p %{buildroot}%{_datadir}/mediawiki cp -a * %{buildroot}%{_datadir}/mediawiki/ # remove documentation rm -f %{buildroot}%{_datadir}/mediawiki/{COPYING,FAQ,HISTORY,README,README.mediawiki,RELEASE-NOTES-1.22,UPGRADE,CREDITS,INSTALL} rm -rf %{buildroot}%{_datadir}/mediawiki/docs # remove unneeded parts rm -fr %{buildroot}%{_datadir}/mediawiki/{t,test,tests} find %{buildroot}%{_datadir}/mediawiki/ -name .htaccess -exec rm -f {} + # fix permissions find %{buildroot}%{_datadir}/mediawiki -name \*.pl -exec chmod +x {} + # remove version control/patch files find %{buildroot} -name .git\* -exec rm -f {} + %{__install} -d -m 755 %{buildroot}%{webappconfdir} install -p -m 0644 %{SOURCE1} \ %{buildroot}%{webappconfdir}/mediawiki.conf mkdir %{buildroot}%{_sysconfdir}/mediawiki # placeholder for a default instance mkdir -p %{buildroot}/%{_localstatedir}/www/mediawiki # move editable things out of /usr mv %{buildroot}%{_datadir}/mediawiki/images %{buildroot}%{_localstatedir}/www/mediawiki/images ln -s %{_sysconfdir}/mediawiki/LocalSettings.php %{buildroot}%{_datadir}/mediawiki/LocalSettings.php install -d -m 755 %{buildroot}/%{_localstatedir}/lib/mediawiki %pretrans if [ -f %{_datadir}/mediawiki/LocalSettings.php -a ! -L %{_datadir}/mediawiki/LocalSettings.php ]; then if [ -e %{_sysconfdir}/mediawiki/LocalSettings.php ]; then mv -f %{_sysconfdir}/mediawiki/LocalSettings.php %{_sysconfdir}/mediawiki/LocalSettings.php.rpmsave fi mv %{_datadir}/mediawiki/LocalSettings.php %{_sysconfdir}/mediawiki/LocalSettings.php ln -s %{_sysconfdir}/mediawiki/LocalSettings.php %{_datadir}/mediawiki/LocalSettings.php fi if [ -d %{_datadir}/mediawiki/images -a ! -L %{_datadir}/mediawiki/images ]; then if [ -e %{_localstatedir}/www/mediawiki/images ]; then mv -f %{_localstatedir}/www/mediawiki/images %{_localstatedir}/www/mediawiki/images.rpmsave fi mv %{_datadir}/mediawiki/images %{_localstatedir}/www/mediawiki/images ln -s %{_localstatedir}/www/mediawiki/images %{_datadir}/mediawiki/images chown -R apache:apache %{_localstatedir}/www/mediawiki/images fi %post php %{_datadir}/mediawiki/maintenance/update.php --quick if [ ! -e %{_datadir}/mediawiki/images ]; then ln -s %{_localstatedir}/www/mediawiki/images %{_datadir}/mediawiki/images fi %files %doc COPYING FAQ HISTORY README RELEASE-NOTES-1.22 UPGRADE CREDITS INSTALL docs %{_datadir}/mediawiki %attr(-,apache,apache) %dir %{_datadir}/mediawiki/mw-config %config(noreplace) %{webappconfdir}/mediawiki.conf %dir %{_sysconfdir}/mediawiki %dir %{_localstatedir}/www/mediawiki %attr(-,apache,apache) %dir %{_localstatedir}/www/mediawiki/images %attr(-,apache,apache) %{_localstatedir}/www/mediawiki/images/README %files mysql %files pgsql %files sqlite %attr(-,apache,apache) %{_localstatedir}/lib/mediawiki