# stay on 1.35.x LTS until 1.39.x # https://www.mediawiki.org/wiki/Version_lifecycle %define basever 1.35 %define subver 5 %global __requires_exclude pear\\((extensions/.*|core/includes/WebStart.php|phase3/includes/WebStart.php|PHPUnit/Framework.php|src/hotp.php)\\)|/usr/bin/hhvm Name: mediawiki Version: %{basever}.%{subver} Release: %mkrel 1 Summary: A wiki engine License: GPLv2+ Group: System/Servers BuildArch: noarch Url: http://www.mediawiki.org/wiki/MediaWiki Source0: http://releases.wikimedia.org/mediawiki/%{basever}/%{name}-%{version}.tar.gz Source1: mediawiki.conf # Save sqlite db in mediawiki data dir Patch0: mediawiki-1.35.0-sqlite-db-dir-fix.patch # to make sure the "apache" group is created before mediawiki is installed Requires(pre): webserver-base Requires: webserver-base # suggest apache-mod_php Recommends: apache-mod_php # for diff3: Requires: diffutils # for convert: Requires: imagemagick Requires(post): php-cli Requires: php-ctype Requires: php-dom Requires: php-fileinfo Requires: php-gd Requires: php-iconv Requires: php-mbstring Requires: %{name}-sql = %{version}-%{release} Requires: php-xml Recommends: php-apcu Recommends: php-intl Obsoletes: php-oojs-oojs-ui < 0.41.0-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 %autopatch -p1 %build # Fix shebangs perl -pi -e 's|#!/usr/bin/env python|#!/usr/bin/env python3|' maintenance/language/zhtable/Makefile.py perl -pi -e 's|\@prefix\@/bin/php|/usr/bin/php|' vendor/pear/mail_mime/scripts/phail.php %install # Remove extension as it ships a bundled lua binary rm -rf extensions/Scribunto # 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-%{basever},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 %post php %{_datadir}/mediawiki/maintenance/update.php --quick > /dev/null if [ ! -e %{_datadir}/mediawiki/images ]; then ln -s %{_localstatedir}/www/mediawiki/images %{_datadir}/mediawiki/images fi %files %doc COPYING FAQ HISTORY README.md RELEASE-NOTES-%{basever} UPGRADE CREDITS INSTALL docs %{_datadir}/mediawiki %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