move contrib/alpine to contrib/packages/alpine
authorng0 <ng0@n0.is>
Thu, 24 Oct 2019 10:22:49 +0000 (10:22 +0000)
committerng0 <ng0@n0.is>
Thu, 24 Oct 2019 10:22:49 +0000 (10:22 +0000)
24 files changed:
contrib/alpine/gnunet-gtk/APKBUILD [deleted file]
contrib/alpine/gnunet/APKBUILD [deleted file]
contrib/alpine/gnunet/gnunet-system-services.initd [deleted file]
contrib/alpine/gnunet/gnunet-system.conf [deleted file]
contrib/alpine/gnunet/gnunet-user-services.initd [deleted file]
contrib/alpine/gnunet/gnunet-user.conf [deleted file]
contrib/alpine/gnunet/gnunet.post-deinstall [deleted file]
contrib/alpine/gnunet/gnunet.post-install [deleted file]
contrib/alpine/gnunet/gnunet.pre-deinstall [deleted file]
contrib/alpine/gnunet/gnunet.pre-install [deleted file]
contrib/alpine/gnunet/gnunet.xsession [deleted file]
contrib/alpine/gnurl/APKBUILD [deleted file]
contrib/packages/alpine/gnunet-gtk/APKBUILD [new file with mode: 0644]
contrib/packages/alpine/gnunet/APKBUILD [new file with mode: 0644]
contrib/packages/alpine/gnunet/gnunet-system-services.initd [new file with mode: 0644]
contrib/packages/alpine/gnunet/gnunet-system.conf [new file with mode: 0644]
contrib/packages/alpine/gnunet/gnunet-user-services.initd [new file with mode: 0644]
contrib/packages/alpine/gnunet/gnunet-user.conf [new file with mode: 0644]
contrib/packages/alpine/gnunet/gnunet.post-deinstall [new file with mode: 0644]
contrib/packages/alpine/gnunet/gnunet.post-install [new file with mode: 0644]
contrib/packages/alpine/gnunet/gnunet.pre-deinstall [new file with mode: 0644]
contrib/packages/alpine/gnunet/gnunet.pre-install [new file with mode: 0644]
contrib/packages/alpine/gnunet/gnunet.xsession [new file with mode: 0644]
contrib/packages/alpine/gnurl/APKBUILD [new file with mode: 0644]

