summaryrefslogtreecommitdiff
path: root/tests/data/spool/db-h/87/47187.report
diff options
context:
space:
mode:
Diffstat (limited to 'tests/data/spool/db-h/87/47187.report')
-rw-r--r--tests/data/spool/db-h/87/47187.report340
1 files changed, 340 insertions, 0 deletions
diff --git a/tests/data/spool/db-h/87/47187.report b/tests/data/spool/db-h/87/47187.report
new file mode 100644
index 0000000..bc34b77
--- /dev/null
+++ b/tests/data/spool/db-h/87/47187.report
@@ -0,0 +1,340 @@
+Received: (at submit) by debbugs.gnu.org; 16 Mar 2021 08:40:33 +0000
+From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 16 04:40:32 2021
+Received: from localhost ([127.0.0.1]:38147 helo=debbugs.gnu.org)
+ by debbugs.gnu.org with esmtp (Exim 4.84_2)
+ (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
+ id 1lM5Fe-00048j-UQ
+ for submit@debbugs.gnu.org; Tue, 16 Mar 2021 04:40:32 -0400
+Received: from lists.gnu.org ([209.51.188.17]:43418)
+ by debbugs.gnu.org with esmtp (Exim 4.84_2)
+ (envelope-from <ZmnSCPxj@protonmail.com>) id 1lM5Fb-00048a-Pz
+ for submit@debbugs.gnu.org; Tue, 16 Mar 2021 04:40:29 -0400
+Received: from eggs.gnu.org ([2001:470:142:3::10]:44892)
+ by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
+ (Exim 4.90_1) (envelope-from <ZmnSCPxj@protonmail.com>)
+ id 1lM5Fb-0002vS-AF
+ for guix-patches@gnu.org; Tue, 16 Mar 2021 04:40:27 -0400
+Received: from mail-40137.protonmail.ch ([185.70.40.137]:14418)
+ by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
+ (Exim 4.90_1) (envelope-from <ZmnSCPxj@protonmail.com>)
+ id 1lM5FX-0006yz-Ar
+ for guix-patches@gnu.org; Tue, 16 Mar 2021 04:40:26 -0400
+Date: Tue, 16 Mar 2021 08:40:04 +0000
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
+ s=protonmail; t=1615884014;
+ bh=lxEq5WI1mmjXmIcUsvSOCZaFxaO8xLmoSuz+IWIu4pE=;
+ h=Date:To:From:Reply-To:Subject:From;
+ b=yjnSFcxFqb126UpQO9fhtdvfwVaur9SgOSnRehoW5ryPka0lFkM6HD77K6085BAdk
+ U2Z2dpqbTrqvv496XtyBtXOBLXZiyOY3LjDlfadbpPnmpvMkoWEOlHN0D+oeYDYZFL
+ GQwoJKRg7Q2VzvSVulfD9u0GxPAd5zkN6fpEISYQ=
+To: "guix-patches@gnu.org" <guix-patches@gnu.org>
+From: ZmnSCPxj <ZmnSCPxj@protonmail.com>
+Subject: [PATCH] gnu: Add c-lightning.
+Message-ID: <pIzl3qY1MjcwPK5NRfKDs3jl1Gf8zurLPn-2e60bUbwzJgLjgoqtJZ82_CMCCRoIyinyASxSXrIxa4yXMW9VfDCfl8P0Gs2_6_J3Iz0r2Go=@protonmail.com>
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: quoted-printable
+X-Spam-Status: No, score=-1.2 required=10.0 tests=ALL_TRUSTED,DKIM_SIGNED,
+ DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM shortcircuit=no
+ autolearn=disabled version=3.4.4
+X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on
+ mailout.protonmail.ch
+Received-SPF: pass client-ip=185.70.40.137;
+ envelope-from=ZmnSCPxj@protonmail.com; helo=mail-40137.protonmail.ch
+X-Spam_score_int: -15
+X-Spam_score: -1.6
+X-Spam_bar: -
+X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
+ DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
+ FROM_LOCAL_NOVOWEL=0.5, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001,
+ RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001,
+ SPF_PASS=-0.001 autolearn=ham autolearn_force=no
+X-Spam_action: no action
+X-Spam-Score: 0.7 (/)
+X-Debbugs-Envelope-To: submit
+X-BeenThere: debbugs-submit@debbugs.gnu.org
+X-Mailman-Version: 2.1.18
+Precedence: list
+List-Id: <debbugs-submit.debbugs.gnu.org>
+List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
+ <mailto:debbugs-submit-request@debbugs.gnu.org?subject=unsubscribe>
+List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
+List-Post: <mailto:debbugs-submit@debbugs.gnu.org>
+List-Help: <mailto:debbugs-submit-request@debbugs.gnu.org?subject=help>
+List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
+ <mailto:debbugs-submit-request@debbugs.gnu.org?subject=subscribe>
+Reply-To: ZmnSCPxj <ZmnSCPxj@protonmail.com>
+Errors-To: debbugs-submit-bounces@debbugs.gnu.org
+Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
+X-Spam-Score: -1.8 (-)
+
+Good morning Guix developers,
+
+C-Lightning is one of the earliest living implementations of the Lightning
+Network protocol.
+I am one of the developers of this implementation.
+
+I tested this as follows:
+
+* Extracted the package `c-lightning` into a `c-lightning.scm` file.
+* Ran `guix build --rounds=3D4 -f c-lightning.scm` on an X86-64 server to
+ check for reproducability issues.
+* Ran the compiled `lightningd` with `lightningd --version`,
+ `lightningd --help`, and the developer-secret undocumented
+ `lightningd --test-daemons-only` and checked they work correctly.
+* Ran the compiled `lightningd` with `lightningd --proxy=3D127.0.0.1:9050
+ --bind-addr=3D127.0.0.1:9735 --addr=3Dstatictor:127.0.0.1:9051
+ --always-use-proxy=3Dtrue` on a server with Bitcoin and Tor installed,
+ and checked that it indeed created an LN wallet and started operating
+ the node.
+ * This also tests the SQLITE database backend and that the sub-daemons
+ are accessible and runnable.
+* From an existing Lightning Network node, did a `lightning-cli connect`
+ to the new node running on the above command, and confirmed that the
+ above new node was connected to, and that it started downloading the
+ gossip map (the first thing every new node does when it initially gets
+ connected to the network).
+* On a separate X86-64 machine with the same Guix commit version, copied
+ the `c-lightning.scm` file and reran `guix build --rounds=3D4 -f
+ c-lightning.scm` as well.
+* Checked that the same `/gnu/store` path was produced on the separate
+ machine as on the first test server.
+* Checked that this command produced the exact same text on both computers:
+ `find ${GNU_STORE_PATH} -type f | sort | xargs -n1 sha256sum`.
+* Extracted the package `c-lightning-postgresql` into a
+ `c-lightning-postgresql.scm` file.
+* Ran `guix build --rounds=3D4 -f c-lightning-postgresql.scm` on a X86-64
+ server to check for reproducibility issues.
+* Chekced that `strings ${GNU_STORE_PATH}/bin/lightningd` for the
+ `c-lightning-postgresql` had references to `PQ*` functions, and that
+ the `c-lightning` version had none, meaning that `c-lightning-postgresql`
+ indeed included PostgreSQL support.
+
+Thus, PostgreSQL support is not fully tested yet, but I believe the
+produced binaries will work correctly as a C-Lightning instance.
+Therefore I would like to submit this patch for inclusion into Guix.
+
+Some notes:
+
+* C-Lightning includes an extensive suite of tests, but these require
+ several additional python packages, some of which (e.g.
+ `python-bitcoinlib`) are not yet in Guix.
+ The tests are extensive and *very long*, running the entire test
+ suite can take an hour or more depending on exact settings.
+* I took advantage of the functional nature of Guix and disabled the
+ relative-path `BINTOPKGLIBEXECDIR`, making it an absolute path, as
+ it also incidentally solves the issue of "upgrading C-lightning may
+ cause strange problems in a running instance".
+ See patch for more details.
+* Our `configure` and `Makefile` are weird and I should probably go
+ fix those upstream.
+
+Regards,
+ZmnSCPxj
+
+From 490aa608765228fbb6bb64b9fa679bb4c8145001 Mon Sep 17 00:00:00 2001
+From: ZmnSCPxj jxPCSnmZ <ZmnSCPxj@protonmail.com>
+Date: Mon, 15 Mar 2021 11:53:35 +0000
+Subject: [PATCH] gnu: Add c-lightning.
+
+* gnu/packages/finance.scm (c-lightning, c-lightning-postgresql): New varia=
+bles.
+---
+ gnu/packages/finance.scm | 153 +++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 153 insertions(+)
+
+diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
+index e6df40c168..4b565ddfeb 100644
+--- a/gnu/packages/finance.scm
++++ b/gnu/packages/finance.scm
+@@ -22,6 +22,7 @@
+ ;;; Copyright =C2=A9 2020 Vinicius Monego <monego@posteo.net>
+ ;;; Copyright =C2=A9 2020 Carlo Holl <carloholl@gmail.com>
+ ;;; Copyright =C2=A9 2020 Giacomo Leidi <goodoldpaul@autistici.org>
++;;; Copyright =C2=A9 2021 ZmnSCPxj jxPCSnmZ <ZmnSCPxj@protonmail.com>
+ ;;;
+ ;;; This file is part of GNU Guix.
+ ;;;
+@@ -57,6 +58,7 @@
+ #:use-module (gnu packages aidc)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
++ #:use-module (gnu packages bash)
+ #:use-module (gnu packages boost)
+ #:use-module (gnu packages check)
+ #:use-module (gnu packages compression)
+@@ -99,6 +101,7 @@
+ #:use-module (gnu packages qt)
+ #:use-module (gnu packages readline)
+ #:use-module (gnu packages sphinx)
++ #:use-module (gnu packages sqlite)
+ #:use-module (gnu packages texinfo)
+ #:use-module (gnu packages textutils)
+ #:use-module (gnu packages time)
+@@ -1676,3 +1679,152 @@ Interface (UI) for the hledger accounting system. =
+It can be used as a
+ local, single-user UI, or as a multi-user UI for viewing, adding, and
+ editing on the Web.")
+ (license license:gpl3)))
++
++(define-public c-lightning
++ (package
++ (name "c-lightning")
++ (version "0.9.3")
++ (source
++ (origin
++ (method url-fetch)
++ (uri (string-append
++ "https://github.com/ElementsProject/lightning/releases/down=
+load/"
++ "v" version "/clightning-v" version ".zip"))
++ (sha256
++ (base32 "1chqzxcqpr49vbayrw4213lznmyw4lcghcdh6afxbk4bxlhkjmml"))=
+))
++ (build-system gnu-build-system)
++ (native-inputs
++ `(("autoconf" ,autoconf)
++ ("automake" ,automake)
++ ("bash" ,bash)
++ ("libtool" ,libtool)
++ ("pkg-config" ,pkg-config)
++ ("python" ,python)
++ ("python-mako" ,python-mako)
++ ("sed" ,sed)
++ ("unzip" ,unzip)
++ ("which" ,which)))
++ (inputs
++ `(("gmp" ,gmp)
++ ("sqlite" ,sqlite)
++ ("zlib" ,zlib)))
++ (arguments
++ ;; Tests exist, but need a lot of Python packages (some not availabl=
+e
++ ;; on Guix) and they are incompatible with our BINTOPKGLIBEXECDIR ha=
+ck.
++ `(#:tests? #f
++ #:phases
++ (modify-phases %standard-phases
++ (add-before 'configure 'patch-makefile
++ (lambda _
++ (substitute* "Makefile"
++ ;; The C-lightning Makefile uses the PYTHONPATH
++ ;; variable, which causes Guix builds to fail
++ ;; since the environment variable is masked by
++ ;; the Makefile variable.
++ ;; Insert the contents of the variable into the
++ ;; Makefile.
++ (("^PYTHONPATH=3D")
++ (string-append
++ "PYTHONPATH=3D"
++ (getenv "PYTHONPATH")
++ ":"))
++ ;; C-lightning will spawn a number of other
++ ;; processes from binaries installed in its
++ ;; libexecdir.
++ ;; It normally uses relative paths so that
++ ;; users can move around the installation
++ ;; location.
++ ;; However, it does have the drawback that if
++ ;; the installation location is overwritten
++ ;; with a newer version while an existing
++ ;; instance is still running, any new
++ ;; sub-processes launched will be the new
++ ;; version, which is likely incompatible with
++ ;; the running instance.
++ ;; Since Guix would not allow the store
++ ;; directory to be moved anyway, we use an
++ ;; absolute path instead in the below
++ ;; substitution.
++ ;; With Guix and an absolute path, even if a
++ ;; running instance was launched from a
++ ;; profile and that profile is upgraded to a
++ ;; newer version, the running instance will
++ ;; refer to the absolute store directory
++ ;; containing binaries of the running version.
++ (("BINTOPKGLIBEXECDIR=3D.*$")
++ "BINTOPKGLIBEXECDIR=3D'\"'\"$(pkglibexecdir)\"'\"'\n"))))
++ ;; C-lightning configure is unusual, it does not understand
++ ;; the standard parameters Guix passes in, so, provide those
++ ;; by env variables.
++ (replace 'configure
++ (lambda* (#:key outputs inputs (configure-flags '())
++ #:allow-other-keys)
++ (let* ((bash (string-append (assoc-ref inputs "bash") "/b=
+in/bash"))
++ (python (assoc-ref inputs "python"))
++ (prefix (assoc-ref outputs "out"))
++ (flags (cons*
++ "CC=3Dgcc"
++ (string-append "--prefix=3D" prefix)
++ configure-flags)))
++ (setenv "PYTHON" (string-append python "/bin/python3"))
++ (setenv "CONFIG_SHELL" bash)
++ (setenv "SHELL" bash)
++ (format #t "build directory: ~s~%" (getcwd))
++ (format #t "configure flags: ~s~%" flags)
++ (apply invoke bash
++ "./configure"
++ flags))))
++ ;; Rather than call the configure script of its external
++ ;; libraries from its own configure script, the external
++ ;; configure are created and called at build time.
++ ;; Unfortunately, it is a single Makefile stanza which
++ ;; does the autoreconf, configure, and make.
++ ;; This means we cannot "cut" through here by creating
++ ;; the external configure before this step (the Makefile
++ ;; stanza will recreate and overwrite the external
++ ;; configure), we have to modify the autogen.sh scripts
++ ;; of the external libraries instead so that they
++ ;; patch the shebangs after autoreconf.
++ (add-before 'build 'fix-autoreconf
++ (lambda _
++ (substitute* "external/libsodium/autogen.sh"
++ (("exec autoreconf(.*)$" exec-autoreconf flags)
++ (string-append
++ "autoreconf" flags
++ "sed 's:/bin/sh:" (getenv "SHELL") ":g' < configure > c=
+onfigure.tmp\n"
++ "mv configure.tmp configure\n"
++ "chmod +x configure\n"
++ "exit 0\n")))
++ (substitute* "external/libwally-core/tools/autogen.sh"
++ (("autoreconf(.*)$" autoreconf)
++ (string-append
++ autoreconf
++ "sed 's:/bin/sh:" (getenv "SHELL") ":g' < configure > c=
+onfigure.tmp\n"
++ "mv configure.tmp configure\n"
++ "chmod +x configure\n"))))))))
++ (home-page "https://github.com/ElementsProject/lightning")
++ (synopsis "Lightweight Lightning Network protocol implementation in C"=
+)
++ (description
++ "c-lightning is a lightweight, highly customizable, and standard
++compliant implementation of the Lightning Network protocol.")
++ (license license:expat)))
++
++(define-public c-lightning-postgresql
++ (package
++ (inherit c-lightning)
++ (name "c-lightning-postgresql")
++ (inputs
++ `(("postgresql" ,postgresql)
++ ;; C-Lightning requires SQLITE3 as of 0.9.3, and will
++ ;; fail to build if it is not found.
++ ;; (The configure script will allow PostgreSQL without
++ ;; SQLITE3 but some build tool of C-Lightning fails if
++ ;; SQLITE3 is not found.)
++ ,@(package-inputs c-lightning)))
++ (description
++ "c-lightning is a lightweight, highly customizable, and standard
++compliant implementation of the Lightning Network protocol.
++
++This package includes support for using a PostgreSQL database to back
++your node; you will need to set up the PostgreSQL separately and pass
++in its details using an appropriate flag setting.")))
+--
+2.30.1
+
+
+