1
0
forked from pool/hiawatha
hiawatha/hiawatha.spec

143 lines
4.2 KiB
RPMSpec

#
# spec file for package hiawatha
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2013 Mariusz Fik <fisiu@opensuse.org>.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define webroot /srv/www
Name: hiawatha
Version: 8.8.1
Release: 0
License: GPL-2.0
Summary: A secure webserver for Unix
Url: http://www.hiawatha-webserver.org
Group: Productivity/Networking/Web/Servers
Source0: http://hiawatha.leisink.org/files/hiawatha-%{version}.tar.gz
Source1: %{name}.logrotate
Source2: %{name}.service
Source3: %{name}.permissions
BuildRequires: libxslt-devel
BuildRequires: cmake >= 2.8.4
BuildRequires: pkg-config
BuildRequires: systemd
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: %fillup_prereq
PreReq: %insserv_prereq
PreReq: permissions
Requires: logrotate
%{?systemd_requires}
%description
Hiawatha is a secure webserver for Unix. It has been written with 'being
secure' as its main goal. Hiawatha has many security features that no other
webserver has. This and the fact that Hiawatha's source code is free of
security-bugs, makes Hiawatha the most secure webserver available.
%prep
%setup -q
%build
mkdir build
cd build
cmake .. \
-DCMAKE_C_FLAGS="%{optflags} -pie -fPIC" \
-DCMAKE_INSTALL_PREFIX="%{_prefix}" \
-DCMAKE_INSTALL_BINDIR="%{_bindir}" \
-DCMAKE_INSTALL_SBINDIR="%{_sbindir}" \
-DCMAKE_INSTALL_LIBDIR=%{_libdir} \
-DCONFIG_DIR="%{_sysconfdir}/hiawatha" \
-DLOG_DIR="%{_localstatedir}/log/hiawatha" \
-DPID_DIR="%{_localstatedir}/run" \
-DWORK_DIR="%{_localstatedir}/lib/hiawatha" \
-DWEBROOT_DIR="%{webroot}/%{name}/htdocs" \
-DENABLE_CACHE=On \
-DENABLE_IPV6=On \
-DENABLE_MONITOR=On \
-DENABLE_RPROXY=On \
-DENABLE_SSL=On \
-DENABLE_TOMAHAWK=On \
-DENABLE_TOOLKIT=On \
-DENABLE_XSLT=On \
-DENABLE_ZLIB_SUPPORT=On
make %{?_smp_mflags}
%install
cd build
%makeinstall
install -D -m0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
install -D -m0644 %{SOURCE2} %{buildroot}%{_unitdir}/%{name}.service
install -D -m0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/permissions.d/%{name}
# run as wwwrun user
sed "s/#ServerId = www-data/ServerId = wwwrun/" -i %{buildroot}%{_sysconfdir}/hiawatha/hiawatha.conf
# temp fix
rm -vf %{buildroot}%{_libdir}/%{name}/libpolarssl.so
%pre
%service_add_pre %{name}.service
%post
%service_add_post %{name}.service
echo
echo "To activate the service, run as root"
echo "# systemctl enable %{name}.service"
echo
%set_permissions %{_sbindir}/cgi-wrapper
%verifyscript
%verify_permissions -e %{_sbindir}/cgi-wrapper
%preun
%service_del_preun %{name}.service
%postun
%service_del_postun %{name}.service
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root)
%doc AUTHORS ChangeLog LICENSE
%{_bindir}/ssi-cgi
%{_sbindir}/%{name}
%{_sbindir}/wigwam
%{_sbindir}/cgi-wrapper
%{_unitdir}/%{name}.service
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/libpolarssl.so*
%dir %{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}/cgi-wrapper.conf
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
%config(noreplace) %{_sysconfdir}/%{name}/mimetype.conf
%config(noreplace) %{_sysconfdir}/%{name}/index.xslt
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%config(noreplace) %{_sysconfdir}/permissions.d/%{name}
%{_mandir}/man1/*.1.gz
%dir %{webroot}/%{name}
%dir %{webroot}/%{name}/htdocs
%{webroot}/%{name}/htdocs/index.html
%dir %attr(-,wwwrun,www) %{_localstatedir}/lib/%{name}/
%dir %attr(-,wwwrun,www) %{_localstatedir}/log/%{name}/
%changelog