gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnunet] branch master updated: Add Arch packages


From: gnunet
Subject: [gnunet] branch master updated: Add Arch packages
Date: Sun, 12 Jun 2022 16:33:41 +0200

This is an automated email from the git hooks/post-receive script.

madmurphy pushed a commit to branch master
in repository gnunet.

The following commit(s) were added to refs/heads/master by this push:
     new 22082c234 Add Arch packages
22082c234 is described below

commit 22082c234c2013c65fc49a59d01c467a78c12f3e
Author: madmurphy <madmurphy333@gmail.com>
AuthorDate: Sun Jun 12 15:33:39 2022 +0100

    Add Arch packages
---
 contrib/Makefile.am                                |  28 ++++-
 contrib/packages/arch/gnunet-git/.SRCINFO          |  73 ++++++++++++
 contrib/packages/arch/gnunet-git/PKGBUILD          | 128 +++++++++++++++++++++
 .../packages/arch/gnunet-git/gnunet-system.service |  13 +++
 .../packages/arch/gnunet-git/gnunet-uri.desktop    |   9 ++
 contrib/packages/arch/gnunet-git/gnunet-user.conf  |   3 +
 .../packages/arch/gnunet-git/gnunet-user.service   |  10 ++
 contrib/packages/arch/gnunet-git/gnunet.install    |  54 +++++++++
 contrib/packages/arch/gnunet-git/gnunet.sysusers   |   3 +
 contrib/packages/arch/gnunet-git/gnunet.tmpfiles   |   9 ++
 contrib/packages/arch/gnunet/.SRCINFO              |  72 ++++++++++++
 contrib/packages/arch/gnunet/PKGBUILD              | 118 +++++++++++++++++++
 contrib/packages/arch/gnunet/gnunet-system.service |  13 +++
 contrib/packages/arch/gnunet/gnunet-uri.desktop    |   9 ++
 contrib/packages/arch/gnunet/gnunet-user.conf      |   3 +
 contrib/packages/arch/gnunet/gnunet-user.service   |  10 ++
 contrib/packages/arch/gnunet/gnunet.install        |  54 +++++++++
 contrib/packages/arch/gnunet/gnunet.sysusers       |   3 +
 contrib/packages/arch/gnunet/gnunet.tmpfiles       |   9 ++
 19 files changed, 616 insertions(+), 5 deletions(-)

diff --git a/contrib/Makefile.am b/contrib/Makefile.am
index e05e9caf9..801eacecf 100644
--- a/contrib/Makefile.am
+++ b/contrib/Makefile.am
@@ -42,9 +42,6 @@ INITD_FILES = \
   services/openrc/gnunet.initd
 
 PACKAGES_FILES = \
-  packages/guix/guix-env-py2.scm \
-  packages/guix/guix-env-gillmann.scm \
-  packages/guix/notest-guix-env.scm \
   packages/alpine/gnunet-gtk/APKBUILD \
   packages/alpine/gnurl/APKBUILD \
   packages/alpine/gnunet/gnunet-user-services.initd \
@@ -57,9 +54,30 @@ PACKAGES_FILES = \
   packages/alpine/gnunet/gnunet.pre-install \
   packages/alpine/gnunet/gnunet-system-services.initd \
   packages/alpine/gnunet/gnunet-gns-proxy.initd \
+  packages/arch/gnunet-git/gnunet.install \
+  packages/arch/gnunet-git/gnunet-system.service \
+  packages/arch/gnunet-git/gnunet.sysusers \
+  packages/arch/gnunet-git/gnunet.tmpfiles \
+  packages/arch/gnunet-git/gnunet-uri.desktop \
+  packages/arch/gnunet-git/gnunet-user.conf \
+  packages/arch/gnunet-git/gnunet-user.service \
+  packages/arch/gnunet-git/PKGBUILD \
+  packages/arch/gnunet-git/.SRCINFO \
+  packages/arch/gnunet/gnunet.install \
+  packages/arch/gnunet/gnunet-system.service \
+  packages/arch/gnunet/gnunet.sysusers \
+  packages/arch/gnunet/gnunet.tmpfiles \
+  packages/arch/gnunet/gnunet-uri.desktop \
+  packages/arch/gnunet/gnunet-user.conf \
+  packages/arch/gnunet/gnunet-user.service \
+  packages/arch/gnunet/PKGBUILD \
+  packages/arch/gnunet/.SRCINFO \
+  packages/guix/guix-env-py2.scm \
+  packages/guix/guix-env-gillmann.scm \
+  packages/guix/notest-guix-env.scm \
+  packages/homebrew/gnunet.rb \
   packages/nix/gnunet-dev.nix \
