Skip to content

Commit 2ade704

Browse files
authored
Merge pull request #127 from lool/local-apt-repo
Local APT repository
2 parents d273de7 + 0930b4e commit 2ade704

File tree

3 files changed

+70
-21
lines changed

3 files changed

+70
-21
lines changed

.github/workflows/debos.yml

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -57,39 +57,43 @@ jobs:
5757
with:
5858
fetch-depth: 0
5959

60-
- name: Copy Linux deb and U-Boot for RB1 from fileserver space for downloads
61-
run: |
62-
set -ux
63-
dir="/fileserver-downloads/qcom-deb-images"
64-
if [ "${{ inputs.mainline_kernel }}" = true ]; then
65-
mkdir -v debos-recipes/local-debs
66-
# copy linux-image but not the -dbg e.g.
67-
# linux-image-6.15.0-..._6.15.0...-1_arm64.deb but not
68-
# linux-image-6.15.0-...-dbg_6.15.0...-1_arm64.deb
69-
find "${dir}/linux-deb-latest/" \
70-
-name linux-image\*.deb \
71-
-not -name linux-image\*-dbg_\*.deb \
72-
-exec cp -av '{}' debos-recipes/local-debs/ \;
73-
fi
74-
# copy U-Boot RB1 binary
75-
cp -av "${dir}/u-boot-rb1-latest/rb1-boot.img" .
60+
- name: Copy U-Boot for RB1 from fileserver space for downloads
61+
run: cp -av "/fileserver-downloads/qcom-deb-images/u-boot-rb1-latest/rb1-boot.img" .
7662

7763
# mtools is needed for the flash recipe
7864
- name: Install debos and dependencies of the recipes
7965
run: apt -y install debos mtools
8066

67+
- name: Setup local APT repo
68+
run: |
69+
set -ux -o pipefail
70+
71+
# needed for apt-ftparchive
72+
apt -y install --no-install-recommends apt-utils
73+
mkdir -v local-apt-repo
74+
75+
# optionally, copy mainline kernel debs
76+
if [ "${{ inputs.mainline_kernel }}" = true ]; then
77+
mkdir -v local-apt-repo/linux-deb-latest
78+
# get mainline kernel from the fileserver space for downloads
79+
cp -av /fileserver-downloads/qcom-deb-images/linux-deb-latest/*.deb \
80+
local-apt-repo/linux-deb-latest
81+
fi
82+
83+
(
84+
cd local-apt-repo
85+
apt-ftparchive packages . >Packages
86+
apt-ftparchive release . >Release
87+
)
88+
8189
- name: Build rootfs with debos
8290
run: |
8391
set -ux
84-
localdebs=""
85-
if [ -d debos-recipes/local-debs ]; then
86-
localdebs="-t localdebs:local-debs/"
87-
fi
8892
debos \
8993
-t overlays:'${{ inputs.overlays }}' \
9094
-t experimentalkernel:true \
9195
-t xfcedesktop:true \
92-
${localdebs} \
96+
-t aptlocalrepo:${PWD}/local-apt-repo \
9397
-t kernelpackage:'${{ inputs.kernelpackage }}' \
9498
--print-recipe \
9599
debos-recipes/qualcomm-linux-debian-rootfs.yaml

.github/workflows/linux.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ jobs:
100100
uses: ./.github/workflows/debos.yml
101101
with:
102102
mainline_kernel: true
103+
kernelpackage: linux-image-6.17.0-rc3
103104

104105
test-mainline-linux:
105106
uses: ./.github/workflows/test.yml

debos-recipes/qualcomm-linux-debian-rootfs.yaml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{{- $xfcedesktop := or .xfcedesktop "false" }}
22
{{- $experimentalkernel := or .experimentalkernel "false" }}
33
{{- $localdebs := or .localdebs "none" }}
4+
{{- $aptlocalrepo := or .aptlocalrepo "none" }}
45
{{- $kernelpackage := or .kernelpackage "linux-image-arm64" }}
56

67
architecture: arm64
@@ -17,6 +18,31 @@ actions:
1718
mirror: http://deb.debian.org/debian
1819
variant: minbase
1920

21+
{{- if ne $aptlocalrepo "none" }}
22+
- action: run
23+
description: Setup bind mount of local APT repository
24+
chroot: false
25+
command: |
26+
set -eux
27+
mkdir -v "${ROOTDIR}/media/apt-local-repo"
28+
mount --bind {{$aptlocalrepo}} "${ROOTDIR}/media/apt-local-repo"
29+
30+
- action: run
31+
description: APT update and upgrade with local APT repository
32+
chroot: true
33+
command: |
34+
set -eux
35+
cat >/etc/apt/sources.list.d/apt-local-repo.sources <<EOF
36+
Types: deb
37+
URIs: file:///media/apt-local-repo
38+
Suites: /
39+
Trusted: true
40+
EOF
41+
42+
apt update
43+
apt -y upgrade
44+
{{- end }}
45+
2046
- action: run
2147
description: Modernize APT sources
2248
chroot: true
@@ -290,6 +316,24 @@ actions:
290316
rm -vf /root/*.deb
291317
{{- end }}
292318

319+
{{- if ne $aptlocalrepo "none" }}
320+
- action: run
321+
description: Remove bind mount of local APT repository
322+
chroot: false
323+
command: |
324+
set -eux
325+
umount "${ROOTDIR}/media/apt-local-repo"
326+
rmdir -v "${ROOTDIR}/media/apt-local-repo"
327+
328+
- action: run
329+
description: APT update without local APT repository
330+
chroot: true
331+
command: |
332+
set -eux
333+
rm -v /etc/apt/sources.list.d/apt-local-repo.sources
334+
apt update
335+
{{- end }}
336+
293337
- action: run
294338
description: Create DTBs tarball
295339
chroot: false

0 commit comments

Comments
 (0)