diff --git a/0001-Revert-machined-add-varlink-interface-for-registerin.patch b/0001-Revert-machined-add-varlink-interface-for-registerin.patch deleted file mode 100644 index 01946d6..0000000 --- a/0001-Revert-machined-add-varlink-interface-for-registerin.patch +++ /dev/null @@ -1,217 +0,0 @@ -From c93a24119977a11791aab0f3df5e5cb9973a34de Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 11 May 2024 13:27:12 +0200 -Subject: [PATCH] Revert "machined: add varlink interface for registering - machines" - -This reverts commit 5b44c81ff868a4d1b78a74e4770f7a8b2f1d0f91. ---- - man/systemd-machined.service.xml | 6 +-- - src/machine/machine-varlink.h | 6 --- - src/machine/machined-varlink.c | 62 ++----------------------- - src/machine/machined.c | 5 +- - src/machine/machined.h | 3 +- - src/machine/meson.build | 1 - - src/shared/meson.build | 1 - - src/shared/varlink-io.systemd.Machine.h | 6 --- - 8 files changed, 8 insertions(+), 82 deletions(-) - delete mode 100644 src/machine/machine-varlink.h - delete mode 100644 src/shared/varlink-io.systemd.Machine.h - -diff --git a/man/systemd-machined.service.xml b/man/systemd-machined.service.xml -index b2899ff0fd..f3d7755973 100644 ---- a/man/systemd-machined.service.xml -+++ b/man/systemd-machined.service.xml -@@ -100,12 +100,10 @@ - - The daemon provides both a C library interface - (which is shared with systemd-logind.service8) -- as well as a D-Bus interface and a Varlink interface. -+ as well as a D-Bus interface. - The library interface may be used to introspect and watch the state of virtual machines/containers. - The bus interface provides the same but in addition may also be used to register or terminate -- machines. The Varlink interface may be used to register machines with optional extensions, e.g. with an -- SSH key / address; it can be queried with -- varlinkctl introspect /run/systemd/machine/io.systemd.Machine io.systemd.Machine. -+ machines. - For more information please consult - sd-login3 - and -diff --git a/src/machine/machine-varlink.h b/src/machine/machine-varlink.h -deleted file mode 100644 -index ce4ec54dc1..0000000000 ---- a/src/machine/machine-varlink.h -+++ /dev/null -@@ -1,6 +0,0 @@ --/* SPDX-License-Identifier: LGPL-2.1-or-later */ --#pragma once -- --#include "varlink.h" -- --int vl_method_register(Varlink *link, JsonVariant *parameters, VarlinkMethodFlags flags, void *userdata); -diff --git a/src/machine/machined-varlink.c b/src/machine/machined-varlink.c -index 0d3ae627c1..6ca98e27cf 100644 ---- a/src/machine/machined-varlink.c -+++ b/src/machine/machined-varlink.c -@@ -1,12 +1,10 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - - #include "format-util.h" --#include "machine-varlink.h" - #include "machined-varlink.h" - #include "mkdir.h" - #include "user-util.h" - #include "varlink.h" --#include "varlink-io.systemd.Machine.h" - #include "varlink-io.systemd.UserDatabase.h" - - typedef struct LookupParameters { -@@ -380,13 +378,13 @@ static int vl_method_get_memberships(Varlink *link, JsonVariant *parameters, Var - return varlink_error(link, "io.systemd.UserDatabase.NoRecordFound", NULL); - } - --static int manager_varlink_init_userdb(Manager *m) { -+int manager_varlink_init(Manager *m) { - _cleanup_(varlink_server_unrefp) VarlinkServer *s = NULL; - int r; - - assert(m); - -- if (m->varlink_userdb_server) -+ if (m->varlink_server) - return 0; - - r = varlink_server_new(&s, VARLINK_SERVER_ACCOUNT_UID|VARLINK_SERVER_INHERIT_USERDATA); -@@ -417,64 +415,12 @@ static int manager_varlink_init_userdb(Manager *m) { - if (r < 0) - return log_error_errno(r, "Failed to attach varlink connection to event loop: %m"); - -- m->varlink_userdb_server = TAKE_PTR(s); -- return 0; --} -- --static int manager_varlink_init_machine(Manager *m) { -- _cleanup_(varlink_server_unrefp) VarlinkServer *s = NULL; -- int r; -- -- assert(m); -- -- if (m->varlink_machine_server) -- return 0; -- -- r = varlink_server_new(&s, VARLINK_SERVER_ROOT_ONLY|VARLINK_SERVER_INHERIT_USERDATA); -- if (r < 0) -- return log_error_errno(r, "Failed to allocate varlink server object: %m"); -- -- varlink_server_set_userdata(s, m); -- -- r = varlink_server_add_interface(s, &vl_interface_io_systemd_Machine); -- if (r < 0) -- return log_error_errno(r, "Failed to add UserDatabase interface to varlink server: %m"); -- -- r = varlink_server_bind_method(s, "io.systemd.Machine.Register", vl_method_register); -- if (r < 0) -- return log_error_errno(r, "Failed to register varlink methods: %m"); -- -- (void) mkdir_p("/run/systemd/machine", 0755); -- -- r = varlink_server_listen_address(s, "/run/systemd/machine/io.systemd.Machine", 0666); -- if (r < 0) -- return log_error_errno(r, "Failed to bind to varlink socket: %m"); -- -- r = varlink_server_attach_event(s, m->event, SD_EVENT_PRIORITY_NORMAL); -- if (r < 0) -- return log_error_errno(r, "Failed to attach varlink connection to event loop: %m"); -- -- m->varlink_machine_server = TAKE_PTR(s); -- return 0; --} -- --int manager_varlink_init(Manager *m) { -- int r; -- -- r = manager_varlink_init_userdb(m); -- if (r < 0) -- return r; -- -- r = manager_varlink_init_machine(m); -- if (r < 0) -- return r; -- -+ m->varlink_server = TAKE_PTR(s); - return 0; - } - - void manager_varlink_done(Manager *m) { - assert(m); - -- m->varlink_userdb_server = varlink_server_unref(m->varlink_userdb_server); -- m->varlink_machine_server = varlink_server_unref(m->varlink_machine_server); -+ m->varlink_server = varlink_server_unref(m->varlink_server); - } -diff --git a/src/machine/machined.c b/src/machine/machined.c -index d7087e4672..2638ed572e 100644 ---- a/src/machine/machined.c -+++ b/src/machine/machined.c -@@ -316,10 +316,7 @@ static bool check_idle(void *userdata) { - if (m->operations) - return false; - -- if (varlink_server_current_connections(m->varlink_userdb_server) > 0) -- return false; -- -- if (varlink_server_current_connections(m->varlink_machine_server) > 0) -+ if (varlink_server_current_connections(m->varlink_server) > 0) - return false; - - manager_gc(m, true); -diff --git a/src/machine/machined.h b/src/machine/machined.h -index 67abed0fd6..280c32bab6 100644 ---- a/src/machine/machined.h -+++ b/src/machine/machined.h -@@ -40,8 +40,7 @@ struct Manager { - sd_event_source *nscd_cache_flush_event; - #endif - -- VarlinkServer *varlink_userdb_server; -- VarlinkServer *varlink_machine_server; -+ VarlinkServer *varlink_server; - }; - - int manager_add_machine(Manager *m, const char *name, Machine **_machine); -diff --git a/src/machine/meson.build b/src/machine/meson.build -index 3150b33de5..c82a32589d 100644 ---- a/src/machine/meson.build -+++ b/src/machine/meson.build -@@ -3,7 +3,6 @@ - libmachine_core_sources = files( - 'image-dbus.c', - 'machine-dbus.c', -- 'machine-varlink.c', - 'machine.c', - 'machined-core.c', - 'machined-dbus.c', -diff --git a/src/shared/meson.build b/src/shared/meson.build -index d01367a159..17313aefed 100644 ---- a/src/shared/meson.build -+++ b/src/shared/meson.build -@@ -180,7 +180,6 @@ shared_sources = files( - 'varlink-io.systemd.Credentials.c', - 'varlink-io.systemd.Hostname.c', - 'varlink-io.systemd.Journal.c', -- 'varlink-io.systemd.Machine.c', - 'varlink-io.systemd.ManagedOOM.c', - 'varlink-io.systemd.MountFileSystem.c', - 'varlink-io.systemd.NamespaceResource.c', -diff --git a/src/shared/varlink-io.systemd.Machine.h b/src/shared/varlink-io.systemd.Machine.h -deleted file mode 100644 -index c9fc85f150..0000000000 ---- a/src/shared/varlink-io.systemd.Machine.h -+++ /dev/null -@@ -1,6 +0,0 @@ --/* SPDX-License-Identifier: LGPL-2.1-or-later */ --#pragma once -- --#include "varlink-idl.h" -- --extern const VarlinkInterface vl_interface_io_systemd_Machine; diff --git a/0001-ci-update-workflows-to-run-on-source-git-setup.patch b/0001-ci-update-workflows-to-run-on-source-git-setup.patch new file mode 100644 index 0000000..b5a7f60 --- /dev/null +++ b/0001-ci-update-workflows-to-run-on-source-git-setup.patch @@ -0,0 +1,98 @@ +From 67ff61b054e8d4d4d3923c3b81586b2d4e286d6b Mon Sep 17 00:00:00 2001 +From: Jan Macku +Date: Thu, 16 May 2024 14:24:38 +0200 +Subject: [PATCH] ci: update workflows to run on source-git setup + +rhel-only: ci + +Related: RHEL-36636 +--- + .github/workflows/cflite_pr.yml | 3 --- + .github/workflows/codeql.yml | 6 ------ + .github/workflows/differential-shellcheck.yml | 4 ---- + .github/workflows/linter.yml | 3 --- + .github/workflows/unit_tests.yml | 3 --- + 5 files changed, 19 deletions(-) + +diff --git a/.github/workflows/cflite_pr.yml b/.github/workflows/cflite_pr.yml +index f0d321794a..87dcd3c478 100644 +--- a/.github/workflows/cflite_pr.yml ++++ b/.github/workflows/cflite_pr.yml +@@ -5,9 +5,6 @@ + name: ClusterFuzzLite PR fuzzing + on: + pull_request: +- branches: +- - main +- - v[0-9]+-stable + + permissions: read-all + +diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml +index 0d284f75f1..daf34486d2 100644 +--- a/.github/workflows/codeql.yml ++++ b/.github/workflows/codeql.yml +@@ -6,9 +6,6 @@ name: "CodeQL" + + on: + pull_request: +- branches: +- - main +- - v[0-9]+-stable + paths: + - '**/meson.build' + - '.github/**/codeql*' +@@ -16,9 +13,6 @@ on: + - 'test/**' + - 'tools/**' + push: +- branches: +- - main +- - v[0-9]+-stable + + permissions: + contents: read +diff --git a/.github/workflows/differential-shellcheck.yml b/.github/workflows/differential-shellcheck.yml +index 244f5d503b..403b5cfc58 100644 +--- a/.github/workflows/differential-shellcheck.yml ++++ b/.github/workflows/differential-shellcheck.yml +@@ -4,11 +4,7 @@ + name: Differential ShellCheck + on: + push: +- branches: +- - main + pull_request: +- branches: +- - main + + permissions: + contents: read +diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml +index cf0bc09453..e7fb70f2f5 100644 +--- a/.github/workflows/linter.yml ++++ b/.github/workflows/linter.yml +@@ -6,9 +6,6 @@ name: Lint Code Base + + on: + pull_request: +- branches: +- - main +- - v[0-9]+-stable + + permissions: + contents: read +diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml +index 895068c2a2..bf6c820092 100644 +--- a/.github/workflows/unit_tests.yml ++++ b/.github/workflows/unit_tests.yml +@@ -5,9 +5,6 @@ + name: Unit tests + on: + pull_request: +- branches: +- - main +- - v[0-9]+-stable + + permissions: + contents: read diff --git a/0002-ci-setup-source-git-automation.patch b/0002-ci-setup-source-git-automation.patch new file mode 100644 index 0000000..5f9deb7 --- /dev/null +++ b/0002-ci-setup-source-git-automation.patch @@ -0,0 +1,282 @@ +From 67b16d23396d9837f878850e890f90228d59d49e Mon Sep 17 00:00:00 2001 +From: Jan Macku +Date: Thu, 16 May 2024 14:36:04 +0200 +Subject: [PATCH] ci: setup source-git automation + +rhel-only: ci + +Related: RHEL-36636 +--- + .github/advanced-commit-linter.yml | 17 +++++ + .github/auto-merge.yml | 4 ++ + .github/pull-request-validator.yml | 4 ++ + .github/regression-sniffer.yml | 1 + + .github/tracker-validator.yml | 31 ++++++++ + .github/workflows/gather-pr-metadata.yml | 12 ++-- + .../source-git-automation-on-demand.yml | 72 +++++++++++++++++++ + .github/workflows/source-git-automation.yml | 45 ++++++++++++ + 8 files changed, 179 insertions(+), 7 deletions(-) + create mode 100644 .github/advanced-commit-linter.yml + create mode 100644 .github/auto-merge.yml + create mode 100644 .github/pull-request-validator.yml + create mode 100644 .github/regression-sniffer.yml + create mode 100644 .github/tracker-validator.yml + create mode 100644 .github/workflows/source-git-automation-on-demand.yml + create mode 100644 .github/workflows/source-git-automation.yml + +diff --git a/.github/advanced-commit-linter.yml b/.github/advanced-commit-linter.yml +new file mode 100644 +index 0000000000..3609fe4612 +--- /dev/null ++++ b/.github/advanced-commit-linter.yml +@@ -0,0 +1,17 @@ ++policy: ++ cherry-pick: ++ upstream: ++ - github: systemd/systemd ++ exception: ++ note: ++ - rhel-only ++ - RHEL-only ++ tracker: ++ - keyword: ++ - 'Resolves: ' ++ - 'Related: ' ++ - 'Reverts: ' ++ type: jira ++ issue-format: ++ - 'RHEL-\d+$' ++ url: 'https://issues.redhat.com/browse/' +diff --git a/.github/auto-merge.yml b/.github/auto-merge.yml +new file mode 100644 +index 0000000000..35c2539295 +--- /dev/null ++++ b/.github/auto-merge.yml +@@ -0,0 +1,4 @@ ++labels: ++ dont-merge: dont-merge ++ manual-merge: pr/needs-manual-merge ++target-branch': ['main'] +diff --git a/.github/pull-request-validator.yml b/.github/pull-request-validator.yml +new file mode 100644 +index 0000000000..4bb5bbec12 +--- /dev/null ++++ b/.github/pull-request-validator.yml +@@ -0,0 +1,4 @@ ++labels: ++ missing-review: pr/needs-review ++ changes-requested: pr/changes-requested ++ missing-failing-ci: pr/needs-ci +diff --git a/.github/regression-sniffer.yml b/.github/regression-sniffer.yml +new file mode 100644 +index 0000000000..3824028e92 +--- /dev/null ++++ b/.github/regression-sniffer.yml +@@ -0,0 +1 @@ ++upstream: systemd/systemd +diff --git a/.github/tracker-validator.yml b/.github/tracker-validator.yml +new file mode 100644 +index 0000000000..2e858606ff +--- /dev/null ++++ b/.github/tracker-validator.yml +@@ -0,0 +1,31 @@ ++labels: ++ missing-tracker: tracker/missing ++ invalid-product: tracker/invalid-product ++ invalid-component: tracker/invalid-component ++ unapproved: tracker/unapproved ++products: ++ - Red Hat Enterprise Linux 10 ++ - CentOS Stream 10 ++ - rhel-10.0.beta ++ - rhel-10.0 ++ - rhel-10.0.z ++ - rhel-10.1 ++ - rhel-10.1.z ++ - rhel-10.2 ++ - rhel-10.2.z ++ - rhel-10.3 ++ - rhel-10.3.z ++ - rhel-10.4 ++ - rhel-10.4.z ++ - rhel-10.5 ++ - rhel-10.5.z ++ - rhel-10.6 ++ - rhel-10.6.z ++ - rhel-10.7 ++ - rhel-10.7.z ++ - rhel-10.8 ++ - rhel-10.8.z ++ - rhel-10.9 ++ - rhel-10.9.z ++ - rhel-10.10 ++ - rhel-10.10.z +diff --git a/.github/workflows/gather-pr-metadata.yml b/.github/workflows/gather-pr-metadata.yml +index e4a0caff03..857689a37b 100644 +--- a/.github/workflows/gather-pr-metadata.yml ++++ b/.github/workflows/gather-pr-metadata.yml +@@ -1,18 +1,17 @@ + --- +- + name: Gather Pull Request Metadata + + on: + pull_request: +- branches: [ main ] ++ types: [ opened, reopened, synchronize ] ++ branches: [ main, rhel-10.0.beta, rhel-10.* ] + + permissions: + contents: read + + jobs: + gather-metadata: +- if: github.repository == 'systemd/systemd' +- runs-on: ubuntu-24.04 ++ runs-on: ubuntu-latest + + steps: + - name: Repository checkout +@@ -20,11 +19,10 @@ jobs: + + - id: metadata + name: Gather Pull Request Metadata +- uses: redhat-plumbers-in-action/gather-pull-request-metadata@17821d3bc27c1efed339595898c2e622accc5a1b ++ uses: redhat-plumbers-in-action/gather-pull-request-metadata@v1 + + - name: Upload Pull Request Metadata artifact +- uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 ++ uses: actions/upload-artifact@v4 + with: + name: Pull Request Metadata + path: ${{ steps.metadata.outputs.metadata-file }} +- retention-days: 1 +diff --git a/.github/workflows/source-git-automation-on-demand.yml b/.github/workflows/source-git-automation-on-demand.yml +new file mode 100644 +index 0000000000..af9ea781f6 +--- /dev/null ++++ b/.github/workflows/source-git-automation-on-demand.yml +@@ -0,0 +1,72 @@ ++name: Source git Automation Scheduled/On Demand ++on: ++ schedule: ++ # Workflow runs every 45 minutes ++ - cron: '*/45 * * * *' ++ workflow_dispatch: ++ inputs: ++ pr-number: ++ description: 'Pull Request number/s ; when not provided, the workflow will run for all open PRs' ++ required: true ++ default: '0' ++ ++permissions: ++ contents: read ++ ++jobs: ++ # Get all open PRs ++ gather-pull-requests: ++ if: github.repository == 'redhat-plumbers/systemd-rhel10' ++ runs-on: ubuntu-latest ++ ++ outputs: ++ pr-numbers: ${{ steps.get-pr-numbers.outputs.result }} ++ pr-numbers-manual: ${{ steps.parse-manual-input.outputs.result }} ++ ++ steps: ++ - id: get-pr-numbers ++ if: inputs.pr-number == '0' ++ name: Get all open PRs ++ uses: actions/github-script@v6 ++ with: ++ # !FIXME: this is not working if there is more than 100 PRs opened ++ script: | ++ const { data: pullRequests } = await github.rest.pulls.list({ ++ owner: context.repo.owner, ++ repo: context.repo.repo, ++ state: 'open', ++ per_page: 100 ++ }); ++ return pullRequests.map(pr => pr.number); ++ ++ - id: parse-manual-input ++ if: inputs.pr-number != '0' ++ name: Parse manual input ++ run: | ++ # shellcheck disable=SC2086 ++ echo "result="[ ${{ inputs.pr-number }} ]"" >> $GITHUB_OUTPUT ++ shell: bash ++ ++ validate-pr: ++ name: 'Validation of Pull Request #${{ matrix.pr-number }}' ++ needs: [ gather-pull-requests ] ++ runs-on: ubuntu-latest ++ ++ strategy: ++ fail-fast: false ++ matrix: ++ pr-number: ${{ inputs.pr-number == 0 && fromJSON(needs.gather-pull-requests.outputs.pr-numbers) || fromJSON(needs.gather-pull-requests.outputs.pr-numbers-manual) }} ++ ++ permissions: ++ # required for merging PRs ++ contents: write ++ # required for PR comments and setting labels ++ pull-requests: write ++ ++ steps: ++ - name: Source-git Automation ++ uses: redhat-plumbers-in-action/source-git-automation@v1 ++ with: ++ pr-number: ${{ matrix.pr-number }} ++ jira-api-token: ${{ secrets.JIRA_API_TOKEN }} ++ token: ${{ secrets.GITHUB_TOKEN }} +diff --git a/.github/workflows/source-git-automation.yml b/.github/workflows/source-git-automation.yml +new file mode 100644 +index 0000000000..d58242efa7 +--- /dev/null ++++ b/.github/workflows/source-git-automation.yml +@@ -0,0 +1,45 @@ ++name: Source git Automation ++on: ++ workflow_run: ++ workflows: [ Gather Pull Request Metadata ] ++ types: ++ - completed ++ ++permissions: ++ contents: read ++ ++jobs: ++ download-metadata: ++ if: > ++ github.event.workflow_run.event == 'pull_request' && ++ github.event.workflow_run.conclusion == 'success' && ++ github.repository == 'redhat-plumbers/systemd-rhel10' ++ runs-on: ubuntu-latest ++ ++ outputs: ++ pr-metadata: ${{ steps.Artifact.outputs.pr-metadata-json }} ++ ++ steps: ++ - id: Artifact ++ name: Download Artifact ++ uses: redhat-plumbers-in-action/download-artifact@v1 ++ with: ++ name: Pull Request Metadata ++ ++ source-git-automation: ++ needs: [ download-metadata ] ++ runs-on: ubuntu-latest ++ ++ permissions: ++ # required for merging PRs ++ contents: write ++ # required for PR comments and setting labels ++ pull-requests: write ++ ++ steps: ++ - name: Source-git Automation ++ uses: redhat-plumbers-in-action/source-git-automation@v1 ++ with: ++ pr-metadata: ${{ needs.download-metadata.outputs.pr-metadata }} ++ jira-api-token: ${{ secrets.JIRA_API_TOKEN }} ++ token: ${{ secrets.GITHUB_TOKEN }} diff --git a/0003-ci-deploy-systemd-man-to-GitHub-Pages.patch b/0003-ci-deploy-systemd-man-to-GitHub-Pages.patch new file mode 100644 index 0000000..a42248f --- /dev/null +++ b/0003-ci-deploy-systemd-man-to-GitHub-Pages.patch @@ -0,0 +1,78 @@ +From ecae988291383e13e5b23b5d7a4a1f8a7d6736dc Mon Sep 17 00:00:00 2001 +From: Jan Macku +Date: Thu, 16 May 2024 15:14:17 +0200 +Subject: [PATCH] ci: deploy systemd man to GitHub Pages + +rhel-only: ci + +Related: RHEL-36636 +--- + .github/workflows/deploy-man-pages.yml | 59 ++++++++++++++++++++++++++ + 1 file changed, 59 insertions(+) + create mode 100644 .github/workflows/deploy-man-pages.yml + +diff --git a/.github/workflows/deploy-man-pages.yml b/.github/workflows/deploy-man-pages.yml +new file mode 100644 +index 0000000000..9739228a87 +--- /dev/null ++++ b/.github/workflows/deploy-man-pages.yml +@@ -0,0 +1,59 @@ ++name: Deploy systemd man to Pages ++ ++on: ++ push: ++ branches: [ main ] ++ paths: ++ - man/* ++ - .github/workflows/deploy-man-pages.yml ++ schedule: ++ # Run every Monday at 4:00 AM UTC ++ - cron: 0 4 * * 1 ++ workflow_dispatch: ++ ++permissions: ++ contents: read ++ ++# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. ++# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. ++concurrency: ++ group: pages ++ cancel-in-progress: false ++ ++jobs: ++ # Single deploy job since we're just deploying ++ deploy: ++ environment: ++ name: github-pages ++ url: ${{ steps.deployment.outputs.page_url }} ++ runs-on: ubuntu-latest ++ ++ permissions: ++ pages: write ++ id-token: write ++ ++ steps: ++ - uses: actions/checkout@v4 ++ ++ - name: Install dependencies ++ run: | ++ sudo add-apt-repository -y --no-update --enable-source ++ sudo apt-get -y update ++ sudo apt-get -y build-dep systemd ++ ++ - name: Build HTML man pages ++ run: | ++ meson setup build ++ ninja -C build man/html ++ ++ - name: Setup Pages ++ uses: actions/configure-pages@v4 ++ ++ - name: Upload artifact ++ uses: actions/upload-pages-artifact@v3 ++ with: ++ path: ./build/man ++ ++ - name: Deploy to GitHub Pages ++ id: deployment ++ uses: actions/deploy-pages@v4 diff --git a/0004-ci-reconfigure-Packit-for-RHEL-10.patch b/0004-ci-reconfigure-Packit-for-RHEL-10.patch new file mode 100644 index 0000000..d58235c --- /dev/null +++ b/0004-ci-reconfigure-Packit-for-RHEL-10.patch @@ -0,0 +1,61 @@ +From 970ac707323ce1b50c6f45184df4373d651e669c Mon Sep 17 00:00:00 2001 +From: Jan Macku +Date: Fri, 17 May 2024 13:55:40 +0200 +Subject: [PATCH] ci: reconfigure Packit for RHEL 10 + +rhel-only: ci + +Related: RHEL-36636 +--- + .packit.yml | 28 +++++++++------------------- + 1 file changed, 9 insertions(+), 19 deletions(-) + +diff --git a/.packit.yml b/.packit.yml +index 2dcc9e86ca..340c6992ec 100644 +--- a/.packit.yml ++++ b/.packit.yml +@@ -24,14 +24,12 @@ actions: + - "bash -ec 'git describe --tags --abbrev=0 | cut -b 2-'" + + post-upstream-clone: +- # Use the Fedora Rawhide specfile +- - "git clone https://src.fedoraproject.org/rpms/systemd .packit_rpm --depth=1" ++ # Use the CentOS Stream 10 specfile ++ - "git clone -b c10s https://gitlab.com/redhat/centos-stream/rpms/systemd.git .packit_rpm --depth=1" + # Drop the "sources" file so rebase-helper doesn't think we're a dist-git + - "rm -fv .packit_rpm/sources" +- # Drop backported patches from the specfile, but keep the downstream-only ones +- # - Patch(0000-0499): backported patches from upstream +- # - Patch0500-9999: downstream-only patches +- - "sed -ri '/^Patch(0[0-4]?[0-9]{0,2})?\\:.+\\.patch/d' .packit_rpm/systemd.spec" ++ # Drop all patches, since they're already included in the tarball ++ - "sed -ri '/^Patch[0-9]+:/d' .packit_rpm/systemd.spec" + # Build the RPM with --werror. Even though --werror doesn't work in all + # cases (see [0]), we can't use -Dc_args=/-Dcpp_args= here because of the + # RPM hardening macros, that use $CFLAGS/$CPPFLAGS (see [1]). +@@ -45,20 +43,12 @@ actions: + # until the change propagates to Rawhide's specfile + - "sed -ri '0,/^BuildRequires: .+$/s//&\\nBuildRequires: libarchive-devel\\nRequires: libarchive/' .packit_rpm/systemd.spec" + ++# Available targets can be listed via `copr-cli list-chroots` + jobs: + - job: copr_build + trigger: pull_request + targets: +- - fedora-rawhide-aarch64 +- - fedora-rawhide-i386 +- - fedora-rawhide-ppc64le +- - fedora-rawhide-s390x +- - fedora-rawhide-x86_64 +- +-- job: tests +- trigger: pull_request +- fmf_url: https://src.fedoraproject.org/tests/systemd +- fmf_ref: main +- tmt_plan: ci +- targets: +- - fedora-rawhide-x86_64 ++ - centos-stream-10-aarch64 ++ - centos-stream-10-ppc64le ++ - centos-stream-10-s390x ++ - centos-stream-10-x86_64 diff --git a/0005-ci-allow-to-pass-parameters-together-with-rhel-only-.patch b/0005-ci-allow-to-pass-parameters-together-with-rhel-only-.patch new file mode 100644 index 0000000..bac631f --- /dev/null +++ b/0005-ci-allow-to-pass-parameters-together-with-rhel-only-.patch @@ -0,0 +1,37 @@ +From 517bf132e5508a2ac140dbea3650e89205dee052 Mon Sep 17 00:00:00 2001 +From: Jan Macku +Date: Fri, 21 Jun 2024 16:15:24 +0200 +Subject: [PATCH] ci: allow to pass parameters together with rhel-only note + +Supported parameters: + +* feature - for feature related commits (cross-version) +* bugfix - for bugfix related commits (cross-version) +* doc - for documentation related commits (usually version specific) +* workaround - for workaround related commits (usually version specific) +* ci - for CI related commits (version specific) +* test - for test related commits (version specific) +* other - for commits that do not fit into any of the above categories or use just `rhel-only` + +rhel-only: ci + +Related: RHEL-36636 +--- + .github/advanced-commit-linter.yml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/.github/advanced-commit-linter.yml b/.github/advanced-commit-linter.yml +index 3609fe4612..3e3e3fe2bf 100644 +--- a/.github/advanced-commit-linter.yml ++++ b/.github/advanced-commit-linter.yml +@@ -4,8 +4,8 @@ policy: + - github: systemd/systemd + exception: + note: +- - rhel-only +- - RHEL-only ++ - 'rhel-only: (feature|bugfix|doc|workaround|ci|test|other)' ++ - 'RHEL-only: (feature|bugfix|doc|workaround|ci|test|other)' + tracker: + - keyword: + - 'Resolves: ' diff --git a/30846.patch b/0006-journal-again-create-user-journals-for-users-with-hi.patch similarity index 96% rename from 30846.patch rename to 0006-journal-again-create-user-journals-for-users-with-hi.patch index f135830..4358717 100644 --- a/30846.patch +++ b/0006-journal-again-create-user-journals-for-users-with-hi.patch @@ -1,4 +1,4 @@ -From ca1344d04a9c1804234417dcfbd868524abc7ce6 Mon Sep 17 00:00:00 2001 +From 8ca92aa84573b47bb6ee6a5853ecd08463b97af8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 9 Jan 2024 11:28:04 +0100 Subject: [PATCH] journal: again create user journals for users with high uids @@ -38,6 +38,10 @@ journal splitting using its internal logic based on shifted uids. So let's revert the change to fix user systems. Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2251843. + +rhel-only: bugfix + +Related: RHEL-40924 --- src/basic/uid-classification.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/0001-tmpfiles-make-purge-hard-to-mis-use.patch b/0007-tmpfiles-make-purge-hard-to-mis-use.patch similarity index 85% rename from 0001-tmpfiles-make-purge-hard-to-mis-use.patch rename to 0007-tmpfiles-make-purge-hard-to-mis-use.patch index 87b5fa5..b699822 100644 --- a/0001-tmpfiles-make-purge-hard-to-mis-use.patch +++ b/0007-tmpfiles-make-purge-hard-to-mis-use.patch @@ -1,18 +1,22 @@ -From f62d1f6ea55fc0dcccbe60582804c9b033f8ad0e Mon Sep 17 00:00:00 2001 +From 6ad266a125eabbf27dfbe64aae9a0d9060c2bd08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 18 Jun 2024 20:32:10 +0200 Subject: [PATCH] tmpfiles: make --purge hard to (mis-)use Follow-up for https://github.com/systemd/systemd/pull/33383. + +rhel-only: bugfix + +Related: RHEL-40924 --- src/tmpfiles/tmpfiles.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c -index 5841db293e..9b0f744ba9 100644 +index 8cc8c1ccd6..14048545db 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c -@@ -4195,6 +4195,7 @@ static int parse_argv(int argc, char *argv[]) { +@@ -4197,6 +4197,7 @@ static int parse_argv(int argc, char *argv[]) { ARG_IMAGE_POLICY, ARG_REPLACE, ARG_DRY_RUN, @@ -20,7 +24,7 @@ index 5841db293e..9b0f744ba9 100644 ARG_NO_PAGER, }; -@@ -4218,10 +4219,18 @@ static int parse_argv(int argc, char *argv[]) { +@@ -4220,10 +4221,18 @@ static int parse_argv(int argc, char *argv[]) { { "replace", required_argument, NULL, ARG_REPLACE }, { "dry-run", no_argument, NULL, ARG_DRY_RUN }, { "no-pager", no_argument, NULL, ARG_NO_PAGER }, @@ -39,7 +43,7 @@ index 5841db293e..9b0f744ba9 100644 assert(argc >= 0); assert(argv); -@@ -4328,6 +4337,10 @@ static int parse_argv(int argc, char *argv[]) { +@@ -4330,6 +4339,10 @@ static int parse_argv(int argc, char *argv[]) { arg_dry_run = true; break; @@ -50,7 +54,7 @@ index 5841db293e..9b0f744ba9 100644 case ARG_NO_PAGER: arg_pager_flags |= PAGER_DISABLE; break; -@@ -4347,6 +4360,10 @@ static int parse_argv(int argc, char *argv[]) { +@@ -4349,6 +4362,10 @@ static int parse_argv(int argc, char *argv[]) { return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Refusing --purge without specification of a configuration file."); diff --git a/fedora-use-system-auth-in-pam-systemd-user.patch b/0008-fedora-use-system-auth-in-pam-systemd-user.patch similarity index 85% rename from fedora-use-system-auth-in-pam-systemd-user.patch rename to 0008-fedora-use-system-auth-in-pam-systemd-user.patch index df820e2..c7a7849 100644 --- a/fedora-use-system-auth-in-pam-systemd-user.patch +++ b/0008-fedora-use-system-auth-in-pam-systemd-user.patch @@ -1,8 +1,13 @@ -From c4b803dc60b63a35c977d39610b7872175ec03bd Mon Sep 17 00:00:00 2001 +From 79519b922b59c2282223742327cc8d75c7b219d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 14 Dec 2022 22:24:53 +0100 Subject: [PATCH] fedora: use system-auth in pam systemd-user +Adjust upstream config to use our shared stack + +rhel-only: feature + +Related: RHEL-40924 --- src/login/systemd-user.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) @@ -26,6 +31,3 @@ index 8a3c9e0165..74ef5f2552 100644 session optional pam_umask.so silent -session optional pam_systemd.so +session include system-auth --- -2.41.0 - diff --git a/0009-net-naming-scheme-start-rhel10-naming-and-include-rh.patch b/0009-net-naming-scheme-start-rhel10-naming-and-include-rh.patch new file mode 100644 index 0000000..2e5bf6a --- /dev/null +++ b/0009-net-naming-scheme-start-rhel10-naming-and-include-rh.patch @@ -0,0 +1,317 @@ +From b91be007c4172b50e5ca570c3c3cd64fecbf377b Mon Sep 17 00:00:00 2001 +From: Jan Macku +Date: Tue, 25 Jun 2024 14:00:45 +0200 +Subject: [PATCH] net-naming-scheme: start rhel10 naming and include rhel8 and + rhel9 ones + +Also add RHEL8,9,10 versions to version-info.xml file + +rhel-only: feature + +Resolves: RHEL-22621 +--- + man/systemd.net-naming-scheme.xml | 186 ++++++++++++++++++++++++++++++ + man/version-info.xml | 33 ++++++ + src/shared/netif-naming-scheme.c | 17 +++ + src/shared/netif-naming-scheme.h | 20 ++++ + 4 files changed, 256 insertions(+) + +diff --git a/man/systemd.net-naming-scheme.xml b/man/systemd.net-naming-scheme.xml +index ff811c2bd7..690e3d2c27 100644 +--- a/man/systemd.net-naming-scheme.xml ++++ b/man/systemd.net-naming-scheme.xml +@@ -525,7 +525,193 @@ + + + ++ ++ rhel-10.0 ++ ++ Same as naming scheme v255. ++ ++ ++ ++ ++ ++ By default rhel-10.0 is used. ++ ++ ++ RHEL-9 schemes ++ It is also possible to pick a scheme from RHEL-9 ++ ++ ++ rhel-9.0 ++ ++ Since version v247 we no longer set ++ ID_NET_NAME_SLOT if we detect that a PCI device associated with a slot is a PCI ++ bridge as that would create naming conflict when there are more child devices on that bridge. Now, ++ this is relaxed and we will use slot information to generate the name based on it but only if ++ the PCI device has multiple functions. This is safe because distinct function number is a part of ++ the device name for multifunction devices. ++ ++ ++ ++ ++ ++ ++ rhel-9.1 ++ ++ Same as naming scheme rhel-9.0. ++ ++ ++ ++ ++ ++ ++ rhel-9.2 ++ ++ Same as naming scheme rhel-9.0. ++ ++ ++ ++ ++ ++ ++ rhel-9.3 ++ ++ Naming was changed for SR-IOV virtual device representors. ++ ++ The rslot suffix was added to differentiate SR-IOV ++ virtual device representors attached to a single physical device interface. ++ ++ ++ ++ ++ ++ ++ rhel-9.4 ++ ++ Same as naming scheme rhel-9.3. ++ ++ ++ ++ ++ ++ ++ ++ ++ RHEL-8 schemes ++ It is also possible to pick a scheme from RHEL-8 ++ ++ ++ rhel-8.0 ++ ++ Same as naming scheme v239. ++ ++ ++ ++ ++ ++ ++ rhel-8.1 ++ ++ Same as naming scheme rhel-8.0. ++ ++ ++ ++ ++ ++ ++ rhel-8.2 ++ ++ Same as naming scheme rhel-8.0. ++ ++ ++ ++ ++ ++ ++ rhel-8.3 ++ ++ Same as naming scheme rhel-8.0. ++ ++ ++ ++ ++ ++ ++ rhel-8.4 ++ ++ If the PCI slot is assocated with PCI bridge and that has multiple child network ++ controllers then all of them might derive the same value of ID_NET_NAME_SLOT ++ property. That could cause naming conflict if the property is selected as a device name. Now, we detect the ++ situation, slot - bridge relation, and we don't produce the ID_NET_NAME_SLOT property to ++ avoid possible naming conflict. ++ ++ ++ ++ ++ ++ ++ rhel-8.5 ++ ++ Same as naming scheme rhel-8.4. ++ ++ ++ ++ ++ ++ ++ rhel-8.6 ++ ++ Same as naming scheme rhel-8.4. ++ ++ ++ ++ ++ ++ ++ rhel-8.7 ++ ++ PCI hotplug slot names for the s390 PCI driver are a hexadecimal representation ++ of the function_id device attribute. This attribute is now used to build the ++ ID_NET_NAME_SLOT. Before that, all slot names were parsed as decimal ++ numbers, which could either result in an incorrect value of the ID_NET_NAME_SLOT ++ property or none at all. ++ ++ Some firmware and hypervisor implementations report unreasonable high numbers for the onboard ++ index. To prevent the generation of bogus onbard interface names, index numbers greater than 16381 ++ (2^14-1) were ignored. For s390 PCI devices index values up to 65535 (2^16-1) are valid. To account ++ for that, the limit is increased to now 65535. ++ ++ ++ ++ ++ ++ ++ rhel-8.8 ++ ++ Same as naming scheme rhel-8.7. ++ ++ ++ ++ ++ ++ ++ rhel-8.9 ++ ++ Same as naming scheme rhel-8.7. ++ ++ ++ ++ ++ ++ ++ rhel-8.10 ++ ++ Same as naming scheme rhel-8.7. ++ ++ ++ ++ + ++ + + Note that latest may be used to denote the latest scheme known (to this + particular version of systemd). +diff --git a/man/version-info.xml b/man/version-info.xml +index bd210b20d3..274450d408 100644 +--- a/man/version-info.xml ++++ b/man/version-info.xml +@@ -81,4 +81,37 @@ + Added in version 255. + Added in version 256. + Added in version 257. ++ Added in rhel-8.0. ++ Added in rhel-8.1. ++ Added in rhel-8.2. ++ Added in rhel-8.3. ++ Added in rhel-8.4. ++ Added in rhel-8.5. ++ Added in rhel-8.6. ++ Added in rhel-8.7. ++ Added in rhel-8.8. ++ Added in rhel-8.9. ++ Added in rhel-8.10. ++ Added in rhel-9.0. ++ Added in rhel-9.1. ++ Added in rhel-9.2. ++ Added in rhel-9.3. ++ Added in rhel-9.4. ++ Added in rhel-9.5. ++ Added in rhel-9.6. ++ Added in rhel-9.7. ++ Added in rhel-9.8. ++ Added in rhel-9.9. ++ Added in rhel-9.10. ++ Added in rhel-10.0. ++ Added in rhel-10.1. ++ Added in rhel-10.2. ++ Added in rhel-10.3. ++ Added in rhel-10.4. ++ Added in rhel-10.5. ++ Added in rhel-10.6. ++ Added in rhel-10.7. ++ Added in rhel-10.8. ++ Added in rhel-10.9. ++ Added in rhel-10.10. + +diff --git a/src/shared/netif-naming-scheme.c b/src/shared/netif-naming-scheme.c +index 2955b6e8d5..e4d4c0ba88 100644 +--- a/src/shared/netif-naming-scheme.c ++++ b/src/shared/netif-naming-scheme.c +@@ -24,6 +24,23 @@ static const NamingScheme naming_schemes[] = { + { "v253", NAMING_V253 }, + { "v254", NAMING_V254 }, + { "v255", NAMING_V255 }, ++ { "rhel-8.0", NAMING_RHEL_8_0 }, ++ { "rhel-8.1", NAMING_RHEL_8_1 }, ++ { "rhel-8.2", NAMING_RHEL_8_2 }, ++ { "rhel-8.3", NAMING_RHEL_8_3 }, ++ { "rhel-8.4", NAMING_RHEL_8_4 }, ++ { "rhel-8.5", NAMING_RHEL_8_5 }, ++ { "rhel-8.6", NAMING_RHEL_8_6 }, ++ { "rhel-8.7", NAMING_RHEL_8_7 }, ++ { "rhel-8.8", NAMING_RHEL_8_8 }, ++ { "rhel-8.9", NAMING_RHEL_8_9 }, ++ { "rhel-8.10", NAMING_RHEL_8_10 }, ++ { "rhel-9.0", NAMING_RHEL_9_0 }, ++ { "rhel-9.1", NAMING_RHEL_9_1 }, ++ { "rhel-9.2", NAMING_RHEL_9_2 }, ++ { "rhel-9.3", NAMING_RHEL_9_3 }, ++ { "rhel-9.4", NAMING_RHEL_9_4 }, ++ { "rhel-10.0", NAMING_RHEL_10_0 }, + /* … add more schemes here, as the logic to name devices is updated … */ + + EXTRA_NET_NAMING_MAP +diff --git a/src/shared/netif-naming-scheme.h b/src/shared/netif-naming-scheme.h +index 62afdc514a..b0697c141e 100644 +--- a/src/shared/netif-naming-scheme.h ++++ b/src/shared/netif-naming-scheme.h +@@ -63,6 +63,26 @@ typedef enum NamingSchemeFlags { + * systemd version 255, naming scheme "v255". */ + NAMING_V255 = NAMING_V254 & ~NAMING_BRIDGE_MULTIFUNCTION_SLOT, + ++ NAMING_RHEL_8_0 = NAMING_V239, ++ NAMING_RHEL_8_1 = NAMING_V239, ++ NAMING_RHEL_8_2 = NAMING_V239, ++ NAMING_RHEL_8_3 = NAMING_V239, ++ NAMING_RHEL_8_4 = NAMING_V239 | NAMING_BRIDGE_NO_SLOT, ++ NAMING_RHEL_8_5 = NAMING_RHEL_8_4, ++ NAMING_RHEL_8_6 = NAMING_RHEL_8_4, ++ NAMING_RHEL_8_7 = NAMING_RHEL_8_4 | NAMING_SLOT_FUNCTION_ID | NAMING_16BIT_INDEX, ++ NAMING_RHEL_8_8 = NAMING_RHEL_8_7, ++ NAMING_RHEL_8_9 = NAMING_RHEL_8_7, ++ NAMING_RHEL_8_10 = NAMING_RHEL_8_7, ++ ++ NAMING_RHEL_9_0 = NAMING_V250 | NAMING_BRIDGE_MULTIFUNCTION_SLOT, ++ NAMING_RHEL_9_1 = NAMING_RHEL_9_0, ++ NAMING_RHEL_9_2 = NAMING_RHEL_9_0, ++ NAMING_RHEL_9_3 = NAMING_RHEL_9_0 | NAMING_SR_IOV_R, ++ NAMING_RHEL_9_4 = NAMING_RHEL_9_3, ++ ++ NAMING_RHEL_10_0 = NAMING_V255, ++ + EXTRA_NET_NAMING_SCHEMES + + _NAMING_SCHEME_FLAGS_INVALID = -EINVAL, diff --git a/0010-rules-copy-40-redhat.rules-from-RHEL-9.patch b/0010-rules-copy-40-redhat.rules-from-RHEL-9.patch new file mode 100644 index 0000000..2d127b9 --- /dev/null +++ b/0010-rules-copy-40-redhat.rules-from-RHEL-9.patch @@ -0,0 +1,109 @@ +From ee9a767142ec66b1ca93af9401dc8f723ae59881 Mon Sep 17 00:00:00 2001 +From: Jan Macku +Date: Wed, 12 Jun 2024 14:23:30 +0200 +Subject: [PATCH] rules: copy 40-redhat.rules from RHEL 9 + +Also split rules into 40-redhat-hotplug.rules, 40-redhat-s390.rules and 40-redhat.rules. + +rhel-only: feature + +Resolves: RHEL-40360 +--- + rules.d/40-redhat-hotplug.rules | 23 +++++++++++++++++++++++ + rules.d/40-redhat-s390.rules | 24 ++++++++++++++++++++++++ + rules.d/40-redhat.rules | 8 ++++++++ + rules.d/meson.build | 5 ++++- + 4 files changed, 59 insertions(+), 1 deletion(-) + create mode 100644 rules.d/40-redhat-hotplug.rules + create mode 100644 rules.d/40-redhat-s390.rules + create mode 100644 rules.d/40-redhat.rules + +diff --git a/rules.d/40-redhat-hotplug.rules b/rules.d/40-redhat-hotplug.rules +new file mode 100644 +index 0000000000..5555eeac75 +--- /dev/null ++++ b/rules.d/40-redhat-hotplug.rules +@@ -0,0 +1,23 @@ ++# do not edit this file, it will be overwritten on update ++ ++# CPU hotadd request ++SUBSYSTEM!="cpu", GOTO="cpu_online_end" ++ACTION!="add", GOTO="cpu_online_end" ++CONST{arch}=="ppc64*", GOTO="cpu_online_end" ++CONST{arch}=="s390*", ATTR{configure}=="0", GOTO="cpu_online_end" ++ ++TEST=="online", ATTR{online}=="0", ATTR{online}="1" ++ ++LABEL="cpu_online_end" ++ ++# Memory hotadd request ++SUBSYSTEM!="memory", GOTO="memory_hotplug_end" ++ACTION!="add", GOTO="memory_hotplug_end" ++CONST{arch}=="s390*", GOTO="memory_hotplug_end" ++CONST{arch}=="ppc64*", GOTO="memory_hotplug_end" ++ ++ENV{.state}="online" ++CONST{virt}=="none", ENV{.state}="online_movable" ++ATTR{state}=="offline", ATTR{state}="$env{.state}" ++ ++LABEL="memory_hotplug_end" +diff --git a/rules.d/40-redhat-s390.rules b/rules.d/40-redhat-s390.rules +new file mode 100644 +index 0000000000..64698b90e8 +--- /dev/null ++++ b/rules.d/40-redhat-s390.rules +@@ -0,0 +1,24 @@ ++# do not edit this file, it will be overwritten on update ++ ++# Rule for prandom character device node permissions ++KERNEL=="prandom", MODE="0644" ++ ++# Rules for creating the ID_PATH for SCSI devices based on the CCW bus ++# using the form: ccw--zfcp-: ++# ++ACTION=="remove", GOTO="zfcp_scsi_device_end" ++ ++# ++# Set environment variable "ID_ZFCP_BUS" to "1" if the devices ++# (both disk and partition) are SCSI devices based on FCP devices ++# ++KERNEL=="sd*", SUBSYSTEMS=="ccw", DRIVERS=="zfcp", ENV{.ID_ZFCP_BUS}="1" ++ ++# For SCSI disks ++KERNEL=="sd*[!0-9]", SUBSYSTEMS=="scsi", ENV{.ID_ZFCP_BUS}=="1", ENV{DEVTYPE}=="disk", SYMLINK+="disk/by-path/ccw-$attr{hba_id}-zfcp-$attr{wwpn}:$attr{fcp_lun}" ++ ++ ++# For partitions on a SCSI disk ++KERNEL=="sd*[0-9]", SUBSYSTEMS=="scsi", ENV{.ID_ZFCP_BUS}=="1", ENV{DEVTYPE}=="partition", SYMLINK+="disk/by-path/ccw-$attr{hba_id}-zfcp-$attr{wwpn}:$attr{fcp_lun}-part%n" ++ ++LABEL="zfcp_scsi_device_end" +diff --git a/rules.d/40-redhat.rules b/rules.d/40-redhat.rules +new file mode 100644 +index 0000000000..975d56fdfd +--- /dev/null ++++ b/rules.d/40-redhat.rules +@@ -0,0 +1,8 @@ ++# do not edit this file, it will be overwritten on update ++ ++# reload sysctl.conf / sysctl.conf.d settings when the bridge module is loaded ++ACTION=="add", SUBSYSTEM=="module", KERNEL=="bridge", RUN+="/usr/lib/systemd/systemd-sysctl --prefix=/proc/sys/net/bridge" ++ ++# load SCSI generic (sg) driver ++SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/sbin/modprobe -bv sg" ++SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_target", TEST!="[module/sg]", RUN+="/sbin/modprobe -bv sg" +diff --git a/rules.d/meson.build b/rules.d/meson.build +index 3040fae8a4..edf419f449 100644 +--- a/rules.d/meson.build ++++ b/rules.d/meson.build +@@ -5,7 +5,10 @@ install_data( + install_dir : udevrulesdir) + + rules = [ +- [files('60-autosuspend.rules', ++ [files('40-redhat-hotplug.rules', ++ '40-redhat-s390.rules', ++ '40-redhat.rules', ++ '60-autosuspend.rules', + '60-block.rules', + '60-cdrom_id.rules', + '60-dmi-id.rules', diff --git a/26494.patch b/26494.patch deleted file mode 100644 index 19bc67b..0000000 --- a/26494.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 6b25470ee28843a49c50442e9d8a98edc842ceca Mon Sep 17 00:00:00 2001 -From: Yu Watanabe -Date: Mon, 20 Feb 2023 12:00:30 +0900 -Subject: [PATCH] core/manager: run generators directly when we are in initrd - -Some initrd system write files at ourside of /run, /etc, or other -allowed places. This is a kind of workaround, but in most cases, such -sandboxing is not necessary as the filesystem is on ramfs when we are in -initrd. - -Fixes #26488. ---- - src/core/manager.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/core/manager.c b/src/core/manager.c -index 7b394794b0d4..306477c6e6c2 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -3822,8 +3822,8 @@ static int manager_run_generators(Manager *m) { - /* If we are the system manager, we fork and invoke the generators in a sanitized mount namespace. If - * we are the user manager, let's just execute the generators directly. We might not have the - * necessary privileges, and the system manager has already mounted /tmp/ and everything else for us. -- */ -- if (MANAGER_IS_USER(m)) { -+ * If we are in initrd, let's also execute the generators directly, as we are in ramfs. */ -+ if (MANAGER_IS_USER(m) || in_initrd()) { - r = manager_execute_generators(m, paths, /* remount_ro= */ false); - goto finish; - } diff --git a/changelog b/changelog index d19adec..cf520a3 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,552 @@ +* Tue Jun 25 2024 Zbigniew Jędrzejewski-Szmek - 256.1-4 +- Revert "Remove tmpfiles snippet for /home and /srv" + +* Tue Jun 18 2024 Zbigniew Jędrzejewski-Szmek - 256.1-3 +- Remove tmpfiles snippet for /home and /srv + +* Tue Jun 18 2024 Zbigniew Jędrzejewski-Szmek - 256.1-2 +- Soft-disable tmpfiles --purge until a good use case comes up + +* Tue Jun 18 2024 Zbigniew Jędrzejewski-Szmek - 256.1-1 +- Version 256.1 + +* Sun Jun 16 2024 U2FsdGVkX1 - 256-2 +- disable auto-features when bootstrapping + +* Tue Jun 11 2024 Zbigniew Jędrzejewski-Szmek - 256-1 +- Version 256 +- Only minor changes since -rc4. +- Hardward db is updated. + +* Fri Jun 07 2024 Zbigniew Jędrzejewski-Szmek - 256~rc4-2 +- Restore patch to drop varlink method call + +* Thu Jun 06 2024 Zbigniew Jędrzejewski-Szmek - 256~rc4-1 +- Version 256~rc4 + +* Thu Jun 06 2024 Zbigniew Jędrzejewski-Szmek - 256~rc3-6 +- Drop sysusers.d/basic.conf +- We rely on setup to provide all necessary groups. + +* Sun Jun 02 2024 Adam Williamson - 256~rc3-4 +- Partially backport PR #33016 to fix crashes in KDE 6.3.0 + +* Wed May 29 2024 Zbigniew Jędrzejewski-Szmek - 256~rc3-2 +- Add patch to work-around libbpf bug (rhbz#2280935) + +* Thu May 23 2024 Zbigniew Jędrzejewski-Szmek - 256~rc3-1 +- Version 256~rc3 + +* Wed May 15 2024 Zbigniew Jędrzejewski-Szmek - 256~rc2-6 +- Version 256~rc2 +- Various small changes all over +- A fix for rhbz#2273069 + +* Mon May 13 2024 Zbigniew Jędrzejewski-Szmek - 256~rc1^20240509git1781de1-4 +- Make %%release_override overridable from outside + +* Sat May 11 2024 Zbigniew Jędrzejewski-Szmek - 256~rc1^20240509git1781de1-2 +- Temporarily drop call to varlink method to avoid SELinux denial + +* Thu May 09 2024 Zbigniew Jędrzejewski-Szmek - 256~rc1^20240509git1781de1-1 +- Version 256-rc1^20240509git +- There were some fixes merged upstream, so let's try again before v256-rc2 + is released. + +* Thu May 02 2024 Jan Macku - 256~rc1-6 +- spec: `systemd-ukify` should depend on `systemd-boot` + +* Sat Apr 27 2024 Zbigniew Jędrzejewski-Szmek - 256~rc1-4 +- Add additional daemon-reexec for upgrades from old systemd versions + +* Sat Apr 27 2024 Zbigniew Jędrzejewski-Szmek - 256~rc1-3 +- Drop trigger scriptlets for upgrades from systemd < 247 + +* Sat Apr 27 2024 Zbigniew Jędrzejewski-Szmek - 256~rc1-2 +- Add Recommends for dlopen libraries + +* Fri Apr 26 2024 Zbigniew Jędrzejewski-Szmek - 256~rc1-1 +- Version 256~rc1 +- See https://raw.githubusercontent.com/systemd/systemd/v256-rc1/NEWS. Too + many changes to list or discuss here. + +* Wed Apr 24 2024 Zbigniew Jędrzejewski-Szmek - 255.5-3 +- Reexec systemd in %%postun + (https://github.com/systemd/systemd/issues/5096) +- The workaround dbus issues in upgrades from systemd-239 is dropped + +* Wed Apr 24 2024 Zbigniew Jędrzejewski-Szmek - 255.5-2 +- Drop workaround to run generators without sandboxing (requirement on + dracut >= 60 is added) + +* Wed Apr 24 2024 Zbigniew Jędrzejewski-Szmek - 255.5-1 +- Version 255.5 +- Many different small fixes: systemd itself, systemd-networkd, systemd- + journal-remote, compilation fixes for newer kernels and clang, systemd- + homed, systemd-resolved, ukify, systemd-tmpfiles, various other. + +* Wed Apr 10 2024 Zbigniew Jędrzejewski-Szmek - 255.4-16 +- Prepare for bin-sbin merge + +* Wed Mar 27 2024 Zbigniew Jędrzejewski-Szmek - 255.4-13 +- spec: add %%bcond to build without documentation + +* Fri Mar 22 2024 Zbigniew Jędrzejewski-Szmek - 255.4-11 +- Revert "Adjust release tag for riscv64" + +* Fri Mar 22 2024 David Abdurachmanov - 255.4-10 +- Enable bootloader stack for riscv64 + +* Fri Mar 22 2024 Zbigniew Jędrzejewski-Szmek - 255.4-9 +- Adjust release tag for riscv64 + +* Wed Mar 20 2024 David Tardon - 255.4-5 +- Make Requires(*) on systemd versioned + +* Wed Mar 20 2024 Zbigniew Jędrzejewski-Szmek - 255.4-4 +- Add R:systemd-udev to systemd-networkd subpackage (rhbz#2173425) + +* Mon Mar 18 2024 Daan De Meyer - 255.4-3 +- Add psutil dependency to systemd-tests + +* Thu Mar 07 2024 Daan De Meyer - 255.4-2 +- Build in developer mode when building for upstream + +* Fri Mar 01 2024 Zbigniew Jędrzejewski-Szmek - 255.4-1 +- Version 255.4 + +* Wed Feb 21 2024 Daan De Meyer - 255.3-13 +- Allow setting extra configure options using + %%meson_extra_configure_options + +* Wed Feb 21 2024 Daan De Meyer - 255.3-12 +- Apply pam patch when building for upstream + +* Wed Feb 21 2024 Daan De Meyer - 255.3-11 +- Use %%version_override/%%release_override to specify version/release by + users + +* Tue Feb 20 2024 Zbigniew Jędrzejewski-Szmek - 255.3-10 +- Let libkmod be a dlopen'ed dependency + +* Sat Feb 17 2024 Daan De Meyer - 255.3-9 +- Allow overriding the version and release using macros + +* Sat Feb 17 2024 Daan De Meyer - 255.3-8 +- Stop passing %%{release} to meson when building in upstream mode + +* Sat Feb 17 2024 Daan De Meyer - 255.3-7 +- Don't pass b_lto to meson + +* Thu Feb 15 2024 Daan De Meyer - 255.3-6 +- Update usage of meson-vcs-tag.sh to account for upstream changes + +* Sun Feb 11 2024 Daan De Meyer - 255.3-5 +- Replace inplace macro with upstream macro + +* Sun Feb 11 2024 Daan De Meyer - 255.3-4 +- Remove reconfiguration logic + +* Sun Feb 11 2024 Daan De Meyer - 255.3-3 +- Stop depending on filelists + +* Mon Jan 29 2024 Zbigniew Jędrzejewski-Szmek - 255.3-2 +- Conflicts/Provides with systemd-standalone-repart are moved udev + subpackage + +* Thu Jan 25 2024 Zbigniew Jędrzejewski-Szmek - 255.3-1 +- Version 255.3 +- A bunch of various fixes for memory and behaviour, in many different + components (bootctl, systemd, udev, systemd-networkd, systemd-homed, + systemd-logind, systemd-resolve, systemd-repart, systemd-analyze, + systemd-dissect, systemd-boot, pam modules, systemd-storagetm, systemd- + journal-remote, kernel-install) +- Improved detection of virtualization (Google Compute Engine, Apple Virt) +- Updates for shell completions and docs +- An update for hardware database + +* Tue Jan 23 2024 Zbigniew Jędrzejewski-Szmek - 255.2-3 +- Add temporary patch to adjust uid range classification (rhbz#2251843) + +* Tue Jan 09 2024 Zbigniew Jędrzejewski-Szmek - 255.2-1 +- Version 255.2 +- Fixes missing DNSSEC validity check in SOA DNS packets (CVE-2023-7008) +- systemd-resolved and systemd-networkd are restarted after an upgrade. + +* Tue Jan 09 2024 Zbigniew Jędrzejewski-Szmek - 255.1-2 +- Add missing %%postun scriptlets for systemd-{resolved,networkd} + (rhbz#2255718) + +* Sat Dec 16 2023 Zbigniew Jędrzejewski-Szmek - 255.1-1 +- Version 255.1 + +* Wed Dec 13 2023 Zbigniew Jędrzejewski-Szmek - 255-7 +- Do not remove modified config files + +* Fri Dec 08 2023 Zbigniew Jędrzejewski-Szmek - 255-4 +- Add /etc/ssh/sshd_config.d to the file list + +* Fri Dec 08 2023 Zbigniew Jędrzejewski-Szmek - 255-3 +- Move config files to /usr/lib/systemd (e.g. /etc/systemd/system.conf → + /usr/lib/systemd/systemd.conf). Both config file locations were already + supported, and the files installed in /etc/ were "empty" (i.e. they had + only comments and section headers). The move does not change the + configuration, but just makes /etc more empty by default. See + https://github.com/systemd/systemd/commit/6495361c7d for more discussion + and details. + +* Fri Dec 08 2023 Zbigniew Jędrzejewski-Szmek - 255-2 +- Move systemd-bsod is to udev subpackage + +* Wed Dec 06 2023 Zbigniew Jędrzejewski-Szmek - 255-1 +- Version 255 +- Just a few bugfixes since 255-rc4: seccomp filters, logging, + documentation, systemd-repart +- Includes a hardware database update. + +* Sat Dec 02 2023 Zbigniew Jędrzejewski-Szmek - 255~rc4-1 +- Version 255~rc4 + +* Fri Dec 01 2023 Adam Williamson - 255~rc3-4 +- Backport PRs #30170 and #30266 to fix BPF denials (RHBZ #2250930) + +* Wed Nov 29 2023 Adam Williamson - 255~rc3-3 +- Backport #30197 to fix vconsole startup (RHBZ #2251394) + +* Thu Nov 23 2023 Peter Robinson - 255~rc3-2 +- de-dupe LICENSE.LGPL2.1 in licenses + +* Wed Nov 22 2023 Zbigniew Jędrzejewski-Szmek - 255~rc3-1 +- Version 255~rc3 + +* Wed Nov 22 2023 Zbigniew Jędrzejewski-Szmek - 255~rc2-2 +- Add systemd-networkd-defaults subpackage + +* Wed Nov 15 2023 Zbigniew Jędrzejewski-Szmek - 255~rc2-1 +- Version 255~rc2 +- See See https://raw.githubusercontent.com/systemd/systemd/v255-rc2/NEWS + +* Wed Nov 08 2023 Zbigniew Jędrzejewski-Szmek +- Add Conflicts with older dracut which doesn't have required patches + +* Tue Nov 07 2023 Zbigniew Jędrzejewski-Szmek - 255~rc1-3 +- Also build systemd-vmspawn + +* Tue Nov 07 2023 Zbigniew Jędrzejewski-Szmek - 255~rc1-2 +- Move oomd to systemd-udev + +* Tue Nov 07 2023 Zbigniew Jędrzejewski-Szmek - 255~rc1-1 +- Version 255~rc1 +- See https://raw.githubusercontent.com/systemd/systemd/v255-rc1/NEWS +- All the files and services related to pcrs are moved to -udev subpackage. + This includes the new systemd-pcrlock binary. + +* Wed Sep 27 2023 Zbigniew Jędrzejewski-Szmek - 254.5-2 +- Pull in more patches for keyboard layout matching + +* Wed Sep 27 2023 Zbigniew Jędrzejewski-Szmek - 254.5-1 +- Version 254.5 +- Resolves rhbz#29216. + +* Wed Sep 27 2023 Zbigniew Jędrzejewski-Szmek - 254.2-14 +- Pull in patches to add PollLimit setting + +* Wed Sep 27 2023 Zbigniew Jędrzejewski-Szmek - 254.2-13 +- Change versioned Conflicts to rich Requires (rhbz#2240828) + +* Tue Sep 19 2023 Adam Williamson - 254.2-12 +- Backport PR #29215 to improve keyboard layout matching + +* Mon Sep 18 2023 Zbigniew Jędrzejewski-Szmek - 254.2-7 +- Fix creation of installkernel symlink + +* Fri Sep 15 2023 Zbigniew Jędrzejewski-Szmek - 254.2-6 +- Provide /usr/sbin/installkernel (rhbz#2239008). + +* Thu Sep 07 2023 Zbigniew Jędrzejewski-Szmek - 254.2-2 +- Make inter-subpackage dependencies archful + +* Thu Sep 07 2023 Zbigniew Jędrzejewski-Szmek - 254.2-1 +- Version 254.2 +- A bunch of fixes in various areas: manager, coredump, sysupdate, + hibernation, journal. +- Should fix rhbz#2234653. + +* Wed Sep 06 2023 Zbigniew Jędrzejewski-Szmek - 254.1-8 +- Actually reload user managers and backport unit reload macros + +* Sat Sep 02 2023 Daan De Meyer - 254.1-7 +- ukify: Drop obsolete dependency on objcopy + +* Sat Sep 02 2023 Daan De Meyer - 254.1-6 +- Add missing ukify dependency on python-cryptography + +* Sun Aug 20 2023 Yu Watanabe - 254.1-5 +- spec: also explicitly enable/disable ukify support + +* Sun Aug 13 2023 Yu Watanabe - 254.1-4 +- spec: explicitly enable/disable xen support + +* Wed Aug 09 2023 Zbigniew Jędrzejewski-Szmek - 254.1-1 +- Version 254.1 (rhbz#2228089, possibly partial fix for rhbz#2229524) + +* Wed Aug 09 2023 Zbigniew Jędrzejewski-Szmek - 254-5 +- Do daemon-reexec of user managers after package upgrade + +* Mon Aug 07 2023 Daan De Meyer - 254-4 +- Revert "Supress errors on selinux systems" + +* Thu Aug 03 2023 Daan De Meyer - 254-3 +- Add a custom %%clean implementation + +* Thu Aug 03 2023 Daan De Meyer - 254-2 +- Update libbpf soname + +* Fri Jul 28 2023 Zbigniew Jędrzejewski-Szmek - 254-1 +- Version 254 (just a bunch of bugfixes, mostly for unusual architectures, + since rc3) +- rhbz#2226908 +- See https://raw.githubusercontent.com/systemd/systemd/v254-rc1/NEWS for + the full changeset. + +* Mon Jul 24 2023 Zbigniew Jędrzejewski-Szmek - 254~rc3-1 +- Version 254~rc3 +- A bunch of fixes, e.g. rhbz#2223795. Also a bunch of reverts of commits + which were found to cause problems. + +* Sat Jul 22 2023 Fedora Release Engineering - 254~rc2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Jul 17 2023 Zbigniew Jędrzejewski-Szmek - 254~rc2-4 +- Fix scriptlets for various services and remote-cryptsetup.target + (rhbz#2217997) + +* Sun Jul 16 2023 Stewart Smith - 254~rc2-3 +- Convert existing bcond_with[out] to plain bcond + +* Sun Jul 16 2023 Stewart Smith - 254~rc2-2 +- Move gnutls, zlib, bzip2, lz4, xz, and zstd to bconds + +* Sat Jul 15 2023 Zbigniew Jędrzejewski-Szmek - 254~rc2-1 +- Version 254~rc2 +- Various bug fixes, in particular kernel-install should again work without + /proc. + +* Thu Jul 13 2023 Zbigniew Jędrzejewski-Szmek - 254~rc1-1 +- Version 254~rc1 +- Way too many changes to list. See + https://raw.githubusercontent.com/systemd/systemd/v254-rc1/NEWS +- Fix regression in socket activation of services (rhbz#2213660). + +* Mon Jun 26 2023 Yaakov Selkowitz - 253.5-7 +- Use rpm sysuser provide generation on RHEL >= 10 + +* Thu Jun 22 2023 Panu Matilainen - 253.5-6 +- Use rpm's sysuser provide generation on Fedora >= 39 + +* Wed Jun 21 2023 Anita Zhang - 253.5-5 +- fix typos in standalone package provides + +* Mon Jun 05 2023 Yaakov Selkowitz - 253.5-4 +- Avoid pillow and pyflakes in RHEL builds + +* Mon Jun 05 2023 Yaakov Selkowitz - 253.5-3 +- Avoid qrencode dependency in RHEL builds + +* Fri Jun 02 2023 Alessandro Astone - 253.5-2 +- Increase vm.max_map_count + +* Thu Jun 01 2023 Zbigniew Jędrzejewski-Szmek - 253.5-1 +- Version 253.5 + +* Thu May 11 2023 Zbigniew Jędrzejewski-Szmek - 253.4-1 +- Version 253.4 + +* Thu May 11 2023 Michael Catanzaro - 253.2-6 +- Raise ManagedOOMMemoryPressureLimit from 50%% to 80%% + +* Tue May 09 2023 Zbigniew Jędrzejewski-Szmek - 253.2-5 +- Add forgotten Provides and Conflicts for standalones + +* Wed Apr 26 2023 Zbigniew Jędrzejewski-Szmek - 253.2-4 +- sysusers.generate-pre.sh: properly escape quotes in description strings + (rhbz#2104141) + +* Wed Apr 26 2023 Zbigniew Jędrzejewski-Szmek - 253.2-3 +- sysusers.generate-pre.sh: fix indentation in generated scripts + +* Wed Mar 29 2023 Zbigniew Jędrzejewski-Szmek - 253.2-1 +- Version 253.2 + +* Wed Mar 29 2023 Zbigniew Jędrzejewski-Szmek - 253.1-7 +- oomd: stop monitoring user-*.slice slices (rhbz#2177722) + +* Thu Mar 09 2023 Zbigniew Jędrzejewski-Szmek - 253.1-6 +- Move /usr/lib/systemd/boot/ to systemd-boot-unsigned subpackage + +* Fri Mar 03 2023 Zbigniew Jędrzejewski-Szmek - 253.1-2 +- Fix build with gnu-efi-3.0.11-13 + +* Fri Mar 03 2023 Zbigniew Jędrzejewski-Szmek - 253.1-1 +- Version 253.1 +- Fixes rhbz#2148464 + +* Wed Mar 01 2023 Zbigniew Jędrzejewski-Szmek - 253-7 +- Move man pages for sd-boot into systemd-boot-unsigned + +* Wed Feb 22 2023 Zbigniew Jędrzejewski-Szmek - 253-6 +- Set TimeoutStopFailureMode=abort for services (see + https://fedoraproject.org/wiki/Changes/Shorter_Shutdown_Timer) + +* Tue Feb 21 2023 Dusty Mabe - 253-5 +- remove group write permission from 98-default-mac-none.link + +* Tue Feb 21 2023 Dusty Mabe - 253-4 +- fix comment instructions for 98-default-mac-none.link + +* Tue Feb 21 2023 Zbigniew Jędrzejewski-Szmek - 253-3 +- Backport patch for container compatibility (rhbz#2165004) + +* Tue Feb 21 2023 Zbigniew Jędrzejewski-Szmek - 253-2 +- Add workaround patch for dracut generator issue (rhbz#2164404) + +* Mon Feb 20 2023 Zbigniew Jędrzejewski-Szmek - 253-1 +- Version 253 (mostly some documentation fixes since -rc3). + +* Fri Feb 10 2023 Zbigniew Jędrzejewski-Szmek - 253~rc3-1 +- Version 253-rc3 +- A bunch of bugfixes for regressions, some documentation and bug fixes + too. +- Really fix rhbz#2165692 (previous build carried an unapplied patch). + +* Thu Feb 09 2023 Zbigniew Jędrzejewski-Szmek - 253~rc2-7 +- Revert patch switch causes problems for 'systemctl isolate' + (rhbz#2165692) + +* Wed Feb 08 2023 Zbigniew Jędrzejewski-Szmek - 253~rc2-6 +- Disable systemd-boot-update.service in presets + +* Wed Feb 08 2023 Zbigniew Jędrzejewski-Szmek - 253~rc2-4 +- Update License to SPDX + +* Mon Feb 06 2023 Thomas Haller - 253~rc2-3 +- add "98-default-mac-none.link" to keep default MAC address of + bridge/bond/team + +* Thu Feb 02 2023 Michael Catanzaro - 253~rc2-2 +- Shorten shutdown timeout to 45 s + +* Thu Feb 02 2023 Zbigniew Jędrzejewski-Szmek - 253~rc2-1 +- Version 253~rc2 +- Sysusers fixup (rhbz#2156900) + other small changes + +* Thu Feb 02 2023 Yaakov Selkowitz - 253~rc1-5 +- Build with xen only on Fedora + +* Thu Jan 26 2023 Zbigniew Jędrzejewski-Szmek - 253~rc1-3 +- Reenable systemd-journald-audit.socket after upgrades (rhbz#2164594) + +* Wed Jan 25 2023 Zbigniew Jędrzejewski-Szmek - 253~rc1-2 +- Add Requires on Python modules to systemd-ukify and Recommends for + libp11-kit + +* Tue Jan 24 2023 Zbigniew Jędrzejewski-Szmek - 253~rc1-1 +- Version 253~rc1 +- See https://raw.githubusercontent.com/systemd/systemd/v253-rc1/NEWS +- New subpackages: systemd-repart-standalone, systemd-shutdown-standalone, + and systemd-ukify. + +* Sun Jan 22 2023 Zbigniew Jędrzejewski-Szmek - 252.4-4 +- Backport patches to fix issues gcc-13 and -D_FORTIFY_SOURCE=3 + +* Sat Jan 21 2023 Fedora Release Engineering - 252.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jan 05 2023 Daan De Meyer - 252.4-2 +- Add python3 to BuildRequires + +* Tue Dec 20 2022 Zbigniew Jędrzejewski-Szmek - 252.4-1 +- Version 252.4 +- Fixes a few different issues (systemd-timesyncd connectivity problems, + broken emoji output on the console, crashes in pid1 unit dependency + logic) +- CVE-2022-4415: systemd: coredump not respecting fs.suid_dumpable kernel + setting + +* Sat Dec 17 2022 Zbigniew Jędrzejewski-Szmek - 252.3-4 +- boot: add Provides:systemd-boot(isa) + +* Wed Dec 14 2022 Zbigniew Jędrzejewski-Szmek - 252.3-2 +- Use upstream pam systemd-auth file with a patch, add pam_keyinit + +* Thu Dec 08 2022 Zbigniew Jędrzejewski-Szmek - 252.3-1 +- Version 252.3 (rhbz#2136916, rhbz#2083900) + +* Fri Dec 02 2022 Zbigniew Jędrzejewski-Szmek - 252.2-2 +- Split out systemd-boot-unsigned package + +* Thu Nov 24 2022 Zbigniew Jędrzejewski-Szmek - 252.2-1 +- Version 252.2 +- Latest batch of bugfixes (rhbz#2137631) + +* Thu Nov 24 2022 Martin Osvald - 252.1-3 +- Support user:group notation by sysusers.generate-pre.sh script + +* Tue Nov 08 2022 Zbigniew Jędrzejewski-Szmek - 252.1-1 +- Version 252.1 (just some small fixes). + +* Mon Oct 31 2022 Zbigniew Jędrzejewski-Szmek - 252-1 +- Version 252 + +* Tue Oct 25 2022 Zbigniew Jędrzejewski-Szmek - 252~rc3-1 +- Version 252-rc3 (#2135778) + +* Tue Oct 18 2022 Zbigniew Jędrzejewski-Szmek - 252~rc2-28 +- Version 252-rc2 (#2134741, #2133792) + +* Fri Oct 14 2022 Zbigniew Jędrzejewski-Szmek - 252~rc1-31 +- Fix upgrade detection in %%posttrans scriptlet (rhbz#2115094) + +* Sun Oct 09 2022 Zbigniew Jędrzejewski-Szmek - 252~rc1-30 +- Fix indentation in %%sysusers_create_compat macro (rhbz#2132835) + +* Sun Oct 09 2022 Zbigniew Jędrzejewski-Szmek - 252~rc1-29 +- Correctly move systemd-measure to systemd-udev subpackage + +* Fri Oct 07 2022 Zbigniew Jędrzejewski-Szmek - 252~rc1-28 +- Version 252-rc1 (for details see + https://raw.githubusercontent.com/systemd/systemd/v252-rc1/NEWS) + +* Sat Oct 01 2022 Zbigniew Jędrzejewski-Szmek - 251.5-29 +- Fix permissions on %%ghost files (rhbz#2122889) + +* Sat Oct 01 2022 Zbigniew Jędrzejewski-Szmek - 251.5-28 +- Version 251.5 (rhbz#2129343, rhbz#2121106, rhbz#2130188) + +* Fri Sep 30 2022 Yu Watanabe - 251.4-41 +- Replace patch for test-mountpoint-util + +* Fri Sep 30 2022 Yu Watanabe - 251.4-40 +- patch: fix regression in bfq patch + +* Fri Sep 30 2022 Luca BRUNO - 251.4-39 +- sysusers/generate: bridge 'm' entries to usermod + +* Fri Sep 30 2022 Anita Zhang - 251.4-38 +- Update systemd-oomd defaults to friendlier values +- Remove swap policy. Default amount of swap (8GB?) is a lot lower than + what we use internally with the swap policy. Which frequently leads to + GNOME getting killed (e.g. + https://bugzilla.redhat.com/show_bug.cgi?id=1941170, and other BZs not + linked here). Internally we use 0.5x-1x size of physical memory for swap + via swapfiles (this will be documented in systemd upstream). In simple + cases of using more memory than is available (but without memory + pressure), the Kernel OOM killer can handle killing the offending + process. + +* Thu Sep 29 2022 Zbigniew Jędrzejewski-Szmek - 251.4-37 +- Make systemd-devel conditionally pull in systemd-rpm-macros + * Fri Aug 19 2022 Neal Gompa - 251.4-53 - Set compile-time fallback hostname to "localhost" https://fedoraproject.org/wiki/Changes/FallbackHostname @@ -2461,4 +3010,3 @@ Resolves: rhbz#974132 * Tue Jun 01 2010 Rahul Sundaram - 0-0.0.git2010-06-02 - Initial spec (adopted from Kay Sievers) - diff --git a/sources b/sources index 6ceb957..c70c4d7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (systemd-256.1.tar.gz) = 5441f634f43b726c13fe57d1ba0030f1b91427d7c2d4f4f32e4add8ff93aeb5139e9337422653df3b897c241e0a8760dafcd441dc622d1e2c1230bbe27dd1a1c +SHA512 (systemd-256.tar.gz) = 5441f634f43b726c13fe57d1ba0030f1b91427d7c2d4f4f32e4add8ff93aeb5139e9337422653df3b897c241e0a8760dafcd441dc622d1e2c1230bbe27dd1a1c diff --git a/split-files.py b/split-files.py index 3f66ada..7bdd2ed 100644 --- a/split-files.py +++ b/split-files.py @@ -65,16 +65,9 @@ outputs = {suffix: open(f'.file-list-{suffix}', 'w') 'rpm-macros', 'devel', 'container', - 'networkd', - 'networkd-defaults', - 'oomd-defaults', + 'oomd', 'remote', 'resolve', - 'tests', - 'standalone-repart', - 'standalone-tmpfiles', - 'standalone-sysusers', - 'standalone-shutdown', 'main', )} @@ -102,24 +95,10 @@ for file in files(buildroot): ''', n, re.X): continue - if n.endswith('.standalone'): - if 'repart' in n: - o = outputs['standalone-repart'] - elif 'tmpfiles' in n: - o = outputs['standalone-tmpfiles'] - elif 'sysusers' in n: - o = outputs['standalone-sysusers'] - elif 'shutdown' in n: - o = outputs['standalone-shutdown'] - else: - assert False, 'Found .standalone not belonging to known packages' - - elif '/security/pam_' in n or '/man8/pam_' in n: + if '/security/pam_' in n or '/man8/pam_' in n: o = outputs['pam'] elif '/rpm/' in n: o = outputs['rpm-macros'] - elif '/usr/lib/systemd/tests' in n: - o = outputs['tests'] elif 'ukify' in n: o = outputs['ukify'] elif re.search(r'/libsystemd-(shared|core)-.*\.so$', n): @@ -148,28 +127,17 @@ for file in files(buildroot): ''', n, re.X): o = outputs['container'] - # .network.example files go into systemd-networkd, and the matching files - # without .example go into systemd-networkd-defaults - elif (re.search(r'''/usr/lib/systemd/network/.*\.network$''', n) - and os.path.exists(f'./{n}.example')): - o = outputs['networkd-defaults'] - - elif re.search(r'''/usr/lib/systemd/network/.*\.network| - networkd| - networkctl| - org.freedesktop.network1| - sysusers\.d/systemd-network.conf| - tmpfiles\.d/systemd-network.conf| - systemd\.network| - systemd\.netdev - ''', n, re.X): - o = outputs['networkd'] - elif '.so.' in n: o = outputs['libs'] - elif re.search(r'10-oomd-.*defaults.conf|lib/systemd/oomd.conf.d', n, re.X): - o = outputs['oomd-defaults'] + elif re.search(r'''10-oomd-.*defaults\.conf| + oomd\.conf| + oomctl| + org.freedesktop.oom1| + systemd-oomd| + systemd-oom\.conf + ''', n, re.X): + o = outputs['oomd'] elif re.search(r'''udev(?!\.pc)| hwdb| diff --git a/systemd.spec b/systemd.spec index 1fdfc20..8550266 100644 --- a/systemd.spec +++ b/systemd.spec @@ -34,7 +34,7 @@ # When bootstrap, libcryptsetup is disabled # but auto-features causes many options to be turned on -# that depend on libcryptsetup (e.g. libcryptsetup-plugins, homed) +# that depend on libcryptsetup (e.g. libcryptsetup-plugins) %if %{with bootstrap} %global __meson_auto_features disabled %endif @@ -47,8 +47,8 @@ Name: systemd Url: https://systemd.io # Allow users to specify the version and release when building the rpm by # setting the %%version_override and %%release_override macros. -Version: %{?version_override}%{!?version_override:256.1} -Release: %autorelease +Version: %{?version_override}%{!?version_override:256} +Release: 1%{?dist} %global stable %(c="%version"; [ "$c" = "${c#*.*}" ]; echo $?) @@ -105,32 +105,19 @@ GIT_DIR=../../src/systemd/.git git diffab -M v233..master@{2017-06-15} -- hwdb/[ # than in the next section. Packit CI will drop any patches in this range before # applying upstream pull requests. -%if %{without upstream} -# Drop varlink method call until selinux policy is updated, -# see https://bodhi.fedoraproject.org/updates/FEDORA-2024-d5c99f5063, -# https://bugzilla.redhat.com/show_bug.cgi?id=2279923. -# Reverts https://github.com/systemd/systemd/commit/5b44c81ff868a4d1b78a74e4770f7a8b2f1d0f91. -Patch0001: 0001-Revert-machined-add-varlink-interface-for-registerin.patch +# RHEL-specific +Patch0001: 0001-ci-update-workflows-to-run-on-source-git-setup.patch +Patch0002: 0002-ci-setup-source-git-automation.patch +Patch0003: 0003-ci-deploy-systemd-man-to-GitHub-Pages.patch +Patch0004: 0004-ci-reconfigure-Packit-for-RHEL-10.patch +Patch0005: 0005-ci-allow-to-pass-parameters-together-with-rhel-only-.patch +Patch0006: 0006-journal-again-create-user-journals-for-users-with-hi.patch +Patch0007: 0007-tmpfiles-make-purge-hard-to-mis-use.patch +Patch0008: 0008-fedora-use-system-auth-in-pam-systemd-user.patch +Patch0009: 0009-net-naming-scheme-start-rhel10-naming-and-include-rh.patch +Patch0010: 0010-rules-copy-40-redhat.rules-from-RHEL-9.patch -%if 0%{?fedora} < 41 -# Work-around for dracut issue: run generators directly when we are in initrd -# https://bugzilla.redhat.com/show_bug.cgi?id=2164404 -# Drop when dracut-060 is available. -Patch0010: https://github.com/systemd/systemd/pull/26494.patch -%endif - -# Those are downstream-only patches, but we don't want them in packit builds: -# https://bugzilla.redhat.com/show_bug.cgi?id=1738828 -Patch0490: use-bfq-scheduler.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=2251843 -Patch0491: https://github.com/systemd/systemd/pull/30846.patch - -# Soft-disable tmpfiles --purge until a good use case comes up. -Patch0492: 0001-tmpfiles-make-purge-hard-to-mis-use.patch -%endif - -# Adjust upstream config to use our shared stack -Patch0499: fedora-use-system-auth-in-pam-systemd-user.patch +# Downstream-only patches (9000–9999) %ifarch %{ix86} x86_64 aarch64 riscv64 %global want_bootloader 1 @@ -248,7 +235,6 @@ Requires: dbus >= 1.9.18 Requires: %{name}-pam%{_isa} = %{version}-%{release} Requires(meta): (%{name}-rpm-macros = %{version}-%{release} if rpm-build) Requires: %{name}-libs%{_isa} = %{version}-%{release} -%{?fedora:Recommends: %{name}-networkd = %{version}-%{release}} %{?fedora:Recommends: %{name}-resolved = %{version}-%{release}} Recommends: diffutils Requires: (util-linux-core or util-linux) @@ -286,26 +272,10 @@ Conflicts: dracut < 059-16 Obsoletes: timedatex < 0.6-3 Provides: timedatex = 0.6-3 -Conflicts: %{name}-standalone-tmpfiles < %{version}-%{release}^ Provides: %{name}-tmpfiles = %{version}-%{release} -Conflicts: %{name}-standalone-sysusers < %{version}-%{release}^ Provides: %{name}-sysusers = %{version}-%{release} -Conflicts: %{name}-standalone-shutdown < %{version}-%{release}^ Provides: %{name}-shutdown = %{version}-%{release} -%if "%{_sbindir}" == "%{_bindir}" -# Compat symlinks for Requires in other packages. -# We rely on filesystem to create the symlinks for us. -Requires: filesystem(unmerged-sbin-symlinks) -Provides: /usr/sbin/halt -Provides: /usr/sbin/init -Provides: /usr/sbin/poweroff -Provides: /usr/sbin/reboot -Provides: /usr/sbin/runlevel -Provides: /usr/sbin/shutdown -Provides: /usr/sbin/telinit -%endif - # Recommends to replace normal Requires deps for stuff that is dlopen()ed Recommends: libidn2.so.0%{?elf_suffix} Recommends: libidn2.so.0(IDN2_0.0.0)%{?elf_bits} @@ -452,16 +422,8 @@ Obsoletes: u2f-hidraw-policy < 1.0.2-40 # self-obsoletes to install both packages after split of systemd-boot Obsoletes: systemd-udev < 252.2^ -Conflicts: %{name}-standalone-repart < %{version}-%{release}^ Provides: %{name}-repart = %{version}-%{release} -%if "%{_sbindir}" == "%{_bindir}" -# Compat symlinks for Requires in other packages. -# We rely on filesystem to create the symlinks for us. -Requires: filesystem(unmerged-sbin-symlinks) -Provides: /usr/sbin/udevadm -%endif - %description udev This package contains systemd-udev and the rules and hardware database needed to manage device nodes. This package is necessary on physical machines and in @@ -557,30 +519,6 @@ to write journal files from serialized journal contents. This package contains systemd-journal-gatewayd, systemd-journal-remote, and systemd-journal-upload. -%package networkd -Summary: System daemon that manages network configurations -Requires: %{name}%{_isa} = %{version}-%{release} -%{?fedora:Recommends: %{name}-udev = %{version}-%{release}} -License: LGPL-2.1-or-later -# https://src.fedoraproject.org/rpms/systemd/pull-request/34 -Obsoletes: systemd < 246.6-2 - -%description networkd -systemd-networkd is a system service that manages networks. It detects and -configures network devices as they appear, as well as creating virtual network -devices. - -%package networkd-defaults -Summary: Configure network interfaces with networkd by default -Requires: %{name}-networkd = %{version}-%{release} -License: MIT-0 -BuildArch: noarch - -%description networkd-defaults -This package contains a set of config files for systemd-networkd that cause it -to configure network interfaces by default. Note that systemd-networkd needs to -enabled for this to have any effect. - %package resolved Summary: Network Name Resolution manager Requires: %{name}%{_isa} = %{version}-%{release} @@ -594,69 +532,16 @@ systemd-resolved is a system service that provides network name resolution to local applications. It implements a caching and validating DNS/DNSSEC stub resolver, as well as an LLMNR and MulticastDNS resolver and responder. -%package oomd-defaults -Summary: Configuration files for systemd-oomd +%package oomd +Summary: A userspace out-of-memory (OOM) killer Requires: %{name}-udev = %{version}-%{release} +Provides: %{name}-oomd-defaults = %{version}-%{release} License: LGPL-2.1-or-later -BuildArch: noarch -%description oomd-defaults -A set of drop-in files for systemd units to enable action from systemd-oomd, -a userspace out-of-memory (OOM) killer. - -%package tests -Summary: Internal unit tests for systemd -Requires: %{name}%{_isa} = %{version}-%{release} -# This dependency is provided transitively. Also add it explicitly to -# appease rpminspect, https://github.com/rpminspect/rpminspect/issues/1231: -Requires: %{name}-libs%{_isa} = %{version}-%{release} -Requires: python3dist(psutil) - -License: LGPL-2.1-or-later - -%description tests -"Installed tests" that are usually run as part of the build system. They can be -useful to test systemd internals. - -%package standalone-repart -Summary: Standalone systemd-repart binary for use on systems without systemd -Provides: %{name}-repart = %{version}-%{release} -RemovePathPostfixes: .standalone - -%description standalone-repart -Standalone systemd-repart binary with no dependencies on the systemd-shared library or -other libraries from systemd-libs. This package conflicts with the main systemd -package and is meant for use on systems without systemd. - -%package standalone-tmpfiles -Summary: Standalone systemd-tmpfiles binary for use on systems without systemd -Provides: %{name}-tmpfiles = %{version}-%{release} -RemovePathPostfixes: .standalone - -%description standalone-tmpfiles -Standalone systemd-tmpfiles binary with no dependencies on the systemd-shared library or -other libraries from systemd-libs. This package conflicts with the main systemd -package and is meant for use on systems without systemd. - -%package standalone-sysusers -Summary: Standalone systemd-sysusers binary for use on systems without systemd -Provides: %{name}-sysusers = %{version}-%{release} -RemovePathPostfixes: .standalone - -%description standalone-sysusers -Standalone systemd-sysusers binary with no dependencies on the systemd-shared library or -other libraries from systemd-libs. This package conflicts with the main systemd -package and is meant for use on systems without systemd. - -%package standalone-shutdown -Summary: Standalone systemd-shutdown binary for use on systems without systemd -Provides: %{name}-shutdown = %{version}-%{release} -RemovePathPostfixes: .standalone - -%description standalone-shutdown -Standalone systemd-shutdown binary with no dependencies on the systemd-shared library or -other libraries from systemd-libs. This package conflicts with the main systemd -package and is meant for use in exitrds. +%description oomd +systemd-oomd is a system service that uses cgroups-v2 and pressure stall +information (PSI) to monitor and take action on processes before an OOM +occurs in kernel space. %prep %autosetup -n %{?commit:%{name}-%{commit}}%{!?commit:%{name}-%{version_no_tilde}} -p1 @@ -669,7 +554,6 @@ CONFIGURE_OPTS=( -Dmode=%[%{with upstream}?"developer":"release"] -Dsysvinit-path=/etc/rc.d/init.d -Drc-local=/etc/rc.d/rc.local - -Dntp-servers='0.%{ntpvendor}.pool.ntp.org 1.%{ntpvendor}.pool.ntp.org 2.%{ntpvendor}.pool.ntp.org 3.%{ntpvendor}.pool.ntp.org' -Ddns-servers= -Duser-path=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin -Dservice-watchdog= @@ -703,10 +587,7 @@ CONFIGURE_OPTS=( -Drepart=enabled -Dpwquality=enabled -Dqrencode=%[%{defined rhel}?"disabled":"enabled"] - -Dgnutls=%[%{with gnutls}?"enabled":"disabled"] -Dmicrohttpd=enabled - -Dvmspawn=enabled - -Dlibidn2=enabled -Dlibiptc=disabled -Dlibcurl=enabled -Dlibfido2=enabled @@ -716,7 +597,6 @@ CONFIGURE_OPTS=( -Dtpm2=enabled -Dhwdb=true -Dsysusers=true - -Dstandalone-binaries=true -Ddefault-kill-user-processes=false -Dfirst-boot-full-preset=true -Ddefault-network=true @@ -736,12 +616,8 @@ CONFIGURE_OPTS=( -Ddefault-dns-over-tls=no # https://bugzilla.redhat.com/show_bug.cgi?id=1867830 -Ddefault-mdns=no - -Ddefault-llmnr=resolve # https://bugzilla.redhat.com/show_bug.cgi?id=2028169 -Dstatus-unit-format-default=combined - # https://fedoraproject.org/wiki/Changes/Shorter_Shutdown_Timer - -Ddefault-timeout-sec=45 - -Ddefault-user-timeout-sec=45 -Dconfigfiledir=/usr/lib -Doomd=true @@ -774,6 +650,33 @@ CONFIGURE_OPTS=( # here for https://github.com/systemd/systemd/pull/24175. -Dbootloader=%[%{?want_bootloader}?"enabled":"disabled"] -Dukify=%[%{?want_bootloader}?"enabled":"disabled"] + + # RHEL10 bootstrapping + -Dstandalone-binaries=false + -Dnscd=false + -Dportabled=false + -Dmountfsd=false + -Dhomed=disabled + -Dnetworkd=false + -Dtimesyncd=false + -Dcreate-log-dirs=false + -Dnsresourced=false + -Dfirstboot=false + -Dvmspawn=disabled + -Dstoragetm=false + -Dhtml=disabled + -Ddefault-net-naming-scheme=rhel-10.0 + -Ddefault-llmnr=no + -Ddns-over-tls=openssl + -Dntp-servers= + -Dsupport-url=https://access.redhat.com/support + -Dwww-target=https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10 + -Dlibidn=disabled + -Dgnutls=disabled + -Ddefault-compression=zstd + # https://issues.redhat.com/browse/RHEL-16810 + -Dsbat-distro-url=mailto:secalert@redhat.com + -Dsshconfdir=no ) %if %{without lto} @@ -797,10 +700,8 @@ sed -r 's|/system/|/user/|g' %{SOURCE16} >10-timeout-abort.conf.user %meson_install # udev links -%if "%{_sbindir}" != "%{_bindir}" mkdir -p %{buildroot}/%{_sbindir} ln -sf ../bin/udevadm %{buildroot}%{_sbindir}/udevadm -%endif # Compatiblity and documentation files touch %{buildroot}/etc/crypttab @@ -809,18 +710,15 @@ chmod 600 %{buildroot}/etc/crypttab # Config files that were moved under /usr. # We need to %ghost them so that they are not removed on upgrades. touch %{buildroot}/etc/systemd/coredump.conf \ - %{buildroot}/etc/systemd/homed.conf \ %{buildroot}/etc/systemd/journald.conf \ %{buildroot}/etc/systemd/journal-remote.conf \ %{buildroot}/etc/systemd/journal-upload.conf \ %{buildroot}/etc/systemd/logind.conf \ - %{buildroot}/etc/systemd/networkd.conf \ %{buildroot}/etc/systemd/oomd.conf \ %{buildroot}/etc/systemd/pstore.conf \ %{buildroot}/etc/systemd/resolved.conf \ %{buildroot}/etc/systemd/sleep.conf \ %{buildroot}/etc/systemd/system.conf \ - %{buildroot}/etc/systemd/timesyncd.conf \ %{buildroot}/etc/systemd/user.conf \ %{buildroot}/etc/udev/udev.conf \ %{buildroot}/etc/udev/iocost.conf @@ -874,13 +772,11 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/private mkdir -p %{buildroot}%{_localstatedir}/log/private mkdir -p %{buildroot}%{_localstatedir}/cache/private mkdir -p %{buildroot}%{_localstatedir}/lib/private/systemd/journal-upload -mkdir -p %{buildroot}%{_localstatedir}/lib/systemd/timesync ln -s ../private/systemd/journal-upload %{buildroot}%{_localstatedir}/lib/systemd/journal-upload mkdir -p %{buildroot}%{_localstatedir}/log/journal touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin touch %{buildroot}%{_localstatedir}/lib/systemd/random-seed -touch %{buildroot}%{_localstatedir}/lib/systemd/timesync/clock touch %{buildroot}%{_localstatedir}/lib/private/systemd/journal-upload/state # Install yum protection fragment @@ -1005,20 +901,12 @@ systemctl daemon-reexec || : # a different package version. systemctl --no-reload preset systemd-journald-audit.socket &>/dev/null || : -%global udev_services systemd-udev{d,-settle,-trigger}.service systemd-udevd-{control,kernel}.socket systemd-homed.service %{?want_bootloader:systemd-boot-update.service} systemd-oomd.service systemd-portabled.service systemd-pstore.service systemd-timesyncd.service remote-cryptsetup.target +%global udev_services systemd-udev{d,-settle,-trigger}.service systemd-udevd-{control,kernel}.socket %{?want_bootloader:systemd-boot-update.service} systemd-pstore.service remote-cryptsetup.target %post udev # Move old stuff around in /var/lib mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/random-seed &>/dev/null mv %{_localstatedir}/lib/backlight %{_localstatedir}/lib/systemd/backlight &>/dev/null -if [ -L %{_localstatedir}/lib/systemd/timesync ]; then - rm %{_localstatedir}/lib/systemd/timesync - mv %{_localstatedir}/lib/private/systemd/timesync %{_localstatedir}/lib/systemd/timesync -fi -if [ -f %{_localstatedir}/lib/systemd/clock ]; then - mkdir -p %{_localstatedir}/lib/systemd/timesync - mv %{_localstatedir}/lib/systemd/clock %{_localstatedir}/lib/systemd/timesync/. -fi udevadm hwdb --update &>/dev/null @@ -1039,7 +927,7 @@ grep -q -E '^KEYMAP="?fi-latin[19]"?' /etc/vconsole.conf 2>/dev/null && %postun udev # Restart some services. # Others are either oneshot services, or sockets, and restarting them causes issues (#1378974) -%systemd_postun_with_restart systemd-udevd.service systemd-timesyncd.service +%systemd_postun_with_restart systemd-udevd.service %global journal_remote_units_restart systemd-journal-gatewayd.service systemd-journal-remote.service systemd-journal-upload.service @@ -1062,29 +950,6 @@ fi %systemd_postun_with_restart %journal_remote_units_restart %firewalld_reload -%post networkd -# systemd-networkd was split out in systemd-246.6-2. -# Ideally, we would have a trigger scriptlet to record enablement -# state when upgrading from systemd <= systemd-246.6-1. But, AFAICS, -# rpm doesn't allow us to trigger on another package, short of -# querying the rpm database ourselves, which seems risky. For rpm, -# systemd and systemd-networkd are completely unrelated. So let's use -# a hack to detect if an old systemd version is currently present in -# the file system. -# https://bugzilla.redhat.com/show_bug.cgi?id=1943263 -if [ $1 -eq 1 ] && ls /usr/lib/systemd/libsystemd-shared-24[0-6].so &>/dev/null; then - echo "Skipping presets for systemd-networkd.service, seems we are upgrading from old systemd." -else - %systemd_post systemd-networkd.service systemd-networkd-wait-online.service -fi - -%preun networkd -%systemd_preun systemd-networkd.service systemd-networkd-wait-online.service - -%postun networkd -%systemd_postun_with_restart systemd-networkd.service -%systemd_postun systemd-networkd-wait-online.service - %post resolved [ $1 -eq 1 ] || exit 0 # Initial installation @@ -1151,6 +1016,19 @@ if systemctl -q is-enabled systemd-resolved.service &>/dev/null && fi fi +%pre +getent group systemd-oom &>/dev/null || groupadd -r systemd-oom 2>&1 || : +getent passwd systemd-oom &>/dev/null || useradd -r -l -g systemd-oom -d / -s /sbin/nologin -c "systemd Userspace OOM Killer" systemd-oom &>/dev/null || : + +%preun oomd +%systemd_preun systemd-oomd.service + +%post oomd +%systemd_post systemd-oomd.service + +%postun oomd +%systemd_postun_with_restart systemd-oomd.service + %global _docdir_fmt %{name} %files -f %{name}.lang -f .file-list-main @@ -1200,21 +1078,7 @@ fi %files journal-remote -f .file-list-remote -%files networkd -f .file-list-networkd - -%files networkd-defaults -f .file-list-networkd-defaults - -%files oomd-defaults -f .file-list-oomd-defaults - -%files tests -f .file-list-tests - -%files standalone-repart -f .file-list-standalone-repart - -%files standalone-tmpfiles -f .file-list-standalone-tmpfiles - -%files standalone-sysusers -f .file-list-standalone-sysusers - -%files standalone-shutdown -f .file-list-standalone-shutdown +%files oomd -f .file-list-oomd %clean rm -rf $RPM_BUILD_ROOT @@ -1223,4 +1087,25 @@ rm -f .file-list-* rm -f %{name}.lang %changelog -%autochangelog +* Wed Jun 26 2024 Jan Macku - 256-1 +- Initial import and bootsprap from Fedora + * remove standalone packages + * remove networkd package + * remove homed + * remove portabled + * remove timesyncd + * remove tests package + * move oomd to separate package + * revert bin-sbin merge related changes +- remove autorelease stuff + * for changelog history see changelog file +- rules: copy 40-redhat.rules from RHEL 9 (RHEL-40360) +- net-naming-scheme: start rhel10 naming and include rhel8 and rhel9 ones (RHEL-22621) +- fedora: use system-auth in pam systemd-user (RHEL-40924) +- tmpfiles: make --purge hard to (mis-)use (RHEL-40924) +- journal: again create user journals for users with high uids (RHEL-40924) +- (origin/rhel-10.0.beta, rhel-10.0.beta) ci: allow to pass parameters together with rhel-only note (RHEL-36636) +- ci: reconfigure Packit for RHEL 10 (RHEL-36636) +- ci: deploy systemd man to GitHub Pages (RHEL-36636) +- ci: setup source-git automation (RHEL-36636) +- ci: update workflows to run on source-git setup (RHEL-36636)