+# TODO
+# - doesn't build
+# mod_xslt.c:212: warning: passing arg 6 of `SablotRunProcessor' from incompatible pointer type
+# ...
%define mod_name xslt
-%define apxs /usr/sbin/apxs
+%define apxs /usr/sbin/apxs1
Summary: Module to serve XML based content
-Summary(pl): Modu³ do udostêpniania dokumentów XML
-Name: apache-mod_%{mod_name}
+Summary(pl.UTF-8): Moduł do udostępniania dokumentów XML
+Name: apache1-mod_%{mod_name}
Version: 1.1
-Release: 4
+Release: 1.2
License: GPL
Group: Networking/Daemons
Source0: http://dl.sourceforge.net/modxslt/mod_%{mod_name}-%{version}.tar.gz
# Source0-md5: ce458a48f56cc857c808b71ec27f592d
-Source1: mod_%{mod_name}.conf
-Patch0: mod_%{mod_name}-includes.patch
-Patch1: mod_%{mod_name}-regex.patch
-Patch2: mod_%{mod_name}-make.patch
-Patch3: mod_%{mod_name}-module.patch
+Source1: %{name}.conf
+Patch0: %{name}-includes.patch
+Patch1: %{name}-regex.patch
+Patch2: %{name}-make.patch
+Patch3: %{name}-module.patch
URL: http://modxslt.userworld.com/
BuildRequires: %{apxs}
-BuildRequires: apache-devel
+BuildRequires: apache1-devel >= 1.3.33-2
+BuildRequires: rpmbuild(macros) >= 1.268
BuildRequires: sablotron-devel
-Requires(post,preun): %{apxs}
+Requires: apache1 >= 1.3.33-2
Requires: expat
Requires: sablotron
+Obsoletes: apache-mod_xslt <= 1.1
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _pkglibdir %(%{apxs} -q LIBEXECDIR)
-%define _sysconfdir /etc/httpd
+%define _pkglibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
+%define _sysconfdir %(%{apxs} -q SYSCONFDIR 2>/dev/null)
%description
mod_xslt is a simple Apache module to serve XML based content. Data is
tutorial_html.xsl. The content-type returned to the browser is
text/html. The translation occurs transparently to the user.
-%description -l pl
-mod_xslt jest prostym modu³em Apache do udostêpniania dokumentów XML.
-Dane s± zapisane w plikach XML na serwerze. U¿ytkownik ¿±da pliku XML
-i t³umaczenia poprzez URL w stylu http://localhost/sourcefile.html.
-Modu³ zamienia ten URL na pliki ¼ród³owe XML i XSL. W tym przyk³adzie
-plikiem XML bêdzie sourcefile.xml. Modu³ otworzy plik sourcefile.xml i
-okre¶li DOCTYPE, na podstawie którego otworzy odpowiedni plik XSL.
-Je¿eli DOCTYPE jest "tutorial", plikiem XSL bêdzie tutorial_html.xsl.
-Nastêpnie modu³ dokona przetwarzania pliku XML za pomoc± arkusza XSLT
-i zwróci przegl±darce powsta³y w ten sposób text/html. Ca³y proces
-odbywa siê w sposób niewidoczny dla u¿ytkownika.
+%description -l pl.UTF-8
+mod_xslt jest prostym modułem Apache do udostępniania dokumentów XML.
+Dane są zapisane w plikach XML na serwerze. Użytkownik żąda pliku XML
+i tłumaczenia poprzez URL w stylu http://localhost/sourcefile.html.
+Moduł zamienia ten URL na pliki źródłowe XML i XSL. W tym przykładzie
+plikiem XML będzie sourcefile.xml. Moduł otworzy plik sourcefile.xml i
+określi DOCTYPE, na podstawie którego otworzy odpowiedni plik XSL.
+Jeżeli DOCTYPE jest "tutorial", plikiem XSL będzie tutorial_html.xsl.
+Następnie moduł dokona przetwarzania pliku XML za pomocą arkusza XSLT
+i zwróci przeglądarce powstały w ten sposób text/html. Cały proces
+odbywa się w sposób niewidoczny dla użytkownika.
%prep
%setup -q -n mod%{mod_name}
%patch3 -p1
%build
-CFLAGS="%{rpmcflags} -DEAPI"; export CFLAGS
-%{__make} APXS=%{apxs}
+%{__make} \
+ APXS=%{apxs} \
+ CFLAGS="%{rpmcflags} -DEAPI"
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_pkglibdir},%{_sysconfdir}}
+install -d $RPM_BUILD_ROOT{%{_pkglibdir},%{_sysconfdir}/conf.d}
install mod_%{mod_name}.so $RPM_BUILD_ROOT%{_pkglibdir}
-install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/mod_xslt.conf
+install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/90_mod_%{mod_name}.conf
%clean
rm -rf $RPM_BUILD_ROOT
%post
-%{apxs} -e -a -n %{mod_name} %{_pkglibdir}/mod_%{mod_name}.so 1>&2
-if [ -f /var/lock/subsys/httpd ]; then
- /etc/rc.d/init.d/httpd restart 1>&2
-fi
+%service -q apache restart
-%preun
+%postun
if [ "$1" = "0" ]; then
- %{apxs} -e -A -n %{mod_name} %{_pkglibdir}/mod_%{mod_name}.so 1>&2
- if [ -f /var/lock/subsys/httpd ]; then
- /etc/rc.d/init.d/httpd restart 1>&2
- fi
+ %service -q apache restart
fi
%files
%defattr(644,root,root,755)
-%attr(755,root,root) %{_pkglibdir}/*
-%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mod_%{mod_name}.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_%{mod_name}.conf
+%attr(755,root,root) %{_pkglibdir}/*.so