Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Builds (python_gnupg-0.5.2-py2.py3-none-any.whl.asc 404 not found) #78

Open
maltfield opened this issue Feb 26, 2024 · 155 comments
Open

Comments

@maltfield
Copy link
Member

Describe the bug
Currently it's not possible to build the BusKill app due to gpg signing issues with the python-gnupg dependency

To Reproduce
I've tested this on Linux, but it should be an issue on all platforms

Steps to reproduce the behavior:

Execute the following on Debian 11

sudo su -
sudo apt-get install git
git clone https://github.com/BusKill/buskill-app.git
cd buskill-app/
build/linux/debianWrapper.sh

You'll get the following error

user@buskill:~/sandbox/buskill-app$ build/linux/debianWrapper.sh 
...
Successfully installed Kivy-1.11.1 Kivy-Garden-0.1.4 certifi-2020.6.20 chardet-3.0.4 docutils-0.16 idna-2.10 pygments-2.6.1 requests-2.24.0 urllib3-1.25.9
++ mktemp -d
+ tmpDir=/tmp/tmp.TxQFtmxBry
+ chown _apt:root /tmp/tmp.TxQFtmxBry
+ chmod 0770 /tmp/tmp.TxQFtmxBry
+ pushd /tmp/tmp.TxQFtmxBry
+ /bin/su _apt -s /bin/bash -c '/tmp/kivy_appdir/AppRun -m pip download python-gnupg'
/tmp/tmp.TxQFtmxBry ~/buskill-app
WARNING: The directory '/nonexistent/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting python-gnupg
  Downloading python_gnupg-0.5.2-py2.py3-none-any.whl (20 kB)
  Saved ./python_gnupg-0.5.2-py2.py3-none-any.whl
Successfully downloaded python-gnupg
WARNING: You are using pip version 20.1.1; however, version 24.0 is available.
You should consider upgrading via the '/tmp/kivy_appdir/opt/python3.7/bin/python3.7 -m pip install --upgrade pip' command.
++ head -n1
++ ls -1
+ filename=python_gnupg-0.5.2-py2.py3-none-any.whl
++ /bin/su _apt -s /bin/bash -c 'curl -s https://pypi.org/simple/python-gnupg/'
++ grep -oE 'https://.*python_gnupg-0.5.2-py2.py3-none-any.whl#'
++ sed s/#/.asc/
+ signature_url=https://files.pythonhosted.org/packages/5f/86/18938c2378a8c8284910308b93e2bc521a965ced4ca028947e1ffa6e98dc/python_gnupg-0.5.2-py2.py3-none-any.whl.asc
+ /bin/su _apt -s /bin/bash -c 'wget "https://files.pythonhosted.org/packages/5f/86/18938c2378a8c8284910308b93e2bc521a965ced4ca028947e1ffa6e98dc/python_gnupg-0.5.2-py2.py3-none-any.whl.asc"'
--2024-02-26 01:35:40--  https://files.pythonhosted.org/packages/5f/86/18938c2378a8c8284910308b93e2bc521a965ced4ca028947e1ffa6e98dc/python_gnupg-0.5.2-py2.py3-none-any.whl.asc
Resolving files.pythonhosted.org (files.pythonhosted.org)... 199.232.44.223, 2a04:4e42:48::223
Connecting to files.pythonhosted.org (files.pythonhosted.org)|199.232.44.223|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2024-02-26 01:35:42 ERROR 404: Not Found.

+ mkdir gnupg
+ chmod 0700 gnupg
+ popd
+ gpg --homedir /tmp/tmp.TxQFtmxBry/gnupg --import build/deps/python-gnupg.asc
~/buskill-app
gpg: keybox '/tmp/tmp.TxQFtmxBry/gnupg/pubring.kbx' created
gpg: /tmp/tmp.TxQFtmxBry/gnupg/trustdb.gpg: trustdb created
gpg: key 9147B477339A9B86: public key "Vinay Sajip (CODE SIGNING KEY) <vinay_sajip@yahoo.co.uk>" imported
gpg: Total number processed: 1
gpg:               imported: 1
+ gpgv --homedir /tmp/tmp.TxQFtmxBry/gnupg --keyring /tmp/tmp.TxQFtmxBry/gnupg/pubring.kbx /tmp/tmp.TxQFtmxBry/python_gnupg-0.5.2-py2.py3-none-any.whl.asc /tmp/tmp.TxQFtmxBry/python_gnupg-0.5.2-py2.py3-none-any.whl
gpgv: can't open '/tmp/tmp.TxQFtmxBry/python_gnupg-0.5.2-py2.py3-none-any.whl.asc': No such file or directory
gpgv: verify signatures failed: No such file or directory
ERROR: Invalid PGP signature!
+ [[ 2 -ne 0 ]]
+ echo 'ERROR: Invalid PGP signature!'
+ exit 1
+ chown -R user dist
+ exit 0
+ exit 0
user@buskill:~/sandbox/buskill-app$

Expected behavior
The build should be able to verify the authenticity of the python_gnupg package and proceed with building the BusKill app

@maltfield maltfield changed the title Fix Builds Fix Builds (python_gnupg-0.5.2-py2.py3-none-any.whl.asc 404 not found) Feb 26, 2024
@maltfield
Copy link
Member Author

In the past, we've had build issues due to the verification of this same python_gnupg python module, but only on MacOS

  1. Fix MacOS Builds (curl dyld Library not loaded for libunistring.2.dylib) #70
  2. Fix MacOS Builds #72

In the above issues, the issue was a tooling issue with the availability of curl/wget on MacOS.

But in this case, it appears that the file actually has disappeared from the server. I cannot fetch it, for example, on my local machine

user@buskill:~$ wget https://files.pythonhosted.org/packages/5f/86/18938c2378a8c8284910308b93e2bc521a965ced4ca028947e1ffa6e98dc/python_gnupg-0.5.2-py2.py3-none-any.whl
--2024-02-25 22:08:59--  https://files.pythonhosted.org/packages/5f/86/18938c2378a8c8284910308b93e2bc521a965ced4ca028947e1ffa6e98dc/python_gnupg-0.5.2-py2.py3-none-any.whl
Resolving files.pythonhosted.org (files.pythonhosted.org)... 151.101.124.223, 2a04:4e42:1e::223
Connecting to files.pythonhosted.org (files.pythonhosted.org)|151.101.124.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 20964 (20K) [binary/octet-stream]
Saving to: ‘python_gnupg-0.5.2-py2.py3-none-any.whl’

python_gnupg-0.5.2- 100%[===================>]  20.47K  --.-KB/s    in 0.02s   

2024-02-25 22:09:00 (868 KB/s) - ‘python_gnupg-0.5.2-py2.py3-none-any.whl’ saved [20964/20964]

user@buskill:~$ 

user@buskill:~$ wget https://files.pythonhosted.org/packages/5f/86/18938c2378a8c8284910308b93e2bc521a965ced4ca028947e1ffa6e98dc/python_gnupg-0.5.2-py2.py3-none-any.whl.asc
--2024-02-25 22:09:03--  https://files.pythonhosted.org/packages/5f/86/18938c2378a8c8284910308b93e2bc521a965ced4ca028947e1ffa6e98dc/python_gnupg-0.5.2-py2.py3-none-any.whl.asc
Resolving files.pythonhosted.org (files.pythonhosted.org)... 151.101.124.223, 2a04:4e42:1e::223
Connecting to files.pythonhosted.org (files.pythonhosted.org)|151.101.124.223|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2024-02-25 22:09:04 ERROR 404: Not Found.

user@buskill:~$ 

@maltfield
Copy link
Member Author

I checked the package's page on the PyPI project's website. If there's a newer version, then it might make sense that the archived version somehow got orphaned from its signature? If so, it's a bug that we should report

Anyway, it appears that the version hasn't changed since the one we pegged as a dependency. The latest version is still v0.5.2

@maltfield
Copy link
Member Author

maltfield commented Feb 26, 2024

I was digging through my notes and found that my old link to hash checking in PyPI is stale

The above link points to a new location which, after some digging, brings you here

Woah, that's dangerous. The above link suggests that hash checking in pip somehow adds security to verify packages are not malicious when turned-on. This is dangerous misinformation. pip doesn't have any built-in mechanism to cryptographically verify the authenticity of packages (although they've been working on this since 2019).

The whole reason we have this awkward manual gpg check is because pip doesn't have a secure way to download software. Fortunately, twine does have PGP signing support, as documented here:

Anyway, I opened a ticket with PyPI to fix their documentation to move the hashing section outside of the Secure Install section and to add a big warning indicating to users that hashes does not provide any secure verification checks

@maltfield
Copy link
Member Author

I opened an upstream bug about this here:

@maltfield
Copy link
Member Author

maltfield commented Feb 27, 2024

I switched to fetching the files from GitHub, but now I have an issue with verifying the signature of the libusb1 dependency

Successfully installed Kivy-1.11.1 Kivy-Garden-0.1.4 certifi-2020.6.20 chardet-3.0.4 docutils-0.16 idna-2.10 pygments-2.6.1 requests-2.24.0 urllib3-1.25.9
++ mktemp -d
+ tmpDir=/tmp/tmp.hTMYgQLAMP
+ chown _apt:root /tmp/tmp.hTMYgQLAMP
+ chmod 0770 /tmp/tmp.hTMYgQLAMP
+ pushd /tmp/tmp.hTMYgQLAMP
/tmp/tmp.hTMYgQLAMP ~/buskill-app
+ file_url=https://github.com/vsajip/python-gnupg/releases/download/0.5.2/python_gnupg-0.5.2-py2.py3-none-any.whl
+ signature_url=https://github.com/vsajip/python-gnupg/releases/download/0.5.2/python_gnupg-0.5.2-py2.py3-none-any.whl.asc
+ /bin/su _apt -s /bin/bash -c 'wget "https://github.com/vsajip/python-gnupg/releases/download/0.5.2/python_gnupg-0.5.2-py2.py3-none-any.whl"'
--2024-02-27 00:20:12--  https://github.com/vsajip/python-gnupg/releases/download/0.5.2/python_gnupg-0.5.2-py2.py3-none-any.whl
Resolving github.com (github.com)... 20.248.137.48
Connecting to github.com (github.com)|20.248.137.48|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/436952016/770eba9a-6d0e-489e-beb3-660efc8abc55?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240227%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240227T002015Z&X-Amz-Expires=300&X-Amz-Signature=d6d333e9827488296005b9563b5060663602719b4323be9e940fc2e4019f76de&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=436952016&response-content-disposition=attachment%3B%20filename%3Dpython_gnupg-0.5.2-py2.py3-none-any.whl&response-content-type=application%2Foctet-stream [following]
--2024-02-27 00:20:14--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/436952016/770eba9a-6d0e-489e-beb3-660efc8abc55?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240227%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240227T002015Z&X-Amz-Expires=300&X-Amz-Signature=d6d333e9827488296005b9563b5060663602719b4323be9e940fc2e4019f76de&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=436952016&response-content-disposition=attachment%3B%20filename%3Dpython_gnupg-0.5.2-py2.py3-none-any.whl&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.109.133, 185.199.110.133, 185.199.111.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.109.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 20964 (20K) [application/octet-stream]
Saving to: 'python_gnupg-0.5.2-py2.py3-none-any.whl'

     0K .......... ..........                                 100% 2.51M=0.008s

2024-02-27 00:20:17 (2.51 MB/s) - 'python_gnupg-0.5.2-py2.py3-none-any.whl' saved [20964/20964]

++ ls -1
++ head -n1
+ filename=python_gnupg-0.5.2-py2.py3-none-any.whl
+ /bin/su _apt -s /bin/bash -c 'wget "https://github.com/vsajip/python-gnupg/releases/download/0.5.2/python_gnupg-0.5.2-py2.py3-none-any.whl.asc"'
--2024-02-27 00:20:17--  https://github.com/vsajip/python-gnupg/releases/download/0.5.2/python_gnupg-0.5.2-py2.py3-none-any.whl.asc
Resolving github.com (github.com)... 20.248.137.48
Connecting to github.com (github.com)|20.248.137.48|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/436952016/d1d4da38-0a74-42b8-aa0f-120f13479a30?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240227%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240227T002020Z&X-Amz-Expires=300&X-Amz-Signature=6b0dbdfe514fea43d2a4db573cf3ba5b44c16abcf510ed005368e91f22427422&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=436952016&response-content-disposition=attachment%3B%20filename%3Dpython_gnupg-0.5.2-py2.py3-none-any.whl.asc&response-content-type=application%2Foctet-stream [following]
--2024-02-27 00:20:20--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/436952016/d1d4da38-0a74-42b8-aa0f-120f13479a30?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240227%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240227T002020Z&X-Amz-Expires=300&X-Amz-Signature=6b0dbdfe514fea43d2a4db573cf3ba5b44c16abcf510ed005368e91f22427422&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=436952016&response-content-disposition=attachment%3B%20filename%3Dpython_gnupg-0.5.2-py2.py3-none-any.whl.asc&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 801 [application/octet-stream]
Saving to: 'python_gnupg-0.5.2-py2.py3-none-any.whl.asc'

     0K                                                       100% 38.5M=0s

2024-02-27 00:20:22 (38.5 MB/s) - 'python_gnupg-0.5.2-py2.py3-none-any.whl.asc' saved [801/801]

+ mkdir gnupg
+ chmod 0700 gnupg
+ popd
+ gpg --homedir /tmp/tmp.hTMYgQLAMP/gnupg --import build/deps/python-gnupg.asc
~/buskill-app
gpg: keybox '/tmp/tmp.hTMYgQLAMP/gnupg/pubring.kbx' created
gpg: /tmp/tmp.hTMYgQLAMP/gnupg/trustdb.gpg: trustdb created
gpg: key 9147B477339A9B86: public key "Vinay Sajip (CODE SIGNING KEY) <vinay_sajip@yahoo.co.uk>" imported
gpg: Total number processed: 1
gpg:               imported: 1
+ gpgv --homedir /tmp/tmp.hTMYgQLAMP/gnupg --keyring /tmp/tmp.hTMYgQLAMP/gnupg/pubring.kbx /tmp/tmp.hTMYgQLAMP/python_gnupg-0.5.2-py2.py3-none-any.whl.asc /tmp/tmp.hTMYgQLAMP/python_gnupg-0.5.2-py2.py3-none-any.whl
gpgv: Signature made Tue Dec 12 08:14:22 2023 UTC
gpgv:                using RSA key 9147B477339A9B86
gpgv: Good signature from "Vinay Sajip (CODE SIGNING KEY) <vinay_sajip@yahoo.co.uk>"
+ [[ 0 -ne 0 ]]
+ /tmp/kivy_appdir/AppRun -m pip install --ignore-installed --upgrade --cache-dir build/deps/ --no-index --find-links file:////tmp/tmp.hTMYgQLAMP /tmp/tmp.hTMYgQLAMP/python_gnupg-0.5.2-py2.py3-none-any.whl
WARNING: The directory '/root/buskill-app/build/deps' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Looking in links: file://tmp/tmp.hTMYgQLAMP
Processing /tmp/tmp.hTMYgQLAMP/python_gnupg-0.5.2-py2.py3-none-any.whl
Installing collected packages: python-gnupg
Successfully installed python-gnupg-0.5.2
+ rm -rf /tmp/tmp.hTMYgQLAMP
++ mktemp -d
+ tmpDir=/tmp/tmp.TMbcMBjmCN
+ chown _apt:root /tmp/tmp.TMbcMBjmCN
+ chmod 0770 /tmp/tmp.TMbcMBjmCN
/tmp/tmp.TMbcMBjmCN ~/buskill-app
+ pushd /tmp/tmp.TMbcMBjmCN
+ /bin/su _apt -s /bin/bash -c '/tmp/kivy_appdir/AppRun -m pip download libusb1'
WARNING: The directory '/nonexistent/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting libusb1
  Downloading libusb1-3.1.0-py3-none-any.whl (62 kB)
  Saved ./libusb1-3.1.0-py3-none-any.whl
Successfully downloaded libusb1
WARNING: You are using pip version 20.1.1; however, version 24.0 is available.
You should consider upgrading via the '/tmp/kivy_appdir/opt/python3.7/bin/python3.7 -m pip install --upgrade pip' command.
++ ls -1
++ head -n1
+ filename=libusb1-3.1.0-py3-none-any.whl
++ /bin/su _apt -s /bin/bash -c 'curl -s https://pypi.org/simple/libusb1/'
++ grep -oE 'https://.*libusb1-3.1.0-py3-none-any.whl#'
++ sed s/#/.asc/
+ signature_url=https://files.pythonhosted.org/packages/85/5c/9169aea7690df382b677d9f725accc3ec864849c5ab49991e3823a942392/libusb1-3.1.0-py3-none-any.whl.asc
+ /bin/su _apt -s /bin/bash -c 'wget "https://files.pythonhosted.org/packages/85/5c/9169aea7690df382b677d9f725accc3ec864849c5ab49991e3823a942392/libusb1-3.1.0-py3-none-any.whl.asc"'
--2024-02-27 00:20:34--  https://files.pythonhosted.org/packages/85/5c/9169aea7690df382b677d9f725accc3ec864849c5ab49991e3823a942392/libusb1-3.1.0-py3-none-any.whl.asc
Resolving files.pythonhosted.org (files.pythonhosted.org)... 151.101.164.223, 2a04:4e42:27::223
Connecting to files.pythonhosted.org (files.pythonhosted.org)|151.101.164.223|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2024-02-27 00:20:36 ERROR 404: Not Found.

+ mkdir gnupg
+ chmod 0700 gnupg
~/buskill-app
+ popd
+ gpg --homedir /tmp/tmp.TMbcMBjmCN/gnupg --import build/deps/libusb1.asc
gpg: keybox '/tmp/tmp.TMbcMBjmCN/gnupg/pubring.kbx' created
gpg: /tmp/tmp.TMbcMBjmCN/gnupg/trustdb.gpg: trustdb created
gpg: key CAC936914257B0C1: public key "Vincent Pelletier <vincent.plr@wanadoo.fr>" imported
gpg: Total number processed: 1
gpg:               imported: 1
+ gpgv --homedir /tmp/tmp.TMbcMBjmCN/gnupg --keyring /tmp/tmp.TMbcMBjmCN/gnupg/pubring.kbx /tmp/tmp.TMbcMBjmCN/libusb1-3.1.0-py3-none-any.whl.asc /tmp/tmp.TMbcMBjmCN/libusb1-3.1.0-py3-none-any.whl
gpgv: can't open '/tmp/tmp.TMbcMBjmCN/libusb1-3.1.0-py3-none-any.whl.asc': No such file or directory
gpgv: verify signatures failed: No such file or directory
ERROR: Invalid PGP signature!
+ [[ 2 -ne 0 ]]
+ echo 'ERROR: Invalid PGP signature!'
+ exit 1
+ chown -R user dist
+ exit 0
+ exit 0
user@buskill:~/sandbox/buskill-app$ 

@maltfield
Copy link
Member Author

I opened an upstream bug about this here:

@maltfield
Copy link
Member Author

Per the above ticket, the python-libusb1 project is now uploading their releases (including their release signatures) as GitHub releases, which should enable us to fix this bug by switching from downloading from PyPI to GitHub.

maltfield added a commit that referenced this issue Mar 6, 2024
it looks like the upstream PyPI signature bugs are more widespread than just python_gnupg

I've worked with the devs to ensure releases are getting uploaded to GitHub so our builds aren't blocked by PyPI bugs breaking PGP signatures

 * #78
 * vsajip/python-gnupg#234
 * vpelletier/python-libusb1#96

Now we download from GitHub's website instead of PyPI's website, so 404 errors from PyPI won't break the builds.

TODO: update this to query the GitHub API and grab the latest release (currently they're just hardcoded & pinned as a quick fix)
@maltfield
Copy link
Member Author

I've replaced the download URL for the signed python deps from PyPI to GitHub in all three platform's build scripts, but it looks like MacOS is still having some distinct issues finding the path to pip after upgrade

2024-03-07T23:52:10.4864930Z + /usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/bin/pip3 install --ignore-installed --upgrade --cache-dir build/deps/ --no-index --find-links file:///Users/runner/work/buskill-app/buskill-app/build/deps/ build/deps/pip-20.1.1-py2.py3-none-any.whl
2024-03-07T23:52:10.9370650Z Looking in links: file:///Users/runner/work/buskill-app/buskill-app/build/deps/
2024-03-07T23:52:10.9683600Z Processing ./build/deps/pip-20.1.1-py2.py3-none-any.whl
2024-03-07T23:52:11.0374420Z Installing collected packages: pip
2024-03-07T23:52:12.3176550Z Successfully installed pip-23.3.1
2024-03-07T23:52:12.4074210Z ++ sort -n
2024-03-07T23:52:12.4102550Z ++ uniq
2024-03-07T23:52:12.4104960Z ++ find /usr/local/Cellar/python -type f -wholename '*bin/pip3*'
2024-03-07T23:52:12.4107930Z ++ head -n1
2024-03-07T23:52:12.4108430Z find: /usr/local/Cellar/python: No such file or directory
2024-03-07T23:52:12.4115640Z + PIP_PATH=
2024-03-07T23:52:12.4125740Z ++ pwd
2024-03-07T23:52:12.4131170Z + install --ignore-installed --upgrade --cache-dir build/deps/ --no-index --find-links file:///Users/runner/work/buskill-app/buskill-app/build/deps/ build/deps/setuptools-49.1.0-py3-none-any.whl
2024-03-07T23:52:12.4196800Z install: illegal option -- -

@maltfield
Copy link
Member Author

I'm also struggling with the PowerShell on Windows.

For some reason I can't get the subcommand to work on this curl call. But if I take the same output from the subcommand and paste it into the curl command manually, it works fine

PS C:\> curl -OutFile "$(Split-Path -Leaf ${file_url})" "${file_url}"
Invoke-WebRequest : Illegal characters in path.
At line:1 char:1
+ Invoke-WebRequest -OutFile "$(Split-Path -Leaf ${file_url})" "${file_ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Invoke-WebRequest], ArgumentException
    + FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

PS C:\>

PS C:\> Split-Path -Leaf "${file_url}"
python_gnupg-0.5.2-py2.py3-none-any.whl

PS C:\> curl -OutFile "python_gnupg-0.5.2-py2.py3-none-any.whl" "${file_url}"
PS C:\>

I've asked about this on SE here:

@maltfield
Copy link
Member Author

Update: issue with the windows builds in previous comment was a trailing newline. I fixed it by saving the output of Split-Path to a variable and using trim() on that variable.

@maltfield
Copy link
Member Author

maltfield commented Mar 8, 2024

Windows builds are fixed!

I fixed the issue with the MacOS builds not being able to find PIP_PATH by adding a wildcard glob at the end of /usr/local/Cellar/python*

But, unfortunately, lots of other pip depends are now failing to install

024-03-08T03:55:28.9972210Z + /usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/bin/pip3 install --ignore-installed --upgrade --cache-dir build/deps/ --no-index --find-links file:///Users/runner/work/buskill-app/buskill-app/build/deps/ build/deps/setuptools-49.1.0-py3-none-any.whl
2024-03-08T03:55:29.1427280Z Traceback (most recent call last):
2024-03-08T03:55:29.1428920Z   File "/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/bin/pip3", line 5, in <module>
2024-03-08T03:55:29.1430120Z     from pip._internal.cli.main import main
2024-03-08T03:55:29.1431310Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/main.py", line 10, in <module>
2024-03-08T03:55:29.1432440Z     from pip._internal.cli.autocompletion import autocomplete
2024-03-08T03:55:29.1433710Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
2024-03-08T03:55:29.1435590Z     from pip._internal.cli.main_parser import create_main_parser
2024-03-08T03:55:29.1436890Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
2024-03-08T03:55:29.1437960Z     from pip._internal.cli import cmdoptions
2024-03-08T03:55:29.1440800Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/cmdoptions.py", line 24, in <module>
2024-03-08T03:55:29.1441970Z     from pip._internal.cli.progress_bars import BAR_TYPES
2024-03-08T03:55:29.1443210Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/progress_bars.py", line 12, in <module>
2024-03-08T03:55:29.1444370Z     from pip._internal.utils.logging import get_indentation
2024-03-08T03:55:29.1445570Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/utils/logging.py", line 18, in <module>
2024-03-08T03:55:29.1446660Z     from pip._internal.utils.misc import ensure_dir
2024-03-08T03:55:29.1447770Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/utils/misc.py", line 31, in <module>
2024-03-08T03:55:29.1448780Z     from pip._internal.locations import (
2024-03-08T03:55:29.1450340Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/locations/__init__.py", line 9, in <module>
2024-03-08T03:55:29.1451550Z     from pip._internal.models.scheme import SCHEME_KEYS, Scheme
2024-03-08T03:55:29.1453230Z ImportError: cannot import name 'SCHEME_KEYS' from 'pip._internal.models.scheme' (/usr/local/lib/python3.11/site-packages/pip/_internal/models/scheme.py)
2024-03-08T03:55:29.1600870Z ++ pwd
2024-03-08T03:55:29.1606060Z + /usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/bin/pip3 install --ignore-installed --upgrade --cache-dir build/deps/ --no-index --find-links file:///Users/runner/work/buskill-app/buskill-app/build/deps/ build/deps/wheel-0.34.2-py2.py3-none-any.whl
2024-03-08T03:55:29.3006910Z Traceback (most recent call last):
2024-03-08T03:55:29.3008080Z   File "/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/bin/pip3", line 5, in <module>
2024-03-08T03:55:29.3009800Z     from pip._internal.cli.main import main
2024-03-08T03:55:29.3011050Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/main.py", line 10, in <module>
2024-03-08T03:55:29.3012170Z     from pip._internal.cli.autocompletion import autocomplete
2024-03-08T03:55:29.3013460Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
2024-03-08T03:55:29.3014680Z     from pip._internal.cli.main_parser import create_main_parser
2024-03-08T03:55:29.3015940Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
2024-03-08T03:55:29.3017000Z     from pip._internal.cli import cmdoptions
2024-03-08T03:55:29.3018120Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/cmdoptions.py", line 24, in <module>
2024-03-08T03:55:29.3019260Z     from pip._internal.cli.progress_bars import BAR_TYPES
2024-03-08T03:55:29.3020490Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/progress_bars.py", line 12, in <module>
2024-03-08T03:55:29.3021660Z     from pip._internal.utils.logging import get_indentation
2024-03-08T03:55:29.3022870Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/utils/logging.py", line 18, in <module>
2024-03-08T03:55:29.3023960Z     from pip._internal.utils.misc import ensure_dir
2024-03-08T03:55:29.3025080Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/utils/misc.py", line 31, in <module>
2024-03-08T03:55:29.3026090Z     from pip._internal.locations import (
2024-03-08T03:55:29.3027210Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/locations/__init__.py", line 9, in <module>
2024-03-08T03:55:29.3028410Z     from pip._internal.models.scheme import SCHEME_KEYS, Scheme
2024-03-08T03:55:29.3030100Z ImportError: cannot import name 'SCHEME_KEYS' from 'pip._internal.models.scheme' (/usr/local/lib/python3.11/site-packages/pip/_internal/models/scheme.py)
2024-03-08T03:55:29.3181420Z ++ pwd
2024-03-08T03:55:29.3186770Z + /usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/bin/pip3 install --ignore-installed --upgrade --cache-dir build/deps/ --no-index --find-links file:///Users/runner/work/buskill-app/buskill-app/build/deps/ build/deps/Kivy-1.11.1-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
2024-03-08T03:55:29.4661550Z Traceback (most recent call last):
2024-03-08T03:55:29.4662880Z   File "/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/bin/pip3", line 5, in <module>
2024-03-08T03:55:29.4664470Z     from pip._internal.cli.main import main
2024-03-08T03:55:29.4666110Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/main.py", line 10, in <module>
2024-03-08T03:55:29.4667650Z     from pip._internal.cli.autocompletion import autocomplete
2024-03-08T03:55:29.4669180Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
2024-03-08T03:55:29.4670560Z     from pip._internal.cli.main_parser import create_main_parser
2024-03-08T03:55:29.4672620Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
2024-03-08T03:55:29.4673790Z     from pip._internal.cli import cmdoptions
2024-03-08T03:55:29.4675030Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/cmdoptions.py", line 24, in <module>
2024-03-08T03:55:29.4676280Z     from pip._internal.cli.progress_bars import BAR_TYPES
2024-03-08T03:55:29.4677640Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/progress_bars.py", line 12, in <module>
2024-03-08T03:55:29.4678930Z     from pip._internal.utils.logging import get_indentation
2024-03-08T03:55:29.4680260Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/utils/logging.py", line 18, in <module>
2024-03-08T03:55:29.4681440Z     from pip._internal.utils.misc import ensure_dir
2024-03-08T03:55:29.4683080Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/utils/misc.py", line 31, in <module>
2024-03-08T03:55:29.4684220Z     from pip._internal.locations import (
2024-03-08T03:55:29.4685470Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/locations/__init__.py", line 9, in <module>
2024-03-08T03:55:29.4692810Z     from pip._internal.models.scheme import SCHEME_KEYS, Scheme
2024-03-08T03:55:29.4696270Z ImportError: cannot import name 'SCHEME_KEYS' from 'pip._internal.models.scheme' (/usr/local/lib/python3.11/site-packages/pip/_internal/models/scheme.py)
2024-03-08T03:55:29.4870360Z ++ pwd
2024-03-08T03:55:29.4875950Z + /usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/bin/pip3 install --ignore-installed --upgrade --cache-dir build/deps/ --no-index --find-links file:///Users/runner/work/buskill-app/buskill-app/build/deps/ build/deps/pyinstaller-4.7.tar.gz
2024-03-08T03:55:29.6303010Z Traceback (most recent call last):
2024-03-08T03:55:29.6304690Z   File "/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/bin/pip3", line 5, in <module>
2024-03-08T03:55:29.6306170Z     from pip._internal.cli.main import main
2024-03-08T03:55:29.6307450Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/main.py", line 10, in <module>
2024-03-08T03:55:29.6308590Z     from pip._internal.cli.autocompletion import autocomplete
2024-03-08T03:55:29.6309860Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
2024-03-08T03:55:29.6311100Z     from pip._internal.cli.main_parser import create_main_parser
2024-03-08T03:55:29.6312360Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
2024-03-08T03:55:29.6313420Z     from pip._internal.cli import cmdoptions
2024-03-08T03:55:29.6314540Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/cmdoptions.py", line 24, in <module>
2024-03-08T03:55:29.6315670Z     from pip._internal.cli.progress_bars import BAR_TYPES
2024-03-08T03:55:29.6316910Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/progress_bars.py", line 12, in <module>
2024-03-08T03:55:29.6318100Z     from pip._internal.utils.logging import get_indentation
2024-03-08T03:55:29.6319310Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/utils/logging.py", line 18, in <module>
2024-03-08T03:55:29.6320390Z     from pip._internal.utils.misc import ensure_dir
2024-03-08T03:55:29.6321530Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/utils/misc.py", line 31, in <module>
2024-03-08T03:55:29.6322550Z     from pip._internal.locations import (
2024-03-08T03:55:29.6323670Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/locations/__init__.py", line 9, in <module>
2024-03-08T03:55:29.6324870Z     from pip._internal.models.scheme import SCHEME_KEYS, Scheme
2024-03-08T03:55:29.6326580Z ImportError: cannot import name 'SCHEME_KEYS' from 'pip._internal.models.scheme' (/usr/local/lib/python3.11/site-packages/pip/_internal/models/scheme.py)

It even fails at the end (in the "print debugging info" section) when trying to get the pip version

2024-03-08T03:56:03.3518480Z + /usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/bin/pip3 --version
2024-03-08T03:56:03.4926870Z Traceback (most recent call last):
2024-03-08T03:56:03.4928060Z   File "/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/bin/pip3", line 5, in <module>
2024-03-08T03:56:03.4929260Z     from pip._internal.cli.main import main
2024-03-08T03:56:03.4930470Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/main.py", line 10, in <module>
2024-03-08T03:56:03.4931590Z     from pip._internal.cli.autocompletion import autocomplete
2024-03-08T03:56:03.4932870Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
2024-03-08T03:56:03.4934100Z     from pip._internal.cli.main_parser import create_main_parser
2024-03-08T03:56:03.4935370Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
2024-03-08T03:56:03.4936440Z     from pip._internal.cli import cmdoptions
2024-03-08T03:56:03.4937540Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/cmdoptions.py", line 24, in <module>
2024-03-08T03:56:03.4938680Z     from pip._internal.cli.progress_bars import BAR_TYPES
2024-03-08T03:56:03.4939910Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/progress_bars.py", line 12, in <module>
2024-03-08T03:56:03.4941420Z     from pip._internal.utils.logging import get_indentation
2024-03-08T03:56:03.4942610Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/utils/logging.py", line 18, in <module>
2024-03-08T03:56:03.4944060Z     from pip._internal.utils.misc import ensure_dir
2024-03-08T03:56:03.4946270Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/utils/misc.py", line 31, in <module>
2024-03-08T03:56:03.4947290Z     from pip._internal.locations import (
2024-03-08T03:56:03.4948410Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/locations/__init__.py", line 9, in <module>
2024-03-08T03:56:03.4949620Z     from pip._internal.models.scheme import SCHEME_KEYS, Scheme
2024-03-08T03:56:03.4951360Z ImportError: cannot import name 'SCHEME_KEYS' from 'pip._internal.models.scheme' (/usr/local/lib/python3.11/site-packages/pip/_internal/models/scheme.py)
2024-03-08T03:56:03.5091190Z + /usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/bin/python3.11 -m pip list
2024-03-08T03:56:03.6462720Z Traceback (most recent call last):
2024-03-08T03:56:03.6463950Z   File "<frozen runpy>", line 198, in _run_module_as_main
2024-03-08T03:56:03.6465360Z   File "<frozen runpy>", line 88, in _run_code
2024-03-08T03:56:03.6467210Z   File "/usr/local/lib/python3.11/site-packages/pip/__main__.py", line 23, in <module>
2024-03-08T03:56:03.6468780Z     from pip._internal.cli.main import main as _main  # isort:skip # noqa
2024-03-08T03:56:03.6469580Z     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-03-08T03:56:03.6470680Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/main.py", line 10, in <module>
2024-03-08T03:56:03.6471860Z     from pip._internal.cli.autocompletion import autocomplete
2024-03-08T03:56:03.6473200Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
2024-03-08T03:56:03.6474460Z     from pip._internal.cli.main_parser import create_main_parser
2024-03-08T03:56:03.6475780Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
2024-03-08T03:56:03.6476890Z     from pip._internal.cli import cmdoptions
2024-03-08T03:56:03.6478060Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/cmdoptions.py", line 24, in <module>
2024-03-08T03:56:03.6480010Z     from pip._internal.cli.progress_bars import BAR_TYPES
2024-03-08T03:56:03.6481320Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/progress_bars.py", line 12, in <module>
2024-03-08T03:56:03.6482510Z     from pip._internal.utils.logging import get_indentation
2024-03-08T03:56:03.6483750Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/utils/logging.py", line 18, in <module>
2024-03-08T03:56:03.6484860Z     from pip._internal.utils.misc import ensure_dir
2024-03-08T03:56:03.6486000Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/utils/misc.py", line 31, in <module>
2024-03-08T03:56:03.6487060Z     from pip._internal.locations import (
2024-03-08T03:56:03.6488220Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/locations/__init__.py", line 9, in <module>
2024-03-08T03:56:03.6489450Z     from pip._internal.models.scheme import SCHEME_KEYS, Scheme
2024-03-08T03:56:03.6491170Z ImportError: cannot import name 'SCHEME_KEYS' from 'pip._internal.models.scheme' (/usr/local/lib/python3.11/site-packages/pip/_internal/models/scheme.py)
2024-03-08T03:56:03.6643590Z + which pip3
2024-03-08T03:56:03.6661270Z /usr/local/bin/pip3
2024-03-08T03:56:03.6662710Z + pip3 list
2024-03-08T03:56:03.8124880Z Traceback (most recent call last):
2024-03-08T03:56:03.8125740Z   File "/usr/local/bin/pip3", line 5, in <module>
2024-03-08T03:56:03.8133380Z     from pip._internal.cli.main import main
2024-03-08T03:56:03.8134880Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/main.py", line 10, in <module>
2024-03-08T03:56:03.8136070Z     from pip._internal.cli.autocompletion import autocomplete
2024-03-08T03:56:03.8137410Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
2024-03-08T03:56:03.8138680Z     from pip._internal.cli.main_parser import create_main_parser
2024-03-08T03:56:03.8139990Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
2024-03-08T03:56:03.8141120Z     from pip._internal.cli import cmdoptions
2024-03-08T03:56:03.8142310Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/cmdoptions.py", line 24, in <module>
2024-03-08T03:56:03.8143620Z     from pip._internal.cli.progress_bars import BAR_TYPES
2024-03-08T03:56:03.8144850Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/progress_bars.py", line 12, in <module>
2024-03-08T03:56:03.8146020Z     from pip._internal.utils.logging import get_indentation
2024-03-08T03:56:03.8147220Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/utils/logging.py", line 18, in <module>
2024-03-08T03:56:03.8148300Z     from pip._internal.utils.misc import ensure_dir
2024-03-08T03:56:03.8149420Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/utils/misc.py", line 31, in <module>
2024-03-08T03:56:03.8150430Z     from pip._internal.locations import (
2024-03-08T03:56:03.8151550Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/locations/__init__.py", line 9, in <module>
2024-03-08T03:56:03.8153130Z     from pip._internal.models.scheme import SCHEME_KEYS, Scheme
2024-03-08T03:56:03.8154800Z ImportError: cannot import name 'SCHEME_KEYS' from 'pip._internal.models.scheme' (/usr/local/lib/python3.11/site-packages/pip/_internal/models/scheme.py)

@maltfield
Copy link
Member Author

Looks like I had this issue before, and it was fixed by making sure we used the right python/pip version

@maltfield
Copy link
Member Author

maltfield commented Mar 8, 2024

Google seems to suggest that these SCHEME_KEYS errors mean I need to upgrade pip. And, of course, there's no secure way to do that. Let's 3TOFU again because the fucking pip maintainers don't give a shit about secure supply chain security.

Currently we install pip-20.1.1-py2.py3-none-any.whl

${PIP_PATH} install --ignore-installed --upgrade --cache-dir build/deps/ --no-index --find-links file://`pwd`/build/deps/ build/deps/pip-20.1.1-py2.py3-none-any.whl

Looks like the latest version is 24.0:

@maltfield
Copy link
Member Author

TOFU 1/3 (VPN, exit in Hong Kong) gives sha256sum = ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc

user@disp3820:~$ REMOTE_FILES="https://files.pythonhosted.org/packages/8a/6a/19e9fe04fca059ccf770861c7d5721ab4c2aebc539889e97c7977528a53b/pip-24.0-py3-none-any.whl"

CURL="/usr/bin/curl"
WGET="/usr/bin/wget --retry-on-host-error --retry-connrefused"
PYTHON="/usr/bin/python3"

# in tails, we must torify
if  "`whoami`" == "amnesia" ; then
        CURL="/usr/bin/torify ${CURL}"
        WGET="/usr/bin/torify ${WGET}"
        PYTHON="/usr/bin/torify ${PYTHON}"
fi

tmpDir=`mktemp -d`
pushd "${tmpDir}"

# first get some info about our internet connection
${CURL} -s https://ifconfig.co/country | head -n1
${CURL} -s https://check.torproject.org | grep Congratulations | head -n1

# and today's date
gpg --with-fingerprint --keyid-format 0xlong *
bash: user: command not found
/tmp/tmp.G5nLcLkzB7 ~
Hong Kong
2024-03-08
--2024-03-07 23:25:53--  https://files.pythonhosted.org/packages/8a/6a/19e9fe04fca059ccf770861c7d5721ab4c2aebc539889e97c7977528a53b/pip-24.0-py3-none-any.whl
Resolving files.pythonhosted.org (files.pythonhosted.org)... 151.101.76.223, 2a04:4e42:12::223
Connecting to files.pythonhosted.org (files.pythonhosted.org)|151.101.76.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2110226 (2.0M) [binary/octet-stream]
Saving to: ‘pip-24.0-py3-none-any.whl’

pip-24.0-py3-none-a 100%[===================>]   2.01M  41.6KB/s    in 24s     

2024-03-07 23:26:20 (85.5 KB/s) - ‘pip-24.0-py3-none-any.whl’ saved [2110226/2110226]

Fri 08 Mar 2024 04:26:20 AM UTC
ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc  pip-24.0-py3-none-any.whl
...
user@disp3820:/tmp/tmp.G5nLcLkzB7$ 

@maltfield
Copy link
Member Author

maltfield commented Mar 8, 2024

TOFU 2/3 (Tor, exit in Poland) gives sha256sum = ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc

user@host:~$ REMOTE_FILES="https://files.pythonhosted.org/packages/8a/6a/19e9fe04fca059ccf770861c7d5721ab4c2aebc539889e97c7977528a53b/pip-24.0-py3-none-any.whl" 

CURL="/usr/bin/curl"
WGET="/usr/bin/wget --retry-on-host-error --retry-connrefused"
PYTHON="/usr/bin/python3"

# in tails, we must torify
if  "`whoami`" == "amnesia" ; then
        CURL="/usr/bin/torify ${CURL}"
        WGET="/usr/bin/torify ${WGET}"
        PYTHON="/usr/bin/torify ${PYTHON}"
fi

tmpDir=`mktemp -d`
pushd "${tmpDir}"

# first get some info about our internet connection
${CURL} -s https://ifconfig.co/country | head -n1
${CURL} -s https://check.torproject.org | grep Congratulations | head -n1

# and today's date
gpg --with-fingerprint --keyid-format 0xlong *
bash: user: command not found
/tmp/tmp.B9EwgGn7if ~
<!DOCTYPE html><html lang="en-US"><head><title>Just a moment...</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=Edge"><meta name="robots" content="noindex,nofollow"><meta name="viewport" content="width=device-width,initial-scale=1"><style>*{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%;color:#313131}button,html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}@media (prefers-color-scheme:dark){body{background-color:#222;color:#d9d9d9}body a{color:#fff}body a:hover{color:#ee730a;text-decoration:underline}body .lds-ring div{border-color:#999 transparent transparent}body .font-red{color:#b20f03}body .big-button,body .pow-button{background-color:#4693ff;color:#1d1d1d}body #challenge-success-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI2IDI2Ij48cGF0aCBmaWxsPSIjZDlkOWQ5IiBkPSJNMTMgMGExMyAxMyAwIDEgMCAwIDI2IDEzIDEzIDAgMCAwIDAtMjZtMCAyNGExMSAxMSAwIDEgMSAwLTIyIDExIDExIDAgMCAxIDAgMjIiLz48cGF0aCBmaWxsPSIjZDlkOWQ5IiBkPSJtMTAuOTU1IDE2LjA1NS0zLjk1LTQuMTI1LTEuNDQ1IDEuMzg1IDUuMzcgNS42MSA5LjQ5NS05LjYtMS40Mi0xLjQwNXoiLz48L3N2Zz4=)}body #challenge-error-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0IyMEYwMyIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjQjIwRjAzIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+)}}body{display:flex;flex-direction:column;min-height:100vh}body.no-js .loading-spinner{visibility:hidden}body.no-js .challenge-running{display:none}body.dark{background-color:#222;color:#d9d9d9}body.dark a{color:#fff}body.dark a:hover{color:#ee730a;text-decoration:underline}body.dark .lds-ring div{border-color:#999 transparent transparent}body.dark .font-red{color:#b20f03}body.dark .big-button,body.dark .pow-button{background-color:#4693ff;color:#1d1d1d}body.dark #challenge-success-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI2IDI2Ij48cGF0aCBmaWxsPSIjZDlkOWQ5IiBkPSJNMTMgMGExMyAxMyAwIDEgMCAwIDI2IDEzIDEzIDAgMCAwIDAtMjZtMCAyNGExMSAxMSAwIDEgMSAwLTIyIDExIDExIDAgMCAxIDAgMjIiLz48cGF0aCBmaWxsPSIjZDlkOWQ5IiBkPSJtMTAuOTU1IDE2LjA1NS0zLjk1LTQuMTI1LTEuNDQ1IDEuMzg1IDUuMzcgNS42MSA5LjQ5NS05LjYtMS40Mi0xLjQwNXoiLz48L3N2Zz4=)}body.dark #challenge-error-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0IyMEYwMyIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjQjIwRjAzIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+)}body.light{background-color:transparent;color:#313131}body.light a{color:#0051c3}body.light a:hover{color:#ee730a;text-decoration:underline}body.light .lds-ring div{border-color:#595959 transparent transparent}body.light .font-red{color:#fc574a}body.light .big-button,body.light .pow-button{background-color:#003681;border-color:#003681;color:#fff}body.light #challenge-success-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI2IDI2Ij48cGF0aCBmaWxsPSIjMzEzMTMxIiBkPSJNMTMgMGExMyAxMyAwIDEgMCAwIDI2IDEzIDEzIDAgMCAwIDAtMjZtMCAyNGExMSAxMSAwIDEgMSAwLTIyIDExIDExIDAgMCAxIDAgMjIiLz48cGF0aCBmaWxsPSIjMzEzMTMxIiBkPSJtMTAuOTU1IDE2LjA1NS0zLjk1LTQuMTI1LTEuNDQ1IDEuMzg1IDUuMzcgNS42MSA5LjQ5NS05LjYtMS40Mi0xLjQwNXoiLz48L3N2Zz4=)}body.light #challenge-error-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZjNTc0YSIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjZmM1NzRhIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+)}a{background-color:transparent;color:#0051c3;text-decoration:none;transition:color .15s ease}a:hover{color:#ee730a;text-decoration:underline}.main-content{margin:8rem auto;max-width:60rem;width:100%}.heading-favicon{height:2rem;margin-right:.5rem;width:2rem}@media (width <= 720px){.main-content{margin-top:4rem}.heading-favicon{height:1.5rem;width:1.5rem}}.footer,.main-content{padding-left:1.5rem;padding-right:1.5rem}.main-wrapper{align-items:center;display:flex;flex:1;flex-direction:column}.font-red{color:#b20f03}.spacer{margin:2rem 0}.h1{font-size:2.5rem;font-weight:500;line-height:3.75rem}.h2{font-weight:500}.core-msg,.h2{font-size:1.5rem;line-height:2.25rem}.body-text,.core-msg{font-weight:400}.body-text{font-size:1rem;line-height:1.25rem}@media (width <= 720px){.h1{font-size:1.5rem;line-height:1.75rem}.h2{font-size:1.25rem}.core-msg,.h2{line-height:1.5rem}.core-msg{font-size:1rem}}#challenge-error-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZjNTc0YSIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjZmM1NzRhIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+);padding-left:34px}#challenge-error-text,#challenge-success-text{background-repeat:no-repeat;background-size:contain}#challenge-success-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI2IDI2Ij48cGF0aCBmaWxsPSIjMzEzMTMxIiBkPSJNMTMgMGExMyAxMyAwIDEgMCAwIDI2IDEzIDEzIDAgMCAwIDAtMjZtMCAyNGExMSAxMSAwIDEgMSAwLTIyIDExIDExIDAgMCAxIDAgMjIiLz48cGF0aCBmaWxsPSIjMzEzMTMxIiBkPSJtMTAuOTU1IDE2LjA1NS0zLjk1LTQuMTI1LTEuNDQ1IDEuMzg1IDUuMzcgNS42MSA5LjQ5NS05LjYtMS40Mi0xLjQwNXoiLz48L3N2Zz4=);padding-left:42px}.text-center{text-align:center}.big-button{border:.063rem solid #0051c3;border-radius:.313rem;font-size:.875rem;line-height:1.313rem;padding:.375rem 1rem;transition-duration:.2s;transition-property:background-color,border-color,color;transition-timing-function:ease}.big-button:hover{cursor:pointer}.captcha-prompt:not(.hidden){display:flex}@media (width <= 720px){.captcha-prompt:not(.hidden){flex-wrap:wrap;justify-content:center}}.pow-button{background-color:#0051c3;color:#fff;margin:2rem 0}.pow-button:hover{background-color:#003681;border-color:#003681;color:#fff}.footer{font-size:.75rem;line-height:1.125rem;margin:0 auto;max-width:60rem;width:100%}.footer-inner{border-top:1px solid #d9d9d9;padding-bottom:1rem;padding-top:1rem}.clearfix:after{clear:both;content:"";display:table}.clearfix .column{float:left;padding-right:1.5rem;width:50%}.diagnostic-wrapper{margin-bottom:.5rem}.footer .ray-id{text-align:center}.footer .ray-id code{font-family:monaco,courier,monospace}.core-msg,.zone-name-title{overflow-wrap:break-word}@media (width <= 720px){.diagnostic-wrapper{display:flex;flex-wrap:wrap;justify-content:center}.clearfix:after{clear:none;content:none;display:initial;text-align:center}.column{padding-bottom:2rem}.clearfix .column{float:none;padding:0;width:auto;word-break:keep-all}.zone-name-title{margin-bottom:1rem}}.loading-spinner{height:76.391px}.lds-ring{display:inline-block;position:relative}.lds-ring,.lds-ring div{height:1.875rem;width:1.875rem}.lds-ring div{animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border:.3rem solid transparent;border-radius:50%;border-top-color:#313131;box-sizing:border-box;display:block;position:absolute}.lds-ring div:first-child{animation-delay:-.45s}.lds-ring div:nth-child(2){animation-delay:-.3s}.lds-ring div:nth-child(3){animation-delay:-.15s}@keyframes lds-ring{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@media screen and (-ms-high-contrast:active),screen and (-ms-high-contrast:none){.main-wrapper,body{display:block}}</style><meta http-equiv="refresh" content="375"></head><body class="no-js"><div class="main-wrapper" role="main"><div class="main-content"><noscript><div id="challenge-error-title"><div class="h2"><span id="challenge-error-text">Enable JavaScript and cookies to continue</span></div></div></noscript></div></div><script>(function(){window._cf_chl_opt={cvId: '3',cZone: "ifconfig.co",cType: 'managed',cNounce: '88448',cRay: '8614626d4c1b91fc',cHash: '74a0e7cd429f6ab',cUPMDTk: "\/country?__cf_chl_tk=YtIaq1nVHT..arhPkeS814SgOzRQTIcS6287O.RMTk4-1709917257-0.0.1.1-1471",cFPWv: 'b',cTTimeMs: '1000',cMTimeMs: '375000',cTplV: 5,cTplB: 'cf',cK: "visitor-time",fa: "\/country?__cf_chl_f_tk=YtIaq1nVHT..arhPkeS814SgOzRQTIcS6287O.RMTk4-1709917257-0.0.1.1-1471",md: "eweM2EZLa.S9TQpU3TRjwFKa7d6V_zzrCbYyu13NacI-1709917257-1.1.1.1-3nhX8taVzQnqsXxFXTv.nzakzStrFP0Cr9PlgBEJvJfOj3eyvnAvtTs26R9ZIAIvrw8G1r86H9r5aE3QuX5oQ4Zqcy6bbbx3wxRRCz_GAI0uZ4MFkiG.597lDAEUA.TSq7fK.EEAiuFynPhC6Z6oJ1Ra4N8zdEE4ie21KgimUOPQ8hUMFnkOIm.bNBHtxSuIM3oYKD2AFiRMPQGK2KjAp9QzA3hZdy9MVDTaybFkCBd3oZKBd3J6U.roItEX1yimBLyOWhQgbqcRR7ZowunJwGOSntVTn1UZRd7o.n1239roSD7kBgxA_J8D6q7gu8VoRBdZLXohdyivV4wFcntQKUXcP0DdV.SRNB2kPH30qpc1yezcxHabBylwYBTvwXOrVs6j6fn5mrP8JEllfcsjADz6li3oHaRqMLgixZzKUlDroH7vC3pn16YCcMIY_amBjK1HDHDu.yVQ6YkoezEFdkH8sDpFZNSHVijjefYTV.RnyUKWR7hLrOKXKYKpL5KEbGv_UnGRNZ_FtjRdfRNAehh1rcJtxTxYNcAWiZldNkmZF38mjc4tsuEDGH9iGW7I0pFEKRGUqEMd43KpCmZtryhHe2fz9ou9DQ74GmhLjUklZ31ODJBWNjjULZvTcx8v1CA_09sn2RFs5M.RX2B7NP9yqEHFkkFHmoep9BOizAC66XWDp4DTn8lkce4ptfNbc3BwG14xBFrd_Txa54Hk4Tf3vwmAwEWszfLWmi21KsbavC4vVP4j8UzBZgcLtajUPI_TAVofFNjBvUlpLn1nQXCP45TMzpKKsZUIfTTl8d5H7uVwKmDc67_7MtQigBdwNvSCTC.jl6x1pWX7Td54YkSoxGnsHCPQUcEj6J1bWBk1lwYGWG1q4FDuuSTW0I6X.XIjaEb35qsXJKTdm3FnOsJrvgw32LGFBLAFmQJMxnBKdqmWKk44jAZ.znh7FZ0xysyWU4V.xijmFgDHXFXCAmv3OgHx1QKxnZxmVAAOTC2_V..L1dIEvmCrV9y9uwWH.iDaZHlFvN4rF8zAywaV4DzDTizpQWpo0iJrxrjdY_8mcfvNSQWOmvr.AGYIVBkKqPirzgfGp8eXcn0NzM0L5v7wH9SVmkPxkdTouYLEkgKRkYu_P1Ox9XLcwJmEpLAN_9C2NSqT9nP42Kv3TxdoSyK_.OG_ZenB2gyo2_mraD2Id0QZ1x1sQ3tZNQwifVfWnufbJblUuYc1_.4EIV0ZbujluCVpoxSFjv7mN7v.cMYR9_OtIZE8kviaVmrVOyAxy01GXrb4Nz.cbvuIhMJXZF1pZmX88GrOIWdCDbf.FCLuuQXQs4i2Id80e_TWBsypveg9dSqdZWn2Pshk6rFgdgtL8VjgBFUADDCx5vAuGZ_xP7tp.OP_86Rd3YM6y4hs",mdrd: "T5ot9nPODhhGDF25P3aGml6AxfOOY8hHK2UPfbKbDUA-1709917257-1.1.1.1-L1ZnNusCuTsJ02jEzFcBJPcXKKKhTLXD2QIgysr0xjKswFRPcaxGeZAZZO8Q47tlFy3t0_lg8O0JeYdG__gc_bscmJgXbcIYvsKwZ4Sumwp3t.FQ7XBZdZgmuQYO.V6teSsPeWnTEPjIUWyEvPFgpOIlE1RuSIk3y9RSoe_FSf3.7waRTEEMAySjbxlYFRJ24PEDiTgFLJb5OUgv1hw7zbxuCC2oI8UuE20yWwn28k7KbneFt7Rkh_VtsRWQYOu1fJ620dNt8sgLKMHh0bhbIGOUTbz7YzQjOXnB91NO.9W1b1ZhTZQetBUcsIGSds8WZAYTMQVF8sSsvUdTnEOClWhE3_j4RoKNm1Rn1dKAYnzN6uxOh6aJH_U3WKj__575pxM3SE.oHAGwm5x.YY47BLUj.7G1_Uw7yRxMvxIx_p9g1jwEMshvZEpXNKsQmZZ_H9cC3USiBBZ2osLDP46pQi7gSdHOqn.EzIkc0_bqB_UOHwZAMKqSoNA4sk3imVCWvfXbUP5P.HKRFY6T4K_ZqPMtfJC8_jrOrFtCUYQq2TRuiwltCVWOiOUKFcOFBYeKqOkNPq3Jl1oeVux4zJ1fIb.mxwcioH9K2uueg5fessPUkdNBuDzK5PsNrpDLAT8xk9i2dPsM36IW9amdfROe9El5n7jZc13WYImHyoIj3s6KKhbjrC.xXbBwkCXLobxKniHJwAnnQ3gt3nqs.c94B.OS6FiRsXWJI8rI4_1O0yJSZfycNCyXQLYFEtsHyvmoWgN9BE57MnHxIFEmvy8ilfRXZVyFSEJoUBq1To9Mb1J34pAytIVsQ_pJibv6_bEFC0875FOoOpW1DAXoBD2ILiek7uSj99R.nM9GvkzG0LuYIKBmF63VehrJHwhibydShW1g.shKz80kUUtyvaBRge8SFm8OBBmfWdPLFzUNK.s_FStrcjTvsOjA4flRTeIXmR20O5Z7tYHaKkWGPn_7iB9A0f_9H4dRMQ5ub7i_Ig.uiIuNjJTqm7rhoVEKTb6uO_xcpi52Yf7Gjo5gIE6WMIqFAgXJQeqWTO_k86Lpcqt9hxhaYqTNJcidkhyyWoMKVhpZDCt_9_kxrF4XQIPcsRcBhhOLiDDq5BtPo00M1SDzEtaK6paxgBpxl.cZMgnGK67q9r1QtmhbUdr43off9_w4Bol9IkEV88Yco6r8kixwYxwzovRYGDBLcNJJa4KfaHjwiiTvNgQdR2ZEqoSWLmhdY0lzlUBjM3TXvhN4oQxA4g4tDZO61jozn0IBT1NOBTertKsR2qVvBXFEOQ9owgGGS7Mqa6Y7iH59Y8P.nqK0PPqXYBz99f00iy3Jf3U_yVzYSbSrwLRliw4PrOImXD_5ib19vjauazj12gxFhrrG0WMrhkK_jZ4WAL_3Ze9gnAJ2E7_BsKOqNY035zrv6bQul1HuxFDqLhL3uysaT0l6ky65MrMSKySnjHoOLtCgYi__mgiF7r7RTvBFxTqZ4HQbJeeb.56eoNU9YJqaTd6XndwaVVN.WH4z9_BrLqlV.JPdePg9T3fA2gAeNCpaCf4BYOqv1k51MzzV6c49eSBziRXI3unMHzz_apx8PdBuldgnzg_FleK7vZWCMDKeJTC75E1_T3llegmGdf_Zpr0MDv3028LOLGEyTXH0X0fgvLRmDc169E.QtLt5.TzdtLpoUXMTDOCApD69DoWeAclLRdQRsYiQxsslVXvoOXuuQYdjEY8JBhC_7zPz99yXv4wTCmHDqqt6B8qaDeQF.qVJLq3g34gFHkmyuYKXGUBB.j3ILzs5wvFYYRl..O.P8n9kfesFZZA78nYK_S90JdnoE2Ou4cLXLZHuCL7dH1c4eAGQVzW88HcwvdJTq9H0yKyYg.byXfdIkZjblXb7tmfM1ExMaKG2VUkOo55jdhYt",cRq: {ru: 'aHR0cHM6Ly9pZmNvbmZpZy5jby9jb3VudHJ5',ra: 'Y3VybC83Ljc0LjA=',rm: 'R0VU',d: '3DDgWqBx3GVP+3GLCKwVoMu+pMbTGLrgvQR5iLOSfzyhYozzsauPHdSFMIzYTy5ODSFyHp89C2JXU/y1sTBFoMezXzamuIx3uTwJO595r5NF81GF3M6dq04jOxkYhlWS6gUy1aCpfgVIHFLksUScbtE3Z2yllkgoJEl+SojtdhYBh9cU4cWlImTqG7Bb2KmEYEnLuzLfYyUb0IUPcYkhHffZ+Xxg3+IwTSylttfIU0L2cfVumdzAc0Zrz0+MxmcI3NjKfrKBTeeBPDRVJPlniUr2SSFU90u0szM1F7+DxItN9dY6bstJVQJkwnWG/r2ezOwIpP+xUiu6RTsC8upsYgA93zrojtND/3sY5AjAruRfuvOyE1KGm1ufLAnU18/tZixNdgdtpkKBJuSKFNqWO/7WFhQq5b0oMn5YUVQRlEIzLcD73AjYlZqk9SJIjl07J5aDA1jD9Dqa9gzcwPxkd/CyI6BGzbUgy/haFFOszuO9W4Ya+i3YR8NeQ86p/7tp',t: 'MTcwOTkxNzI1Ny44MDYwMDA=',cT: Math.floor(Date.now() / 1000),m: 'QAvhr7ZpyQf3eRA8LucA3Q4Th9mUEmMQe1g4irgD1o8=',i1: 'ixHNoeA/9VObKR9avRrfsw==',i2: 'HauQv12KjsSBBnPDJq7HpA==',zh: 'wfxagHEJWT3JG7Kg7GGlyGD+aeLZ/HC9BE3wDXuEzqE=',uh: 'zu+cQgicc5rF6Q8HHTJhdGCD3QVkjetpkn+QXGMpZBU=',hh: 'am/Zv95ZWAcmK4pRq/3uE/0XoTs/sjoPLUYI0lCN1aE=',}};var cpo = document.createElement('script');cpo.src = '/cdn-cgi/challenge-platform/h/b/orchestrate/chl_page/v1?ray=8614626d4c1b91fc';window._cf_chl_opt.cOgUHash = location.hash === '' && location.href.indexOf('#') !== -1 ? '#' : location.hash;window._cf_chl_opt.cOgUQuery = location.search === '' && location.href.slice(0, location.href.length - window._cf_chl_opt.cOgUHash.length).indexOf('?') !== -1 ? '?' : location.search;if (window.history && window.history.replaceState) {var ogU = location.pathname + window._cf_chl_opt.cOgUQuery + window._cf_chl_opt.cOgUHash;history.replaceState(null, null, "\/country?__cf_chl_rt_tk=YtIaq1nVHT..arhPkeS814SgOzRQTIcS6287O.RMTk4-1709917257-0.0.1.1-1471" + window._cf_chl_opt.cOgUHash);cpo.onload = function() {history.replaceState(null, null, ogU);}}document.getElementsByTagName('head')[0].appendChild(cpo);}());</script></body></html>      Congratulations. This browser is configured to use Tor.
2024-03-08
--2024-03-08 17:01:00--  https://files.pythonhosted.org/packages/8a/6a/19e9fe04fca059ccf770861c7d5721ab4c2aebc539889e97c7977528a53b/pip-24.0-py3-none-any.whl
Resolving files.pythonhosted.org (files.pythonhosted.org)... 151.101.36.223
Connecting to files.pythonhosted.org (files.pythonhosted.org)|151.101.36.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2110226 (2.0M) [binary/octet-stream]
Saving to: ‘pip-24.0-py3-none-any.whl’

pip-24.0-py3-none-a 100%[===================>]   2.01M   153KB/s    in 17s     

2024-03-08 17:01:19 (122 KB/s) - ‘pip-24.0-py3-none-any.whl’ saved [2110226/2110226]

Fri 08 Mar 2024 05:01:19 PM UTC
ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc  pip-24.0-py3-none-any.whl
gpg: keybox '/home/user/.gnupg/pubring.kbx' created
gpg: WARNING: no command supplied.  Trying to guess what you mean ...
gpg: no valid OpenPGP data found.
gpg: processing message failed: Unknown system error
user@host:/tmp/tmp.B9EwgGn7if$

@maltfield
Copy link
Member Author

TOFU 3/3 (ISP, exit in Ecuador) gives sha256sum = ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc

user@disp4805:~$ REMOTE_FILES="https://files.pythonhosted.org/packages/8a/6a/19e9fe04fca059ccf770861c7d5721ab4c2aebc539889e97c7977528a53b/pip-24.0-py3-none-any.whl"

CURL="/usr/bin/curl"
WGET="/usr/bin/wget --retry-on-host-error --retry-connrefused"
PYTHON="/usr/bin/python3"

# in tails, we must torify
if  "`whoami`" == "amnesia" ; then
        CURL="/usr/bin/torify ${CURL}"
        WGET="/usr/bin/torify ${WGET}"
        PYTHON="/usr/bin/torify ${PYTHON}"
fi

tmpDir=`mktemp -d`
pushd "${tmpDir}"

# first get some info about our internet connection
${CURL} -s https://ifconfig.co/country | head -n1
${CURL} -s https://check.torproject.org | grep Congratulations | head -n1

# and today's date
gpg --with-fingerprint --keyid-format 0xlong *
bash: user: command not found
/tmp/tmp.ClOrQkf9Q8 ~
Ecuador
2024-03-09
--2024-03-09 13:05:28--  https://files.pythonhosted.org/packages/8a/6a/19e9fe04fca059ccf770861c7d5721ab4c2aebc539889e97c7977528a53b/pip-24.0-py3-none-any.whl
Resolving files.pythonhosted.org (files.pythonhosted.org)... 199.232.48.223, 2a04:4e42:49::223
Connecting to files.pythonhosted.org (files.pythonhosted.org)|199.232.48.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2110226 (2.0M) [binary/octet-stream]
Saving to: ‘pip-24.0-py3-none-any.whl’

pip-24.0-py3-none-any.whl     100%[===============================================>]   2.01M   921KB/s    in 2.2s    

2024-03-09 13:05:30 (921 KB/s) - ‘pip-24.0-py3-none-any.whl’ saved [2110226/2110226]

Sat 09 Mar 2024 06:05:30 PM UTC
ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc  pip-24.0-py3-none-any.whl
gpg: directory '/home/user/.gnupg' created
gpg: keybox '/home/user/.gnupg/pubring.kbx' created
gpg: WARNING: no command supplied.  Trying to guess what you mean ...
gpg: no valid OpenPGP data found.
gpg: processing message failed: Unknown system error
user@disp4805:/tmp/tmp.ClOrQkf9Q8$ 

@maltfield
Copy link
Member Author

Ok, 3/3 TOFU on 3 distinct days matches; adding to the repo

Sat 09 Mar 2024 06:05:30 PM UTC
Fri 08 Mar 2024 04:26:20 AM UTC
Fri 08 Mar 2024 05:01:19 PM UTC
ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc  pip-24.0-py3-none-any.whl
ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc  pip-24.0-py3-none-any.whl
ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc  pip-24.0-py3-none-any.whl

maltfield added a commit that referenced this issue Mar 10, 2024
Upgrading pip in attempt to fix the SCHEME_KEYS errors on macos builds. For more info, see:

 * #78 (comment)
@maltfield
Copy link
Member Author

After upgrading, the linux & windows builds are still working but the MacOS builds are still failing

We fixed the issue with SCHEME_KEYS, however, this is something new.

For some reason when it installs pip-24.0 it says it Successfully installed pip-23.3.1

2024-03-10T02:06:09.6857290Z + /usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/bin/pip3 install --ignore-installed --upgrade --cache-dir build/deps/ --no-index --find-links file:///Users/runner/work/buskill-app/buskill-app/build/deps/ build/deps/pip-24.0-py3-none-any.whl
2024-03-10T02:06:10.2061330Z Looking in links: file:///Users/runner/work/buskill-app/buskill-app/build/deps/
2024-03-10T02:06:10.2293570Z Processing ./build/deps/pip-24.0-py3-none-any.whl
2024-03-10T02:06:10.3062690Z Installing collected packages: pip
2024-03-10T02:06:12.1157720Z Successfully installed pip-23.3.1
2024-03-10T02:06:12.1848790Z ++ sort -n
2024-03-10T02:06:12.1851640Z ++ find /usr/local/Cellar/python@3.11 /usr/local/Cellar/python@3.12 -type f -wholename '*bin/pip3*'
2024-03-10T02:06:12.1857130Z ++ uniq
2024-03-10T02:06:12.1869520Z ++ head -n1
2024-03-10T02:06:12.2749580Z + PIP_PATH=/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/bin/pip

@maltfield
Copy link
Member Author

The first noticeable error appears to be when it tries to install PyInstaller

2024-03-10T02:06:14.5875850Z + /usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/bin/pip3 install --ignore-installed --upgrade --cache-dir build/deps/ --no-index --find-links file:///Users/runner/work/buskill-app/buskill-app/build/deps/ build/deps/pyinstaller-4.7.tar.gz
2024-03-10T02:06:15.0305170Z Looking in links: file:///Users/runner/work/buskill-app/buskill-app/build/deps/
2024-03-10T02:06:15.0492760Z Processing ./build/deps/pyinstaller-4.7.tar.gz
2024-03-10T02:06:15.2806720Z   Installing build dependencies: started
2024-03-10T02:06:16.4391520Z   Installing build dependencies: finished with status 'done'
2024-03-10T02:06:16.4442830Z   Getting requirements to build wheel: started
2024-03-10T02:06:16.6307710Z   Getting requirements to build wheel: finished with status 'done'
2024-03-10T02:06:16.6362190Z ERROR: Exception:
2024-03-10T02:06:16.6362790Z Traceback (most recent call last):
2024-03-10T02:06:16.6365210Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper
2024-03-10T02:06:16.6366370Z     status = run_func(*args)
2024-03-10T02:06:16.6366790Z              ^^^^^^^^^^^^^^^
2024-03-10T02:06:16.6367790Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper
2024-03-10T02:06:16.6368820Z     return func(self, options, args)
2024-03-10T02:06:16.6369290Z            ^^^^^^^^^^^^^^^^^^^^^^^^^
2024-03-10T02:06:16.6370290Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/commands/install.py", line 377, in run
2024-03-10T02:06:16.6371310Z     requirement_set = resolver.resolve(
2024-03-10T02:06:16.6371800Z                       ^^^^^^^^^^^^^^^^^
2024-03-10T02:06:16.6372990Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 76, in resolve
2024-03-10T02:06:16.6374650Z     collected = self.factory.collect_root_requirements(root_reqs)
2024-03-10T02:06:16.6375630Z                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-03-10T02:06:16.6377070Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 534, in collect_root_requirements
2024-03-10T02:06:16.6378340Z     reqs = list(
2024-03-10T02:06:16.6378660Z            ^^^^^
2024-03-10T02:06:16.6380310Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 490, in _make_requirements_from_install_req
2024-03-10T02:06:16.6382590Z     cand = self._make_base_candidate_from_link(
2024-03-10T02:06:16.6383170Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-03-10T02:06:16.6385020Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 228, in _make_base_candidate_from_link
2024-03-10T02:06:16.6387170Z     self._link_candidate_cache[link] = LinkCandidate(
2024-03-10T02:06:16.6388130Z                                        ^^^^^^^^^^^^^^
2024-03-10T02:06:16.6389540Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 290, in __init__
2024-03-10T02:06:16.6390700Z     super().__init__(
2024-03-10T02:06:16.6391810Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__
2024-03-10T02:06:16.6393290Z     self.dist = self._prepare()
2024-03-10T02:06:16.6393750Z                 ^^^^^^^^^^^^^^^
2024-03-10T02:06:16.6394970Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 222, in _prepare
2024-03-10T02:06:16.6396700Z     dist = self._prepare_distribution()
2024-03-10T02:06:16.6397220Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-03-10T02:06:16.6398970Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 301, in _prepare_distribution
2024-03-10T02:06:16.6401620Z     return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
2024-03-10T02:06:16.6402990Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-03-10T02:06:16.6404330Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 525, in prepare_linked_requirement
2024-03-10T02:06:16.6406160Z     return self._prepare_linked_requirement(req, parallel_builds)
2024-03-10T02:06:16.6406860Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-03-10T02:06:16.6408500Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 640, in _prepare_linked_requirement
2024-03-10T02:06:16.6409950Z     dist = _get_prepared_distribution(
2024-03-10T02:06:16.6410460Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-03-10T02:06:16.6412190Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution
2024-03-10T02:06:16.6414140Z     abstract_dist.prepare_distribution_metadata(
2024-03-10T02:06:16.6416700Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/distributions/sdist.py", line 54, in prepare_distribution_metadata
2024-03-10T02:06:16.6417960Z     self._install_build_reqs(finder)
2024-03-10T02:06:16.6419180Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/distributions/sdist.py", line 124, in _install_build_reqs
2024-03-10T02:06:16.6420380Z     build_reqs = self._get_build_requires_wheel()
2024-03-10T02:06:16.6420940Z                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-03-10T02:06:16.6422210Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/distributions/sdist.py", line 101, in _get_build_requires_wheel
2024-03-10T02:06:16.6423770Z     return backend.get_requires_for_build_wheel()
2024-03-10T02:06:16.6424550Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-03-10T02:06:16.6425840Z   File "/usr/local/lib/python3.11/site-packages/pip/_internal/utils/misc.py", line 745, in get_requires_for_build_wheel
2024-03-10T02:06:16.6427260Z     return super().get_requires_for_build_wheel(config_settings=cs)
2024-03-10T02:06:16.6428080Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-03-10T02:06:16.6429860Z   File "/usr/local/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 166, in get_requires_for_build_wheel
2024-03-10T02:06:16.6431450Z     return self._call_hook('get_requires_for_build_wheel', {
2024-03-10T02:06:16.6432110Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-03-10T02:06:16.6433270Z   File "/usr/local/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 321, in _call_hook
2024-03-10T02:06:16.6434500Z     raise BackendUnavailable(data.get('traceback', ''))
2024-03-10T02:06:16.6435490Z pip._vendor.pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last):
2024-03-10T02:06:16.6437210Z   File "/usr/local/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend
2024-03-10T02:06:16.6438700Z     obj = import_module(mod_path)
2024-03-10T02:06:16.6439190Z           ^^^^^^^^^^^^^^^^^^^^^^^
2024-03-10T02:06:16.6441290Z   File "/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/__init__.py", line 126, in import_module
2024-03-10T02:06:16.6442960Z     return _bootstrap._gcd_import(name[level:], package, level)
2024-03-10T02:06:16.6444020Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-03-10T02:06:16.6444920Z   File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
2024-03-10T02:06:16.6445790Z   File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
2024-03-10T02:06:16.6446740Z   File "<frozen importlib._bootstrap>", line 1126, in _find_and_load_unlocked
2024-03-10T02:06:16.6447760Z   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
2024-03-10T02:06:16.6448700Z   File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
2024-03-10T02:06:16.6449570Z   File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
2024-03-10T02:06:16.6450530Z   File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
2024-03-10T02:06:16.6451680Z   File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
2024-03-10T02:06:16.6453010Z   File "<frozen importlib._bootstrap_external>", line 940, in exec_module
2024-03-10T02:06:16.6454400Z   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
2024-03-10T02:06:16.6456730Z   File "/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/__init__.py", line 23, in <module>
2024-03-10T02:06:16.6458450Z     from setuptools.dist import Distribution
2024-03-10T02:06:16.6460150Z   File "/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/dist.py", line 36, in <module>
2024-03-10T02:06:16.6461730Z     from setuptools.config import parse_configuration
2024-03-10T02:06:16.6467840Z   File "/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/config/__init__.py", line 8, in <module>
2024-03-10T02:06:16.6470410Z     from . import setupcfg
2024-03-10T02:06:16.6472670Z   File "/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/config/setupcfg.py", line 32, in <module>
2024-03-10T02:06:16.6474750Z     from ..errors import FileError, OptionError
2024-03-10T02:06:16.6476760Z ImportError: cannot import name 'FileError' from 'setuptools.errors' (/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/errors.py)

@maltfield
Copy link
Member Author

There's also issues installing Kivy. I think I should just go-through and update all the python packages to their latest versions.

2024-03-10T02:06:14.0117250Z + /usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/bin/pip3 install --ignore-installed --upgrade --cache-dir build/deps/ --no-index --find-links file:///Users/runner/work/buskill-app/buskill-app/build/deps/ build/deps/Kivy-1.11.1-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
2024-03-10T02:06:14.4974820Z Looking in links: file:///Users/runner/work/buskill-app/buskill-app/build/deps/
2024-03-10T02:06:14.5164950Z ERROR: Kivy-1.11.1-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl is not a supported wheel on this platform.

@maltfield
Copy link
Member Author

maltfield commented Mar 10, 2024

While I'm at it, I'll update python to Python v3.12.

Python is already securely installed in our linux CI runner, so no manual updates needed there.

Python comes installed on our MacOS CI runner. Possibly not secure, but we're relying on shared GitHub runners for MacOS builds. Anyway, no manual updates needed.

We do have to install Python on our Windows CI runners, and manually update our installer in this repo. Fortunately, it looks like Python does sign their windows releases with PGP, but I don't have the key in my keyring.

user@disp5109:~/Downloads$ wget https://www.python.org/ftp/python/3.12.2/python-3.12.2-amd64.exe
--2024-03-09 23:54:26--  https://www.python.org/ftp/python/3.12.2/python-3.12.2-amd64.exe
Resolving www.python.org (www.python.org)... 146.75.0.223, 2a04:4e42:70::223
Connecting to www.python.org (www.python.org)|146.75.0.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 26667456 (25M) [application/octet-stream]
Saving to: ‘python-3.12.2-amd64.exe’

python-3.12.2-amd64 100%[===================>]  25.43M   734KB/s    in 32s     

2024-03-09 23:54:59 (820 KB/s) - ‘python-3.12.2-amd64.exe’ saved [26667456/26667456]

user@disp5109:~/Downloads$ 
user@disp5109:~/Downloads$ wget https://www.python.org/ftp/python/3.12.2/python-3.12.2-amd64.exe.asc
--2024-03-09 23:57:10--  https://www.python.org/ftp/python/3.12.2/python-3.12.2-amd64.exe.asc
Resolving www.python.org (www.python.org)... 146.75.0.223, 2a04:4e42:70::223
Connecting to www.python.org (www.python.org)|146.75.0.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 836 [application/octet-stream]
Saving to: ‘python-3.12.2-amd64.exe.asc’

python-3.12.2-amd64 100%[===================>]     836  --.-KB/s    in 0s      

2024-03-09 23:57:12 (151 MB/s) - ‘python-3.12.2-amd64.exe.asc’ saved [836/836]

user@disp5109:~/Downloads$ 
user@disp5109:~/Downloads$ gpg --verify python-3.12.2-amd64.exe.asc 
gpg: directory '/home/user/.gnupg' created
gpg: keybox '/home/user/.gnupg/pubring.kbx' created
gpg: assuming signed data in 'python-3.12.2-amd64.exe'
gpg: Signature made Tue 06 Feb 2024 05:41:09 PM -05
gpg:                using RSA key FC624643487034E5
gpg: Can't check signature: No public key
user@disp5109:~/Downloads$

It looks like Python has a designated person as a Release Manager for each version of Python. Additionally, they have a designated person just for signing their Windows releases:

OpenPGP Public Keys

Source and binary executables are signed by the release manager or binary builder using their OpenPGP key. Release files for currently supported releases are signed by the following:

Thomas Wouters (3.12.x and 3.13.x source files and tags) (key id: A821E680E5FA6305)
Pablo Galindo Salgado (3.10.x and 3.11.x source files and tags) (key id: 64E628F8D684696D)
Steve Dower (Windows binaries) (key id: FC62 4643 4870 34E5)
Łukasz Langa (3.8.x and 3.9.x source files and tags) (key id: B269 95E3 1025 0568)
Ned Deily (macOS binaries, 3.7.x / 3.6.x source files and tags) (key ids: 2D34 7EA6 AA65 421D and FB99 2128 6F5E 1540
Larry Hastings (3.5.x source files and tags) (key id: 3A5C A953 F73C 700D)
Benjamin Peterson (2.7.z source files and tags) (key id: 04C3 67C2 18AD D4FF and A4135B38)

I'm going to have to 3TOFU those fingerprints. Here's the commands for this

CURL="/usr/bin/curl --compressed"
WGET="/usr/bin/wget --retry-on-host-error --retry-connrefused"
PYTHON="/usr/bin/python3"

# in tails, we must torify
if  "`whoami`" == "amnesia" ; then
	CURL="/usr/bin/torify ${CURL}"
	WGET="/usr/bin/torify ${WGET}"
	PYTHON="/usr/bin/torify ${PYTHON}"
fi

tmpDir=`mktemp -d`
pushd "${tmpDir}"

# first get some info about our internet connection
${CURL} -s https://ifconfig.co/country | head -n1
${CURL} -s https://check.torproject.org | grep Congratulations | head -n1

# and today's date
date -u +"%Y-%m-%d"

# get the file
out=$(${CURL} -s https://www.python.org/downloads/ | grep -i 'windows binaries')
echo $out
fingerprint=$(echo $out | sed 's/.*fingerprint=\([^\"]*\).*/\1/')
echo $fingerprint
url=$(echo $out | sed 's/.*href="\([^\"]*\).*/\1/')
gpg --recv-keys $fingerprint
${WGET} -O pubkey.asc "${url}"
gpg --import pubkey.asc

# checksum
date -u
sha256sum *

# gpg fingerprint
gpg --with-fingerprint --keyid-format 0xlong *
gpg --keyid-format long --list-keys

@maltfield
Copy link
Member Author

The documentation on how to verify the signature on python releases wasn't linked-to from the actual download page (where the link to download the signature is available), so I opened this ticket with the Python project to address this:

@maltfield
Copy link
Member Author

maltfield commented Apr 9, 2024

I switched the macOS build script to use the python.org version of python 3.12 (instead of the brew version). Now the output of otool looks much more promising.

There is no LC_BUILD_VERSION with minos section, but there is a LC_VERSION_MIN_MACOSX section that says version 10.9

2024-04-09T02:31:45.4876440Z + otool -L /tmp/venv/bin/python3
2024-04-09T02:31:45.5023620Z /tmp/venv/bin/python3:
2024-04-09T02:31:45.5024950Z 	/Library/Frameworks/Python.framework/Versions/3.12/Python (compatibility version 3.12.0, current version 3.12.0)
2024-04-09T02:31:45.5026410Z 	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.0.0)
2024-04-09T02:31:45.5027460Z + otool -l /tmp/venv/bin/python3
2024-04-09T02:31:45.5181700Z /tmp/venv/bin/python3:
2024-04-09T02:31:45.5182760Z Load command 0
2024-04-09T02:31:45.5183300Z       cmd LC_SEGMENT_64
2024-04-09T02:31:45.5184410Z   cmdsize 72
2024-04-09T02:31:45.5185190Z + mkdir pyinstaller
2024-04-09T02:31:45.5185590Z   segname __PAGEZERO
2024-04-09T02:31:45.5186320Z    vmaddr 0x0000000000000000
2024-04-09T02:31:45.5186910Z    vmsize 0x0000000100000000
2024-04-09T02:31:45.5187310Z   fileoff 0
2024-04-09T02:31:45.5187620Z  filesize 0
2024-04-09T02:31:45.5188740Z   maxprot 0x00000000
2024-04-09T02:31:45.5189120Z  initprot 0x00000000
2024-04-09T02:31:45.5194090Z    nsects 0
2024-04-09T02:31:45.5195040Z     flags 0x0
2024-04-09T02:31:45.5196750Z Load command 1
2024-04-09T02:31:45.5198330Z       cmd LC_SEGMENT_64
2024-04-09T02:31:45.5199630Z   cmdsize 472
2024-04-09T02:31:45.5200840Z   segname __TEXT
2024-04-09T02:31:45.5202130Z    vmaddr 0x0000000100000000
2024-04-09T02:31:45.5203310Z    vmsize 0x0000000000004000
2024-04-09T02:31:45.5204690Z   fileoff 0
2024-04-09T02:31:45.5205000Z  filesize 16384
2024-04-09T02:31:45.5205740Z   maxprot 0x00000005
2024-04-09T02:31:45.5206100Z  initprot 0x00000005
2024-04-09T02:31:45.5206450Z    nsects 5
2024-04-09T02:31:45.5206740Z     flags 0x0
2024-04-09T02:31:45.5207050Z Section
2024-04-09T02:31:45.5207490Z   sectname __text
2024-04-09T02:31:45.5207850Z    segname __TEXT
2024-04-09T02:31:45.5208190Z       addr 0x0000000100003950
2024-04-09T02:31:45.5208600Z       size 0x0000000000000471
2024-04-09T02:31:45.5209000Z     offset 14672
2024-04-09T02:31:45.5209340Z      align 2^4 (16)
2024-04-09T02:31:45.5209670Z     reloff 0
2024-04-09T02:31:45.5209970Z     nreloc 0
2024-04-09T02:31:45.5210280Z      flags 0x80000400
2024-04-09T02:31:45.5210700Z + pushd pyinstaller
2024-04-09T02:31:45.5211050Z  reserved1 0
2024-04-09T02:31:45.5211550Z  reserved2 0
2024-04-09T02:31:45.5211870Z Section
2024-04-09T02:31:45.5212160Z   sectname __stubs
2024-04-09T02:31:45.5212510Z    segname __TEXT
2024-04-09T02:31:45.5212860Z       addr 0x0000000100003dc2
2024-04-09T02:31:45.5213260Z       size 0x0000000000000066
2024-04-09T02:31:45.5213670Z     offset 15810
2024-04-09T02:31:45.5214010Z      align 2^1 (2)
2024-04-09T02:31:45.5214340Z     reloff 0
2024-04-09T02:31:45.5214640Z     nreloc 0
2024-04-09T02:31:45.5214960Z      flags 0x80000408
2024-04-09T02:31:45.5215410Z  reserved1 0 (index into indirect symbol table)
2024-04-09T02:31:45.5215980Z  reserved2 6 (size of stubs)
2024-04-09T02:31:45.5216390Z Section
2024-04-09T02:31:45.5216700Z   sectname __stub_helper
2024-04-09T02:31:45.5217090Z    segname __TEXT
2024-04-09T02:31:45.5217420Z       addr 0x0000000100003e28
2024-04-09T02:31:45.5217840Z       size 0x00000000000000ba
2024-04-09T02:31:45.5218250Z     offset 15912
2024-04-09T02:31:45.5218580Z      align 2^2 (4)
2024-04-09T02:31:45.5218900Z     reloff 0
2024-04-09T02:31:45.5219220Z     nreloc 0
2024-04-09T02:31:45.5219530Z      flags 0x80000400
2024-04-09T02:31:45.5219880Z  reserved1 0
2024-04-09T02:31:45.5220200Z  reserved2 0
2024-04-09T02:31:45.5220500Z Section
2024-04-09T02:31:45.5220810Z   sectname __cstring
2024-04-09T02:31:45.5221160Z    segname __TEXT
2024-04-09T02:31:45.5221510Z       addr 0x0000000100003ee2
2024-04-09T02:31:45.5221920Z       size 0x00000000000000d3
2024-04-09T02:31:45.5222320Z     offset 16098
2024-04-09T02:31:45.5222650Z      align 2^0 (1)
2024-04-09T02:31:45.5222980Z     reloff 0
2024-04-09T02:31:45.5223290Z     nreloc 0
2024-04-09T02:31:45.5223590Z      flags 0x00000002
2024-04-09T02:31:45.5223950Z  reserved1 0
2024-04-09T02:31:45.5224260Z  reserved2 0
2024-04-09T02:31:45.5224560Z Section
2024-04-09T02:31:45.5224870Z   sectname __unwind_info
2024-04-09T02:31:45.5225260Z    segname __TEXT
2024-04-09T02:31:45.5225600Z       addr 0x0000000100003fb8
2024-04-09T02:31:45.5226010Z       size 0x0000000000000048
2024-04-09T02:31:45.5226410Z     offset 16312
2024-04-09T02:31:45.5226750Z      align 2^2 (4)
2024-04-09T02:31:45.5227070Z     reloff 0
2024-04-09T02:31:45.5227380Z     nreloc 0
2024-04-09T02:31:45.5227690Z      flags 0x00000000
2024-04-09T02:31:45.5228050Z  reserved1 0
2024-04-09T02:31:45.5228730Z  reserved2 0
2024-04-09T02:31:45.5229040Z Load command 2
2024-04-09T02:31:45.5229380Z       cmd LC_SEGMENT_64
2024-04-09T02:31:45.5229750Z   cmdsize 392
2024-04-09T02:31:45.5230070Z   segname __DATA
2024-04-09T02:31:45.5230420Z    vmaddr 0x0000000100004000
2024-04-09T02:31:45.5230830Z    vmsize 0x0000000000004000
2024-04-09T02:31:45.5231220Z   fileoff 16384
2024-04-09T02:31:45.5231560Z  filesize 16384
2024-04-09T02:31:45.5231890Z   maxprot 0x00000003
2024-04-09T02:31:45.5232250Z  initprot 0x00000003
2024-04-09T02:31:45.5232610Z    nsects 4
2024-04-09T02:31:45.5232910Z     flags 0x0
2024-04-09T02:31:45.5233210Z Section
2024-04-09T02:31:45.5233520Z   sectname __nl_symbol_ptr
2024-04-09T02:31:45.5233920Z    segname __DATA
2024-04-09T02:31:45.5234270Z       addr 0x0000000100004000
2024-04-09T02:31:45.5234690Z       size 0x0000000000000008
2024-04-09T02:31:45.5235090Z     offset 16384
2024-04-09T02:31:45.5235420Z      align 2^3 (8)
2024-04-09T02:31:45.5235760Z     reloff 0
2024-04-09T02:31:45.5236300Z     nreloc 0
2024-04-09T02:31:45.5236610Z      flags 0x00000006
2024-04-09T02:31:45.5237070Z  reserved1 17 (index into indirect symbol table)
2024-04-09T02:31:45.5237630Z  reserved2 0
2024-04-09T02:31:45.5237930Z Section
2024-04-09T02:31:45.5239170Z   sectname __got
2024-04-09T02:31:45.5240220Z    segname __DATA
2024-04-09T02:31:45.5240590Z       addr 0x0000000100004008
2024-04-09T02:31:45.5241010Z       size 0x0000000000000020
2024-04-09T02:31:45.5241420Z     offset 16392
2024-04-09T02:31:45.5241750Z      align 2^3 (8)
2024-04-09T02:31:45.5242080Z     reloff 0
2024-04-09T02:31:45.5242390Z     nreloc 0
2024-04-09T02:31:45.5242700Z      flags 0x00000006
2024-04-09T02:31:45.5243150Z  reserved1 18 (index into indirect symbol table)
2024-04-09T02:31:45.5244060Z  reserved2 0
2024-04-09T02:31:45.5244390Z Section
2024-04-09T02:31:45.5244700Z   sectname __la_symbol_ptr
2024-04-09T02:31:45.5245100Z    segname __DATA
2024-04-09T02:31:45.5245530Z       addr 0x0000000100004028
2024-04-09T02:31:45.5245960Z       size 0x0000000000000088
2024-04-09T02:31:45.5246360Z     offset 16424
2024-04-09T02:31:45.5247150Z      align 2^3 (8)
2024-04-09T02:31:45.5247520Z     reloff 0
2024-04-09T02:31:45.5247840Z     nreloc 0
2024-04-09T02:31:45.5248140Z      flags 0x00000007
2024-04-09T02:31:45.5248600Z  reserved1 22 (index into indirect symbol table)
2024-04-09T02:31:45.5249160Z  reserved2 0
2024-04-09T02:31:45.5250010Z Section
2024-04-09T02:31:45.5250310Z   sectname __bss
2024-04-09T02:31:45.5250650Z    segname __DATA
2024-04-09T02:31:45.5251380Z       addr 0x00000001000040b0
2024-04-09T02:31:45.5251800Z       size 0x0000000000001000
2024-04-09T02:31:45.5252200Z     offset 0
2024-04-09T02:31:45.5252510Z      align 2^4 (16)
2024-04-09T02:31:45.5252850Z     reloff 0
2024-04-09T02:31:45.5253150Z     nreloc 0
2024-04-09T02:31:45.5253470Z      flags 0x00000001
2024-04-09T02:31:45.5253830Z  reserved1 0
2024-04-09T02:31:45.5254130Z  reserved2 0
2024-04-09T02:31:45.5254450Z Load command 3
2024-04-09T02:31:45.5254780Z       cmd LC_SEGMENT_64
2024-04-09T02:31:45.5255160Z   cmdsize 72
2024-04-09T02:31:45.5255470Z   segname __LINKEDIT
2024-04-09T02:31:45.5255840Z    vmaddr 0x0000000100008000
2024-04-09T02:31:45.5256250Z    vmsize 0x0000000000008000
2024-04-09T02:31:45.5256640Z   fileoff 32768
2024-04-09T02:31:45.5256970Z  filesize 21360
2024-04-09T02:31:45.5257310Z   maxprot 0x00000001
2024-04-09T02:31:45.5257670Z  initprot 0x00000001
2024-04-09T02:31:45.5258020Z    nsects 0
2024-04-09T02:31:45.5258320Z     flags 0x0
2024-04-09T02:31:45.5258640Z Load command 4
2024-04-09T02:31:45.5258980Z             cmd LC_DYLD_INFO_ONLY
2024-04-09T02:31:45.5259420Z         cmdsize 48
2024-04-09T02:31:45.5259760Z      rebase_off 32768
2024-04-09T02:31:45.5260130Z     rebase_size 8
2024-04-09T02:31:45.5260470Z        bind_off 32776
2024-04-09T02:31:45.5260830Z       bind_size 72
2024-04-09T02:31:45.5261170Z   weak_bind_off 0
2024-04-09T02:31:45.5261590Z  weak_bind_size 0
2024-04-09T02:31:45.5261940Z   lazy_bind_off 32848
2024-04-09T02:31:45.5262320Z  lazy_bind_size 344
2024-04-09T02:31:45.5262680Z      export_off 33192
2024-04-09T02:31:45.5263030Z     export_size 48
2024-04-09T02:31:45.5263380Z Load command 5
2024-04-09T02:31:45.5263710Z      cmd LC_SYMTAB
2024-04-09T02:31:45.5264040Z  cmdsize 24
2024-04-09T02:31:45.5264340Z   symoff 33248
2024-04-09T02:31:45.5264650Z    nsyms 23
2024-04-09T02:31:45.5264960Z   stroff 33776
2024-04-09T02:31:45.5265270Z  strsize 328
2024-04-09T02:31:45.5265590Z Load command 6
2024-04-09T02:31:45.5266010Z             cmd LC_DYSYMTAB
2024-04-09T02:31:45.5266410Z         cmdsize 80
2024-04-09T02:31:45.5266740Z       ilocalsym 0
2024-04-09T02:31:45.5267070Z       nlocalsym 1
2024-04-09T02:31:45.5267410Z      iextdefsym 1
2024-04-09T02:31:45.5267740Z      nextdefsym 1
2024-04-09T02:31:45.5268090Z       iundefsym 2
2024-04-09T02:31:45.5268420Z       nundefsym 21
2024-04-09T02:31:45.5268750Z          tocoff 0
2024-04-09T02:31:45.5269070Z            ntoc 0
2024-04-09T02:31:45.5269400Z       modtaboff 0
2024-04-09T02:31:45.5270070Z         nmodtab 0
2024-04-09T02:31:45.5270400Z    extrefsymoff 0
2024-04-09T02:31:45.5270740Z     nextrefsyms 0
2024-04-09T02:31:45.5271090Z  indirectsymoff 33616
2024-04-09T02:31:45.5271470Z   nindirectsyms 39
2024-04-09T02:31:45.5271810Z       extreloff 0
2024-04-09T02:31:45.5272140Z         nextrel 0
2024-04-09T02:31:45.5272470Z       locreloff 0
2024-04-09T02:31:45.5272800Z         nlocrel 0
2024-04-09T02:31:45.5273120Z Load command 7
2024-04-09T02:31:45.5273470Z           cmd LC_LOAD_DYLINKER
2024-04-09T02:31:45.5273960Z       cmdsize 32
2024-04-09T02:31:45.5274340Z          name /usr/lib/dyld (offset 12)
2024-04-09T02:31:45.5274830Z Load command 8
2024-04-09T02:31:45.5275160Z      cmd LC_UUID
2024-04-09T02:31:45.5275470Z  cmdsize 24
2024-04-09T02:31:45.5276290Z     uuid B15EFDD0-302A-320C-8ACE-C5B94796071C
2024-04-09T02:31:45.5285990Z Load command 9
2024-04-09T02:31:45.5286360Z       cmd LC_VERSION_MIN_MACOSX
2024-04-09T02:31:45.5286800Z   cmdsize 16
2024-04-09T02:31:45.5287110Z   version 10.9
2024-04-09T02:31:45.5287440Z       sdk 12.1
2024-04-09T02:31:45.5287750Z Load command 10
2024-04-09T02:31:45.5288100Z       cmd LC_SOURCE_VERSION
2024-04-09T02:31:45.5288490Z   cmdsize 16
2024-04-09T02:31:45.5288810Z   version 0.0
2024-04-09T02:31:45.5289120Z Load command 11
2024-04-09T02:31:45.5289450Z        cmd LC_MAIN
2024-04-09T02:31:45.5289780Z    cmdsize 24
2024-04-09T02:31:45.5290090Z   entryoff 14672
2024-04-09T02:31:45.5290420Z  stacksize 0
2024-04-09T02:31:45.5290740Z Load command 12
2024-04-09T02:31:45.5291080Z           cmd LC_LOAD_DYLIB
2024-04-09T02:31:45.5291460Z       cmdsize 88
2024-04-09T02:31:45.5292100Z          name /Library/Frameworks/Python.framework/Versions/3.12/Python (offset 24)
2024-04-09T02:31:45.5292930Z    time stamp 2 Thu Jan  1 00:00:02 1970
2024-04-09T02:31:45.5293450Z       current version 3.12.0
2024-04-09T02:31:45.5293880Z compatibility version 3.12.0
2024-04-09T02:31:45.5294300Z Load command 13
2024-04-09T02:31:45.5294640Z           cmd LC_LOAD_DYLIB
2024-04-09T02:31:45.5295030Z       cmdsize 56
2024-04-09T02:31:45.5295440Z          name /usr/lib/libSystem.B.dylib (offset 24)
2024-04-09T02:31:45.5296030Z    time stamp 2 Thu Jan  1 00:00:02 1970
2024-04-09T02:31:45.5296540Z       current version 1311.0.0
2024-04-09T02:31:45.5297090Z compatibility version 1.0.0
2024-04-09T02:31:45.5297510Z Load command 14
2024-04-09T02:31:45.5297860Z       cmd LC_FUNCTION_STARTS
2024-04-09T02:31:45.5298730Z   cmdsize 16
2024-04-09T02:31:45.5299100Z   dataoff 33240
2024-04-09T02:31:45.5299420Z  datasize 8
2024-04-09T02:31:45.5299720Z Load command 15
2024-04-09T02:31:45.5300060Z       cmd LC_DATA_IN_CODE
2024-04-09T02:31:45.5300440Z   cmdsize 16
2024-04-09T02:31:45.5300750Z   dataoff 33248
2024-04-09T02:31:45.5301070Z  datasize 0
2024-04-09T02:31:45.5301370Z Load command 16
2024-04-09T02:31:45.5301730Z       cmd LC_CODE_SIGNATURE
2024-04-09T02:31:45.5302130Z   cmdsize 16
2024-04-09T02:31:45.5302430Z   dataoff 34112
2024-04-09T02:31:45.5302760Z  datasize 20016

@maltfield
Copy link
Member Author

Unfortunately, it looks like the .dmg file never got attached to the release of the last build

Looks like the .app got created by PyInstaller, but the .dmg creation failed with a Resource busy error

2024-04-09T02:32:49.4941800Z 62513 INFO: Building BUNDLE BUNDLE-00.toc completed successfully.
2024-04-09T02:32:49.5944110Z [INFO   ] Building BUNDLE BUNDLE-00.toc completed successfully.
2024-04-09T02:32:49.7498910Z + pushd dist
2024-04-09T02:32:49.7500270Z ~/work/buskill-app/buskill-app/pyinstaller/dist ~/work/buskill-app/buskill-app/pyinstaller ~/work/buskill-app/buskill-app
2024-04-09T02:32:49.7501500Z + ls -lah
2024-04-09T02:32:49.7557400Z total 0
2024-04-09T02:32:49.7558530Z drwxr-xr-x  4 runner  staff   128B Apr  9 02:32 .
2024-04-09T02:32:49.7559540Z drwxr-xr-x  8 runner  staff   256B Apr  9 02:31 ..
2024-04-09T02:32:49.7560330Z drwxr-xr-x  5 runner  staff   160B Apr  9 02:32 buskill
2024-04-09T02:32:49.7561240Z drwxr-xr-x  3 runner  staff    96B Apr  9 02:32 buskill-1712629547.app
2024-04-09T02:32:49.7562340Z + root_child_path=buskill-1712629547.app/Contents/MacOS/root_child_mac
2024-04-09T02:32:49.7563310Z + chmod 0500 buskill-1712629547.app/Contents/MacOS/root_child_mac
2024-04-09T02:32:49.7587940Z + docsDir=buskill-1712629547.app/docs
2024-04-09T02:32:49.7588610Z + mkdir -p buskill-1712629547.app/docs
2024-04-09T02:32:49.7613860Z + cp ../../docs/README.md buskill-1712629547.app/docs/
2024-04-09T02:32:49.7642180Z + cp ../../docs/attribution.rst buskill-1712629547.app/docs/
2024-04-09T02:32:49.7670020Z + cp ../../LICENSE buskill-1712629547.app/docs/
2024-04-09T02:32:49.7701620Z + cp ../../CHANGELOG buskill-1712629547.app/docs/
2024-04-09T02:32:49.7731120Z + cp ../../KEYS buskill-1712629547.app/docs/
2024-04-09T02:32:49.7759360Z + cp buskill-icon.icns buskill-1712629547.app/.VolumeIcon.icns
2024-04-09T02:32:49.7781290Z cp: buskill-icon.icns: No such file or directory
2024-04-09T02:32:49.7783480Z + ln -s ../Resources/fonts buskill-1712629547.app/Contents/MacOS/fonts
2024-04-09T02:32:49.7812040Z + ln -s ../Resources/images buskill-1712629547.app/Contents/MacOS/images
2024-04-09T02:32:49.7845780Z + find buskill-1712629547.app -exec touch -h -d @1712629547 '{}' +
2024-04-09T02:32:49.7959960Z touch: out of range or illegal time specification: YYYY-MM-DDThh:mm:SS[.frac][tz]
2024-04-09T02:32:49.7965350Z + ls -lah buskill-1712629547.app
2024-04-09T02:32:49.8022640Z total 0
2024-04-09T02:32:49.8023760Z drwxr-xr-x  4 runner  staff   128B Apr  9 02:32 .
2024-04-09T02:32:49.8024590Z drwxr-xr-x  4 runner  staff   128B Apr  9 02:32 ..
2024-04-09T02:32:49.8025390Z drwxr-xr-x  7 runner  staff   224B Apr  9 02:32 Contents
2024-04-09T02:32:49.8026400Z drwxr-xr-x  7 runner  staff   224B Apr  9 02:32 docs
2024-04-09T02:32:49.8028590Z + ls -lah buskill-1712629547.app/docs
2024-04-09T02:32:49.8083990Z total 272
2024-04-09T02:32:49.8085820Z drwxr-xr-x  7 runner  staff   224B Apr  9 02:32 .
2024-04-09T02:32:49.8086700Z drwxr-xr-x  4 runner  staff   128B Apr  9 02:32 ..
2024-04-09T02:32:49.8087500Z -rw-r--r--  1 runner  staff   1.6K Apr  9 02:32 CHANGELOG
2024-04-09T02:32:49.8088280Z -rw-r--r--  1 runner  staff    86K Apr  9 02:32 KEYS
2024-04-09T02:32:49.8089020Z -rw-r--r--  1 runner  staff    34K Apr  9 02:32 LICENSE
2024-04-09T02:32:49.8089780Z -rw-r--r--  1 runner  staff   230B Apr  9 02:32 README.md
2024-04-09T02:32:49.8090610Z -rw-r--r--  1 runner  staff   3.1K Apr  9 02:32 attribution.rst
2024-04-09T02:32:49.8091740Z + hdiutil create ./buskill-mac-1712629547-x86_64.dmg -srcfolder buskill-1712629547.app -ov
2024-04-09T02:32:56.7503250Z hdiutil: create failed - Resource busy
2024-04-09T02:32:56.7511160Z + touch -h -d @1712629547 buskill-mac-1712629547-x86_64.dmg
2024-04-09T02:32:56.7535220Z touch: out of range or illegal time specification: YYYY-MM-DDThh:mm:SS[.frac][tz]
2024-04-09T02:32:56.7537720Z + Rez -append ../icns.rsrc -o ./buskill-mac-1712629547-x86_64.dmg
2024-04-09T02:32:57.9795180Z + SetFile -c icnC buskill-mac-1712629547-x86_64.dmg/.VolumeIcon.icns
2024-04-09T02:32:59.5448740Z ERROR: File Not Found. (-43)  on file: buskill-mac-1712629547-x86_64.dmg/.VolumeIcon.icns 
2024-04-09T02:32:59.5452110Z + SetFile -a C ./buskill-mac-1712629547-x86_64.dmg
2024-04-09T02:32:59.5687780Z + popd
2024-04-09T02:32:59.5689330Z ~/work/buskill-app/buskill-app/pyinstaller ~/work/buskill-app/buskill-app
2024-04-09T02:32:59.5690510Z + mkdir -p ../dist
2024-04-09T02:32:59.5730960Z + cp dist/buskill-mac-1712629547-x86_64.dmg ../dist/
...
2024-04-09T02:33:10.5164330Z ##[group]Run actions/upload-artifact@v2
2024-04-09T02:33:10.5165070Z with:
2024-04-09T02:33:10.5165470Z   name: buskill-mac-x86_64
2024-04-09T02:33:10.5165960Z   path: dist/
2024-04-09T02:33:10.5166300Z   if-no-files-found: warn
2024-04-09T02:33:10.5166690Z ##[endgroup]
2024-04-09T02:33:10.6149890Z With the provided path, there will be 1 file uploaded
2024-04-09T02:33:10.6151740Z Starting artifact upload
2024-04-09T02:33:10.6154760Z For more detailed logs during the artifact upload process, enable step-debugging: https://docs.github.com/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging#enabling-step-debug-logging
2024-04-09T02:33:10.6157560Z Artifact name is valid!
2024-04-09T02:33:10.7403200Z Container for artifact "buskill-mac-x86_64" successfully created. Starting upload of file(s)
2024-04-09T02:33:10.7840130Z Total size of all the files uploaded is 0 bytes
2024-04-09T02:33:10.7841980Z File upload process has finished. Finalizing the artifact upload
2024-04-09T02:33:10.8157530Z Artifact has been finalized. All files have been successfully uploaded!
2024-04-09T02:33:10.8158470Z 
2024-04-09T02:33:10.8159050Z The raw size of all the files that were specified for upload is 0 bytes
2024-04-09T02:33:10.8161250Z The size of all the files that were uploaded is 0 bytes. This takes into account any gzip compression used to reduce the upload size, time and storage
2024-04-09T02:33:10.8163170Z 
2024-04-09T02:33:10.8165010Z Note: The size of downloaded zips can differ significantly from the reported size. For more information see: https://github.com/actions/upload-artifact#zipped-artifact-downloads 
2024-04-09T02:33:10.8167130Z 
2024-04-09T02:33:10.8167740Z Artifact buskill-mac-x86_64 has been successfully uploaded!
...

@maltfield
Copy link
Member Author

there must be some sort of race condition in the macOS buids, because I made some trivial change and the next build created the .dmg file successfully

Also, this was a triumph! I'm making a note here: the latest build from a macOS 13 system ran fine on a macOS 10.x system.

So, indeed, it appears that switching from the brew-python to the python.org-python fixed this issue where builds don't work on older systems. Hooray!

maltfield added a commit that referenced this issue Apr 9, 2024
this commit changes the path of the root_child from SRC_DIR to EXE_DIR. This is necessary since PyInstaller no longer puts symlinks from the .app/Contents/MacOS dir to .app/Contents/Resources dir, which required us to change the SRC_DIR from the 'MacOS' dir to the 'Resources' dir, but that's not where the root_child and buskill binaries live.

 * #78 (comment)
 * #78 (comment)
@maltfield
Copy link
Member Author

maltfield commented Jun 6, 2024

Alright, I stepped away for a couple months, partly because I wanted to properly document how to download brew dependencies from the GitHub Packages Container Registry (as described above) for 3TOFU -- because this is definitely going to be an issue again, in the future.

I just finished writing the article (titled Manually Downloading Container Images (Docker, Github Packages)), which I'll publish on https://tech.michaelaltfield.net sometime soon, likely before the end of 2024.

@maltfield
Copy link
Member Author

As of now, GitHub Actions is green for Linux and macOS builds. It's red for Windows builds.

The latest build (from a trivial change to the docs) fails with an error when trying to verify the cryptographic authenticity of our deps SHA256SUMS -- a file that I signed myself

Looks like I started looking into this before, so I have some good debug output

2024-05-14T21:12:24.6180623Z DEBUG:  123+  >>>> gpg --list-keys | Out-String
2024-05-14T21:12:24.6368544Z gpg: directory '/c/Users/runneradmin/.gnupg' created
2024-05-14T21:12:24.6496377Z gpg: /c/Users/runneradmin/.gnupg/trustdb.gpg: trustdb created
2024-05-14T21:12:25.9837692Z 
2024-05-14T21:12:25.9849794Z DEBUG:  124+  >>>> gpg  --with-fingerprint  --with-subkey-fingerprint --keyid-format 0xlong  --keyring 
2024-05-14T21:12:25.9850814Z "${tmpDir}\gnupg\pubring.gpg" --list-keys | Out-String
2024-05-14T21:12:26.0047860Z 
2024-05-14T21:12:26.0060231Z DEBUG:  125+  >>>> gpg  --with-fingerprint  --with-subkey-fingerprint --keyid-format 0xlong  --keyring 
2024-05-14T21:12:26.0061198Z "${tmpDir}\gnupg\pubring.kbx" --list-keys | Out-String
2024-05-14T21:12:26.0241101Z 
2024-05-14T21:12:26.0253535Z DEBUG:  126+  >>>> gpg  --with-fingerprint  --with-subkey-fingerprint --keyid-format 0xlong  --homedir 
2024-05-14T21:12:26.0254868Z "${tmpDir}\gnupg" --keyring "${tmpDir}\gnupg\pubring.gpg" --list-keys | Out-String
2024-05-14T21:12:26.0546486Z gpg: keyblock resource 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\c6425bb2-51a1-41f5-a7b2-312f180fb009\\gnupg/C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\c6425bb2-51a1-41f5-a7b2-312f180fb009\\gnupg\\pubring.gpg': No such file or directory
2024-05-14T21:12:26.0581510Z C:\Users\RUNNER~1\AppData\Local\Temp\c6425bb2-51a1-41f5-a7b2-312f180fb009\gnupg/pubring.kbx
2024-05-14T21:12:26.0582457Z -------------------------------------------------------------------------------------------
2024-05-14T21:12:26.0583076Z pub   rsa4096/0x4AE21E1936CE786A 2020-07-07 [SC] [expires: 2025-07-06]
2024-05-14T21:12:26.0583648Z       Key fingerprint = E0AF FF57 DC00 FBE0 5635  8761 4AE2 1E19 36CE 786A
2024-05-14T21:12:26.0584244Z uid                   [ unknown] BusKill Releases Signing Key 2020.07 <releases@buskill.in>
2024-05-14T21:12:26.0584921Z sub   rsa4096/0xF9C0AEBD60002557 2020-07-07 [E] [expires: 2025-07-06]
2024-05-14T21:12:26.0585472Z       Key fingerprint = E484 6439 C968 04DF CFB9  3983 F9C0 AEBD 6000 2557
2024-05-14T21:12:26.0586108Z sub   rsa4096/0x68B8BCB0C5023905 2020-07-07 [S] [expires: 2025-07-06]
2024-05-14T21:12:26.0586664Z       Key fingerprint = 798D C110 1F3D EC42 8ADE  124D 68B8 BCB0 C502 3905
2024-05-14T21:12:26.0587009Z 
2024-05-14T21:12:26.0587014Z 
2024-05-14T21:12:26.0593296Z DEBUG:  127+  >>>> gpg  --with-fingerprint  --with-subkey-fingerprint --keyid-format 0xlong  --homedir 
2024-05-14T21:12:26.0594697Z "${tmpDir}\gnupg" --keyring "${tmpDir}\gnupg\pubring.kbx" --list-keys | Out-String
2024-05-14T21:12:26.0886912Z gpg: keyblock resource 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\c6425bb2-51a1-41f5-a7b2-312f180fb009\\gnupg/C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\c6425bb2-51a1-41f5-a7b2-312f180fb009\\gnupg\\pubring.kbx': No such file or directory
2024-05-14T21:12:26.0919688Z C:\Users\RUNNER~1\AppData\Local\Temp\c6425bb2-51a1-41f5-a7b2-312f180fb009\gnupg/pubring.kbx
2024-05-14T21:12:26.0920875Z -------------------------------------------------------------------------------------------
2024-05-14T21:12:26.0921751Z pub   rsa4096/0x4AE21E1936CE786A 2020-07-07 [SC] [expires: 2025-07-06]
2024-05-14T21:12:26.0922447Z       Key fingerprint = E0AF FF57 DC00 FBE0 5635  8761 4AE2 1E19 36CE 786A
2024-05-14T21:12:26.0923055Z uid                   [ unknown] BusKill Releases Signing Key 2020.07 <releases@buskill.in>
2024-05-14T21:12:26.0923722Z sub   rsa4096/0xF9C0AEBD60002557 2020-07-07 [E] [expires: 2025-07-06]
2024-05-14T21:12:26.0924274Z       Key fingerprint = E484 6439 C968 04DF CFB9  3983 F9C0 AEBD 6000 2557
2024-05-14T21:12:26.0924876Z sub   rsa4096/0x68B8BCB0C5023905 2020-07-07 [S] [expires: 2025-07-06]
2024-05-14T21:12:26.0925414Z       Key fingerprint = 798D C110 1F3D EC42 8ADE  124D 68B8 BCB0 C502 3905
2024-05-14T21:12:26.0925753Z 
2024-05-14T21:12:26.0925757Z 
2024-05-14T21:12:26.0930861Z DEBUG:  128+  >>>> gpg  --with-fingerprint  --with-subkey-fingerprint --keyid-format 0xlong  --homedir 
2024-05-14T21:12:26.0931993Z "${tmpDir}\gnupg" --keyring "pubring.gpg" --list-keys | Out-String
2024-05-14T21:12:26.1220277Z gpg: keyblock resource 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\c6425bb2-51a1-41f5-a7b2-312f180fb009\\gnupg/pubring.gpg': No such file or directory
2024-05-14T21:12:26.1252733Z C:\Users\RUNNER~1\AppData\Local\Temp\c6425bb2-51a1-41f5-a7b2-312f180fb009\gnupg/pubring.kbx
2024-05-14T21:12:26.1253769Z -------------------------------------------------------------------------------------------
2024-05-14T21:12:26.1254466Z pub   rsa4096/0x4AE21E1936CE786A 2020-07-07 [SC] [expires: 2025-07-06]
2024-05-14T21:12:26.1255107Z       Key fingerprint = E0AF FF57 DC00 FBE0 5635  8761 4AE2 1E19 36CE 786A
2024-05-14T21:12:26.1255761Z uid                   [ unknown] BusKill Releases Signing Key 2020.07 <releases@buskill.in>
2024-05-14T21:12:26.1256497Z sub   rsa4096/0xF9C0AEBD60002557 2020-07-07 [E] [expires: 2025-07-06]
2024-05-14T21:12:26.1257107Z       Key fingerprint = E484 6439 C968 04DF CFB9  3983 F9C0 AEBD 6000 2557
2024-05-14T21:12:26.1257779Z sub   rsa4096/0x68B8BCB0C5023905 2020-07-07 [S] [expires: 2025-07-06]
2024-05-14T21:12:26.1258400Z       Key fingerprint = 798D C110 1F3D EC42 8ADE  124D 68B8 BCB0 C502 3905
2024-05-14T21:12:26.1258795Z 
2024-05-14T21:12:26.1258800Z 
2024-05-14T21:12:26.1263470Z DEBUG:  129+  >>>> gpg  --with-fingerprint  --with-subkey-fingerprint --keyid-format 0xlong  --homedir 
2024-05-14T21:12:26.1265035Z "${tmpDir}\gnupg" --keyring "pubring.kbx" --list-keys | Out-String
2024-05-14T21:12:26.1549077Z gpg: keyblock resource 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\c6425bb2-51a1-41f5-a7b2-312f180fb009\\gnupg/pubring.kbx': File exists
2024-05-14T21:12:26.1581107Z C:\Users\RUNNER~1\AppData\Local\Temp\c6425bb2-51a1-41f5-a7b2-312f180fb009\gnupg/pubring.kbx
2024-05-14T21:12:26.1582341Z -------------------------------------------------------------------------------------------
2024-05-14T21:12:26.1583088Z pub   rsa4096/0x4AE21E1936CE786A 2020-07-07 [SC] [expires: 2025-07-06]
2024-05-14T21:12:26.1583781Z       Key fingerprint = E0AF FF57 DC00 FBE0 5635  8761 4AE2 1E19 36CE 786A
2024-05-14T21:12:26.1584530Z uid                   [ unknown] BusKill Releases Signing Key 2020.07 <releases@buskill.in>
2024-05-14T21:12:26.1585337Z sub   rsa4096/0xF9C0AEBD60002557 2020-07-07 [E] [expires: 2025-07-06]
2024-05-14T21:12:26.1585996Z       Key fingerprint = E484 6439 C968 04DF CFB9  3983 F9C0 AEBD 6000 2557
2024-05-14T21:12:26.1586746Z sub   rsa4096/0x68B8BCB0C5023905 2020-07-07 [S] [expires: 2025-07-06]
2024-05-14T21:12:26.1587410Z       Key fingerprint = 798D C110 1F3D EC42 8ADE  124D 68B8 BCB0 C502 3905
2024-05-14T21:12:26.1587825Z 
2024-05-14T21:12:26.1587830Z 
2024-05-14T21:12:26.1589634Z DEBUG:  131+  >>>> gpgv --keyring "${tmpDir}\gnupg\pubring.gpg" "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS.asc" 
2024-05-14T21:12:26.1590676Z "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS" | Out-String
2024-05-14T21:12:26.5238594Z gpgv: keyblock resource '/c/Users/runneradmin/.gnupg/C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\c6425bb2-51a1-41f5-a7b2-312f180fb009\\gnupg\\pubring.gpg': No such file or directory
2024-05-14T21:12:26.5259512Z gpgv: Signature made Mon Apr  8 04:29:14 2024 CUT
2024-05-14T21:12:26.5260240Z gpgv:                using RSA key 798DC1101F3DEC428ADE124D68B8BCB0C5023905
2024-05-14T21:12:26.5262721Z gpgv: Can't check signature: No public key
2024-05-14T21:12:26.5276382Z 
2024-05-14T21:12:26.5286324Z DEBUG:  132+  >>>> gpgv --keyring "${tmpDir}\gnupg\pubring.kbx" "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS.asc" 
2024-05-14T21:12:26.5287489Z "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS" | Out-String
2024-05-14T21:12:26.5433619Z gpgv: keyblock resource '/c/Users/runneradmin/.gnupg/C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\c6425bb2-51a1-41f5-a7b2-312f180fb009\\gnupg\\pubring.kbx': No such file or directory
2024-05-14T21:12:26.5450376Z gpgv: Signature made Mon Apr  8 04:29:14 2024 CUT
2024-05-14T21:12:26.5451733Z gpgv:                using RSA key 798DC1101F3DEC428ADE124D68B8BCB0C5023905
2024-05-14T21:12:26.5452665Z gpgv: Can't check signature: No public key
2024-05-14T21:12:26.5465313Z 
2024-05-14T21:12:26.5478860Z DEBUG:  133+  >>>> gpgv --homedir "${tmpDir}\gnupg\" --keyring "${tmpDir}\gnupg\pubring.gpg" 
2024-05-14T21:12:26.5481109Z "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS.asc" "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS" | Out-String
2024-05-14T21:12:26.5645101Z gpgv: keyblock resource 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\c6425bb2-51a1-41f5-a7b2-312f180fb009\\gnupg\\/C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\c6425bb2-51a1-41f5-a7b2-312f180fb009\\gnupg\\pubring.gpg': No such file or directory
2024-05-14T21:12:26.5656715Z gpgv: Signature made Mon Apr  8 04:29:14 2024 CUT
2024-05-14T21:12:26.5658313Z gpgv:                using RSA key 798DC1101F3DEC428ADE124D68B8BCB0C5023905
2024-05-14T21:12:26.5659240Z gpgv: Can't check signature: No public key
2024-05-14T21:12:26.5670732Z 
2024-05-14T21:12:26.5684191Z DEBUG:  134+  >>>> gpgv --homedir "${tmpDir}\gnupg\" --keyring "${tmpDir}\gnupg\pubring.kbx" 
2024-05-14T21:12:26.5685826Z "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS.asc" "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS" | Out-String
2024-05-14T21:12:26.5841784Z gpgv: keyblock resource 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\c6425bb2-51a1-41f5-a7b2-312f180fb009\\gnupg\\/C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\c6425bb2-51a1-41f5-a7b2-312f180fb009\\gnupg\\pubring.kbx': No such file or directory
2024-05-14T21:12:26.5853637Z gpgv: Signature made Mon Apr  8 04:29:14 2024 CUT
2024-05-14T21:12:26.5855139Z gpgv:                using RSA key 798DC1101F3DEC428ADE124D68B8BCB0C5023905
2024-05-14T21:12:26.5856222Z gpgv: Can't check signature: No public key
2024-05-14T21:12:26.5867413Z 
2024-05-14T21:12:26.5880648Z DEBUG:  135+  >>>> gpgv --homedir "${tmpDir}/gnupg" --keyring "${tmpDir}/gnupg/pubring.gpg" 
2024-05-14T21:12:26.5882306Z "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS.asc" "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS" | Out-String
2024-05-14T21:12:26.6019379Z gpgv: keyblock resource 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\c6425bb2-51a1-41f5-a7b2-312f180fb009/gnupg/pubring.gpg': No such file or directory
2024-05-14T21:12:26.6030143Z gpgv: Signature made Mon Apr  8 04:29:14 2024 CUT
2024-05-14T21:12:26.6031737Z gpgv:                using RSA key 798DC1101F3DEC428ADE124D68B8BCB0C5023905
2024-05-14T21:12:26.6032536Z gpgv: Can't check signature: No public key
2024-05-14T21:12:26.6042336Z 
2024-05-14T21:12:26.6051925Z DEBUG:  136+  >>>> gpgv --homedir "${tmpDir}/gnupg" --keyring "${tmpDir}/gnupg/pubring.kbx" 
2024-05-14T21:12:26.6053865Z "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS.asc" "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS" | Out-String
2024-05-14T21:12:26.6192560Z gpgv: Signature made Mon Apr  8 04:29:14 2024 CUT
2024-05-14T21:12:26.6193415Z gpgv:                using RSA key 798DC1101F3DEC428ADE124D68B8BCB0C5023905
2024-05-14T21:12:26.6215937Z gpgv: BAD signature from "BusKill Releases Signing Key 2020.07 <releases@buskill.in>"
2024-05-14T21:12:26.6226431Z 
2024-05-14T21:12:26.6236989Z DEBUG:  137+  >>>> gpgv --homedir "${tmpDir}\gnupg" --keyring "pubring.gpg" 
2024-05-14T21:12:26.6238015Z "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS.asc" "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS" | Out-String
2024-05-14T21:12:26.6366824Z gpgv: keyblock resource 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\c6425bb2-51a1-41f5-a7b2-312f180fb009\\gnupg/pubring.gpg': No such file or directory
2024-05-14T21:12:26.6378301Z gpgv: Signature made Mon Apr  8 04:29:14 2024 CUT
2024-05-14T21:12:26.6379926Z gpgv:                using RSA key 798DC1101F3DEC428ADE124D68B8BCB0C5023905
2024-05-14T21:12:26.6380861Z gpgv: Can't check signature: No public key
2024-05-14T21:12:26.6390286Z 
2024-05-14T21:12:26.6399108Z DEBUG:  138+  >>>> gpgv --homedir "${tmpDir}\gnupg" --keyring "pubring.kbx" 
2024-05-14T21:12:26.6401024Z "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS.asc" "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS" | Out-String
2024-05-14T21:12:26.6540661Z gpgv: Signature made Mon Apr  8 04:29:14 2024 CUT
2024-05-14T21:12:26.6541403Z gpgv:                using RSA key 798DC1101F3DEC428ADE124D68B8BCB0C5023905
2024-05-14T21:12:26.6561185Z gpgv: BAD signature from "BusKill Releases Signing Key 2020.07 <releases@buskill.in>"
2024-05-14T21:12:26.6572101Z 
2024-05-14T21:12:26.6581930Z DEBUG:  140+  >>>> gpg --homedir "${tmpDir}\gnupg" --keyring "pubring.gpg" --verify 
2024-05-14T21:12:26.6583796Z "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS.asc" "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS" | Out-String
2024-05-14T21:12:26.6867151Z gpg: keyblock resource 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\c6425bb2-51a1-41f5-a7b2-312f180fb009\\gnupg/pubring.gpg': No such file or directory
2024-05-14T21:12:26.6878256Z gpg: Signature made Mon Apr  8 04:29:14 2024 CUT
2024-05-14T21:12:26.6878908Z gpg:                using RSA key 798DC1101F3DEC428ADE124D68B8BCB0C5023905
2024-05-14T21:12:26.6892836Z gpg: BAD signature from "BusKill Releases Signing Key 2020.07 <releases@buskill.in>" [unknown]
2024-05-14T21:12:26.6911599Z 
2024-05-14T21:12:26.6921554Z DEBUG:  141+  >>>> gpg --homedir "${tmpDir}\gnupg" --keyring "pubring.kbx" --verify 
2024-05-14T21:12:26.6923426Z "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS.asc" "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS" | Out-String
2024-05-14T21:12:26.7210281Z gpg: keyblock resource 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\c6425bb2-51a1-41f5-a7b2-312f180fb009\\gnupg/pubring.kbx': File exists
2024-05-14T21:12:26.7221093Z gpg: Signature made Mon Apr  8 04:29:14 2024 CUT
2024-05-14T21:12:26.7221745Z gpg:                using RSA key 798DC1101F3DEC428ADE124D68B8BCB0C5023905
2024-05-14T21:12:26.7235425Z gpg: BAD signature from "BusKill Releases Signing Key 2020.07 <releases@buskill.in>" [unknown]
2024-05-14T21:12:26.7253386Z 
2024-05-14T21:12:26.7265233Z DEBUG:  143+ if (  >>>> $? -ne $true -or $LastExitCode -ne 0 ){
2024-05-14T21:12:26.7274510Z DEBUG:  144+   >>>> echo "ERROR: Invalid PGP signature!" | Out-String
2024-05-14T21:12:26.7278575Z ERROR: Invalid PGP signature!
2024-05-14T21:12:26.7278890Z 
2024-05-14T21:12:26.7286244Z DEBUG:  145+   >>>> exit 1 | Out-String
2024-05-14T21:12:26.7293576Z DEBUG:  145+  exit  >>>> 1 | Out-String
2024-05-14T21:12:26.7394592Z DEBUG:    3+ if ( >>>> (Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE }
2024-05-14T21:12:26.7427290Z DEBUG:    3+ if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) {  >>>> exit $LASTEXITCODE }
2024-05-14T21:12:26.7429612Z 
2024-05-14T21:12:26.7429886Z 
2024-05-14T21:12:31.7698246Z ##[error]Process completed with exit code 1.
2024-05-14T21:12:31.7888514Z Post job cleanup.

@maltfield
Copy link
Member Author

maltfield commented Jun 6, 2024

I can't understand why the sig check is BAD, so I checked the file (and detached sig file) contents

2024-06-06T20:07:56.2535629Z DEBUG:  119+  >>>> cat "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS.asc" | Out-String
2024-06-06T20:07:56.2565691Z -----BEGIN PGP SIGNATURE-----
2024-06-06T20:07:56.2566244Z 
2024-06-06T20:07:56.2566715Z iQIzBAABCgAdFiEEeY3BEB897EKK3hJNaLi8sMUCOQUFAmYTcpoACgkQaLi8sMUC
2024-06-06T20:07:56.2567628Z OQW24g/6A7l6ohzWBxBUKhrGodK1w8Jej+owYtXKpXID7VIlIIpRxTSLa6crl9iW
2024-06-06T20:07:56.2568285Z AGMxEqQmg2UWVeq7qdvMp5uxnRWqdl5+PacNt7YMD+TdCOht45yNLG2vkQjNQI+J
2024-06-06T20:07:56.2568942Z 1LkD6qgFRqv1p0aeDrAI7STy6HpdPww9TrsWBhqdESdptf9OkDRYS8LXrWQ8eDhm
2024-06-06T20:07:56.2569553Z cxHMdbytLs9KSsogW6stC4iVxyFmM0Cv0pGtfUE1nOKtFJ3yJ/+GxcV8hOXU8+SU
2024-06-06T20:07:56.2570161Z eHHmRYm3s0bKZZvY6jESEZaZOvtfcz76jww+ooTb9kdbYCFSnBlE3uQxpR/v/g62
2024-06-06T20:07:56.2570766Z GQ3WXKTniXhrmV5DuzTHtubwoDy0ngd1/EpKwV1LI1VwvjdfWcidS0pvXTMHqF74
2024-06-06T20:07:56.2571365Z 8zsPwwFCjGmq8bwYs6Xc3QkJfZwuXRJp86pdk8TkpbcMqo3Qf6JebjmYesHTxdiw
2024-06-06T20:07:56.2572001Z DQW/Hh+sUnDBfFx9iRbN5EDQVHfFRNyOioFHFuAHBi0lTzIHMbSeHX2c3GVoq26a
2024-06-06T20:07:56.2572610Z UoVXtpk0Rmrf1iHMTfWa5VAsEocF8Oa/hklsTDzDZjJiN252pa+7dPeixb4rDxwc
2024-06-06T20:07:56.2573579Z JR+VK3yEV3ZbR29YBo1Ehxz/ecP5VozgBf1caJ0m3z3/jmCz1iYwdNdEI8j6rr30
2024-06-06T20:07:56.2574333Z 3JKYnsQtG9vn86H7+1hrsQt3SSkh6LYyNABIJH6+LaniE7xoIRw=
2024-06-06T20:07:56.2574718Z =Vh2H
2024-06-06T20:07:56.2575011Z -----END PGP SIGNATURE-----
2024-06-06T20:07:56.2575207Z 
2024-06-06T20:07:56.2575765Z DEBUG:  120+  >>>> cat "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS" | Out-String
2024-06-06T20:07:56.2610860Z 642743b4750de17e655e6711601b077bc6598dbfa3ba5fa2b2a35ce12b508dff  altgraph-0.17.4-py2.py3-none-any.whl
2024-06-06T20:07:56.2612833Z df3baf5ca5facbecfc2f3fa6713c29ab9cefa8fd8c1eac5d283b79cab33e4acb  appimagetool-x86_64.AppImage
2024-06-06T20:07:56.2614347Z 050b464a152438b7eae946528e25d3b4eb11fa0dfca916dc02436c29ebb1111f  buskill.asc
2024-06-06T20:07:56.2616064Z dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1  certifi-2024.2.2-py3-none-any.whl
2024-06-06T20:07:56.2617523Z 753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8  charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2024-06-06T20:07:56.2618658Z 034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784  distlib-0.3.8-py2.py3-none-any.whl
2024-06-06T20:07:56.2619596Z 96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6  docutils-0.20.1-py3-none-any.whl
2024-06-06T20:07:56.2620678Z 57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c  filelock-3.13.1-py3-none-any.whl
2024-06-06T20:07:56.2621761Z 929292d34f5872e70396626ef385ec22355a1fae8ad29e1a734c3e43f9fbc216  future-1.0.0-py3-none-any.whl
2024-06-06T20:07:56.2622471Z 1d12afc4a2516573f661809ba68b8d955016db1101143fe5213ab5aafabd05a4  gnupg.asc
2024-06-06T20:07:56.2623251Z c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f  idna-3.6-py3-none-any.whl
2024-06-06T20:07:56.2624197Z ec36ab3b74a525fa463b61895d3a2d76e9e4d206641233defae0d604e75df7ad  Kivy-2.3.0-cp311-cp311-macosx_10_9_universal2.whl
2024-06-06T20:07:56.2625340Z 7766baac2509d699df84b284579fa25ee31383d48893660cd8dba62081453a29  Kivy-2.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2024-06-06T20:07:56.2626425Z 7b1307521843d316265481d963344e85870ae5fa0c7d0881129749acfe61da7b  Kivy-2.3.0-cp312-cp312-macosx_10_9_universal2.whl
2024-06-06T20:07:56.2627530Z 6672959894f652856d1dfcbcdcc09263de5f1cbed768b997dc8dcecab4385a4f  Kivy-2.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2024-06-06T20:07:56.2628553Z 710648c987a63e37c723e6622853efe0278767596631a38728a54474b2cb77f2  Kivy-2.3.0-cp312-cp312-win_amd64.whl
2024-06-06T20:07:56.2629470Z d2c6a411e2d837684d91b46231dd12db74fb1db6a2628e9f27581ce1583e5c8a  Kivy-2.3.0-cp37-cp37m-macosx_10_9_x86_64.whl
2024-06-06T20:07:56.2630492Z 668e670d4afd2551af0af2c627ceb0feac884bd799fb6a3dff78fdbfa2ea0451  kivy_deps.angle-0.4.0-cp312-cp312-win_amd64.whl
2024-06-06T20:07:56.2631512Z 3acbbd30da05fc10c185b5d4bb75fbbc882a6ef2192963050c1c94d60a6e795a  kivy_deps.glew-0.3.1-cp312-cp312-win_amd64.whl
2024-06-06T20:07:56.2632491Z e56d5d651f81545c24f920f6f6e5d67b4100802152521022ccde53e822c507a2  kivy_deps.sdl2-0.7.0-cp312-cp312-win_amd64.whl
2024-06-06T20:07:56.2633427Z ef50f44b96358cf10ac5665f27a4751bb34ef54051c54b93af891f80afe42929  Kivy_Garden-0.1.5-py3-none-any.whl
2024-06-06T20:07:56.2634369Z cd9af3b0e9c72274ac8a63934d0af44edb08cfbcfecc30772b862be74f68de9d  libmodplug-0.8.9.0.catalina.bottle.tar.gz
2024-06-06T20:07:56.2635268Z 5a1d1ea93580b19e1f43b778e849f0e192f91f62aee2ba86bf081dc72c1d66ec  libmodplug-0.8.9.0.json
2024-06-06T20:07:56.2636078Z 1cc91c37e9b2cd9ab5a347ccc06667d8bdd1ad4447e2928e7f76f50ea7b8b916  libmodplug-0.8.9.0.rb
2024-06-06T20:07:56.2636983Z c5d06183c6979cfeca5ad1b02ae6303f4cf0949b064847f6d33529567fa9a4ac  libmodplug-0.8.9.0.ventura.bottle.tar.gz
2024-06-06T20:07:56.2637854Z ffaa41d741a8a3bee244ac8e54a72ea05bf2879663c098c82fc5757853441575  libusb-1.0.27.tar.bz2
2024-06-06T20:07:56.2638669Z 1cd22bbfe4ce382ca9b091e2a6275c48f1c776253815cbb615da295ae0bfe687  libusb-1.0.27.tar.bz2.asc
2024-06-06T20:07:56.2639366Z d84d16689879495f90cb2a72bc8831fbbea03b0bb974abb6889767afad075e07  libusb1.asc
2024-06-06T20:07:56.2640429Z 0e315d7583d38b8c77e815b1ecbdbf504a8258d8b3e17b61165c6feb60d18f2c  macholib-1.16.3-py2.py3-none-any.whl
2024-06-06T20:07:56.2641366Z 2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5  packaging-24.0-py3-none-any.whl
2024-06-06T20:07:56.2642278Z da185cd2af68c08a6cd4481f7325ed600a88f6a813bad9dea07ab3ef73d8d8d6  pefile-2023.2.7-py3-none-any.whl
2024-06-06T20:07:56.2643143Z ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc  pip-24.0-py3-none-any.whl
2024-06-06T20:07:56.2644021Z 0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068  platformdirs-4.2.0-py3-none-any.whl
2024-06-06T20:07:56.2644913Z b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c  pygments-2.17.2-py3-none-any.whl
2024-06-06T20:07:56.2645910Z 81ec15c0deb8c7a0f95bea85b49eecc2df1bdeaf5fe487a41d97de6b0ad29dff  pyinstaller-6.5.0-py3-none-macosx_10_13_universal2.whl
2024-06-06T20:07:56.2647009Z 7c76bfcb624803c311fa8fb137e4780d0ec86d11b7d90a8f43f185e2554afdcc  pyinstaller-6.5.0-py3-none-manylinux2014_x86_64.whl
2024-06-06T20:07:56.2648095Z 6701752d525e1f4eda1eaec2c2affc206171e15c7a4e188a152fcf3ed3308024  pyinstaller_hooks_contrib-2024.3-py2.py3-none-any.whl
2024-06-06T20:07:56.2649080Z 67adf399debc1d5d14dffc1ab5acacb800da569754fafdc576b2a039485aa775  pypiwin32-223-py3-none-any.whl
2024-06-06T20:07:56.2649961Z db3e2ba967acac293c0063591a1d3c4ba713fd89929447715cd56ce06b598200  python-3.11.8-macos11.pkg
2024-06-06T20:07:56.2650832Z 6ef5bacab7e04358a4e844299b8ec1efb23162f85ff8f2c112c5c395b0fdb874  python-3.11.8-macos11.pkg.asc
2024-06-06T20:07:56.2651718Z 2a2fcc671502de65a0abd3a0c4811c72d06932db90663d12808cbcc5e1c1c04d  python-3.11.catalina.bottle.tar.gz
2024-06-06T20:07:56.2652511Z a91b2a2e41c44c7ff006dafbd0c61873038fd6647d11e177fc45c5827b750d71  python@3.11_catalina.json
2024-06-06T20:07:56.2653258Z d69235194ad40473ba1039e704e72fd252a5466f7f24ab44a4024906173f12b2  python@3.11_catalina.rb
2024-06-06T20:07:56.2654117Z c0062822ceb061233f1f2eecae1c4a24aa6cebc8ca2f5488a57552a91575f02a  python-3.11.ventura.bottle.tar.gz
2024-06-06T20:07:56.2654911Z fa64ca7875620b7d0d064a5ba02ffa6e3a67d6c967d626945fc4844199ff2015  python@3.11_ventura.json
2024-06-06T20:07:56.2655642Z 544adb59f5f9336042ee840a87ad937c56eb1c5b553e7b797c78a920aa9f5f68  python@3.11_ventura.rb
2024-06-06T20:07:56.2656450Z b9314802f9efbf0f20a8e2cb4cacc4d5cfb0110dac2818d94e770e1ba5137c65  python-3.12.2-amd64.exe
2024-06-06T20:07:56.2657299Z c85b82d619e6afd1731ef77761f47bc11eaff4ad51566fe692a484abd2c9bc58  python-3.12.2-amd64.exe.asc
2024-06-06T20:07:56.2658263Z 4310f4c6e6972dbb01162fcd2bd887e111ba095c84242844f185aec5fc7ed0bd  python3.12.2-cp312-cp312-manylinux2014_x86_64.AppImage
2024-06-06T20:07:56.2659211Z af7284515fc601c878aadbb9ded6a031a2309d3d52c1c1d5443c4e5567d500a4  python-3.12.2-macos11.pkg
2024-06-06T20:07:56.2660056Z 2aa783991b8671faef558dc6a370ba8e5b7ac30a44fd3b23cd79324871702707  python-3.12.2-macos11.pkg.asc
2024-06-06T20:07:56.2660797Z 2fd0318b9122ef2ffd2d4433e780c0d7cc65fe0b43e1598fbd16e399ec7b8bfd  python@3.12.json
2024-06-06T20:07:56.2661484Z ab791add7b5fba31b3eb1ac8acea43aa3455b100d7ee017127b527d9e72996ad  python@3.12.rb
2024-06-06T20:07:56.2662322Z 2b8cefc95067f3232cbf8b8c0c9df11b040923e12e0308f5102f237f82372710  python-3.12.ventura.bottle.tar.gz
2024-06-06T20:07:56.2663149Z 6caeeec74aacc2722d1e88b7750f056f0ae66c1e8f59baa40c44327d25f8790a  python-gnupg.asc
2024-06-06T20:07:56.2663883Z cf024f2357e15141338e188e1165d1c8477bf081a8953674269268af7b1e9999  python-mac.asc
2024-06-06T20:07:56.2664573Z 6540096672a54a25e30f37e8700b98a94ba79b047b96a38df91db798f94a38e9  python-win.asc
2024-06-06T20:07:56.2665393Z 37257794c1ad39ee9be652da0462dc2e394c8159dfd913a8a4e8eb6fd346da0e  pywin32-306-cp312-cp312-win_amd64.whl
2024-06-06T20:07:56.2666317Z bf490a1a709baf35d688fe0ecf980ed4de11d2b3e37b51e5442587a75d9957e7  pywin32_ctypes-0.2.2-py3-none-any.whl
2024-06-06T20:07:56.2667228Z 58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f  requests-2.31.0-py3-none-any.whl
2024-06-06T20:07:56.2668280Z dba32a7de53794fb1f2473f4b94b22795a63546cd6d3a1e1e0c4249c74c0d632  sdl2-2.26.0.catalina.bottle.tar.gz
2024-06-06T20:07:56.2669114Z ab17659759bd595ae6aff1b50b91d0051513a811fec8141bf877ee6fe064c4b2  sdl2-2.26.0.json
2024-06-06T20:07:56.2669853Z 4b37052b30eea9022c6d29ae5b1fddae879bfcadbd22cc79ee8ab583949d17ac  sdl2-2.26.0.rb
2024-06-06T20:07:56.2670682Z 7462b8e90f5a68ef273e35352d9aacce062fd2b5d0fb2f6dfa3e9930580a4d8d  sdl2-2.26.0.ventura.bottle.tar.gz
2024-06-06T20:07:56.2671477Z 3877394709e5399cea53634cf504f038694e041eb4676071b0365e2d4c4f0382  sdl2-2.30.1.json
2024-06-06T20:07:56.2673108Z 762a95306c7e962a81f926ce42227e2ba1179a1e4c03eaef1fc4148a800f0123  sdl2-2.30.1.ventura.bottle.tar.gz
2024-06-06T20:07:56.2674429Z 40ed17b687354fabb22a87da5d995446088512a0293f3f867c48a74cea0d376d  sdl2_image-2.6.2.catalina.bottle.tar.gz
2024-06-06T20:07:56.2675296Z a4576df9f86a742088b21eb7a631c201b90919f9b4fa35b77007477923650771  sdl2_image-2.6.2.json
2024-06-06T20:07:56.2676070Z f6321525ce8a46143383f028d88e22ddcf43db43b3c134739f1c4764020d59ea  sdl2_image-2.6.2.rb
2024-06-06T20:07:56.2676919Z 560c9818858ea121b28c813fb3cbe37f80c81b4b084e9250aa08f0318e094133  sdl2_image-2.6.2.ventura.bottle.tar.gz
2024-06-06T20:07:56.2678034Z 94ca355d8dd8be9fc2167b04f9795bf1eb18004549124ed23762c94b82fdca35  sdl2_image-2.8.2_1.json
2024-06-06T20:07:56.2678896Z f6321525ce8a46143383f028d88e22ddcf43db43b3c134739f1c4764020d59ea  sdl2_image-2.8.2_1.rb
2024-06-06T20:07:56.2679762Z 7d0a3805e94d526829545c6b9727ddfa2386601e4faad857b8d9b3da24d81cf9  sdl2_image-2.8.2_1.ventura.bottle.tar.gz
2024-06-06T20:07:56.2680689Z c04088e4f0404296e684cb36096279bbc973ebedbad9984c1f8f3c559fc64756  sdl2_mixer-2.6.2.catalina.bottle.tar.gz
2024-06-06T20:07:56.2681542Z 2ce20d1e740bbf4a017e391938d2c081cc7f083b72d5daf2410b5a99bb5f4f9f  sdl2_mixer-2.6.2.json
2024-06-06T20:07:56.2682324Z 18ea0e0c457ec2ce1b00a7beb9dc513199e40b5b37b0a0e04af96a33529236d0  sdl2_mixer-2.6.2.rb
2024-06-06T20:07:56.2683178Z fe6119565761b503c1c0c12c4bc3b3524e5d67ee13279a988cb00f8c5924799b  sdl2_mixer-2.6.2.ventura.bottle.tar.gz
2024-06-06T20:07:56.2684038Z ebf312d7eaad0949f715e008dcde207a0d0a2aea3932a7ea52aa8b67edf43a65  sdl2_mixer-2.8.0.json
2024-06-06T20:07:56.2684831Z 603bbb3488fee69b794fbf862a1bfa6e4fcb472d5e7801c57eb087ff6205c40c  sdl2_mixer-2.8.0.rb
2024-06-06T20:07:56.2685687Z 28f0d9e87343d9f0e5bcbfa35bb08270090fbe144245e78656e50e3633c490b8  sdl2_mixer-2.8.0.ventura.bottle.tar.gz
2024-06-06T20:07:56.2686618Z b969e2ec3520ce18c9ab44e05e9fb4e406887c8d879d156c8eedc559ba9bfe30  sdl2_ttf-2.20.1.catalina.bottle.tar.gz
2024-06-06T20:07:56.2687465Z bd5b1bb84026100fb083c1c7d8d19b2f272e9503ebbee606da49fed63660fd8b  sdl2_ttf-2.20.1.json
2024-06-06T20:07:56.2688233Z 87ce2a5b868db505f798f644663b777aed4d9a3358c37ce8d0a31354369ef232  sdl2_ttf-2.20.1.rb
2024-06-06T20:07:56.2689068Z e0801a169bc31d6340a5c6f57b289d92099449a43ae7a2f422356a85ec39a47a  sdl2_ttf-2.20.1.ventura.bottle.tar.gz
2024-06-06T20:07:56.2689899Z f0870cef66ba1de8726a29fa0855fec39e8d86fd3008a0d703af69fda54c4e2b  sdl2_ttf-2.22.0.json
2024-06-06T20:07:56.2690671Z 8688ac484a051fb20aee1d4f772e0f808e319a35f118ff6b92a3af2907e8bfe6  sdl2_ttf-2.22.0.rb
2024-06-06T20:07:56.2691525Z 8f40d557b225e0fdd5ce0a80e9fb97fbf68ac1f147f38ea333b83e651cb80e81  sdl2_ttf-2.22.0.ventura.bottle.tar.gz
2024-06-06T20:07:56.2693312Z 02fa291a0471b3a18b2b2481ed902af520c69e8ae0919c13da936542754b4c56  setuptools-69.1.1-py3-none-any.whl
2024-06-06T20:07:56.2694082Z a981b3f3f2054b5a2e658851a3c06a2460ad04a9a8a645e0afe063a63fdbb07e  squashfs4.4.tar.gz
2024-06-06T20:07:56.2695026Z 450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d  urllib3-2.2.1-py3-none-any.whl
2024-06-06T20:07:56.2696892Z 21335f1b50bbfe14eaeb8025a7138537d4e158168293cc9bc0a7ef85c658aba2  virtualenv-20-17.0.catalina.bottle.tar.gz
2024-06-06T20:07:56.2697952Z 5190d0b11ea8aef132423f1d8b4ec78fc9fee50a410d74172c3e98ff6c1d4afb  virtualenv-20.17.0.json
2024-06-06T20:07:56.2698824Z bdec78ccfac9ed83678a01649d2e47d450cac30cbef8f40051f88a8999c637ec  virtualenv-20.17.0.rb
2024-06-06T20:07:56.2701175Z 6c4fb1042b4c6919bd17984694e1bf4b520db257b21e91343ae06cff654291a8  virtualenv-20-17.0.ventura.bottle.tar.gz
2024-06-06T20:07:56.2702106Z 905794a5e2ea24e56b350c12a1be26a116344249e117a9975d9b29e2b9c9ecf7  virtualenv-20.25.1.json
2024-06-06T20:07:56.2702994Z 961c026ac520bac5f69acb8ea063e8a4f071bcc9457b9c1f28f6b085c511583a  virtualenv-20.25.1-py3-none-any.whl
2024-06-06T20:07:56.2703867Z b6abbd20fa652150c5332e0ae3e6dafd728e009013112dfe80800715f6af51e2  virtualenv-20.25.1.rb
2024-06-06T20:07:56.2704770Z 4228ed0211acbc17a62ca52d0de8cb61eb100965653536a80f5c9d21aa8a5674  virtualenv-20-25.1.ventura.bottle.tar.gz
2024-06-06T20:07:56.2705737Z 2aadef5aae81ecdd7e28bc9a776adcf0eaa393edae904e0c69740a442b7a3e69  wget-1.21.3.catalina.bottle.tar.gz
2024-06-06T20:07:56.2706594Z 68b12cc07827cea7fdd11b0549f29b6bbb0706d6c94d85221a4671b8be6c772b  wget-1.21.3.json
2024-06-06T20:07:56.2707330Z 3853b1317132bd7d65406d36027a23f465b62d6d69b582773b76b3ff9b7aecbf  wget-1.21.3.rb
2024-06-06T20:07:56.2708154Z e7c2473d1ad12f24fcfa2a2de2eea915e478f5b0204c153daa00b7d3f440b7ab  wget-1.21.3.ventura.bottle.tar.gz
2024-06-06T20:07:56.2708995Z f7dd153445ffd9ec96cc95d8829cd4afca6ca04b20acbd52cbbd13cfe9aeda5b  wget-1.24.5.json
2024-06-06T20:07:56.2709738Z 09106703fde5615993203f1af5717494e00cf51016169e5b0ef3c79628b8b923  wget-1.24.5.rb
2024-06-06T20:07:56.2710550Z 1b7e2f76c90553543a5e25dadf031c6fcfe280f52bf27d89e04006f9d33fd20b  wget-1.24.5.ventura.bottle.tar.gz
2024-06-06T20:07:56.2711420Z 177f9c9b0d45c47873b619f5b650346d632cdc35fb5e4d25058e09c9e581433d  wheel-0.42.0-py3-none-any.whl
2024-06-06T20:07:56.2711863Z 
2024-06-06T20:07:56.2712270Z DEBUG:  122+  >>>> Get-FileHash "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS.asc" | Out-String
2024-06-06T20:07:56.3008460Z DEBUG:   24+      >>>> {
2024-06-06T20:07:56.3018830Z DEBUG:   28+          >>>> $hasherType = "System.Security.Cryptography.${Algorithm}CryptoServiceProvider" -as [Type]
2024-06-06T20:07:56.3027785Z DEBUG:   29+         if ( >>>> $hasherType)
2024-06-06T20:07:56.3043784Z DEBUG:   31+              >>>> $hasher = $hasherType::New()
2024-06-06T20:07:56.3061815Z DEBUG:   93+      >>>> }
2024-06-06T20:07:56.3069438Z DEBUG:   96+      >>>> {
2024-06-06T20:07:56.3078766Z DEBUG:   97+         if( >>>> $PSCmdlet.ParameterSetName -eq "Stream")
2024-06-06T20:07:56.3100661Z DEBUG:  103+              >>>> $pathsToProcess = @()
2024-06-06T20:07:56.3109968Z DEBUG:  104+             if( >>>> $PSCmdlet.ParameterSetName  -eq "LiteralPath")
2024-06-06T20:07:56.3119199Z DEBUG:  108+             if( >>>> $PSCmdlet.ParameterSetName -eq "Path")
2024-06-06T20:07:56.3130144Z DEBUG:  110+                  >>>> $pathsToProcess += Resolve-Path $Path | Foreach-Object ProviderPath
2024-06-06T20:07:56.3177024Z DEBUG:  113+             foreach($filePath in  >>>> $pathsToProcess)
2024-06-06T20:07:56.3186058Z DEBUG:  113+             foreach( >>>> $filePath in $pathsToProcess)
2024-06-06T20:07:56.3196558Z DEBUG:  115+                 if( >>>> Test-Path -LiteralPath $filePath -PathType Container)
2024-06-06T20:07:56.3206795Z DEBUG:  115+                 if( >>>> Test-Path -LiteralPath $filePath -PathType Container)
2024-06-06T20:07:56.3243691Z DEBUG:  123+                      >>>> [system.io.stream]$stream = [system.io.file]::OpenRead($filePath)
2024-06-06T20:07:56.3280983Z DEBUG:  124+                      >>>> GetStreamHash -InputStream $stream  -RelatedPath $filePath -Hasher $hasher
2024-06-06T20:07:56.3334481Z DEBUG:   60+          >>>> {
2024-06-06T20:07:56.3344170Z DEBUG:   72+              >>>> [Byte[]] $computedHash = $Hasher.ComputeHash($InputStream)
2024-06-06T20:07:56.3375358Z DEBUG:   73+              >>>> [string] $hash = [BitConverter]::ToString($computedHash) -replace '-',''
2024-06-06T20:07:56.3402776Z DEBUG:   75+             if ( >>>> $RelatedPath -eq $null)
2024-06-06T20:07:56.3416432Z DEBUG:   84+                  >>>> $retVal = [PSCustomObject] @{
2024-06-06T20:07:56.3457191Z DEBUG:   90+              >>>> $retVal.psobject.TypeNames.Insert(0, "Microsoft.Powershell.Utility.FileHash")
2024-06-06T20:07:56.3525100Z DEBUG:   91+              >>>> $retVal
2024-06-06T20:07:56.3545033Z DEBUG:   92+          >>>> }
2024-06-06T20:07:56.3552720Z DEBUG:  134+                     if( >>>> $stream)
2024-06-06T20:07:56.3566770Z DEBUG:  136+                          >>>> $stream.Dispose()
2024-06-06T20:07:56.3588779Z DEBUG:  113+             foreach( >>>> $filePath in $pathsToProcess)
2024-06-06T20:07:56.3595840Z DEBUG:  141+      >>>> }
2024-06-06T20:07:56.3597361Z 
2024-06-06T20:07:56.3597846Z Algorithm       Hash                                                                   Path                            
2024-06-06T20:07:56.3598630Z ---------       ----                                                                   ----                            
2024-06-06T20:07:56.3599353Z SHA256          51F2CE0CF7B33A0A5181EFD2102CA7B1778AE0608FF73C8536360832BD9F1474       C:\Users\RUNNER~1\AppData\Loc...
2024-06-06T20:07:56.3599902Z 
2024-06-06T20:07:56.3599907Z 
2024-06-06T20:07:56.3599918Z 
2024-06-06T20:07:56.3606168Z DEBUG:  123+  >>>> Get-FileHash "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS" | Out-String
2024-06-06T20:07:56.3614031Z DEBUG:   24+      >>>> {
2024-06-06T20:07:56.3624612Z DEBUG:   28+          >>>> $hasherType = "System.Security.Cryptography.${Algorithm}CryptoServiceProvider" -as [Type]
2024-06-06T20:07:56.3632401Z DEBUG:   29+         if ( >>>> $hasherType)
2024-06-06T20:07:56.3640933Z DEBUG:   31+              >>>> $hasher = $hasherType::New()
2024-06-06T20:07:56.3648633Z DEBUG:   93+      >>>> }
2024-06-06T20:07:56.3656111Z DEBUG:   96+      >>>> {
2024-06-06T20:07:56.3665161Z DEBUG:   97+         if( >>>> $PSCmdlet.ParameterSetName -eq "Stream")
2024-06-06T20:07:56.3673119Z DEBUG:  103+              >>>> $pathsToProcess = @()
2024-06-06T20:07:56.3682275Z DEBUG:  104+             if( >>>> $PSCmdlet.ParameterSetName  -eq "LiteralPath")
2024-06-06T20:07:56.3691235Z DEBUG:  108+             if( >>>> $PSCmdlet.ParameterSetName -eq "Path")
2024-06-06T20:07:56.3702343Z DEBUG:  110+                  >>>> $pathsToProcess += Resolve-Path $Path | Foreach-Object ProviderPath
2024-06-06T20:07:56.3713797Z DEBUG:  113+             foreach($filePath in  >>>> $pathsToProcess)
2024-06-06T20:07:56.3722294Z DEBUG:  113+             foreach( >>>> $filePath in $pathsToProcess)
2024-06-06T20:07:56.3732998Z DEBUG:  115+                 if( >>>> Test-Path -LiteralPath $filePath -PathType Container)
2024-06-06T20:07:56.3743197Z DEBUG:  115+                 if( >>>> Test-Path -LiteralPath $filePath -PathType Container)
2024-06-06T20:07:56.3753817Z DEBUG:  123+                      >>>> [system.io.stream]$stream = [system.io.file]::OpenRead($filePath)
2024-06-06T20:07:56.3768503Z DEBUG:  124+                      >>>> GetStreamHash -InputStream $stream  -RelatedPath $filePath -Hasher $hasher
2024-06-06T20:07:56.3776480Z DEBUG:   60+          >>>> {
2024-06-06T20:07:56.3785678Z DEBUG:   72+              >>>> [Byte[]] $computedHash = $Hasher.ComputeHash($InputStream)
2024-06-06T20:07:56.3796834Z DEBUG:   73+              >>>> [string] $hash = [BitConverter]::ToString($computedHash) -replace '-',''
2024-06-06T20:07:56.3806619Z DEBUG:   75+             if ( >>>> $RelatedPath -eq $null)
2024-06-06T20:07:56.3815579Z DEBUG:   84+                  >>>> $retVal = [PSCustomObject] @{
2024-06-06T20:07:56.3823928Z DEBUG:   90+              >>>> $retVal.psobject.TypeNames.Insert(0, "Microsoft.Powershell.Utility.FileHash")
2024-06-06T20:07:56.3831855Z DEBUG:   91+              >>>> $retVal
2024-06-06T20:07:56.3842152Z DEBUG:   92+          >>>> }
2024-06-06T20:07:56.3849755Z DEBUG:  134+                     if( >>>> $stream)
2024-06-06T20:07:56.3856817Z DEBUG:  136+                          >>>> $stream.Dispose()
2024-06-06T20:07:56.3865956Z DEBUG:  113+             foreach( >>>> $filePath in $pathsToProcess)
2024-06-06T20:07:56.3872872Z DEBUG:  141+      >>>> }
2024-06-06T20:07:56.3874178Z 
2024-06-06T20:07:56.3875043Z Algorithm       Hash                                                                   Path                            
2024-06-06T20:07:56.3875901Z ---------       ----                                                                   ----                            
2024-06-06T20:07:56.3876702Z SHA256          C4574C036DBAB7206BF51DA90DC4E15E04E0D5D90702344BCE7DE8DF635A8FE6       C:\Users\RUNNER~1\AppData\Loc...

For comparison, here's the file on my local sandbox

user@buskill:~/sandbox/buskill-app/build/windows$ cat /home/user/sandbox/buskill-app-deps/build/deps/SHA256SUMS.asc 
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEeY3BEB897EKK3hJNaLi8sMUCOQUFAmYTcpoACgkQaLi8sMUC
OQW24g/6A7l6ohzWBxBUKhrGodK1w8Jej+owYtXKpXID7VIlIIpRxTSLa6crl9iW
AGMxEqQmg2UWVeq7qdvMp5uxnRWqdl5+PacNt7YMD+TdCOht45yNLG2vkQjNQI+J
1LkD6qgFRqv1p0aeDrAI7STy6HpdPww9TrsWBhqdESdptf9OkDRYS8LXrWQ8eDhm
cxHMdbytLs9KSsogW6stC4iVxyFmM0Cv0pGtfUE1nOKtFJ3yJ/+GxcV8hOXU8+SU
eHHmRYm3s0bKZZvY6jESEZaZOvtfcz76jww+ooTb9kdbYCFSnBlE3uQxpR/v/g62
GQ3WXKTniXhrmV5DuzTHtubwoDy0ngd1/EpKwV1LI1VwvjdfWcidS0pvXTMHqF74
8zsPwwFCjGmq8bwYs6Xc3QkJfZwuXRJp86pdk8TkpbcMqo3Qf6JebjmYesHTxdiw
DQW/Hh+sUnDBfFx9iRbN5EDQVHfFRNyOioFHFuAHBi0lTzIHMbSeHX2c3GVoq26a
UoVXtpk0Rmrf1iHMTfWa5VAsEocF8Oa/hklsTDzDZjJiN252pa+7dPeixb4rDxwc
JR+VK3yEV3ZbR29YBo1Ehxz/ecP5VozgBf1caJ0m3z3/jmCz1iYwdNdEI8j6rr30
3JKYnsQtG9vn86H7+1hrsQt3SSkh6LYyNABIJH6+LaniE7xoIRw=
=Vh2H
-----END PGP SIGNATURE-----
user@buskill:~/sandbox/buskill-app/build/windows$ 
user@buskill:~/sandbox/buskill-app/build/windows$ cat /home/user/sandbox/buskill-app-deps/build/deps/SHA256SUMS
642743b4750de17e655e6711601b077bc6598dbfa3ba5fa2b2a35ce12b508dff  altgraph-0.17.4-py2.py3-none-any.whl
df3baf5ca5facbecfc2f3fa6713c29ab9cefa8fd8c1eac5d283b79cab33e4acb  appimagetool-x86_64.AppImage
050b464a152438b7eae946528e25d3b4eb11fa0dfca916dc02436c29ebb1111f  buskill.asc
dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1  certifi-2024.2.2-py3-none-any.whl
753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8  charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784  distlib-0.3.8-py2.py3-none-any.whl
96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6  docutils-0.20.1-py3-none-any.whl
57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c  filelock-3.13.1-py3-none-any.whl
929292d34f5872e70396626ef385ec22355a1fae8ad29e1a734c3e43f9fbc216  future-1.0.0-py3-none-any.whl
1d12afc4a2516573f661809ba68b8d955016db1101143fe5213ab5aafabd05a4  gnupg.asc
c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f  idna-3.6-py3-none-any.whl
ec36ab3b74a525fa463b61895d3a2d76e9e4d206641233defae0d604e75df7ad  Kivy-2.3.0-cp311-cp311-macosx_10_9_universal2.whl
7766baac2509d699df84b284579fa25ee31383d48893660cd8dba62081453a29  Kivy-2.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7b1307521843d316265481d963344e85870ae5fa0c7d0881129749acfe61da7b  Kivy-2.3.0-cp312-cp312-macosx_10_9_universal2.whl
6672959894f652856d1dfcbcdcc09263de5f1cbed768b997dc8dcecab4385a4f  Kivy-2.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
710648c987a63e37c723e6622853efe0278767596631a38728a54474b2cb77f2  Kivy-2.3.0-cp312-cp312-win_amd64.whl
d2c6a411e2d837684d91b46231dd12db74fb1db6a2628e9f27581ce1583e5c8a  Kivy-2.3.0-cp37-cp37m-macosx_10_9_x86_64.whl
668e670d4afd2551af0af2c627ceb0feac884bd799fb6a3dff78fdbfa2ea0451  kivy_deps.angle-0.4.0-cp312-cp312-win_amd64.whl
3acbbd30da05fc10c185b5d4bb75fbbc882a6ef2192963050c1c94d60a6e795a  kivy_deps.glew-0.3.1-cp312-cp312-win_amd64.whl
e56d5d651f81545c24f920f6f6e5d67b4100802152521022ccde53e822c507a2  kivy_deps.sdl2-0.7.0-cp312-cp312-win_amd64.whl
ef50f44b96358cf10ac5665f27a4751bb34ef54051c54b93af891f80afe42929  Kivy_Garden-0.1.5-py3-none-any.whl
cd9af3b0e9c72274ac8a63934d0af44edb08cfbcfecc30772b862be74f68de9d  libmodplug-0.8.9.0.catalina.bottle.tar.gz
5a1d1ea93580b19e1f43b778e849f0e192f91f62aee2ba86bf081dc72c1d66ec  libmodplug-0.8.9.0.json
1cc91c37e9b2cd9ab5a347ccc06667d8bdd1ad4447e2928e7f76f50ea7b8b916  libmodplug-0.8.9.0.rb
c5d06183c6979cfeca5ad1b02ae6303f4cf0949b064847f6d33529567fa9a4ac  libmodplug-0.8.9.0.ventura.bottle.tar.gz
ffaa41d741a8a3bee244ac8e54a72ea05bf2879663c098c82fc5757853441575  libusb-1.0.27.tar.bz2
1cd22bbfe4ce382ca9b091e2a6275c48f1c776253815cbb615da295ae0bfe687  libusb-1.0.27.tar.bz2.asc
d84d16689879495f90cb2a72bc8831fbbea03b0bb974abb6889767afad075e07  libusb1.asc
0e315d7583d38b8c77e815b1ecbdbf504a8258d8b3e17b61165c6feb60d18f2c  macholib-1.16.3-py2.py3-none-any.whl
2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5  packaging-24.0-py3-none-any.whl
da185cd2af68c08a6cd4481f7325ed600a88f6a813bad9dea07ab3ef73d8d8d6  pefile-2023.2.7-py3-none-any.whl
ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc  pip-24.0-py3-none-any.whl
0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068  platformdirs-4.2.0-py3-none-any.whl
b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c  pygments-2.17.2-py3-none-any.whl
81ec15c0deb8c7a0f95bea85b49eecc2df1bdeaf5fe487a41d97de6b0ad29dff  pyinstaller-6.5.0-py3-none-macosx_10_13_universal2.whl
7c76bfcb624803c311fa8fb137e4780d0ec86d11b7d90a8f43f185e2554afdcc  pyinstaller-6.5.0-py3-none-manylinux2014_x86_64.whl
6701752d525e1f4eda1eaec2c2affc206171e15c7a4e188a152fcf3ed3308024  pyinstaller_hooks_contrib-2024.3-py2.py3-none-any.whl
67adf399debc1d5d14dffc1ab5acacb800da569754fafdc576b2a039485aa775  pypiwin32-223-py3-none-any.whl
db3e2ba967acac293c0063591a1d3c4ba713fd89929447715cd56ce06b598200  python-3.11.8-macos11.pkg
6ef5bacab7e04358a4e844299b8ec1efb23162f85ff8f2c112c5c395b0fdb874  python-3.11.8-macos11.pkg.asc
2a2fcc671502de65a0abd3a0c4811c72d06932db90663d12808cbcc5e1c1c04d  python-3.11.catalina.bottle.tar.gz
a91b2a2e41c44c7ff006dafbd0c61873038fd6647d11e177fc45c5827b750d71  python@3.11_catalina.json
d69235194ad40473ba1039e704e72fd252a5466f7f24ab44a4024906173f12b2  python@3.11_catalina.rb
c0062822ceb061233f1f2eecae1c4a24aa6cebc8ca2f5488a57552a91575f02a  python-3.11.ventura.bottle.tar.gz
fa64ca7875620b7d0d064a5ba02ffa6e3a67d6c967d626945fc4844199ff2015  python@3.11_ventura.json
544adb59f5f9336042ee840a87ad937c56eb1c5b553e7b797c78a920aa9f5f68  python@3.11_ventura.rb
b9314802f9efbf0f20a8e2cb4cacc4d5cfb0110dac2818d94e770e1ba5137c65  python-3.12.2-amd64.exe
c85b82d619e6afd1731ef77761f47bc11eaff4ad51566fe692a484abd2c9bc58  python-3.12.2-amd64.exe.asc
4310f4c6e6972dbb01162fcd2bd887e111ba095c84242844f185aec5fc7ed0bd  python3.12.2-cp312-cp312-manylinux2014_x86_64.AppImage
af7284515fc601c878aadbb9ded6a031a2309d3d52c1c1d5443c4e5567d500a4  python-3.12.2-macos11.pkg
2aa783991b8671faef558dc6a370ba8e5b7ac30a44fd3b23cd79324871702707  python-3.12.2-macos11.pkg.asc
2fd0318b9122ef2ffd2d4433e780c0d7cc65fe0b43e1598fbd16e399ec7b8bfd  python@3.12.json
ab791add7b5fba31b3eb1ac8acea43aa3455b100d7ee017127b527d9e72996ad  python@3.12.rb
2b8cefc95067f3232cbf8b8c0c9df11b040923e12e0308f5102f237f82372710  python-3.12.ventura.bottle.tar.gz
6caeeec74aacc2722d1e88b7750f056f0ae66c1e8f59baa40c44327d25f8790a  python-gnupg.asc
cf024f2357e15141338e188e1165d1c8477bf081a8953674269268af7b1e9999  python-mac.asc
6540096672a54a25e30f37e8700b98a94ba79b047b96a38df91db798f94a38e9  python-win.asc
37257794c1ad39ee9be652da0462dc2e394c8159dfd913a8a4e8eb6fd346da0e  pywin32-306-cp312-cp312-win_amd64.whl
bf490a1a709baf35d688fe0ecf980ed4de11d2b3e37b51e5442587a75d9957e7  pywin32_ctypes-0.2.2-py3-none-any.whl
58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f  requests-2.31.0-py3-none-any.whl
dba32a7de53794fb1f2473f4b94b22795a63546cd6d3a1e1e0c4249c74c0d632  sdl2-2.26.0.catalina.bottle.tar.gz
ab17659759bd595ae6aff1b50b91d0051513a811fec8141bf877ee6fe064c4b2  sdl2-2.26.0.json
4b37052b30eea9022c6d29ae5b1fddae879bfcadbd22cc79ee8ab583949d17ac  sdl2-2.26.0.rb
7462b8e90f5a68ef273e35352d9aacce062fd2b5d0fb2f6dfa3e9930580a4d8d  sdl2-2.26.0.ventura.bottle.tar.gz
3877394709e5399cea53634cf504f038694e041eb4676071b0365e2d4c4f0382  sdl2-2.30.1.json
762a95306c7e962a81f926ce42227e2ba1179a1e4c03eaef1fc4148a800f0123  sdl2-2.30.1.ventura.bottle.tar.gz
40ed17b687354fabb22a87da5d995446088512a0293f3f867c48a74cea0d376d  sdl2_image-2.6.2.catalina.bottle.tar.gz
a4576df9f86a742088b21eb7a631c201b90919f9b4fa35b77007477923650771  sdl2_image-2.6.2.json
f6321525ce8a46143383f028d88e22ddcf43db43b3c134739f1c4764020d59ea  sdl2_image-2.6.2.rb
560c9818858ea121b28c813fb3cbe37f80c81b4b084e9250aa08f0318e094133  sdl2_image-2.6.2.ventura.bottle.tar.gz
94ca355d8dd8be9fc2167b04f9795bf1eb18004549124ed23762c94b82fdca35  sdl2_image-2.8.2_1.json
f6321525ce8a46143383f028d88e22ddcf43db43b3c134739f1c4764020d59ea  sdl2_image-2.8.2_1.rb
7d0a3805e94d526829545c6b9727ddfa2386601e4faad857b8d9b3da24d81cf9  sdl2_image-2.8.2_1.ventura.bottle.tar.gz
c04088e4f0404296e684cb36096279bbc973ebedbad9984c1f8f3c559fc64756  sdl2_mixer-2.6.2.catalina.bottle.tar.gz
2ce20d1e740bbf4a017e391938d2c081cc7f083b72d5daf2410b5a99bb5f4f9f  sdl2_mixer-2.6.2.json
18ea0e0c457ec2ce1b00a7beb9dc513199e40b5b37b0a0e04af96a33529236d0  sdl2_mixer-2.6.2.rb
fe6119565761b503c1c0c12c4bc3b3524e5d67ee13279a988cb00f8c5924799b  sdl2_mixer-2.6.2.ventura.bottle.tar.gz
ebf312d7eaad0949f715e008dcde207a0d0a2aea3932a7ea52aa8b67edf43a65  sdl2_mixer-2.8.0.json
603bbb3488fee69b794fbf862a1bfa6e4fcb472d5e7801c57eb087ff6205c40c  sdl2_mixer-2.8.0.rb
28f0d9e87343d9f0e5bcbfa35bb08270090fbe144245e78656e50e3633c490b8  sdl2_mixer-2.8.0.ventura.bottle.tar.gz
b969e2ec3520ce18c9ab44e05e9fb4e406887c8d879d156c8eedc559ba9bfe30  sdl2_ttf-2.20.1.catalina.bottle.tar.gz
bd5b1bb84026100fb083c1c7d8d19b2f272e9503ebbee606da49fed63660fd8b  sdl2_ttf-2.20.1.json
87ce2a5b868db505f798f644663b777aed4d9a3358c37ce8d0a31354369ef232  sdl2_ttf-2.20.1.rb
e0801a169bc31d6340a5c6f57b289d92099449a43ae7a2f422356a85ec39a47a  sdl2_ttf-2.20.1.ventura.bottle.tar.gz
f0870cef66ba1de8726a29fa0855fec39e8d86fd3008a0d703af69fda54c4e2b  sdl2_ttf-2.22.0.json
8688ac484a051fb20aee1d4f772e0f808e319a35f118ff6b92a3af2907e8bfe6  sdl2_ttf-2.22.0.rb
8f40d557b225e0fdd5ce0a80e9fb97fbf68ac1f147f38ea333b83e651cb80e81  sdl2_ttf-2.22.0.ventura.bottle.tar.gz
02fa291a0471b3a18b2b2481ed902af520c69e8ae0919c13da936542754b4c56  setuptools-69.1.1-py3-none-any.whl
a981b3f3f2054b5a2e658851a3c06a2460ad04a9a8a645e0afe063a63fdbb07e  squashfs4.4.tar.gz
450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d  urllib3-2.2.1-py3-none-any.whl
21335f1b50bbfe14eaeb8025a7138537d4e158168293cc9bc0a7ef85c658aba2  virtualenv-20-17.0.catalina.bottle.tar.gz
5190d0b11ea8aef132423f1d8b4ec78fc9fee50a410d74172c3e98ff6c1d4afb  virtualenv-20.17.0.json
bdec78ccfac9ed83678a01649d2e47d450cac30cbef8f40051f88a8999c637ec  virtualenv-20.17.0.rb
6c4fb1042b4c6919bd17984694e1bf4b520db257b21e91343ae06cff654291a8  virtualenv-20-17.0.ventura.bottle.tar.gz
905794a5e2ea24e56b350c12a1be26a116344249e117a9975d9b29e2b9c9ecf7  virtualenv-20.25.1.json
961c026ac520bac5f69acb8ea063e8a4f071bcc9457b9c1f28f6b085c511583a  virtualenv-20.25.1-py3-none-any.whl
b6abbd20fa652150c5332e0ae3e6dafd728e009013112dfe80800715f6af51e2  virtualenv-20.25.1.rb
4228ed0211acbc17a62ca52d0de8cb61eb100965653536a80f5c9d21aa8a5674  virtualenv-20-25.1.ventura.bottle.tar.gz
2aadef5aae81ecdd7e28bc9a776adcf0eaa393edae904e0c69740a442b7a3e69  wget-1.21.3.catalina.bottle.tar.gz
68b12cc07827cea7fdd11b0549f29b6bbb0706d6c94d85221a4671b8be6c772b  wget-1.21.3.json
3853b1317132bd7d65406d36027a23f465b62d6d69b582773b76b3ff9b7aecbf  wget-1.21.3.rb
e7c2473d1ad12f24fcfa2a2de2eea915e478f5b0204c153daa00b7d3f440b7ab  wget-1.21.3.ventura.bottle.tar.gz
f7dd153445ffd9ec96cc95d8829cd4afca6ca04b20acbd52cbbd13cfe9aeda5b  wget-1.24.5.json
09106703fde5615993203f1af5717494e00cf51016169e5b0ef3c79628b8b923  wget-1.24.5.rb
1b7e2f76c90553543a5e25dadf031c6fcfe280f52bf27d89e04006f9d33fd20b  wget-1.24.5.ventura.bottle.tar.gz
177f9c9b0d45c47873b619f5b650346d632cdc35fb5e4d25058e09c9e581433d  wheel-0.42.0-py3-none-any.whl
user@buskill:~/sandbox/buskill-app/build/windows$ 
user@buskill:~/sandbox/buskill-app/build/windows$ sha256sum /home/user/sandbox/buskill-app-deps/build/deps/SHA256SUMS.asc 
e90066954447bbf6ef72ed48f1dc18db0e19b13b4f3fb7c2ad6f2b738281e8e0  /home/user/sandbox/buskill-app-deps/build/deps/SHA256SUMS.asc
user@buskill:~/sandbox/buskill-app/build/windows$ 
user@buskill:~/sandbox/buskill-app/build/windows$ sha256sum /home/user/sandbox/buskill-app-deps/build/deps/SHA256SUMS
62910805bcdc15875491313a4f81fbaf579a837a505dcd3ff3c70055db8e0fcd  /home/user/sandbox/buskill-app-deps/build/deps/SHA256SUMS
user@buskill:~/sandbox/buskill-app/build/windows$ 

The contents of the files appears identical, but the hashes of the files differ

@maltfield
Copy link
Member Author

maltfield commented Jun 6, 2024

I added a hexdump to the output of the most-recent run

Here's the hexdump of the sig file on my linux dev machine

user@buskill:~/sandbox/buskill-app/build/windows$ hexdump -C /home/user/sandbox/buskill-app-deps/build/deps/SHA256SUMS.asc 
00000000  2d 2d 2d 2d 2d 42 45 47  49 4e 20 50 47 50 20 53  |-----BEGIN PGP S|
00000010  49 47 4e 41 54 55 52 45  2d 2d 2d 2d 2d 0a 0a 69  |IGNATURE-----..i|
00000020  51 49 7a 42 41 41 42 43  67 41 64 46 69 45 45 65  |QIzBAABCgAdFiEEe|
00000030  59 33 42 45 42 38 39 37  45 4b 4b 33 68 4a 4e 61  |Y3BEB897EKK3hJNa|
00000040  4c 69 38 73 4d 55 43 4f  51 55 46 41 6d 59 54 63  |Li8sMUCOQUFAmYTc|
00000050  70 6f 41 43 67 6b 51 61  4c 69 38 73 4d 55 43 0a  |poACgkQaLi8sMUC.|
00000060  4f 51 57 32 34 67 2f 36  41 37 6c 36 6f 68 7a 57  |OQW24g/6A7l6ohzW|
00000070  42 78 42 55 4b 68 72 47  6f 64 4b 31 77 38 4a 65  |BxBUKhrGodK1w8Je|
00000080  6a 2b 6f 77 59 74 58 4b  70 58 49 44 37 56 49 6c  |j+owYtXKpXID7VIl|
00000090  49 49 70 52 78 54 53 4c  61 36 63 72 6c 39 69 57  |IIpRxTSLa6crl9iW|
000000a0  0a 41 47 4d 78 45 71 51  6d 67 32 55 57 56 65 71  |.AGMxEqQmg2UWVeq|
000000b0  37 71 64 76 4d 70 35 75  78 6e 52 57 71 64 6c 35  |7qdvMp5uxnRWqdl5|
000000c0  2b 50 61 63 4e 74 37 59  4d 44 2b 54 64 43 4f 68  |+PacNt7YMD+TdCOh|
000000d0  74 34 35 79 4e 4c 47 32  76 6b 51 6a 4e 51 49 2b  |t45yNLG2vkQjNQI+|
000000e0  4a 0a 31 4c 6b 44 36 71  67 46 52 71 76 31 70 30  |J.1LkD6qgFRqv1p0|
000000f0  61 65 44 72 41 49 37 53  54 79 36 48 70 64 50 77  |aeDrAI7STy6HpdPw|
00000100  77 39 54 72 73 57 42 68  71 64 45 53 64 70 74 66  |w9TrsWBhqdESdptf|
00000110  39 4f 6b 44 52 59 53 38  4c 58 72 57 51 38 65 44  |9OkDRYS8LXrWQ8eD|
00000120  68 6d 0a 63 78 48 4d 64  62 79 74 4c 73 39 4b 53  |hm.cxHMdbytLs9KS|
00000130  73 6f 67 57 36 73 74 43  34 69 56 78 79 46 6d 4d  |sogW6stC4iVxyFmM|
00000140  30 43 76 30 70 47 74 66  55 45 31 6e 4f 4b 74 46  |0Cv0pGtfUE1nOKtF|
00000150  4a 33 79 4a 2f 2b 47 78  63 56 38 68 4f 58 55 38  |J3yJ/+GxcV8hOXU8|
00000160  2b 53 55 0a 65 48 48 6d  52 59 6d 33 73 30 62 4b  |+SU.eHHmRYm3s0bK|
00000170  5a 5a 76 59 36 6a 45 53  45 5a 61 5a 4f 76 74 66  |ZZvY6jESEZaZOvtf|
00000180  63 7a 37 36 6a 77 77 2b  6f 6f 54 62 39 6b 64 62  |cz76jww+ooTb9kdb|
00000190  59 43 46 53 6e 42 6c 45  33 75 51 78 70 52 2f 76  |YCFSnBlE3uQxpR/v|
000001a0  2f 67 36 32 0a 47 51 33  57 58 4b 54 6e 69 58 68  |/g62.GQ3WXKTniXh|
000001b0  72 6d 56 35 44 75 7a 54  48 74 75 62 77 6f 44 79  |rmV5DuzTHtubwoDy|
000001c0  30 6e 67 64 31 2f 45 70  4b 77 56 31 4c 49 31 56  |0ngd1/EpKwV1LI1V|
000001d0  77 76 6a 64 66 57 63 69  64 53 30 70 76 58 54 4d  |wvjdfWcidS0pvXTM|
000001e0  48 71 46 37 34 0a 38 7a  73 50 77 77 46 43 6a 47  |HqF74.8zsPwwFCjG|
000001f0  6d 71 38 62 77 59 73 36  58 63 33 51 6b 4a 66 5a  |mq8bwYs6Xc3QkJfZ|
00000200  77 75 58 52 4a 70 38 36  70 64 6b 38 54 6b 70 62  |wuXRJp86pdk8Tkpb|
00000210  63 4d 71 6f 33 51 66 36  4a 65 62 6a 6d 59 65 73  |cMqo3Qf6JebjmYes|
00000220  48 54 78 64 69 77 0a 44  51 57 2f 48 68 2b 73 55  |HTxdiw.DQW/Hh+sU|
00000230  6e 44 42 66 46 78 39 69  52 62 4e 35 45 44 51 56  |nDBfFx9iRbN5EDQV|
00000240  48 66 46 52 4e 79 4f 69  6f 46 48 46 75 41 48 42  |HfFRNyOioFHFuAHB|
00000250  69 30 6c 54 7a 49 48 4d  62 53 65 48 58 32 63 33  |i0lTzIHMbSeHX2c3|
00000260  47 56 6f 71 32 36 61 0a  55 6f 56 58 74 70 6b 30  |GVoq26a.UoVXtpk0|
00000270  52 6d 72 66 31 69 48 4d  54 66 57 61 35 56 41 73  |Rmrf1iHMTfWa5VAs|
00000280  45 6f 63 46 38 4f 61 2f  68 6b 6c 73 54 44 7a 44  |EocF8Oa/hklsTDzD|
00000290  5a 6a 4a 69 4e 32 35 32  70 61 2b 37 64 50 65 69  |ZjJiN252pa+7dPei|
000002a0  78 62 34 72 44 78 77 63  0a 4a 52 2b 56 4b 33 79  |xb4rDxwc.JR+VK3y|
000002b0  45 56 33 5a 62 52 32 39  59 42 6f 31 45 68 78 7a  |EV3ZbR29YBo1Ehxz|
000002c0  2f 65 63 50 35 56 6f 7a  67 42 66 31 63 61 4a 30  |/ecP5VozgBf1caJ0|
000002d0  6d 33 7a 33 2f 6a 6d 43  7a 31 69 59 77 64 4e 64  |m3z3/jmCz1iYwdNd|
000002e0  45 49 38 6a 36 72 72 33  30 0a 33 4a 4b 59 6e 73  |EI8j6rr30.3JKYns|
000002f0  51 74 47 39 76 6e 38 36  48 37 2b 31 68 72 73 51  |QtG9vn86H7+1hrsQ|
00000300  74 33 53 53 6b 68 36 4c  59 79 4e 41 42 49 4a 48  |t3SSkh6LYyNABIJH|
00000310  36 2b 4c 61 6e 69 45 37  78 6f 49 52 77 3d 0a 3d  |6+LaniE7xoIRw=.=|
00000320  56 68 32 48 0a 2d 2d 2d  2d 2d 45 4e 44 20 50 47  |Vh2H.-----END PG|
00000330  50 20 53 49 47 4e 41 54  55 52 45 2d 2d 2d 2d 2d  |P SIGNATURE-----|
00000340  0a                                                |.|
00000341
user@buskill:~/sandbox/buskill-app/build/windows$ 

And here's the hexdump from the GitHub runner during the build (that fails due to BAD signature)

2024-06-06T20:30:09.0546817Z 00000000   2D 2D 2D 2D 2D 42 45 47 49 4E 20 50 47 50 20 53  -----BEGIN PGP S
2024-06-06T20:30:09.0547445Z 00000010   49 47 4E 41 54 55 52 45 2D 2D 2D 2D 2D 0D 0A 0D  IGNATURE-----...
2024-06-06T20:30:09.0547997Z 00000020   0A 69 51 49 7A 42 41 41 42 43 67 41 64 46 69 45  .iQIzBAABCgAdFiE
2024-06-06T20:30:09.0548710Z 00000030   45 65 59 33 42 45 42 38 39 37 45 4B 4B 33 68 4A  EeY3BEB897EKK3hJ
2024-06-06T20:30:09.0549257Z 00000040   4E 61 4C 69 38 73 4D 55 43 4F 51 55 46 41 6D 59  NaLi8sMUCOQUFAmY
2024-06-06T20:30:09.0549793Z 00000050   54 63 70 6F 41 43 67 6B 51 61 4C 69 38 73 4D 55  TcpoACgkQaLi8sMU
2024-06-06T20:30:09.0550323Z 00000060   43 0D 0A 4F 51 57 32 34 67 2F 36 41 37 6C 36 6F  C..OQW24g/6A7l6o
2024-06-06T20:30:09.0550861Z 00000070   68 7A 57 42 78 42 55 4B 68 72 47 6F 64 4B 31 77  hzWBxBUKhrGodK1w
2024-06-06T20:30:09.0551395Z 00000080   38 4A 65 6A 2B 6F 77 59 74 58 4B 70 58 49 44 37  8Jej+owYtXKpXID7
2024-06-06T20:30:09.0552122Z 00000090   56 49 6C 49 49 70 52 78 54 53 4C 61 36 63 72 6C  VIlIIpRxTSLa6crl
2024-06-06T20:30:09.0552672Z 000000A0   39 69 57 0D 0A 41 47 4D 78 45 71 51 6D 67 32 55  9iW..AGMxEqQmg2U
2024-06-06T20:30:09.0553210Z 000000B0   57 56 65 71 37 71 64 76 4D 70 35 75 78 6E 52 57  WVeq7qdvMp5uxnRW
2024-06-06T20:30:09.0553944Z 000000C0   71 64 6C 35 2B 50 61 63 4E 74 37 59 4D 44 2B 54  qdl5+PacNt7YMD+T
2024-06-06T20:30:09.0554814Z 000000D0   64 43 4F 68 74 34 35 79 4E 4C 47 32 76 6B 51 6A  dCOht45yNLG2vkQj
2024-06-06T20:30:09.0555357Z 000000E0   4E 51 49 2B 4A 0D 0A 31 4C 6B 44 36 71 67 46 52  NQI+J..1LkD6qgFR
2024-06-06T20:30:09.0555887Z 000000F0   71 76 31 70 30 61 65 44 72 41 49 37 53 54 79 36  qv1p0aeDrAI7STy6
2024-06-06T20:30:09.0556417Z 00000100   48 70 64 50 77 77 39 54 72 73 57 42 68 71 64 45  HpdPww9TrsWBhqdE
2024-06-06T20:30:09.0556945Z 00000110   53 64 70 74 66 39 4F 6B 44 52 59 53 38 4C 58 72  Sdptf9OkDRYS8LXr
2024-06-06T20:30:09.0557465Z 00000120   57 51 38 65 44 68 6D 0D 0A 63 78 48 4D 64 62 79  WQ8eDhm..cxHMdby
2024-06-06T20:30:09.0557980Z 00000130   74 4C 73 39 4B 53 73 6F 67 57 36 73 74 43 34 69  tLs9KSsogW6stC4i
2024-06-06T20:30:09.0558501Z 00000140   56 78 79 46 6D 4D 30 43 76 30 70 47 74 66 55 45  VxyFmM0Cv0pGtfUE
2024-06-06T20:30:09.0559023Z 00000150   31 6E 4F 4B 74 46 4A 33 79 4A 2F 2B 47 78 63 56  1nOKtFJ3yJ/+GxcV
2024-06-06T20:30:09.0559548Z 00000160   38 68 4F 58 55 38 2B 53 55 0D 0A 65 48 48 6D 52  8hOXU8+SU..eHHmR
2024-06-06T20:30:09.0560090Z 00000170   59 6D 33 73 30 62 4B 5A 5A 76 59 36 6A 45 53 45  Ym3s0bKZZvY6jESE
2024-06-06T20:30:09.0560746Z 00000180   5A 61 5A 4F 76 74 66 63 7A 37 36 6A 77 77 2B 6F  ZaZOvtfcz76jww+o
2024-06-06T20:30:09.0561374Z 00000190   6F 54 62 39 6B 64 62 59 43 46 53 6E 42 6C 45 33  oTb9kdbYCFSnBlE3
2024-06-06T20:30:09.0561903Z 000001A0   75 51 78 70 52 2F 76 2F 67 36 32 0D 0A 47 51 33  uQxpR/v/g62..GQ3
2024-06-06T20:30:09.0562455Z 000001B0   57 58 4B 54 6E 69 58 68 72 6D 56 35 44 75 7A 54  WXKTniXhrmV5DuzT
2024-06-06T20:30:09.0562997Z 000001C0   48 74 75 62 77 6F 44 79 30 6E 67 64 31 2F 45 70  HtubwoDy0ngd1/Ep
2024-06-06T20:30:09.0563525Z 000001D0   4B 77 56 31 4C 49 31 56 77 76 6A 64 66 57 63 69  KwV1LI1VwvjdfWci
2024-06-06T20:30:09.0564050Z 000001E0   64 53 30 70 76 58 54 4D 48 71 46 37 34 0D 0A 38  dS0pvXTMHqF74..8
2024-06-06T20:30:09.0564578Z 000001F0   7A 73 50 77 77 46 43 6A 47 6D 71 38 62 77 59 73  zsPwwFCjGmq8bwYs
2024-06-06T20:30:09.0565122Z 00000200   36 58 63 33 51 6B 4A 66 5A 77 75 58 52 4A 70 38  6Xc3QkJfZwuXRJp8
2024-06-06T20:30:09.0565665Z 00000210   36 70 64 6B 38 54 6B 70 62 63 4D 71 6F 33 51 66  6pdk8TkpbcMqo3Qf
2024-06-06T20:30:09.0566193Z 00000220   36 4A 65 62 6A 6D 59 65 73 48 54 78 64 69 77 0D  6JebjmYesHTxdiw.
2024-06-06T20:30:09.0566734Z 00000230   0A 44 51 57 2F 48 68 2B 73 55 6E 44 42 66 46 78  .DQW/Hh+sUnDBfFx
2024-06-06T20:30:09.0567264Z 00000240   39 69 52 62 4E 35 45 44 51 56 48 66 46 52 4E 79  9iRbN5EDQVHfFRNy
2024-06-06T20:30:09.0567800Z 00000250   4F 69 6F 46 48 46 75 41 48 42 69 30 6C 54 7A 49  OioFHFuAHBi0lTzI
2024-06-06T20:30:09.0568336Z 00000260   48 4D 62 53 65 48 58 32 63 33 47 56 6F 71 32 36  HMbSeHX2c3GVoq26
2024-06-06T20:30:09.0568854Z 00000270   61 0D 0A 55 6F 56 58 74 70 6B 30 52 6D 72 66 31  a..UoVXtpk0Rmrf1
2024-06-06T20:30:09.0569560Z 00000280   69 48 4D 54 66 57 61 35 56 41 73 45 6F 63 46 38  iHMTfWa5VAsEocF8
2024-06-06T20:30:09.0570194Z 00000290   4F 61 2F 68 6B 6C 73 54 44 7A 44 5A 6A 4A 69 4E  Oa/hklsTDzDZjJiN
2024-06-06T20:30:09.0570723Z 000002A0   32 35 32 70 61 2B 37 64 50 65 69 78 62 34 72 44  252pa+7dPeixb4rD
2024-06-06T20:30:09.0571243Z 000002B0   78 77 63 0D 0A 4A 52 2B 56 4B 33 79 45 56 33 5A  xwc..JR+VK3yEV3Z
2024-06-06T20:30:09.0571768Z 000002C0   62 52 32 39 59 42 6F 31 45 68 78 7A 2F 65 63 50  bR29YBo1Ehxz/ecP
2024-06-06T20:30:09.0572292Z 000002D0   35 56 6F 7A 67 42 66 31 63 61 4A 30 6D 33 7A 33  5VozgBf1caJ0m3z3
2024-06-06T20:30:09.0572849Z 000002E0   2F 6A 6D 43 7A 31 69 59 77 64 4E 64 45 49 38 6A  /jmCz1iYwdNdEI8j
2024-06-06T20:30:09.0573366Z 000002F0   36 72 72 33 30 0D 0A 33 4A 4B 59 6E 73 51 74 47  6rr30..3JKYnsQtG
2024-06-06T20:30:09.0573879Z 00000300   39 76 6E 38 36 48 37 2B 31 68 72 73 51 74 33 53  9vn86H7+1hrsQt3S
2024-06-06T20:30:09.0574400Z 00000310   53 6B 68 36 4C 59 79 4E 41 42 49 4A 48 36 2B 4C  Skh6LYyNABIJH6+L
2024-06-06T20:30:09.0574926Z 00000320   61 6E 69 45 37 78 6F 49 52 77 3D 0D 0A 3D 56 68  aniE7xoIRw=..=Vh
2024-06-06T20:30:09.0575621Z 00000330   32 48 0D 0A 2D 2D 2D 2D 2D 45 4E 44 20 50 47 50  2H..-----END PGP
2024-06-06T20:30:09.0576223Z 00000340   20 53 49 47 4E 41 54 55 52 45 2D 2D 2D 2D 2D 0D   SIGNATURE-----.
2024-06-06T20:30:09.0576700Z 00000350   0A                                               .               

The first discrepancy I find is that there's these 0D characters being inserted before (every?) 0A character.

ASCII table says the 0A is a newline and 0D is "carriage return". Is this some git thing that's breaking our sigs?

@maltfield
Copy link
Member Author

maltfield commented Jun 6, 2024

I don't know what's causing the insertion of the windows carriage returns into our files (perhaps it's git), but that explains why the files look the same, but their hashes differ.

On my local Windows 10 VM, I do not have the 0D carriage returns in my git sandbox -- perhaps this is some custom git config setup by Microsoft on their GitHub Actions Runners..

I'm not sure if this could be the cause of the gpg verification failure, however. It appears that gpg has a --textmode option that takes text files and makes two signatures: one for just \n and one for \r\n -- so that this (common) issue doesn't break sigs between platforms

The --textmode is an option that must be made at signature-time. The way to check for it is to use --list-packets on the signature file.

If the output of --list-packets shows sigclass 0x00, then --textmode was not used.

If the output of --list-packets shows sigclass 0x01, then --textmode was used.

Here's our packets of our sig

user@buskill:~/sandbox/buskill-app/build/windows$ gpg --list-packets /home/user/sandbox/buskill-app-deps/build/deps/SHA256SUMS.asc 
# off=0 ctb=89 tag=2 hlen=3 plen=563
:signature packet: algo 1, keyid 68B8BCB0C5023905
	version 4, created 1712550554, md5len 0, sigclass 0x00
	digest algo 10, begin of digest b6 e2
	hashed subpkt 33 len 21 (issuer fpr v4 798DC1101F3DEC428ADE124D68B8BCB0C5023905)
	hashed subpkt 2 len 4 (sig created 2024-04-08)
	subpkt 16 len 8 (issuer key ID 68B8BCB0C5023905)
	data: [4090 bits]
user@buskill:~/sandbox/buskill-app/build/windows$ 

Therefore, it appears that we're not using --textmode. Perhaps we should try to update the signature using this option and see if it resolves the issue.

@maltfield
Copy link
Member Author

maltfield commented Jun 6, 2024

I created a new signature file of the SHA256SUMS file in the buskill-app-deps directory -- this time using the --textmode option

$ gpg --default-key 'E0AF FF57 DC00 FBE0 5635  8761 4AE2 1E19 36CE 786A' --textmode --armor -b SHA256SUMS
$

$ gpg --list-packets SHA256SUMS.asc 
# off=0 ctb=89 tag=2 hlen=3 plen=563
:signature packet: algo 1, keyid 68B8BCB0C5023905
	version 4, created 1717707759, md5len 0, sigclass 0x01
	digest algo 10, begin of digest fe 48
	hashed subpkt 33 len 21 (issuer fpr v4 798DC1101F3DEC428ADE124D68B8BCB0C5023905)
	hashed subpkt 2 len 4 (sig created 2024-06-06)
	subpkt 16 len 8 (issuer key ID 68B8BCB0C5023905)
	data: [4096 bits]

And I pushed it to the buskill-app-deps repo:

maltfield added a commit to BusKill/buskill-app-deps that referenced this issue Jun 6, 2024
…t it will work on Windows or other platforms that insert carriage returns before new lines

 * BusKill/buskill-app#78 (comment)
@maltfield
Copy link
Member Author

I also updated the build script to output the version of gpg that it's using

2024-06-06T20:54:43.2868880Z DEBUG:   99+  >>>> gpg --version | Out-String
2024-06-06T20:54:44.2448205Z gpg (GnuPG) 2.4.5-unknown
2024-06-06T20:54:44.2448788Z libgcrypt 1.9.4-unknown
2024-06-06T20:54:44.2449216Z Copyright (C) 2024 g10 Code GmbH
2024-06-06T20:54:44.2450036Z License GNU GPL-3.0-or-later <https://gnu.org/licenses/gpl.html>
2024-06-06T20:54:44.2450976Z This is free software: you are free to change and redistribute it.
2024-06-06T20:54:44.2451805Z There is NO WARRANTY, to the extent permitted by law.
2024-06-06T20:54:44.2452286Z 
2024-06-06T20:54:44.2452468Z Home: /c/Users/runneradmin/.gnupg
2024-06-06T20:54:44.2452989Z Supported algorithms:
2024-06-06T20:54:44.2453448Z Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
2024-06-06T20:54:44.2454171Z Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
2024-06-06T20:54:44.2454918Z         CAMELLIA128, CAMELLIA192, CAMELLIA256
2024-06-06T20:54:44.2456032Z Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
2024-06-06T20:54:44.2456909Z Compression: Uncompressed, ZIP, ZLIB, BZIP2
2024-06-06T20:54:44.2457347Z 
2024-06-06T20:54:44.2457702Z DEBUG:  100+  >>>> gpgv --version | Out-String
2024-06-06T20:54:44.3572927Z gpgv (GnuPG) 2.4.5-unknown
2024-06-06T20:54:44.3573534Z libgcrypt 1.9.4-unknown
2024-06-06T20:54:44.3573818Z Copyright (C) 2024 g10 Code GmbH
2024-06-06T20:54:44.3574339Z License GNU GPL-3.0-or-later <https://gnu.org/licenses/gpl.html>
2024-06-06T20:54:44.3574927Z This is free software: you are free to change and redistribute it.
2024-06-06T20:54:44.3575453Z There is NO WARRANTY, to the extent permitted by law.

My local Windows 10 VM (which verifies the GOOD signature correctly) has gpg 2.4.5 (same as above), but with libgcrypt 1.10.3 (slightly newer than above)

@maltfield
Copy link
Member Author

maltfield commented Jun 6, 2024

I manually re-ran the build, and it's working now. So, yep, adding --textmode as an arg when creating the signature file SHA256SUMS.asc fixes the BAD signature errors that occur on (some) Windows systems.

2024-06-06T21:08:05.4757882Z "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS.asc" "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS" | Out-String
2024-06-06T21:08:05.4894736Z gpgv: Signature made Thu Jun  6 21:02:39 2024 CUT
2024-06-06T21:08:05.4895425Z gpgv:                using RSA key 798DC1101F3DEC428ADE124D68B8BCB0C5023905
2024-06-06T21:08:05.4914790Z gpgv: Good signature from "BusKill Releases Signing Key 2020.07 <releases@buskill.in>"
2024-06-06T21:08:05.4925708Z 
2024-06-06T21:08:05.4934788Z DEBUG:  162+  >>>> gpgv --homedir "${tmpDir}\gnupg" --keyring "pubring.gpg" 
2024-06-06T21:08:05.4936333Z "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS.asc" "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS" | Out-String
2024-06-06T21:08:05.5065042Z gpgv: keyblock resource 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\862b0ba5-20e1-430d-8def-efcdca257717\\gnupg/pubring.gpg': No such file or directory
2024-06-06T21:08:05.5076606Z gpgv: Signature made Thu Jun  6 21:02:39 2024 CUT
2024-06-06T21:08:05.5077944Z gpgv:                using RSA key 798DC1101F3DEC428ADE124D68B8BCB0C5023905
2024-06-06T21:08:05.5078693Z gpgv: Can't check signature: No public key
2024-06-06T21:08:05.5087000Z 
2024-06-06T21:08:05.5095962Z DEBUG:  163+  >>>> gpgv --homedir "${tmpDir}\gnupg" --keyring "pubring.kbx" 
2024-06-06T21:08:05.5097904Z "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS.asc" "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS" | Out-String
2024-06-06T21:08:05.5235481Z gpgv: Signature made Thu Jun  6 21:02:39 2024 CUT
2024-06-06T21:08:05.5236279Z gpgv:                using RSA key 798DC1101F3DEC428ADE124D68B8BCB0C5023905
2024-06-06T21:08:05.5255651Z gpgv: Good signature from "BusKill Releases Signing Key 2020.07 <releases@buskill.in>"
2024-06-06T21:08:05.5265924Z 
2024-06-06T21:08:05.5276186Z DEBUG:  165+  >>>> gpg --homedir "${tmpDir}\gnupg" --keyring "pubring.gpg" --verify 
2024-06-06T21:08:05.5277389Z "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS.asc" "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS" | Out-String
2024-06-06T21:08:05.5561381Z gpg: keyblock resource 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\862b0ba5-20e1-430d-8def-efcdca257717\\gnupg/pubring.gpg': No such file or directory
2024-06-06T21:08:05.5572801Z gpg: Signature made Thu Jun  6 21:02:39 2024 CUT
2024-06-06T21:08:05.5573420Z gpg:                using RSA key 798DC1101F3DEC428ADE124D68B8BCB0C5023905
2024-06-06T21:08:05.5587383Z gpg: Good signature from "BusKill Releases Signing Key 2020.07 <releases@buskill.in>" [unknown]
2024-06-06T21:08:05.5590196Z gpg: WARNING: This key is not certified with a trusted signature!
2024-06-06T21:08:05.5591092Z gpg:          There is no indication that the signature belongs to the owner.
2024-06-06T21:08:05.5591790Z Primary key fingerprint: E0AF FF57 DC00 FBE0 5635  8761 4AE2 1E19 36CE 786A
2024-06-06T21:08:05.5592492Z      Subkey fingerprint: 798D C110 1F3D EC42 8ADE  124D 68B8 BCB0 C502 3905
2024-06-06T21:08:05.5608757Z 
2024-06-06T21:08:05.5620372Z DEBUG:  166+  >>>> gpg --homedir "${tmpDir}\gnupg" --keyring "pubring.kbx" --verify 
2024-06-06T21:08:05.5622169Z "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS.asc" "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS" | Out-String
2024-06-06T21:08:05.5902464Z gpg: keyblock resource 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\862b0ba5-20e1-430d-8def-efcdca257717\\gnupg/pubring.kbx': File exists
2024-06-06T21:08:05.5914088Z gpg: Signature made Thu Jun  6 21:02:39 2024 CUT
2024-06-06T21:08:05.5914664Z gpg:                using RSA key 798DC1101F3DEC428ADE124D68B8BCB0C5023905
2024-06-06T21:08:05.5928659Z gpg: Good signature from "BusKill Releases Signing Key 2020.07 <releases@buskill.in>" [unknown]
2024-06-06T21:08:05.5931563Z gpg: WARNING: This key is not certified with a trusted signature!
2024-06-06T21:08:05.5932622Z gpg:          There is no indication that the signature belongs to the owner.
2024-06-06T21:08:05.5933388Z Primary key fingerprint: E0AF FF57 DC00 FBE0 5635  8761 4AE2 1E19 36CE 786A
2024-06-06T21:08:05.5934151Z      Subkey fingerprint: 798D C110 1F3D EC42 8ADE  124D 68B8 BCB0 C502 3905
2024-06-06T21:08:05.5949990Z 

Curiously, though, it's still detecting it as a failure and exiting 1

2024-06-06T21:08:05.5963370Z DEBUG:  168+ if (  >>>> $? -ne $true -or $LastExitCode -ne 0 ){
2024-06-06T21:08:05.5973824Z DEBUG:  169+   >>>> echo "ERROR: Invalid PGP signature!" | Out-String
2024-06-06T21:08:05.5977719Z ERROR: Invalid PGP signature!
2024-06-06T21:08:05.5978069Z 
2024-06-06T21:08:05.5986271Z DEBUG:  170+   >>>> exit 1 | Out-String
2024-06-06T21:08:05.5994156Z DEBUG:  170+  exit  >>>> 1 | Out-String
2024-06-06T21:08:05.6012271Z DEBUG:    3+ if ( >>>> (Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE }
2024-06-06T21:08:05.6024986Z DEBUG:    3+ if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) {  >>>> exit $LASTEXITCODE }
2024-06-06T21:08:05.6026787Z 
2024-06-06T21:08:05.6026957Z 
2024-06-06T21:08:10.6381144Z ##[error]Process completed with exit code 1.

maltfield added a commit that referenced this issue Jun 6, 2024
this commit updates our documentation such that, when signing text files, we use the '--textmode' argument. This ensures that the signatures will still be valid on dumb systems (cough Windows cough) that insert additional carriage return characters before our newline characters.

 * #78 (comment)
 * BusKill/buskill-app-deps@63ccc12
@maltfield
Copy link
Member Author

ok, I fixed the error by making sure to execute gpgv (as opposed to gpg) right before the check:

2024-06-06T21:24:46.9016340Z DEBUG:  140+  >>>> gpgv --homedir "${tmpDir}\gnupg" --keyring "pubring.kbx" 
2024-06-06T21:24:46.9018263Z "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS.asc" "${tmpDir}\buskill-app-deps\build\deps\SHA256SUMS" | Out-String
2024-06-06T21:24:46.9188053Z gpgv: Signature made Thu Jun  6 21:02:39 2024 CUT
2024-06-06T21:24:46.9188692Z gpgv:                using RSA key 798DC1101F3DEC428ADE124D68B8BCB0C5023905
2024-06-06T21:24:46.9213092Z gpgv: Good signature from "BusKill Releases Signing Key 2020.07 <releases@buskill.in>"
2024-06-06T21:24:46.9225972Z 
2024-06-06T21:24:46.9236941Z DEBUG:  141+ if (  >>>> $? -ne $true -or $LastExitCode -ne 0 ){
2024-06-06T21:24:46.9252366Z DEBUG:  146+  >>>> pushd "${tmpDir}/buskill-app-deps/build/deps"
...

@maltfield
Copy link
Member Author

cool, looks like our windows builds deps are now being installed OK. But we're getting an error on PyInstaller

2024-06-06T21:44:34.5817984Z DEBUG:  276+  >>>> cd pyinstaller | Out-String
2024-06-06T21:44:34.5829067Z 
2024-06-06T21:44:34.5839412Z DEBUG:  278+  >>>> echo "# -*- mode: python ; coding: utf-8 -*-
2024-06-06T21:44:34.5846565Z # -*- mode: python ; coding: utf-8 -*-
2024-06-06T21:44:34.5847074Z from kivy_deps import angle, glew, sdl2
2024-06-06T21:44:34.5847654Z 
2024-06-06T21:44:34.5847801Z block_cipher = None
2024-06-06T21:44:34.5848070Z 
2024-06-06T21:44:34.5848287Z a = Analysis(['..\\src\\main.py'],
2024-06-06T21:44:34.5848640Z              pathex=['.\\'],
2024-06-06T21:44:34.5848901Z              binaries=[],
2024-06-06T21:44:34.5849143Z              datas=
2024-06-06T21:44:34.5849362Z               [
2024-06-06T21:44:34.5849642Z                ( '..\\KEYS', '.' ),
2024-06-06T21:44:34.5850062Z                ( '..\\src\\images\\buskill-icon-150.png', '.' ),
2024-06-06T21:44:34.5850577Z                ('C:\\Program Files\\Git\\usr\\bin\\gpg.exe', '.'),
2024-06-06T21:44:34.5851070Z                ('C:\\msys64\\usr\\bin\\msys-bz2-1.dll', '.'),
2024-06-06T21:44:34.5851563Z                ('C:\\msys64\\usr\\bin\\msys-assuan-0.dll', '.'),
2024-06-06T21:44:34.5852055Z                ('C:\\msys64\\usr\\bin\\msys-gcrypt-20.dll', '.'),
2024-06-06T21:44:34.5852553Z                ('C:\\msys64\\usr\\bin\\msys-gpg-error-0.dll', '.'),
2024-06-06T21:44:34.5853035Z                ('C:\\msys64\\usr\\bin\\msys-2.0.dll', '.'),
2024-06-06T21:44:34.5853496Z                ('C:\\msys64\\usr\\bin\\msys-readline8.dll', '.'),
2024-06-06T21:44:34.5853958Z                ('C:\\msys64\\usr\\bin\\msys-z.dll', '.'),
2024-06-06T21:44:34.5854413Z                ('C:\\msys64\\usr\\bin\\msys-sqlite3-0.dll', '.'),
2024-06-06T21:44:34.5854887Z                ('C:\\msys64\\usr\\bin\\msys-iconv-2.dll', '.'),
2024-06-06T21:44:34.5855354Z                ('C:\\msys64\\usr\\bin\\msys-intl-8.dll', '.'),
2024-06-06T21:44:34.5855822Z                ('C:\\msys64\\usr\\bin\\msys-ncursesw6.dll', '.'),
2024-06-06T21:44:34.5856158Z               ],
2024-06-06T21:44:34.5856479Z              hiddenimports=['pkg_resources.py2_warn'],
2024-06-06T21:44:34.5857239Z              hookspath=[],
2024-06-06T21:44:34.5857584Z              runtime_hooks=[],
2024-06-06T21:44:34.5857851Z              excludes=[],
2024-06-06T21:44:34.5858134Z              win_no_prefer_redirects=False,
2024-06-06T21:44:34.5858492Z              win_private_assemblies=False,
2024-06-06T21:44:34.5858882Z              cipher=block_cipher,
2024-06-06T21:44:34.5859310Z              noarchive=False)
2024-06-06T21:44:34.5859978Z pyz = PYZ(a.pure, a.zipped_data,
2024-06-06T21:44:34.5860285Z              cipher=block_cipher)
2024-06-06T21:44:34.5860552Z exe = EXE(pyz,
2024-06-06T21:44:34.5860760Z           a.scripts,
2024-06-06T21:44:34.5860977Z           [],
2024-06-06T21:44:34.5861183Z           exclude_binaries=True,
2024-06-06T21:44:34.5861525Z           name='buskill',
2024-06-06T21:44:34.5861768Z           debug=False,
2024-06-06T21:44:34.5862029Z           bootloader_ignore_signals=False,
2024-06-06T21:44:34.5862336Z           strip=False,
2024-06-06T21:44:34.5862572Z           upx=True,
2024-06-06T21:44:34.5862916Z           icon='..\\src\\images\\buskill-icon-150.ico',
2024-06-06T21:44:34.5863274Z           console=False,
2024-06-06T21:44:34.5863510Z           onefile=True )
2024-06-06T21:44:34.5863815Z coll = COLLECT(exe, Tree('..\\src\\'),
2024-06-06T21:44:34.5864116Z                a.binaries,
2024-06-06T21:44:34.5864350Z                a.zipfiles,
2024-06-06T21:44:34.5864582Z                a.datas,
2024-06-06T21:44:34.5864967Z                *[Tree(p) for p in (glew.dep_bins + angle.dep_bins + sdl2.dep_bins)],
2024-06-06T21:44:34.5865407Z                strip=False,
2024-06-06T21:44:34.5865646Z                upx=True,
2024-06-06T21:44:34.5865885Z                upx_exclude=[],
2024-06-06T21:44:34.5866188Z                name='buskill')
2024-06-06T21:44:34.5866364Z 
2024-06-06T21:44:34.5866752Z DEBUG:  338+  >>>> (Get-Content .\buskill.spec) -replace "`0", "" | Set-Content .\buskill.spec
2024-06-06T21:44:34.5880410Z DEBUG:  348+  >>>> $env:KIVY_GL_BACKEND="angle_sdl2"
2024-06-06T21:44:34.5892180Z DEBUG:  351+  >>>> C:\tmp\kivy_venv\Scripts\python.exe -m PyInstaller --noconfirm .\buskill.spec | Out-String
2024-06-06T21:44:34.8913900Z Traceback (most recent call last):
2024-06-06T21:44:34.8914399Z   File "<frozen runpy>", line 198, in _run_module_as_main
2024-06-06T21:44:34.8914834Z   File "<frozen runpy>", line 88, in _run_code
2024-06-06T21:44:34.8915915Z   File "C:\tmp\kivy_venv\Lib\site-packages\PyInstaller\__main__.py", line 121, in <module>
2024-06-06T21:44:34.8916667Z     run()
2024-06-06T21:44:34.8917203Z   File "C:\tmp\kivy_venv\Lib\site-packages\PyInstaller\__main__.py", line 81, in run
2024-06-06T21:44:34.8917991Z     import PyInstaller.building.build_main
2024-06-06T21:44:34.8918844Z   File "C:\tmp\kivy_venv\Lib\site-packages\PyInstaller\building\build_main.py", line 36, in <module>
2024-06-06T21:44:34.8919745Z     from ..depend import bindepend
2024-06-06T21:44:34.8920562Z   File "C:\tmp\kivy_venv\Lib\site-packages\PyInstaller\depend\bindepend.py", line 30, in <module>
2024-06-06T21:44:34.8921250Z     from . import dylib, utils
2024-06-06T21:44:34.8922453Z   File "C:\tmp\kivy_venv\Lib\site-packages\PyInstaller\depend\utils.py", line 29, in <module>
2024-06-06T21:44:34.8923295Z     from ..lib.modulegraph import util, modulegraph
2024-06-06T21:44:34.8924277Z   File "C:\tmp\kivy_venv\Lib\site-packages\PyInstaller\lib\modulegraph\util.py", line 4, in <module>
2024-06-06T21:44:34.8925024Z     import imp
2024-06-06T21:44:34.8925443Z ModuleNotFoundError: No module named 'imp'

@maltfield
Copy link
Member Author

maltfield commented Jun 6, 2024

Well, I'm not familiar with the imp module, but it appears that it was removed in Python 3.12

Curiously, it looks like PyInstaller is bitching about a module that it itself uses. So my best-guess here is that I need to update PyInstaller.

It appears that we're currently installing PyInstaller-3.6. Oh wow, that's crazy oudated; it was release Jan 2020

The latest version is PyInstaller-6.7.0

it looks like this imp module was removed from PyInstaller on 2023-06-04:

PyInstalller-5.12.0 was released on 2023-06-08, but the next release (5.13.0) explicilty states "Add support for Python 3.12"

Looks like I'm missing a section to download windows-specific wheels for pyinstaller from the download.sh script, so I added it. The script is already set to download PyInstaller-6.5.0 for the other platforms, so I'll stick to that version for Windows too.

Here's the 3TOFU script

CURL="/usr/bin/curl"
WGET="/usr/bin/wget --retry-on-host-error --retry-connrefused"
PYTHON="/usr/bin/python3"

# in tails, we must torify
if [[ "`whoami`" == "amnesia" ]] ; then
	CURL="/usr/bin/torify ${CURL}"
	WGET="/usr/bin/torify ${WGET}"
	PYTHON="/usr/bin/torify ${PYTHON}"
fi

tmpDir=`mktemp -d`
pushd "${tmpDir}"

# first get some info about our internet connection
${CURL} -s https://ifconfig.co/country | head -n1
${CURL} -s https://check.torproject.org | grep Congratulations | head -n1

# and today's date
date -u +"%Y-%m-%d"

# get the file
${WGET} `${CURL} -s https://pypi.org/simple/pyinstaller/ | grep -oE 'https://.*pyinstaller-6.7.0-py3-none-win_amd64.whl#'`

# checksum
date -u +"%Y-%m-%d"
sha256sum *

@maltfield
Copy link
Member Author

Here's TOFU 1/3 (Tor, exit in Germany)

Congratulations. This browser is configured to use Tor.
2024-06-06
--2024-06-06 22:25:52--  https://files.pythonhosted.org/packages/d9/01/c5a663940f3e05219db48af7a4e65960921dd71252ee0c81297661e60c39/pyinstaller-6.7.0-py3-none-win_amd64.whl
Resolving files.pythonhosted.org (files.pythonhosted.org)... 151.101.36.223
Connecting to files.pythonhosted.org (files.pythonhosted.org)|151.101.36.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1311409 (1.2M) [application/octet-stream]
Saving to: ‘pyinstaller-6.7.0-py3-none-win_amd64.whl’

pyinstaller-6.7.0-p 100%[===================>]   1.25M  31.3KB/s    in 61s     

2024-06-06 22:27:05 (21.1 KB/s) - ‘pyinstaller-6.7.0-py3-none-win_amd64.whl’ saved [1311409/1311409]

2024-06-06
a3f85935b40f89e717f1e67377d3bfc953060e5795828ecf5357e2c1f7aa52bf  pyinstaller-6.7.0-py3-none-win_amd64.whl

@maltfield
Copy link
Member Author

Here's TOFU 2/3 (VPN, exit in France)

France
2024-06-07
--2024-06-07 09:59:10--  https://files.pythonhosted.org/packages/d9/01/c5a663940f3e05219db48af7a4e65960921dd71252ee0c81297661e60c39/pyinstaller-6.7.0-py3-none-win_amd64.whl
Resolving files.pythonhosted.org (files.pythonhosted.org)... 146.75.72.223, 2a04:4e42:82::223
Connecting to files.pythonhosted.org (files.pythonhosted.org)|146.75.72.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1311409 (1.2M) [application/octet-stream]
Saving to: ‘pyinstaller-6.7.0-py3-none-win_amd64.whl’

pyinstaller-6.7.0-p 100%[===================>]   1.25M   256KB/s    in 5.3s    

2024-06-07 09:59:17 (239 KB/s) - ‘pyinstaller-6.7.0-py3-none-win_amd64.whl’ saved [1311409/1311409]

2024-06-07
a3f85935b40f89e717f1e67377d3bfc953060e5795828ecf5357e2c1f7aa52bf  pyinstaller-6.7.0-py3-none-win_amd64.whl

@maltfield
Copy link
Member Author

Ah, fuck. I just realized that I've been downloading pyinstaller-6.7.0 (the latest version) though I said I'd use pyinstaller-6.5.0 to be consistent with others. Probably I should have done both

CURL="/usr/bin/curl"
WGET="/usr/bin/wget --retry-on-host-error --retry-connrefused"
PYTHON="/usr/bin/python3"

# in tails, we must torify
if  "`whoami`" == "amnesia"  ; then
	CURL="/usr/bin/torify ${CURL}"
	WGET="/usr/bin/torify ${WGET}"
	PYTHON="/usr/bin/torify ${PYTHON}"
fi

tmpDir=`mktemp -d`
pushd "${tmpDir}"

# first get some info about our internet connection
${CURL} -s https://ifconfig.co/country | head -n1
${CURL} -s https://check.torproject.org | grep Congratulations | head -n1

# and today's date
date -u +"%Y-%m-%d"

# get the files
${WGET} `${CURL} -s https://pypi.org/simple/pyinstaller/ | grep -oE 'https://.*pyinstaller-6.5.0-py3-none-win_amd64.whl#'`
${WGET} `${CURL} -s https://pypi.org/simple/pyinstaller/ | grep -oE 'https://.*pyinstaller-6.7.0-py3-none-win_amd64.whl#'`

# checksum
date -u +"%Y-%m-%d"
sha256sum *

@maltfield
Copy link
Member Author

Here's TOFU 1/3 (Tor, exit in the Netherlands)

Congratulations. This browser is configured to use Tor.
2024-06-07
--2024-06-07 15:04:26--  https://files.pythonhosted.org/packages/8d/28/d3b728e059dbaf2705563c593155f862fcd29eb6e5126690ef76572b76f3/pyinstaller-6.5.0-py3-none-win_amd64.whl
Resolving files.pythonhosted.org (files.pythonhosted.org)... 199.232.16.223
Connecting to files.pythonhosted.org (files.pythonhosted.org)|199.232.16.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1306900 (1.2M) [application/octet-stream]
Saving to: ‘pyinstaller-6.5.0-py3-none-win_amd64.whl’

pyinstaller-6.5.0-p 100%[===================>]   1.25M   389KB/s    in 3.3s    

2024-06-07 15:04:31 (389 KB/s) - ‘pyinstaller-6.5.0-py3-none-win_amd64.whl’ saved [1306900/1306900]

--2024-06-07 15:04:34--  https://files.pythonhosted.org/packages/d9/01/c5a663940f3e05219db48af7a4e65960921dd71252ee0c81297661e60c39/pyinstaller-6.7.0-py3-none-win_amd64.whl
Resolving files.pythonhosted.org (files.pythonhosted.org)... 151.101.36.223
Connecting to files.pythonhosted.org (files.pythonhosted.org)|151.101.36.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1311409 (1.2M) [application/octet-stream]
Saving to: ‘pyinstaller-6.7.0-py3-none-win_amd64.whl’

pyinstaller-6.7.0-p 100%[===================>]   1.25M   393KB/s    in 3.3s    

2024-06-07 15:04:40 (393 KB/s) - ‘pyinstaller-6.7.0-py3-none-win_amd64.whl’ saved [1311409/1311409]

2024-06-07
e1266498893ce1d6cc7337e8d2acbf7905a10ed2b7c8377270117d6b7b922fc4  pyinstaller-6.5.0-py3-none-win_amd64.whl
a3f85935b40f89e717f1e67377d3bfc953060e5795828ecf5357e2c1f7aa52bf  pyinstaller-6.7.0-py3-none-win_amd64.whl

@maltfield
Copy link
Member Author

Here's TOFU 2/3 (VPN, exit in India)

India
2024-06-09
--2024-06-09 17:51:28--  https://files.pythonhosted.org/packages/8d/28/d3b728e059dbaf2705563c593155f862fcd29eb6e5126690ef76572b76f3/pyinstaller-6.5.0-py3-none-win_amd64.whl
Resolving files.pythonhosted.org (files.pythonhosted.org)... 151.101.164.223, 2a04:4e42:27::223
Connecting to files.pythonhosted.org (files.pythonhosted.org)|151.101.164.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1306900 (1.2M) [application/octet-stream]
Saving to: ‘pyinstaller-6.5.0-py3-none-win_amd64.whl’

pyinstaller-6.5.0-p 100%[===================>]   1.25M   769KB/s    in 1.7s    

2024-06-09 17:51:31 (769 KB/s) - ‘pyinstaller-6.5.0-py3-none-win_amd64.whl’ saved [1306900/1306900]

--2024-06-09 17:51:33--  https://files.pythonhosted.org/packages/d9/01/c5a663940f3e05219db48af7a4e65960921dd71252ee0c81297661e60c39/pyinstaller-6.7.0-py3-none-win_amd64.whl
Resolving files.pythonhosted.org (files.pythonhosted.org)... 151.101.164.223, 2a04:4e42:27::223
Connecting to files.pythonhosted.org (files.pythonhosted.org)|151.101.164.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1311409 (1.2M) [application/octet-stream]
Saving to: ‘pyinstaller-6.7.0-py3-none-win_amd64.whl’

pyinstaller-6.7.0-p 100%[===================>]   1.25M   767KB/s    in 1.7s    

2024-06-09 17:51:36 (767 KB/s) - ‘pyinstaller-6.7.0-py3-none-win_amd64.whl’ saved [1311409/1311409]

2024-06-09
e1266498893ce1d6cc7337e8d2acbf7905a10ed2b7c8377270117d6b7b922fc4  pyinstaller-6.5.0-py3-none-win_amd64.whl
a3f85935b40f89e717f1e67377d3bfc953060e5795828ecf5357e2c1f7aa52bf  pyinstaller-6.7.0-py3-none-win_amd64.whl

@maltfield
Copy link
Member Author

Here's TOFU 3/3 (ISP, exit in Ecuador)

Ecuador
2024-06-10
--2024-06-10 09:45:20--  https://files.pythonhosted.org/packages/8d/28/d3b728e059dbaf2705563c593155f862fcd29eb6e5126690ef76572b76f3/pyinstaller-6.5.0-py3-none-win_amd64.whl
Resolving files.pythonhosted.org (files.pythonhosted.org)... 151.101.52.223, 2a04:4e42:f000::223, 2a04:4e42:d::223, ...
Connecting to files.pythonhosted.org (files.pythonhosted.org)|151.101.52.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1306900 (1.2M) [application/octet-stream]
Saving to: ‘pyinstaller-6.5.0-py3-none-win_amd64.whl’

pyinstaller-6.5.0-p 100%[===================>]   1.25M   456KB/s    in 2.8s    

2024-06-10 09:45:24 (456 KB/s) - ‘pyinstaller-6.5.0-py3-none-win_amd64.whl’ saved [1306900/1306900]

--2024-06-10 09:45:25--  https://files.pythonhosted.org/packages/d9/01/c5a663940f3e05219db48af7a4e65960921dd71252ee0c81297661e60c39/pyinstaller-6.7.0-py3-none-win_amd64.whl
Resolving files.pythonhosted.org (files.pythonhosted.org)... 151.101.52.223, 2a04:4e42:d::223, 2a04:4e42:200::223, ...
Connecting to files.pythonhosted.org (files.pythonhosted.org)|151.101.52.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1311409 (1.2M) [application/octet-stream]
Saving to: ‘pyinstaller-6.7.0-py3-none-win_amd64.whl’

pyinstaller-6.7.0-p 100%[===================>]   1.25M   998KB/s    in 1.3s    

2024-06-10 09:45:26 (998 KB/s) - ‘pyinstaller-6.7.0-py3-none-win_amd64.whl’ saved [1311409/1311409]

2024-06-10
e1266498893ce1d6cc7337e8d2acbf7905a10ed2b7c8377270117d6b7b922fc4  pyinstaller-6.5.0-py3-none-win_amd64.whl
a3f85935b40f89e717f1e67377d3bfc953060e5795828ecf5357e2c1f7aa52bf  pyinstaller-6.7.0-py3-none-win_amd64.whl
user@disp862:/tmp/tmp.xqQifhKWPb$ 

@maltfield
Copy link
Member Author

Ok, the hashes match on all 3TOFUs. I'll try upgrading pyinstaller in Windows now.

maltfield added a commit to BusKill/buskill-app-deps that referenced this issue Jun 10, 2024
maltfield added a commit that referenced this issue Jun 10, 2024
@maltfield
Copy link
Member Author

w00t! The latest windows build completed successfully

@maltfield
Copy link
Member Author

maltfield commented Jun 10, 2024

Well, I tried to download and run the latest build of BusKill for windows on my Windows 10 VM, but I got an error

Unhandled exception in script
Failed to execute script 'main' due to unhandled exception: No module named 'grp'

Traceback (most recent call last:):
 File "main .py", line 22 in <module>
  import platform, os, grp
ModuleNotFoundError: No module named 'grp'

Here's the relevant code that it's complaining about

  • buskill-app/src/main.py

    Lines 20 to 25 in 791d3aa

    # this is needed for supporting Windows 10 with OpenGL < v2.0
    # Example: VirtualBox w/ OpenGL v1.1
    import platform, os, grp
    CURRENT_PLATFORM = platform.system().upper()
    if CURRENT_PLATFORM.startswith( 'WIN' ):
    os.environ['KIVY_GL_BACKEND'] = 'angle_sdl2'

Curiously, it appears this block was only added for running the app in a Windows 10 VM :/

@maltfield
Copy link
Member Author

maltfield commented Jun 10, 2024

Apparently the grp module is only available on *nix systems. I honestly don't know how we never encountered this error in the past

Update: Oh, right, it's because this is a new addition that I made in the dev branch to get more debugging info out on-launch to troubleshoot this bug (which is what I was last working on, before I realized I couldn't build anymore and got sidetracked on this ticket for over a month):

maltfield added a commit that referenced this issue Jun 10, 2024
This commit only imports grp on *nix systems, since it isn't available on windows systems, and it will throw an error

 * #78 (comment)

  Traceback (most recent call last:):
   File "main .py", line 22 in <module>
    import platform, os, grp
  ModuleNotFoundError: No module named 'grp'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant