mirror of https://github.com/bitnami/minideb.git
feat: ✨ Add debian trixie support (#201)
* feat: ✨ Add debian trixie support Signed-off-by: Javier J. Salmerón García <javier.salmeron@broadcom.com> * chore: 🔧 Add perl package Signed-off-by: Javier J. Salmerón García <javier.salmeron@broadcom.com> * chore: 🔧 Bump ubuntu testing version Signed-off-by: Javier J. Salmerón García <javier.salmeron@broadcom.com> --------- Signed-off-by: Javier J. Salmerón García <javier.salmeron@broadcom.com>
This commit is contained in:
parent
eec8c842f2
commit
f1fd9b459c
|
|
@ -14,13 +14,13 @@ on:
|
||||||
permissions: {}
|
permissions: {}
|
||||||
env:
|
env:
|
||||||
BASENAME: bitnami/minideb
|
BASENAME: bitnami/minideb
|
||||||
LATEST: bookworm
|
LATEST: trixie
|
||||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||||
jobs:
|
jobs:
|
||||||
# This workflow contains a single job called "build"
|
# This workflow contains a single job called "build"
|
||||||
shellcheck:
|
shellcheck:
|
||||||
# The type of runner that the job will run on
|
# The type of runner that the job will run on
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-24.04
|
||||||
if: github.event_name != 'schedule' || github.repository == 'bitnami/minideb'
|
if: github.event_name != 'schedule' || github.repository == 'bitnami/minideb'
|
||||||
name: Shellcheck
|
name: Shellcheck
|
||||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||||
|
|
@ -35,11 +35,11 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
bash shellcheck
|
bash shellcheck
|
||||||
build_multiarch:
|
build_multiarch:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-24.04
|
||||||
needs: [ shellcheck ]
|
needs: [ shellcheck ]
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
dist: [bullseye, bookworm]
|
dist: [bullseye, bookworm, trixie]
|
||||||
arch: [amd64, arm64]
|
arch: [amd64, arm64]
|
||||||
name: Build ${{ matrix.dist }} on ${{ matrix.arch }}
|
name: Build ${{ matrix.dist }} on ${{ matrix.arch }}
|
||||||
steps:
|
steps:
|
||||||
|
|
@ -80,7 +80,7 @@ jobs:
|
||||||
bash pushone "latest" "${{ matrix.arch }}"
|
bash pushone "latest" "${{ matrix.arch }}"
|
||||||
fi
|
fi
|
||||||
deploy_manifests:
|
deploy_manifests:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-24.04
|
||||||
needs: [ build_multiarch ]
|
needs: [ build_multiarch ]
|
||||||
if: github.repository == 'bitnami/minideb' && github.ref == 'refs/heads/master'
|
if: github.repository == 'bitnami/minideb' && github.ref == 'refs/heads/master'
|
||||||
|
|
||||||
|
|
@ -92,7 +92,7 @@ jobs:
|
||||||
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
DOCKER_REGISTRY: docker.io
|
DOCKER_REGISTRY: docker.io
|
||||||
run: |
|
run: |
|
||||||
DISTS="bullseye bookworm latest" bash pushmanifest
|
DISTS="bullseye bookworm trixie latest" bash pushmanifest
|
||||||
- name: Push Manifests to AWS
|
- name: Push Manifests to AWS
|
||||||
env:
|
env:
|
||||||
DOCKER_USERNAME: AWS
|
DOCKER_USERNAME: AWS
|
||||||
|
|
@ -102,7 +102,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
# AWS login
|
# AWS login
|
||||||
export DOCKER_PASSWORD="$(aws ecr-public get-login-password --region us-east-1)"
|
export DOCKER_PASSWORD="$(aws ecr-public get-login-password --region us-east-1)"
|
||||||
DISTS="bullseye bookworm latest" bash pushmanifest
|
DISTS="bullseye bookworm trixie latest" bash pushmanifest
|
||||||
# If the CI Pipeline does not succeed we should notify the interested agents
|
# If the CI Pipeline does not succeed we should notify the interested agents
|
||||||
notify:
|
notify:
|
||||||
name: Send notification
|
name: Send notification
|
||||||
|
|
|
||||||
|
|
@ -8,13 +8,13 @@ on:
|
||||||
permissions: {}
|
permissions: {}
|
||||||
env:
|
env:
|
||||||
BASENAME: bitnami/minideb
|
BASENAME: bitnami/minideb
|
||||||
LATEST: bookworm
|
LATEST: trixie
|
||||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||||
jobs:
|
jobs:
|
||||||
# This workflow contains a single job called "build"
|
# This workflow contains a single job called "build"
|
||||||
shellcheck:
|
shellcheck:
|
||||||
# The type of runner that the job will run on
|
# The type of runner that the job will run on
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-24.04
|
||||||
name: Shellcheck
|
name: Shellcheck
|
||||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||||
steps:
|
steps:
|
||||||
|
|
@ -28,11 +28,11 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
bash shellcheck
|
bash shellcheck
|
||||||
build_multiarch:
|
build_multiarch:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-24.04
|
||||||
needs: [ shellcheck ]
|
needs: [ shellcheck ]
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
dist: [bullseye, bookworm]
|
dist: [bullseye, bookworm, trixie]
|
||||||
arch: [amd64, arm64]
|
arch: [amd64, arm64]
|
||||||
name: Build ${{ matrix.dist }} on ${{ matrix.arch }}
|
name: Build ${{ matrix.dist }} on ${{ matrix.arch }}
|
||||||
steps:
|
steps:
|
||||||
|
|
|
||||||
16
README.md
16
README.md
|
|
@ -22,14 +22,14 @@ $ docker run --rm -it bitnami/minideb:latest
|
||||||
|
|
||||||
There are [tags](https://hub.docker.com/r/bitnami/minideb/tags/) for the different Debian releases.
|
There are [tags](https://hub.docker.com/r/bitnami/minideb/tags/) for the different Debian releases.
|
||||||
```
|
```
|
||||||
$ docker run --rm -it bitnami/minideb:bookworm
|
$ docker run --rm -it bitnami/minideb:trixie
|
||||||
```
|
```
|
||||||
|
|
||||||
The images are built daily and have the security release enabled, so will contain any security updates released more than 24 hours ago.
|
The images are built daily and have the security release enabled, so will contain any security updates released more than 24 hours ago.
|
||||||
|
|
||||||
You can also use the images as a base for your own `Dockerfile`:
|
You can also use the images as a base for your own `Dockerfile`:
|
||||||
```
|
```
|
||||||
FROM bitnami/minideb:bookworm
|
FROM bitnami/minideb:trixie
|
||||||
```
|
```
|
||||||
|
|
||||||
# Why use Minideb
|
# Why use Minideb
|
||||||
|
|
@ -70,14 +70,14 @@ We provide a Makefile to help you build Minideb locally. It should be run on a D
|
||||||
$ sudo make
|
$ sudo make
|
||||||
```
|
```
|
||||||
|
|
||||||
To build an individual release (bullseye or bookworm)
|
To build an individual release (bullseye, bookworm or trixie)
|
||||||
```
|
```
|
||||||
$ sudo make bookworm
|
$ sudo make trixie
|
||||||
```
|
```
|
||||||
|
|
||||||
To test the resulting image:
|
To test the resulting image:
|
||||||
```
|
```
|
||||||
$ sudo make test-bookworm
|
$ sudo make test-trixie
|
||||||
```
|
```
|
||||||
|
|
||||||
## Building Minideb for foreign architecture
|
## Building Minideb for foreign architecture
|
||||||
|
|
@ -85,13 +85,13 @@ Make commands shown above will build an image for the architecture you are curre
|
||||||
To build an image for a foreign architecture (for example to build a multi-arch image), we provide a
|
To build an image for a foreign architecture (for example to build a multi-arch image), we provide a
|
||||||
simple script that runs a QEMU instance for the target architecture and builds the image inside it.
|
simple script that runs a QEMU instance for the target architecture and builds the image inside it.
|
||||||
|
|
||||||
To build and test a bookworm image for arm64:
|
To build and test a trixie image for arm64:
|
||||||
```
|
```
|
||||||
$ ./qemu_build bookworm arm64
|
$ ./qemu_build trixie arm64
|
||||||
```
|
```
|
||||||
|
|
||||||
The image will be then imported locally through the docker CLI with the `$distribution-$architecture` tag
|
The image will be then imported locally through the docker CLI with the `$distribution-$architecture` tag
|
||||||
(example: `bitnami/minideb:bookworm-arm64`)
|
(example: `bitnami/minideb:trixie-arm64`)
|
||||||
|
|
||||||
Current limitations of the `qemu_build` script:
|
Current limitations of the `qemu_build` script:
|
||||||
|
|
||||||
|
|
|
||||||
1
buildall
1
buildall
|
|
@ -10,6 +10,7 @@ arch=${1:-"amd64 arm64"}
|
||||||
|
|
||||||
dist="bullseye
|
dist="bullseye
|
||||||
bookworm
|
bookworm
|
||||||
|
trixie
|
||||||
"
|
"
|
||||||
for a in $arch; do
|
for a in $arch; do
|
||||||
for i in $dist; do
|
for i in $dist; do
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ work_out_debs () {
|
||||||
# tzdata for handling timezones
|
# tzdata for handling timezones
|
||||||
# util-linux for getopt
|
# util-linux for getopt
|
||||||
# mount is required for mounting /proc during debootstrap
|
# mount is required for mounting /proc during debootstrap
|
||||||
required="adduser base-files base-passwd bash bsdutils coreutils dash debian-archive-keyring diffutils dpkg findutils grep gzip hostname init-system-helpers libc-bin login lsb-base mawk ncurses-base passwd sed sysv-rc tar tzdata util-linux mount"
|
required="adduser base-files base-passwd bash bsdutils coreutils dash debian-archive-keyring diffutils dpkg findutils grep gzip hostname init-system-helpers libc-bin login lsb-base mawk ncurses-base passwd perl sed sysv-rc tar tzdata util-linux mount"
|
||||||
|
|
||||||
base="apt"
|
base="apt"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
bullseye
|
||||||
2
mkimage
2
mkimage
|
|
@ -76,7 +76,7 @@ sec_repo_url_1="${repo_url}-security"
|
||||||
sec_repo_url_2="http://security.debian.org/debian-security"
|
sec_repo_url_2="http://security.debian.org/debian-security"
|
||||||
|
|
||||||
echo -e "deb ${repo_url} $DIST main" > "$rootfsDir/etc/apt/sources.list"
|
echo -e "deb ${repo_url} $DIST main" > "$rootfsDir/etc/apt/sources.list"
|
||||||
if [ "$DIST" == "bookworm" ]; then
|
if [ "$DIST" == "bookworm" ] || [ "$DIST" == "trixie" ]; then
|
||||||
echo "deb ${repo_url} $DIST-updates main" >> "$rootfsDir/etc/apt/sources.list"
|
echo "deb ${repo_url} $DIST-updates main" >> "$rootfsDir/etc/apt/sources.list"
|
||||||
echo "deb ${sec_repo_url_1} $DIST-security main" >> "$rootfsDir/etc/apt/sources.list"
|
echo "deb ${sec_repo_url_1} $DIST-security main" >> "$rootfsDir/etc/apt/sources.list"
|
||||||
elif [ "$DIST" == "bullseye" ]; then
|
elif [ "$DIST" == "bullseye" ]; then
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ set -o pipefail
|
||||||
|
|
||||||
DISTS=${DISTS:-"bullseye
|
DISTS=${DISTS:-"bullseye
|
||||||
bookworm
|
bookworm
|
||||||
|
trixie
|
||||||
latest
|
latest
|
||||||
"}
|
"}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue