Peter 'Pessoft' Kolínek ed273b7
%global		releasenum 2018-04-22a
Peter 'Pessoft' Kolínek ed273b7
%global		releasetag 20180422a
88d46a9
b1c0532
Name:		dokuwiki
b1c0532
Version:	0
Peter 'Pessoft' Kolínek ed273b7
Release:	0.32.%{releasetag}%{?dist}
b1c0532
Summary:	Standards compliant simple to use wiki
b1c0532
Group:		Applications/Internet
b1c0532
License:	GPLv2
Peter 'Pessoft' Kolínek ed273b7
URL:		https://www.dokuwiki.org/dokuwiki
Peter 'Pessoft' Kolínek ed273b7
Source0:	https://download.dokuwiki.org/src/%{name}/%{name}-%{releasenum}.tgz
b1c0532
#Fedora specific patches to use fedora packaged libraries
b2edf8a
Patch1:		dokuwiki-rm-bundled-libs.patch
b1c0532
BuildArch:	noarch
b1c0532
Requires:	php-gd
Peter 'Pessoft' Kolínek ed273b7
Requires:	php-xml
Peter 'Pessoft' Kolínek ed273b7
Requires:	php-json
b1c0532
Requires:	php-geshi
Peter 'Pessoft' Kolínek ed273b7
Requires:	php-simplepie
b1c0532
Requires:	php-email-address-validation
Peter 'Pessoft' Kolínek ed273b7
Requires:	php-lessphp
Peter 'Pessoft' Kolínek ed273b7
Requires:	php-paragonie-random-compat
Peter 'Pessoft' Kolínek ed273b7
Requires:	php-phpseclib
b1c0532
b1c0532
%description
b1c0532
DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at creating 
b1c0532
documentation of any kind. It has a simple but powerful syntax which makes sure 
Peter 'Pessoft' Kolínek ed273b7
the data-files remain readable outside the Wiki and eases the creation of 
b1c0532
structured texts. 
b1c0532
b1c0532
All data is stored in plain text files no database is required. 
b1c0532
b2edf8a
%package selinux
b2edf8a
Summary:	SElinux support for dokuwiki
b2edf8a
Requires:	%name = %version-%release
Adam Tkac bf610a2
Requires:	policycoreutils
Adam Tkac bf610a2
%if 0%{?rhel} > 5 || 0%{?fedora} 
cdb50a3
Requires:	python2-policycoreutils
Adam Tkac bf610a2
%endif
Adam Tkac bf610a2
Group:		Applications/Internet
b2edf8a
BuildArch:	noarch
b2edf8a
b2edf8a
%description selinux
b2edf8a
Configures DokuWiki to run in SELinux enabled environments.
b2edf8a
b1c0532
%prep
88d46a9
%setup -q -n %{name}-%{releasenum}
Adam Tkac 4a2b630
Adam Tkac 4a2b630
# Remove bundled code
Peter 'Pessoft' Kolínek ed273b7
#  email-address-validator
Peter 'Pessoft' Kolínek ed273b7
rm -r vendor/aziraphale
Peter 'Pessoft' Kolínek ed273b7
#  geshi
Peter 'Pessoft' Kolínek ed273b7
rm -r vendor/geshi
Peter 'Pessoft' Kolínek ed273b7
#  lesserphp
Peter 'Pessoft' Kolínek ed273b7
rm -r vendor/marcusschwarz
Peter 'Pessoft' Kolínek ed273b7
#  random_compat
Peter 'Pessoft' Kolínek ed273b7
rm -r vendor/paragonie
Peter 'Pessoft' Kolínek ed273b7
#  phpseclib
Peter 'Pessoft' Kolínek ed273b7
rm -r vendor/phpseclib
Peter 'Pessoft' Kolínek ed273b7
#  simplepie
Peter 'Pessoft' Kolínek ed273b7
rm -r vendor/simplepie
Adam Tkac 4a2b630
Adam Tkac bdc4db9
%patch1 -p1 -b .bundled
b2edf8a
b1c0532
mv -f conf/mysql.conf.php.example .
b1c0532
b1c0532
sed -i "s:'./data':'%{_localstatedir}/lib/%{name}/data':" conf/%{name}.php
b1c0532
sed -i "s:ALL        8:ALL        1:" conf/acl.auth.php.dist
b1c0532
b1c0532
cat <<EOF >%{name}.httpd
b1c0532
b1c0532
Alias /%{name} %{_datadir}/%{name}
b1c0532
b1c0532
<Directory %{_datadir}/%{name}>
Johan Cwiklinski d0a14ce
	<IfModule mod_authz_core.c>
