diff options
Diffstat (limited to 'contrib/packages')
22 files changed, 722 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 | ||
3 | pkgbase = 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 | |||
74 | pkgname = 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' | ||
8 | pkgname="${_appname}-git" | ||
9 | pkgver=0.17.6.r4.g7bf2f8f59 | ||
10 | pkgrel=1 | ||
11 | pkgdesc='A framework for secure peer-to-peer networking' | ||
12 | arch=('i686' 'x86_64') | ||
13 | url="http://${_appname}.org" | ||
14 | license=('AGPL') | ||
15 | conflicts=("${_appname}" "${_appname}-bin") | ||
16 | provides=("${_appname}") | ||
17 | depends=('brotli' 'gettext' 'gnutls' 'iptables' 'jansson' 'libcurl-gnutls' | ||
18 | 'libextractor' 'libgcrypt' 'libidn2' 'libmicrohttpd' 'libsodium' | ||
19 | 'libtool' 'libunistring' 'miniupnpc' 'nss' 'openssl' 'sqlite' 'which' | ||
20 | 'zlib') | ||
21 | makedepends=('bluez-libs' 'gettext' 'git' 'libpulse' 'libtool' 'opus' | ||
22 | 'pkgconfig' 'postgresql' 'python' 'python-sphinx' | ||
23 | 'python-sphinx_rtd_theme' 'recutils') | ||
24 | optdepends=('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') | ||
38 | backup=("etc/${_appname}.conf") | ||
39 | source=("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") | ||
45 | install="${_appname}.install" | ||
46 | sha256sums=('SKIP' | ||
47 | '163818b89beddcaf78937daba5bdf0ae060b2975de0731aa13d1ccdd813cf262' | ||
48 | '66299dbbdd0219d2f5f0520e69fc094f38f789724d973c2f63a421257ea4f755' | ||
49 | '5c34e1ecc6208900426f8e399e8c3edbef12cce19eba605fd7364ddb3547d9f0' | ||
50 | '3f17b9ed2c1f8cc0f919fe477df99678c17778a31f1eeb56517e285e3cef30f2' | ||
51 | '60caee20b53bcc69522556b35ac3d35d89e28c49b9a22a2ed5121df4a2c33be5') | ||
52 | |||
53 | pkgver() { | ||
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 | |||
60 | prepare() { | ||
61 | |||
62 | cd "${srcdir}/${_appname}" | ||
63 | |||
64 | export GNUNET_PREFIX='/usr/lib' | ||
65 | ./bootstrap | ||
66 | |||
67 | } | ||
68 | |||
69 | build() { | ||
70 | |||
71 | cd "${srcdir}/${_appname}" | ||
72 | |||
73 | ./configure --prefix='/usr' --enable-experimental | ||
74 | make | ||
75 | make -C contrib | ||
76 | |||
77 | } | ||
78 | |||
79 | package() { | ||
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] | ||
2 | Description=GNUnet system service | ||
3 | After=network.target | ||
4 | |||
5 | [Service] | ||
6 | Type=simple | ||
7 | User=gnunet | ||
8 | ExecStart=/usr/lib/gnunet/libexec/gnunet-service-arm -c /etc/gnunet.conf | ||
9 | StateDirectory=gnunet | ||
10 | StateDirectoryMode=0700 | ||
11 | |||
12 | [Install] | ||
13 | WantedBy=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] | ||
2 | START_SYSTEM_SERVICES = NO | ||
3 | START_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] | ||
2 | Description=GNUnet user service | ||
3 | After=network.target | ||
4 | |||
5 | [Service] | ||
6 | Type=simple | ||
7 | ExecStart=/usr/lib/gnunet/libexec/gnunet-service-arm -c ~/.config/gnunet.conf | ||
8 | |||
9 | [Install] | ||
10 | WantedBy=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 @@ | |||
1 | post_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 | |||
34 | post_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 @@ | |||
1 | g gnunet - | ||
2 | u gnunet - "GNUnet system account" /var/lib/gnunet | ||
3 | g 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 @@ | |||
1 | d /var/lib/gnunet 0700 gnunet gnunet - - | ||
2 | z /usr/lib/gnunet/libexec/gnunet-helper-dns 4750 root gnunetdns - - | ||
3 | z /usr/lib/gnunet/libexec/gnunet-helper-exit 4755 root root - - | ||
4 | z /usr/lib/gnunet/libexec/gnunet-helper-nat-client 4755 root root - - | ||
5 | z /usr/lib/gnunet/libexec/gnunet-helper-nat-server 4755 root root - - | ||
6 | z /usr/lib/gnunet/libexec/gnunet-helper-transport-bluetooth 4755 root root - - | ||
7 | z /usr/lib/gnunet/libexec/gnunet-helper-transport-wlan 4755 root root - - | ||
8 | z /usr/lib/gnunet/libexec/gnunet-helper-vpn 4755 root root - - | ||
9 | z /usr/lib/gnunet/libexec/gnunet-service-dns 2750 gnunet gnunetdns - - | ||
diff --git a/contrib/packages/arch/gnunet/.SRCINFO b/contrib/packages/arch/gnunet/.SRCINFO new file mode 100644 index 000000000..19df8d63f --- /dev/null +++ b/contrib/packages/arch/gnunet/.SRCINFO | |||
@@ -0,0 +1,71 @@ | |||
1 | pkgbase = gnunet | ||
2 | pkgdesc = A framework for secure peer-to-peer networking | ||
3 | pkgver = 0.17.6 | ||
4 | pkgrel = 1 | ||
5 | url = http://gnunet.org | ||
6 | install = gnunet.install | ||
7 | arch = i686 | ||
8 | arch = x86_64 | ||
9 | license = AGPL | ||
10 | makedepends = bluez-libs | ||
11 | makedepends = libpulse | ||
12 | makedepends = libtool | ||
13 | makedepends = opus | ||
14 | makedepends = pkgconfig | ||
15 | makedepends = postgresql | ||
16 | makedepends = python | ||
17 | makedepends = python-sphinx | ||
18 | makedepends = python-sphinx_rtd_theme | ||
19 | depends = brotli | ||
20 | depends = gettext | ||
21 | depends = gnutls | ||
22 | depends = iptables | ||
23 | depends = jansson | ||
24 | depends = libcurl-gnutls | ||
25 | depends = libextractor | ||
26 | depends = libgcrypt | ||
27 | depends = libidn2 | ||
28 | depends = libmicrohttpd | ||
29 | depends = libsodium | ||
30 | depends = libtool | ||
31 | depends = libunistring | ||
32 | depends = miniupnpc | ||
33 | depends = nss | ||
34 | depends = openssl | ||
35 | depends = sqlite | ||
36 | depends = which | ||
37 | depends = zlib | ||
38 | optdepends = bluez: for bluetooth transport | ||
39 | optdepends = gnunet-gtk: for handling the gnunet:// URI scheme | ||
40 | optdepends = jose: for re:claimID OpenID Connect plugin | ||
41 | optdepends = libogg: for conversation service | ||
42 | optdepends = libpabc: for re:claimID zero-knowledge privacy credentials | ||
43 | optdepends = libpulse: for conversation service | ||
44 | optdepends = mysql: for an alternative to sqlite in the database plugin | ||
45 | optdepends = opus: for conversation service | ||
46 | optdepends = postgresql: for an alternative to sqlite in the database plugin | ||
47 | optdepends = python: for test suite | ||
48 | optdepends = texi2mdoc: for automatic mdoc generation | ||
49 | optdepends = texinfo: for building the documentation | ||
50 | optdepends = texlive-core: for generating GNS business cards via gnunet-bcd | ||
51 | optdepends = zbar: for reading/writing QR codes using gnunet-qr | ||
52 | conflicts = gnunet-git | ||
53 | conflicts = gnunet-bin | ||
54 | backup = etc/gnunet.conf | ||
55 | source = ftp://ftp.gnu.org/gnu/gnunet/gnunet-0.17.6.tar.gz | ||
56 | source = ftp://ftp.gnu.org/gnu/gnunet/gnunet-0.17.6.tar.gz.sig | ||
57 | source = gnunet-system.service | ||
58 | source = gnunet.sysusers | ||
59 | source = gnunet.tmpfiles | ||
60 | source = gnunet-user.conf | ||
61 | source = gnunet-user.service | ||
62 | validpgpkeys = 3D11063C10F98D14BD24D1470B0998EF86F59B6A | ||
63 | sha256sums = 249358ef3b10ce99810781fedaec526a6eab943c120e4bba096aedf91c1afc40 | ||
64 | sha256sums = SKIP | ||
65 | sha256sums = 163818b89beddcaf78937daba5bdf0ae060b2975de0731aa13d1ccdd813cf262 | ||
66 | sha256sums = 66299dbbdd0219d2f5f0520e69fc094f38f789724d973c2f63a421257ea4f755 | ||
67 | sha256sums = 5c34e1ecc6208900426f8e399e8c3edbef12cce19eba605fd7364ddb3547d9f0 | ||
68 | sha256sums = 3f17b9ed2c1f8cc0f919fe477df99678c17778a31f1eeb56517e285e3cef30f2 | ||
69 | sha256sums = 60caee20b53bcc69522556b35ac3d35d89e28c49b9a22a2ed5121df4a2c33be5 | ||
70 | |||
71 | pkgname = gnunet | ||
diff --git a/contrib/packages/arch/gnunet/PKGBUILD b/contrib/packages/arch/gnunet/PKGBUILD new file mode 100644 index 000000000..1cef4dcec --- /dev/null +++ b/contrib/packages/arch/gnunet/PKGBUILD | |||
@@ -0,0 +1,111 @@ | |||
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 | pkgname='gnunet' | ||
8 | pkgver='0.17.6' | ||
9 | pkgrel=1 | ||
10 | pkgdesc='A framework for secure peer-to-peer networking' | ||
11 | arch=('i686' 'x86_64') | ||
12 | url="http://${pkgname}.org" | ||
13 | license=('AGPL') | ||
14 | conflicts=("${pkgname}-git" "${pkgname}-bin") | ||
15 | depends=('brotli' 'gettext' 'gnutls' 'iptables' 'jansson' 'libcurl-gnutls' | ||
16 | 'libextractor' 'libgcrypt' 'libidn2' 'libmicrohttpd' 'libsodium' | ||
17 | 'libtool' 'libunistring' 'miniupnpc' 'nss' 'openssl' 'sqlite' 'which' | ||
18 | 'zlib') | ||
19 | makedepends=('bluez-libs' 'libpulse' 'libtool' 'opus' 'pkgconfig' 'postgresql' | ||
20 | 'python' 'python-sphinx' 'python-sphinx_rtd_theme') | ||
21 | optdepends=('bluez: for bluetooth transport' | ||
22 | 'gnunet-gtk: for handling the gnunet:// URI scheme' | ||
23 | 'jose: for re:claimID OpenID Connect plugin' | ||
24 | 'libogg: for conversation service' | ||
25 | 'libpabc: for re:claimID zero-knowledge privacy credentials' | ||
26 | 'libpulse: for conversation service' | ||
27 | 'mysql: for an alternative to sqlite in the database plugin' | ||
28 | 'opus: for conversation service' | ||
29 | 'postgresql: for an alternative to sqlite in the database plugin' | ||
30 | 'python: for test suite' | ||
31 | 'texi2mdoc: for automatic mdoc generation' | ||
32 | 'texinfo: for building the documentation' | ||
33 | 'texlive-core: for generating GNS business cards via gnunet-bcd' | ||
34 | 'zbar: for reading/writing QR codes using gnunet-qr') | ||
35 | backup=("etc/${pkgname}.conf") | ||
36 | source=("ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig} | ||
37 | "${pkgname}-system.service" | ||
38 | "${pkgname}.sysusers" | ||
39 | "${pkgname}.tmpfiles" | ||
40 | "${pkgname}-user.conf" | ||
41 | "${pkgname}-user.service") | ||
42 | install="${pkgname}.install" | ||
43 | validpgpkeys=('3D11063C10F98D14BD24D1470B0998EF86F59B6A') | ||
44 | sha256sums=('249358ef3b10ce99810781fedaec526a6eab943c120e4bba096aedf91c1afc40' | ||
45 | 'SKIP' | ||
46 | '163818b89beddcaf78937daba5bdf0ae060b2975de0731aa13d1ccdd813cf262' | ||
47 | '66299dbbdd0219d2f5f0520e69fc094f38f789724d973c2f63a421257ea4f755' | ||
48 | '5c34e1ecc6208900426f8e399e8c3edbef12cce19eba605fd7364ddb3547d9f0' | ||
49 | '3f17b9ed2c1f8cc0f919fe477df99678c17778a31f1eeb56517e285e3cef30f2' | ||
50 | '60caee20b53bcc69522556b35ac3d35d89e28c49b9a22a2ed5121df4a2c33be5') | ||
51 | |||
52 | prepare() { | ||
53 | |||
54 | cd "${srcdir}/${pkgname}-${pkgver}" | ||
55 | |||
56 | export GNUNET_PREFIX='/usr/lib' | ||
57 | autoreconf -i | ||
58 | |||
59 | } | ||
60 | |||
61 | build() { | ||
62 | |||
63 | cd "${srcdir}/${pkgname}-${pkgver}" | ||
64 | |||
65 | ./configure --prefix='/usr' --enable-experimental | ||
66 | make | ||
67 | |||
68 | } | ||
69 | |||
70 | package() { | ||
71 | |||
72 | cd "${srcdir}/${pkgname}-${pkgver}" | ||
73 | |||
74 | make DESTDIR="${pkgdir}" install | ||
75 | |||
76 | install -dm755 "${pkgdir}/usr/lib/systemd/system" | ||
77 | install -Dm644 "${srcdir}/${pkgname}-system.service" \ | ||
78 | "${pkgdir}/usr/lib/systemd/system/${pkgname}.service" | ||
79 | |||
80 | install -dm755 "${pkgdir}/usr/lib/systemd/user" | ||
81 | install -Dm644 "${srcdir}/${pkgname}-user.service" \ | ||
82 | "${pkgdir}/usr/lib/systemd/user/${pkgname}.service" | ||
83 | |||
84 | install -dm755 "${pkgdir}/usr/lib/sysusers.d" | ||
85 | install -Dm644 "${srcdir}/${pkgname}.sysusers" \ | ||
86 | "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf" | ||
87 | |||
88 | install -dm755 "${pkgdir}/usr/lib/tmpfiles.d" | ||
89 | install -Dm644 "${srcdir}/${pkgname}.tmpfiles" \ | ||
90 | "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf" | ||
91 | |||
92 | install -dm700 "${pkgdir}/etc/skel/.config" | ||
93 | install -Dm600 "${srcdir}/${pkgname}-user.conf" \ | ||
94 | "${pkgdir}/etc/skel/.config/${pkgname}.conf" | ||
95 | |||
96 | # Automatically generate a configuration file using the content of | ||
97 | # `/usr/share/gnunet/config.d/` as model; in this way we can ensure | ||
98 | # that this configuration file is the one backed up with each update, | ||
99 | # while `/usr/share/gnunet/config.d/` is kept as immutable default | ||
100 | # configuration. | ||
101 | |||
102 | install -dm755 "${pkgdir}/etc" | ||
103 | |||
104 | { | ||
105 | echo "# /etc/${pkgname}.conf" | ||
106 | (cd "${pkgdir}" > /dev/null 2>&1 && find "usr/share/${pkgname}/config.d" -type f -name '*.conf' \ | ||
107 | -printf '\n\n# For the default values of the the following lines please refer to\n# /%p\n\n' \ | ||
108 | -exec cat '{}' ';') | ||
109 | } > "${pkgdir}/etc/${pkgname}.conf" | ||
110 | |||
111 | } | ||
diff --git a/contrib/packages/arch/gnunet/gnunet-system.service b/contrib/packages/arch/gnunet/gnunet-system.service new file mode 100644 index 000000000..b429caf46 --- /dev/null +++ b/contrib/packages/arch/gnunet/gnunet-system.service | |||
@@ -0,0 +1,13 @@ | |||
1 | [Unit] | ||
2 | Description=GNUnet system service | ||
3 | After=network.target | ||
4 | |||
5 | [Service] | ||
6 | Type=simple | ||
7 | User=gnunet | ||
8 | ExecStart=/usr/lib/gnunet/libexec/gnunet-service-arm -c /etc/gnunet.conf | ||
9 | StateDirectory=gnunet | ||
10 | StateDirectoryMode=0700 | ||
11 | |||
12 | [Install] | ||
13 | WantedBy=multi-user.target | ||
diff --git a/contrib/packages/arch/gnunet/gnunet-user.conf b/contrib/packages/arch/gnunet/gnunet-user.conf new file mode 100644 index 000000000..22f1fe37a --- /dev/null +++ b/contrib/packages/arch/gnunet/gnunet-user.conf | |||
@@ -0,0 +1,3 @@ | |||
1 | [arm] | ||
2 | START_SYSTEM_SERVICES = NO | ||
3 | START_USER_SERVICES = YES | ||
diff --git a/contrib/packages/arch/gnunet/gnunet-user.service b/contrib/packages/arch/gnunet/gnunet-user.service new file mode 100644 index 000000000..ae9f0d4f5 --- /dev/null +++ b/contrib/packages/arch/gnunet/gnunet-user.service | |||
@@ -0,0 +1,10 @@ | |||
1 | [Unit] | ||
2 | Description=GNUnet user service | ||
3 | After=network.target | ||
4 | |||
5 | [Service] | ||
6 | Type=simple | ||
7 | ExecStart=/usr/lib/gnunet/libexec/gnunet-service-arm -c ~/.config/gnunet.conf | ||
8 | |||
9 | [Install] | ||
10 | WantedBy=multi-user.target | ||
diff --git a/contrib/packages/arch/gnunet/gnunet.install b/contrib/packages/arch/gnunet/gnunet.install new file mode 100644 index 000000000..2560926d8 --- /dev/null +++ b/contrib/packages/arch/gnunet/gnunet.install | |||
@@ -0,0 +1,54 @@ | |||
1 | post_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 | |||
34 | post_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/gnunet.sysusers b/contrib/packages/arch/gnunet/gnunet.sysusers new file mode 100644 index 000000000..163895934 --- /dev/null +++ b/contrib/packages/arch/gnunet/gnunet.sysusers | |||
@@ -0,0 +1,3 @@ | |||
1 | g gnunet - | ||
2 | u gnunet - "GNUnet system account" /var/lib/gnunet | ||
3 | g gnunetdns - | ||
diff --git a/contrib/packages/arch/gnunet/gnunet.tmpfiles b/contrib/packages/arch/gnunet/gnunet.tmpfiles new file mode 100644 index 000000000..5b0b4174d --- /dev/null +++ b/contrib/packages/arch/gnunet/gnunet.tmpfiles | |||
@@ -0,0 +1,9 @@ | |||
1 | d /var/lib/gnunet 0700 gnunet gnunet - - | ||
2 | z /usr/lib/gnunet/libexec/gnunet-helper-dns 4750 root gnunetdns - - | ||
3 | z /usr/lib/gnunet/libexec/gnunet-helper-exit 4755 root root - - | ||
4 | z /usr/lib/gnunet/libexec/gnunet-helper-nat-client 4755 root root - - | ||
5 | z /usr/lib/gnunet/libexec/gnunet-helper-nat-server 4755 root root - - | ||
6 | z /usr/lib/gnunet/libexec/gnunet-helper-transport-bluetooth 4755 root root - - | ||
7 | z /usr/lib/gnunet/libexec/gnunet-helper-transport-wlan 4755 root root - - | ||
8 | z /usr/lib/gnunet/libexec/gnunet-helper-vpn 4755 root root - - | ||
9 | z /usr/lib/gnunet/libexec/gnunet-service-dns 2750 gnunet gnunetdns - - | ||
diff --git a/contrib/packages/fedora/10-dns2gns.sh b/contrib/packages/fedora/10-dns2gns.sh new file mode 100644 index 000000000..b652a9c0c --- /dev/null +++ b/contrib/packages/fedora/10-dns2gns.sh | |||
@@ -0,0 +1,43 @@ | |||
1 | #!/bin/bash | ||
2 | interface=$1 | ||
3 | status=$2 | ||
4 | |||
5 | do_it=$(gnunet-config -s dns2gns -o ENABLE_RESOLVECTL_NMDISPATCHER -c /etc/gnunet.conf) | ||
6 | if [ $? != 0 ]; then | ||
7 | exit 1 | ||
8 | fi | ||
9 | if [ $do_it = "NO" ]; then | ||
10 | echo "Setting DNS2GNS through resolvectl disabled." | ||
11 | exit 1 | ||
12 | fi | ||
13 | |||
14 | case $status in | ||
15 | up) | ||
16 | if nc -u -z 127.0.0.1 5353; then | ||
17 | # Note: We add quad 9 as a fallback in case our service is down. | ||
18 | dns2gns=$(gnunet-config -s dns2gns -o BIND_TO) | ||
19 | if [ $? != 0 ]; then | ||
20 | exit 1 | ||
21 | fi | ||
22 | dns2gns6=$(gnunet-config -s dns2gns -o BIND_TO6) | ||
23 | if [ $? != 0 ]; then | ||
24 | exit 1 | ||
25 | fi | ||
26 | port=$(gnunet-config -s dns2gns -o PORT) | ||
27 | if [ $? != 0 ]; then | ||
28 | exit 1 | ||
29 | fi | ||
30 | olddns=$(resolvectl status $interface | grep "DNS Servers" | cut -d':' -f2-) | ||
31 | if [ $? == 0 ]; then | ||
32 | #echo "Setting to $dns2gns:$port [$dns2gns6]:$port $olddns 9.9.9.9" | ||
33 | #resolvectl dns $interface $dns2gns:$port [$dns2gns6]:$port $olddns 9.9.9.9 | ||
34 | echo "Setting to $dns2gns:$port [$dns2gns6]:$port" | ||
35 | resolvectl dns $interface $dns2gns:$port [$dns2gns6]:$port | ||
36 | else | ||
37 | exit 1 | ||
38 | fi | ||
39 | fi | ||
40 | ;; | ||
41 | down) | ||
42 | ;; | ||
43 | esac | ||
diff --git a/contrib/packages/fedora/gnunet-system.conf b/contrib/packages/fedora/gnunet-system.conf new file mode 100644 index 000000000..a0b99dfeb --- /dev/null +++ b/contrib/packages/fedora/gnunet-system.conf | |||
@@ -0,0 +1,12 @@ | |||
1 | [path] | ||
2 | GNUNET_HOME = /var/lib/gnunet/ | ||
3 | GNUNET_DATA_HOME = /var/lib/gnunet/data/ | ||
4 | GNUNET_RUNTIME_DIR = /var/run/gnunet/ | ||
5 | |||
6 | [arm] | ||
7 | START_SYSTEM_SERVICES = YES | ||
8 | START_USER_SERVICES = NO | ||
9 | OPTIONS = -l /var/log/gnunet.log | ||
10 | |||
11 | [dns2gns] | ||
12 | ENABLE_RESOLVECTL_NMDISPATCHER = YES | ||
diff --git a/contrib/packages/fedora/gnunet-user.service b/contrib/packages/fedora/gnunet-user.service new file mode 100644 index 000000000..c9d3be0ad --- /dev/null +++ b/contrib/packages/fedora/gnunet-user.service | |||
@@ -0,0 +1,11 @@ | |||
1 | # Typically to be place into /usr/lib/systemd/user/gnunet.service | ||
2 | [Unit] | ||
3 | Description=GNUnet user service | ||
4 | After=network.target | ||
5 | |||
6 | [Service] | ||
7 | Type=simple | ||
8 | ExecStart=/usr/lib/gnunet/libexec/gnunet-service-arm -c ~/.config/gnunet.conf | ||
9 | |||
10 | [Install] | ||
11 | WantedBy=multi-user.target | ||
diff --git a/contrib/packages/fedora/gnunet.service b/contrib/packages/fedora/gnunet.service new file mode 100644 index 000000000..daa38a046 --- /dev/null +++ b/contrib/packages/fedora/gnunet.service | |||
@@ -0,0 +1,14 @@ | |||
1 | # Typically placed into /usr/lib/systemd/system/gnunet.service | ||
2 | [Unit] | ||
3 | Description=GNUnet system service | ||
4 | After=network.target | ||
5 | |||
6 | [Service] | ||
7 | Type=simple | ||
8 | User=gnunet | ||
9 | ExecStart=/usr/lib/gnunet/libexec/gnunet-service-arm -c /etc/gnunet.conf | ||
10 | StateDirectory=gnunet | ||
11 | StateDirectoryMode=0700 | ||
12 | |||
13 | [Install] | ||
14 | WantedBy=multi-user.target | ||
diff --git a/contrib/packages/guix/guix.README b/contrib/packages/guix/guix.README new file mode 100644 index 000000000..1e8bd3126 --- /dev/null +++ b/contrib/packages/guix/guix.README | |||
@@ -0,0 +1,29 @@ | |||
1 | guix.scm contains Guix package definitions that can be used to | ||
2 | override the ones found in Guix's GNU distribution. | ||
3 | |||
4 | Guix packagers are encouraged to adopt and adjust these definitions. | ||
5 | |||
6 | GNUnet developers can use this for easily setting up a development or | ||
7 | test environment using Guix. | ||
8 | |||
9 | When using the package definition for building a package this will | ||
10 | pick up the current development code. The version of the resulting | ||
11 | package is the output of 'git describe --tags'. | ||
12 | |||
13 | To make guix build the development package defined here, use the | ||
14 | following command: | ||
15 | |||
16 | guix build -f <gnunet.git>/contrib/guix | ||
17 | |||
18 | To spawn a (development) environment with GNUnet's dependencies | ||
19 | installed, run: | ||
20 | |||
21 | guix environment --load-path=<gnunet.git>/contrib/guix.scm | ||
22 | |||
23 | To spawn a (test) environment with GNUnet available in this | ||
24 | environment, run: | ||
25 | |||
26 | guix environment --load-path=<gnunet.git>/contrib/guix.scm --ad-hoc guix | ||
27 | |||
28 | It is recommended to also pass the '--pure' option to guix, to make | ||
29 | sure the environment is not polluted with existing packages. | ||
diff --git a/contrib/packages/guix/guix.scm b/contrib/packages/guix/guix.scm new file mode 100644 index 000000000..4376d1ef5 --- /dev/null +++ b/contrib/packages/guix/guix.scm | |||
@@ -0,0 +1,51 @@ | |||
1 | ;;; guix.scm -- Guix package definition | ||
2 | |||
3 | (use-modules | ||
4 | (guix git-download) | ||
5 | (guix download) | ||
6 | (guix packages) | ||
7 | (guix utils) | ||
8 | (guix gexp) | ||
9 | (gnu packages) | ||
10 | (gnu packages autotools) | ||
11 | (gnu packages gettext) | ||
12 | (gnu packages gnunet) | ||
13 | (gnu packages image) | ||
14 | (gnu packages texinfo) | ||
15 | (srfi srfi-1) | ||
16 | (ice-9 popen) | ||
17 | (ice-9 rdelim)) | ||
18 | |||
19 | (define %source-dir (dirname (dirname (current-filename)))) | ||
20 | |||
21 | (define %git-commit | ||
22 | (read-string (open-pipe "git show HEAD | head -1 | cut -d ' ' -f 2" OPEN_READ))) | ||
23 | |||
24 | (define-public gnunet-git | ||
25 | (package | ||
26 | (inherit gnunet) | ||
27 | (name "gnunet") | ||
28 | (version (git-version (package-version gnunet) "HEAD" %git-commit)) | ||
29 | (source (local-file %source-dir #:recursive? #t)) | ||
30 | (inputs | ||
31 | `(("libjpeg" ,libjpeg) | ||
32 | ,@(package-inputs gnunet))) | ||
33 | (native-inputs | ||
34 | `(("autoconf" ,autoconf) | ||
35 | ("automake" ,automake) | ||
36 | ("gettext" ,gnu-gettext) | ||
37 | ("libtool" ,libtool) | ||
38 | ("texinfo" ,texinfo) | ||
39 | ("which" ,(@ (gnu packages base) which)) | ||
40 | ,@(package-native-inputs gnunet))) | ||
41 | (arguments | ||
42 | (substitute-keyword-arguments (package-arguments gnunet) | ||
43 | ((#:phases phases) | ||
44 | `(modify-phases ,phases | ||
45 | (add-after 'unpack 'make-po-directory-writable | ||
46 | (lambda _ | ||
47 | (for-each make-file-writable | ||
48 | (find-files "po" ".")) | ||
49 | #t)))))))) | ||
50 | |||
51 | gnunet-git | ||