Blob Blame History Raw
%bcond_without docs

Name:           yaws
Version:        2.0.6
Release:        2%{?dist}
Summary:        Web server for dynamic content written in Erlang
# BSD: see LICENSE
# ERPL: json.erl, benchmarks/bench.erl, benchmarks/bench.hrl,
#        benchmarks/all.erl, haxe.erl
# Copyright only: priv/soap.xsd, priv/wsdl.xsd
# W3C: priv/envelope.xsd
License:        BSD and ERPL and Copyright only and W3C
URL:            http://yaws.hyber.org/
Source0:	https://github.com/klacke/%{name}/archive/%{name}-%{version}/%{name}-%{version}.tar.gz
Source1:        yaws.logrotate
Source2:        yaws@.service
Patch1:		yaws-0001-disable-SSL-by-default.patch
Patch2:		yaws-0002-Fedora-systemd-changes.patch
Patch3:		yaws-0003-Drop-yaws-sendfile-driver.patch
Patch4:		yaws-0004-Use-UTF-8-for-ChangeLog.patch
Patch5:		yaws-0005-Require-Python2-explicitly.patch
Patch6:		yaws-0006-Don-t-install-examples.patch
Patch7:		yaws-0007-Don-t-use-unexported-xmlrpc_http-handle_xmlprc_error.patch
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  erlang-common_test
BuildRequires:  erlang-erlsom
BuildRequires:  erlang-erts
BuildRequires:  erlang-eunit
BuildRequires:  erlang-ibrowse
BuildRequires:  erlang-kernel
BuildRequires:  erlang-mnesia
BuildRequires:  erlang-rpm-macros
BuildRequires:  erlang-sasl
BuildRequires:  erlang-sd_notify
BuildRequires:  erlang-ssl
BuildRequires:  erlang-stdlib
BuildRequires:  erlang-xmlrpc
BuildRequires:  gcc
BuildRequires:  libtool
BuildRequires:  pam-devel
BuildRequires:  systemd-units
%if %{with docs}
BuildRequires:  latex2html
BuildRequires:  tex(dvips)
BuildRequires:  tex(latex)
BuildRequires:  tex-epstopdf
%endif

Requires:       logrotate
Requires(post):   systemd-units
Requires(preun):  systemd-units
Requires(postun): systemd-units


%description
HTTP 1.0 and HTTP 1.1 web server capable of both static content page
delivery and dynamic content generation using embedded Erlang code in the
HTML pages. It provides virtual hosting capabilities and implements
HTTP tracing and other debugging functionality such as interactive
interpreter environment. Performance can be boosted with built-in support
for RAM caching and streaming capabilities of dynamically generated
content. Among security features are SSL and support for WWW-Authenticated
pages.


%package devel
Summary:        Development Files for %{name}
Requires:       %{name} = %{version}-%{release}

%description devel
This package contains a pkg-config configuration for %{name}.


%prep
%autosetup -p1 -n %{name}-%{name}-%{version}

# These are corrupted
find . -name '*.dia' -delete

autoreconf -ivf


%build
export wwwdir=%{_localstatedir}/lib/%{name}/www
export appsdir=%{_localstatedir}/lib/%{name}
export yawsdir=%{_libdir}/erlang/lib/%{name}-%{version}/
%configure
make %{?_smp_mflags} all V=1
%if %{with docs}
# fails to build with smp_mflags sometimes
make docs EPSTOPDF=epstopdf
%endif


%install
make install DESTDIR=$RPM_BUILD_ROOT

# Logrotate configuration
install -D -p -m0644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/yaws

# The systemd bits
install -D -p -m0644 %{SOURCE2} $RPM_BUILD_ROOT/%{_unitdir}/%{name}@.service

# Remove some unneeded stuff
rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/%{name}-{cert,key}.pem
rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/%{name}.conf.template
rm $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/dhparams.pem

rm -f $RPM_BUILD_ROOT%{_libdir}/erlang/lib/%{name}-%{version}/priv/lib/setuid_drv.la


%post
%systemd_post yaws@yaws.service


%preun
%systemd_preun yaws@yaws.service


%postun
%systemd_postun


