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 3 |
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-fileinfo |
32 |
Requires: php-gd |
33 |
Requires: php-iconv |
34 |
Requires: php-mbstring |
35 |
Requires: %{name}-sql = %{version}-%{release} |
36 |
Requires: php-xml |
37 |
Recommends: php-apcu |
38 |
Recommends: php-intl |
39 |
Obsoletes: php-oojs-oojs-ui < 0.41.0-2 |
40 |
|
41 |
%description |
42 |
MediaWiki is the software used for Wikipedia and the other Wikimedia |
43 |
Foundation websites. Compared to other wikis, it has an excellent |
44 |
range of features and support for high-traffic websites using multiple |
45 |
servers |
46 |
|
47 |
This package includes math rendering support for mediawiki. |
48 |
|
49 |
%package mysql |
50 |
Summary: Mediawiki with mysql database |
51 |
Group: System/Servers |
52 |
Provides: %{name}-sql = %{version}-%{release} |
53 |
Requires: php-mysql |
54 |
|
55 |
%description mysql |
56 |
This meta package installs the neccessary packages to use mediawiki |
57 |
with a mariadb or mysql database. |
58 |
This does not install the database server itself, because you can run |
59 |
mediawiki with a remote database server. |
60 |
|
61 |
%package pgsql |
62 |
Summary: Mediawiki with postgresql database |
63 |
Group: System/Servers |
64 |
Provides: %{name}-sql = %{version}-%{release} |
65 |
Requires: php-pgsql |
66 |
|
67 |
%description pgsql |
68 |
This meta package installs the neccessary packages to use mediawiki |
69 |
with a postgresql database. |
70 |
This does not install the database server itself, because you can run |
71 |
mediawiki with a remote database server. |
72 |
|
73 |
%package sqlite |
74 |
Summary: Mediawiki with sqlite database |
75 |
Group: System/Servers |
76 |
Provides: %{name}-sql = %{version}-%{release} |
77 |
Requires: php-sqlite3 |
78 |
Requires: php-pdo_sqlite |
79 |
|
80 |
%description sqlite |
81 |
This meta package installs the neccessary packages to use mediawiki |
82 |
with an sqlite database. |
83 |
If you are using sqlite you can't use a remote database server. |
84 |
|
85 |
%prep |
86 |
%setup -q |
87 |
%autopatch -p1 |
88 |
|
89 |
%build |
90 |
# Fix shebangs |
91 |
perl -pi -e 's|#!/usr/bin/env python|#!/usr/bin/env python3|' maintenance/language/zhtable/Makefile.py |
92 |
perl -pi -e 's|\@prefix\@/bin/php|/usr/bin/php|' vendor/pear/mail_mime/scripts/phail.php |
93 |
|
94 |
%install |
95 |
# Remove extension as it ships a bundled lua binary |
96 |
rm -rf extensions/Scribunto |
97 |
|
98 |
# now copy the rest to the buildroot. |
99 |
mkdir -p %{buildroot}%{_datadir}/mediawiki |
100 |
cp -a * %{buildroot}%{_datadir}/mediawiki/ |
101 |
|
102 |
# remove documentation |
103 |
rm -f %{buildroot}%{_datadir}/mediawiki/{COPYING,FAQ,HISTORY,README,README.mediawiki,RELEASE-NOTES-%{basever},UPGRADE,CREDITS,INSTALL} |
104 |
rm -rf %{buildroot}%{_datadir}/mediawiki/docs |
105 |
|
106 |
# remove unneeded parts |
107 |
rm -fr %{buildroot}%{_datadir}/mediawiki/{t,test,tests} |
108 |
find %{buildroot}%{_datadir}/mediawiki/ -name .htaccess -exec rm -f {} + |
109 |
|
110 |
# fix permissions |
111 |
find %{buildroot}%{_datadir}/mediawiki -name \*.pl -exec chmod +x {} + |
112 |
|
113 |
# remove version control/patch files |
114 |
find %{buildroot} -name .git\* -exec rm -f {} + |
115 |
|
116 |
%{__install} -d -m 755 %{buildroot}%{webappconfdir} |
117 |
install -p -m 0644 %{SOURCE1} \ |
118 |
%{buildroot}%{webappconfdir}/mediawiki.conf |
119 |
|
120 |
mkdir %{buildroot}%{_sysconfdir}/mediawiki |
121 |
|
122 |
# placeholder for a default instance |
123 |
mkdir -p %{buildroot}/%{_localstatedir}/www/mediawiki |
124 |
|
125 |
# move editable things out of /usr |
126 |
mv %{buildroot}%{_datadir}/mediawiki/images %{buildroot}%{_localstatedir}/www/mediawiki/images |
127 |
ln -s %{_sysconfdir}/mediawiki/LocalSettings.php %{buildroot}%{_datadir}/mediawiki/LocalSettings.php |
128 |
|
129 |
install -d -m 755 %{buildroot}/%{_localstatedir}/lib/mediawiki |
130 |
|
131 |
%post |
132 |
php %{_datadir}/mediawiki/maintenance/update.php --quick > /dev/null |
133 |
if [ ! -e %{_datadir}/mediawiki/images ]; then |
134 |
ln -s %{_localstatedir}/www/mediawiki/images %{_datadir}/mediawiki/images |
135 |
fi |
136 |
|
137 |
%files |
138 |
%doc COPYING FAQ HISTORY README.md RELEASE-NOTES-%{basever} UPGRADE CREDITS INSTALL docs |
139 |
%{_datadir}/mediawiki |
140 |
%config(noreplace) %{webappconfdir}/mediawiki.conf |
141 |
%dir %{_sysconfdir}/mediawiki |
142 |
%dir %{_localstatedir}/www/mediawiki |
143 |
%attr(-,apache,apache) %dir %{_localstatedir}/www/mediawiki/images |
144 |
%attr(-,apache,apache) %{_localstatedir}/www/mediawiki/images/README |
145 |
|
146 |
%files mysql |
147 |
|
148 |
%files pgsql |
149 |
|
150 |
%files sqlite |
151 |
%attr(-,apache,apache) %{_localstatedir}/lib/mediawiki |