Пакет xscript: Specfile

%define ugname _xscript
Summary: XScript is xml-based application server written in C++.
Name: xscript
Version: 5.63
Release: alt24.1.2
License: GPL
Group: System/Servers
Packager: Boris Savelev <boris@altlinux.org>
Url: http://xscript.opensource.yandex.net
Source: %name.tar.bz2
Source2: %name-daemon.init
Patch: %name-configure.in.patch
Patch1: %name-context.h.patch
Patch2: %name-file_logger.h.patch
Patch3: %name-thread_pool.cpp.patch
Patch4: %name-component.h.patch

# Automatically added by buildreq on Sun Jan 11 2009
BuildRequires(pre): rpm-macros-webserver-common
BuildRequires: boost-filesystem-devel boost-python-devel 
BuildRequires: gcc-c++ glibc-devel-static libcurl-devel libfcgi-devel liblua5-devel libxslt-devel

BuildPreReq: libssl-devel

%package common
Summary: %name common
Group: System/Servers

%package daemon
Summary: %name daemon
Group: System/Servers
Requires: %name-common = %version-%release

%package standart
Summary: %name modules
Group: System/Servers
Requires: %name-common = %version-%release


%package -n lib%name
Summary: %name library
Group: System/Libraries
Requires: %name-common = %version-%release

%package -n lib%name-devel
Summary: %name library development files
Group: Development/C
Requires: lib%name = %version-%release

%package -n lib%name-devel-static
Summary: %name static library
Group: Development/C
Requires: lib%name-devel = %version-%release

%package -n lib%name-offline
Summary: %name offline library
Group: System/Libraries

%package -n lib%name-offline-devel
Summary: %name offline library development files
Group: Development/C
Requires: lib%name = %version-%release

%package -n lib%name-offline-devel-static
Summary: %name offline static library
Group: Development/C
Requires: lib%name-devel = %version-%release

%package -n python-module-%name
Summary: %name python module
Group: Development/Python

%package -n %name-utility
Summary: %name utulity
Group: System/Servers
Requires: %name-common = %version-%release

%description
XScript is xml-based application server written in C++.

%description common
Common %name files

%description daemon
Binary that runs as factcgi-daemon.

%description standart
Standard modules such as logger, thread pool and various blocks.

%description -n lib%name
%name library

%description -n lib%name-devel
%name library development files

%description -n lib%name-devel-static
%name static library

%description -n lib%name-offline
%name offline library

%description -n lib%name-offline-devel
%name offline library development files

%description -n lib%name-offline-devel-static
%name offline static library

%description -n python-module-%name
%name python module

%description -n %name-utility
XScript offline processor.
%name utility

%prep
%setup -q -n %name
%patch0 -p0
%patch1 -p0
%patch2 -p0
%patch3 -p0
%patch4 -p0

%build
# touch config.rpath
%__subst 's|-lboost_thread|-lboost_thread-mt|g' configure.in
find . -name "Makefile.am" -exec %__subst 's|-lboost_thread|-lboost_thread-mt|g' {} \;
cp %_datadir/gettext/intl/config.rpath config.rpath

ACLOCAL_OPTIONS="-I config" ./autogen.sh
%add_optflags -DBOOST_FILESYSTEM_VERSION=2
%configure \
	--sysconfdir=%_sysconfdir/%name \
	--enable-cppunit \
	--enable-maintainer-mode

%make_build

%install
%makeinstall_std

mkdir -p %buildroot/%_var/run/%name
mkdir -p %buildroot/%_var/log/%name
mkdir -p %buildroot/%_var/cache/%name
mkdir -p %buildroot/%_sbindir
mkdir -p %buildroot/%_initdir
mkdir -p %buildroot/%_sysconfdir/cron.d

install -m755 %SOURCE2 %buildroot/%_initdir/%name
install -m755 extra/%{name}start.sh %buildroot/%_sbindir
install extra/xscript-cache-clean %buildroot/%_sysconfdir/cron.d
install -m755 extra/xscriptcacheclean.sh %buildroot/%_bindir

%pre
# Create user and groups
%_sbindir/groupadd -r -f %ugname 2>/dev/null ||:
%_sbindir/useradd -g %ugname -c '%name WWW server' -d '/dev/null' -s '/dev/null' \
	-G %webserver_group,%ugname -r %ugname 2>/dev/null || :

%files common
%dir %_sysconfdir/%name

%files daemon
%doc debian/changelog
%config(noreplace) %_sysconfdir/%name/%name-ulimits.conf
%_initdir/%name
%_bindir/%name-bin
%_sbindir/%{name}start.sh
%attr(2775,root,%ugname) %dir %_var/run/%name
%attr(2775,root,%ugname) %dir %_var/log/%name

%files standart
%_sysconfdir/cron.d/*
%_bindir/xscriptcacheclean.sh
%dir %_libdir/%name
%_libdir/%name/*.so*
%attr(2775,root,%ugname) %dir %_var/cache/%name

%files -n lib%name
%_sysconfdir/%name/%name.conf.example
%_libdir/lib%name.so.*

%files -n lib%name-devel
%_libdir/lib%name.so
%dir %_includedir/%name
%_includedir/%name/*.h

%files -n lib%name-devel-static
%_libdir/lib%name.a

%files -n lib%name-offline
%_libdir/lib%name-offline.so.*
%dir %_libdir/%name

%files -n lib%name-offline-devel
%_libdir/lib%name-offline.so
%dir %_includedir/%name-utility
%_includedir/%name-utility/*.h

%files -n lib%name-offline-devel-static
%_libdir/lib%name-offline.a

%files -n python-module-%name
%python_sitelibdir/*.so*

%files -n %name-utility
%config(noreplace) %_sysconfdir/%name/offline.conf
%_bindir/%name-proc
%dir %_datadir/%name-proc
%_datadir/%name-proc/*.xsl

%changelog
* Fri Mar 25 2011 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 5.63-alt24.1.2
- Rebuilt with Boost 1.46.1
- Added libssl-devel into BuildPreReq

* Tue Dec 07 2010 Igor Vlasenko <viy@altlinux.ru> 5.63-alt24.1.1
- rebuild with new openssl and/or boost by request of git.alt administrator

* Wed Nov 25 2009 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 5.63-alt24.1
- Rebuilt with python 2.6

* Mon Jul 06 2009 Boris Savelev <boris@altlinux.org> 5.63-alt24
- new version
- rebuild with new boost

* Tue May 12 2009 Boris Savelev <boris@altlinux.org> 5.61-alt13
- new version

* Sat Mar 14 2009 Boris Savelev <boris@altlinux.org> 5.55-alt12
- new version
- build with autogen.sh

* Tue Feb 24 2009 Boris Savelev <boris@altlinux.org> 5.54-alt1
- fix numeration
- new version
- add changelog into doc
- split packages
- add python bindings

* Fri Feb 13 2009 Boris Savelev <boris@altlinux.org> 0.1-alt2.svn745
- fix virtual user creation

* Fri Feb 13 2009 Boris Savelev <boris@altlinux.org> 0.1-alt1.svn745
- initial build for Sisyphus