Johan Cwiklinski d0a14ce
		# Apache 2.4
Johan Cwiklinski d0a14ce
		Require local
Johan Cwiklinski d0a14ce
	</IfModule>
Johan Cwiklinski d0a14ce
	<IfModule !mod_authz_core.c>
Johan Cwiklinski d0a14ce
		# Apache 2.2
Johan Cwiklinski d0a14ce
		Options +FollowSymLinks
Johan Cwiklinski d0a14ce
		Order Allow,Deny
Johan Cwiklinski d0a14ce
		Allow from 127.0.0.1 ::1
Johan Cwiklinski d0a14ce
	</IfModule>
b1c0532
</Directory>
b1c0532
Peter 'Pessoft' Kolínek ed273b7
<Directory %{_datadir}/%{name}/bin>
b1c0532
	Order Deny,Allow
b1c0532
	Deny from all
b1c0532
</Directory>
b1c0532
Peter 'Pessoft' Kolínek ed273b7
<Directory %{_datadir}/%{name}/conf>
b1c0532
	Order Deny,Allow
b1c0532
	Deny from all
b1c0532
</Directory>
b1c0532
Peter 'Pessoft' Kolínek ed273b7
<Directory %{_datadir}/%{name}/inc>
Peter 'Pessoft' Kolínek ed273b7
	Order Deny,Allow
ad46a98
	Deny from all
ad46a98
</Directory>
ad46a98
Peter 'Pessoft' Kolínek ed273b7
<Directory %{_datadir}/%{name}/vendor>
b1c0532
	Order Deny,Allow
b1c0532
	Deny from all
