Snapcraft 4.5.3 is on the candidate channel (together with changes from 4.5.2), with particular fixes for:
storeapi: reduce the amount of constants and their meaning @sergiusens (#3442 )
extensions: add conditional for GNOME Makefile using bindtextdomain @sergiusens (#3443 )
make v1 plugin: ensure make-parameters come after make target @sergiusens
extensions: Fix Documents, Pictures etc symlinks @diddledan (#3435 )
python v2 plugin: fix typo restoring shell state @cjp256 (#3441 )
extensions: support fontless systems in configure hook @kenvandine (#3439 )
flutter: specify arch specific bundle dirs @kenvandine (#3438 )
repo: apt sources management refactor @cjp256 (#3363 )
python v2 plugin: consistent linking for interpreter @cjp256 (#3320 )
repo: address issue with fix_symlink() when pointed at directory @cjp256 (#3370 )
build providers: clean environment if project directory is changed @cjp256 (#3434 )
Specific release notes:
1 Like
joc
February 24, 2021, 2:44pm
2
I’ve verified this looks good for some gnome-3-38 as well as gnome-3-34 snaps. Thanks!
1 Like
I think your issue is because you have multiple python parts and also targeting core20. When targeting core20 snapcraft uses python venv to install each python part. You have multiple python parts, each being installed into a venv at the same location. Because you have multiple venvs they conflict. You could try using stage
to prevent the conflicting python3
executable from being staged from one of the parts to see if it continues to completion.
1 Like
Is this reproduceable with the stable channel? As in, is it a regression or a bug surface by migrating to core20?
joc
February 26, 2021, 2:09pm
6
It is not reproducible on stable, so yes a regression. Looking at the change list I think it arrived with #3320
cjp256
February 26, 2021, 10:09pm
7
Confirmed the regression, I have a fix PR’d:
canonical:master
← canonical:fix-python-regression
opened 10:06PM - 26 Feb 21 UTC
Fix a regression where snaps with multiple python parts and staged
python packa… ges may cause a file conflict & broken (unused) symlink.
When creating a venv with "/usr/bin/python3", the venv will populate
symlinks for:
/bin/python
/bin/python3
When creating a venv with "/usr/bin/python3.8", the venv will populate
symlinks for:
/bin/python
/bin/python3
/bin/python3.8
By resolving the interpreter prior to using it, the venvs were getting
an additional symlink which are not being fixed up like "python3",
or $SNAPCRAFT_PYTHON_INTERPRETER.
Should SNAPCRAFT_PYTHON_INTERPRETER be set to a more specific minor
version, either the snap must filter out the additional symlink or the
plugin needs to be updated to correct, or remove, the problematic
links.
Signed-off-by: Chris Patterson <chris.patterson@canonical.com>
- [ ] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you successfully run `./runtests.sh static`?
- [ ] Have you successfully run `./runtests.sh tests/unit`?
-----
Sorry about that!
Snapcraft 4.5.4 is now on the candidate channel, with the following changes:
python v2 plugin: fix multiple python parts with staged python @cjp256 (#3451 )
python v2 plugin: filter set options to reduce output noise @cjp256 (#3455 )
python v2 plugin: reduce noise by replacing for-loop with xargs @cjp256 (#3456 )
extensions: check that the platform snap is connected in desktop extensions and bail out if not @oSoMoN (#3437 )
spread: update electron-builder test @sergiusens (#3454 )
python v2 plugin: default python-packages to [pip, setuptools, wheel] @cjp256 (#3453 )
storeapi: rename SCA to DashboardAPI @sergiusens (#3450 )
storeapi: rename SnapClientIndex to SnapAPI @sergiusens (#3448 )
ci: don’t publish snap on push to master @cjp256 (#3449 )
2 Likes
joc
March 3, 2021, 5:23pm
9
Thanks. No problems seen with this candidate version.
2 Likes
Snapcraft 4.5.4 is now on stable