1 |
# stay on 1.35.x LTS until 1.39.x |
2 |
# https://www.mediawiki.org/wiki/Version_lifecycle |
3 |
%define basever 1.35 |
4 |
%define subver 9 |
5 |
%global __requires_exclude pear\\((extensions/.*|core/includes/WebStart.php|phase3/includes/WebStart.php|PHPUnit/Framework.php|src/hotp.php)\\)|/usr/bin/hhvm |
6 |
|
7 |
Name: mediawiki |
8 |
Version: %{basever}.%{subver} |
9 |
Release: %mkrel 1 |
10 |
Summary: A wiki engine |
11 |
License: GPLv2+ |
12 |
Group: System/Servers |
13 |
BuildArch: noarch |
14 |
Url: http://www.mediawiki.org/wiki/MediaWiki |
15 |
|
16 |
Source0: http://releases.wikimedia.org/mediawiki/%{basever}/%{name}-%{version}.tar.gz |
17 |
Source1: mediawiki.conf |
18 |
# Save sqlite db in mediawiki data dir |
19 |
Patch0: mediawiki-1.35.0-sqlite-db-dir-fix.patch |
20 |
|
21 |
# to make sure the "apache" group is created before mediawiki is installed |
22 |
Requires(pre): webserver-base |
23 |
Requires: webserver-base |
24 |
# suggest apache-mod_php |
25 |
Recommends: apache-mod_php |
26 |
# for diff3: |
27 |
Requires: diffutils |
28 |
# for convert: |
29 |
Requires: imagemagick |
30 |
Requires(post): php-cli |
31 |
Requires: php-ctype |
32 |
Requires: php-dom |
33 |
Requires: php-fileinfo |
34 |
Requires: php-gd |
35 |
Requires: php-iconv |
36 |
Requires: php-mbstring |
37 |
Requires: %{name}-sql = %{version}-%{release} |
38 |
Requires: php-xml |
39 |
Recommends: php-apcu |
40 |
Recommends: php-intl |
41 |
Obsoletes: php-oojs-oojs-ui < 0.41.0-2 |
42 |
|
43 |
%description |
44 |
MediaWiki is the software used for Wikipedia and the other Wikimedia |
45 |
Foundation websites. Compared to other wikis, it has an excellent |
46 |
range of features and support for high-traffic websites using multiple |
47 |
servers |
48 |
|
49 |
This package includes math rendering support for mediawiki. |
50 |
|
51 |
%package mysql |
52 |
Summary: Mediawiki with mysql database |
53 |
Group: System/Servers |
54 |
Provides: %{name}-sql = %{version}-%{release} |
55 |
Requires: php-mysql |
56 |
|
57 |
%description mysql |
58 |
This meta package installs the neccessary packages to use mediawiki |
59 |
with a mariadb or mysql database. |
60 |
This does not install the database server itself, because you can run |
61 |
mediawiki with a remote database server. |
62 |
|
63 |
%package pgsql |
64 |
Summary: Mediawiki with postgresql database |
65 |
Group: System/Servers |
66 |
Provides: %{name}-sql = %{version}-%{release} |
67 |
Requires: php-pgsql |
68 |
|
69 |
%description pgsql |
70 |
This meta package installs the neccessary packages to use mediawiki |
71 |
with a postgresql database. |
72 |
This does not install the database server itself, because you can run |
73 |
mediawiki with a remote database server. |
74 |
|
75 |
%package sqlite |
76 |
Summary: Mediawiki with sqlite database |
77 |
Group: System/Servers |
78 |
Provides: %{name}-sql = %{version}-%{release} |
79 |
Requires: php-sqlite3 |
80 |
Requires: php-pdo_sqlite |
81 |
|
82 |
%description sqlite |
83 |
This meta package installs the neccessary packages to use mediawiki |
84 |
with an sqlite database. |
85 |
If you are using sqlite you can't use a remote database server. |
86 |
|
87 |
%prep |
88 |
%setup -q |
89 |
%autopatch -p1 |
90 |
|
91 |
%build |
92 |
# Fix shebangs |
93 |
perl -pi -e 's|#!/usr/bin/env python|#!/usr/bin/env python3|' maintenance/language/zhtable/Makefile.py |
94 |
perl -pi -e 's|\@prefix\@/bin/php|/usr/bin/php|' vendor/pear/mail_mime/scripts/phail.php |
95 |
|
96 |
%install |
97 |
# Remove extension as it ships a bundled lua binary |
98 |
rm -rf extensions/Scribunto |
99 |
|
100 |
# now copy the rest to the buildroot. |
101 |
mkdir -p %{buildroot}%{_datadir}/mediawiki |
102 |
cp -a * %{buildroot}%{_datadir}/mediawiki/ |
103 |
|
104 |
# remove documentation |
105 |
rm -f %{buildroot}%{_datadir}/mediawiki/{COPYING,FAQ,HISTORY,README,README.mediawiki,RELEASE-NOTES-%{basever},UPGRADE,CREDITS,INSTALL} |
106 |
rm -rf %{buildroot}%{_datadir}/mediawiki/docs |
107 |
|
108 |
# remove unneeded parts |
109 |
rm -fr %{buildroot}%{_datadir}/mediawiki/{t,test,tests} |
110 |
find %{buildroot}%{_datadir}/mediawiki/ -name .htaccess -exec rm -f {} + |
111 |
|
112 |
# fix permissions |
113 |
find %{buildroot}%{_datadir}/mediawiki -name \*.pl -exec chmod +x {} + |
114 |
|
115 |
# remove version control/patch files |
116 |
find %{buildroot} -name .git\* -exec rm -f {} + |
117 |
|
118 |
%{__install} -d -m 755 %{buildroot}%{webappconfdir} |
119 |
install -p -m 0644 %{SOURCE1} \ |
120 |
%{buildroot}%{webappconfdir}/mediawiki.conf |
121 |
|
122 |
mkdir %{buildroot}%{_sysconfdir}/mediawiki |
123 |
|
124 |
# placeholder for a default instance |
125 |
mkdir -p %{buildroot}/%{_localstatedir}/www/mediawiki |
126 |
|
127 |
# move editable things out of /usr |
128 |
mv %{buildroot}%{_datadir}/mediawiki/images %{buildroot}%{_localstatedir}/www/mediawiki/images |
129 |
ln -s %{_sysconfdir}/mediawiki/LocalSettings.php %{buildroot}%{_datadir}/mediawiki/LocalSettings.php |
130 |
|
131 |
install -d -m 755 %{buildroot}/%{_localstatedir}/lib/mediawiki |
132 |
|
133 |
%post |
134 |
php %{_datadir}/mediawiki/maintenance/update.php --quick > /dev/null |
135 |
if [ ! -e %{_datadir}/mediawiki/images ]; then |
136 |
ln -s %{_localstatedir}/www/mediawiki/images %{_datadir}/mediawiki/images |
137 |
fi |
138 |
|
139 |
%files |
140 |
%doc COPYING FAQ HISTORY README.md RELEASE-NOTES-%{basever} UPGRADE CREDITS INSTALL docs |
141 |
%{_datadir}/mediawiki |
142 |
%config(noreplace) %{webappconfdir}/mediawiki.conf |
143 |
%dir %{_sysconfdir}/mediawiki |
144 |
%dir %{_localstatedir}/www/mediawiki |
145 |
%attr(-,apache,apache) %dir %{_localstatedir}/www/mediawiki/images |
146 |
%attr(-,apache,apache) %{_localstatedir}/www/mediawiki/images/README |
147 |
|
148 |
%files mysql |
149 |
|
150 |
%files pgsql |
151 |
|
152 |
%files sqlite |
153 |
%attr(-,apache,apache) %{_localstatedir}/lib/mediawiki |