On 2022-05-26, Lucas Nussbaum wrote:
> During a rebuild of all packages in sid, your package failed to build
> on amd64.

Thanks for doing the rebuild testing!


> Relevant part (hopefully):

Would it be at all possible to update your script to compress and attach
data over a certain size? This was well over 50000 lines long, the vast
majority of which were actually tests that passed! It crashes and/or
hangs my mail client when I try to open the original mail in this bug
report, so it really is a practical problem for me!

I've manually trimmed the log to only include the actual failures:

>> PASS: tests/channels.scm - latest-channel-instances, missing introduction 
>> for 'guix' 
>> FAIL: tests/channels.scm - authenticate-channel, wrong first commit signer 
>> FAIL: tests/channels.scm - authenticate-channel, .guix-authorizations 
>> FAIL: tests/channels.scm - latest-channel-instances, authenticate dependency 
>> PASS: tests/combinators.scm - fold2, 1 list 
...
>> PASS: tests/git-authenticate.scm - unsigned commits 
>> FAIL: tests/git-authenticate.scm - signed commits, SHA1 signature 
>> FAIL: tests/git-authenticate.scm - signed commits, default authorizations 
>> FAIL: tests/git-authenticate.scm - signed commits, .guix-authorizations 
>> FAIL: tests/git-authenticate.scm - signed commits, .guix-authorizations, 
>> unauthorized merge 
>> FAIL: tests/git-authenticate.scm - signed commits, .guix-authorizations, 
>> authorized merge 
>> FAIL: tests/git-authenticate.scm - signed commits, .guix-authorizations 
>> removed 
>> PASS: tests/glob.scm - string->sglob, "foo" 
...
>> test-name: authenticate-channel, wrong first commit signer
>> location: /<<PKGBUILDDIR>>/tests/channels.scm:433
>> source:
>> + (test-equal
>> +   "authenticate-channel, wrong first commit signer"
>> +   #t
>> +   (with-fresh-gnupg-setup
>> +     (list %ed25519-public-key-file
>> +           %ed25519-secret-key-file
>> +           %ed25519bis-public-key-file
>> +           %ed25519bis-secret-key-file)
>> +     (with-temporary-git-repository
>> +       directory
>> +       `((add ".guix-channel"
>> +              ,(object->string
>> +                 '(channel
>> +                    (version 0)
>> +                    (keyring-reference "master"))))
>> +         (add ".guix-authorizations"
>> +              ,(object->string
>> +                 `(authorizations
>> +                    (version 0)
>> +                    ((,(key-fingerprint %ed25519-public-key-file)
>> +                      (name "Charlie"))))))
>> +         (add "signer.key"
>> +              ,(call-with-input-file
>> +                 %ed25519-public-key-file
>> +                 get-string-all))
>> +         (commit
>> +           "first commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file)))
>> +         (add "random" ,(random-text))
>> +         (commit
>> +           "second commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file))))
>> +       (with-repository
>> +         directory
>> +         repository
>> +         (let* ((commit1 (find-commit repository "first"))
>> +                (commit2 (find-commit repository "second"))
>> +                (intro (make-channel-introduction
>> +                         (commit-id-string commit1)
>> +                         (openpgp-public-key-fingerprint
>> +                           (read-openpgp-packet
>> +                             %ed25519bis-public-key-file))))
>> +                (channel
>> +                  (channel
>> +                    (name 'example)
>> +                    (url (string-append "file://" directory))
>> +                    (introduction intro))))
>> +           (guard (c ((formatted-message? c)
>> +                      (and (string-contains
>> +                             (formatted-message-string c)
>> +                             "initial commit")
>> +                           (equal?
>> +                             (formatted-message-arguments c)
>> +                             (list (oid->string (commit-id commit1))
>> +                                   (key-fingerprint 
>> %ed25519-public-key-file)
>> +                                   (key-fingerprint
>> +                                     %ed25519bis-public-key-file))))))
>> +                  (authenticate-channel
>> +                    channel
>> +                    directory
>> +                    (commit-id-string commit2)
>> +                    #:keyring-reference-prefix
>> +                    "")
>> +                  'failed))))))
>> expected-value: #t
>> actual-value: #f
>> actual-error:
>> + (%exception
>> +   #<&invoke-error program: "git" arguments: ("-C" 
>> "/tmp/guix-directory.cVtbFn" "commit" "-m" "first commit" "--gpg-sign=44D3 
>> 1E21 AF71 38F9 B632  280A 771F 49CB FAAE 072D") exit-status: 128 
>> term-signal: #f stop-signal: #f>)
>> result: FAIL
>> 
>> test-name: authenticate-channel, .guix-authorizations
>> location: /<<PKGBUILDDIR>>/tests/channels.scm:483
>> source:
>> + (test-equal
>> +   "authenticate-channel, .guix-authorizations"
>> +   #t
>> +   (with-fresh-gnupg-setup
>> +     (list %ed25519-public-key-file
>> +           %ed25519-secret-key-file
>> +           %ed25519bis-public-key-file
>> +           %ed25519bis-secret-key-file)
>> +     (with-temporary-git-repository
>> +       directory
>> +       `((add ".guix-channel"
>> +              ,(object->string
>> +                 '(channel
>> +                    (version 0)
>> +                    (keyring-reference "channel-keyring"))))
>> +         (add ".guix-authorizations"
>> +              ,(object->string
>> +                 `(authorizations
>> +                    (version 0)
>> +                    ((,(key-fingerprint %ed25519-public-key-file)
>> +                      (name "Charlie"))))))
>> +         gpg: keybox '/tmp/guix-directory.NnQRtx/pubring.kbx' created
>> gpg: /tmp/guix-directory.NnQRtx/trustdb.gpg: trustdb created
>> gpg: key 771F49CBFAAE072D: public key "Ed Two-Fifty 
>> <ludo+test-...@chbouib.org>" imported
>> gpg: Total number processed: 1
>> gpg:               imported: 1
>> gpg: key 771F49CBFAAE072D: "Ed Two-Fifty <ludo+test-...@chbouib.org>" not 
>> changed
>> gpg: key 771F49CBFAAE072D: secret key imported
>> gpg: Total number processed: 1
>> gpg:              unchanged: 1
>> gpg:       secret keys read: 1
>> gpg:   secret keys imported: 1
>> hint: Using 'master' as the name for the initial branch. This default branch 
>> name
>> hint: is subject to change. To configure the initial branch name to use in 
>> all
>> hint: of your new repositories, which will suppress this warning, call:
>> hint: 
>> hint:        git config --global init.defaultBranch <name>
>> hint: 
>> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
>> hint: 'development'. The just-created branch can be renamed via this command:
>> hint: 
>> hint:        git branch -m <name>
>> Initialized empty Git repository in /tmp/guix-directory.zEp5nO/.git/
>> error: gpg failed to sign the data
>> fatal: failed to write commit object
>> (commit "zeroth commit")
>> +         (add "a.txt" "A")
>> +         (commit
>> +           "first commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file)))
>> +         (add "b.txt" "B")
>> +         (commit
>> +           "second commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file)))
>> +         (add "c.txt" "C")
>> +         (commit
>> +           "third commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519bis-public-key-file)))
>> +         (branch "channel-keyring")
>> +         (checkout "channel-keyring")
>> +         (add "signer.key"
>> +              ,(call-with-input-file
>> +                 %ed25519-public-key-file
>> +                 get-string-all))
>> +         (add "other.key"
>> +              ,(call-with-input-file
>> +                 %ed25519bis-public-key-file
>> +                 get-string-all))
>> +         (commit "keyring commit")
>> +         (checkout "master"))
>> +       (with-repository
>> +         directory
>> +         repository
>> +         (let* ((commit1 (find-commit repository "first"))
>> +                (commit2 (find-commit repository "second"))
>> +                (commit3 (find-commit repository "third"))
>> +                (intro (make-channel-introduction
>> +                         (commit-id-string commit1)
>> +                         (openpgp-public-key-fingerprint
>> +                           (read-openpgp-packet %ed25519-public-key-file))))
>> +                (channel
>> +                  (channel
>> +                    (name 'example)
>> +                    (url (string-append "file://" directory))
>> +                    (introduction intro))))
>> +           (and (authenticate-channel
>> +                  channel
>> +                  directory
>> +                  (commit-id-string commit2)
>> +                  #:keyring-reference-prefix
>> +                  "")
>> +                (guard (c ((unauthorized-commit-error? c)
>> +                           (and (oid=? (git-authentication-error-commit c)
>> +                                       (commit-id commit3))
>> +                                (bytevector=?
>> +                                  (openpgp-public-key-fingerprint
>> +                                    (unauthorized-commit-error-signing-key 
>> c))
>> +                                  (openpgp-public-key-fingerprint
>> +                                    (read-openpgp-packet
>> +                                      %ed25519bis-public-key-file))))))
>> +                       (authenticate-channel
>> +                         channel
>> +                         directory
>> +                         (commit-id-string commit3)
>> +                         #:keyring-reference-prefix
>> +                         "")
>> +                       'failed)))))))
>> expected-value: #t
>> actual-value: #f
>> actual-error:
>> + (%exception
>> +   #<&invoke-error program: "git" arguments: ("-C" 
>> "/tmp/guix-directory.dRosJB" "commit" "-m" "first commit" "--gpg-sign=44D3 
>> 1E21 AF71 38F9 B632  280A 771F 49CB FAAE 072D") exit-status: 128 
>> term-signal: #f stop-signal: #f>)
>> result: FAIL
>> 
>> test-name: latest-channel-instances, authenticate dependency
>> location: /<<PKGBUILDDIR>>/tests/channels.scm:552
>> source:
>> + (test-equal
>> +   "latest-channel-instances, authenticate dependency"
>> +   #t
>> +   (with-fresh-gnupg-setup
>> +     (list %ed25519-public-key-file
>> +           %ed25519-secret-key-file)
>> +     (with-temporary-git-repository
>> +       dependency-directory
>> +       `((add ".guix-channel"
>> +              ,(object->string
>> +                 '(channel
>> +                    (version 0)
>> +                    (keyring-reference "master"))))
>> +         (add ".guix-authorizations"
>> +              ,(object->string `(authorizations (version 0) ())))
>> +         (add "signer.key"
>> +              ,(call-with-input-file
>> +                 %ed25519-public-key-file
>> +                 get-string-all))
>> +         (commit
>> +           "zeroth commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file)))
>> +         (add "foo.txt" "evil")
>> +         (commit "unsigned commit"))
>> +       (with-repository
>> +         dependency-directory
>> +         dependency
>> +         (let* ((commit0 (find-commit dependency "zeroth"))
>> +                (commit1 (find-commit dependency "unsigned"))
>> +                (intro `(channel-introduction
>> +                          (version 0)
>> +                          (commit ,(commit-id-string commit0))
>> +                          (signer
>> +                            ,(openpgp-format-fingerprint
>> +                               (openpgp-public-key-fingerprint
>> +                                 (read-openpgp-packet
>> +                                   %ed25519-public-key-file)))))))
>> +           (with-temporary-git-repository
>> +             directory
>> +             `((add ".guix-channel"
>> +                    ,(object->string
>> +                       `(channel
>> +                          (version 0)
>> +                          (dependencies
>> +                            (channel
>> +                              (name test-channel)
>> +                              (url ,dependency-directory)
>> +                              (introduction ,intro))))))
>> +               (commit "single commit"))
>> +             (let ((channel (channel (name 'test) (url directory))))
>> +               (guard (c ((unsigned-commit-error? c)
>> +                          (oid=? (git-authentication-error-commit c)
>> +                                 (commit-id commit1))))
>> +                      (with-store
>> +                        store
>> +                        (latest-channel-instances store (list channel))
>> +                        'failed)))))))))
>> expected-value: #t
>> actual-value: #f
>> actual-error:
>> + (%exception
>> +   #<&invoke-error program: "git" arguments: ("-C" 
>> "/tmp/guix-directory.zEp5nO" "commit" "-m" "zeroth commit" "--gpg-sign=44D3 
>> 1E21 AF71 38F9 B632  280A 771F 49CB FAAE 072D") exit-status: 128 
>> term-signal: #f stop-signal: #f>)
>> result: FAIL
>> 
>> Updating channel 'test' from Git repository at 'test'...
>> Updating channel 'test-channel' from Git repository at 
>> 'https://example.com/test-channel'...
>> Updating channel 'test-channel' from Git repository at 
>> 'https://example.com/test-channel'...
>> Updating channel 'foo' from Git repository at 
>> 'file:///tmp/guix-directory.xFvlbh'...
>> Updating channel 'guix' from Git repository at 
>> 'file:///tmp/guix-directory.Q1CFB9'...
>> random seed for tests: 1652644567
...
>> test-name: signed commits, SHA1 signature
>> location: /<<PKGBUILDDIR>>/tests/git-authenticate.scm:60
>> source:
>> + (test-assert
>> +   "signed commits, SHA1 signature"
>> +   (with-fresh-gnupg-setup
>> +     (list %ed25519-public-key-file
>> +           %ed25519-secret-key-file)
>> +     (call-with-output-file
>> +       (string-append (getenv "GNUPGHOME") "/gpg.conf")
>> +       (lambda (port) (display "digest-algo sha1" port)))
>> +     (with-temporary-git-repository
>> +       directory
>> +       `((add "a.txt" "A")
>> +         (add "signer.key"
>> +              ,(call-with-input-file
>> +                 %ed25519-public-key-file
>> +                 get-string-all))
>> +         (add ".guix-authorizations"
>> +              ,(object->string
>> +                 `(authorizations
>> +                    (version 0)
>> +                    ((,(key-fingerprint %ed25519-public-key-file)
>> +                      (name "Charlie"))))))
>> +         (commit
>> +           "first commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file))))
>> +       (with-repository
>> +         directory
>> +         repository
>> +         (let ((commit (find-commit repository "first")))
>> +           (guard (c ((unsigned-commit-error? c)
>> +                      (oid=? (git-authentication-error-commit c)
>> +                             (commit-id commit))))
>> +                  (authenticate-commits
>> +                    repository
>> +                    (list commit)
>> +                    #:keyring-reference
>> +                    "master")
>> +                  'failed))))))
>> actual-value: #f
>> actual-error:
>> + (%exception
>> +   #<&invoke-error program: "git" arguments: ("-C" 
>> "/tmp/guix-directory.eZ1kd7" "commit" "-m" "first commit" "--gpg-sign=44D3 
>> 1E21 AF71 38F9 B632  280A 771F 49CB FAAE 072D") exit-status: 128 
>> term-signal: #f stop-signal: #f>)
>> result: FAIL
>> 
>> test-name: signed commits, default authorizations
>> location: /<<PKGBUILDDIR>>/tests/git-authenticate.scm:89
>> source:
>> + (test-assert
>> +   "signed commits, default authorizations"
>> +   (with-fresh-gnupg-setup
>> +     (list %ed25519-public-key-file
>> +           %ed25519-secret-key-file)
>> +     (with-temporary-git-repository
>> +       directory
>> +       `((add "signer.key"
>> +              ,(call-with-input-file
>> +                 %ed25519-public-key-file
>> +                 get-string-all))
>> +         (commit "zeroth commit")
>> +         (add "a.txt" "A")
>> +         (commit
>> +           "first commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file)))
>> +         (add "b.txt" "B")
>> +         (commit
>> +           "second commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file))))
>> +       (with-repository
>> +         directory
>> +         repository
>> +         (let ((commit1 (find-commit repository "first"))
>> +               (commit2 (find-commit repository "second")))
>> +           (authenticate-commits
>> +             repository
>> +             (list commit1 commit2)
>> +             #:default-authorizations
>> +             (list (openpgp-public-key-fingerprint
>> +                     (read-openpgp-packet %ed25519-public-key-file)))
>> +             #:keyring-reference
>> +             "master"))))))
>> actual-value: #f
>> actual-error:
>> + (%exception
>> +   gpg: keybox '/tmp/guix-directory.gLEVs4/pubring.kbx' created
>> gpg: /tmp/guix-directory.gLEVs4/trustdb.gpg: trustdb created
>> gpg: key 771F49CBFAAE072D: public key "Ed Two-Fifty 
>> <ludo+test-...@chbouib.org>" imported
>> gpg: Total number processed: 1
>> gpg:               imported: 1
>> gpg: key 771F49CBFAAE072D: "Ed Two-Fifty <ludo+test-...@chbouib.org>" not 
>> changed
>> gpg: key 771F49CBFAAE072D: secret key imported
>> gpg: Total number processed: 1
>> gpg:              unchanged: 1
>> gpg:       secret keys read: 1
>> gpg:   secret keys imported: 1
>> hint: Using 'master' as the name for the initial branch. This default branch 
>> name
>> hint: is subject to change. To configure the initial branch name to use in 
>> all
>> hint: of your new repositories, which will suppress this warning, call:
>> hint: 
>> hint:        git config --global init.defaultBranch <name>
>> hint: 
>> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
>> hint: 'development'. The just-created branch can be renamed via this command:
>> hint: 
>> hint:        git branch -m <name>
>> Initialized empty Git repository in /tmp/guix-directory.fQ5WSP/.git/
>> [master (root-commit) c62adb7] zeroth commit
>>  2 files changed, 11 insertions(+)
>>  create mode 100644 .guix-authorizations
>>  create mode 100644 signer.key
>> error: gpg failed to sign the data
>> fatal: failed to write commit object
>> gpg: keybox '/tmp/guix-directory.CZVyZ4/pubring.kbx' created
>> gpg: /tmp/guix-directory.CZVyZ4/trustdb.gpg: trustdb created
>> gpg: key 771F49CBFAAE072D: public key "Ed Two-Fifty 
>> <ludo+test-...@chbouib.org>" imported
>> gpg: Total number processed: 1
>> gpg:               imported: 1
>> gpg: key 771F49CBFAAE072D: "Ed Two-Fifty <ludo+test-...@chbouib.org>" not 
>> changed
>> gpg: key 771F49CBFAAE072D: secret key imported
>> gpg: Total number processed: 1
>> gpg:              unchanged: 1
>> gpg:       secret keys read: 1
>> gpg:   secret keys imported: 1
>> gpg: key 82240EDCAB80DA83: public key "Charlie Guix <char...@example.org>" 
>> imported
>> gpg: Total number processed: 1
>> gpg:               imported: 1
>> gpg: key 82240EDCAB80DA83: "Charlie Guix <char...@example.org>" not changed
>> gpg: key 82240EDCAB80DA83: secret key imported
>> gpg: Total number processed: 1
>> gpg:              unchanged: 1
>> gpg:       secret keys read: 1
>> gpg:   secret keys imported: 1
>> hint: Using 'master' as the name for the initial branch. This default branch 
>> name
>> hint: is subject to change. To configure the initial branch name to use in 
>> all
>> hint: of your new repositories, which will suppress this warning, call:
>> hint: 
>> hint:        git config --global init.defaultBranch <name>
>> hint: 
>> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
>> hint: 'development'. The just-created branch can be renamed via this command:
>> hint: 
>> hint:        git branch -m <name>
>> Initialized empty Git repository in /tmp/guix-directory.lBAODg/.git/
>> [master (root-commit) 7751367] zeroth commit
>>  3 files changed, 21 insertions(+)
>>  create mode 100644 .guix-authorizations
>>  create mode 100644 signer1.key
>>  create mode 100644 signer2.key
>> error: gpg failed to sign the data
>> fatal: failed to write commit object
>> #<&invoke-error program: "git" arguments: ("-C" "/tmp/guix-directory.MSVoqO" 
>> "commit" "-m" "first commit" "--gpg-sign=44D3 1E21 AF71 38F9 B632  280A 771F 
>> 49CB FAAE 072D") exit-status: 128 term-signal: #f stop-signal: #f>)
>> result: FAIL
>> 
>> test-name: signed commits, .guix-authorizations
>> location: /<<PKGBUILDDIR>>/tests/git-authenticate.scm:113
>> source:
>> + (test-assert
>> +   "signed commits, .guix-authorizations"
>> +   (with-fresh-gnupg-setup
>> +     (list %ed25519-public-key-file
>> +           %ed25519-secret-key-file)
>> +     (with-temporary-git-repository
>> +       directory
>> +       `((add "signer.key"
>> +              ,(call-with-input-file
>> +                 %ed25519-public-key-file
>> +                 get-string-all))
>> +         (add ".guix-authorizations"
>> +              ,(object->string
>> +                 `(authorizations
>> +                    (version 0)
>> +                    ((,(key-fingerprint %ed25519-public-key-file)
>> +                      (name "Charlie"))))))
>> +         (commit "zeroth commit")
>> +         (add "a.txt" "A")
>> +         (commit
>> +           "first commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file)))
>> +         (add ".guix-authorizations"
>> +              ,(object->string `(authorizations (version 0) ())))
>> +         (commit
>> +           "second commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file)))
>> +         (add "b.txt" "B")
>> +         (commit
>> +           "third commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file))))
>> +       (with-repository
>> +         directory
>> +         repository
>> +         (let ((commit1 (find-commit repository "first"))
>> +               (commit2 (find-commit repository "second"))
>> +               (commit3 (find-commit repository "third")))
>> +           (and (authenticate-commits
>> +                  repository
>> +                  (list commit1 commit2)
>> +                  #:keyring-reference
>> +                  "master")
>> +                (guard (c ((unauthorized-commit-error? c)
>> +                           (and (oid=? (git-authentication-error-commit c)
>> +                                       (commit-id commit3))
>> +                                (bytevector=?
>> +                                  (openpgp-public-key-fingerprint
>> +                                    (unauthorized-commit-error-signing-key 
>> c))
>> +                                  (openpgp-public-key-fingerprint
>> +                                    (read-openpgp-packet
>> +                                      %ed25519-public-key-file))))))
>> +                       (authenticate-commits
>> +                         repository
>> +                         (list commit1 commit2 commit3)
>> +                         #:keyring-reference
>> +                         "master")
>> +                       'failed)))))))
>> actual-value: #f
>> actual-error:
>> + (%exception
>> +   #<&invoke-error program: "git" arguments: ("-C" 
>> "/tmp/guix-directory.fQ5WSP" "commit" "-m" "first commit" "--gpg-sign=44D3 
>> 1E21 AF71 38F9 B632  280A 771F 49CB FAAE 072D") exit-status: 128 
>> term-signal: #f stop-signal: #f>)
>> result: FAIL
>> 
>> test-name: signed commits, .guix-authorizations, unauthorized merge
>> location: /<<PKGBUILDDIR>>/tests/git-authenticate.scm:161
>> source:
>> + (test-assert
>> +   "signed commits, .guix-authorizations, unauthorized merge"
>> +   (with-fresh-gnupg-setup
>> +     (list %ed25519-public-key-file
>> +           %ed25519-secret-key-file
>> +           %ed25519bis-public-key-file
>> +           %ed25519bis-secret-key-file)
>> +     (with-temporary-git-repository
>> +       directory
>> +       `((add "signer1.key"
>> +              ,(call-with-input-file
>> +                 %ed25519-public-key-file
>> +                 get-string-all))
>> +         (add "signer2.key"
>> +              ,(call-with-input-file
>> +                 %ed25519bis-public-key-file
>> +                 get-string-all))
>> +         (add ".guix-authorizations"
>> +              ,(object->string
>> +                 `(authorizations
>> +                    (version 0)
>> +                    ((,(key-fingerprint %ed25519-public-key-file)
>> +                      gpg: keybox '/tmp/guix-directory.kVTDHR/pubring.kbx' 
>> created
>> gpg: /tmp/guix-directory.kVTDHR/trustdb.gpg: trustdb created
>> gpg: key 771F49CBFAAE072D: public key "Ed Two-Fifty 
>> <ludo+test-...@chbouib.org>" imported
>> gpg: Total number processed: 1
>> gpg:               imported: 1
>> gpg: key 771F49CBFAAE072D: "Ed Two-Fifty <ludo+test-...@chbouib.org>" not 
>> changed
>> gpg: key 771F49CBFAAE072D: secret key imported
>> gpg: Total number processed: 1
>> gpg:              unchanged: 1
>> gpg:       secret keys read: 1
>> gpg:   secret keys imported: 1
>> gpg: key 82240EDCAB80DA83: public key "Charlie Guix <char...@example.org>" 
>> imported
>> gpg: Total number processed: 1
>> gpg:               imported: 1
>> gpg: key 82240EDCAB80DA83: "Charlie Guix <char...@example.org>" not changed
>> gpg: key 82240EDCAB80DA83: secret key imported
>> gpg: Total number processed: 1
>> gpg:              unchanged: 1
>> gpg:       secret keys read: 1
>> gpg:   secret keys imported: 1
>> hint: Using 'master' as the name for the initial branch. This default branch 
>> name
>> hint: is subject to change. To configure the initial branch name to use in 
>> all
>> hint: of your new repositories, which will suppress this warning, call:
>> hint: 
>> hint:        git config --global init.defaultBranch <name>
>> hint: 
>> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
>> hint: 'development'. The just-created branch can be renamed via this command:
>> hint: 
>> hint:        git branch -m <name>
>> Initialized empty Git repository in /tmp/guix-directory.8L1Hl8/.git/
>> [master (root-commit) 9f42a45] zeroth commit
>>  3 files changed, 21 insertions(+)
>>  create mode 100644 .guix-authorizations
>>  create mode 100644 signer1.key
>>  create mode 100644 signer2.key
>> error: gpg failed to sign the data
>> fatal: failed to write commit object
>> (name "Alice"))))))
>> +         (commit "zeroth commit")
>> +         (add "a.txt" "A")
>> +         (commit
>> +           "first commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file)))
>> +         (branch "devel")
>> +         (checkout "devel")
>> +         (add "devel/1.txt" "1")
>> +         (commit
>> +           "first devel commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519bis-public-key-file)))
>> +         (checkout "master")
>> +         (add "b.txt" "B")
>> +         (commit
>> +           "second commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file)))
>> +         (merge "devel"
>> +                "merge"
>> +                (signer
>> +                  ,(key-fingerprint %ed25519-public-key-file))))
>> +       (with-repository
>> +         directory
>> +         repository
>> +         (let ((master1 (find-commit repository "first commit"))
>> +               (master2
>> +                 (find-commit repository "second commit"))
>> +               (devel1
>> +                 (find-commit repository "first devel commit"))
>> +               (merge (find-commit repository "merge")))
>> +           (define (correct? c commit)
>> +             (and (oid=? (git-authentication-error-commit c)
>> +                         (commit-id commit))
>> +                  (bytevector=?
>> +                    (openpgp-public-key-fingerprint
>> +                      (unauthorized-commit-error-signing-key c))
>> +                    (openpgp-public-key-fingerprint
>> +                      (read-openpgp-packet %ed25519bis-public-key-file)))))
>> +           (and (authenticate-commits
>> +                  repository
>> +                  (list master1 master2)
>> +                  #:keyring-reference
>> +                  "master")
>> +                (guard (c ((unauthorized-commit-error? c)
>> +                           (correct? c devel1)))
>> +                       (authenticate-commits
>> +                         repository
>> +                         (list master1 devel1)
>> +                         #:keyring-reference
>> +                         "master")
>> +                       #f)
>> +                (guard (c ((unauthorized-commit-error? c)
>> +                           (correct? c devel1)))
>> +                       (authenticate-commits
>> +                         repository
>> +                         (list master1 master2 devel1 merge)
>> +                         #:keyring-reference
>> +                         "master")
>> +                       #f)))))))
>> actual-value: #f
>> actual-error:
>> + (%exception
>> +   #<&invoke-error program: "git" arguments: ("-C" 
>> "/tmp/guix-directory.lBAODg" "commit" "-m" "first commit" "--gpg-sign=44D3 
>> 1E21 AF71 38F9 B632  280A 771F 49CB FAAE 072D") exit-status: 128 
>> term-signal: #f stop-signal: #f>)
>> result: FAIL
>> 
>> test-name: signed commits, .guix-authorizations, authorized merge
>> location: /<<PKGBUILDDIR>>/tests/git-authenticate.scm:230
>> source:
>> + (test-assert
>> +   "signed commits, .guix-authorizations, authorized merge"
>> +   (with-fresh-gnupg-setup
>> +     (list %ed25519-public-key-file
>> +           %ed25519-secret-key-file
>> +           %ed25519bis-public-key-file
>> +           %ed25519bis-secret-key-file)
>> +     (with-temporary-git-repository
>> +       directory
>> +       `((add "signer1.key"
>> +              ,(call-with-input-file
>> +                 %ed25519-public-key-file
>> +                 get-string-all))
>> +         (add "signer2.key"
>> +              ,(call-with-input-file
>> +                 %ed25519bis-public-key-file
>> +                 get-string-all))
>> +         (add ".guix-authorizations"
>> +              ,(object->string
>> +                 `(authorizations
>> +                    (version 0)
>> +                    ((,(key-fingerprint %ed25519-public-key-file)
>> +                      (name "Alice"))))))
>> +         (commit "zeroth commit")
>> +         (add "a.txt" "A")
>> +         (commit
>> +           "first commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file)))
>> +         (branch "devel")
>> +         (checkout "devel")
>> +         (add ".guix-authorizations"
>> +              ,(object->string
>> +                 `(authorizations
>> +         gpg: keybox '/tmp/guix-directory.Mnjjy1/pubring.kbx' created
>> gpg: /tmp/guix-directory.Mnjjy1/trustdb.gpg: trustdb created
>> gpg: key 771F49CBFAAE072D: public key "Ed Two-Fifty 
>> <ludo+test-...@chbouib.org>" imported
>> gpg: Total number processed: 1
>> gpg:               imported: 1
>> gpg: key 771F49CBFAAE072D: "Ed Two-Fifty <ludo+test-...@chbouib.org>" not 
>> changed
>> gpg: key 771F49CBFAAE072D: secret key imported
>> gpg: Total number processed: 1
>> gpg:              unchanged: 1
>> gpg:       secret keys read: 1
>> gpg:   secret keys imported: 1
>> hint: Using 'master' as the name for the initial branch. This default branch 
>> name
>> hint: is subject to change. To configure the initial branch name to use in 
>> all
>> hint: of your new repositories, which will suppress this warning, call:
>> hint: 
>> hint:        git config --global init.defaultBranch <name>
>> hint: 
>> hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
>> hint: 'development'. The just-created branch can be renamed via this command:
>> hint: 
>> hint:        git branch -m <name>
>> Initialized empty Git repository in /tmp/guix-directory.qVank5/.git/
>> [master (root-commit) cc8f994] zeroth commit
>>  2 files changed, 11 insertions(+)
>>  create mode 100644 .guix-authorizations
>>  create mode 100644 signer.key
>> error: gpg failed to sign the data
>> fatal: failed to write commit object
>>            (version 0)
>> +                    ((,(key-fingerprint %ed25519-public-key-file)
>> +                      (name "Alice"))
>> +                     (,(key-fingerprint %ed25519bis-public-key-file))))))
>> +         (commit
>> +           "first devel commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file)))
>> +         (add "devel/2.txt" "2")
>> +         (commit
>> +           "second devel commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519bis-public-key-file)))
>> +         (checkout "master")
>> +         (add "b.txt" "B")
>> +         (commit
>> +           "second commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file)))
>> +         (merge "devel"
>> +                "merge"
>> +                (signer
>> +                  ,(key-fingerprint %ed25519-public-key-file)))
>> +         (add "c.txt" "C")
>> +         (commit
>> +           "third commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519bis-public-key-file))))
>> +       (with-repository
>> +         directory
>> +         repository
>> +         (let ((master1 (find-commit repository "first commit"))
>> +               (master2
>> +                 (find-commit repository "second commit"))
>> +               (devel1
>> +                 (find-commit repository "first devel commit"))
>> +               (devel2
>> +                 (find-commit repository "second devel commit"))
>> +               (merge (find-commit repository "merge"))
>> +               (master3 (find-commit repository "third commit")))
>> +           (authenticate-commits
>> +             repository
>> +             (list master1
>> +                   master2
>> +                   devel1
>> +                   devel2
>> +                   merge
>> +                   master3)
>> +             #:keyring-reference
>> +             "master"))))))
>> actual-value: #f
>> actual-error:
>> + (%exception
>> +   #<&invoke-error program: "git" arguments: ("-C" 
>> "/tmp/guix-directory.8L1Hl8" "commit" "-m" "first commit" "--gpg-sign=44D3 
>> 1E21 AF71 38F9 B632  280A 771F 49CB FAAE 072D") exit-status: 128 
>> term-signal: #f stop-signal: #f>)
>> result: FAIL
>> 
>> test-name: signed commits, .guix-authorizations removed
>> location: /<<PKGBUILDDIR>>/tests/git-authenticate.scm:290
>> source:
>> + (test-assert
>> +   "signed commits, .guix-authorizations removed"
>> +   (with-fresh-gnupg-setup
>> +     (list %ed25519-public-key-file
>> +           %ed25519-secret-key-file)
>> +     (with-temporary-git-repository
>> +       directory
>> +       `((add "signer.key"
>> +              ,(call-with-input-file
>> +                 %ed25519-public-key-file
>> +                 get-string-all))
>> +         (add ".guix-authorizations"
>> +              ,(object->string
>> +                 `(authorizations
>> +                    (version 0)
>> +                    ((,(key-fingerprint %ed25519-public-key-file)
>> +                      (name "Charlie"))))))
>> +         (commit "zeroth commit")
>> +         (add "a.txt" "A")
>> +         (commit
>> +           "first commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file)))
>> +         (remove ".guix-authorizations")
>> +         (commit
>> +           "second commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file)))
>> +         (add "b.txt" "B")
>> +         (commit
>> +           "third commit"
>> +           (signer
>> +             ,(key-fingerprint %ed25519-public-key-file))))
>> +       (with-repository
>> +         directory
>> +         repository
>> +         (let ((commit1 (find-commit repository "first"))
>> +               (commit2 (find-commit repository "second"))
>> +               (commit3 (find-commit repository "third")))
>> +           (and (authenticate-commits
>> +                  repository
>> +                  (list commit1 commit2)
>> +                  #:keyring-reference
>> +                  "master")
>> +                (guard (c ((unauthorized-commit-error? c)
>> +                           (oid=? (git-authentication-error-commit c)
>> +                                  (commit-id commit2))))
>> +                       (authenticate-commits
>> +                         repository
>> +                         (list commit1 commit2 commit3)
>> +                         #:keyring-reference
>> +                         "master")
>> +                       'failed)))))))
>> actual-value: #f
>> actual-error:
>> + (%exception
>> +   #<&invoke-error program: "git" arguments: ("-C" 
>> "/tmp/guix-directory.qVank5" "commit" "-m" "first commit" "--gpg-sign=44D3 
>> 1E21 AF71 38F9 B632  280A 771F 49CB FAAE 072D") exit-status: 128 
>> term-signal: #f stop-signal: #f>)
>> result: FAIL
...
>> ============================================================================
>> Testsuite summary for GNU Guix 1.3.0
>> ============================================================================
>> # TOTAL: 1885
>> # PASS:  1657
>> # SKIP:  217
>> # XFAIL: 2
>> # FAIL:  9
>> # XPASS: 0
>> # ERROR: 0
>> ============================================================================
>> See ./test-suite.log
>> Please report to bug-g...@gnu.org
>> ============================================================================
>> make[6]: *** [Makefile:6071: test-suite.log] Error 1
>> make[6]: Leaving directory '/<<PKGBUILDDIR>>'
>> make[5]: *** [Makefile:6179: check-TESTS] Error 2
>> make[5]: Leaving directory '/<<PKGBUILDDIR>>'
>> make[4]: *** [Makefile:6427: check-am] Error 2
>> make[4]: Leaving directory '/<<PKGBUILDDIR>>'
>> make[3]: *** [Makefile:5956: check-recursive] Error 1
>> make[3]: Leaving directory '/<<PKGBUILDDIR>>'
>> make[2]: *** [Makefile:6429: check] Error 2
>> make[2]: Leaving directory '/<<PKGBUILDDIR>>'
>> dh_auto_test: error: make -j1 check "TESTSUITEFLAGS=-j1 --verbose" VERBOSE=1 
>> RES_OPTIONS=attempts:0 AM_SCM_LOG_DRIVER_FLAGS=--brief=no returned exit code 
>> 2
>
>
> The full build log is available from:
> http://qa-logs.debian.net/2022/05/25/guix_1.3.0-4_unstable.log
>
> All bugs filed during this archive rebuild are listed at:
> https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20220525;users=lu...@debian.org
> or:
> https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20220525&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results
>
> A list of current common problems and possible solutions is available at
> http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
>
> If you reassign this bug to another package, please marking it as 
> 'affects'-ing
> this package. See https://www.debian.org/Bugs/server-control#affects
>
> If you fail to reproduce this, please provide a build log and diff it with 
> mine
> so that we can identify if something relevant changed in the meantime.

It also frequently FTBFS due to test failures on
tests.reproducible-builds.org, but usually not on
buildd.debian.org... so there must be something that is prone to
triggering these issues in certain environments.

Will do a local build to see if I can reproduce the failure, various
dependencies have since the last guix upload which might trigger some of
these issues...


Thanks again for doing the rebuild testing!


live well,
  vagrant

Attachment: signature.asc
Description: PGP signature

Reply via email to