# Conditional build:
%bcond_without doc # build documentation
%bcond_without tests # build without tests. binds daemon on 127.0.0.1 9080, 9081, 9001 ports
+%bcond_without source # build source package
Summary: Varnish - a high-performance HTTP accelerator
Summary(pl.UTF-8): Varnish - wydajny akcelerator HTTP
Name: varnish
-Version: 2.1.5
-Release: 2
+Version: 3.0.7
+Release: 1
License: BSD
Group: Networking/Daemons/HTTP
Source0: http://repo.varnish-cache.org/source/%{name}-%{version}.tar.gz
-# Source0-md5: 2d2f227da36a2a240c475304c717b8e3
+# Source0-md5: aa63a7808d775c005d020c41f152b7af
Source1: %{name}.init
Source3: %{name}ncsa.init
Source4: %{name}.sysconfig
Source5: %{name}ncsa.sysconfig
Source6: %{name}.logrotate
-Source7: %{name}.conf
+Source8: %{name}.tmpfiles
#Patch100: branch.diff
-Patch0: %{name}-build.patch
+Patch0: no-ccache.patch
+Patch1: no-sysctl.patch
+Patch2: ac.patch
URL: http://www.varnish-cache.org/
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libstdc++-devel
-BuildRequires: libtool >= 2:1.5
+BuildRequires: libtool >= 2:2.0
BuildRequires: ncurses-devel
BuildRequires: pcre-devel
BuildRequires: pkgconfig
-BuildRequires: rpmbuild(macros) >= 1.583
+BuildRequires: rpmbuild(macros) >= 1.647
+BuildRequires: sed >= 4.0
%if %{with doc}
BuildRequires: docutils
BuildRequires: groff
%description static -l pl.UTF-8
Statyczna biblioteka varnish.
+%package source
+Summary: Source code of Varnish for building VMODs
+Group: Documentation
+Requires: %{name}-devel = %{version}-%{release}
+
+%description source
+Source code of Varnish for building VMODs.
+
%prep
%setup -q
#%patch100 -p0
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+
+#%{__sed} -i -e 's,$(srcdir)/,,' bin/varnishtest/Makefile.am
+
+%{__sed} -i -e '1s,^#!.*python,#!%{__python},' lib/libvmod_std/vmod.py
%build
export CPPFLAGS="-I/usr/include/ncurses"
-%{__aclocal}
+%{__aclocal} -I m4
%{__libtoolize}
%{__autoheader}
%{__automake}
--disable-jemalloc
%endif
-%{__sed} -i -e '/CURSES_LIBS = / s,-lcurses,-ltinfo &,' bin/varnish{hist,stat,top,sizes}/Makefile
-
%{__make}
%if %{with tests}
%install
rm -rf $RPM_BUILD_ROOT
-
%{__make} install \
INSTALL="install -p" \
DESTDIR=$RPM_BUILD_ROOT
# make dirs after make install to know which ones needs spec and which ones make install
install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{logrotate.d,rc.d/init.d,sysconfig},/var/{run,lib}/varnish} \
- $RPM_BUILD_ROOT/var/log/{archive/,}varnish
+ $RPM_BUILD_ROOT/var/log/{archive/,}varnish \
+ $RPM_BUILD_ROOT%{systemdtmpfilesdir}
install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/varnish
install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/varnishncsa
cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/varnish
cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/varnishncsa
cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/varnish
-cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/default.vcl
+cp -p %{SOURCE8} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
+touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/secret
+
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/*.la
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/vmods/*.la
+
+%if %{with source}
+# prepare tree for VMOD build
+install -d $RPM_BUILD_ROOT%{_usrsrc}/%{name}-%{version}/{include,bin/{varnishtest,varnishd},lib/libvmod_std}
+
+# add extra headers
+cp -pn include/*.h $RPM_BUILD_ROOT%{_usrsrc}/%{name}-%{version}/include
+cp -p bin/varnishd/*.h $RPM_BUILD_ROOT%{_usrsrc}/%{name}-%{version}/bin/varnishd
+
+for a in $RPM_BUILD_ROOT%{_includedir}/%{name}/*.h; do
+ f=${a#$RPM_BUILD_ROOT}
+ ln -sf $f $RPM_BUILD_ROOT%{_usrsrc}/%{name}-%{version}/include
+done
+
+ln -s %{_bindir}/varnishtest $RPM_BUILD_ROOT%{_usrsrc}/%{name}-%{version}/bin/varnishtest
+ln -s %{_sbindir}/varnishd $RPM_BUILD_ROOT%{_usrsrc}/%{name}-%{version}/bin/varnishd
+cp -p lib/libvmod_std/vmod.py $RPM_BUILD_ROOT%{_usrsrc}/%{name}-%{version}/lib/libvmod_std
+
+# add pkg config variable for eash access
+%{__sed} -i -e '/^vmoddir/a srcdir=%{_usrsrc}/%{name}-%{version}' \
+ $RPM_BUILD_ROOT%{_pkgconfigdir}/varnishapi.pc
+%endif
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%doc LICENSE README ChangeLog etc/*.vcl
-%dir %{_sysconfdir}/%{name}
+%dir %attr(750,root,root) %{_sysconfdir}/%{name}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/default.vcl
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/varnish
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/varnishncsa
+%ghost %attr(600,root,root) %{_sysconfdir}/%{name}/secret
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/varnish
%attr(754,root,root) /etc/rc.d/init.d/varnish
%attr(754,root,root) /etc/rc.d/init.d/varnishncsa
%attr(755,root,root) %{_bindir}/varnishstat
%attr(755,root,root) %{_bindir}/varnishtest
%attr(755,root,root) %{_bindir}/varnishtop
+%dir %{_libdir}/%{name}
+%attr(755,root,root) %{_libdir}/%{name}/libvarnish.so
+%attr(755,root,root) %{_libdir}/%{name}/libvarnishcompat.so
+%attr(755,root,root) %{_libdir}/%{name}/libvcl.so
+%attr(755,root,root) %{_libdir}/%{name}/libvgz.so
+%dir %{_libdir}/%{name}/vmods
+%attr(755,root,root) %{_libdir}/%{name}/vmods/libvmod_std.so
%{_mandir}/man1/varnishadm.1*
%{_mandir}/man1/varnishd.1*
%{_mandir}/man1/varnishhist.1*
%{_mandir}/man1/varnishstat.1*
%{_mandir}/man1/varnishtest.1*
%{_mandir}/man1/varnishtop.1*
+%{_mandir}/man3/vmod_std.3*
+%{_mandir}/man7/varnish-cli.7*
+%{_mandir}/man7/varnish-counters.7*
%{_mandir}/man7/vcl.7*
%dir /var/lib/varnish
%dir /var/run/varnish
+%{systemdtmpfilesdir}/%{name}.conf
%dir %attr(751,root,root) /var/log/varnish
%dir %attr(750,root,root) /var/log/archive/varnish
%files libs
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libvarnish.so.*.*.*
-%ghost %{_libdir}/libvarnish.so.1
%attr(755,root,root) %{_libdir}/libvarnishapi.so.*.*.*
%ghost %{_libdir}/libvarnishapi.so.1
-%attr(755,root,root) %{_libdir}/libvarnishcompat.so.*.*.*
-%ghost %{_libdir}/libvarnishcompat.so.1
-%attr(755,root,root) %{_libdir}/libvcl.so.*.*.*
-%ghost %{_libdir}/libvcl.so.1
%files devel
%defattr(644,root,root,755)
%{_includedir}/varnish
-%{_libdir}/libvarnish.la
-%{_libdir}/libvarnish.so
%{_libdir}/libvarnishapi.la
%{_libdir}/libvarnishapi.so
-%{_libdir}/libvarnishcompat.la
-%{_libdir}/libvarnishcompat.so
-%{_libdir}/libvcl.la
-%{_libdir}/libvcl.so
%{_pkgconfigdir}/varnishapi.pc
%files static
%defattr(644,root,root,755)
-%{_libdir}/libvarnish.a
%{_libdir}/libvarnishapi.a
-%{_libdir}/libvarnishcompat.a
-%{_libdir}/libvcl.a
+%{_libdir}/%{name}/libvarnish.a
+%{_libdir}/%{name}/libvarnishcompat.a
+%{_libdir}/%{name}/libvcl.a
+%{_libdir}/%{name}/libvgz.a
+%{_libdir}/%{name}/vmods/libvmod_std.a
+
+%if %{with source}
+%files source
+%defattr(644,root,root,755)
+%{_usrsrc}/%{name}-%{version}
+%endif