forked from canonical/core-base
-
Notifications
You must be signed in to change notification settings - Fork 0
/
snapcraft.yaml
128 lines (125 loc) · 3.6 KB
/
snapcraft.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
name: core22
# version: "22"
adopt-info: bootstrap
summary: Runtime environment based on Ubuntu 22.04
description: |
The base snap based on the Ubuntu 22.04 release.
confinement: strict
type: base
build-base: core22
grade: stable
assumes: [snapd2.55.5]
architectures: [arm64]
parts:
probert-deb:
plugin: nil
build-packages:
- apt-utils
- devscripts
source: https://github.com/canonical/probert.git
source-type: git
# following branch server/jammy
source-commit: 253acbe1480fba69d12d6e72f53412da79e27410
override-pull: |
"${CRAFT_PROJECT_DIR}/build-package.sh" pull
override-build: |
"${CRAFT_PROJECT_DIR}/build-package.sh" build
override-stage: |
"${CRAFT_PROJECT_DIR}/build-package.sh" stage
prime:
- -local-debs
consoleconf-deb:
build-packages:
- apt-utils
- devscripts
plugin: nil
source: https://github.com/canonical/subiquity.git
source-type: git
# following branch server/jammy
source-commit: d2fe66f1b624274f2b1ff53bcbbc093cc9ebfca2
override-pull: |
"${CRAFT_PROJECT_DIR}/build-package.sh" pull
override-build: |
"${CRAFT_PROJECT_DIR}/build-package.sh" build
override-stage: |
"${CRAFT_PROJECT_DIR}/build-package.sh" stage
prime:
- -local-debs
base:
plugin: nil
source: keyrings
build-packages:
- wget
build-environment:
- LTS: jammy
- BASE: ${LTS}-base-${CRAFT_TARGET_ARCH}.tar.gz
- DIR_URL: https://cdimage.ubuntu.com/ubuntu-base/${LTS}/daily/current
- URL: ${DIR_URL}/${BASE}
- SHA256: ${DIR_URL}/SHA256SUMS
- SIG: ${SHA256}.gpg
override-pull: |
craftctl default
wget "${SHA256}" "${SIG}" "${URL}"
gpg --no-default-keyring \
--keyring ./cd-image-keying.gpg \
--verify SHA256SUMS.gpg SHA256SUMS
awk -v "file=${BASE}" '$2=="*"file' SHA256SUMS | sha256sum -c
override-build: |
mkdir -p "${CRAFT_PART_INSTALL}/base"
tar -x --xattrs-include=* -f "${BASE}" -C "${CRAFT_PART_INSTALL}/base"
override-stage: |
rm -rf "${CRAFT_STAGE}/base"
craftctl default
override-prime: |
# Do nothing
splash-theme:
plugin: dump
source: https://github.com/snapcore/plymouth-theme-ubuntu-core.git
source-type: git
organize:
ubuntu-core: usr/share/plymouth/themes/ubuntu-core
enable-deb-src:
plugin: nil
override-pull: |
sed -i 's/^# \(deb-src\)/\1/g' /etc/apt/sources.list
apt update
glibc-widevine-deb:
after:
- enable-deb-src
plugin: nil
build-packages:
- apt-utils
- devscripts
override-pull: |
cd ..
apt source glibc
rm -rf src
mv glibc-2.35 src
cd src
patch -p1 < ${CRAFT_PROJECT_DIR}/glibc-patches/0001-sys-libs-glibc-add-support-for-SHT_RELR-sections.patch
patch -p1 < ${CRAFT_PROJECT_DIR}/glibc-patches/0002-tls-libwidevinecdm.so-since-4.10.2252.0-has-TLS-with.patch
"${CRAFT_PROJECT_DIR}/build-package.sh" pull
override-build: |
DEB_BUILD_OPTIONS=nocheck "${CRAFT_PROJECT_DIR}/build-package.sh" build
override-stage: |
"${CRAFT_PROJECT_DIR}/build-package.sh" stage
prime:
- -local-debs
bootstrap:
after:
- probert-deb
- consoleconf-deb
- base
- glibc-widevine-deb
plugin: make
source: .
build-packages:
- shellcheck
- distro-info
override-pull: |
craftctl set version="$(/bin/date +%Y%m%d)"
craftctl default
override-prime: |
craftctl default
# ensure build-in tests are run
cd ${CRAFT_PART_SRC} && make test TESTDIR=${CRAFT_PRIME}