b1c0532
</Directory>
b1c0532
b1c0532
EOF
b1c0532
b2edf8a
cat <<EOF >DOKUWIKI-SELINUX.README
b2edf8a
%{name}-selinux
b2edf8a
====================
b2edf8a
b2edf8a
This package configures dokuwiki to run in
b2edf8a
SELinux enabled environments
b2edf8a
b2edf8a
EOF
b2edf8a
b1c0532
%build
b1c0532
# nothing to do here
b1c0532
b1c0532
%install
b1c0532
install -d -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
b1c0532
install -d -p $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d
b1c0532
install -d -p $RPM_BUILD_ROOT%{_datadir}/%{name}
b1c0532
install -d -p $RPM_BUILD_ROOT%{_datadir}/%{name}/bin
b1c0532
install -d -p $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}
76baa02
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/data/{index,tmp,media,attic,pages,cache,meta,locks,media_attic,media_meta}
b1c0532
rm -f install.php
b1c0532
rm -f inc/.htaccess
b1c0532
rm -f inc/lang/.htaccess
Peter 'Pessoft' Kolínek ed273b7
rm -f vendor/.htaccess
b1c0532
cp -rp data/pages/* $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/data/pages/
b1c0532
cp -rp conf/* $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
b1c0532
cp -rp bin/*  $RPM_BUILD_ROOT%{_datadir}/%{name}/bin
b1c0532
cp -rp lib  $RPM_BUILD_ROOT%{_datadir}/%{name}/
b1c0532
cp -rp inc  $RPM_BUILD_ROOT%{_datadir}/%{name}/
Peter 'Pessoft' Kolínek ed273b7
cp -rp vendor  $RPM_BUILD_ROOT%{_datadir}/%{name}/
b1c0532
install -p -m0644 *.php $RPM_BUILD_ROOT%{_datadir}/%{name}
b1c0532
install -p -m0644 %{name}.httpd $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/%{name}.conf
b1c0532
b1c0532
pushd $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
b1c0532
for d in *.dist; do
b1c0532
	d0=`basename $d .dist`
b1c0532
	if [ ! -f "$d0" ]; then
b1c0532
		mv -f $d $d0
b1c0532
	fi
b1c0532
done
b1c0532
popd
b1c0532
b1c0532
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}
b1c0532
	ln -sf ../../../etc/%name conf
b1c0532
popd
b1c0532
b2edf8a
%post selinux
Adam Tkac 6549321
semanage fcontext -a -t httpd_sys_rw_content_t '%{_sysconfdir}/%{name}(/.*)?' 2>/dev/null || :
b2edf8a
semanage fcontext -a -t httpd_sys_content_t '%{_datadir}/%{name}(/.*)?' 2>/dev/null || :
Adam Tkac 6549321
semanage fcontext -a -t httpd_sys_rw_content_t '%{_datadir}/%{name}/lib/plugins(/.*)?' 2>/dev/null || :
b2edf8a
restorecon -R '%{_sysconfdir}/%{name}' || :
b2edf8a
restorecon -R '%{_datadir}/%{name}' || :
b2edf8a
b2edf8a
%postun selinux
b2edf8a
if [ $1 -eq 0 ] ; then
Adam Tkac 6549321
semanage fcontext -d -t httpd_sys_rw_content_t '%{_sysconfdir}/%{name}(/.*)?' 2>/dev/null || :
b2edf8a
semanage fcontext -d -t httpd_sys_content_t '%{_datadir}/%{name}(/.*)?' 2>/dev/null || :
Adam Tkac 6549321
semanage fcontext -d -t httpd_sys_rw_content_t '%{_datadir}/%{name}/lib/plugins(/.*)?' 2>/dev/null || :
b2edf8a
fi
b2edf8a
b2edf8a
b1c0532
%files
b1c0532
%defattr(-,root,root,-)
b1c0532
%doc COPYING README VERSION mysql.conf.php.example
b1c0532
%config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf
b1c0532
%config(noreplace) %attr(0644,apache,apache) %{_sysconfdir}/%{name}/*
b1c0532
%dir %attr(0755,apache,apache) %{_sysconfdir}/%{name}
b1c0532
%attr(0755,apache,apache) %{_datadir}/%{name}/bin/*.php
b1c0532
%dir %{_datadir}/%{name}
b1c0532
%{_datadir}/%{name}/conf
b1c0532
%{_datadir}/%{name}/*.php
b1c0532
%dir %{_datadir}/%{name}/lib
b1c0532
%{_datadir}/%{name}/lib/exe
b1c0532
%{_datadir}/%{name}/lib/images
b1c0532
%{_datadir}/%{name}/lib/index.html
b1c0532
%{_datadir}/%{name}/lib/scripts
b1c0532
%{_datadir}/%{name}/lib/styles
b1c0532
%{_datadir}/%{name}/lib/tpl
b1c0532
%attr(0755,apache,apache) %dir %{_datadir}/%{name}/lib/plugins
b1c0532
%{_datadir}/%{name}/lib/plugins/*
b1c0532
%{_datadir}/%{name}/inc
Peter 'Pessoft' Kolínek ed273b7
%{_datadir}/%{name}/vendor
b1c0532
%dir %{_localstatedir}/lib/%{name}
b1c0532
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data
b1c0532
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/media
b1c0532
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/attic
b1c0532
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/cache
b1c0532
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/meta
b1c0532
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/locks
b1c0532
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/tmp
b1c0532
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/index
76baa02
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/media_attic
76baa02
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/media_meta
b1c0532
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/pages
b1c0532
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/pages/wiki
b1c0532
%{_localstatedir}/lib/%{name}/data/pages/*/*
b1c0532
b2edf8a
%files selinux
b2edf8a
%defattr(-,root,root,-)
b2edf8a
%doc DOKUWIKI-SELINUX.README
b2edf8a
b1c0532
%changelog
Peter 'Pessoft' Kolínek ed273b7
* Sun Jul 01 2018 Peter 'Pessoft' KolĂ­nek <fedora@pessoft.com> - 0-0.32.20180422a
Peter 'Pessoft' Kolínek ed273b7
- Update to the latest stable upstream 2018-04-22a "Greebo" (#1390291: CVE-2016-7964, CVE-2016-7965, CVE-2017-12583, CVE-2017-12979, CVE-2017-12980, CVE-2017-18123)
Peter 'Pessoft' Kolínek ed273b7
- Fix missing vendor directory issue (#1372948)
Peter 'Pessoft' Kolínek ed273b7
- Fix Apache config file for access to conf and bin
Peter 'Pessoft' Kolínek ed273b7
- Replace more bundled code in vendor directory with Fedora packages (lesserphp, random_compat, phpseclib, simplepie)
Peter 'Pessoft' Kolínek ed273b7
- Fix source to HTTPS
Peter 'Pessoft' Kolínek ed273b7
cdb50a3
* Fri Mar 30 2018 Iryna Shcherbina <ishcherb@redhat.com> - 0-0.31.20150810a
cdb50a3
- Update Python 2 dependency declarations to new packaging standards
cdb50a3
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
cdb50a3
a20262b
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0-0.30.20150810a
a20262b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
a20262b
a5b57b1
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0-0.29.20150810a
a5b57b1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
a5b57b1
73fe9a3
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0-0.28.20150810a
73fe9a3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
73fe9a3
dd4584a
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0-0.27.20150810a
dd4584a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
dd4584a
Adam Tkac bdc4db9
* Wed Sep 30 2015 Adam Tkac <vonsch@gmail.com> - 0.0.26.20150810a
Adam Tkac bdc4db9
- update to the latest upstream
Adam Tkac bdc4db9
415998e
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0-0.25.20140929c
415998e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
415998e
d1553ce
* Tue Mar 03 2015 Adam Tkac <vonsch@gmail.com> - 0.0.24.20140929c
d1553ce
- update to the latest upstream (CVE-2015-2172)
d1553ce
Adam Tkac 6549321
* Fri Dec 26 2014 Adam Tkac <vonsch@gmail.com> - 0.0.23.20140929b
Adam Tkac 6549321
- update to the latest upstream
Adam Tkac 6549321
- drop requirement of httpd (#1164396)
Adam Tkac 6549321
- fix SELinux file contexts (#1064524)
Adam Tkac 6549321
- require php-xml (#1061477)
Adam Tkac 6549321
34fae1c
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0-0.22.20131208
34fae1c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
34fae1c
eb2c099
* Thu Dec 12 2013 Adam Tkac <vonsch@gmail.com> - 0-0.21.20131208
18fdb21
- fix upstream source link
88d46a9
- use macros for dokuwiki release numbers
eb2c099
- update to the latest upstream
18fdb21
Adam Tkac bf610a2
* Tue Sep 03 2013 Adam Tkac <vonsch@gmail.com> - 0-0.20.20130510a
Adam Tkac bf610a2
- fix Requires for EL5, #967975 (patch by Charles R. Anderson)
Adam Tkac bf610a2
Adam Tkac 823bdc3
* Tue Sep 03 2013 Adam Tkac <vonsch@gmail.com> - 0-0.19.20121013
Adam Tkac 823bdc3
- update to the latest upstream
Adam Tkac 823bdc3
Adam Tkac 823bdc3
* Tue Sep 03 2013 Adam Tkac <vonsch@gmail.com> - 0-0.18.20121013
Adam Tkac 4a2b630
- remove bundled code in specfile instead of via patch
Adam Tkac 4a2b630
926c8f2
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0-0.17.20121013
926c8f2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
926c8f2
7605600
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0-0.16.20121013
7605600
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
7605600
87ba3f5
* Sun Dec 02 2012 Johan Cwiklinski <johan AT x-tnd DOT be> - 0-0.15.20121013
87ba3f5
- Fix apache config file for httpd 2.4, #871388
Johan Cwiklinski d0a14ce
76baa02
* Sat Oct 20 2012 Andrew Colin Kissa <andrew@topdog.za.net> - 0-0.14.20121013
76baa02
- Latest upstream
76baa02
- Fix Bugzilla bugs #844726, #840255, #795487, #741384, #840686, #835145
76baa02
37b2762
* Thu Aug 02 2012 Andrew Colin Kissa <andrew@topdog.za.net> - 0-0.13.20120125.b
37b2762
- Latest upstream
37b2762
- Fix Bugzilla bugs #844726, #840255, #795487, #741384, #840686, #835145
37b2762
 
7b8eb2e
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0-0.12.20110525.a
7b8eb2e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
7b8eb2e
645bf20
* Tue Apr 24 2012 Andrew Colin Kissa <andrew@topdog.za.net> - 0-0.11.20110525.a
645bf20
- Fix CVE-2012-2129
645bf20
- Fix Bugzilla bugs #815123
645bf20
4fa3d3c
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0-0.10.20110525.a
4fa3d3c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
4fa3d3c
a8a42ab
* Tue Jun 28 2011 Andrew Colin Kissa <andrew@topdog.za.net> - 0-0.9.20110525.a
873802b
- Upgrade to latest upstream
873802b
- Fix Bugzilla bugs #717146, #717149, #717148, #715569
4aeb10a
a8a42ab
* Sun Mar 13 2011 Andrew Colin Kissa <andrew@topdog.za.net> - 0-0.8.20101107.a
a8a42ab
- Fix genshi path
a8a42ab
a8a42ab
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0-0.7.20101107.a
a8a42ab
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
a8a42ab
a8a42ab
* Mon Jan 17 2011 Andrew Colin Kissa <andrew@topdog.za.net> - 0-0.6.20101107.a
a8a42ab
- Fix selinux sub package
a8a42ab
b2edf8a
* Mon Jan 17 2011 Andrew Colin Kissa <andrew@topdog.za.net> - 0-0.5.20101107.a
b2edf8a
- Upgrade to latest upstream
b2edf8a
- Split package to create selinux package
b2edf8a
- Fix Bugzilla bug #668386
b2edf8a
610a188
* Tue Jan 19 2010 Andrew Colin Kissa <andrew@topdog.za.net> - 0-0.4.20091225.c
610a188
- Fix CSRF bug Secunia advisory SA38205, dokuwiki bug #1853
610a188
- Fix Security ACL bypass bug Secunia advisory SA38183, dokuwiki bug #1847
610a188
- Upgrade to the latest upstream
610a188
- Fix bugzilla bug #556494
610a188
dca4bbf
* Tue Dec 15 2009 Andrew Colin Kissa <andrew@topdog.za.net> - 0-0.3.20091202.rc
dca4bbf
- Fix versioning
dca4bbf
ad46a98
* Fri Dec 04 2009 Andrew Colin Kissa <andrew@topdog.za.net> - 0-0.1.20091202.rc
ad46a98
- Upgrade to new upstream
dca4bbf
- Fix bugzilla bug #544257
ad46a98
b1c0532
* Fri Aug 07 2009 Andrew Colin Kissa <andrew@topdog.za.net> - 0-0.2.20090214.b
b1c0532
- Fixes requested by reviewer
b1c0532
b1c0532
* Thu Aug 06 2009 Andrew Colin Kissa <andrew@topdog.za.net> - 0-0.1.20090214.b
b1c0532
- Initial package