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

Regression: snapcraft started failing with craft_archives.repo.errors.AptGPGKeyInstallError #4224

Closed
basak opened this issue Jun 20, 2023 · 16 comments
Labels
bug Actual bad behavior that don't fall into maintenance or documentation

Comments

@basak
Copy link

basak commented Jun 20, 2023

Bug Description

On Friday git-ubuntu CI regressed. It uses the stable snapcraft snap.

It seems that something was switched that caused it to start failing with an error from inside craft-archives. See canonical/craft-archives#83 for details.

To Reproduce

In a Focal lxd container, running as the ubuntu user (eg. lxc launch ubuntu:focal test-container && lxc shell test-container and then login -f ubuntu):

git clone https://git.launchpad.net/git-ubuntu
git checkout 8f0d8e5
sh snap.sh

Environment

Snapcraft is in destructive mode inside a lxd container.

snapcraft.yaml

See https://git.launchpad.net/git-ubuntu/tree/snap/snapcraft.yaml although note that snap.sh modifies it slightly to work around LP: #1918968. See that script for details.

Relevant log output

File "/snap/snapcraft/9362/lib/python3.8/site-packages/snapcraft_legacy/internal/project_loader/_config.py", line 304, in get_build_packages
    self.install_package_repositories()
  File "/snap/snapcraft/9362/lib/python3.8/site-packages/snapcraft_legacy/internal/project_loader/_config.py", line 288, in install_package_repositories
    refresh_required |= key_manager.install_package_repository_key(
  File "/snap/snapcraft/9362/lib/python3.8/site-packages/craft_archives/repo/apt_key_manager.py", line 257, in install_package_repository_key
    self.install_key(key=key_path.read_text())
  File "/snap/snapcraft/9362/lib/python3.8/site-packages/craft_archives/repo/apt_key_manager.py", line 170, in install_key
    raise errors.AptGPGKeyInstallError(
craft_archives.repo.errors.AptGPGKeyInstallError: Failed to install GPG key: Key must be a single key, not multiple.

Additional context

No response

@basak basak added the bug Actual bad behavior that don't fall into maintenance or documentation label Jun 20, 2023
@basak
Copy link
Author

basak commented Jun 20, 2023

Dropping the subkey (thereby diverging from gpg's default) works around the issue. This is how I'm now generating the key:

gpg --batch --gen-key <<EOF
%no-protection
Key-Type:1
Key-Length:2048
Name-Real: git-ubuntu build script apt repo
Name-Email: [email protected]
Expire-Date:0
EOF

git-ubuntu MP: https://code.launchpad.net/~racb/git-ubuntu/+git/usd-importer/+merge/445060

@cparich
Copy link

cparich commented Jun 22, 2023

I was able to work around this issue by reverting to snapcraft 9201 and deleting the base lxc container (base-instance-snapcraft-buildd-base-v00--a12c0d0071c13c372948 for me)

@Ecophagy
Copy link

We are also getting this as we add puppet bolt via the package-repositories directive and a .asc key file. Snapcraft immediately fails with Failed to install GPG key: Key must be a single key, not multiple. and then the prompted "please report this" fails with Encountered an issue while trying to submit the report: unhashable type: 'AptGPGKeyInstallError'.

snapcraft version is 7.4.3, Rev 9362

@tigarmo
Copy link
Contributor

tigarmo commented Jun 23, 2023

@cparich and @Ecophagy can you tell me which package repositories and keys you're using?

@Ecophagy
Copy link

from snapcraft.yaml:

package-repositories:
        - type: apt # puppet bolt
          components: [puppet-tools]
          suites: [focal]
          url: http://apt.puppet.com
          key-id: D6811ED3ADEEB8441AF5AA8F4528B6CD9E61EF26

.asc file contents:

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
=h0KC
-----END PGP PUBLIC KEY BLOCK-----

@tigarmo
Copy link
Contributor

tigarmo commented Jun 23, 2023

Thanks. Does it work if you remove the local keyfile from the snap/keys/ directory?

@Ecophagy
Copy link

Ecophagy commented Jun 23, 2023

Thanks. Does it work if you remove the local keyfile from the snap/keys/ directory?

That does seem to work, yes. Certainly suggests the issue is around parsing the keyfile.

I am slightly surprised it built because I did need to have the keyfile locally originally (~8 months ago), but maybe something has changed on the repository side...

@basak
Copy link
Author

basak commented Jun 23, 2023

The root cause is understood - I explained it in canonical/craft-archives#83

@cparich
Copy link

cparich commented Jun 23, 2023

My snaps currently deploy packages from an internal company server

from snapcraft.yaml

package-repositories:
  - type: apt
    components: [main]
    suites: [jammy]
    key-id: 610D1E5B8B34C94B170550397B9C0A650264B26D
    url: *** 

from snap/keys/0264B26D.asc

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
=zr9d
-----END PGP PUBLIC KEY BLOCK-----

@tigarmo
Copy link
Contributor

tigarmo commented Jun 23, 2023

Thanks. Does it work if you remove the local keyfile from the snap/keys/ directory?

That does seem to work, yes. Certainly suggests the issue is around parsing the keyfile.

I am slightly surprised it built because I did need to have the keyfile locally originally (~8 months ago), but maybe something has changed on the repository side...

Maybe the key only got uploaded to keyserver.ubuntu.com recently?

Regardless, as @basak says the cause of the error is known and I was just trying to see if we can get workarounds for individual cases. We'll do a 7.4.4 hotfix to address this.

tigarmo added a commit to tigarmo/snapcraft that referenced this issue Jun 27, 2023
The new version supports asset files that contain more than one key
(for whatever reason). This is more in line with the behavior done by
the previous implementation (via apt-key).

Closes canonical#4224
tigarmo added a commit that referenced this issue Jun 29, 2023
The new version supports asset files that contain more than one key
(for whatever reason). This is more in line with the behavior done by
the previous implementation (via apt-key).

Closes #4224
@tigarmo
Copy link
Contributor

tigarmo commented Jun 29, 2023

Hi everyone. I put up a fix that should address this specific issue (Key must be a single key, not multiple.). @basak , @Ecophagy , @cparich if you have a chance could you give it a try? It's:

snap install --classic --channel=edge/pr-4241 snapcraft

@basak this only addresses the multiple-keys issue, and not the "needs sudo" issue.

@basak
Copy link
Author

basak commented Jun 30, 2023

I get a new error now:

Sorry, an error occurred in Snapcraft:
1 validation error for PackageRepositoryApt 
url
  URL host invalid (type=value_error.url.host)

Full trace: https://paste.ubuntu.com/p/KWzBHvvNSn/

Full steps to reproduce:

lxc launch ubuntu:focal rbasak-gpg-apt
lxc exec rbasak-gpg-apt bash
login -f ubuntu
git clone https://git.launchpad.net/git-ubuntu
# DIsable the workaround for this regression
git revert 12095594fb4508089bb2c52cf6a2500d6c693f3e
vi snap.sh
# Add --channel=edge/pr-4241 when installing snapcraft
sh snap.sh

I also verified that I got the previous failure as expected if I just use the default stable channel.

@cparich
Copy link

cparich commented Jun 30, 2023

It appears to work for me:

$ snapcraft clean
Cleaned build provider 
$ snapcraft --verbosity verbose
Starting Snapcraft 7.4.3.post8+gitbe557406                                                          
Logging execution to '*'  
Running on amd64 for amd64                                                                          
Launching instance...                                                                               
Checking for instance '*' in project 'snapcraft' in remote 'local'                                                                                           
Instance '*' does not exist.                            
Checking for base instance 'base-instance-snapcraft-buildd-base-v10--2d55678e0339df02cd48' in project 'snapcraft' in remote 'local'                                                                      
Creating instance from base instance 'base-instance-snapcraft-buildd-base-v10--2d55678e0339df02cd4… 
Starting instance.                                                                                  
Starting Snapcraft 7.4.3.post8+gitbe557406                                                          
Logging execution to '/tmp/snapcraft.log'                                                           
Running on amd64 for amd64                                                                          
Initializing parts lifecycle                                                                        
Installing package repositories...                                                                  
Refreshing package repositories...                                                                  
Installed package repositories   
Executing parts lifecycle...                                                                        
...
2023-06-30 08:51:26.483 Revisions found: host='9425', target='9425'
2023-06-30 08:57:25.100 :: 2023-06-30 13:51:30.784 Starting Snapcraft 7.4.3.post8+gitbe557406

tigarmo added a commit that referenced this issue Jul 3, 2023
The new version supports asset files that contain more than one key
(for whatever reason). This is more in line with the behavior done by
the previous implementation (via apt-key).

Closes #4224
@sergio-costas
Copy link
Contributor

It's failing for me when I try to build this snap: https://raw.githubusercontent.com/snapcore/snapd/cca5d8f1db88131d6de8e469fc0b6a10d1f9b3a1/tests/lib/snaps/store/test-snapd-layout-change-with-daemon/snapcraft_old.yaml

It is a cut version of the steam snap, which also fails with the same error:

Installing package repositories...                                                                                                                                                                                
Failed to install GPG key: Key must be a single key, not multiple.                                                                                                                                                
Failed to execute pack in instance.

I tried also with edge version (7.4.3.post49+gitdbe76f21) but still fails.

@sergio-costas
Copy link
Contributor

Tried to compile directly from "master", but also fails.

@kenvandine
Copy link
Contributor

Any news on when this fix will make it into a released snapcraft?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Actual bad behavior that don't fall into maintenance or documentation
Projects
None yet
Development

No branches or pull requests

6 participants