]> git.pld-linux.org Git - packages/cherokee.git/blobdiff - cherokee.spec
Version: 1.2.103
[packages/cherokee.git] / cherokee.spec
index 42942e6768d328fd513f4bb342df62fafe65a9da..34ecb8035a6a57a79e840882ba8acb62f76aadb2 100644 (file)
-Summary:       Cherokee webserver
-Summary(pl):   Cherokee - serwer WWW
+#
+# TODO:
+#   - think about moving modules to subpackages. At least, those with extra
+#     dependencies.
+#   - maybe there is no need to pack *.py (are *.pyc enough?)
+#
+# Conditional build:
+%bcond_without geoip           # without GeoIP support
+%bcond_without mysql           # without MySQL support
+%bcond_without ldap            # without LDAP support
+%bcond_without ffmpeg          # without ffmpeg support
+#
+Summary:       Fast, Flexible and Lightweight Web server
+Summary(pl.UTF-8):     Cherokee - serwer WWW
 Name:          cherokee
-Version:       0.4.6
-%define                pre     20031225
-Release:       0.%{pre}.1
-License:       GPL
+Version:       1.2.103
+Release:       1
+License:       GPL v2
 Group:         Networking/Daemons
-Source0:       ftp://alobbs.com/cherokee/%{version}/%{name}-%{version}-%{pre}.tar.gz
-# Source0-md5: c3987a0abe0cbbab54d939a2fcc046ba
-URL:           http://alobbs.com/cherokee/
-BuildRequires: fcgi-devel
-BuildRequires: gnome-vfs2-devel >= 2.0
-# "TLS under construction"
-#BuildRequires:        gnutls-devel >= 0.9.99
+Source0:       https://github.com/cherokee/webserver/archive/v%{version}.zip
+# Source0-md5: 9e6d8e0dd95808d365d32ecb0a9b80fe
+# the last snapshot from https://github.com/cherokee/CTK
+Source1:       CTK-20120806.tar.xz
+# Source1-md5: 567f087cd6cdf10b89047535cbe94f8e
+Source2:       %{name}.init
+Source3:       %{name}.sysconfig
+Source4:       %{name}.upstart
+Patch0:                %{name}-config.patch
+Patch1:                %{name}-panic_path.patch
+Patch2:                ffmpeg0.11.patch
+URL:           http://www.cherokee-project.com/
+%{?with_geoip:BuildRequires:   GeoIP-devel}
+BuildRequires: autoconf
+BuildRequires: automake
+%{?with_ffmpeg:BuildRequires:  ffmpeg-devel >= 1.0}
+BuildRequires: gettext-devel
+BuildRequires: libtool
+%{?with_mysql:BuildRequires:   mysql-devel}
+%{?with_ldap:BuildRequires:    openldap-devel}
+BuildRequires: openssl-devel
 BuildRequires: pam-devel
+BuildRequires: pcre-devel
+BuildRequires: php(fcgi)
 BuildRequires: pkgconfig
+BuildRequires: python-docutils
+BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.561
 BuildRequires: zlib-devel