diff --git a/contrib/alpine/gnunet-gtk/APKBUILD b/contrib/alpine/gnunet-gtk/APKBUILD
deleted file mode 100644 (file)
index 75ccadb..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: xrs <xrs@mail36.net>
-# Maintainer: xrs <xrs@mail36.net>
-pkgname=gnunet-gtk
-pkgver=0.11.5
-pkgrel=0
-pkgdesc="Graphical user interface for GNUnet"
-url="https://gnunet.org"
-arch="all"
-license="GPL-3.0"
-depends="gnunet gtk+3.0 glade"
-makedepends="gnunet-dev gtk+3.0-dev glade-dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://mirrors.ocf.berkeley.edu/gnu/gnunet/gnunet-gtk-$pkgver.tar.gz"
-options="!check" # The GNUnet project lacks a good CI at the moment.
-
-build() {
-       ./configure \
-               --build=$CBUILD \
-               --host=$CHOST \
-               --prefix=/usr \
-               --sysconfdir=/etc \
-               --mandir=/usr/share/man \
-               --localstatedir=/var \
-               --disable-fs-app \
-               --disable-conversation-app
-       make
-}
-
-check() {
-       make DESTDIR="$pkgdir" check
-       exit 0
-}
-
-package() {
-       make DESTDIR="$pkgdir" install
-}
-
-sha512sums="8cd5bcadba070396b9b9b4849678bda362ba274f7d8e0c4dfc0bd793ac103a8a94949a472d992c90f21ddb7db16b14ea23a199acd4cf2e52f985e15205d2f5a9  gnunet-gtk-0.11.5.tar.gz"
diff --git a/contrib/alpine/gnunet/APKBUILD b/contrib/alpine/gnunet/APKBUILD
deleted file mode 100644 (file)
index da2b2de..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-# Contributor: xrs <xrs@mail36.net>
-# Maintainer: xrs <xrs@mail36.net>
-pkgname=gnunet
-pkgver=0.11.6
-pkgrel=0
-pkgdesc="A framework for secure and privacy enhancing peer-to-peer networking"
-url="https://gnunet.org"
-arch="all"
-license="AGPL-3.0"
-depends="libgpg-error libgcrypt nettle unbound-libs gnutls gnutls-utils gnurl
-       libgnurl libmicrohttpd openssl libunistring libidn2 nss sqlite zlib
-       miniupnpc gmp gettext bash which iptables coreutils sudo"
-depends_dev="libgpg-error-dev libgcrypt-dev nettle-dev unbound-dev gnutls-dev
-       gnurl-dev libmicrohttpd-dev openssl-dev libunistring-dev libidn2-dev
-       nss-dev sqlite-dev zlib-dev miniupnpc-dev gmp-dev gettext"
-makedepends="$depends_dev autoconf automake libtool gettext-dev python3
-       texlive texinfo"
-install="$pkgname.pre-install $pkgname.post-install $pkgname.pre-deinstall"
-pkgusers="gnunet"
-pkggroups="gnunet gnunetdns"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
-options="!check suid" # No check because The GNUnet project lacks a good CI at the moment.
-source="https://mirrors.ocf.berkeley.edu/gnu/gnunet/gnunet-$pkgver.tar.gz
-       gnunet-system.conf
-       gnunet-user.conf
-       gnunet-system-services.initd
-       gnunet-user-services.initd
-       gnunet.xsession
-       "
-
-prepare() {
-       default_prepare
-       autoreconf -if # FIXME: See https://bugs.gnunet.org/view.php?id=5902
-}
-
-build() {
-       ./configure \
-               --build=$CBUILD \
-               --host=$CHOST \
-               --prefix=/usr \
-               --sysconfdir=/etc \
-               --mandir=/usr/share/man \
-               --localstatedir=/var \
-               --enable-logging=verbose
-       make
-}
-
-check() {
-       make DESTDIR="$pkgdir" check
-       exit 0
-}
-
-package() {
-       make DESTDIR="$pkgdir" install
-
-       libexecdir=$pkgdir/usr/lib/gnunet/libexec/
-       # Limit access to critical gnunet-helper-dns to group "gnunetdns"
-       chgrp gnunetdns $libexecdir/gnunet-helper-dns
-       chgrp gnunetdns $libexecdir/gnunet-service-dns
-       # Limit access to certain SUID binaries by group "gnunet"
-       chgrp gnunet    $libexecdir/gnunet-helper-exit
-       chgrp gnunet    $libexecdir/gnunet-helper-vpn
-       chgrp gnunet    $libexecdir/gnunet-helper-nat-client
-       chgrp gnunet    $libexecdir/gnunet-helper-nat-server
-       chmod u+s       $libexecdir/gnunet-helper-exit
-       chmod u+s       $libexecdir/gnunet-helper-vpn
-       chmod 2750      $libexecdir/gnunet-helper-dns
-       chmod 2700      $libexecdir/gnunet-service-dns
-       chmod u+s       $libexecdir/gnunet-helper-nat-client
-       chmod u+s       $libexecdir/gnunet-helper-nat-server
-
-       install -m644 -D $srcdir/$pkgname-user.conf \
-               $pkgdir/etc/skel/.config/$pkgname.conf
-       install -m644 -D $srcdir/$pkgname-system.conf \
-               $pkgdir/etc/$pkgname.conf
-       install -m755 -D $srcdir/$pkgname-system-services.initd \
-               $pkgdir/etc/init.d/$pkgname-system-services
-       install -m755 -D $srcdir/$pkgname-user-services.initd \
-               $pkgdir/etc/init.d/$pkgname-user-services
-       install -m755 -D $srcdir/$pkgname.xsession \
-               $pkgdir/etc/X11/xinit/xinitrc.d/80-$pkgname-user-services
-}
-
-dev() {
-       default_dev
-
-       # dev() will move gnunet-config from $pkg to $pkg-dev, but it's an
-       # intended part of $pkg.
-       install -m755 -D $builddir/src/util/.libs/gnunet-config \
-               $pkgdir/usr/bin/gnunet-config
-}
-
-sha512sums="1c6ea2ac7280d2edb30df627b79e017d199e93cd3970ce49f3f049abfb1dddfed541118e55766c422edf4a80e140c4eb2cfc681e0d4a1384e39811d024df9278  gnunet-0.11.6.tar.gz
-a0f55413ed2c6edd6746a751d92ddac95ba70f20eefb07330817870d749456448f44bba95d245911a00f6078e0c2ac626004e3b764be5e5e049c00626c4c5ac0  gnunet-system.conf
-b21112ff16aee771332aa9c33f55b0c7f46fe0266053543241e3efbe25dba56482c0e11112a192eefe59f1c74d2af5d7071b6a4e1e875cfc7e9d55b5fe8a0a33  gnunet-user.conf
-96ab78bb48d5fb10f0b34336ad05e73b543c4362c73436ef20b3bb83dff214e997acf38a2ea493b1901bdc37c8877d83cdaebd73a0e50831e2f23413c8edda76  gnunet-system-services.initd
-f67252e18c5fd701338653efe4cc14caae9213c1955f690cddec9fd7ad31a22680e931fbe908a1c5a78dc05094e547b2279f9a488f2ed80cc169590ad5ffa064  gnunet-user-services.initd
-839a081aca19b863f378db980e6447ad30c6c0ee72fac6e11c65e57e86886d675ebc61069e17f696b6ca868e8ce259cabf80feb90b04b23f3da3c628f7beb915  gnunet.xsession"
diff --git a/contrib/alpine/gnunet/gnunet-system-services.initd b/contrib/alpine/gnunet/gnunet-system-services.initd
deleted file mode 100644 (file)
index 19248d2..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/sbin/openrc-run
-# Contributor: xrs <xrs@mail36.net>
-# Maintainer: xrs <xrs@mail36.net>
-
-name="gnunet-system-service"
-description="A secure and privacy enhancing peer-to-peer overlay network"
-command="/usr/lib/gnunet/libexec/gnunet-service-arm"
-command_args="-c /etc/gnunet.conf"
-command_user="gnunet:gnunet"
-command_background="yes"
-pidfile="/run/${SVCNAME}.pid"
-
-depend() {
-       need net
-       before gnunet-user-services
-}
diff --git a/contrib/alpine/gnunet/gnunet-system.conf b/contrib/alpine/gnunet/gnunet-system.conf
deleted file mode 100644 (file)
index 303cf5f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-[arm]
-START_SYSTEM_SERVICES = YES
-START_USER_SERVICES = NO
diff --git a/contrib/alpine/gnunet/gnunet-user-services.initd b/contrib/alpine/gnunet/gnunet-user-services.initd
deleted file mode 100644 (file)
index 6c96094..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/sbin/openrc-run
-# Contributor: xrs <xrs@mail36.net>
-# Maintainer: xrs <xrs@mail36.net>
-
-name="gnunet-user-services"
-description="GNUnet user services"
-command_background="yes"
-pidfile="/run/${SVCNAME}.pid"
-users=`awk -F ':' '$3>=1000 && $3<2000 {print $1}' /etc/passwd`
-
-depend() {
-       need gnunet-system-services
-}
-
-start() {
-       for user in $users; do
-               if test -z "`ps|grep $user|grep gnunet-service-arm`" > /dev/null 2>&1
-               then
-                       sudo -u $user gnunet-arm \
-                               -c /home/$user/.config/gnunet.conf -s
-               fi
-       done
-}
-
-stop() {
-       for user in $users; do
-               if test -n "`ps|grep $user|grep gnunet-service-arm`" > /dev/null 2>&1
-               then
-                       sudo -u $user gnunet-arm \
-                               -c /home/$user/.config/gnunet.conf -e
-               fi
-       done
-}
diff --git a/contrib/alpine/gnunet/gnunet-user.conf b/contrib/alpine/gnunet/gnunet-user.conf
deleted file mode 100644 (file)
index 22f1fe3..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-[arm]
-START_SYSTEM_SERVICES = NO
-START_USER_SERVICES = YES
diff --git a/contrib/alpine/gnunet/gnunet.post-deinstall b/contrib/alpine/gnunet/gnunet.post-deinstall
deleted file mode 100644 (file)
index ab98ab5..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-deluser --remove-home gnunet # implicitly removes group gnunet
-delgroup gnunetdns
-
-exit 0
diff --git a/contrib/alpine/gnunet/gnunet.post-install b/contrib/alpine/gnunet/gnunet.post-install
deleted file mode 100644 (file)
index f7c19b2..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/sh
-
-# Enumerate users.
-users=`awk -F ':' '$3>=1000 && $3<2000 {print $1}' /etc/passwd`
-
-# Install gnunet.conf for existing users.
-for user in $users; do
-        install -m644 -o $user -g $user -D /etc/skel/.config/gnunet.conf \
-                /home/$user/.config/gnunet.conf
-done
-
-# Enable GNS proxy for users, if desired.
-echo "Use GNU Name System in Firefox/Chromium by default? [y,N]"
-read -r yn
-case $yn in
-y|Y )
-        # Enable GNS proxy for existant users.
-        for user in $users; do
-                port=$((8000+$(id -u $user)))
-                gnunet-config -c /home/$user/.config/gnunet.conf \
-                        --rewrite \
-                        --section=gns-proxy \
-                        --option=IMMEDIATE_START \
-                        --value=YES
-                gnunet-config -c /home/$user/.config/gnunet.conf \
-                        --rewrite \
-                        --section=gns-proxy \
-                        --option=OPTIONS \
-                        --value="-p $port"
-        done
-
-        # Enable GNS proxy for future users.
-        echo "[gns-proxy]" >> /etc/skel/.config/gnunet.conf
-        echo "IMMEDIATE_START = YES" >> /etc/skel/.config/gnunet.conf
-        ;;
-* )
-        ;;
-esac
-
-exit 0
diff --git a/contrib/alpine/gnunet/gnunet.pre-deinstall b/contrib/alpine/gnunet/gnunet.pre-deinstall
deleted file mode 100644 (file)
index 3334c6d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh
-
-# Remove proxy settings from browser.
-users=`awk -F ':' '$3>=1000 && $3<2000 {print $1}' /etc/passwd`
-for user in $users; do
-       gnunet_proxy=`grep -i "gns-proxy" /home/$user/.config/gnunet.conf`
-       if [ "$gnunet_proxy" ]; then
-               for ffprofile in /home/"$user"/.mozilla/firefox/*.*/; do
-                       # Reset proxy preferences
-                       js=$ffprofile/user.js
-                       if [ -f $js ]; then
-                               sed -i '/Preferences for using the GNU Name System/d' $js
-                               sed -i '/network.proxy.socks/d' $js
-                               sed -i '/network.proxy.socks_port/d' $js
-                               sed -i '/network.proxy.socks_remote_dns/d' $js
-                               sed -i '/network.proxy.type/d' $js
-                       fi
-               done
-
-               # Chromium
-               profile=/home/$user/.profile
-               if [ -f $profile ]; then
-                       sed -i '/CHROMIUM_USER_FLAGS/d' $profile
-               fi
-       fi
-done
-
-exit 0
diff --git a/contrib/alpine/gnunet/gnunet.pre-install b/contrib/alpine/gnunet/gnunet.pre-install
deleted file mode 100644 (file)
index bbb629c..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-# Add special group gnunetdns for controlling access to "gnunet-helper-dns".
-addgroup -S gnunetdns 2>/dev/null
-addgroup -S gnunet 2>/dev/null
-
-# Add system user/group gnunet for system services
-adduser -S -h "/var/lib/gnunet" -s /bin/sh \
-       -G gnunet -g gnunet gnunet 2>/dev/null
-
-# add users on host system to group "gnunet"
-users=`awk -F ':' '$3>=1000 && $3<2000 {print $1}' /etc/passwd`
-for user in $users; do
-       adduser $user gnunet 2>/dev/null
-done
-
-exit 0
diff --git a/contrib/alpine/gnunet/gnunet.xsession b/contrib/alpine/gnunet/gnunet.xsession
deleted file mode 100644 (file)
index f19d6ba..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/sh
-user=$(whoami)
-gnunet_proxy=$(gnunet-config -c /etc/skel/.config/gnunet.conf -s gns-proxy|grep 'IMMEDIATE_START = YES')
-
-# Enable GNS proxy for new users informed by /etc/skel.
-if [ "$gnunet_proxy" ]; then
-
-       # Calculate user specific port
-       port=$((8000+$(id -u $user)))
-
-       gnunet-config -c /home/$user/.config/gnunet.conf \
-               --rewrite \
-               --section=gns-proxy \
-               --option=OPTIONS \
-               --value="-p $port"
-
-       # Firefox
-       if [ ! -d  ~/.mozilla/firefox/*.default ];then
-               timeout 3s firefox --headless # dirty: create profile if not existent
-       fi
-       for ffprofile in ~/.mozilla/firefox/*.*/; do
-               js=$ffprofile/user.js
-               if [ -f $js ]; then
-                       sed -i '/Preferences for using the GNU Name System/d' $js
-                       sed -i '/network.proxy.socks/d' $js
-                       sed -i '/network.proxy.socks_port/d' $js
-                       sed -i '/network.proxy.socks_remote_dns/d' $js
-                       sed -i '/network.proxy.type/d' $js
-               fi
-               echo "// Preferences for using the GNU Name System" >> $js
-               echo "user_pref(\"network.proxy.socks\", \"localhost\");" >> $js
-               echo "user_pref(\"network.proxy.socks_port\", $port);" >> $js
-               echo "user_pref(\"network.proxy.socks_remote_dns\", true);" >> $js
-               echo "user_pref(\"network.proxy.type\", 1);" >> $js
-       done
-
-       # Chromium
-       profile=/home/$user/.profile
-       if [ -f $profile ]; then
-               sed -i '/CHROMIUM_USER_FLAGS/d' $profile
-       fi
-       echo "export CHROMIUM_USER_FLAGS=--proxy-server=socks5://localhost:$port" \
-               >> $profile
-fi
-
-# Create/Renew GNS certificate authority (CA) per user.
-gnunet-gns-proxy-setup-ca
-
-# In case a new user was added and gnunet-user-services has not been 
-# restarted afterwards, start user services after login.
-if test -z "`ps|grep -v grep|grep $user|grep gnunet-service-arm`" > /dev/null 2>&1
-then
-       gnunet-arm -c /home/$user/.config/gnunet.conf -s
-fi
diff --git a/contrib/alpine/gnurl/APKBUILD b/contrib/alpine/gnurl/APKBUILD
deleted file mode 100644 (file)
index f14a9bd..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-# Contributor: xrs <xrs@mail36.net>
-# Maintainer: xrs <xrs@mail36.net>
-pkgname=gnurl
-pkgver=7.65.3
-pkgrel=0
-pkgdesc="curl with only HTTP/HTTPS support and GnuTLS"
-url="https://gnunet.org/en/gnurl.html"
-arch="all"
-license="MIT"
-depends="ca-certificates gnutls libidn2 zlib"
-depends_dev="gnutls-dev libidn2-dev zlib-dev"
-makedepends="$depends_dev autoconf automake libtool perl pkgconf python3"
-subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc libgnurl"
-source="https://ftp.gnu.org/gnu/gnunet/gnurl-$pkgver.tar.gz"
-
-prepare() {
-       default_prepare
-       autoreconf -vfi
-}
-
-build() {
-       ./configure \
-               --build=$CBUILD \
-               --host=$CHOST \
-               --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \
-               --prefix=/usr \
-               --disable-static \
-               --enable-ipv6 \
-               --with-gnutls \
-               --with-libidn2 \
-               --without-libpsl \
-               --without-libssh2 \
-               --without-libmetalink \
-               --without-winidn \
-               --without-librtmp \
-               --without-nghttp2 \
-               --without-nss \
-               --without-cyassl \
-               --without-polarssl \
-               --without-ssl \
-               --without-winssl \
-               --without-darwinssl \
-               --disable-sspi \
-               --disable-ntlm-wb \
-               --disable-ldap \
-               --disable-rtsp \
-               --disable-dict \
-               --disable-telnet \
-               --disable-tftp \
-               --disable-pop3 \
-               --disable-imap \
-               --disable-smtp \
-               --disable-gopher \
-               --disable-file \
-               --disable-ftp \
-               --disable-smb \
-               --disable-ares
-       make
-}
-
-check() {
-       make -C tests nonflaky-test
-}
-
-package() {
-       make DESTDIR="$pkgdir" install
-}
-
-libgnurl() {
-       pkgdesc="curl library with only HTTP/HTTPS support and GnuTLS"
-
-       mkdir -p "$subpkgdir"/usr
-       mv "$pkgdir"/usr/lib "$subpkgdir"/usr
-}
-
-
-sha512sums="51aa71352dfe2e65dbcf542cb616af1eaa7e80fbc4ddb455a338e74eea245724ac1fa7ff226c418101e8ba298a8f85c2be9e7d9190a57c66e2e8c65d0c5186f8  gnurl-7.65.3.tar.gz"
diff --git a/contrib/packages/alpine/gnunet-gtk/APKBUILD b/contrib/packages/alpine/gnunet-gtk/APKBUILD
new file mode 100644 (file)
index 0000000..75ccadb
--- /dev/null
@@ -0,0 +1,38 @@
+# Contributor: xrs <xrs@mail36.net>
+# Maintainer: xrs <xrs@mail36.net>
+pkgname=gnunet-gtk
+pkgver=0.11.5
+pkgrel=0
+pkgdesc="Graphical user interface for GNUnet"
+url="https://gnunet.org"
+arch="all"
+license="GPL-3.0"
+depends="gnunet gtk+3.0 glade"
+makedepends="gnunet-dev gtk+3.0-dev glade-dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://mirrors.ocf.berkeley.edu/gnu/gnunet/gnunet-gtk-$pkgver.tar.gz"
+options="!check" # The GNUnet project lacks a good CI at the moment.
+
+build() {
+       ./configure \
+               --build=$CBUILD \
+               --host=$CHOST \
+               --prefix=/usr \
+               --sysconfdir=/etc \
+               --mandir=/usr/share/man \
+               --localstatedir=/var \
+               --disable-fs-app \
+               --disable-conversation-app
+       make
+}
+
+check() {
+       make DESTDIR="$pkgdir" check
+       exit 0
+}
+
+package() {
+       make DESTDIR="$pkgdir" install
+}
+
+sha512sums="8cd5bcadba070396b9b9b4849678bda362ba274f7d8e0c4dfc0bd793ac103a8a94949a472d992c90f21ddb7db16b14ea23a199acd4cf2e52f985e15205d2f5a9  gnunet-gtk-0.11.5.tar.gz"
diff --git a/contrib/packages/alpine/gnunet/APKBUILD b/contrib/packages/alpine/gnunet/APKBUILD
new file mode 100644 (file)
index 0000000..da2b2de
--- /dev/null
@@ -0,0 +1,98 @@
+# Contributor: xrs <xrs@mail36.net>
+# Maintainer: xrs <xrs@mail36.net>
+pkgname=gnunet
+pkgver=0.11.6
+pkgrel=0
+pkgdesc="A framework for secure and privacy enhancing peer-to-peer networking"
+url="https://gnunet.org"
+arch="all"
+license="AGPL-3.0"
+depends="libgpg-error libgcrypt nettle unbound-libs gnutls gnutls-utils gnurl
+       libgnurl libmicrohttpd openssl libunistring libidn2 nss sqlite zlib
+       miniupnpc gmp gettext bash which iptables coreutils sudo"
+depends_dev="libgpg-error-dev libgcrypt-dev nettle-dev unbound-dev gnutls-dev
+       gnurl-dev libmicrohttpd-dev openssl-dev libunistring-dev libidn2-dev
+       nss-dev sqlite-dev zlib-dev miniupnpc-dev gmp-dev gettext"
+makedepends="$depends_dev autoconf automake libtool gettext-dev python3
+       texlive texinfo"
+install="$pkgname.pre-install $pkgname.post-install $pkgname.pre-deinstall"
+pkgusers="gnunet"
+pkggroups="gnunet gnunetdns"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+options="!check suid" # No check because The GNUnet project lacks a good CI at the moment.
+source="https://mirrors.ocf.berkeley.edu/gnu/gnunet/gnunet-$pkgver.tar.gz
+       gnunet-system.conf
+       gnunet-user.conf
+       gnunet-system-services.initd
+       gnunet-user-services.initd
+       gnunet.xsession
+       "
+
+prepare() {
+       default_prepare
+       autoreconf -if # FIXME: See https://bugs.gnunet.org/view.php?id=5902
+}
+
+build() {
+       ./configure \
+               --build=$CBUILD \
+               --host=$CHOST \
+               --prefix=/usr \
+               --sysconfdir=/etc \
+               --mandir=/usr/share/man \
+               --localstatedir=/var \
+               --enable-logging=verbose
+       make
+}
+
+check() {
+       make DESTDIR="$pkgdir" check
+       exit 0
+}
+
+package() {
+       make DESTDIR="$pkgdir" install
+
+       libexecdir=$pkgdir/usr/lib/gnunet/libexec/
+       # Limit access to critical gnunet-helper-dns to group "gnunetdns"
+       chgrp gnunetdns $libexecdir/gnunet-helper-dns
+       chgrp gnunetdns $libexecdir/gnunet-service-dns
+       # Limit access to certain SUID binaries by group "gnunet"
+       chgrp gnunet    $libexecdir/gnunet-helper-exit
+       chgrp gnunet    $libexecdir/gnunet-helper-vpn
+       chgrp gnunet    $libexecdir/gnunet-helper-nat-client
+       chgrp gnunet    $libexecdir/gnunet-helper-nat-server
+       chmod u+s       $libexecdir/gnunet-helper-exit
+       chmod u+s       $libexecdir/gnunet-helper-vpn
+       chmod 2750      $libexecdir/gnunet-helper-dns
+       chmod 2700      $libexecdir/gnunet-service-dns
+       chmod u+s       $libexecdir/gnunet-helper-nat-client
+       chmod u+s       $libexecdir/gnunet-helper-nat-server
+
+       install -m644 -D $srcdir/$pkgname-user.conf \
+               $pkgdir/etc/skel/.config/$pkgname.conf
+       install -m644 -D $srcdir/$pkgname-system.conf \
+               $pkgdir/etc/$pkgname.conf
+       install -m755 -D $srcdir/$pkgname-system-services.initd \
+               $pkgdir/etc/init.d/$pkgname-system-services
+       install -m755 -D $srcdir/$pkgname-user-services.initd \
+               $pkgdir/etc/init.d/$pkgname-user-services
+       install -m755 -D $srcdir/$pkgname.xsession \
+               $pkgdir/etc/X11/xinit/xinitrc.d/80-$pkgname-user-services
+}
+
+dev() {
+       default_dev
+
+       # dev() will move gnunet-config from $pkg to $pkg-dev, but it's an
+       # intended part of $pkg.
+       install -m755 -D $builddir/src/util/.libs/gnunet-config \
+               $pkgdir/usr/bin/gnunet-config
+}
+
+sha512sums="1c6ea2ac7280d2edb30df627b79e017d199e93cd3970ce49f3f049abfb1dddfed541118e55766c422edf4a80e140c4eb2cfc681e0d4a1384e39811d024df9278  gnunet-0.11.6.tar.gz
+a0f55413ed2c6edd6746a751d92ddac95ba70f20eefb07330817870d749456448f44bba95d245911a00f6078e0c2ac626004e3b764be5e5e049c00626c4c5ac0  gnunet-system.conf
+b21112ff16aee771332aa9c33f55b0c7f46fe0266053543241e3efbe25dba56482c0e11112a192eefe59f1c74d2af5d7071b6a4e1e875cfc7e9d55b5fe8a0a33  gnunet-user.conf
+96ab78bb48d5fb10f0b34336ad05e73b543c4362c73436ef20b3bb83dff214e997acf38a2ea493b1901bdc37c8877d83cdaebd73a0e50831e2f23413c8edda76  gnunet-system-services.initd
+f67252e18c5fd701338653efe4cc14caae9213c1955f690cddec9fd7ad31a22680e931fbe908a1c5a78dc05094e547b2279f9a488f2ed80cc169590ad5ffa064  gnunet-user-services.initd
+839a081aca19b863f378db980e6447ad30c6c0ee72fac6e11c65e57e86886d675ebc61069e17f696b6ca868e8ce259cabf80feb90b04b23f3da3c628f7beb915  gnunet.xsession"
diff --git a/contrib/packages/alpine/gnunet/gnunet-system-services.initd b/contrib/packages/alpine/gnunet/gnunet-system-services.initd
new file mode 100644 (file)
index 0000000..19248d2
--- /dev/null
@@ -0,0 +1,16 @@
+#!/sbin/openrc-run
+# Contributor: xrs <xrs@mail36.net>
+# Maintainer: xrs <xrs@mail36.net>
+
+name="gnunet-system-service"
+description="A secure and privacy enhancing peer-to-peer overlay network"
+command="/usr/lib/gnunet/libexec/gnunet-service-arm"
+command_args="-c /etc/gnunet.conf"
+command_user="gnunet:gnunet"
+command_background="yes"
+pidfile="/run/${SVCNAME}.pid"
+
+depend() {
+       need net
+       before gnunet-user-services
+}
diff --git a/contrib/packages/alpine/gnunet/gnunet-system.conf b/contrib/packages/alpine/gnunet/gnunet-system.conf
new file mode 100644 (file)
index 0000000..303cf5f
--- /dev/null
@@ -0,0 +1,3 @@
+[arm]
+START_SYSTEM_SERVICES = YES
+START_USER_SERVICES = NO
diff --git a/contrib/packages/alpine/gnunet/gnunet-user-services.initd b/contrib/packages/alpine/gnunet/gnunet-user-services.initd
new file mode 100644 (file)
index 0000000..6c96094
--- /dev/null
@@ -0,0 +1,33 @@
+#!/sbin/openrc-run
+# Contributor: xrs <xrs@mail36.net>
+# Maintainer: xrs <xrs@mail36.net>
+
+name="gnunet-user-services"
+description="GNUnet user services"
+command_background="yes"
+pidfile="/run/${SVCNAME}.pid"
+users=`awk -F ':' '$3>=1000 && $3<2000 {print $1}' /etc/passwd`
+
+depend() {
+       need gnunet-system-services
+}
+
+start() {
+       for user in $users; do
+               if test -z "`ps|grep $user|grep gnunet-service-arm`" > /dev/null 2>&1
+               then
+                       sudo -u $user gnunet-arm \
+                               -c /home/$user/.config/gnunet.conf -s
+               fi
+       done
+}
+
+stop() {
+       for user in $users; do
+               if test -n "`ps|grep $user|grep gnunet-service-arm`" > /dev/null 2>&1
+               then
+                       sudo -u $user gnunet-arm \
+                               -c /home/$user/.config/gnunet.conf -e
+               fi
+       done
+}
diff --git a/contrib/packages/alpine/gnunet/gnunet-user.conf b/contrib/packages/alpine/gnunet/gnunet-user.conf
new file mode 100644 (file)
index 0000000..22f1fe3
--- /dev/null
@@ -0,0 +1,3 @@
+[arm]
+START_SYSTEM_SERVICES = NO
+START_USER_SERVICES = YES
diff --git a/contrib/packages/alpine/gnunet/gnunet.post-deinstall b/contrib/packages/alpine/gnunet/gnunet.post-deinstall
new file mode 100644 (file)
index 0000000..ab98ab5
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+deluser --remove-home gnunet # implicitly removes group gnunet
+delgroup gnunetdns
+
+exit 0
diff --git a/contrib/packages/alpine/gnunet/gnunet.post-install b/contrib/packages/alpine/gnunet/gnunet.post-install
new file mode 100644 (file)
index 0000000..f7c19b2
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+# Enumerate users.
+users=`awk -F ':' '$3>=1000 && $3<2000 {print $1}' /etc/passwd`
+
+# Install gnunet.conf for existing users.
+for user in $users; do
+        install -m644 -o $user -g $user -D /etc/skel/.config/gnunet.conf \
+                /home/$user/.config/gnunet.conf
+done
+
+# Enable GNS proxy for users, if desired.
+echo "Use GNU Name System in Firefox/Chromium by default? [y,N]"
+read -r yn
+case $yn in
+y|Y )
+        # Enable GNS proxy for existant users.
+        for user in $users; do
+                port=$((8000+$(id -u $user)))
+                gnunet-config -c /home/$user/.config/gnunet.conf \
+                        --rewrite \
+                        --section=gns-proxy \
+                        --option=IMMEDIATE_START \
+                        --value=YES
+                gnunet-config -c /home/$user/.config/gnunet.conf \
+                        --rewrite \
+                        --section=gns-proxy \
+                        --option=OPTIONS \
+                        --value="-p $port"
+        done
+
+        # Enable GNS proxy for future users.
+        echo "[gns-proxy]" >> /etc/skel/.config/gnunet.conf
+        echo "IMMEDIATE_START = YES" >> /etc/skel/.config/gnunet.conf
+        ;;
+* )
+        ;;
+esac
+
+exit 0
diff --git a/contrib/packages/alpine/gnunet/gnunet.pre-deinstall b/contrib/packages/alpine/gnunet/gnunet.pre-deinstall
new file mode 100644 (file)
index 0000000..3334c6d
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+# Remove proxy settings from browser.
+users=`awk -F ':' '$3>=1000 && $3<2000 {print $1}' /etc/passwd`
+for user in $users; do
+       gnunet_proxy=`grep -i "gns-proxy" /home/$user/.config/gnunet.conf`
+       if [ "$gnunet_proxy" ]; then
+               for ffprofile in /home/"$user"/.mozilla/firefox/*.*/; do
+                       # Reset proxy preferences
+                       js=$ffprofile/user.js
+                       if [ -f $js ]; then
+                               sed -i '/Preferences for using the GNU Name System/d' $js
+                               sed -i '/network.proxy.socks/d' $js
+                               sed -i '/network.proxy.socks_port/d' $js
+                               sed -i '/network.proxy.socks_remote_dns/d' $js
+                               sed -i '/network.proxy.type/d' $js
+                       fi
+               done
+
+               # Chromium
+               profile=/home/$user/.profile
+               if [ -f $profile ]; then
+                       sed -i '/CHROMIUM_USER_FLAGS/d' $profile
+               fi
+       fi
+done
+
+exit 0
diff --git a/contrib/packages/alpine/gnunet/gnunet.pre-install b/contrib/packages/alpine/gnunet/gnunet.pre-install
new file mode 100644 (file)
index 0000000..bbb629c
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# Add special group gnunetdns for controlling access to "gnunet-helper-dns".
+addgroup -S gnunetdns 2>/dev/null
+addgroup -S gnunet 2>/dev/null
+
+# Add system user/group gnunet for system services
+adduser -S -h "/var/lib/gnunet" -s /bin/sh \
+       -G gnunet -g gnunet gnunet 2>/dev/null
+
+# add users on host system to group "gnunet"
+users=`awk -F ':' '$3>=1000 && $3<2000 {print $1}' /etc/passwd`
+for user in $users; do
+       adduser $user gnunet 2>/dev/null
+done
+
+exit 0
diff --git a/contrib/packages/alpine/gnunet/gnunet.xsession b/contrib/packages/alpine/gnunet/gnunet.xsession
new file mode 100644 (file)
index 0000000..f19d6ba
--- /dev/null
@@ -0,0 +1,54 @@
+#!/bin/sh
+user=$(whoami)
+gnunet_proxy=$(gnunet-config -c /etc/skel/.config/gnunet.conf -s gns-proxy|grep 'IMMEDIATE_START = YES')
+
+# Enable GNS proxy for new users informed by /etc/skel.
+if [ "$gnunet_proxy" ]; then
+
+       # Calculate user specific port
+       port=$((8000+$(id -u $user)))
+
+       gnunet-config -c /home/$user/.config/gnunet.conf \
+               --rewrite \
+               --section=gns-proxy \
+               --option=OPTIONS \
+               --value="-p $port"
+
+       # Firefox
+       if [ ! -d  ~/.mozilla/firefox/*.default ];then
+               timeout 3s firefox --headless # dirty: create profile if not existent
+       fi
+       for ffprofile in ~/.mozilla/firefox/*.*/; do
+               js=$ffprofile/user.js
+               if [ -f $js ]; then
+                       sed -i '/Preferences for using the GNU Name System/d' $js
+                       sed -i '/network.proxy.socks/d' $js
+                       sed -i '/network.proxy.socks_port/d' $js
+                       sed -i '/network.proxy.socks_remote_dns/d' $js
+                       sed -i '/network.proxy.type/d' $js
+               fi
+               echo "// Preferences for using the GNU Name System" >> $js
+               echo "user_pref(\"network.proxy.socks\", \"localhost\");" >> $js
+               echo "user_pref(\"network.proxy.socks_port\", $port);" >> $js
+               echo "user_pref(\"network.proxy.socks_remote_dns\", true);" >> $js
+               echo "user_pref(\"network.proxy.type\", 1);" >> $js
+       done
+
+       # Chromium
+       profile=/home/$user/.profile
+       if [ -f $profile ]; then
+               sed -i '/CHROMIUM_USER_FLAGS/d' $profile
+       fi
+       echo "export CHROMIUM_USER_FLAGS=--proxy-server=socks5://localhost:$port" \
+               >> $profile
+fi
+
+# Create/Renew GNS certificate authority (CA) per user.
+gnunet-gns-proxy-setup-ca
+
+# In case a new user was added and gnunet-user-services has not been 
+# restarted afterwards, start user services after login.
+if test -z "`ps|grep -v grep|grep $user|grep gnunet-service-arm`" > /dev/null 2>&1
+then
+       gnunet-arm -c /home/$user/.config/gnunet.conf -s
+fi
diff --git a/contrib/packages/alpine/gnurl/APKBUILD b/contrib/packages/alpine/gnurl/APKBUILD
new file mode 100644 (file)
index 0000000..f14a9bd
--- /dev/null
@@ -0,0 +1,77 @@
+# Contributor: xrs <xrs@mail36.net>
+# Maintainer: xrs <xrs@mail36.net>
+pkgname=gnurl
+pkgver=7.65.3
+pkgrel=0
+pkgdesc="curl with only HTTP/HTTPS support and GnuTLS"
+url="https://gnunet.org/en/gnurl.html"
+arch="all"
+license="MIT"
+depends="ca-certificates gnutls libidn2 zlib"
+depends_dev="gnutls-dev libidn2-dev zlib-dev"
+makedepends="$depends_dev autoconf automake libtool perl pkgconf python3"
+subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc libgnurl"
+source="https://ftp.gnu.org/gnu/gnunet/gnurl-$pkgver.tar.gz"
+
+prepare() {
+       default_prepare
+       autoreconf -vfi
+}
+
+build() {
+       ./configure \
+               --build=$CBUILD \
+               --host=$CHOST \
+               --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \
+               --prefix=/usr \
+               --disable-static \
+               --enable-ipv6 \
+               --with-gnutls \
+               --with-libidn2 \
+               --without-libpsl \
+               --without-libssh2 \
+               --without-libmetalink \
+               --without-winidn \
+               --without-librtmp \
+               --without-nghttp2 \
+               --without-nss \
+               --without-cyassl \
+               --without-polarssl \
+               --without-ssl \
+               --without-winssl \
+               --without-darwinssl \
+               --disable-sspi \
+               --disable-ntlm-wb \
+               --disable-ldap \
+               --disable-rtsp \
+               --disable-dict \
+               --disable-telnet \
+               --disable-tftp \
+               --disable-pop3 \
+               --disable-imap \
+               --disable-smtp \
+               --disable-gopher \
+               --disable-file \
+               --disable-ftp \
+               --disable-smb \
+               --disable-ares
+       make
+}
+
+check() {
+       make -C tests nonflaky-test
+}
+
+package() {
+       make DESTDIR="$pkgdir" install
+}
+
+libgnurl() {
+       pkgdesc="curl library with only HTTP/HTTPS support and GnuTLS"
+
+       mkdir -p "$subpkgdir"/usr
+       mv "$pkgdir"/usr/lib "$subpkgdir"/usr
+}
+
+
+sha512sums="51aa71352dfe2e65dbcf542cb616af1eaa7e80fbc4ddb455a338e74eea245724ac1fa7ff226c418101e8ba298a8f85c2be9e7d9190a57c66e2e8c65d0c5186f8  gnurl-7.65.3.tar.gz"