Пакет mathopd: Specfile

Name: mathopd
Version: 1.5p6
Release: alt1.qa1

Summary: Fast, lightweight, non-forking HTTP server for UN*X systems.
License: GPL
Group: System/Servers

Url: http://www.%name.org/

Source: %url/dist/%name-%version.tar.gz
Source1: %name.8.gz
Source2: %name.conf.5.gz
Source3: %name.init
Source4: %name.conf
Source5: %name.logrotate
Source6: %url/dist/dir_cgi.c.txt
Source7: %name.cron
Source9: TODO
Source10: %name.sysconfig

Patch: %name-1.5p5-alt-pidfile.patch
Patch1: %name-alt-dircgi.patch
Patch2: %name.getline.patch

#equires: logrotate
Requires: crontabs, gzip, findutils

%define mylogdir	%_logdir/%name
%define logrotate_dir	%_sysconfdir/logrotate.d
%define crondaily_dir   %_sysconfdir/cron.daily

Summary(ru_RU.KOI8-R): \xeb\xcf\xcd\xd0\xc1\xcb\xd4\xce\xd9\xca \xc2\xd9\xd3\xd4\xd2\xd9\xca HTTP-\xd3\xc5\xd2\xd7\xc5\xd2 \xc4\xcc\xd1 \xe0\xce\xc9\xcb\xd3-\xd3\xc9\xd3\xd4\xc5\xcd

%description
Mathopd is a very small, yet very fast HTTP server for UN*X systems.

Mathopd supports useful features of HTTP/1.1, such as persistent connections,
partial responses and pipelining. It does not support things like content
negotation. The latest version of the software (1.5) also supports CGI/1.1.

Mathopd was designed specifically to run as a single process,
and to never grow in size. When this software was first written (early 1996)
this is something that other HTTP servers were not very good at.

For preventing conflicts with another HTTP-services Mathopd in ALTLinux
listens on port 8000 instead of standard port 80.

%description -l ru_RU.KOI8-R
Mathopd - \xdc\xd4\xcf \xcf\xde\xc5\xce\xd8 \xcb\xcf\xcd\xd0\xc1\xcb\xd4\xce\xd9\xca \xc9 \xc2\xd9\xd3\xd4\xd2\xd9\xca \xd3\xc5\xd2\xd7\xc5\xd2 HTTP \xc4\xcc\xd1 \xe0\xce\xc9\xcb\xd3-\xd3\xc9\xd3\xd4\xc5\xcd.

Mathopd \xd0\xcf\xc4\xc4\xc5\xd2\xd6\xc9\xd7\xc1\xc5\xd4 \xcd\xce\xcf\xc7\xc9\xc5 \xd7\xcf\xda\xcd\xcf\xd6\xce\xcf\xd3\xd4\xc9 \xd0\xd2\xcf\xd4\xcf\xcb\xcf\xcc\xc1 HTTP/1.1,
\xd4\xc1\xcb\xc9\xc5 \xcb\xc1\xcb \xd0\xcf\xd3\xd4\xcf\xd1\xce\xce\xd9\xc5 (persistent) \xd3\xcf\xc5\xc4\xc9\xce\xc5\xce\xc9\xd1 \xc4\xcc\xd1 \xd3\xc5\xd2\xc9\xca \xda\xc1\xd0\xd2\xcf\xd3\xcf\xd7, \xcb\xcf\xce\xd7\xc5\xca\xc5\xd2
(\xd0\xd2ɣ\xcd \xce\xcf\xd7\xd9\xc8 \xda\xc1\xd0\xd2\xcf\xd3\xcf\xd7 \xde\xc5\xd2\xc5\xda \xd0\xcf\xd3\xd4\xcf\xd1\xce\xce\xcf\xc5 \xd3\xcf\xc5\xc4\xc9\xce\xc5\xce\xc9\xc5 \xc4\xcf \xd4\xcf\xc7\xcf, \xcb\xc1\xcb \xc2\xd5\xc4\xd5\xd4 \xc7\xcf\xd4\xcf\xd7\xd9
\xcf\xd4\xd7\xc5\xd4\xd9 \xce\xc1 \xd0\xd2\xc5\xc4\xd9\xc4\xd5\xdd\xc9\xc5), \xcf\xd4\xd0\xd2\xc1\xd7\xcb\xc1 \xc4\xc1\xce\xce\xd9\xc8 \xd0\xcf \xde\xc1\xd3\xd4\xd1\xcd (partial responses)
\xc9, \xce\xc1\xde\xc9\xce\xc1\xd1 \xd3 \xd7\xc5\xd2\xd3\xc9\xc9 1.5 - \xda\xc1\xd0\xd5\xd3\xcb \xd7\xce\xc5\xdb\xce\xc9\xc8 \xd0\xd2\xc9\xcc\xcf\xd6\xc5\xce\xc9\xca \xd0\xcf \xd0\xd2\xcf\xd4\xcf\xcb\xcf\xcc\xd5 CGI/1.1.

Mathopd \xd7\xd9\xd0\xcf\xcc\xce\xd1\xc5\xd4\xd3\xd1 \xcb\xc1\xcb \xcf\xc4\xc9\xce-\xc5\xc4\xc9\xce\xd3\xd4\xd7\xc5\xce\xce\xd9\xca \xd0\xd2\xcf\xc3\xc5\xd3\xd3 \xc9 \xce\xc9\xcb\xcf\xc7\xc4\xc1 \xce\xc5 \xda\xc1\xd0\xd2\xc1\xdb\xc9\xd7\xc1\xc5\xd4
\xc4\xcc\xd1 \xd2\xc1\xc2\xcf\xd4\xd9 \xc4\xcf\xd0\xcf\xcc\xce\xc9\xd4\xc5\xcc\xd8\xce\xcf\xca \xd0\xc1\xcd\xd1\xd4\xc9. \xe9\xd3\xd0\xcf\xcc\xd8\xda\xd5\xca\xd4\xc5 \xc5\xc7\xcf \xc4\xcc\xd1 \xd0\xd2\xcf\xd3\xd4\xd9\xc8 \xda\xc1\xc4\xc1\xde
(\xd3\xd4\xc1\xd4\xc9\xde\xc5\xd3\xcb\xc9\xc5 \xd3\xd4\xd2\xc1\xce\xc9\xc3\xd9 \xd3 \xc4\xcf\xcb\xd5\xcd\xc5\xce\xd4\xc1\xc3\xc9\xc5\xca, \xc6\xc1\xca\xcc\xcf\xd0\xcf\xcd\xcf\xca\xcb\xc1 \xd3 \xc4\xcf\xd3\xd4\xd5\xd0\xcf\xcd \xd0\xcf HTTP \xc9 \xd4.\xc4.),
\xc4\xcc\xd1 \xcb\xcf\xd4\xcf\xd2\xd9\xc8 \xc6\xd5\xce\xcb\xc3\xc9\xcf\xce\xc1\xcc\xd8\xce\xcf\xd3\xd4\xd8 \xf7\xc5\xc2-\xd3\xc5\xd2\xd7\xc5\xd2\xc1 Apache \xc9\xda\xc2\xd9\xd4\xcf\xde\xce\xc1.

\xfe\xd4\xcf\xc2\xd9 \xce\xc5 \xcb\xcf\xce\xc6\xcc\xc9\xcb\xd4\xcf\xd7\xc1\xd4\xd8 \xd3 \xc4\xd2\xd5\xc7\xc9\xcd\xc9 HTTP-\xd3\xc5\xd2\xd7\xc5\xd2\xc1\xcd\xc9, \xd0\xcf \xd5\xcd\xcf\xcc\xde\xc1\xce\xc9\xc0 Mathopd
\xd7 ALTLinux \xcf\xd6\xc9\xc4\xc1\xc5\xd4 \xd0\xcf\xc4\xcb\xcc\xc0\xde\xc5\xce\xc9\xca \xde\xc5\xd2\xc5\xda \xd0\xcf\xd2\xd4 8000 \xd7\xcd\xc5\xd3\xd4\xcf \xd3\xd4\xc1\xce\xc4\xc1\xd2\xd4\xce\xcf\xc7\xcf 80.