+Requires(post,preun):  /sbin/chkconfig
+Requires(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/bin/getgid
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+Requires:      %{name}-libs = %{version}-%{release}
+Requires:      rc-scripts >= 0.4.3.0
+Suggests:      %{name}-admin = %{version}-%{release}
+Suggests:      php(fcgi)
+Provides:      group(cherokee)
+Provides:      group(http)
+Provides:      user(cherokee)
 Provides:      webserver
+Provides:      webserver(indexfile)
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                _sysconfdir     /etc/cherokee
+%define                _wwwhome        /home/services/%{name}
+%define                _wwwroot        %{_wwwhome}/html
+
 %description
-Cherokee is a webserwer:
-- FAST and tiny
-- Embedable
-- Extensible with plug-ins
-- Handler-to-path support
-- Virtual servers support
-- FastCGI support
-- Encoders support, including GZip
-- Loggers support, including NCSA
-- Dynamic / Static plug-in compilation
-- Streaming support
-- Common tasks: Work as a daemon, MIME types, Log via syslog,
-  Keep-alive connections, Runs under a chroot enviroment
-- Clean code ;-)
-- It's free software
-
-%description -l pl
-Cherokee to serwer WWW:
-- SZYBKI i ma³y
-- mo¿liwy do wbudowania
-- rozszerzalny przy pomocy wtyczek
-- z mo¿liwo¶ci± przypisania sposobu obs³ugi do ¶cie¿ek
-- z obs³ug± serwerów wirtualnych
-- z obs³ug± FastCGI
-- z obs³ug± kodowania, w tym GZipa
-- z obs³ug± loggerów, w tym NCSA
-- z dynamiczn± lub statyczn± kompilacj± wtyczek
-- z obs³ug± strumieni
-- wykonuj±cy popularne zadania: praca jako demon, obs³uga typów MIME,
-  logowanie poprzez sysloga, po³±czenia keep-alive, dzia³anie w
-  ¶rodowisku chrootowanym
-- o przejrzystym kodzie ;-)
-- bêd±cy oprogramowaniem wolnodostêpnym.
+Cherokee is a flexible, very fast, lightweight Web server. It is
+implemented entirely in C, and has no dependencies beyond a standard C
+library. It is embeddable and extensible with plug-ins. It supports
+on-the-fly configuration by reading files or strings, TLS/SSL via
+OpenSSL, virtual hosts, authentication, cache friendly features, PHP,
+custom error management, and much more.
+
+%description -l pl.UTF-8
+Cherokee to elastyczny, bardzo szybki i lekki serwer WWW. Jest
+zaimplementowany całkowicie w C i nie ma zależności poza standardową
+biblioteką C. Jest osadzalny i rozbudowywalny poprzez wtyczki.
+Obsługuje konfigurację w locie poprzez odczyt plików lub łańcuchów
+znaków, TLS/SSL poprzez OpenSSL, hosty wirtualne, uwierzytelnianie,
+opcje związane z pamięcią podręczną, PHP, własne zarządzanie błędami i
+wiele więcej.
+
+%package upstart
+Summary:       Upstart job description for the Cherokee web server
+Summary(pl.UTF-8):     Opis zadania Upstart dla serwera Cherokee
+Group:         Daemons
+Requires:      %{name} = %{version}-%{release}
+Requires:      upstart >= 0.6
+
+%description upstart
+Upstart job description for the Cherokee web server.
+
+%description upstart -l pl.UTF-8
+Opis zadania Upstart dla serwera WWW Cherokee.
+
+%package admin
+Summary:       Cherokee web server administration interface
+Summary(pl.UTF-8):     Interfejs administracyjny serwera WWW Cherokee
+Group:         Networking/Daemons
+Requires:      %{name} = %{version}-%{release}
+Requires:      python
+Requires:      python-modules
+
+%description admin
+Cherokee web server administration interface.
+
+%description admin -l pl.UTF-8
+Interfejs administracyjny serwera WWW Cherokee.
 
 %package devel
 Summary:       Header files for Cherokee web server
-Summary(pl):   Pliki nag³ówkowe dla serwera WWW Cherokee
+Summary(pl.UTF-8):     Pliki nagłówkowe dla serwera WWW Cherokee
 Group:         Development/Libraries
-Requires:      %{name} = %{version}
+Requires:      %{name}-libs = %{version}-%{release}
 
 %description devel
 Header files for Cherokee web server.
 
-%description devel -l pl
-Pliki nag³ówkowe dla serwera WWW Cherokee.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe dla serwera WWW Cherokee.
+
+%package libs
+Summary:       Cherokee web server libraries
+Summary(pl.UTF-8):     Biblioteki serwera WWW Cherokee
+Group:         Libraries
+
+%description libs
+Cherokee web server libraries.
+
+%description libs -l pl.UTF-8
+Biblioteki serwera WWW Cherokee.
 
 %prep
-%setup -q
+%setup -qn webserver-%{version} -a1
+%patch0 -p1
+%patch1 -p1
+#%patch2 -p1
 
 %build
+%{__libtoolize}
+%{__aclocal} -I m4
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+po/admin/generate_POTFILESin.py > po/admin/POTFILES.in
 %configure \
+       --with-php=/usr/bin/php.cgi \
        --disable-static \
-       --enable-gnomevfs \
-       --enable-tls
+       --enable-os-string="PLD Linux" \
+       --sysconfdir=/etc \
+       --with-wwwroot=%{_wwwroot} \
+       --with-wwwuser=cherokee \
+       --with-wwwgroup=http \
+       %{!?with_geoip:--without-geoip} \
+       %{!?with_mysql:--without-mysql} \
+       %{!?with_ffmpeg:--without-ffmpeg} \
+       %{!?with_ldap:--without-ldap}
+
+# workaround for missing pot file and no way to build it
+touch po/admin/cherokee.pot
+touch po/admin/*.po
+
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{/etc/{init,pam.d,sysconfig,rc.d/init.d},/var/log/%{name}}
 
-%{__make} install \
+%{__make} -j1 install \
        DESTDIR=$RPM_BUILD_ROOT
 
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
+install %{SOURCE4} $RPM_BUILD_ROOT/etc/init/%{name}.conf
+
+# users don't need this
+mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/cherokee-panic
+
 # modules dlopened by *.so
 rm -f $RPM_BUILD_ROOT%{_libdir}/cherokee/lib*.la
 
+# unify manual dir
+rm -rf html
+mv $RPM_BUILD_ROOT%{_docdir}/%{name} html
+
+# provided via %doc
+rm $RPM_BUILD_ROOT/etc/cherokee/cherokee.conf.perf_sample
+
+# compile python modules, otherwise *.pyc may get generated on runtime
+# and stay after package removal
+%py_comp $RPM_BUILD_ROOT%{_datadir}/cherokee/admin/
+
+# seems like this is not needed on Linux
+rm $RPM_BUILD_ROOT%{_bindir}/cherokee-macos-askpass
+
+mv $RPM_BUILD_ROOT%{_localedir}/{sv_SE,sv}
+mv $RPM_BUILD_ROOT%{_localedir}/{jp,ja}
+%find_lang %{name}
+
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post  -p /sbin/ldconfig
-%postun        -p /sbin/ldconfig
+%pre
+%groupadd -g 161 cherokee
+%groupadd -g 51 http
+%useradd -u 161 -d %{_wwwhome} -c "Cherokee User" -g cherokee cherokee
+%addusertogroup cherokee http
+
+%post
+if [ "$1" = "2" -a -e %{_sysconfdir}/cherokee.conf ]; then
+       %{_datadir}/%{name}/admin/upgrade_config.py %{_sysconfdir}/cherokee.conf
+fi
+/sbin/chkconfig --add %{name}
+%service %{name} restart "Cherokee webserver"
+
+%preun
+if [ "$1" = "0" ]; then
+       %service %{name} stop
+       /sbin/chkconfig --del %{name}
+fi
+
+%postun
+if [ "$1" = "0" ]; then
+       %userremove cherokee
+       %groupremove cherokee
+       %groupremove http
+fi
+
+%post upstart
+%upstart_post %{name}
+
+%postun upstart
+%upstart_postun %{name}
+
+%post  libs -p /sbin/ldconfig
+%postun        libs -p /sbin/ldconfig
 
 %files
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/cherokee
-%dir %{_sysconfdir}/cherokee
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/cherokee/cherokee.conf
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/cherokee/icons.conf
-%attr(755,root,root) %{_libdir}/libcherokee.so.*.*.*
+%doc AUTHORS html performance.conf.sample
+%dir %attr(750,root,root) %{_sysconfdir}
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cherokee.conf
+
+%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/cherokee
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cherokee
+%attr(754,root,root) /etc/rc.d/init.d/cherokee
+
+%attr(755,root,root) %{_bindir}/CTK-run
+%attr(755,root,root) %{_bindir}/cget
+%attr(755,root,root) %{_bindir}/cherokee-tweak
+%attr(755,root,root) %{_sbindir}/cherokee
+%attr(755,root,root) %{_sbindir}/cherokee-panic
+%attr(755,root,root) %{_sbindir}/cherokee-worker
+
 %dir %{_libdir}/cherokee
-%attr(755,root,root) %{_libdir}/cherokee/libcherokee_*.so*
-%{_datadir}/cherokee
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_admin.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_and.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_authlist.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_bind.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_cgi.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_combined.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_common.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_custom_error.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_custom.so
+%{?with_mysql:%attr(755,root,root) %{_libdir}/cherokee/libplugin_dbslayer.so}
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_deflate.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_directory.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_dirlist.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_drop.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_empty_gif.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_error_nn.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_error_redir.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_evhost.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_exists.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_extensions.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_failover.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_fcgi.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_file.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_from.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_fullpath.so
+%{?with_geoip:%attr(755,root,root) %{_libdir}/cherokee/libplugin_geoip.so}
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_gzip.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_header.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_htdigest.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_htpasswd.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_ip_hash.so
+%{?with_ldap:%attr(755,root,root) %{_libdir}/cherokee/libplugin_ldap.so}
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_libssl.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_method.so
+%{?with_mysql:%attr(755,root,root) %{_libdir}/cherokee/libplugin_mysql.so}
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_ncsa.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_not.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_or.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_pam.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_plain.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_post_report.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_post_track.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_proxy.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_redir.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_rehost.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_render_rrd.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_request.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_round_robin.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_rrd.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_scgi.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_secdownload.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_server_info.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_ssi.so
+%if %{with ffmpeg}
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_streaming.so
+%endif
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_target_ip.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_tls.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_url_arg.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_uwsgi.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_v_or.so
+%attr(755,root,root) %{_libdir}/cherokee/libplugin_wildcard.so
+
+%{_mandir}/man1/cget.1*
 %{_mandir}/man1/cherokee.1*
+%{_mandir}/man1/cherokee-tweak.1*
+%{_mandir}/man1/cherokee-worker.1*
+
+%dir %{_datadir}/cherokee
+%{_datadir}/cherokee/deps
+%{_datadir}/cherokee/icons
+%{_datadir}/cherokee/themes
+
+%dir %{_wwwhome}
+%dir %{_wwwroot}
+%config(missingok) %{_wwwroot}/*
+
+%dir %attr(750,cherokee,logs) /var/log/%{name}
+
+%dir %attr(771,root,cherokee) /var/lib/%{name}
+%dir %attr(771,cherokee,cherokee) /var/lib/%{name}/graphs
+%dir %attr(771,cherokee,cherokee) /var/lib/%{name}/graphs/images
+
+%files upstart
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) /etc/init/%{name}.conf
+
+%files admin -f %{name}.lang
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_sbindir}/cherokee-admin
+%attr(755,root,root) %{_bindir}/cherokee-admin-launcher
+%{_mandir}/man1/cherokee-admin.1*
+%{_mandir}/man1/cherokee-admin-launcher.1*
+%dir %{_datadir}/cherokee/admin
+%{_datadir}/cherokee/admin/cherokee.conf.sample
+%{_datadir}/cherokee/admin/performance.conf.sample
+%{_datadir}/cherokee/admin/*.html
+%attr(755,root,root) %{_datadir}/cherokee/admin/*.py
+%{_datadir}/cherokee/admin/*.pyc
+%{_datadir}/cherokee/admin/static
+%dir %{_datadir}/cherokee/admin/CTK
+%dir %{_datadir}/cherokee/admin/CTK/CTK
+%{_datadir}/cherokee/admin/CTK/CTK/*.py
+%{_datadir}/cherokee/admin/CTK/CTK/*.pyc
+%{_datadir}/cherokee/admin/CTK/static
+%dir %{_datadir}/cherokee/admin/plugins
+%{_datadir}/cherokee/admin/plugins/*.py
+%{_datadir}/cherokee/admin/plugins/*.pyc
+%dir %{_datadir}/cherokee/admin/wizards
+%{_datadir}/cherokee/admin/wizards/*.py
+%{_datadir}/cherokee/admin/wizards/*.pyc
+#%dir %{_datadir}/cherokee/admin/market
+#%{_datadir}/cherokee/admin/market/*.py
+#%{_datadir}/cherokee/admin/market/*.pyc
+%dir %{_datadir}/cherokee/admin/icons
+%{_datadir}/cherokee/admin/icons/*.png
+%{_datadir}/cherokee/admin/icons/*.svg
+
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libcherokee-base.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcherokee-base.so.0
+%attr(755,root,root) %{_libdir}/libcherokee-client.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcherokee-client.so.0
+%attr(755,root,root) %{_libdir}/libcherokee-server.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcherokee-server.so.0
 
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/cherokee-config
-%attr(755,root,root) %{_libdir}/libcherokee.so
-%{_libdir}/libcherokee.la
+%attr(755,root,root) %{_libdir}/libcherokee-base.so
+%attr(755,root,root) %{_libdir}/libcherokee-client.so
+%attr(755,root,root) %{_libdir}/libcherokee-server.so
+%{_libdir}/libcherokee-base.la
+%{_libdir}/libcherokee-client.la
+%{_libdir}/libcherokee-server.la
 %{_includedir}/cherokee
 %{_pkgconfigdir}/cherokee.pc
 %{_aclocaldir}/cherokee.m4
This page took 0.092628 seconds and 4 git commands to generate.