-%define mod_name mod_mono
-%define xsp_version 1.0
-
+#
+# TODO:
+# - figure out how to kill mod-mono-server.exe process
+# when apache is restarted
+#
+%define _name mod_mono
+%define apxs /usr/sbin/apxs
Summary: Mono module for Apache 2
Summary(pl): Modu³ Mono dla serwera Apache 2
-Name: apache-mod_mono
-Version: 1.0
-Release: 0.9
+Name: apache-%{_name}
+Version: 1.0.6
+Release: 1
Epoch: 1
License: Apache
Group: Networking/Daemons
-Source0: http://mono2.ximian.com/archive/1.0/%{mod_name}-%{version}.tar.gz
-# Source0-md5: 154720f6286105d513d1688f4a6e2b29
-Source1: http://mono2.ximian.com/archive/1.0/xsp-%{xsp_version}.tar.gz
-# Source1-md5: cd681f02d0f93774ba126d77fd377f4b
+Source0: http://mono2.ximian.com/archive/%{version}/%{_name}-%{version}.tar.gz
+# Source0-md5: 411a6608a14ac56557804d2b01923b92
Patch0: %{name}-apu-config.patch
+Patch1: %{name}-apr_fixes.patch
URL: http://www.mono-project.com/
-BuildRequires: apache-devel >= 2.0
+BuildRequires: apache-devel >= 2.0.52-2
+BuildRequires: %{apxs}
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: mono-csharp >= 1.0
-Requires: apache >= 2.0
+Requires: xsp
+Requires: apache >= 2.0.52-2
Requires: mono-csharp >= 1.0
Obsoletes: mod_mono
+ExcludeArch: alpha
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define apxs %{_sbindir}/apxs
%define _httpdir /home/services/httpd
%define _pkglibdir %(%{apxs} -q LIBEXECDIR)
+%define _sysconfdir /etc/httpd
%description
This is an experimental module that allows you to run ASP.NET pages on
Uniksie z serwerem Apache i Mono.
%prep
-%setup -q -n %{mod_name}-%{version} -a 1
+%setup -q -n %{_name}-%{version}
%patch0 -p1
+%patch1 -p1
%build
rm -rf $RPM_BUILD_ROOT
-# Build sample ASP.NET pages from xsp distribution
-cd xsp-%{xsp_version}
-%{__aclocal}
-%{__autoconf}
-%{__automake}
-%configure \
- --with-apxs=%{apxs}
-
-%{__make} \
- DESTDIR=$RPM_BUILD_ROOT
-
-%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT
-cd ..
-
# Build Apache Module
%{__libtoolize}
%{__aclocal}
%configure \
--with-apxs=%{apxs} \
- --with-apr-config=%{_bindir}/apr-config \
- --with-apu-config=%{_bindir}/apu-config
-
+ --with-apr-config=%{_bindir}/apr-1-config \
+ --with-apu-config=%{_bindir}/apu-1-config \
+ CFLAGS="%{rpmcflags} -D_GNU_SOURCE -D_LARGEFILE64_SOURCE"
+
%{__make} \
DESTDIR=$RPM_BUILD_ROOT
-# Build Mono DLL
-%{__make} -C src -f makedll.mak
-
%install
-install -d $RPM_BUILD_ROOT{%{_sysconfdir}/httpd/httpd.conf,%{_pkglibdir},%{_examplesdir}/%{name}-%{version}} \
- $RPM_BUILD_ROOT%{_httpdir}/{.wapi,mono}
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_sysconfdir}/httpd.conf,%{_pkglibdir},%{_mandir}/man8}
-install src/.libs/libmod_mono.so $RPM_BUILD_ROOT%{_pkglibdir}/mod_mono.so
-install src/ModMono.dll $RPM_BUILD_ROOT%{_libdir}
-mv -f $RPM_BUILD_ROOT%{_docdir}/xsp/test $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
-mv xsp-1.0/INSTALL xsp-1.0/INSTALL-xsp
-mv xsp-1.0/NEWS xsp-1.0/NEWS-xsp
-mv xsp-1.0/README xsp-1.0/README-xsp
-mv xsp-1.0/ChangeLog xsp-1.0/ChangeLog-xsp
+install src/.libs/%{_name}.so $RPM_BUILD_ROOT%{_pkglibdir}/%{_name}.so
+install man/%{_name}.8 $RPM_BUILD_ROOT%{_mandir}/man8
-cat > $RPM_BUILD_ROOT%{_sysconfdir}/httpd/httpd.conf/70_mod_mono.conf <<EOF
-LoadModule mono_module modules/mod_mono.so
-MonoApplications "/mono:%{_httpdir}/mono"
-Alias /mono "%{_httpdir}/mono"
-<Location /mono>
- SetHandler mono
+cat > $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf/70_%{_name}.conf <<EOF
+LoadModule mono_module modules/%{_name}.so
+MonoApplications "/asp_net:%{_httpdir}/asp_net"
+Alias /asp_net "%{_httpdir}/asp_net"
+<Location /asp_net>
+ SetHandler mono
</Location>
EOF
%files
%defattr(644,root,root,755)
-%doc ChangeLog INSTALL NEWS README xsp-1.0/{INSTALL,NEWS,README,ChangeLog}-xsp
-%attr(755,root,root) %{_pkglibdir}/mod_mono.so
-%attr(755,root,root) %{_bindir}/*
-%attr(755,root,root) %{_libdir}/*.dll
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/httpd/httpd.conf/*
-%attr(750,http,http) %{_httpdir}/.wapi
-%attr(750,http,http) %dir %{_httpdir}/mono
-%{_mandir}/man1/*
-%{_examplesdir}/%{name}-%{version}
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/httpd.conf/*
+%doc ChangeLog INSTALL NEWS README
+%attr(755,root,root) %{_pkglibdir}/%{_name}.so
+%{_mandir}/man8/*