Репозиторий ALT Linux backports/2.4
Последнее обновление: 9 июля 2008 | Пакетов: 497 | Посещений: 1576600
 поиск   регистрация   авторизация 
 
Группа :: Система/Серверы
Пакет: openvpn

 Главная   Изменения   Спек   Патчи   Загрузить   Bugs and FR 

# spec file for package openvpn (Version 2.0)
#

%define version 2.0.8
%define release alt0.M24.1

Name: openvpn
Version: %version
Release: %release

Summary: a full-featured SSL VPN solution
Summary(ru_RU.KOI8-R): полнофункциональное решение VPN на базе SSL

License: GPL
Group: System/Servers
URL: http://www.openvpn.net

Packager: Nikolay A. Fetisov <naf at altlinux.ru>

# Because of /etc/syslog.d/ feature.

Conflicts: syslogd < 1.4.1-alt11

BuildRequires: libssl-devel, zlib-devel, liblzo-devel
BuildRequires: coreutils, chrooted >= 0.3, libpam-devel

Source0: %name-%version.tar.gz
Source1: %name.init
Source2: %name-startup
Source3: %name.sysconfig
Source4: %name.chroot.lib
Source5: %name.chroot.conf
Source6: %name.chroot.all
Source7: %name-README.ALT.koi8-r
Source8: %name-server.conf
Source9: %name-client.conf

%description
OpenVPN is a full-featured SSL VPN solution which can accomodate
a wide range  of configurations,  including road warrior access,
home/office/campus  telecommuting,  WiFi security, secure branch
office  linking,  and enterprise-scale  remote access  solutions
with load balancing, failover, and fine-grained access-controls.

%description -l ru_RU.KOI8-R
OpenVPN  -  полнофункциональное решение для VPN с использованием
SSL, с помощью которого можно решить широкий круг задач, включая
подключения  для удалённых  пользователей,  телекоммуникации для
дома и офиса,  безопасные  подключения  для  беспроводных сетей,
безопасную связь  с удалёнными офисами,  решения  для удалённого
доступа масштаба предприятий с поддержкой балансировки нагрузки,
отказоустойчивости и четко разграниченным контролем доступа.

%package plugins
Summary: external plugins for OpenVPN
Summary(ru_RU.KOI8-R): внешние расширения для OpenVPN
Group: System/Servers
Requires: %name = %version-%release
Provides: %name-plugins = %version-%release
Obsoletes: %name-plugins

%description plugins
OpenVPN is a full-featured SSL VPN solution.
This package contains OpenVPN plugins for user authentification
via PAM and to allow run a down script with root privileges.

%description plugins -l ru_RU.KOI8-R
OpenVPN - полнофункциональное решение для VPN на базе SSL.
Данный пакет содержит расширения (plugins) для авторизации
пользователей через  PAM и  запуска при разрыве соединений
скрипта с привилегиями root.

%package docs
Summary: OpenVPN documentation
Summary(ru_RU.KOI8-R): документация к OpenVPN
Group: System/Servers
Requires: %name = %version-%release
Provides: %name-docs = %version-%release
Obsoletes: %name-docs

%description docs
OpenVPN is a full-featured SSL VPN solution.
This package contains OpenVPN documentation,
sample configs and scripts.

%description docs -l ru_RU.KOI8-R
OpenVPN - полнофункциональное решение для VPN на базе SSL.
Данный пакет содержит документацию, примеры конфигурации и
скриптов для OpenVPN.



%define openvpn_root   %_localstatedir/%name
%define openvpn_cache  %openvpn_root/cache

%prep
%setup -n %name-%version
%__cp %SOURCE7 README.ALT.koi8-r
%__cp %SOURCE8 server.conf
%__cp %SOURCE9 client.conf

%__mv -f COPYRIGHT.GPL COPYRIGHT.GPL.orig
%__ln_s $(relative %_licensedir/GPL-2 %_docdir/%name/COPYRIGHT.GPL) COPYRIGHT.GPL

%__subst 's/DLOPEN_PAM=1/DLOPEN_PAM=0/' plugin/auth-pam/Makefile

