gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [gnunet] branch master updated: add the patches from export


From: gnunet
Subject: [GNUnet-SVN] [gnunet] branch master updated: add the patches from exported patch attic
Date: Thu, 28 Jun 2018 12:38:44 +0200

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

ng0 pushed a commit to branch master
in repository gnunet.

The following commit(s) were added to refs/heads/master by this push:
     new e4f299913 add the patches from exported patch attic
e4f299913 is described below

commit e4f299913041eb462be424c57268d097e8d48a78
Author: Nils Gillmann <address@hidden>
AuthorDate: Thu Jun 28 10:39:18 2018 +0000

    add the patches from exported patch attic
    
    Signed-off-by: Nils Gillmann <address@hidden>
---
 contrib/services/shepherd/ng0_wip/.gitignore       |   1 +
 .../00001-gnu-services-Add-gnunet-service.patch    | 186 +++++++++++++++++
 .../0001-gnu-services-Add-gnunet-service.patch     | 225 +++++++++++++++++++++
 .../001-gnu-services-Add-gnunet-service.patch      | 204 +++++++++++++++++++
 4 files changed, 616 insertions(+)

diff --git a/contrib/services/shepherd/ng0_wip/.gitignore 
b/contrib/services/shepherd/ng0_wip/.gitignore
new file mode 100644
index 000000000..9b974979a
--- /dev/null
+++ b/contrib/services/shepherd/ng0_wip/.gitignore
@@ -0,0 +1 @@
+!*.patch
\ No newline at end of file
diff --git 
a/contrib/services/shepherd/ng0_wip/00001-gnu-services-Add-gnunet-service.patch 
b/contrib/services/shepherd/ng0_wip/00001-gnu-services-Add-gnunet-service.patch
new file mode 100644
index 000000000..609a0a5ef
--- /dev/null
+++ 
b/contrib/services/shepherd/ng0_wip/00001-gnu-services-Add-gnunet-service.patch
@@ -0,0 +1,186 @@
+From 60a4c0f7c60ef705db17561fd3e930bbe11730c9 Mon Sep 17 00:00:00 2001
+From: ng0 <address@hidden>
+Date: Mon, 12 Sep 2016 12:26:52 +0000
+Subject: [PATCH] gnu: services: Add gnunet-service.
+
+* gnu/services/networking.scm (gnunet): New service.
+
+Signed-off-by: Nils Gillmann <address@hidden>
+---
+ doc/guix.texi               | 36 ++++++++++++++
+ gnu/services/networking.scm | 93 ++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 128 insertions(+), 1 deletion(-)
+
+diff --git a/doc/guix.texi b/doc/guix.texi
+index d925b4eda..eb7b409d7 100644
+--- a/doc/guix.texi
++++ b/doc/guix.texi
+@@ -11016,6 +11016,42 @@ Package object of the Open vSwitch.
+ @end table
+ @end deftp
+ 
address@hidden GNUnet
address@hidden gnunet
address@hidden GNUnet Service
++
address@hidden {Scheme Variable} gnunet-service-type
++This is the type of the @uref{https://gnunet.org, GNUnet}
++service, whose value should be an @code{gnunet-configuration} object
++as in this example:
++
address@hidden
++(service gnunet-service-type
++           (gnunet-configuration
++             (config-file (local-file "./gnunet.conf"))))
address@hidden example
address@hidden deffn
++
address@hidden {Data Type} gnunet-configuration
++Data type representing the configuration of GNUnet.
++
address@hidden @asis
address@hidden @code{package} (default: @var{gnunet})
++Package object of the GNUnet service.
++
address@hidden @code{config-file} (default: @var{%default-gnunet-file})
++File-like object of the GNUnet configuration file to use.  For NAT is
++assumes by default that you are behind a NAT (@var{BEHIND_NAT = YES})
++and enables UPNP (@var{ENABLE_UPNP = YES}).
++The hostlist is configured with the options @var{-b} (bootstrap using
++configured hostlist servers) and @var{-e} (enable learning advertised 
hostlists).
++Read the configuration files in @var{"~/.guix-profile/share/gnunet/config.d/"}
++for more information.  These files also set the defaults when you don't set
++any explicit values to override them.
++
address@hidden table
address@hidden deftp
++
+ @node X Window
+ @subsubsection X Window
+ 
+diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
+index b0c23aafc..0ff20e707 100644
+--- a/gnu/services/networking.scm
++++ b/gnu/services/networking.scm
+@@ -5,6 +5,7 @@
+ ;;; Copyright © 2016 John Darrington <address@hidden>
+ ;;; Copyright © 2017 Clément Lassieur <address@hidden>
+ ;;; Copyright © 2017 Thomas Danckaert <address@hidden>
++;;; Copyright © 2017 ng0 <address@hidden>
+ ;;;
+ ;;; This file is part of GNU Guix.
+ ;;;
+@@ -29,6 +30,7 @@
+   #:use-module (gnu system pam)
+   #:use-module (gnu packages admin)
+   #:use-module (gnu packages connman)
++  #:use-module (gnu packages gnunet)
+   #:use-module (gnu packages linux)
+   #:use-module (gnu packages tor)
+   #:use-module (gnu packages messaging)
+@@ -92,7 +94,12 @@
+             wpa-supplicant-service-type
+ 
+             openvswitch-service-type
+-            openvswitch-configuration))
++            openvswitch-configuration
++
++            gnunet-configuration
++            gnunet-configuration?
++            gnunet-service
++            gnunet-service-type))
+ 
+ ;;; Commentary:
+ ;;;
+@@ -1125,4 +1132,88 @@ a network connection manager."))))
+ switch designed to enable massive network automation through programmatic
+ extension.")))
+ 
++;;;
++;;; GNUnet
++;;;
++
++(define-record-type* <gnunet-configuration>
++  gnunet-configuration make-gnunet-configuration
++  gnunet-configuration?
++  (package           gnunet-configuration-package
++                     (default gnunet))
++  (config-file       gnunet-configuration-config-file
++                     (default %default-gnunet-config-file)))
++
++(define %default-gnunet-config-file
++  (plain-file "gnunet.conf" "
++[PATHS]
++SERVICEHOME = /var/lib/gnunet
++GNUNET_CONFIG_HOME = /var/lib/gnunet
++
++[arm]
++SYSTEM_ONLY = YES
++USER_ONLY = NO
++
++[nat]
++BEHIND_NAT = YES
++ENABLE_UPNP = YES
++
++[hostlist]
++OPTIONS = -b -e
++"))
++
++(define gnunet-shepherd-service
++  (match-lambda
++    (($ <gnunet-configuration> package config-file)
++     (list (shepherd-service
++            (provision '(gnunet))
++            (requirement '(loopback))
++            (documentation "Run the GNUnet service.")
++            (start
++             (let ((gnunet
++                    (file-append package 
"/lib/gnunet/libexec/gnunet-service-arm")))
++               #~(make-forkexec-constructor
++                  (list #$gnunet "-c" #$config-file)
++                  #:log-file "/var/log/gnunet.log"
++                  #:pid-file "/var/run/gnunet.pid")))
++            (stop
++             #~(make-kill-destructor)))))))
++
++(define %gnunet-accounts
++  (list (user-group
++         (name "gnunetdns")
++         (system? #t))
++        (user-group
++         (name "gnunet")
++         (system? #t))
++        (user-account
++         (name "gnunet")
++         (group "gnunet")
++         (system? #t)
++         (comment "GNUnet system user")
++         (home-directory "/var/lib/gnunet")
++         (shell #~(string-append #$shadow "/sbin/nologin")))))
++
++(define gnunet-activation
++  (match-lambda
++    (($ <gnunet-configuration> package config-file)
++     (let ((gnunet
++            (file-append package "/lib/gnunet/libexec/gnunet-service-arm")))
++       #~(begin
++           ;; Create the .config + .cache for gnunet user
++           (mkdir-p "/var/lib/gnunet/.config/gnunet")
++           (mkdir-p "/var/lib/gnunet/.cache/gnunet"))))))
++
++(define gnunet-service-type
++  (service-type
++   (name 'gnunet)
++   (extensions (list (service-extension account-service-type
++                                        (const %gnunet-accounts))
++                     (service-extension activation-service-type
++                                        gnunet-activation)
++                     (service-extension profile-service-type
++                                        (compose list 
gnunet-configuration-package))
++                     (service-extension shepherd-root-service-type
++                                        gnunet-shepherd-service)))))
++
+ ;;; networking.scm ends here
+-- 
+2.17.0
+
diff --git 
a/contrib/services/shepherd/ng0_wip/0001-gnu-services-Add-gnunet-service.patch 
b/contrib/services/shepherd/ng0_wip/0001-gnu-services-Add-gnunet-service.patch
new file mode 100644
index 000000000..a494434e0
--- /dev/null
+++ 
b/contrib/services/shepherd/ng0_wip/0001-gnu-services-Add-gnunet-service.patch
@@ -0,0 +1,225 @@
+From 434b05bc1a11b4865c0bd634281acd91dfce972c Mon Sep 17 00:00:00 2001
+From: ng0 <address@hidden>
+Date: Mon, 12 Sep 2016 12:26:52 +0000
+Subject: [PATCH] gnu: services: Add gnunet-service.
+
+Signed-off-by: Nils Gillmann <address@hidden>
+---
+ doc/guix.texi               |  36 ++++++++++
+ gnu/services/networking.scm | 134 +++++++++++++++++++++++++++++++++++-
+ 2 files changed, 169 insertions(+), 1 deletion(-)
+
+diff --git a/doc/guix.texi b/doc/guix.texi
+index 00bf24d3f..73589c88b 100644
+--- a/doc/guix.texi
++++ b/doc/guix.texi
+@@ -10138,6 +10138,42 @@ Package object of the Open vSwitch.
+ @end table
+ @end deftp
+ 
address@hidden GNUnet
address@hidden gnunet
address@hidden GNUnet Service
++
address@hidden {Scheme Variable} gnunet-service-type
++This is the type of the @uref{https://gnunet.org, GNUnet}
++service, whose value should be an @code{gnunet-configuration} object
++as in this example:
++
address@hidden
++(service gnunet-service-type
++           (gnunet-configuration
++             (config-file (local-file "./gnunet.conf"))))
address@hidden example
address@hidden deffn
++
address@hidden {Data Type} gnunet-configuration
++Data type representing the configuration of GNUnet.
++
address@hidden @asis
address@hidden @code{package} (default: @var{gnunet})
++Package object of the GNUnet service.
++
address@hidden @code{config-file} (default: @var{%default-gnunet-file})
++File-like object of the GNUnet configuration file to use.  For NAT is
++assumes by default that you are behind a NAT (@var{BEHIND_NAT = YES})
++and enables UPNP (@var{ENABLE_UPNP = YES}).
++The hostlist is configured with the options @var{-b} (bootstrap using
++configured hostlist servers) and @var{-e} (enable learning advertised 
hostlists).
++Read the configuration files in @var{"~/.guix-profile/share/gnunet/config.d/"}
++for more information.  These files also set the defaults when you don't set
++any explicit values to override them.
++
address@hidden table
address@hidden deftp
++
+ @node X Window
+ @subsubsection X Window
+ 
+diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
+index 99a3d493c..fe682b267 100644
+--- a/gnu/services/networking.scm
++++ b/gnu/services/networking.scm
+@@ -5,6 +5,7 @@
+ ;;; Copyright © 2016 John Darrington <address@hidden>
+ ;;; Copyright © 2017 Clément Lassieur <address@hidden>
+ ;;; Copyright © 2017 Thomas Danckaert <address@hidden>
++;;; Copyright © 2017 ng0 <address@hidden>
+ ;;;
+ ;;; This file is part of GNU Guix.
+ ;;;
+@@ -29,6 +30,7 @@
+   #:use-module (gnu system pam)
+   #:use-module (gnu packages admin)
+   #:use-module (gnu packages connman)
++  #:use-module (gnu packages gnunet)
+   #:use-module (gnu packages linux)
+   #:use-module (gnu packages tor)
+   #:use-module (gnu packages messaging)
+@@ -92,7 +94,12 @@
+             wpa-supplicant-service-type
+ 
+             openvswitch-service-type
+-            openvswitch-configuration))
++            openvswitch-configuration
++
++            gnunet-configuration
++            gnunet-configuration?
++            gnunet-service-type
++            %default-gnunet-config-file))
+ 
+ ;;; Commentary:
+ ;;;
+@@ -1069,4 +1076,129 @@ dns=" dns "
+           (service-extension shepherd-root-service-type
+                              openvswitch-shepherd-service)))))
+ 
++;;;
++;;; GNUnet
++;;;
++
++;; steps:
++;; 0. The service works!!!
++;; 1. We want a completely adjustable config.
++;; 2. We want to extend this service with functions like
++;;    vpn, comparable to tor-service
++;; Because of (1) we can't have a default. We can have
++;; default values which can be adjusted. A config is
++;; generated from these.
++
++(define-record-type* <gnunet-configuration>
++  gnunet-configuration make-gnunet-configuration
++  gnunet-configuration?
++  (gnunet            gnunet-configuration-package
++                     (default gnunet))
++  (config-file       gnunet-configuration-config-file
++                     (default (plain-file "empty" ""))))
++
++(define %default-gnunet-config-file
++  (plain-file "gnunet.conf" "
++[PATHS]
++SERVICEHOME = /var/lib/gnunet
++GNUNET_CONFIG_HOME = /var/lib/gnunet
++
++[arm]
++SYSTEM_ONLY = NO
++USER_ONLY = NO
++
++[nat]
++BEHIND_NAT = YES
++ENABLE_UPNP = YES
++
++[hostlist]
++OPTIONS = -b -e
++"))
++
++(define gnunet-shepherd-service
++  (match-lambda
++    (($ <gnunet-configuration> package config-file)
++     (list (shepherd-service
++            (provision '(gnunet))
++            (requirement '(user-processes loopback networking))
++            (documentation "Run the GNUnet service.")
++            (start
++             (let ((gnunet
++                    (file-append package 
"/lib/gnunet/libexec/gnunet-service-arm")))
++               #~(make-forkexec-constructor
++                  (list #$gnunet "-c" #$config-file "-d")
++                  #:pid-file "/var/run/gnunet/arm-service.pid"
++                  #:user "gnunet"
++                  #:group "gnunet"
++                  ;;#:log-file "/var/lib/gnunet/gnunet.log")))
++                  #:log-file "/var/log/gnunet.log")))
++            (stop #~(make-kill-destructor)))))))
++
++(define %gnunet-accounts
++  (list (user-group (name "gnunetdns") (system? #t))
++        (user-group (name "gnunet") (system? #t))
++        (user-account
++         (name "gnunet")
++         (group "gnunet")
++         (system? #t)
++         (comment "GNUnet system user")
++         (home-directory "/var/empty")
++         (shell (file-append shadow "/sbin/nologin")))))
++
++;; ${GNUNET_HOME}/.local/share/gnunet/gnunet.conf  -> chmod 600
++;; mkdir -p ${GNUNET_HOME}/.cache/gnunet
++
++(define gnunet-activation
++  (match-lambda
++    (($ <gnunet-configuration> package config-file)
++     (let ((gnunet
++            (file-append package "/lib/gnunet/libexec/gnunet-service-arm")))
++       #~(begin
++           (use-modules (guix build utils))
++           (define %user (getpw "gnunet"))
++           (mkdir-p "/var/lib/gnunet/")
++           (chown "/var/lib/gnunet" (passwd:uid %user) (passwd:gid %user))
++           ;;(chmod "/var/lib/gnunet/" #o755)
++           (mkdir-p "/var/lib/gnunet/.local/share/gnunet")
++           (mkdir-p "/var/lib/gnunet/.cache/gnunet")
++           (mkdir-p "/var/lib/gnunet/hostlist")
++           (mkdir-p "/var/lib/gnunet/.config/gnunet")
++           (chown "/var/lib/gnunet/.local/share/gnunet" (passwd:uid %user) 
(passwd:gid %user))
++           (chown "/var/lib/gnunet/.cache/gnunet" (passwd:uid %user) 
(passwd:gid %user))
++           (chown "/var/lib/gnunet/hostlist" (passwd:uid %user) (passwd:gid 
%user))
++           ;;(chown "/var/lib/gnunet/gnunet.conf" (passwd:uid %user) 
(passwd:gid %user))
++           (chown "/var/lib/gnunet/.config/gnunet" (passwd:uid %user) 
(passwd:gid %user)))))))
++           ;;(chmod "/var/lib/gnunet/.config/gnunet" #o755)
++           ;;(chmod "/var/lib/gnunet/.cache/gnunet" #o755)
++           ;;(chmod "/var/lib/gnunet/.local/share/gnunet" #o755))))))
++
++;; SUID_ROOT_HELPERS="exit nat-server nat-client transport-bluetooth 
transport-wlan vpn"
++;; set chmod u+s for those above.
++;; chmodown_execbin ${libexec}/gnunet-helper-dns 4750 root:gnunetdns
++;; chmodown_execbin ${libexec}/gnunet-service-dns 2750 gnunet:gnunetdns
++(define gnunet-setuid-programs
++  (match-lambda
++    (($ <gnunet-configuration> package)
++     (list (file-append package "/lib/gnunet/libexec/gnunet-helper-exit")
++           (file-append package 
"/lib/gnunet/libexec/gnunet-helper-nat-server")
++           (file-append package 
"/lib/gnunet/libexec/gnunet-helper-nat-client")
++           (file-append package 
"/lib/gnunet/libexec/gnunet-helper-transport-bluetooth")
++           (file-append package 
"/lib/gnunet/libexec/gnunet-helper-transport-wlan")
++           (file-append package "/lib/gnunet/libexec/gnunet-helper-vpn")))))
++
++(define gnunet-service-type
++  (service-type
++   (name 'gnunet)
++   (extensions (list (service-extension account-service-type
++                                        (const %gnunet-accounts))
++                     (service-extension activation-service-type
++                                        gnunet-activation)
++                     (service-extension profile-service-type
++                                        (compose list 
gnunet-configuration-package))
++                     (service-extension setuid-program-service-type
++                                        gnunet-setuid-programs)
++                     (service-extension shepherd-root-service-type
++                                        gnunet-shepherd-service)))))
++;;; --- here starts the rewrite.
++
+ ;;; networking.scm ends here
+-- 
+2.17.0
+
diff --git 
a/contrib/services/shepherd/ng0_wip/001-gnu-services-Add-gnunet-service.patch 
b/contrib/services/shepherd/ng0_wip/001-gnu-services-Add-gnunet-service.patch
new file mode 100644
index 000000000..0017ec8cf
--- /dev/null
+++ 
b/contrib/services/shepherd/ng0_wip/001-gnu-services-Add-gnunet-service.patch
@@ -0,0 +1,204 @@
+From 91241bacb6533745535ff28d20f087ecd571e7be Mon Sep 17 00:00:00 2001
+From: ng0 <address@hidden>
+Date: Mon, 12 Sep 2016 12:26:52 +0000
+Subject: [PATCH] gnu: services: Add gnunet-service.
+
+---
+ doc/guix.texi               |  36 ++++++++++++++
+ gnu/services/networking.scm | 114 +++++++++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 149 insertions(+), 1 deletion(-)
+
+diff --git a/doc/guix.texi b/doc/guix.texi
+index 99bde4aca..6c683393e 100644
+--- a/doc/guix.texi
++++ b/doc/guix.texi
+@@ -8903,6 +8903,42 @@ Boolean values @var{ipv4?} and @var{ipv6?} determine 
whether to use IPv4/IPv6
+ sockets.
+ @end deffn
+ 
address@hidden GNUnet
address@hidden gnunet
address@hidden GNUnet Service
++
address@hidden {Scheme Variable} gnunet-service-type
++This is the type of the @uref{https://gnunet.org, GNUnet}
++service, whose value should be an @code{gnunet-configuration} object
++as in this example:
++
address@hidden
++(service gnunet-service-type
++           (gnunet-configuration
++             (config-file (local-file "./gnunet.conf"))))
address@hidden example
address@hidden deffn
++
address@hidden {Data Type} gnunet-configuration
++Data type representing the configuration of GNUnet.
++
address@hidden @asis
address@hidden @code{package} (default: @var{gnunet})
++Package object of the GNUnet service.
++
address@hidden @code{config-file} (default: @var{%default-gnunet-file})
++File-like object of the GNUnet configuration file to use.  For NAT is
++assumes by default that you are behind a NAT (@var{BEHIND_NAT = YES})
++and enables UPNP (@var{ENABLE_UPNP = YES}).
++The hostlist is configured with the options @var{-b} (bootstrap using
++configured hostlist servers) and @var{-e} (enable learning advertised 
hostlists).
++Read the configuration files in @var{"~/.guix-profile/share/gnunet/config.d/"}
++for more information.  These files also set the defaults when you don't set
++any explicit values to override them.
++
address@hidden table
address@hidden deftp
++
+ 
+ @node X Window
+ @subsubsection X Window
+diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
+index d672ecf68..ff3615ea2 100644
+--- a/gnu/services/networking.scm
++++ b/gnu/services/networking.scm
+@@ -3,6 +3,7 @@
+ ;;; Copyright © 2015 Mark H Weaver <address@hidden>
+ ;;; Copyright © 2016 Efraim Flashner <address@hidden>
+ ;;; Copyright © 2016 John Darrington <address@hidden>
++;;; Copyright © 2016 ng0 <address@hidden>
+ ;;;
+ ;;; This file is part of GNU Guix.
+ ;;;
+@@ -27,6 +28,7 @@
+   #:use-module (gnu system pam)
+   #:use-module (gnu packages admin)
+   #:use-module (gnu packages connman)
++  #:use-module (gnu packages gnunet)
+   #:use-module (gnu packages linux)
+   #:use-module (gnu packages tor)
+   #:use-module (gnu packages messaging)
+@@ -66,7 +68,12 @@
+             wicd-service
+             network-manager-service
+             connman-service
+-            wpa-supplicant-service-type))
++            wpa-supplicant-service-type
++
++            gnunet-configuration
++            gnunet-configuration?
++            gnunet-service-type
++            %default-gnunet-config-file))
+ 
+ ;;; Commentary:
+ ;;;
+@@ -781,4 +788,109 @@ configure networking."
+                        (service-extension dbus-root-service-type list)
+                        (service-extension profile-service-type list)))))
+ 
++
++;;; GNUnet
++;;;
++;;;
++
++(define-record-type* <gnunet-configuration>
++  gnunet-configuration make-gnunet-configuration
++  gnunet-configuration?
++  (package           gnunet-configuration-package
++                     (default gnunet))
++  (config-file       gnunet-configuration-config-file
++                     (default %default-gnunet-config-file)))
++
++(define %default-gnunet-config-file
++  (plain-file "gnunet.conf" "
++[PATHS]
++SERVICEHOME = /var/lib/gnunet
++GNUNET_CONFIG_HOME = /var/lib/gnunet
++
++[arm]
++SYSTEM_ONLY = YES
++USER_ONLY = NO
++
++[nat]
++BEHIND_NAT = YES
++ENABLE_UPNP = YES
++
++[hostlist]
++OPTIONS = -b -e
++"))
++
++(define gnunet-shepherd-service
++  (match-lambda
++    (($ <gnunet-configuration> package config-file)
++     (list (shepherd-service
++            (provision '(gnunet))
++            (requirement '(user-processes loopback))
++            (documentation "Run the GNUnet service.")
++            (start
++             (let ((gnunet
++                    (file-append package 
"/lib/gnunet/libexec/gnunet-service-arm")))
++               #~(make-forkexec-constructor
++                  (list #$gnunet "-c" #$config-file)
++                  #:pid-file "/var/run/gnunet.pid")))
++            (stop
++             #~(make-kill-destructor
++                (list #$gnunet "-e"))))))))
++
++(define %gnunet-accounts
++  (list (user-group
++         (name "gnunetdns")
++         (system? #t))
++        (user-group
++         (name "gnunet")
++         (system? #t))
++        (user-account
++         (name "gnunet")
++         (group "gnunet")
++         (system? #t)
++         (comment "GNUnet system user")
++         (home-directory "/var/empty")
++         (shell #~(string-append #$shadow "/sbin/nologin")))))
++
++(define gnunet-activation
++  (match-lambda
++    (($ <gnunet-configuration> package config-file)
++     (let ((gnunet
++            (file-append package "/lib/gnunet/libexec/gnunet-service-arm")))
++       #~(begin
++           (use-modules (guix build utils))
++           (define %user (getpw "gnunet"))
++           (mkdir-p "/var/lib/gnunet/")
++           (chown "/var/lib/gnunet" (passwd:uid %user) (passwd:gid %user))
++           (chmod "/var/lib/gnunet/" #o600)
++           (mkdir-p "/var/lib/gnunet/.local/share/gnunet")
++           (mkdir-p "/var/lib/gnunet/.cache/gnunet")
++           (mkdir-p "/var/lib/gnunet/.config/gnunet")
++           (chmod "/var/lib/gnunet/.config/gnunet" #o600)
++           (chmod "/var/lib/gnunet/.cache/gnunet" #o600)
++           (chmod "/var/lib/gnunet/.local/share/gnunet" #o600))))))
++
++(define gnunet-setuid-programs
++  (match-lambda
++    (($ <gnunet-configuration> package)
++     (list (file-append package "/lib/gnunet/libexec/gnunet-helper-exit")
++           (file-append package 
"/lib/gnunet/libexec/gnunet-helper-nat-server")
++           (file-append package 
"/lib/gnunet/libexec/gnunet-helper-nat-client")
++           (file-append package 
"/lib/gnunet/libexec/gnunet-helper-transport-bluetooth")
++           (file-append package 
"/lib/gnunet/libexec/gnunet-helper-transport-wlan")
++           (file-append package "/lib/gnunet/libexec/gnunet-helper-vpn")))))
++
++(define gnunet-service-type
++  (service-type
++   (name 'gnunet)
++   (extensions (list (service-extension account-service-type
++                                        (const %gnunet-accounts))
++                     (service-extension activation-service-type
++                                        gnunet-activation)
++                     (service-extension profile-service-type
++                                        (compose list 
gnunet-configuration-package))
++                     (service-extension setuid-program-service-type
++                                        gnunet-setuid-programs)
++                     (service-extension shepherd-root-service-type
++                                        gnunet-shepherd-service)))))
++
+ ;;; networking.scm ends here
+-- 
+2.11.0
+

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

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