ishcherb / rpms / dokuwiki

Forked from rpms/dokuwiki 6 years ago
Clone
Blob Blame History Raw
Name:		dokuwiki
Version:	0
Release:	0.4.20091225.c%{?dist}
Summary:	Standards compliant simple to use wiki
Group:		Applications/Internet
License:	GPLv2
URL:		http://www.dokuwiki.org/dokuwiki
Source0:	http://www.splitbrain.org/_media/projects/%{name}/%{name}-2009-12-25c.tgz
#Fedora specific patches to use fedora packaged libraries
Patch1:		dokuwiki-use-fedora-geshi.patch
#Patch2:		dokuwiki-use-fedora-simplepie.patch
Patch3:		dokuwiki-use-fedora-email-valid.patch
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch:	noarch
Requires:	php-gd
Requires:	php-geshi
#Requires:	php-simplepie
Requires:	php-email-address-validation
Requires:	httpd

%description
DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at creating 
documentation of any kind. It has a simple but powerful syntax which makes sure 
the datafiles remain readable outside the Wiki and eases the creation of 
structured texts. 

All data is stored in plain text files no database is required. 

%prep
%setup -q -n %{name}-2009-12-25
%patch1 -p1 
#%patch2 -p1
%patch3 -p1

mv -f conf/mysql.conf.php.example .

sed -i "s:'./data':'%{_localstatedir}/lib/%{name}/data':" conf/%{name}.php
sed -i "s:ALL        8:ALL        1:" conf/acl.auth.php.dist

cat <<EOF >%{name}.httpd
# %{name}
# %{summary}
# %{version}
#

Alias /%{name} %{_datadir}/%{name}

<Directory %{_datadir}/%{name}>
	Options +FollowSymLinks
	Order Allow,Deny
	Allow from 127.0.0.1 ::1
</Directory>

<Directory %{_datadir}/%{name}/inc>
	Order Deny,Allow
	Deny from all
</Directory>

<Directory %{_datadir}/%{name}/inc/lang>
	Order Deny,Allow
	Deny from all
</Directory>

<Directory %{_datadir}/%{name}/lib/_fla>
	## no access to the fla directory
	Order allow,deny
	Deny from all
</Directory>

<Directory %{_sysconfdir}/%{name}>
	Order Deny,Allow
	Deny from all
</Directory>

EOF

%build
# nothing to do here

%install
rm -rf $RPM_BUILD_ROOT
install -d -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
install -d -p $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d
install -d -p $RPM_BUILD_ROOT%{_datadir}/%{name}
install -d -p $RPM_BUILD_ROOT%{_datadir}/%{name}/bin
install -d -p $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/data/{index,tmp,media,attic,pages,cache,meta,locks}
rm -f install.php
rm -rf inc/geshi*
rm -f inc/EmailAddressValidator.php
rm -f inc/.htaccess
rm -f inc/lang/.htaccess
rm -f lib/_fla/{.htaccess,README}
rm -f lib/plugins/revert/lang/sk/intro.txt
cp -rp data/pages/* $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/data/pages/
cp -rp conf/* $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
cp -rp bin/*  $RPM_BUILD_ROOT%{_datadir}/%{name}/bin
cp -rp lib  $RPM_BUILD_ROOT%{_datadir}/%{name}/
cp -rp inc  $RPM_BUILD_ROOT%{_datadir}/%{name}/
install -p -m0644 *.php $RPM_BUILD_ROOT%{_datadir}/%{name}
install -p -m0644 %{name}.httpd $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/%{name}.conf

pushd $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
for d in *.dist; do
	d0=`basename $d .dist`
	if [ ! -f "$d0" ]; then
		mv -f $d $d0
	fi
done
popd

pushd $RPM_BUILD_ROOT%{_datadir}/%{name}
	ln -sf ../../../etc/%name conf
popd

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
%doc COPYING README VERSION mysql.conf.php.example
%config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf
%config(noreplace) %attr(0644,apache,apache) %{_sysconfdir}/%{name}/*
%dir %attr(0755,apache,apache) %{_sysconfdir}/%{name}
%attr(0755,apache,apache) %{_datadir}/%{name}/bin/*.php
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/conf
%{_datadir}/%{name}/*.php
%dir %{_datadir}/%{name}/lib
%{_datadir}/%{name}/lib/exe
%{_datadir}/%{name}/lib/images
%{_datadir}/%{name}/lib/index.html
%{_datadir}/%{name}/lib/scripts
%{_datadir}/%{name}/lib/styles
%{_datadir}/%{name}/lib/tpl
%{_datadir}/%{name}/lib/_fla
%attr(0755,apache,apache) %dir %{_datadir}/%{name}/lib/plugins
%{_datadir}/%{name}/lib/plugins/*
%{_datadir}/%{name}/inc
%dir %{_localstatedir}/lib/%{name}
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/media
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/attic
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/cache
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/meta
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/locks
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/tmp
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/index
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/pages
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/pages/playground
%attr(0755,apache,apache) %dir %{_localstatedir}/lib/%{name}/data/pages/wiki
%{_localstatedir}/lib/%{name}/data/pages/*/*

%changelog
* Tue Jan 19 2010 Andrew Colin Kissa <andrew@topdog.za.net> - 0-0.4.20091225.c
- Fix CSRF bug Secunia advisory SA38205, dokuwiki bug #1853
- Fix Security ACL bypass bug Secunia advisory SA38183, dokuwiki bug #1847
- Upgrade to the latest upstream
- Fix bugzilla bug #556494

* Tue Dec 15 2009 Andrew Colin Kissa <andrew@topdog.za.net> - 0-0.3.20091202.rc
- Fix versioning

* Fri Dec 04 2009 Andrew Colin Kissa <andrew@topdog.za.net> - 0-0.1.20091202.rc
- Upgrade to new upstream
- Fix bugzilla bug #544257

* Fri Aug 07 2009 Andrew Colin Kissa <andrew@topdog.za.net> - 0-0.2.20090214.b
- Fixes requested by reviewer

* Thu Aug 06 2009 Andrew Colin Kissa <andrew@topdog.za.net> - 0-0.1.20090214.b
- Initial package