Add support for Devuan images #2

Open
harry wants to merge 7 commits from cherry into master
Collaborator

rebuild-debian-csv now gets codenames from the Debian,
Ubuntu and Devuan repository web pages, because
Devuan does not have an ls-lR.gz file.

Adds Dockerfile.devuan to build from a Devuan image.

README_devuan.md extends README.md.

Fix for when fallocate fails on (git CI) COW filesystems.

rebuild-debian-csv now gets codenames from the Debian, Ubuntu and Devuan repository web pages, because Devuan does not have an ls-lR.gz file. Adds Dockerfile.devuan to build from a Devuan image. README_devuan.md extends README.md. Fix for when fallocate fails on (git CI) COW filesystems.
Fix: 'truncate' work-around for git CI on COW files systems.
Some checks failed
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, bookworm) (push) Has been cancelled
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, bullseye) (push) Has been cancelled
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, sid) (push) Has been cancelled
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, trixie) (push) Has been cancelled
sd-card-images CI / build docker images (push) Has been cancelled
82a488eb5e
fallocate fails on some (git CI) COW filesystems, so have a
coreutils alternative.

build-boot-rpi
build-debian
build-image
qemu.sh
README_devuan.md: Get Dockerfile.devuan directly from a git branch.
Some checks failed
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, bookworm) (push) Has been cancelled
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, bullseye) (push) Has been cancelled
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, sid) (push) Has been cancelled
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, trixie) (push) Has been cancelled
sd-card-images CI / build docker images (push) Has been cancelled
a77e59ebcc
Get codenames from the package repository's web page, because
Devuan does not have an ls-lR.gz file.

Uses python3-lxml.
Needs rebuild-debian-csv: Use dist names not ls-lR.gz.

debians-arm.csv
debians-x86.csv
Add Dockerfile to build Devuan Linux images.
Some checks failed
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, bookworm) (push) Has been cancelled
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, bullseye) (push) Has been cancelled
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, sid) (push) Has been cancelled
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, trixie) (push) Has been cancelled
sd-card-images CI / build docker images (push) Has been cancelled
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, bookworm) (pull_request) Failing after 9m38s
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, bullseye) (pull_request) Failing after 10m27s
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, sid) (pull_request) Failing after 8m48s
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, trixie) (pull_request) Failing after 8m51s
sd-card-images CI / build docker images (pull_request) Has been skipped
74da5a3862
Dockerfile.devuan is FROM devuan/devuan:daedalus
chore: build-debian: revert layout of debootstrap commands
Some checks failed
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, bullseye) (push) Has been cancelled
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, sid) (push) Has been cancelled
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, trixie) (push) Has been cancelled
sd-card-images CI / build docker images (push) Has been cancelled
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, bookworm) (push) Has been cancelled
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, bookworm) (pull_request) Failing after 5m25s
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, bullseye) (pull_request) Failing after 9m12s
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, sid) (pull_request) Failing after 10m6s
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, trixie) (pull_request) Failing after 8m45s
sd-card-images CI / build docker images (pull_request) Has been skipped
6aab11bc17
harry changed title from WIP: Add support for Devuan images to Add support for Devuan images 2024-05-14 01:18:47 +00:00
Owner

Suggest:

  • the README_devuan.md should not have -v $PWD for anything other than testing
  • while we are using a different Dockerfile we should use a local -f dot to the build command
  • we should be able to add devuan sources.list to the ubuntu dockerfile to add devuan keys and the devuan debootstrap package, adding the keys directly just made the code messy and the ubuntu debootstrap chroot still didn't find the key.

