aboutsummaryrefslogtreecommitdiff
path: root/contrib/packages/arch/gnunet-git
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/packages/arch/gnunet-git')
-rw-r--r--contrib/packages/arch/gnunet-git/.SRCINFO74
-rw-r--r--contrib/packages/arch/gnunet-git/PKGBUILD122
-rw-r--r--contrib/packages/arch/gnunet-git/gnunet-system.service13
-rw-r--r--contrib/packages/arch/gnunet-git/gnunet-user.conf3
-rw-r--r--contrib/packages/arch/gnunet-git/gnunet-user.service10
-rw-r--r--contrib/packages/arch/gnunet-git/gnunet.install54
-rw-r--r--contrib/packages/arch/gnunet-git/gnunet.sysusers3
-rw-r--r--contrib/packages/arch/gnunet-git/gnunet.tmpfiles9
8 files changed, 288 insertions, 0 deletions
diff --git a/contrib/packages/arch/gnunet-git/.SRCINFO b/contrib/packages/arch/gnunet-git/.SRCINFO
new file mode 100644
index 000000000..682e69576
--- /dev/null
+++ b/contrib/packages/arch/gnunet-git/.SRCINFO
@@ -0,0 +1,74 @@
1# Generated by makepkg 6.0.1
2# Mon Sep 26 21:21:28 UTC 2022
3pkgbase = gnunet-git
4 pkgdesc = A framework for secure peer-to-peer networking
5 pkgver = 0.17.6.r4.g7bf2f8f59
6 pkgrel = 1
7 url = http://gnunet.org
8 install = gnunet.install
9 arch = i686
10 arch = x86_64
11 license = AGPL
12 makedepends = bluez-libs
13 makedepends = gettext
14 makedepends = git
15 makedepends = libpulse
16 makedepends = libtool
17 makedepends = opus
18 makedepends = pkgconfig
19 makedepends = postgresql
20 makedepends = python
21 makedepends = python-sphinx
22 makedepends = python-sphinx_rtd_theme
23 makedepends = recutils
24 depends = brotli
25 depends = gettext
26 depends = gnutls
27 depends = iptables
28 depends = jansson
29 depends = libcurl-gnutls
30 depends = libextractor
31 depends = libgcrypt
32 depends = libidn2
33 depends = libmicrohttpd
34 depends = libsodium
35 depends = libtool
36 depends = libunistring
37 depends = miniupnpc
38 depends = nss
39 depends = openssl
40 depends = sqlite
41 depends = which
42 depends = zlib
43 optdepends = bluez: for bluetooth transport
44 optdepends = gnunet-gtk: for handling the gnunet:// URI scheme
45 optdepends = jose: for re:claimID OpenID Connect plugin
46 optdepends = libogg: for conversation service
47 optdepends = libpabc: for re:claimID zero-knowledge privacy credentials
48 optdepends = libpulse: for conversation service
49 optdepends = mysql: for an alternative to sqlite in the database plugin
50 optdepends = opus: for conversation service
51 optdepends = postgresql: for an alternative to sqlite in the database plugin
52 optdepends = python: for test suite
53 optdepends = texi2mdoc: for automatic mdoc generation
54 optdepends = texinfo: for building the documentation
55 optdepends = texlive-core: for generating GNS business cards via gnunet-bcd
56 optdepends = zbar: for reading/writing QR codes using gnunet-qr
57 provides = gnunet
58 conflicts = gnunet
59 conflicts = gnunet-bin
60 backup = etc/gnunet.conf
61 source = git+https://git.gnunet.org/gnunet.git
62 source = gnunet-system.service
63 source = gnunet.sysusers
64 source = gnunet.tmpfiles
65 source = gnunet-user.conf
66 source = gnunet-user.service
67 sha256sums = SKIP
68 sha256sums = 163818b89beddcaf78937daba5bdf0ae060b2975de0731aa13d1ccdd813cf262
69 sha256sums = 66299dbbdd0219d2f5f0520e69fc094f38f789724d973c2f63a421257ea4f755
70 sha256sums = 5c34e1ecc6208900426f8e399e8c3edbef12cce19eba605fd7364ddb3547d9f0
71 sha256sums = 3f17b9ed2c1f8cc0f919fe477df99678c17778a31f1eeb56517e285e3cef30f2
72 sha256sums = 60caee20b53bcc69522556b35ac3d35d89e28c49b9a22a2ed5121df4a2c33be5
73
74pkgname = gnunet-git
diff --git a/contrib/packages/arch/gnunet-git/PKGBUILD b/contrib/packages/arch/gnunet-git/PKGBUILD
new file mode 100644
index 000000000..17d7e057f
--- /dev/null
+++ b/contrib/packages/arch/gnunet-git/PKGBUILD
@@ -0,0 +1,122 @@
1# Maintainer: grufo <madmurphy333 AT gmail DOT com>
2# Contributor: redfish <redfish AT galactica DOT pw>
3# Contributor: kertase <kertase AT gmail DOT com>
4# Contributor: Sergej Pupykin <pupykin DOT s+arch AT gmail.com>
5# Contributor: wahnby <wahnby AT yahoo DOT fr>
6
7_appname='gnunet'
8pkgname="${_appname}-git"
9pkgver=0.17.6.r4.g7bf2f8f59
10pkgrel=1
11pkgdesc='A framework for secure peer-to-peer networking'
12arch=('i686' 'x86_64')
13url="http://${_appname}.org"
14license=('AGPL')
15conflicts=("${_appname}" "${_appname}-bin")
16provides=("${_appname}")
17depends=('brotli' 'gettext' 'gnutls' 'iptables' 'jansson' 'libcurl-gnutls'
18 'libextractor' 'libgcrypt' 'libidn2' 'libmicrohttpd' 'libsodium'
19 'libtool' 'libunistring' 'miniupnpc' 'nss' 'openssl' 'sqlite' 'which'
20 'zlib')
21makedepends=('bluez-libs' 'gettext' 'git' 'libpulse' 'libtool' 'opus'
22 'pkgconfig' 'postgresql' 'python' 'python-sphinx'
23 'python-sphinx_rtd_theme' 'recutils')
24optdepends=('bluez: for bluetooth transport'
25 'gnunet-gtk: for handling the gnunet:// URI scheme'
26 'jose: for re:claimID OpenID Connect plugin'
27 'libogg: for conversation service'
28 'libpabc: for re:claimID zero-knowledge privacy credentials'
29 'libpulse: for conversation service'
30 'mysql: for an alternative to sqlite in the database plugin'
31 'opus: for conversation service'
32 'postgresql: for an alternative to sqlite in the database plugin'
33 'python: for test suite'
34 'texi2mdoc: for automatic mdoc generation'
35 'texinfo: for building the documentation'
36 'texlive-core: for generating GNS business cards via gnunet-bcd'
37 'zbar: for reading/writing QR codes using gnunet-qr')
38backup=("etc/${_appname}.conf")
39source=("git+https://git.${_appname}.org/${_appname}.git"
40 "${_appname}-system.service"
41 "${_appname}.sysusers"
42 "${_appname}.tmpfiles"
43 "${_appname}-user.conf"
44 "${_appname}-user.service")
45install="${_appname}.install"
46sha256sums=('SKIP'
47 '163818b89beddcaf78937daba5bdf0ae060b2975de0731aa13d1ccdd813cf262'
48 '66299dbbdd0219d2f5f0520e69fc094f38f789724d973c2f63a421257ea4f755'
49 '5c34e1ecc6208900426f8e399e8c3edbef12cce19eba605fd7364ddb3547d9f0'
50 '3f17b9ed2c1f8cc0f919fe477df99678c17778a31f1eeb56517e285e3cef30f2'
51 '60caee20b53bcc69522556b35ac3d35d89e28c49b9a22a2ed5121df4a2c33be5')
52
53pkgver() {
54
55 cd "${_appname}" > /dev/null 2>&1
56 git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
57
58}
59
60prepare() {
61
62 cd "${srcdir}/${_appname}"
63
64 export GNUNET_PREFIX='/usr/lib'
65 ./bootstrap
66
67}
68
69build() {
70
71 cd "${srcdir}/${_appname}"
72
73 ./configure --prefix='/usr' --enable-experimental
74 make
75 make -C contrib
76
77}
78
79package() {
80
81 cd "${srcdir}/${_appname}"
82
83 make DESTDIR="${pkgdir}" install
84 make DESTDIR="${pkgdir}" -C contrib install
85
86 install -dm755 "${pkgdir}/usr/lib/systemd/system"
87 install -Dm644 "${srcdir}/${_appname}-system.service" \
88 "${pkgdir}/usr/lib/systemd/system/${_appname}.service"
89
90 install -dm755 "${pkgdir}/usr/lib/systemd/user"
91 install -Dm644 "${srcdir}/${_appname}-user.service" \
92 "${pkgdir}/usr/lib/systemd/user/${_appname}.service"
93
94 install -dm755 "${pkgdir}/usr/lib/sysusers.d"
95 install -Dm644 "${srcdir}/${_appname}.sysusers" \
96 "${pkgdir}/usr/lib/sysusers.d/${_appname}.conf"
97
98 install -dm755 "${pkgdir}/usr/lib/tmpfiles.d"
99 install -Dm644 "${srcdir}/${_appname}.tmpfiles" \
100 "${pkgdir}/usr/lib/tmpfiles.d/${_appname}.conf"
101
102 install -dm700 "${pkgdir}/etc/skel/.config"
103 install -Dm600 "${srcdir}/${_appname}-user.conf" \
104 "${pkgdir}/etc/skel/.config/${_appname}.conf"
105
106 # Automatically generate a configuration file using the content of
107 # `/usr/share/gnunet/config.d/` as model; in this way we can ensure
108 # that this configuration file is the one backed up with each update,
109 # while `/usr/share/gnunet/config.d/` is kept as immutable default
110 # configuration.
111
112 install -dm755 "${pkgdir}/etc"
113
114 {
115 echo "# /etc/${_appname}.conf"
116 (cd "${pkgdir}" > /dev/null 2>&1 && find "usr/share/${_appname}/config.d" -type f -name '*.conf' \
117 -printf '\n\n# For the default values of the the following lines please refer to\n# /%p\n\n' \
118 -exec cat '{}' ';')
119 } > "${pkgdir}/etc/${_appname}.conf"
120
121}
122
diff --git a/contrib/packages/arch/gnunet-git/gnunet-system.service b/contrib/packages/arch/gnunet-git/gnunet-system.service
new file mode 100644
index 000000000..b429caf46
--- /dev/null
+++ b/contrib/packages/arch/gnunet-git/gnunet-system.service
@@ -0,0 +1,13 @@
1[Unit]
2Description=GNUnet system service
3After=network.target
4
5[Service]
6Type=simple
7User=gnunet
8ExecStart=/usr/lib/gnunet/libexec/gnunet-service-arm -c /etc/gnunet.conf
9StateDirectory=gnunet
10StateDirectoryMode=0700
11
12[Install]
13WantedBy=multi-user.target
diff --git a/contrib/packages/arch/gnunet-git/gnunet-user.conf b/contrib/packages/arch/gnunet-git/gnunet-user.conf
new file mode 100644
index 000000000..22f1fe37a
--- /dev/null
+++ b/contrib/packages/arch/gnunet-git/gnunet-user.conf
@@ -0,0 +1,3 @@
1[arm]
2START_SYSTEM_SERVICES = NO
3START_USER_SERVICES = YES
diff --git a/contrib/packages/arch/gnunet-git/gnunet-user.service b/contrib/packages/arch/gnunet-git/gnunet-user.service
new file mode 100644
index 000000000..ae9f0d4f5
--- /dev/null
+++ b/contrib/packages/arch/gnunet-git/gnunet-user.service
@@ -0,0 +1,10 @@
1[Unit]
2Description=GNUnet user service
3After=network.target
4
5[Service]
6Type=simple
7ExecStart=/usr/lib/gnunet/libexec/gnunet-service-arm -c ~/.config/gnunet.conf
8
9[Install]
10WantedBy=multi-user.target
diff --git a/contrib/packages/arch/gnunet-git/gnunet.install b/contrib/packages/arch/gnunet-git/gnunet.install
new file mode 100644
index 000000000..2560926d8
--- /dev/null
+++ b/contrib/packages/arch/gnunet-git/gnunet.install
@@ -0,0 +1,54 @@
1post_install() {
2
3 local _PWD_PAIRS_="$(awk -F ':' '$3>=1000 && $3<2000 {print $1":"$6}' '/etc/passwd')"
4 local _USER_
5 local _GROUP_
6 local _CFG_DIR_
7
8 for _PWD_PAIR_ in ${_PWD_PAIRS_}; do
9 _USER_="$(echo $_PWD_PAIR_ | cut -d ':' -f 1)"
10 _GROUP_="$(id -gn "${_USER_}")"
11 _CFG_DIR_="$(echo $_PWD_PAIR_ | cut -d ':' -f 2)/.config"
12 test -e "${_CFG_DIR_}/gnunet.conf" || (install -dm700 -o \
13 "${_USER_}" -g "${_GROUP_}" "${_CFG_DIR_}" && install \
14 -Dm600 -o "${_USER_}" -g "${_GROUP_}" \
15 '/etc/skel/.config/gnunet.conf' \
16 "${_CFG_DIR_}/gnunet.conf")
17 done
18
19 echo
20 echo 'Do not forget to add your user to the `gnunet` group, with'
21 echo
22 echo ' sudo usermod -aG gnunet "$(whoami)"'
23 echo
24 echo 'If later you want to remove your user from the group, launch'
25 echo
26 echo ' sudo gpasswd --delete "$(whoami)" gnunet'
27 echo
28 echo 'For information on how to use GNUnet plaese refer to the GNUnet article in the'
29 echo 'ArchWiki (https://wiki.archlinux.org/title/GNUnet).'
30 echo
31
32}
33
34post_remove() {
35
36 echo
37 echo 'The home directory of the `gnunet` user (`/var/lib/gnunet/`) is left after'
38 echo 'uninstalling GNUnet. If you are sure that you are never going to use GNUnet'
39 echo 'ever again, launch:'
40 echo
41 echo ' for username in $(getent group gnunet | cut -d: -f4 | tr '\'','\'' '\'' '\''); do \'
42 echo ' sudo gpasswd --delete "${username}" gnunet; done'
43 echo ' sudo userdel -r gnunet'
44 echo ' sudo groupdel gnunetdns'
45 echo
46 echo '**Warning** The identity and all the information about the network'
47 echo 'cumulatively stored by the current peer will be destroyed - this will not'
48 echo 'affect files explicitly downloaded in other paths.'
49 echo
50 echo 'For further information plaese refer to the GNUnet article in the ArchWiki'
51 echo '(https://wiki.archlinux.org/title/GNUnet).'
52 echo
53
54}
diff --git a/contrib/packages/arch/gnunet-git/gnunet.sysusers b/contrib/packages/arch/gnunet-git/gnunet.sysusers
new file mode 100644
index 000000000..163895934
--- /dev/null
+++ b/contrib/packages/arch/gnunet-git/gnunet.sysusers
@@ -0,0 +1,3 @@
1g gnunet -
2u gnunet - "GNUnet system account" /var/lib/gnunet
3g gnunetdns -
diff --git a/contrib/packages/arch/gnunet-git/gnunet.tmpfiles b/contrib/packages/arch/gnunet-git/gnunet.tmpfiles
new file mode 100644
index 000000000..5b0b4174d
--- /dev/null
+++ b/contrib/packages/arch/gnunet-git/gnunet.tmpfiles
@@ -0,0 +1,9 @@
1d /var/lib/gnunet 0700 gnunet gnunet - -
2z /usr/lib/gnunet/libexec/gnunet-helper-dns 4750 root gnunetdns - -
3z /usr/lib/gnunet/libexec/gnunet-helper-exit 4755 root root - -
4z /usr/lib/gnunet/libexec/gnunet-helper-nat-client 4755 root root - -
5z /usr/lib/gnunet/libexec/gnunet-helper-nat-server 4755 root root - -
6z /usr/lib/gnunet/libexec/gnunet-helper-transport-bluetooth 4755 root root - -
7z /usr/lib/gnunet/libexec/gnunet-helper-transport-wlan 4755 root root - -
8z /usr/lib/gnunet/libexec/gnunet-helper-vpn 4755 root root - -
9z /usr/lib/gnunet/libexec/gnunet-service-dns 2750 gnunet gnunetdns - -