Skip to content

Commit

Permalink
dependencies: bump craft-archives
Browse files Browse the repository at this point in the history
Also add a spread test that ensures we can fetch foreign architecture
packages, and their dependencies, correctly.
  • Loading branch information
tigarmo committed Aug 2, 2023
1 parent 706872e commit 4a694e6
Show file tree
Hide file tree
Showing 5 changed files with 100 additions and 2 deletions.
3 changes: 2 additions & 1 deletion requirements-devel.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ 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.2
git+https://github.com/canonical/craft-archives.git@CRAFT-1926-source-architectures#egg=craft_archives
craft-cli==1.2.0
craft-grammar==1.1.1
craft-parts==1.19.6
Expand Down
3 changes: 2 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ 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.2
git+https://github.com/canonical/craft-archives.git@CRAFT-1926-source-architectures#egg=craft_archives
craft-cli==1.2.0
craft-grammar==1.1.1
craft-parts==1.19.6
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
- 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
39 changes: 39 additions & 0 deletions tests/spread/core22/package-repo-archs/i386.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
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
# Also add the i386 arch for the official archives, to fetch python's deps
- type: apt
architectures: [i386]
key-id: F6ECB3762474EDA9D21B7022871920D1991BC93C
key-server: keyserver.ubuntu.com
formats: [deb]
components: [main]
suites: [jammy]
url: https://archive.ubuntu.com/ubuntu

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 4a694e6

Please sign in to comment.