%files
%{_unitdir}/yaws@.service
# Backward compatibility: keep "systemctl start yaws"
# This should be removed in the future
%{_unitdir}/yaws.service
%dir %{_sysconfdir}/yaws
%config(noreplace) %{_sysconfdir}/yaws/yaws.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/yaws
%dir %{_localstatedir}/log/%{name}
%{_localstatedir}/lib/yaws
%{_bindir}/yaws
%{_libdir}/erlang/lib/%{name}-%{version}
%if %{with docs}
%doc %{_docdir}/yaws/yaws.pdf
%endif
%doc %{_datadir}/man/man1/yaws.1*
%doc %{_datadir}/man/man5/yaws.conf.5*
%doc %{_datadir}/man/man5/yaws_api.5*
%doc %{_datadir}/man/man5/yaws_soap_lib.5*
%doc README.md ChangeLog examples/
%license LICENSE


%files devel
%{_libdir}/pkgconfig/yaws.pc


%changelog
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Fri Apr 05 2019 Peter Lemenkov <lemenkov@gmail.com> - 2.0.6-1
- Ver. 2.0.6

* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Sat Apr 22 2017 Filipe Rosset <rosset.filipe@gmail.com> - 2.0.4-1
- Rebuilt for new upstream version 2.0.4
- Fix FTBFS rhbz #1424565

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Fri Jul 24 2015 Filip Andres <filip@andresovi.net> - 2.0-1
- Ver. 2.0

* Mon Jul 13 2015 Dan HorĂ¡k <dan[at]danny.cz> - 1.98-7
- skip -m32 also on s390

* Fri Jun 26 2015 Filip Andres <filip@andresovi.net> - 1.98-6
- Do not use -m32 flag on armv7 builds

* Sun Apr 5 2015 Antoine Catton <devel@antoine.catton.fr> - 1.98-5
- Tested with SELinux

* Wed Dec 31 2014 Antoine Catton <devel@antoine.catton.fr> - 1.98-4
- Remove "--deamon" option (which was forking)

* Sat Dec 06 2014 Antoine Catton <devel@antoine.catton.fr> - 1.98-3
- Rename unit file to allow to specify an instance (while keeping backward compatible instance file)
- Add ability stop and reload yaws with systemctl
- Support running multiple instance
- Do not fork from systemd

* Fri Feb 21 2014 Lubomir Rintel (GoodData) <lkundrak@v3.sk> - 1.98-2
- sysvinit -> systemd
- Remove old RPM artifacts

* Thu Feb 13 2014 Lubomir Rintel (GoodData) <lkundrak@v3.sk> - 1.98-1
- Rebase

* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.92-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.92-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Tue Jan 03 2012 Lubomir Rintel (GoodData) <lkundrak@v3.sk> - 1.92-1
- Update

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.89-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Thu Nov 18 2010 Peter Lemenkov <lemenkov@gmail.com> - 1.89-3
- Make building docs conditional
- Added one more module to package
- Added missing runtime dependency - erlang-xmlrpc

* Thu Oct 21 2010 Lubomir Rintel (GoodData) <lkundrak@v3.sk> - 1.89-2
- Require newer Erlang (Peter Lemenkov)
- Exclude examples/ and src/

* Wed Oct 20 2010 Lubomir Rintel (GoodData) <lkundrak@v3.sk> - 1.89-1
- Rebase to 1.89
- No longer required patch for compiling using system-wide erlsom (Peter Lemenkov)
- Ver. 1.89 now requires erlang-ibrowse library (Peter Lemenkov)
- Shorten the dependency chain (Peter Lemenkov)

* Mon Sep 13 2010 Lubomir Rintel (GoodData) <lkundrak@v3.sk> - 1.88-1
- Rebase to 1.88
- Look for erlsom in system-wide location (Peter Lemenkov)
- Drop authmod_gssapi, dependencies not satisfied

* Sat Nov 21 2009 Lubomir Rintel (Good Data) <lkundrak@v3.sk> - 1.85-2
- Install to erlang lib directory, make arch dependent
- Install the source code

* Mon Nov 02 2009 Lubomir Rintel (Good Data) <lkundrak@v3.sk> - 1.85-1
- Initial packaging, partly based on Hans Ulrich Niedermann's package