Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save pvalena/70ae59e37cad42586f31dee977cc876b to your computer and use it in GitHub Desktop.
Save pvalena/70ae59e37cad42586f31dee977cc876b to your computer and use it in GitHub Desktop.
.distro/dracut.spec | 9 ++-
.distro/source-git.yaml | 6 +-
.github/labeler.yml | 20 +++++
.github/workflows/container.yml | 16 ++--
.github/workflows/integration.yml | 157 +++++++++++++++++++++++++++++++-------
.github/workflows/manualtest.yml | 4 +-
.packit.yml | 2 +-
modules.d/90crypt/parse-crypt.sh | 2 +-
8 files changed, 173 insertions(+), 43 deletions(-)
diff --git a/.distro/dracut.spec b/.distro/dracut.spec
index 829a46dd..fc5d8090 100644
--- a/.distro/dracut.spec
+++ b/.distro/dracut.spec
@@ -7,7 +7,7 @@
%global __requires_exclude pkg-config
Name: dracut
-Version: 101
+Version: 102
Release: 1%{?dist}
Summary: Initramfs generator using udev
@@ -253,6 +253,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
%{dracutlibdir}/modules.d/01fips
%{dracutlibdir}/modules.d/01systemd-ac-power
%{dracutlibdir}/modules.d/01systemd-ask-password
+%{dracutlibdir}/modules.d/01systemd-bsod
%{dracutlibdir}/modules.d/01systemd-coredump
%{dracutlibdir}/modules.d/01systemd-creds
%{dracutlibdir}/modules.d/01systemd-hostnamed
@@ -305,9 +306,12 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
%{dracutlibdir}/modules.d/90mdraid
%{dracutlibdir}/modules.d/90multipath
%{dracutlibdir}/modules.d/90nvdimm
+%{dracutlibdir}/modules.d/90numlock
%{dracutlibdir}/modules.d/90overlayfs
%{dracutlibdir}/modules.d/90ppcmac
+%{dracutlibdir}/modules.d/90pcmcia
%{dracutlibdir}/modules.d/90qemu
+%{dracutlibdir}/modules.d/90systemd-cryptsetup
%{dracutlibdir}/modules.d/91crypt-gpg
%{dracutlibdir}/modules.d/91crypt-loop
%{dracutlibdir}/modules.d/91fido2
@@ -422,6 +426,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
%{_prefix}/lib/kernel/install.d/51-dracut-rescue.install
%changelog
+* Tue Jun 04 2024 Pavel Valena <[email protected]> - 102-1
+- Update to dracut 102.
+
* Thu May 16 2024 Pavel Valena <[email protected]> - 101-1
- Update to dracut 101.
diff --git a/.distro/source-git.yaml b/.distro/source-git.yaml
index 7df58107..7b2df132 100644
--- a/.distro/source-git.yaml
+++ b/.distro/source-git.yaml
@@ -1,5 +1,5 @@
upstream_project_url: [email protected]:dracut-ng/dracut-ng.git
-upstream_ref: 2255bf3464536b02342d13398c5331999fcfd4fa
+upstream_ref: 1a8ee6e00bbe017717a5ef9e9bcfefb3b88f629e
downstream_package_name: dracut
specfile_path: .distro/dracut.spec
patch_generation_ignore_paths:
@@ -18,5 +18,5 @@ files_to_sync:
- exclude source-git.yaml
- exclude .gitignore
sources:
-- path: dracut-ng-101.tar.gz
- url: https://github.com/dracut-ng/dracut-ng/archive/refs/tags/101.tar.gz
+- path: dracut-ng-102.tar.gz
+ url: https://github.com/dracut-ng/dracut-ng/archive/refs/tags/102.tar.gz
diff --git a/.github/labeler.yml b/.github/labeler.yml
index f70e1a83..0cea58c2 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -78,6 +78,10 @@ systemd-ask-password:
- changed-files:
- any-glob-to-any-file: 'modules.d/01systemd-ask-password/*'
+systemd-bsod:
+ - changed-files:
+ - any-glob-to-any-file: 'modules.d/01systemd-bsod/*'
+
systemd-coredump:
- changed-files:
- any-glob-to-any-file: 'modules.d/01systemd-coredump/*'
@@ -114,6 +118,10 @@ systemd-networkd:
- changed-files:
- any-glob-to-any-file: 'modules.d/01systemd-networkd/*'
+systemd-network-management:
+ - changed-files:
+ - any-glob-to-any-file: 'modules.d/00systemd-network-management/*'
+
systemd-pcrphase:
- changed-files:
- any-glob-to-any-file: 'modules.d/01systemd-pcrphase/*'
@@ -322,6 +330,10 @@ multipath:
- changed-files:
- any-glob-to-any-file: 'modules.d/90multipath/*'
+numlock:
+ - changed-files:
+ - any-glob-to-any-file: 'modules.d/90numlock/*'
+
nvdimm:
- changed-files:
- any-glob-to-any-file: 'modules.d/90nvdimm/*'
@@ -342,6 +354,10 @@ qemu-net:
- changed-files:
- any-glob-to-any-file: 'modules.d/90qemu-net/*'
+systemd-cryptsetup:
+ - changed-files:
+ - any-glob-to-any-file: 'modules.d/90systemd-cryptsetup/*'
+
crypt-gpg:
- changed-files:
- any-glob-to-any-file: 'modules.d/91crypt-gpg/*'
@@ -534,6 +550,10 @@ net-lib:
- changed-files:
- any-glob-to-any-file: 'modules.d/45net-lib/*'
+pcmcia:
+ - changed-files:
+ - any-glob-to-any-file: 'modules.d/90pcmcia/*'
+
test:
- changed-files:
- any-glob-to-any-file: ['test/*', 'test/**/*', 'modules.d/80test*', 'modules.d/80test*/*']
diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml
index 25da3edc..931ec298 100644
--- a/.github/workflows/container.yml
+++ b/.github/workflows/container.yml
@@ -18,19 +18,22 @@ permissions:
contents: read
jobs:
- push_to_registry:
- if: github.repository == 'dracut-ng/dracut-ng' || vars.CONTAINER == 'enabled'
- name: Build and push containers image to GitHub Packages
+ arm64:
+ name: ${{ matrix.config.tag }} on ${{ matrix.config.platform }}
runs-on: ubuntu-latest
concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.config.dockerfile }}
+ group: arm64-${{ github.workflow }}-${{ github.ref }}-${{ matrix.config.dockerfile }}
cancel-in-progress: true
strategy:
fail-fast: false
matrix:
config:
- - { dockerfile: 'Dockerfile-Fedora-latest', tag: 'fedora:latest' }
+ - { dockerfile: 'Dockerfile-Fedora-latest', tag: 'fedora', platform: 'linux/arm64,linux/amd64' }
steps:
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v3
+ with:
+ platforms: ${{ matrix.config.platform }}
- name: Check out the repo
uses: actions/checkout@v4
- name: Set up Docker Buildx
@@ -47,5 +50,6 @@ jobs:
uses: docker/build-push-action@v5
with:
file: test/container/${{ matrix.config.dockerfile }}
- tags: ghcr.io/${{ github.repository_owner }}/${{ matrix.config.tag }}
+ tags: ghcr.io/${{ github.repository_owner }}/${{ matrix.config.tag }}:latest
push: ${{ github.event_name == 'push' || github.event_name == 'schedule' }}
+ platforms: ${{ matrix.config.platform }}
diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml
index 08ab03d2..d32e6bb5 100644
--- a/.github/workflows/integration.yml
+++ b/.github/workflows/integration.yml
@@ -8,12 +8,12 @@ env:
DEBUGFAIL: "${{ secrets.ACTIONS_STEP_DEBUG && 'rd.debug' }}"
jobs:
- test:
+ basic:
name: ${{ matrix.test }} on ${{ matrix.container }}
runs-on: ubuntu-latest
timeout-minutes: 45
concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}
+ group: basic-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}
cancel-in-progress: true
strategy:
matrix:
@@ -22,6 +22,116 @@ jobs:
]
test: [
"01",
+ ]
+ fail-fast: false
+ container:
+ image: ghcr.io/dracut-ng/${{ matrix.container }}
+ options: "--privileged -v /dev:/dev"
+ steps:
+ - name: "Checkout Repository"
+ uses: actions/checkout@v4
+ - name: "${{ matrix.container }} TEST-${{ matrix.test }}"
+ run: ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }}
+ network:
+ name: ${{ matrix.test }} on ${{ matrix.container }} using ${{ matrix.network }}
+ runs-on: ubuntu-latest
+ timeout-minutes: 45
+ concurrency:
+ group: network-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}-${{ matrix.network }}
+ cancel-in-progress: true
+ strategy:
+ matrix:
+ container: [
+ "fedora",
+ ]
+ network: [
+ "network",
+ ]
+ test: [
+ "20",
+ "40",
+ "50",
+ "60",
+ ]
+ fail-fast: false
+ container:
+ image: ghcr.io/dracut-ng/${{ matrix.container }}
+ options: "--privileged -v /dev:/dev"
+ steps:
+ - name: "Checkout Repository"
+ uses: actions/checkout@v4
+ - name: "${{ matrix.container }} TEST-${{ matrix.test }}"
+ run: USE_NETWORK=${{ matrix.network }} ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }}
+ network-legacy:
+ name: ${{ matrix.test }} on ${{ matrix.container }} using ${{ matrix.network }}
+ runs-on: ubuntu-latest
+ timeout-minutes: 45
+ concurrency:
+ group: network-legacy-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}-${{ matrix.network }}
+ cancel-in-progress: true
+ strategy:
+ matrix:
+ container: [
+ "opensuse",
+ ]
+ network: [
+ "network-legacy",
+ ]
+ test: [
+ "20",
+ "30",
+ "40",
+ ]
+ fail-fast: false
+ container:
+ image: ghcr.io/dracut-ng/${{ matrix.container }}
+ options: "--privileged -v /dev:/dev"
+ steps:
+ - name: "Checkout Repository"
+ uses: actions/checkout@v4
+ - name: "${{ matrix.container }} TEST-${{ matrix.test }}"
+ run: USE_NETWORK=${{ matrix.network }} ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }}
+ systemd-networkd:
+ name: ${{ matrix.test }} on ${{ matrix.container }} using ${{ matrix.network }}
+ runs-on: ubuntu-latest
+ timeout-minutes: 45
+ concurrency:
+ group: systemd-networkd-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}-${{ matrix.network }}
+ cancel-in-progress: true
+ strategy:
+ matrix:
+ container: [
+ "arch",
+ ]
+ network: [
+ "systemd-networkd",
+ ]
+ test: [
+ "35",
+ "40",
+ ]
+ fail-fast: false
+ container:
+ image: ghcr.io/dracut-ng/${{ matrix.container }}
+ options: "--privileged -v /dev:/dev"
+ steps:
+ - name: "Checkout Repository"
+ uses: actions/checkout@v4
+ - name: "${{ matrix.container }} TEST-${{ matrix.test }}"
+ run: USE_NETWORK=${{ matrix.network }} ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }}
+ extended:
+ name: ${{ matrix.test }} on ${{ matrix.container }}
+ runs-on: ubuntu-latest
+ timeout-minutes: 30
+ concurrency:
+ group: extended-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}
+ cancel-in-progress: true
+ strategy:
+ matrix:
+ container: [
+ "fedora",
+ ]
+ test: [
"02",
"03",
"04",
@@ -44,17 +154,16 @@ jobs:
steps:
- name: "Checkout Repository"
uses: actions/checkout@v4
- with:
- fetch-depth: 0
-
- name: "${{ matrix.container }} TEST-${{ matrix.test }}"
run: ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }}
- network:
- name: ${{ matrix.test }} on ${{ matrix.container }} using ${{ matrix.network }}
+ dracut-cpio:
+ name: ${{ matrix.test }} on ${{ matrix.container }}
runs-on: ubuntu-latest
- timeout-minutes: 45
+ timeout-minutes: 30
concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}-${{ matrix.network }}
+ group: dracut-cpio-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}
+
+
cancel-in-progress: true
strategy:
matrix:
@@ -86,38 +195,28 @@ jobs:
- name: "${{ matrix.container }} TEST-${{ matrix.test }}"
run: USE_NETWORK=${{ matrix.network }} ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }}
- network-legacy:
- name: ${{ matrix.test }} on ${{ matrix.container }} using ${{ matrix.network }}
+ arm64:
+ name: ${{ matrix.test }} on ${{ matrix.container }} on arm64
runs-on: ubuntu-latest
- timeout-minutes: 45
+ timeout-minutes: 30
concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}-${{ matrix.network }}
+ group: arm64-${{ github.workflow }}-${{ github.ref }}-${{ matrix.container }}-${{ matrix.test }}
cancel-in-progress: true
strategy:
matrix:
container: [
"fedora",
]
- network: [
- "network-manager",
- #"systemd-networkd",
- #"connman",
- ]
test: [
- "20",
- "30",
- "35",
- "40",
+ "98",
]
fail-fast: false
- container:
- image: ghcr.io/${{ github.repository_owner }}/${{ matrix.container }}
- options: "--privileged -v /dev:/dev"
steps:
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v3
+ with:
+ platforms: 'linux/arm64'
- name: "Checkout Repository"
uses: actions/checkout@v4
- with:
- fetch-depth: 0
-
- name: "${{ matrix.container }} TEST-${{ matrix.test }}"
- run: USE_NETWORK=${{ matrix.network }} ./tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }}
+ run: docker run --platform linux/arm64 --privileged -v /dev:/dev -v $PWD:/w ghcr.io/dracut-ng/${{ matrix.container }} /w/tools/test-github.sh "TEST-${{ matrix.test }}" ${{ matrix.test }}
diff --git a/.github/workflows/manualtest.yml b/.github/workflows/manualtest.yml
index 1ad5e35d..98a68deb 100644
--- a/.github/workflows/manualtest.yml
+++ b/.github/workflows/manualtest.yml
@@ -9,7 +9,7 @@ on:
container:
type: choice
description: 'distro'
- default: 'all'
+ default: 'fedora'
options:
- "fedora"
env:
@@ -30,7 +30,7 @@ jobs:
tests: ${{ steps.set-matrix.outputs.tests }}
steps:
- name: "Checkout Repository"
- uses: actions/checkout@v1
+ uses: actions/checkout@v4
with:
fetch-depth: 0
- id: set-matrix
diff --git a/.packit.yml b/.packit.yml
index c7b82cda..7c9ca501 100644
--- a/.packit.yml
+++ b/.packit.yml
@@ -12,7 +12,7 @@ patch_generation_ignore_paths:
patch_generation_patch_id_digits: 1
sync_changelog: true
-upstream_ref: 2255bf3464536b02342d13398c5331999fcfd4fa
+upstream_ref: 1a8ee6e00bbe017717a5ef9e9bcfefb3b88f629e
upstream_package_name: dracut
downstream_package_name: dracut
diff --git a/modules.d/90crypt/parse-crypt.sh b/modules.d/90crypt/parse-crypt.sh
index e46e347a..9567a4a9 100755
--- a/modules.d/90crypt/parse-crypt.sh
+++ b/modules.d/90crypt/parse-crypt.sh
@@ -174,7 +174,7 @@ else
} >> "$hookdir/emergency/90-crypt.sh"
fi
done
- elif getargbool 0 rd.auto; then
+ elif getargbool 1 rd.auto && [ -z "$(getargs rd.luks.name)" ]; then
if [ -z "$DRACUT_SYSTEMD" ]; then
{
printf -- 'ENV{ID_FS_TYPE}=="crypto_LUKS", RUN+="%s ' "$(command -v initqueue)"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment