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

Merge 7.5 hotfixes #4311

Merged
merged 4 commits into from
Aug 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions constraints.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cython<3
2 changes: 1 addition & 1 deletion requirements-devel.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ click==8.1.3
codespell==2.2.4
colorama==0.4.6
coverage==7.2.5
craft-archives==1.1.2
craft-archives==1.1.3
craft-cli==2.0.0
craft-grammar==1.1.1
craft-parts==1.21.1
Expand Down
4 changes: 2 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ cffi==1.15.1
chardet==5.1.0
charset-normalizer==3.1.0
click==8.1.3
craft-archives==1.1.2
craft-archives==1.1.3
craft-cli==2.0.0
craft-grammar==1.1.1
craft-parts==1.21.1
Expand Down Expand Up @@ -51,7 +51,7 @@ python-dateutil==2.8.2
python-debian==0.1.49
pytz==2023.3
pyxdg==0.28
PyYAML==6.0
PyYAML==6.0.1
raven==6.10.0
requests==2.31.0
requests-toolbelt==1.0.0
Expand Down
File renamed without changes.
4 changes: 3 additions & 1 deletion snap/snapcraft.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ parts:

# Apply patches
echo "Patching ctypes..."
patch -s -b "${PYTHON_PACKAGE_PATH}/${CTYPES_INIT}" "${SNAPCRAFT_PROJECT_DIR}/patches/ctypes_init.diff"
patch -s -b "${PYTHON_PACKAGE_PATH}/${CTYPES_INIT}" "${SNAPCRAFT_PROJECT_DIR}/snap/local/patches/python/ctypes_init.diff"

# Save patches to allow rebuilding
mkdir -p patched/ctypes
Expand All @@ -144,6 +144,8 @@ parts:
# Limited to < 66 because we need `pkg_resources` and because `python-apt`
# does not build with the latest.
- setuptools<66
python-constraints:
- constraints.txt
python-requirements:
- requirements.txt
organize:
Expand Down
38 changes: 38 additions & 0 deletions tests/spread/core22/package-repo-archs/armhf.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: test-archs
version: '1.0'
summary: test package repos with different architectures
description: test package repos with different architectures
grade: stable
confinement: strict
base: core22
architectures:
- build-on: amd64

package-repositories:
# The repo that contains libpython3.11-minimal:armhf
- type: apt
formats: [deb]
architectures: [armhf]
components: [main]
suites: [jammy]
key-id: F23C5A6CF475977595C89F51BA6932366A755776
url: https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu
# Also add the armhf arch for the "ports" repo, to fetch python's deps. We
# need to do this because the default archives don't have armhf.
- type: apt
architectures: [ armhf ]
components: [ main ]
suites: [ jammy, jammy-security, jammy-updates ]
key-id: F6ECB3762474EDA9D21B7022871920D1991BC93C
url: http://ports.ubuntu.com/ubuntu-ports

parts:
mypart:
plugin: nil
build-packages:
- file
stage-packages:
- libpython3.11-minimal:armhf
override-build: |
file ${CRAFT_PART_INSTALL}/usr/lib/arm-linux-gnueabihf/libssl.so.3 | grep "ARM"
craftctl default
33 changes: 33 additions & 0 deletions tests/spread/core22/package-repo-archs/i386.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: test-archs
version: '1.0'
summary: test package repos with different architectures
description: test package repos with different architectures
grade: stable
confinement: strict
base: core22
architectures:
- build-on: amd64

package-repositories:
# The repo that contains libpython3.11-minimal:i386
- type: apt
formats: [deb]
architectures: [i386]
components: [main]
suites: [jammy]
key-id: F23C5A6CF475977595C89F51BA6932366A755776
url: https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu
# We don't need to add the i386 architecture for the official archives,
# because the host building this (amd64) is compatible so Snapcraft will add
# the i386 platform "globally".

parts:
mypart:
plugin: nil
build-packages:
- file
stage-packages:
- libpython3.11-minimal:i386
override-build: |
file ${CRAFT_PART_INSTALL}/usr/lib/i386-linux-gnu/libssl.so.3 | grep "ELF 32-bit"
craftctl default
19 changes: 19 additions & 0 deletions tests/spread/core22/package-repo-archs/task.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
summary: Test using package-repositories with different architectures on core22

environment:
SNAP_ARCH/i386: i386
SNAP_ARCH/armhf: armhf
SNAPCRAFT_BUILD_ENVIRONMENT: ""

restore: |
snapcraft clean

execute: |
# The task works by copying one of the arch-specific yaml files as
# "snapcraft.yaml", and then building it.
rm -rf snap/
mkdir snap
cp "$SNAP_ARCH".yaml snap/snapcraft.yaml

# The part's build script does the checking.
snapcraft build --verbose --use-lxd