%build
%configure --enable-iproute2
%make_build
%__subst 's|nobody|openvpn|' sample-config-files/*

%__make -C plugin/down-root/
%__make -C plugin/auth-pam/
# Building 'simple' plugin
cd plugin/examples
./build simple
%__mv simple.so %name-examples.so

# make check hangs inside hasher

#%%__make check

%install
%make_install DESTDIR=%buildroot install

%__mkdir_p %buildroot/%_initdir
%__mkdir_p %buildroot/%_sysconfdir/sysconfig
%__install -m 0750 -d %buildroot%_sysconfdir/%name
%__install -m 0750 -d %buildroot%_sysconfdir/%name/keys
%__install -m 0755 -d %buildroot%openvpn_root
%__install -m 0755 -d %buildroot%openvpn_root/{etc,lib}
%__install -m 0755 -d %buildroot%openvpn_root/etc/openvpn
%__install -m 0755 -d %buildroot%openvpn_cache
%__install -m 0755 %SOURCE1 %buildroot%_initdir/%name
%__install -m 0750 %SOURCE2 %buildroot%_sysconfdir/%name
%__install -m 0640 %SOURCE3 %buildroot%_sysconfdir/sysconfig/%name
%__install -p -m 0750 -D %SOURCE4 %buildroot%_sysconfdir/chroot.d/%name.lib
%__install -p -m 0750 -D %SOURCE5 %buildroot%_sysconfdir/chroot.d/%name.conf
%__install -p -m 0750 -D %SOURCE6 %buildroot%_sysconfdir/chroot.d/%name.all


# Install plugins

%__install -m 0750 -d %buildroot%_libdir/%name/plugin

for pi in auth-pam down-root examples; do
   %__mv -f plugin/$pi/README plugin/README.$pi
   if [ -x plugin/$pi/%name-$pi.so ]; then
%__install -c -m 0755 plugin/$pi/%name-$pi.so %buildroot%_libdir/%name/plugin/%name-$pi.so
   fi
done

%__mkdir plugins  
%__mv -f plugin/README plugin/README.plugins
%__mv -f plugin/README* plugins/


# Make use of syslogd-1.4.1-alt11 /etc/syslog.d/ feature.

%__mkdir_p %buildroot%openvpn_root/dev
/usr/bin/mksock %buildroot%openvpn_root/dev/log
%__mkdir_p -m700 %buildroot%_sysconfdir/syslog.d
ln -s %openvpn_root/dev/log %buildroot%_sysconfdir/syslog.d/%name


%pre
# Add the "openvpn" user
/usr/sbin/useradd -c 'OpenVPN daemon' \
       -s /dev/null -r -d /dev/null openvpn 2> /dev/null || :

%post
%_sysconfdir/chroot.d/%name.all
%post_service %name

%preun
%preun_service %name

%files
%doc AUTHORS ChangeLog NEWS PORTS README COPYING
%doc --no-dereference COPYRIGHT.GPL
%doc README.ALT.koi8-r server.conf client.conf

%_sbindir/%name
%_mandir/man?/*

%attr(0750,root,openvpn)    %dir %_sysconfdir/%name
%attr(0750,root,openvpn)    %dir %_sysconfdir/%name/keys
%attr(0750,root,openvpn)    %dir %openvpn_root
   %dir %openvpn_root/etc
%attr(0710,root,openvpn)    %dir %openvpn_root/dev
%ghost %attr(0666,root,root)     %openvpn_root/dev/log
   %dir %openvpn_root/etc/openvpn
   %dir %openvpn_root/lib
%attr(0750,openvpn,openvpn) %dir %openvpn_cache

%config(noreplace)    %_sysconfdir/%name/%name-startup
%config(noreplace)    %_sysconfdir/sysconfig/%name
%config    %_sysconfdir/chroot.d/%name.*
%config    %_initdir/%name

%_sysconfdir/syslog.d/%name


%files plugins
%doc plugins*
%dir %_libdir/%name
%dir %_libdir/%name/plugin
    %_libdir/%name/plugin/%name-*.so

%files docs
%doc INSTALL-win32.txt INSTALL
%doc easy-rsa*
%doc sample-config-files*
%doc sample-keys*
%doc management*
%doc sample-scripts*


%changelog

Полный changelog можно просмотреть здесь

 
design & coding: Vladimir Lettiev aka crux © 2004-2005