blob: 2f5e4d8cc66e64905d3dadcb0c691455913bc8be (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
# Maintainer: Christian Hesse <mail@eworm.de>
pkgname=openvpn-git
pkgver=2.4.rc2.r864.g3b1ded39
pkgrel=1
pkgdesc='An easy-to-use, robust and highly configurable VPN (Virtual Private Network) - git checkout'
arch=('i686' 'x86_64')
url='https://openvpn.net/index.php/open-source.html'
license=('custom')
depends=('openssl' 'lzo' 'lz4' 'systemd-libs' 'libsystemd.so' 'pkcs11-helper' 'libpkcs11-helper.so')
optdepends=('easy-rsa: easy CA and certificate handling'
'pam: authenticate via PAM')
makedepends=('git' 'systemd' 'python-docutils')
conflicts=('openvpn' 'openvpn-dev')
provides=('openvpn=2.4.0' 'openvpn-dev')
install=openvpn.install
# for 2.5.x release branch append: #branch=release/2.5
source=("git+https://github.com/OpenVPN/openvpn.git"
'0001-unprivileged.patch'
'sysusers.conf'
'tmpfiles.conf')
sha256sums=('SKIP'
'8e7d292514f30729bc37d6681789b1bfdf87a992a3aa77e2a28b8da9cd8d4bfe'
'3646b865ac67783fafc6652589cfe2a3105ecef06f3907f33de5135815f6a621'
'b1436f953a4f1be7083711d11928a9924993f940ff56ff92d288d6100df673fc')
pkgver() {
cd "${srcdir}"/openvpn
if GITTAG="$(git describe --abbrev=0 --tags 2>/dev/null)"; then
printf '%s.r%s.g%s' \
"$(sed -e "s/^${pkgname%%-git}//" -e 's/^[-_/a-zA-Z]\+//' -e 's/[-_+]/./g' <<< ${GITTAG})" \
"$(git rev-list --count ${GITTAG}..)" \
"$(git rev-parse --short HEAD)"
else
printf '0.r%s.g%s' \
"$(git rev-list --count master)" \
"$(git rev-parse --short HEAD)"
fi
}
prepare() {
cd "${srcdir}"/openvpn
# https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg19302.html
sed -i '/^CONFIGURE_DEFINES=/s/set/env/g' configure.ac
# start with unprivileged user and keep granted privileges
patch -Np1 < ../0001-unprivileged.patch
autoreconf --force --install
}
build() {
mkdir "${srcdir}"/build
cd "${srcdir}"/build
"${srcdir}"/openvpn/configure \
--prefix=/usr \
--sbindir=/usr/bin \
--enable-pkcs11 \
--enable-plugins \
--enable-systemd \
--enable-x509-alt-username
make
}
check() {
cd "${srcdir}"/build
make check
}
package() {
cd "${srcdir}"/build
# Install openvpn
make DESTDIR="${pkgdir}" install
# Install sysusers and tmpfiles files
install -D -m0644 ../sysusers.conf "${pkgdir}"/usr/lib/sysusers.d/openvpn.conf
install -D -m0644 ../tmpfiles.conf "${pkgdir}"/usr/lib/tmpfiles.d/openvpn.conf
# Install license
install -d -m0755 "${pkgdir}"/usr/share/licenses/openvpn/
ln -sf /usr/share/doc/openvpn/{COPYING,COPYRIGHT.GPL} "${pkgdir}"/usr/share/licenses/openvpn/
cd "${srcdir}"/openvpn
# Install examples
install -d -m0755 "${pkgdir}"/usr/share/openvpn
cp -r sample/sample-config-files "${pkgdir}"/usr/share/openvpn/examples
# Install contrib
for FILE in $(find contrib -type f); do
case "$(file --brief --mime-type --no-sandbox "${FILE}")" in
"text/x-shellscript")
install -D -m0755 "${FILE}" "${pkgdir}/usr/share/openvpn/${FILE}" ;;
*)
install -D -m0644 "${FILE}" "${pkgdir}/usr/share/openvpn/${FILE}" ;;
esac
done
}
|