Skip to content

Commit

Permalink
Merge 7.5 hotfixes #4311
Browse files Browse the repository at this point in the history
  • Loading branch information
sergiusens committed Aug 7, 2023
2 parents f3ee96a + 82f29a9 commit 9a681aa
Show file tree
Hide file tree
Showing 8 changed files with 97 additions and 4 deletions.
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

0 comments on commit 9a681aa

Please sign in to comment.