Last active
July 1, 2024 10:09
-
-
Save pvalena/70ae59e37cad42586f31dee977cc876b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.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