File govpn.spec of Package govpn

%define realname govpn
%define realver  5.10
%define srcext   tar.xz

# turn off the generation of debuginfo rpm  (RH9) ??
%global debug_package %{nil}

# Common info
Name:          %{realname}
Version:       %{realver}
Release:       %{?extraver:0.}1%{?rhel:.el%{rhel}}%{?fedora:.fc%{fedora}}
License:       GPL-3.0+
Group:         Productivity/Networking/Security
URL:           http://www.cypherpunks.ru/govpn/
Summary:       Simple free software virtual private network daemon
Summary(ru_RU.UTF-8): Простой демон виртуальных частных сетей

# Build-time parameters
BuildRequires: xz
BuildRequires: go
BuildRoot:     %{_tmppath}/%{name}-root
Source:        http://www.cypherpunks.ru/govpn/download/%{realname}-%{realver}%{?extraver}.%{srcext}

%description
GoVPN is simple free software virtual private network daemon, aimed to
be reviewable, secure, DPI/censorship-resistant, written on Go.

It uses fast strong passphrase authenticated key agreement protocol with
augmented zero-knowledge mutual peers authentication (PAKE DH A-EKE).
Encrypted, authenticated data transport that hides message's length and
timestamps. Optional encryptionless mode, that still preserves data
confidentiality. Perfect forward secrecy property. Resistance to:
offline dictionary attacks, replay attacks, client's passphrases
compromising and dictionary attacks on the server side. Built-in
heartbeating, rehandshaking, real-time statistics. Ability to work
through UDP, TCP and HTTP proxies. IPv4/IPv6-compatibility.
GNU/Linux and FreeBSD support.

This package contains server daemon.

%description -l ru_RU.UTF-8
GoVPN это простой демон виртуальных частных сетей, код которого нацелен
на лёгкость чтения и анализа, безопасность, устойчивость к DPI/цензуре,
написан на Go и является свободным программным обеспечением.

Он использует быстрый сильный аутентифицируемый по парольной фразе
несбалансированный протокол согласования ключей с двусторонней
аутентификацией сторон (PAKE DH A-EKE). Зашифрованный, аутентифицируемый
транспортный протокол передачи данных, скрывающий длины сообщений и их
временные характеристики. Свойство совершенной прямой секретности.
Устойчивость к: внесетевым (offline) атакам по словарю, атакам
повторного воспроизведения (replay), компрометации клиентских парольных
фраз на стороне сервера. Встроенные функции сердцебиения (heartbeat),
пересогласования ключей, статистика реального времени. Возможность
работы поверх UDP, TCP и HTTP прокси. Совместимость с IPv4 и IPv6.
Поддержка GNU/Linux и FreeBSD.

Этот пакет содержит серверный демон.

%package client
Group:         Productivity/Networking/Security
Summary:       Client for simple free software virtual private network daemon
Summary(ru_RU.UTF-8): Клиент для простого демон виртуальных частных сетей

%description client
GoVPN is simple free software virtual private network daemon, aimed to
be reviewable, secure, DPI/censorship-resistant, written on Go.

It uses fast strong passphrase authenticated key agreement protocol with
augmented zero-knowledge mutual peers authentication (PAKE DH A-EKE).
Encrypted, authenticated data transport that hides message's length and
timestamps. Optional encryptionless mode, that still preserves data
confidentiality. Perfect forward secrecy property. Resistance to:
offline dictionary attacks, replay attacks, client's passphrases
compromising and dictionary attacks on the server side. Built-in
heartbeating, rehandshaking, real-time statistics. Ability to work
through UDP, TCP and HTTP proxies. IPv4/IPv6-compatibility.
GNU/Linux and FreeBSD support.

This package contains a client.

%description client -l ru_RU.UTF-8
GoVPN это простой демон виртуальных частных сетей, код которого нацелен
на лёгкость чтения и анализа, безопасность, устойчивость к DPI/цензуре,
написан на Go и является свободным программным обеспечением.

Он использует быстрый сильный аутентифицируемый по парольной фразе
несбалансированный протокол согласования ключей с двусторонней
аутентификацией сторон (PAKE DH A-EKE). Зашифрованный, аутентифицируемый
транспортный протокол передачи данных, скрывающий длины сообщений и их
временные характеристики. Свойство совершенной прямой секретности.
Устойчивость к: внесетевым (offline) атакам по словарю, атакам
повторного воспроизведения (replay), компрометации клиентских парольных
фраз на стороне сервера. Встроенные функции сердцебиения (heartbeat),
пересогласования ключей, статистика реального времени. Возможность
работы поверх UDP, TCP и HTTP прокси. Совместимость с IPv4 и IPv6.
Поддержка GNU/Linux и FreeBSD.

Этот пакет содержит клиентскую часть.

# Preparation step (unpackung and patching if necessary)
%prep
%setup -q -n %{realname}-%{realver}%{?extraver}

%build
%{__make} %{?_smp_mflags} \
 PREFIX=%{_prefix} \
 BINDIR=%{_bindir} \
 INFODIR=%{_infodir} \
 SHAREDIR=%{_datadir}/%{name}

%install
%{__make} install DESTDIR=%{buildroot} \
 PREFIX=%{buildroot}%{_prefix} \
 BINDIR=%{buildroot}%{_bindir} \
 INFODIR=%{buildroot}%{_infodir} \
 SHAREDIR=%{buildroot}%{_datadir}/%{name} \
 DOCDIR=d
%{__strip} --strip-all -R .comment -R .gnu.version -R .note.* -R .eh_frame* %{buildroot}%{_bindir}/govpn-*

%clean
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}

%files
%defattr(-,root,root)
%doc AUTHORS COPYING README*
%{_bindir}/govpn-server
%{_bindir}/govpn-verifier
%{_datadir}/govpn/
%doc %{_infodir}/govpn.info*

%files client
%defattr(-,root,root)
%doc AUTHORS COPYING README*
%{_bindir}/govpn-client

%post
/sbin/install-info %{_infodir}/govpn.info* %{_infodir}/dir || :

%preun
if [ $1 = 0 ] ; then
  /sbin/install-info --delete %{_infodir}/govpn.info* %{_infodir}/dir || :
fi

%changelog
openSUSE Build Service is sponsored by