%prep
%setup -q
%patch0 -p1
%__cp -a %SOURCE6 ./dir_cgi.c
%patch1
%patch2 -p2

%build
%__cc -O3 -DFORMAT_V2=1 -o dir_cgi dir_cgi.c
cd src
%make_build

%install
%__mkdir -p %buildroot{%_bindir,%_sbindir,%_initdir,%_man5dir,%_man8dir,%mylogdir,%logrotate_dir,%crondaily_dir}

%makeinstall -C src SBINDIR=%buildroot%_sbindir PREFIX=%buildroot install
%__cp -a   %SOURCE1 %buildroot%_man8dir/
%__cp -a   %SOURCE2 %buildroot%_man5dir/
%__install %SOURCE3 %buildroot%_initdir/%name
%__cp -a   %SOURCE4 %buildroot%_sysconfdir/
%__cp -a   %SOURCE5 %buildroot%logrotate_dir/%name
%__install -p  %SOURCE7  %buildroot%crondaily_dir/%name
%__install -pD -m600 %SOURCE10 %buildroot%_sysconfdir/sysconfig/%name
%__install -p  dir_cgi   %buildroot%_bindir/
/bin/touch %buildroot%mylogdir/{errorlog,childlog}

%files
%_bindir/*
%_sbindir/*
%_man8dir/*
%_man5dir/*
%attr(0700,root,root) %_initdir/%name
%exclude %mylogdir/*log*
%attr(0750,%name,%name) %mylogdir
%ghost %mylogdir/*log*
%config(noreplace) %_sysconfdir/%name.conf
%config(noreplace) %_sysconfdir/sysconfig/%name
%exclude %logrotate_dir/%name
%crondaily_dir/%name
%doc doc/* README COPYING

%pre
id -un %name >/dev/null 2>&1 || /usr/sbin/useradd -s /dev/null -d %mylogdir -r %name

%post
%post_service %name

%preun
%preun_service %name
echo "NOTE: %name account still exist, remove it manually if you need"

%changelog
* Mon Apr 15 2013 Dmitry V. Levin (QA) <qa_ldv@altlinux.org> 1.5p6-alt1.qa1
- NMU: rebuilt for debuginfo.

* Wed Jul 01 2009 Denis Smirnov <mithraen@altlinux.ru> 1.5p6-alt1
- update to 1.5p6
- Mathopd can now (optionally) allow //, /./ and /../ in URL paths. Thanks for
  Peter Pentchev for suggesting this and providing initial patches.

* Tue Oct 31 2006 Ilya Evseev <evseev@altlinux.ru> 1.5p5-alt3
- improvements for dir_cgi: display dates and sizes

* Wed Oct 19 2005 Ilya Evseev <evseev@altlinux.ru> 1.5p5-alt2
- errorlog and childlog are now created with timestamp suffix
- use cron instead of logrotate for compressing/removing old logs
- minor specfile bugfixes:
   + enable 'noreplace' attribute for configuration file
   + dont try to create %name account if it already exists.
- improve service script:
   + support settings file in /etc/sysconfig,
   + support multiple daemon configurations,
   + try to fetch account name for service actions from daemon config.
- additional CGI-BIN executables/extensions in daemon configuration sample
- lot of bugfixes in specfile macros (missing docs, service uninstall, etc.)

* Wed Sep  7 2005 Ilya Evseev <evseev@altlinux.ru> 1.5p5-alt1
- updated to next version
- more definitive description, russian translation added
- added minimal configuration file for running directly after install
- include dir_cgi helper
- create log directory and logrotate script (see also TODO file)
- specfile changes:
   + create "mathopd" account
   + register/unregister service
   + simplified installation stage
- additional targets in service script: reload, drop, safestop, debug,
  based on http://www.mail-archive.com/mathopd@mathopd.org/msg00064.html
- bugfix: PID-file is now created before reducing privileges, not after

* Fri Feb 11 2005 Denis Smirnov <mithraen@altlinux.ru> 1.5p4-alt1
- version update
- initscript added

* Fri Mar 12 2004 Denis Smirnov <mithraen@altlinux.ru> 1.5p2-alt1
- build

## EOF ##