-  packages/nix/default.nix \
-  packages/homebrew/gnunet.rb
+  packages/nix/default.nix
 
 EXTRA_DIST = \
   sounds/vonlynX-bdbAm-lo.wav \
diff --git a/contrib/packages/arch/gnunet-git/.SRCINFO 
b/contrib/packages/arch/gnunet-git/.SRCINFO
new file mode 100644
index 000000000..d73829db6
--- /dev/null
+++ b/contrib/packages/arch/gnunet-git/.SRCINFO
@@ -0,0 +1,73 @@
+pkgbase = gnunet-git
+       pkgdesc = A framework for secure peer-to-peer networking
+       pkgver = 0.17.0.r0.g0a9c2aa9d
+       pkgrel = 1
+       url = http://gnunet.org
+       install = gnunet.install
+       arch = i686
+       arch = x86_64
+       license = AGPL
+       makedepends = bluez-libs
+       makedepends = gettext
+       makedepends = git
+       makedepends = libpulse
+       makedepends = libtool
+       makedepends = opus
+       makedepends = pkgconfig
+       makedepends = postgresql
+       makedepends = python
+       makedepends = recutils
+       depends = brotli
+       depends = gettext
+       depends = gnurl
+       depends = gnutls
+       depends = iptables
+       depends = jansson
+       depends = libextractor
+       depends = libgcrypt
+       depends = libidn2
+       depends = libmicrohttpd
+       depends = libsodium
+       depends = libtool
+       depends = libunistring
+       depends = nss
+       depends = openssl
+       depends = sqlite
+       depends = which
+       depends = zlib
+       optdepends = bluez: for bluetooth transport
+       optdepends = gnunet-gtk: for handling the gnunet:// URI scheme
+       optdepends = libgabe: for Attribute-Based Encryption
+       optdepends = libogg: for conversation service
+       optdepends = libpabc: for re:claimID zero-knowledge privacy credentials
+       optdepends = libpulse: for conversation service
+       optdepends = miniupnpc: for NAT uPnP support
+       optdepends = mysql: for an alternative to sqlite in the database plugin
+       optdepends = opus: for conversation service
+       optdepends = pbc: for Attribute-Based Encryption
+       optdepends = postgresql: for an alternative to sqlite in the database 
plugin
+       optdepends = python: for test suite
+       optdepends = texi2mdoc: for automatic mdoc generation
+       optdepends = texinfo: for building the documentation
+       optdepends = texlive-core: for generating GNS business cards via 
gnunet-bcd
+       optdepends = zbar: for reading/writing QR codes using gnunet-qr
+       provides = gnunet
+       conflicts = gnunet
+       conflicts = gnunet-bin
+       backup = etc/gnunet.conf
+       source = git+https://git.gnunet.org/gnunet.git
+       source = gnunet-system.service
+       source = gnunet.sysusers
+       source = gnunet.tmpfiles
+       source = gnunet-uri.desktop
+       source = gnunet-user.conf
+       source = gnunet-user.service
+       sha256sums = SKIP
+       sha256sums = 
163818b89beddcaf78937daba5bdf0ae060b2975de0731aa13d1ccdd813cf262
+       sha256sums = 
66299dbbdd0219d2f5f0520e69fc094f38f789724d973c2f63a421257ea4f755
+       sha256sums = 
5c34e1ecc6208900426f8e399e8c3edbef12cce19eba605fd7364ddb3547d9f0
+       sha256sums = 
98e4e1d6d4fd7c7fd05d9e16402c95f1e7afeb4b97c8c68ac63e8abd11ff4ee7
+       sha256sums = 
3f17b9ed2c1f8cc0f919fe477df99678c17778a31f1eeb56517e285e3cef30f2
+       sha256sums = 
60caee20b53bcc69522556b35ac3d35d89e28c49b9a22a2ed5121df4a2c33be5
+
+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..bb4d3598d
--- /dev/null
+++ b/contrib/packages/arch/gnunet-git/PKGBUILD
@@ -0,0 +1,128 @@
+# Maintainer: grufo <madmurphy333 AT gmail DOT com>
+# Contributor: redfish <redfish AT galactica DOT pw>
+# Contributor: kertase <kertase AT gmail DOT com>
+# Contributor: Sergej Pupykin <pupykin DOT s+arch AT gmail.com>
+# Contributor: wahnby <wahnby AT yahoo DOT fr>
+
+_appname='gnunet'
+pkgname="${_appname}-git"
+pkgver=0.17.0.r0.g0a9c2aa9d
+pkgrel=1
+pkgdesc='A framework for secure peer-to-peer networking'
+arch=('i686' 'x86_64')
+url="http://${_appname}.org";
+license=('AGPL')
+conflicts=("${_appname}" "${_appname}-bin")
+provides=("${_appname}")
+depends=('brotli' 'gettext' 'gnurl' 'gnutls' 'iptables' 'jansson'
+         'libextractor' 'libgcrypt' 'libidn2' 'libmicrohttpd' 'libsodium'
+         'libtool' 'libunistring' 'nss' 'openssl' 'sqlite' 'which' 'zlib')
+makedepends=('bluez-libs' 'gettext' 'git' 'libpulse' 'libtool' 'opus'
+             'pkgconfig' 'postgresql' 'python' 'recutils')
+optdepends=('bluez: for bluetooth transport'
+            'gnunet-gtk: for handling the gnunet:// URI scheme'
+            'libgabe: for Attribute-Based Encryption'
+           'libogg: for conversation service'
+            'libpabc: for re:claimID zero-knowledge privacy credentials'
+           'libpulse: for conversation service'
+            'miniupnpc: for NAT uPnP support'
+            'mysql: for an alternative to sqlite in the database plugin'
+           'opus: for conversation service'
+            'pbc: for Attribute-Based Encryption'
+            'postgresql: for an alternative to sqlite in the database plugin'
+            'python: for test suite'
+            'texi2mdoc: for automatic mdoc generation'
+            'texinfo: for building the documentation'
+            'texlive-core: for generating GNS business cards via gnunet-bcd'
+            'zbar: for reading/writing QR codes using gnunet-qr')
+backup=("etc/${_appname}.conf")
+source=("git+https://git.${_appname}.org/${_appname}.git";
+        "${_appname}-system.service"
+        "${_appname}.sysusers"
+        "${_appname}.tmpfiles"
+        "${_appname}-uri.desktop"
+        "${_appname}-user.conf"
+        "${_appname}-user.service")
+install="${_appname}.install"
+sha256sums=('SKIP'
+            '163818b89beddcaf78937daba5bdf0ae060b2975de0731aa13d1ccdd813cf262'
+            '66299dbbdd0219d2f5f0520e69fc094f38f789724d973c2f63a421257ea4f755'
+            '5c34e1ecc6208900426f8e399e8c3edbef12cce19eba605fd7364ddb3547d9f0'
+            '98e4e1d6d4fd7c7fd05d9e16402c95f1e7afeb4b97c8c68ac63e8abd11ff4ee7'
+            '3f17b9ed2c1f8cc0f919fe477df99678c17778a31f1eeb56517e285e3cef30f2'
+            '60caee20b53bcc69522556b35ac3d35d89e28c49b9a22a2ed5121df4a2c33be5')
+
+pkgver() {
+
+       cd "${_appname}" > /dev/null 2>&1
+       git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
+
+}
+
+prepare() {
+
+       cd "${srcdir}/${_appname}"
+
+       export GNUNET_PREFIX='/usr/lib'
+       ./bootstrap
+
+}
+
+build() {
+
+       cd "${srcdir}/${_appname}"
+
+       ./configure --prefix='/usr' --enable-experimental
+       make
+       make -C contrib
+
+}
+
+package() {
+
+       cd "${srcdir}/${_appname}"
+
+       make DESTDIR="${pkgdir}" install
+       make DESTDIR="${pkgdir}" -C contrib install
+
+       install -dm755 "${pkgdir}/usr/lib/systemd/system"
+       install -Dm644 "${srcdir}/${_appname}-system.service" \
+               "${pkgdir}/usr/lib/systemd/system/${_appname}.service"
+
+       install -dm755 "${pkgdir}/usr/lib/systemd/user"
+       install -Dm644 "${srcdir}/${_appname}-user.service" \
+               "${pkgdir}/usr/lib/systemd/user/${_appname}.service"
+
+       install -dm755 "${pkgdir}/usr/lib/sysusers.d"
+       install -Dm644 "${srcdir}/${_appname}.sysusers" \
+               "${pkgdir}/usr/lib/sysusers.d/${_appname}.conf"
+
+       install -dm755 "${pkgdir}/usr/lib/tmpfiles.d"
+       install -Dm644 "${srcdir}/${_appname}.tmpfiles" \
+               "${pkgdir}/usr/lib/tmpfiles.d/${_appname}.conf"
+
+       install -dm755 "${pkgdir}/usr/share/applications"
+       install -Dm644 "${srcdir}/${_appname}-uri.desktop" \
+               "${pkgdir}/usr/share/applications/${_appname}-uri.desktop"
+
+       install -dm700 "${pkgdir}/etc/skel/.config"
+       install -Dm600 "${srcdir}/${_appname}-user.conf" \
+               "${pkgdir}/etc/skel/.config/${_appname}.conf"
+
+       # Automatically generate a configuration file using the content of
+       # `/usr/share/gnunet/config.d/` as model; in this way we can ensure
+       # that this configuration file is the one backed up with each update,
+       # while `/usr/share/gnunet/config.d/` is kept as immutable default
+       # configuration.
+
+       install -dm755 "${pkgdir}/etc"
+
+       {
+               echo "# /etc/${_appname}.conf"
+               (cd "${pkgdir}" > /dev/null 2>&1 && find 
"usr/share/${_appname}/config.d" -type f -name '*.conf' \
+                       -printf '\n\n# For the default values of the the 
following lines please refer to\n# /%p\n\n' \
+                       -exec cat '{}' ';')
+       } > "${pkgdir}/etc/${_appname}.conf"
+
+}
+
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 @@
+[Unit]
+Description=GNUnet system service
+After=network.target
+
+[Service]
+Type=simple
+User=gnunet
+ExecStart=/usr/lib/gnunet/libexec/gnunet-service-arm -c /etc/gnunet.conf
+StateDirectory=gnunet
+StateDirectoryMode=0700
+
+[Install]
+WantedBy=multi-user.target
diff --git a/contrib/packages/arch/gnunet-git/gnunet-uri.desktop 
b/contrib/packages/arch/gnunet-git/gnunet-uri.desktop
new file mode 100644
index 000000000..4f847d20f
--- /dev/null
+++ b/contrib/packages/arch/gnunet-git/gnunet-uri.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=GNUnet URI
+Exec=gnunet-uri %u
+GenericName=URI handler for the GNUnet network
+Icon=gnunet
+Type=Application
+Terminal=false
+NoDisplay=true
+MimeType=x-scheme-handler/gnunet;
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 @@
+[arm]
+START_SYSTEM_SERVICES = NO
+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 @@
+[Unit]
+Description=GNUnet user service
+After=network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/lib/gnunet/libexec/gnunet-service-arm -c ~/.config/gnunet.conf
+
+[Install]
+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 @@
+post_install() {
+
+       local _PWD_PAIRS_="$(awk -F ':' '$3>=1000 && $3<2000 {print $1":"$6}' 
'/etc/passwd')"
+       local _USER_
+       local _GROUP_
+       local _CFG_DIR_
+
+       for _PWD_PAIR_ in ${_PWD_PAIRS_}; do
+               _USER_="$(echo $_PWD_PAIR_ | cut -d ':' -f 1)"
+               _GROUP_="$(id -gn "${_USER_}")"
+               _CFG_DIR_="$(echo $_PWD_PAIR_ | cut -d ':' -f 2)/.config"
+               test -e "${_CFG_DIR_}/gnunet.conf" || (install -dm700 -o \
+                       "${_USER_}" -g "${_GROUP_}" "${_CFG_DIR_}" && install \
+                       -Dm600 -o "${_USER_}" -g "${_GROUP_}" \
+                       '/etc/skel/.config/gnunet.conf' \
+                       "${_CFG_DIR_}/gnunet.conf")
+       done
+
+       echo
+       echo 'Do not forget to add your user to the `gnunet` group, with'
+       echo
+       echo '    sudo usermod -aG gnunet "$(whoami)"'
+       echo
+       echo 'If later you want to remove your user from the group, launch'
+       echo
+       echo '    sudo gpasswd --delete "$(whoami)" gnunet'
+       echo
+       echo 'For information on how to use GNUnet plaese refer to the GNUnet 
article in the'
+       echo 'ArchWiki (https://wiki.archlinux.org/title/GNUnet).'
+       echo
+
+}
+
+post_remove() {
+
+       echo
+       echo 'The home directory of the `gnunet` user (`/var/lib/gnunet/`) is 
left after'
+       echo 'uninstalling GNUnet. If you are sure that you are never going to 
use GNUnet'
+       echo 'ever again, launch:'
+       echo
+       echo '    for username in $(getent group gnunet | cut -d: -f4 | tr 
'\'','\'' '\'' '\''); do \'
+       echo '        sudo gpasswd --delete "${username}" gnunet; done'
+       echo '    sudo userdel -r gnunet'
+       echo '    sudo groupdel gnunetdns'
+       echo
+       echo '**Warning** The identity and all the information about the 
network'
+       echo 'cumulatively stored by the current peer will be destroyed - this 
will not'
+       echo 'affect files explicitly downloaded in other paths.'
+       echo
+       echo 'For further information plaese refer to the GNUnet article in the 
ArchWiki'
+       echo '(https://wiki.archlinux.org/title/GNUnet).'
+       echo
+
+}
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 @@
+g gnunet -
+u gnunet - "GNUnet system account" /var/lib/gnunet
+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 @@
+d /var/lib/gnunet 0700 gnunet gnunet - -
+z /usr/lib/gnunet/libexec/gnunet-helper-dns 4750 root gnunetdns - -
+z /usr/lib/gnunet/libexec/gnunet-helper-exit 4755 root root - -
+z /usr/lib/gnunet/libexec/gnunet-helper-nat-client 4755 root root - -
+z /usr/lib/gnunet/libexec/gnunet-helper-nat-server 4755 root root - -
+z /usr/lib/gnunet/libexec/gnunet-helper-transport-bluetooth 4755 root root - -
+z /usr/lib/gnunet/libexec/gnunet-helper-transport-wlan 4755 root root - -
+z /usr/lib/gnunet/libexec/gnunet-helper-vpn 4755 root root - -
+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..438f91230
--- /dev/null
+++ b/contrib/packages/arch/gnunet/.SRCINFO
@@ -0,0 +1,72 @@
+pkgbase = gnunet
+       pkgdesc = A framework for secure peer-to-peer networking
+       pkgver = 0.17.0
+       pkgrel = 1
+       url = http://gnunet.org
+       install = gnunet.install
+       arch = i686
+       arch = x86_64
+       license = AGPL
+       makedepends = bluez-libs
+       makedepends = libpulse
+       makedepends = libtool
+       makedepends = opus
+       makedepends = pkgconfig
+       makedepends = postgresql
+       makedepends = python
+       depends = brotli
+       depends = gettext
+       depends = gnurl
+       depends = gnutls
+       depends = iptables
+       depends = jansson
+       depends = libextractor
+       depends = libgcrypt
+       depends = libidn2
+       depends = libmicrohttpd
+       depends = libsodium
+       depends = libtool
+       depends = libunistring
+       depends = nss
+       depends = openssl
+       depends = sqlite
+       depends = which
+       depends = zlib
+       optdepends = bluez: for bluetooth transport
+       optdepends = gnunet-gtk: for handling the gnunet:// URI scheme
+       optdepends = libgabe: for Attribute-Based Encryption
+       optdepends = libogg: for conversation service
+       optdepends = libpabc: for re:claimID zero-knowledge privacy credentials
+       optdepends = libpulse: for conversation service
+       optdepends = miniupnpc: for NAT uPnP support
+       optdepends = mysql: for an alternative to sqlite in the database plugin
+       optdepends = opus: for conversation service
+       optdepends = pbc: for Attribute-Based Encryption
+       optdepends = postgresql: for an alternative to sqlite in the database 
plugin
+       optdepends = python: for test suite
+       optdepends = texi2mdoc: for automatic mdoc generation
+       optdepends = texinfo: for building the documentation
+       optdepends = texlive-core: for generating GNS business cards via 
gnunet-bcd
+       optdepends = zbar: for reading/writing QR codes using gnunet-qr
+       conflicts = gnunet-git
+       conflicts = gnunet-bin
+       backup = etc/gnunet.conf
+       source = ftp://ftp.gnu.org/gnu/gnunet/gnunet-0.17.0.tar.gz
+       source = ftp://ftp.gnu.org/gnu/gnunet/gnunet-0.17.0.tar.gz.sig
+       source = gnunet-system.service
+       source = gnunet.sysusers
+       source = gnunet.tmpfiles
+       source = gnunet-uri.desktop
+       source = gnunet-user.conf
+       source = gnunet-user.service
+       validpgpkeys = 3D11063C10F98D14BD24D1470B0998EF86F59B6A
+       sha256sums = 
6b2f7bf34c3c3986f2c294f04e881dda9db8ef636c0e78ebcf8084b8a47d49ca
+       sha256sums = SKIP
+       sha256sums = 
163818b89beddcaf78937daba5bdf0ae060b2975de0731aa13d1ccdd813cf262
+       sha256sums = 
66299dbbdd0219d2f5f0520e69fc094f38f789724d973c2f63a421257ea4f755
+       sha256sums = 
5c34e1ecc6208900426f8e399e8c3edbef12cce19eba605fd7364ddb3547d9f0
+       sha256sums = 
98e4e1d6d4fd7c7fd05d9e16402c95f1e7afeb4b97c8c68ac63e8abd11ff4ee7
+       sha256sums = 
3f17b9ed2c1f8cc0f919fe477df99678c17778a31f1eeb56517e285e3cef30f2
+       sha256sums = 
60caee20b53bcc69522556b35ac3d35d89e28c49b9a22a2ed5121df4a2c33be5
+
+pkgname = gnunet
diff --git a/contrib/packages/arch/gnunet/PKGBUILD 
b/contrib/packages/arch/gnunet/PKGBUILD
new file mode 100644
index 000000000..2dfcdd6ec
--- /dev/null
+++ b/contrib/packages/arch/gnunet/PKGBUILD
@@ -0,0 +1,118 @@
+# Maintainer: grufo <madmurphy333 AT gmail DOT com>
+# Contributor: redfish <redfish AT galactica DOT pw>
+# Contributor: kertase <kertase AT gmail DOT com>
+# Contributor: Sergej Pupykin <pupykin DOT s+arch AT gmail.com>
+# Contributor: wahnby <wahnby AT yahoo DOT fr>
+
+pkgname='gnunet'
+pkgver='0.17.0'
+pkgrel=1
+pkgdesc='A framework for secure peer-to-peer networking'
+arch=('i686' 'x86_64')
+url="http://${pkgname}.org";
+license=('AGPL')
+conflicts=("${pkgname}-git" "${pkgname}-bin")
+depends=('brotli' 'gettext' 'gnurl' 'gnutls' 'iptables' 'jansson'
+         'libextractor' 'libgcrypt' 'libidn2' 'libmicrohttpd' 'libsodium'
+         'libtool' 'libunistring' 'nss' 'openssl' 'sqlite' 'which' 'zlib')
+makedepends=('bluez-libs' 'libpulse' 'libtool' 'opus' 'pkgconfig' 'postgresql'
+             'python')
+optdepends=('bluez: for bluetooth transport'
+            'gnunet-gtk: for handling the gnunet:// URI scheme'
+            'libgabe: for Attribute-Based Encryption'
+           'libogg: for conversation service'
+            'libpabc: for re:claimID zero-knowledge privacy credentials'
+           'libpulse: for conversation service'
+            'miniupnpc: for NAT uPnP support'
+            'mysql: for an alternative to sqlite in the database plugin'
+           'opus: for conversation service'
+            'pbc: for Attribute-Based Encryption'
+            'postgresql: for an alternative to sqlite in the database plugin'
+            'python: for test suite'
+            'texi2mdoc: for automatic mdoc generation'
+            'texinfo: for building the documentation'
+            'texlive-core: for generating GNS business cards via gnunet-bcd'
+            'zbar: for reading/writing QR codes using gnunet-qr')
+backup=("etc/${pkgname}.conf")
+source=("ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig}
+        "${pkgname}-system.service"
+        "${pkgname}.sysusers"
+        "${pkgname}.tmpfiles"
+        "${pkgname}-uri.desktop"
+        "${pkgname}-user.conf"
+        "${pkgname}-user.service")
+install="${pkgname}.install"
+validpgpkeys=('3D11063C10F98D14BD24D1470B0998EF86F59B6A')
+sha256sums=('6b2f7bf34c3c3986f2c294f04e881dda9db8ef636c0e78ebcf8084b8a47d49ca'
+            'SKIP'
+            '163818b89beddcaf78937daba5bdf0ae060b2975de0731aa13d1ccdd813cf262'
+            '66299dbbdd0219d2f5f0520e69fc094f38f789724d973c2f63a421257ea4f755'
+            '5c34e1ecc6208900426f8e399e8c3edbef12cce19eba605fd7364ddb3547d9f0'
+            '98e4e1d6d4fd7c7fd05d9e16402c95f1e7afeb4b97c8c68ac63e8abd11ff4ee7'
+            '3f17b9ed2c1f8cc0f919fe477df99678c17778a31f1eeb56517e285e3cef30f2'
+            '60caee20b53bcc69522556b35ac3d35d89e28c49b9a22a2ed5121df4a2c33be5')
+
+prepare() {
+
+       cd "${srcdir}/${pkgname}-${pkgver}"
+
+       export GNUNET_PREFIX='/usr/lib'
+       autoreconf -i
+
+}
+
+build() {
+
+       cd "${srcdir}/${pkgname}-${pkgver}"
+
+       ./configure --prefix='/usr' --enable-experimental
+       make
+
+}
+
+package() {
+
+       cd "${srcdir}/${pkgname}-${pkgver}"
+
+       make DESTDIR="${pkgdir}" install
+
+       install -dm755 "${pkgdir}/usr/lib/systemd/system"
+       install -Dm644 "${srcdir}/${pkgname}-system.service" \
+               "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
+
+       install -dm755 "${pkgdir}/usr/lib/systemd/user"
+       install -Dm644 "${srcdir}/${pkgname}-user.service" \
+               "${pkgdir}/usr/lib/systemd/user/${pkgname}.service"
+
+       install -dm755 "${pkgdir}/usr/lib/sysusers.d"
+       install -Dm644 "${srcdir}/${pkgname}.sysusers" \
+               "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
+
+       install -dm755 "${pkgdir}/usr/lib/tmpfiles.d"
+       install -Dm644 "${srcdir}/${pkgname}.tmpfiles" \
+               "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
+
+       install -dm755 "${pkgdir}/usr/share/applications"
+       install -Dm644 "${srcdir}/${pkgname}-uri.desktop" \
+               "${pkgdir}/usr/share/applications/${pkgname}-uri.desktop"
+
+       install -dm700 "${pkgdir}/etc/skel/.config"
+       install -Dm600 "${srcdir}/${pkgname}-user.conf" \
+               "${pkgdir}/etc/skel/.config/${pkgname}.conf"
+
+       # Automatically generate a configuration file using the content of
+       # `/usr/share/gnunet/config.d/` as model; in this way we can ensure
+       # that this configuration file is the one backed up with each update,
+       # while `/usr/share/gnunet/config.d/` is kept as immutable default
+       # configuration.
+
+       install -dm755 "${pkgdir}/etc"
+
+       {
+               echo "# /etc/${pkgname}.conf"
+               (cd "${pkgdir}" > /dev/null 2>&1 && find 
"usr/share/${pkgname}/config.d" -type f -name '*.conf' \
+                       -printf '\n\n# For the default values of the the 
following lines please refer to\n# /%p\n\n' \
+                       -exec cat '{}' ';')
+       } > "${pkgdir}/etc/${pkgname}.conf"
+
+}
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 @@
+[Unit]
+Description=GNUnet system service
+After=network.target
+
+[Service]
+Type=simple
+User=gnunet
+ExecStart=/usr/lib/gnunet/libexec/gnunet-service-arm -c /etc/gnunet.conf
+StateDirectory=gnunet
+StateDirectoryMode=0700
+
+[Install]
+WantedBy=multi-user.target
diff --git a/contrib/packages/arch/gnunet/gnunet-uri.desktop 
b/contrib/packages/arch/gnunet/gnunet-uri.desktop
new file mode 100644
index 000000000..4f847d20f
--- /dev/null
+++ b/contrib/packages/arch/gnunet/gnunet-uri.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=GNUnet URI
+Exec=gnunet-uri %u
+GenericName=URI handler for the GNUnet network
+Icon=gnunet
+Type=Application
+Terminal=false
+NoDisplay=true
+MimeType=x-scheme-handler/gnunet;
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 @@
+[arm]
+START_SYSTEM_SERVICES = NO
+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 @@
+[Unit]
+Description=GNUnet user service
+After=network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/lib/gnunet/libexec/gnunet-service-arm -c ~/.config/gnunet.conf
+
+[Install]
+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 @@
+post_install() {
+
+       local _PWD_PAIRS_="$(awk -F ':' '$3>=1000 && $3<2000 {print $1":"$6}' 
'/etc/passwd')"
+       local _USER_
+       local _GROUP_
+       local _CFG_DIR_
+
+       for _PWD_PAIR_ in ${_PWD_PAIRS_}; do
+               _USER_="$(echo $_PWD_PAIR_ | cut -d ':' -f 1)"
+               _GROUP_="$(id -gn "${_USER_}")"
+               _CFG_DIR_="$(echo $_PWD_PAIR_ | cut -d ':' -f 2)/.config"
+               test -e "${_CFG_DIR_}/gnunet.conf" || (install -dm700 -o \
+                       "${_USER_}" -g "${_GROUP_}" "${_CFG_DIR_}" && install \
+                       -Dm600 -o "${_USER_}" -g "${_GROUP_}" \
+                       '/etc/skel/.config/gnunet.conf' \
+                       "${_CFG_DIR_}/gnunet.conf")
+       done
+
+       echo
+       echo 'Do not forget to add your user to the `gnunet` group, with'
+       echo
+       echo '    sudo usermod -aG gnunet "$(whoami)"'
+       echo
+       echo 'If later you want to remove your user from the group, launch'
+       echo
+       echo '    sudo gpasswd --delete "$(whoami)" gnunet'
+       echo
+       echo 'For information on how to use GNUnet plaese refer to the GNUnet 
article in the'
+       echo 'ArchWiki (https://wiki.archlinux.org/title/GNUnet).'
+       echo
+
+}
+
+post_remove() {
+
+       echo
+       echo 'The home directory of the `gnunet` user (`/var/lib/gnunet/`) is 
left after'
+       echo 'uninstalling GNUnet. If you are sure that you are never going to 
use GNUnet'
+       echo 'ever again, launch:'
+       echo
+       echo '    for username in $(getent group gnunet | cut -d: -f4 | tr 
'\'','\'' '\'' '\''); do \'
+       echo '        sudo gpasswd --delete "${username}" gnunet; done'
+       echo '    sudo userdel -r gnunet'
+       echo '    sudo groupdel gnunetdns'
+       echo
+       echo '**Warning** The identity and all the information about the 
network'
+       echo 'cumulatively stored by the current peer will be destroyed - this 
will not'
+       echo 'affect files explicitly downloaded in other paths.'
+       echo
+       echo 'For further information plaese refer to the GNUnet article in the 
ArchWiki'
+       echo '(https://wiki.archlinux.org/title/GNUnet).'
+       echo
+
+}
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 @@
+g gnunet -
+u gnunet - "GNUnet system account" /var/lib/gnunet
+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 @@
+d /var/lib/gnunet 0700 gnunet gnunet - -
+z /usr/lib/gnunet/libexec/gnunet-helper-dns 4750 root gnunetdns - -
+z /usr/lib/gnunet/libexec/gnunet-helper-exit 4755 root root - -
+z /usr/lib/gnunet/libexec/gnunet-helper-nat-client 4755 root root - -
+z /usr/lib/gnunet/libexec/gnunet-helper-nat-server 4755 root root - -
+z /usr/lib/gnunet/libexec/gnunet-helper-transport-bluetooth 4755 root root - -
+z /usr/lib/gnunet/libexec/gnunet-helper-transport-wlan 4755 root root - -
+z /usr/lib/gnunet/libexec/gnunet-helper-vpn 4755 root root - -
+z /usr/lib/gnunet/libexec/gnunet-service-dns 2750 gnunet gnunetdns - -

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]