GH Scallywag CI fails - No public key?
Brian Inglis
Brian.Inglis@SystematicSW.ab.ca
Mon Sep 21 09:30:24 GMT 2026
On 2026-09-20 15:28, Brian Inglis via Cygwin-apps wrote:
> On 2026-09-20 09:30, Jon Turney via Cygwin-apps wrote:
>> On 20/09/2026 12:58, Brian Inglis via Cygwin-apps wrote:
>>> Hi folks,
>>>
>>> Not clear why job is failing, unless public key required (hkp:// pgpkeys.eu -
>>> can we add or prefix this - keyservers seem to be going hkp: rather than
>>> hkps: which no longer always seems to work)?
>>
>> Hmm.. yeah, this is non-obvious.
>>
>> I think maybe this is failing because the exit status of the last command
>> src_unpack_hook() ran is non-zero.
>>
>> So maybe it just needs a 'return 0' at the end?
>
> Most of the hook is tests which should absorb any errexit, it displays the step
> message, the `mkdir -p` and the final `cp` succeeds, so should make no diff, and
> on return, it is immediately followed by `cd` which returns 0?
>
>> (This needs to be more clearly documented and/or reported, though!)
>>
>>> The package includes a python download/install script to retrieve and install
>>> source test data, so rather than run at build time, in the unpack hook,
>>> extract the URI and file info from the script JSON params, fetch (from the GH
>>> pillow repo), unpack, and install the source test data (name with spaces) to
>>> tests/data directory (under a different name without spaces).
>>
>> I'm curious why spaces are a problem here?
>
> Just a requirement for quoting as unusual in Unix builds.
>
>>> Another issue is the tests require using meson, which seems to mess up our
>>> packaging, and support for which is described in the package as experimental.
>>
>> Doing 'inherit meson' after you've defined src_compile and src_install is
>> going to redefine them to the default meson version of those.
>>
>> This is why putting inherits at the top of the file is the norm.
>
> Was hoping to avoid side effects and still add tests, so I have to change to a
> meson build, and test in playground, until safe.
>
>>> https://cygwin.com/cgit/cygwin-packages/freetype2/commit/?h=playground
>>>
>>> https://github.com/cygwin/scallywag/actions/runs/35507452467/job/106069562277
>>>
>>> >>> Preparing freetype2-2.14.3-1.x86_64
>>> *** Info: SOURCE 1 signature follows:
>>> gpg: directory '/home/runneradmin/.gnupg' created
>>> gpg: Signature made Sun, Mar 22, 2026 3:20:00 PM UTC
>>> gpg: using RSA key E30674707856409FF1948010BE6C3AAC63AD8E3F
>>> gpg: sending fd 7 to keyboxd: Not implemented <GnuPG>
>>> gpg: Can't check signature: No public key
>>> *** Info: SOURCE 2 signature follows:
>>> gpg: Signature made Sun, Mar 22, 2026 3:20:01 PM UTC
>>> gpg: using RSA key E30674707856409FF1948010BE6C3AAC63AD8E3F
>>> gpg: sending fd 7 to keyboxd: Not implemented <GnuPG>
>>> gpg: Can't check signature: No public key
>>> *** Info: SOURCE 3 signature follows:
>>> gpg: Signature made Sun, Mar 22, 2026 3:20:00 PM UTC
>>> gpg: using RSA key E30674707856409FF1948010BE6C3AAC63AD8E3F
>>> gpg: sending fd 7 to keyboxd: Not implemented <GnuPG>
>>> gpg: Can't check signature: No public key
>>
>> I'm kind of perplexed by this.
>>
>> If .sig files are listed in the SRC_URI and gpg is available, they will by
>> checked.
>>
>> But I don't see any sign that our gnupg package is installed, so I'm not sure
>> what's going on there.
$ which -a gpg gpg2
/usr/bin/gpg
/proc/cygdrive/c/Program Files/GnuPG/bin/gpg
/usr/bin/gpg2
In my case /proc/cygdrive/c/Program Files/GnuPG/bin/gpgconf -X confirms this is
actually a GPG4Win install I did to keep Thunderbird and other Windows
encryption up to date.
It appears gnupg2 is installed by Scallywag cygwin-install-action or a
dependency (lib/GpgME?):
install gnupg2 2.5.22-1
but always use gpg2/gpgv2 commands to avoid path aliasing just in case:
$ llgo /bin/gpg*2
lrwxrwxrwx 1 3 Sep 10 02:39 /bin/gpg2 -> gpg*
lrwxrwxrwx 1 4 Sep 10 02:39 /bin/gpgv2 -> gpgv*
and I have no idea what the default conf may be, or where it comes from?
> It must be as it prompts and complains: can't access keyserver(s) (firewall?),
> or none configured by default?
> Where does keyboxd come in?
>
> Oops - I am seeing:
>
> $ which -a keyboxd
> /proc/cygdrive/c/Program Files/GnuPG/bin/keyboxd
> $ cygcheck -p keyboxd
> Found 6 matches for keyboxd
> gnupg2-debuginfo-2.5.20-1 - gnupg2-debuginfo: Debug info for gnupg2
> gnupg2-debuginfo-2.5.21-1 - gnupg2-debuginfo: Debug info for gnupg2
> gnupg2-debuginfo-2.5.22-1 - gnupg2-debuginfo: Debug info for gnupg2
> gnupg2-2.5.20-1 - gnupg2: GNU tool for secure communication and data storage
> gnupg2-2.5.21-1 - gnupg2: GNU tool for secure communication and data storage
> gnupg2-2.5.22-1 - gnupg2: GNU tool for secure communication and data storage
> $ l /usr/libexec/keyboxd
> /usr/libexec/keyboxd*
>
> I changed all my keyservers in .gnupg gpg.conf and dirmngr.conf from hkps to hkp
> as they were not working with the suffix, then --receive-keys worked again.
Does not seem to be an issue - both hkp{,s}:// seem to work okay!
>> Probably the answer to your original question about what to do about the
>> public key is to define some mechanism for cygport to read it from somwhere...
>> but I'm not sure if that should be in the package repository or in a bundle
>> that cygport installs?
>
> SCALLYWAG or Cygport prep env var?
>
>> (and we ought to make the use of signatures mandatory for supply-chain
>> security reasons, but SHTDI...)
>
> Just related, not seeing (dateutils) ...tar.asc used to check ...tar.xz - does
> it need to be a suffix to the compressed file to check that, and uncompressed
> independent of compression not supported, although PTC? ;^>
--
Take care. Thanks, Brian Inglis Calgary, Alberta, Canada
La perfection est atteinte Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher but when there is no more to cut
-- Antoine de Saint-Exupéry
More information about the Cygwin-apps
mailing list