This is part of the direct approach I tried earlier:
case ${OS} in
devuan)
case ${DIST} in
ceres | beowulf | chimaera | daedalus)
# https://www.devuan.org/os/keyring
# Ceres, Beowulf, Chimaera and Daedalus
RELEASE_KEY="94532124541922FB"
gpg --keyserver keyring.devuan.org --recv-keys "${RELEASE_KEY}"
gpg --fingerprint ${RELEASE_KEY}
gpg --export ${RELEASE_KEY} >/tmp/devuan_key.gpg
mkdir -p ${TARGET}/etc/apt/trusted.gpg.d/
cp /tmp/devuan_key.gpg ${TARGET}/etc/apt/trusted.gpg.d/devuan_key.gpg
;;
excalibur)
# Excalibur
RELEASE_KEY="B3982868D104092C"
gpg --keyserver keyring.devuan.org --recv-keys "${RELEASE_KEY}"
gpg --fingerprint "${RELEASE_KEY}"
gpg --export ${RELEASE_KEY} >/tmp/devuan_key.gpg
mkdir -p ${TARGET}/etc/apt/trusted.gpg.d/
cp /tmp/devuan_key.gpg ${TARGET}/etc/apt/trusted.gpg.d/devuan_key.gpg
;;
freia)
RELEASE_KEY="55C470D57732684B"
gpg --keyserver keyring.devuan.org --recv-keys "${RELEASE_KEY}"
gpg --fingerprint "${RELEASE_KEY}"
gpg --export ${RELEASE_KEY} >/tmp/devuan_key.gpg
mkdir -p ${TARGET}/etc/apt/trusted.gpg.d/
cp /tmp/devuan_key.gpg ${TARGET}/etc/apt/trusted.gpg.d/devuan_key.gpg
;;
esac

Suggest: * the README_devuan.md should not have -v $PWD for anything other than testing * while we are using a different Dockerfile we should use a local -f dot to the build command * we should be able to add devuan sources.list to the ubuntu dockerfile to add devuan keys and the devuan debootstrap package, adding the keys directly just made the code messy and the ubuntu debootstrap chroot still didn't find the key. This is part of the direct approach I tried earlier: case ${OS} in devuan) case ${DIST} in ceres | beowulf | chimaera | daedalus) # https://www.devuan.org/os/keyring # Ceres, Beowulf, Chimaera and Daedalus RELEASE_KEY="94532124541922FB" gpg --keyserver keyring.devuan.org --recv-keys "${RELEASE_KEY}" gpg --fingerprint ${RELEASE_KEY} gpg --export ${RELEASE_KEY} >/tmp/devuan_key.gpg mkdir -p ${TARGET}/etc/apt/trusted.gpg.d/ cp /tmp/devuan_key.gpg ${TARGET}/etc/apt/trusted.gpg.d/devuan_key.gpg ;; excalibur) # Excalibur RELEASE_KEY="B3982868D104092C" gpg --keyserver keyring.devuan.org --recv-keys "${RELEASE_KEY}" gpg --fingerprint "${RELEASE_KEY}" gpg --export ${RELEASE_KEY} >/tmp/devuan_key.gpg mkdir -p ${TARGET}/etc/apt/trusted.gpg.d/ cp /tmp/devuan_key.gpg ${TARGET}/etc/apt/trusted.gpg.d/devuan_key.gpg ;; freia) RELEASE_KEY="55C470D57732684B" gpg --keyserver keyring.devuan.org --recv-keys "${RELEASE_KEY}" gpg --fingerprint "${RELEASE_KEY}" gpg --export ${RELEASE_KEY} >/tmp/devuan_key.gpg mkdir -p ${TARGET}/etc/apt/trusted.gpg.d/ cp /tmp/devuan_key.gpg ${TARGET}/etc/apt/trusted.gpg.d/devuan_key.gpg ;; esac
Author
Collaborator
the README_devuan.md should not have -v $PWD for anything other than testing

Done. Removed -v $PWD from the example instructions.

while we are using a different Dockerfile we should use a local -f dot to the build command

Not done, breaks copy-and-paste.

Release early, release often.

the README_devuan.md should not have -v $PWD for anything other than testing Done. Removed -v $PWD from the example instructions. while we are using a different Dockerfile we should use a local -f dot to the build command Not done, breaks copy-and-paste. Release early, release often.
Some checks failed
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, bullseye) (push) Has been cancelled
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, sid) (push) Has been cancelled
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, trixie) (push) Has been cancelled
sd-card-images CI / build docker images (push) Has been cancelled
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, bookworm) (push) Has been cancelled
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, bookworm) (pull_request) Failing after 5m25s
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, bullseye) (pull_request) Failing after 9m12s
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, sid) (pull_request) Failing after 10m6s
sd-card-images CI / test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }} (i386, debian, trixie) (pull_request) Failing after 8m45s
sd-card-images CI / build docker images (pull_request) Has been skipped
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin cherry:cherry
git switch cherry

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch master
git merge --no-ff cherry
git switch cherry
git rebase master
git switch master
git merge --ff-only cherry
git switch cherry
git rebase master
git switch master
git merge --no-ff cherry
git switch master
git merge --squash cherry
git switch master
git merge --ff-only cherry
git switch master
git merge cherry
git push origin master
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cyteen/sd-card-images!2
No description provided.