systemd rebase/bootstrap for c10s

Resolves: RHEL-40924,RHEL-22621,RHEL-678,RHEL-40360,RHEL-36636
This commit is contained in:
Jan Macku 2024-06-26 17:26:24 +02:00 committed by Lukas Nykryn
parent c560bc2e3a
commit 42cbfa381f
16 changed files with 1650 additions and 504 deletions

View File

@ -1,217 +0,0 @@
From c93a24119977a11791aab0f3df5e5cb9973a34de Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
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 @@
<para>The daemon provides both a C library interface
(which is shared with <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>)
- 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
- <command>varlinkctl introspect /run/systemd/machine/io.systemd.Machine io.systemd.Machine</command>.
+ machines.
For more information please consult
<citerefentry><refentrytitle>sd-login</refentrytitle><manvolnum>3</manvolnum></citerefentry>
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;

View File

@ -0,0 +1,98 @@
From 67ff61b054e8d4d4d3923c3b81586b2d4e286d6b Mon Sep 17 00:00:00 2001
From: Jan Macku <jamacku@redhat.com>
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

View File

@ -0,0 +1,282 @@
From 67b16d23396d9837f878850e890f90228d59d49e Mon Sep 17 00:00:00 2001
From: Jan Macku <jamacku@redhat.com>
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 }}

View File

@ -0,0 +1,78 @@
From ecae988291383e13e5b23b5d7a4a1f8a7d6736dc Mon Sep 17 00:00:00 2001
From: Jan Macku <jamacku@redhat.com>
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

View File

@ -0,0 +1,61 @@
From 970ac707323ce1b50c6f45184df4373d651e669c Mon Sep 17 00:00:00 2001
From: Jan Macku <jamacku@redhat.com>
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

View File

@ -0,0 +1,37 @@
From 517bf132e5508a2ac140dbea3650e89205dee052 Mon Sep 17 00:00:00 2001
From: Jan Macku <jamacku@redhat.com>
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: '

View File

@ -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?= <zbyszek@in.waw.pl> From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Tue, 9 Jan 2024 11:28:04 +0100 Date: Tue, 9 Jan 2024 11:28:04 +0100
Subject: [PATCH] journal: again create user journals for users with high uids 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. revert the change to fix user systems.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2251843. Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2251843.
rhel-only: bugfix
Related: RHEL-40924
--- ---
src/basic/uid-classification.c | 2 +- src/basic/uid-classification.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)

View File

@ -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?= <zbyszek@in.waw.pl> From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Tue, 18 Jun 2024 20:32:10 +0200 Date: Tue, 18 Jun 2024 20:32:10 +0200
Subject: [PATCH] tmpfiles: make --purge hard to (mis-)use Subject: [PATCH] tmpfiles: make --purge hard to (mis-)use
Follow-up for https://github.com/systemd/systemd/pull/33383. Follow-up for https://github.com/systemd/systemd/pull/33383.
rhel-only: bugfix
Related: RHEL-40924
--- ---
src/tmpfiles/tmpfiles.c | 17 +++++++++++++++++ src/tmpfiles/tmpfiles.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+) 1 file changed, 17 insertions(+)
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c 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 --- a/src/tmpfiles/tmpfiles.c
+++ b/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_IMAGE_POLICY,
ARG_REPLACE, ARG_REPLACE,
ARG_DRY_RUN, ARG_DRY_RUN,
@ -20,7 +24,7 @@ index 5841db293e..9b0f744ba9 100644
ARG_NO_PAGER, 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 }, { "replace", required_argument, NULL, ARG_REPLACE },
{ "dry-run", no_argument, NULL, ARG_DRY_RUN }, { "dry-run", no_argument, NULL, ARG_DRY_RUN },
{ "no-pager", no_argument, NULL, ARG_NO_PAGER }, { "no-pager", no_argument, NULL, ARG_NO_PAGER },
@ -39,7 +43,7 @@ index 5841db293e..9b0f744ba9 100644
assert(argc >= 0); assert(argc >= 0);
assert(argv); 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; arg_dry_run = true;
break; break;
@ -50,7 +54,7 @@ index 5841db293e..9b0f744ba9 100644
case ARG_NO_PAGER: case ARG_NO_PAGER:
arg_pager_flags |= PAGER_DISABLE; arg_pager_flags |= PAGER_DISABLE;
break; 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), return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Refusing --purge without specification of a configuration file."); "Refusing --purge without specification of a configuration file.");

View File

@ -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?= <zbyszek@in.waw.pl> From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Wed, 14 Dec 2022 22:24:53 +0100 Date: Wed, 14 Dec 2022 22:24:53 +0100
Subject: [PATCH] fedora: use system-auth in pam systemd-user 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 ++-- src/login/systemd-user.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-) 1 file changed, 2 insertions(+), 2 deletions(-)
@ -26,6 +31,3 @@ index 8a3c9e0165..74ef5f2552 100644
session optional pam_umask.so silent session optional pam_umask.so silent
-session optional pam_systemd.so -session optional pam_systemd.so
+session include system-auth +session include system-auth
--
2.41.0

View File

@ -0,0 +1,317 @@
From b91be007c4172b50e5ca570c3c3cd64fecbf377b Mon Sep 17 00:00:00 2001
From: Jan Macku <jamacku@redhat.com>
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 @@
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><constant>rhel-10.0</constant></term>
+
+ <listitem><para>Same as naming scheme <constant>v255</constant>.</para>
+
+ <xi:include href="version-info.xml" xpointer="rhel-10.0"/>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>By default <constant>rhel-10.0</constant> is used.</para>
+
+ <refsect2>
+ <title>RHEL-9 schemes</title>
+ <para>It is also possible to pick a scheme from RHEL-9</para>
+ <variablelist>
+ <varlistentry>
+ <term><constant>rhel-9.0</constant></term>
+
+ <listitem><para>Since version <constant>v247</constant> we no longer set
+ <varname>ID_NET_NAME_SLOT</varname> 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.</para>
+
+ <xi:include href="version-info.xml" xpointer="rhel-9.0"/>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><constant>rhel-9.1</constant></term>
+
+ <listitem><para>Same as naming scheme <constant>rhel-9.0</constant>.</para>
+
+ <xi:include href="version-info.xml" xpointer="rhel-9.1"/>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><constant>rhel-9.2</constant></term>
+
+ <listitem><para>Same as naming scheme <constant>rhel-9.0</constant>.</para>
+
+ <xi:include href="version-info.xml" xpointer="rhel-9.2"/>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><constant>rhel-9.3</constant></term>
+
+ <listitem><para>Naming was changed for SR-IOV virtual device representors.</para>
+
+ <para>The <literal>r<replaceable>slot</replaceable></literal> suffix was added to differentiate SR-IOV
+ virtual device representors attached to a single physical device interface.</para>
+
+ <xi:include href="version-info.xml" xpointer="rhel-9.3"/>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><constant>rhel-9.4</constant></term>
+
+ <listitem><para>Same as naming scheme <constant>rhel-9.3</constant>.</para>
+
+ <xi:include href="version-info.xml" xpointer="rhel-9.4"/>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+
+ <refsect2>
+ <title>RHEL-8 schemes</title>
+ <para>It is also possible to pick a scheme from RHEL-8</para>
+ <variablelist>
+ <varlistentry>
+ <term><constant>rhel-8.0</constant></term>
+
+ <listitem><para>Same as naming scheme <constant>v239</constant>.</para>
+
+ <xi:include href="version-info.xml" xpointer="rhel-8.0"/>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><constant>rhel-8.1</constant></term>
+
+ <listitem><para>Same as naming scheme <constant>rhel-8.0</constant>.</para>
+
+ <xi:include href="version-info.xml" xpointer="rhel-8.1"/>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><constant>rhel-8.2</constant></term>
+
+ <listitem><para>Same as naming scheme <constant>rhel-8.0</constant>.</para>
+
+ <xi:include href="version-info.xml" xpointer="rhel-8.2"/>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><constant>rhel-8.3</constant></term>
+
+ <listitem><para>Same as naming scheme <constant>rhel-8.0</constant>.</para>
+
+ <xi:include href="version-info.xml" xpointer="rhel-8.3"/>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><constant>rhel-8.4</constant></term>
+
+ <listitem><para>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 <varname>ID_NET_NAME_SLOT</varname>
+ 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 <varname>ID_NET_NAME_SLOT</varname> property to
+ avoid possible naming conflict.</para>
+
+ <xi:include href="version-info.xml" xpointer="rhel-8.4"/>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><constant>rhel-8.5</constant></term>
+
+ <listitem><para>Same as naming scheme <constant>rhel-8.4</constant>.</para>
+
+ <xi:include href="version-info.xml" xpointer="rhel-8.5"/>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><constant>rhel-8.6</constant></term>
+
+ <listitem><para>Same as naming scheme <constant>rhel-8.4</constant>.</para>
+
+ <xi:include href="version-info.xml" xpointer="rhel-8.6"/>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><constant>rhel-8.7</constant></term>
+
+ <listitem><para>PCI hotplug slot names for the s390 PCI driver are a hexadecimal representation
+ of the <filename>function_id</filename> device attribute. This attribute is now used to build the
+ <varname>ID_NET_NAME_SLOT</varname>. Before that, all slot names were parsed as decimal
+ numbers, which could either result in an incorrect value of the <varname>ID_NET_NAME_SLOT</varname>
+ property or none at all.</para>
+
+ <para>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.</para>
+
+ <xi:include href="version-info.xml" xpointer="rhel-8.7"/>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><constant>rhel-8.8</constant></term>
+
+ <listitem><para>Same as naming scheme <constant>rhel-8.7</constant>.</para>
+
+ <xi:include href="version-info.xml" xpointer="rhel-8.8"/>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><constant>rhel-8.9</constant></term>
+
+ <listitem><para>Same as naming scheme <constant>rhel-8.7</constant>.</para>
+
+ <xi:include href="version-info.xml" xpointer="rhel-8.9"/>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><constant>rhel-8.10</constant></term>
+
+ <listitem><para>Same as naming scheme <constant>rhel-8.7</constant>.</para>
+
+ <xi:include href="version-info.xml" xpointer="rhel-8.10"/>
+ </listitem>
+ </varlistentry>
</variablelist>
+ </refsect2>
<para>Note that <constant>latest</constant> may be used to denote the latest scheme known (to this
particular version of systemd).</para>
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 @@
<para id="v255">Added in version 255.</para>
<para id="v256">Added in version 256.</para>
<para id="v257">Added in version 257.</para>
+ <para id="rhel-8.0">Added in rhel-8.0.</para>
+ <para id="rhel-8.1">Added in rhel-8.1.</para>
+ <para id="rhel-8.2">Added in rhel-8.2.</para>
+ <para id="rhel-8.3">Added in rhel-8.3.</para>
+ <para id="rhel-8.4">Added in rhel-8.4.</para>
+ <para id="rhel-8.5">Added in rhel-8.5.</para>
+ <para id="rhel-8.6">Added in rhel-8.6.</para>
+ <para id="rhel-8.7">Added in rhel-8.7.</para>
+ <para id="rhel-8.8">Added in rhel-8.8.</para>
+ <para id="rhel-8.9">Added in rhel-8.9.</para>
+ <para id="rhel-8.10">Added in rhel-8.10.</para>
+ <para id="rhel-9.0">Added in rhel-9.0.</para>
+ <para id="rhel-9.1">Added in rhel-9.1.</para>
+ <para id="rhel-9.2">Added in rhel-9.2.</para>
+ <para id="rhel-9.3">Added in rhel-9.3.</para>
+ <para id="rhel-9.4">Added in rhel-9.4.</para>
+ <para id="rhel-9.5">Added in rhel-9.5.</para>
+ <para id="rhel-9.6">Added in rhel-9.6.</para>
+ <para id="rhel-9.7">Added in rhel-9.7.</para>
+ <para id="rhel-9.8">Added in rhel-9.8.</para>
+ <para id="rhel-9.9">Added in rhel-9.9.</para>
+ <para id="rhel-9.10">Added in rhel-9.10.</para>
+ <para id="rhel-10.0">Added in rhel-10.0.</para>
+ <para id="rhel-10.1">Added in rhel-10.1.</para>
+ <para id="rhel-10.2">Added in rhel-10.2.</para>
+ <para id="rhel-10.3">Added in rhel-10.3.</para>
+ <para id="rhel-10.4">Added in rhel-10.4.</para>
+ <para id="rhel-10.5">Added in rhel-10.5.</para>
+ <para id="rhel-10.6">Added in rhel-10.6.</para>
+ <para id="rhel-10.7">Added in rhel-10.7.</para>
+ <para id="rhel-10.8">Added in rhel-10.8.</para>
+ <para id="rhel-10.9">Added in rhel-10.9.</para>
+ <para id="rhel-10.10">Added in rhel-10.10.</para>
</refsect1>
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,

View File

@ -0,0 +1,109 @@
From ee9a767142ec66b1ca93af9401dc8f723ae59881 Mon Sep 17 00:00:00 2001
From: Jan Macku <jamacku@redhat.com>
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-<BUS_ID>-zfcp-<WWPN>:<LUN>
+#
+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',

View File

@ -1,30 +0,0 @@
From 6b25470ee28843a49c50442e9d8a98edc842ceca Mon Sep 17 00:00:00 2001
From: Yu Watanabe <watanabe.yu+github@gmail.com>
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;
}

550
changelog
View File

@ -1,3 +1,552 @@
* Tue Jun 25 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.1-4
- Revert "Remove tmpfiles snippet for /home and /srv"
* Tue Jun 18 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.1-3
- Remove tmpfiles snippet for /home and /srv
* Tue Jun 18 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.1-2
- Soft-disable tmpfiles --purge until a good use case comes up
* Tue Jun 18 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.1-1
- Version 256.1
* Sun Jun 16 2024 U2FsdGVkX1 <U2FsdGVkX1@gmail.com> - 256-2
- disable auto-features when bootstrapping
* Tue Jun 11 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256-1
- Version 256
- Only minor changes since -rc4.
- Hardward db is updated.
* Fri Jun 07 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc4-2
- Restore patch to drop varlink method call
* Thu Jun 06 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc4-1
- Version 256~rc4
* Thu Jun 06 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc3-6
- Drop sysusers.d/basic.conf
- We rely on setup to provide all necessary groups.
* Sun Jun 02 2024 Adam Williamson <awilliam@redhat.com> - 256~rc3-4
- Partially backport PR #33016 to fix crashes in KDE 6.3.0
* Wed May 29 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc3-2
- Add patch to work-around libbpf bug (rhbz#2280935)
* Thu May 23 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc3-1
- Version 256~rc3
* Wed May 15 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc2-6
- Version 256~rc2
- Various small changes all over
- A fix for rhbz#2273069
* Mon May 13 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc1^20240509git1781de1-4
- Make %%release_override overridable from outside
* Sat May 11 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc1^20240509git1781de1-2
- Temporarily drop call to varlink method to avoid SELinux denial
* Thu May 09 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <jamacku@redhat.com> - 256~rc1-6
- spec: `systemd-ukify` should depend on `systemd-boot`
* Sat Apr 27 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc1-4
- Add additional daemon-reexec for upgrades from old systemd versions
* Sat Apr 27 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc1-3
- Drop trigger scriptlets for upgrades from systemd < 247
* Sat Apr 27 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc1-2
- Add Recommends for dlopen libraries
* Fri Apr 26 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 255.5-2
- Drop workaround to run generators without sandboxing (requirement on
dracut >= 60 is added)
* Wed Apr 24 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 255.4-16
- Prepare for bin-sbin merge
* Wed Mar 27 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.4-13
- spec: add %%bcond to build without documentation
* Fri Mar 22 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.4-11
- Revert "Adjust release tag for riscv64"
* Fri Mar 22 2024 David Abdurachmanov <davidlt@rivosinc.com> - 255.4-10
- Enable bootloader stack for riscv64
* Fri Mar 22 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.4-9
- Adjust release tag for riscv64
* Wed Mar 20 2024 David Tardon <dtardon@redhat.com> - 255.4-5
- Make Requires(*) on systemd versioned
* Wed Mar 20 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.4-4
- Add R:systemd-udev to systemd-networkd subpackage (rhbz#2173425)
* Mon Mar 18 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.4-3
- Add psutil dependency to systemd-tests
* Thu Mar 07 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.4-2
- Build in developer mode when building for upstream
* Fri Mar 01 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.4-1
- Version 255.4
* Wed Feb 21 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-13
- Allow setting extra configure options using
%%meson_extra_configure_options
* Wed Feb 21 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-12
- Apply pam patch when building for upstream
* Wed Feb 21 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-11
- Use %%version_override/%%release_override to specify version/release by
users
* Tue Feb 20 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.3-10
- Let libkmod be a dlopen'ed dependency
* Sat Feb 17 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-9
- Allow overriding the version and release using macros
* Sat Feb 17 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-8
- Stop passing %%{release} to meson when building in upstream mode
* Sat Feb 17 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-7
- Don't pass b_lto to meson
* Thu Feb 15 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-6
- Update usage of meson-vcs-tag.sh to account for upstream changes
* Sun Feb 11 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-5
- Replace inplace macro with upstream macro
* Sun Feb 11 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-4
- Remove reconfiguration logic
* Sun Feb 11 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-3
- Stop depending on filelists
* Mon Jan 29 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.3-2
- Conflicts/Provides with systemd-standalone-repart are moved udev
subpackage
* Thu Jan 25 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 255.2-3
- Add temporary patch to adjust uid range classification (rhbz#2251843)
* Tue Jan 09 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 255.1-2
- Add missing %%postun scriptlets for systemd-{resolved,networkd}
(rhbz#2255718)
* Sat Dec 16 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.1-1
- Version 255.1
* Wed Dec 13 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255-7
- Do not remove modified config files
* Fri Dec 08 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255-4
- Add /etc/ssh/sshd_config.d to the file list
* Fri Dec 08 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 255-2
- Move systemd-bsod is to udev subpackage
* Wed Dec 06 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 255~rc4-1
- Version 255~rc4
* Fri Dec 01 2023 Adam Williamson <awilliam@redhat.com> - 255~rc3-4
- Backport PRs #30170 and #30266 to fix BPF denials (RHBZ #2250930)
* Wed Nov 29 2023 Adam Williamson <awilliam@redhat.com> - 255~rc3-3
- Backport #30197 to fix vconsole startup (RHBZ #2251394)
* Thu Nov 23 2023 Peter Robinson <pbrobinson@gmail.com> - 255~rc3-2
- de-dupe LICENSE.LGPL2.1 in licenses
* Wed Nov 22 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255~rc3-1
- Version 255~rc3
* Wed Nov 22 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255~rc2-2
- Add systemd-networkd-defaults subpackage
* Wed Nov 15 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl>
- Add Conflicts with older dracut which doesn't have required patches
* Tue Nov 07 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255~rc1-3
- Also build systemd-vmspawn
* Tue Nov 07 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255~rc1-2
- Move oomd to systemd-udev
* Tue Nov 07 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 254.5-2
- Pull in more patches for keyboard layout matching
* Wed Sep 27 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254.5-1
- Version 254.5
- Resolves rhbz#29216.
* Wed Sep 27 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254.2-14
- Pull in patches to add PollLimit setting
* Wed Sep 27 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254.2-13
- Change versioned Conflicts to rich Requires (rhbz#2240828)
* Tue Sep 19 2023 Adam Williamson <awilliam@redhat.com> - 254.2-12
- Backport PR #29215 to improve keyboard layout matching
* Mon Sep 18 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254.2-7
- Fix creation of installkernel symlink
* Fri Sep 15 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254.2-6
- Provide /usr/sbin/installkernel (rhbz#2239008).
* Thu Sep 07 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254.2-2
- Make inter-subpackage dependencies archful
* Thu Sep 07 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 254.1-8
- Actually reload user managers and backport unit reload macros
* Sat Sep 02 2023 Daan De Meyer <daan.j.demeyer@gmail.com> - 254.1-7
- ukify: Drop obsolete dependency on objcopy
* Sat Sep 02 2023 Daan De Meyer <daan.j.demeyer@gmail.com> - 254.1-6
- Add missing ukify dependency on python-cryptography
* Sun Aug 20 2023 Yu Watanabe <watanabe.yu+github@gmail.com> - 254.1-5
- spec: also explicitly enable/disable ukify support
* Sun Aug 13 2023 Yu Watanabe <watanabe.yu+github@gmail.com> - 254.1-4
- spec: explicitly enable/disable xen support
* Wed Aug 09 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254.1-1
- Version 254.1 (rhbz#2228089, possibly partial fix for rhbz#2229524)
* Wed Aug 09 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254-5
- Do daemon-reexec of user managers after package upgrade
* Mon Aug 07 2023 Daan De Meyer <daan.j.demeyer@gmail.com> - 254-4
- Revert "Supress errors on selinux systems"
* Thu Aug 03 2023 Daan De Meyer <daan.j.demeyer@gmail.com> - 254-3
- Add a custom %%clean implementation
* Thu Aug 03 2023 Daan De Meyer <daan.j.demeyer@gmail.com> - 254-2
- Update libbpf soname
* Fri Jul 28 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 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 <releng@fedoraproject.org> - 254~rc2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Mon Jul 17 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254~rc2-4
- Fix scriptlets for various services and remote-cryptsetup.target
(rhbz#2217997)
* Sun Jul 16 2023 Stewart Smith <stewart@flamingspork.com> - 254~rc2-3
- Convert existing bcond_with[out] to plain bcond
* Sun Jul 16 2023 Stewart Smith <trawets@amazon.com> - 254~rc2-2
- Move gnutls, zlib, bzip2, lz4, xz, and zstd to bconds
* Sat Jul 15 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 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 <yselkowi@redhat.com> - 253.5-7
- Use rpm sysuser provide generation on RHEL >= 10
* Thu Jun 22 2023 Panu Matilainen <pmatilai@redhat.com> - 253.5-6
- Use rpm's sysuser provide generation on Fedora >= 39
* Wed Jun 21 2023 Anita Zhang <the.anitazha@gmail.com> - 253.5-5
- fix typos in standalone package provides
* Mon Jun 05 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 253.5-4
- Avoid pillow and pyflakes in RHEL builds
* Mon Jun 05 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 253.5-3
- Avoid qrencode dependency in RHEL builds
* Fri Jun 02 2023 Alessandro Astone <ales.astone@gmail.com> - 253.5-2
- Increase vm.max_map_count
* Thu Jun 01 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.5-1
- Version 253.5
* Thu May 11 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.4-1
- Version 253.4
* Thu May 11 2023 Michael Catanzaro <mcatanzaro@redhat.com> - 253.2-6
- Raise ManagedOOMMemoryPressureLimit from 50%% to 80%%
* Tue May 09 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.2-5
- Add forgotten Provides and Conflicts for standalones
* Wed Apr 26 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.2-4
- sysusers.generate-pre.sh: properly escape quotes in description strings
(rhbz#2104141)
* Wed Apr 26 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.2-3
- sysusers.generate-pre.sh: fix indentation in generated scripts
* Wed Mar 29 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.2-1
- Version 253.2
* Wed Mar 29 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.1-7
- oomd: stop monitoring user-*.slice slices (rhbz#2177722)
* Thu Mar 09 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.1-6
- Move /usr/lib/systemd/boot/ to systemd-boot-unsigned subpackage
* Fri Mar 03 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.1-2
- Fix build with gnu-efi-3.0.11-13
* Fri Mar 03 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.1-1
- Version 253.1
- Fixes rhbz#2148464
* Wed Mar 01 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253-7
- Move man pages for sd-boot into systemd-boot-unsigned
* Wed Feb 22 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253-6
- Set TimeoutStopFailureMode=abort for services (see
https://fedoraproject.org/wiki/Changes/Shorter_Shutdown_Timer)
* Tue Feb 21 2023 Dusty Mabe <dusty@dustymabe.com> - 253-5
- remove group write permission from 98-default-mac-none.link
* Tue Feb 21 2023 Dusty Mabe <dusty@dustymabe.com> - 253-4
- fix comment instructions for 98-default-mac-none.link
* Tue Feb 21 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253-3
- Backport patch for container compatibility (rhbz#2165004)
* Tue Feb 21 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253-2
- Add workaround patch for dracut generator issue (rhbz#2164404)
* Mon Feb 20 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253-1
- Version 253 (mostly some documentation fixes since -rc3).
* Fri Feb 10 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 253~rc2-7
- Revert patch switch causes problems for 'systemctl isolate'
(rhbz#2165692)
* Wed Feb 08 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253~rc2-6
- Disable systemd-boot-update.service in presets
* Wed Feb 08 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253~rc2-4
- Update License to SPDX
* Mon Feb 06 2023 Thomas Haller <thaller@redhat.com> - 253~rc2-3
- add "98-default-mac-none.link" to keep default MAC address of
bridge/bond/team
* Thu Feb 02 2023 Michael Catanzaro <mcatanzaro@redhat.com> - 253~rc2-2
- Shorten shutdown timeout to 45 s
* Thu Feb 02 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253~rc2-1
- Version 253~rc2
- Sysusers fixup (rhbz#2156900) + other small changes
* Thu Feb 02 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 253~rc1-5
- Build with xen only on Fedora
* Thu Jan 26 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253~rc1-3
- Reenable systemd-journald-audit.socket after upgrades (rhbz#2164594)
* Wed Jan 25 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253~rc1-2
- Add Requires on Python modules to systemd-ukify and Recommends for
libp11-kit
* Tue Jan 24 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 252.4-4
- Backport patches to fix issues gcc-13 and -D_FORTIFY_SOURCE=3
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 252.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jan 05 2023 Daan De Meyer <daan.j.demeyer@gmail.com> - 252.4-2
- Add python3 to BuildRequires
* Tue Dec 20 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 252.3-4
- boot: add Provides:systemd-boot(isa)
* Wed Dec 14 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252.3-2
- Use upstream pam systemd-auth file with a patch, add pam_keyinit
* Thu Dec 08 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252.3-1
- Version 252.3 (rhbz#2136916, rhbz#2083900)
* Fri Dec 02 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252.2-2
- Split out systemd-boot-unsigned package
* Thu Nov 24 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252.2-1
- Version 252.2
- Latest batch of bugfixes (rhbz#2137631)
* Thu Nov 24 2022 Martin Osvald <mosvald@redhat.com> - 252.1-3
- Support user:group notation by sysusers.generate-pre.sh script
* Tue Nov 08 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252.1-1
- Version 252.1 (just some small fixes).
* Mon Oct 31 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252-1
- Version 252
* Tue Oct 25 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252~rc3-1
- Version 252-rc3 (#2135778)
* Tue Oct 18 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252~rc2-28
- Version 252-rc2 (#2134741, #2133792)
* Fri Oct 14 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252~rc1-31
- Fix upgrade detection in %%posttrans scriptlet (rhbz#2115094)
* Sun Oct 09 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252~rc1-30
- Fix indentation in %%sysusers_create_compat macro (rhbz#2132835)
* Sun Oct 09 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252~rc1-29
- Correctly move systemd-measure to systemd-udev subpackage
* Fri Oct 07 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 251.5-29
- Fix permissions on %%ghost files (rhbz#2122889)
* Sat Oct 01 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 251.5-28
- Version 251.5 (rhbz#2129343, rhbz#2121106, rhbz#2130188)
* Fri Sep 30 2022 Yu Watanabe <watanabe.yu+github@gmail.com> - 251.4-41
- Replace patch for test-mountpoint-util
* Fri Sep 30 2022 Yu Watanabe <watanabe.yu+github@gmail.com> - 251.4-40
- patch: fix regression in bfq patch
* Fri Sep 30 2022 Luca BRUNO <lucab@lucabruno.net> - 251.4-39
- sysusers/generate: bridge 'm' entries to usermod
* Fri Sep 30 2022 Anita Zhang <the.anitazha@gmail.com> - 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 <zbyszek@in.waw.pl> - 251.4-37
- Make systemd-devel conditionally pull in systemd-rpm-macros
* Fri Aug 19 2022 Neal Gompa <ngompa@fedoraproject.org> - 251.4-53 * Fri Aug 19 2022 Neal Gompa <ngompa@fedoraproject.org> - 251.4-53
- Set compile-time fallback hostname to "localhost" - Set compile-time fallback hostname to "localhost"
https://fedoraproject.org/wiki/Changes/FallbackHostname https://fedoraproject.org/wiki/Changes/FallbackHostname
@ -2461,4 +3010,3 @@ Resolves: rhbz#974132
* Tue Jun 01 2010 Rahul Sundaram <sundaram@fedoraproject.org> - 0-0.0.git2010-06-02 * Tue Jun 01 2010 Rahul Sundaram <sundaram@fedoraproject.org> - 0-0.0.git2010-06-02
- Initial spec (adopted from Kay Sievers) - Initial spec (adopted from Kay Sievers)

View File

@ -1 +1 @@
SHA512 (systemd-256.1.tar.gz) = 5441f634f43b726c13fe57d1ba0030f1b91427d7c2d4f4f32e4add8ff93aeb5139e9337422653df3b897c241e0a8760dafcd441dc622d1e2c1230bbe27dd1a1c SHA512 (systemd-256.tar.gz) = 5441f634f43b726c13fe57d1ba0030f1b91427d7c2d4f4f32e4add8ff93aeb5139e9337422653df3b897c241e0a8760dafcd441dc622d1e2c1230bbe27dd1a1c

View File

@ -65,16 +65,9 @@ outputs = {suffix: open(f'.file-list-{suffix}', 'w')
'rpm-macros', 'rpm-macros',
'devel', 'devel',
'container', 'container',
'networkd', 'oomd',
'networkd-defaults',
'oomd-defaults',
'remote', 'remote',
'resolve', 'resolve',
'tests',
'standalone-repart',
'standalone-tmpfiles',
'standalone-sysusers',
'standalone-shutdown',
'main', 'main',
)} )}
@ -102,24 +95,10 @@ for file in files(buildroot):
''', n, re.X): ''', n, re.X):
continue continue
if n.endswith('.standalone'): if '/security/pam_' in n or '/man8/pam_' in n:
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:
o = outputs['pam'] o = outputs['pam']
elif '/rpm/' in n: elif '/rpm/' in n:
o = outputs['rpm-macros'] o = outputs['rpm-macros']
elif '/usr/lib/systemd/tests' in n:
o = outputs['tests']
elif 'ukify' in n: elif 'ukify' in n:
o = outputs['ukify'] o = outputs['ukify']
elif re.search(r'/libsystemd-(shared|core)-.*\.so$', n): elif re.search(r'/libsystemd-(shared|core)-.*\.so$', n):
@ -148,28 +127,17 @@ for file in files(buildroot):
''', n, re.X): ''', n, re.X):
o = outputs['container'] 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: elif '.so.' in n:
o = outputs['libs'] o = outputs['libs']
elif re.search(r'10-oomd-.*defaults.conf|lib/systemd/oomd.conf.d', n, re.X): elif re.search(r'''10-oomd-.*defaults\.conf|
o = outputs['oomd-defaults'] oomd\.conf|
oomctl|
org.freedesktop.oom1|
systemd-oomd|
systemd-oom\.conf
''', n, re.X):
o = outputs['oomd']
elif re.search(r'''udev(?!\.pc)| elif re.search(r'''udev(?!\.pc)|
hwdb| hwdb|

View File

@ -34,7 +34,7 @@
# When bootstrap, libcryptsetup is disabled # When bootstrap, libcryptsetup is disabled
# but auto-features causes many options to be turned on # 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} %if %{with bootstrap}
%global __meson_auto_features disabled %global __meson_auto_features disabled
%endif %endif
@ -47,8 +47,8 @@ Name: systemd
Url: https://systemd.io Url: https://systemd.io
# Allow users to specify the version and release when building the rpm by # Allow users to specify the version and release when building the rpm by
# setting the %%version_override and %%release_override macros. # setting the %%version_override and %%release_override macros.
Version: %{?version_override}%{!?version_override:256.1} Version: %{?version_override}%{!?version_override:256}
Release: %autorelease Release: 1%{?dist}
%global stable %(c="%version"; [ "$c" = "${c#*.*}" ]; echo $?) %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 # than in the next section. Packit CI will drop any patches in this range before
# applying upstream pull requests. # applying upstream pull requests.
%if %{without upstream} # RHEL-specific
# Drop varlink method call until selinux policy is updated, Patch0001: 0001-ci-update-workflows-to-run-on-source-git-setup.patch
# see https://bodhi.fedoraproject.org/updates/FEDORA-2024-d5c99f5063, Patch0002: 0002-ci-setup-source-git-automation.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=2279923. Patch0003: 0003-ci-deploy-systemd-man-to-GitHub-Pages.patch
# Reverts https://github.com/systemd/systemd/commit/5b44c81ff868a4d1b78a74e4770f7a8b2f1d0f91. Patch0004: 0004-ci-reconfigure-Packit-for-RHEL-10.patch
Patch0001: 0001-Revert-machined-add-varlink-interface-for-registerin.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 # Downstream-only patches (90009999)
# 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
%ifarch %{ix86} x86_64 aarch64 riscv64 %ifarch %{ix86} x86_64 aarch64 riscv64
%global want_bootloader 1 %global want_bootloader 1
@ -248,7 +235,6 @@ Requires: dbus >= 1.9.18
Requires: %{name}-pam%{_isa} = %{version}-%{release} Requires: %{name}-pam%{_isa} = %{version}-%{release}
Requires(meta): (%{name}-rpm-macros = %{version}-%{release} if rpm-build) Requires(meta): (%{name}-rpm-macros = %{version}-%{release} if rpm-build)
Requires: %{name}-libs%{_isa} = %{version}-%{release} Requires: %{name}-libs%{_isa} = %{version}-%{release}
%{?fedora:Recommends: %{name}-networkd = %{version}-%{release}}
%{?fedora:Recommends: %{name}-resolved = %{version}-%{release}} %{?fedora:Recommends: %{name}-resolved = %{version}-%{release}}
Recommends: diffutils Recommends: diffutils
Requires: (util-linux-core or util-linux) Requires: (util-linux-core or util-linux)
@ -286,26 +272,10 @@ Conflicts: dracut < 059-16
Obsoletes: timedatex < 0.6-3 Obsoletes: timedatex < 0.6-3
Provides: timedatex = 0.6-3 Provides: timedatex = 0.6-3
Conflicts: %{name}-standalone-tmpfiles < %{version}-%{release}^
Provides: %{name}-tmpfiles = %{version}-%{release} Provides: %{name}-tmpfiles = %{version}-%{release}
Conflicts: %{name}-standalone-sysusers < %{version}-%{release}^
Provides: %{name}-sysusers = %{version}-%{release} Provides: %{name}-sysusers = %{version}-%{release}
Conflicts: %{name}-standalone-shutdown < %{version}-%{release}^
Provides: %{name}-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 to replace normal Requires deps for stuff that is dlopen()ed
Recommends: libidn2.so.0%{?elf_suffix} Recommends: libidn2.so.0%{?elf_suffix}
Recommends: libidn2.so.0(IDN2_0.0.0)%{?elf_bits} 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 # self-obsoletes to install both packages after split of systemd-boot
Obsoletes: systemd-udev < 252.2^ Obsoletes: systemd-udev < 252.2^
Conflicts: %{name}-standalone-repart < %{version}-%{release}^
Provides: %{name}-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 %description udev
This package contains systemd-udev and the rules and hardware database needed to 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 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 This package contains systemd-journal-gatewayd, systemd-journal-remote, and
systemd-journal-upload. 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 %package resolved
Summary: Network Name Resolution manager Summary: Network Name Resolution manager
Requires: %{name}%{_isa} = %{version}-%{release} 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 local applications. It implements a caching and validating DNS/DNSSEC stub
resolver, as well as an LLMNR and MulticastDNS resolver and responder. resolver, as well as an LLMNR and MulticastDNS resolver and responder.
%package oomd-defaults %package oomd
Summary: Configuration files for systemd-oomd Summary: A userspace out-of-memory (OOM) killer
Requires: %{name}-udev = %{version}-%{release} Requires: %{name}-udev = %{version}-%{release}
Provides: %{name}-oomd-defaults = %{version}-%{release}
License: LGPL-2.1-or-later License: LGPL-2.1-or-later
BuildArch: noarch
%description oomd-defaults %description oomd
A set of drop-in files for systemd units to enable action from systemd-oomd, systemd-oomd is a system service that uses cgroups-v2 and pressure stall
a userspace out-of-memory (OOM) killer. information (PSI) to monitor and take action on processes before an OOM
occurs in kernel space.
%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.
%prep %prep
%autosetup -n %{?commit:%{name}-%{commit}}%{!?commit:%{name}-%{version_no_tilde}} -p1 %autosetup -n %{?commit:%{name}-%{commit}}%{!?commit:%{name}-%{version_no_tilde}} -p1
@ -669,7 +554,6 @@ CONFIGURE_OPTS=(
-Dmode=%[%{with upstream}?"developer":"release"] -Dmode=%[%{with upstream}?"developer":"release"]
-Dsysvinit-path=/etc/rc.d/init.d -Dsysvinit-path=/etc/rc.d/init.d
-Drc-local=/etc/rc.d/rc.local -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= -Ddns-servers=
-Duser-path=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin -Duser-path=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
-Dservice-watchdog= -Dservice-watchdog=
@ -703,10 +587,7 @@ CONFIGURE_OPTS=(
-Drepart=enabled -Drepart=enabled
-Dpwquality=enabled -Dpwquality=enabled
-Dqrencode=%[%{defined rhel}?"disabled":"enabled"] -Dqrencode=%[%{defined rhel}?"disabled":"enabled"]
-Dgnutls=%[%{with gnutls}?"enabled":"disabled"]
-Dmicrohttpd=enabled -Dmicrohttpd=enabled
-Dvmspawn=enabled
-Dlibidn2=enabled
-Dlibiptc=disabled -Dlibiptc=disabled
-Dlibcurl=enabled -Dlibcurl=enabled
-Dlibfido2=enabled -Dlibfido2=enabled
@ -716,7 +597,6 @@ CONFIGURE_OPTS=(
-Dtpm2=enabled -Dtpm2=enabled
-Dhwdb=true -Dhwdb=true
-Dsysusers=true -Dsysusers=true
-Dstandalone-binaries=true
-Ddefault-kill-user-processes=false -Ddefault-kill-user-processes=false
-Dfirst-boot-full-preset=true -Dfirst-boot-full-preset=true
-Ddefault-network=true -Ddefault-network=true
@ -736,12 +616,8 @@ CONFIGURE_OPTS=(
-Ddefault-dns-over-tls=no -Ddefault-dns-over-tls=no
# https://bugzilla.redhat.com/show_bug.cgi?id=1867830 # https://bugzilla.redhat.com/show_bug.cgi?id=1867830
-Ddefault-mdns=no -Ddefault-mdns=no
-Ddefault-llmnr=resolve
# https://bugzilla.redhat.com/show_bug.cgi?id=2028169 # https://bugzilla.redhat.com/show_bug.cgi?id=2028169
-Dstatus-unit-format-default=combined -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 -Dconfigfiledir=/usr/lib
-Doomd=true -Doomd=true
@ -774,6 +650,33 @@ CONFIGURE_OPTS=(
# here for https://github.com/systemd/systemd/pull/24175. # here for https://github.com/systemd/systemd/pull/24175.
-Dbootloader=%[%{?want_bootloader}?"enabled":"disabled"] -Dbootloader=%[%{?want_bootloader}?"enabled":"disabled"]
-Dukify=%[%{?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} %if %{without lto}
@ -797,10 +700,8 @@ sed -r 's|/system/|/user/|g' %{SOURCE16} >10-timeout-abort.conf.user
%meson_install %meson_install
# udev links # udev links
%if "%{_sbindir}" != "%{_bindir}"
mkdir -p %{buildroot}/%{_sbindir} mkdir -p %{buildroot}/%{_sbindir}
ln -sf ../bin/udevadm %{buildroot}%{_sbindir}/udevadm ln -sf ../bin/udevadm %{buildroot}%{_sbindir}/udevadm
%endif
# Compatiblity and documentation files # Compatiblity and documentation files
touch %{buildroot}/etc/crypttab touch %{buildroot}/etc/crypttab
@ -809,18 +710,15 @@ chmod 600 %{buildroot}/etc/crypttab
# Config files that were moved under /usr. # Config files that were moved under /usr.
# We need to %ghost them so that they are not removed on upgrades. # We need to %ghost them so that they are not removed on upgrades.
touch %{buildroot}/etc/systemd/coredump.conf \ touch %{buildroot}/etc/systemd/coredump.conf \
%{buildroot}/etc/systemd/homed.conf \
%{buildroot}/etc/systemd/journald.conf \ %{buildroot}/etc/systemd/journald.conf \
%{buildroot}/etc/systemd/journal-remote.conf \ %{buildroot}/etc/systemd/journal-remote.conf \
%{buildroot}/etc/systemd/journal-upload.conf \ %{buildroot}/etc/systemd/journal-upload.conf \
%{buildroot}/etc/systemd/logind.conf \ %{buildroot}/etc/systemd/logind.conf \
%{buildroot}/etc/systemd/networkd.conf \
%{buildroot}/etc/systemd/oomd.conf \ %{buildroot}/etc/systemd/oomd.conf \
%{buildroot}/etc/systemd/pstore.conf \ %{buildroot}/etc/systemd/pstore.conf \
%{buildroot}/etc/systemd/resolved.conf \ %{buildroot}/etc/systemd/resolved.conf \
%{buildroot}/etc/systemd/sleep.conf \ %{buildroot}/etc/systemd/sleep.conf \
%{buildroot}/etc/systemd/system.conf \ %{buildroot}/etc/systemd/system.conf \
%{buildroot}/etc/systemd/timesyncd.conf \
%{buildroot}/etc/systemd/user.conf \ %{buildroot}/etc/systemd/user.conf \
%{buildroot}/etc/udev/udev.conf \ %{buildroot}/etc/udev/udev.conf \
%{buildroot}/etc/udev/iocost.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}/log/private
mkdir -p %{buildroot}%{_localstatedir}/cache/private mkdir -p %{buildroot}%{_localstatedir}/cache/private
mkdir -p %{buildroot}%{_localstatedir}/lib/private/systemd/journal-upload 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 ln -s ../private/systemd/journal-upload %{buildroot}%{_localstatedir}/lib/systemd/journal-upload
mkdir -p %{buildroot}%{_localstatedir}/log/journal mkdir -p %{buildroot}%{_localstatedir}/log/journal
touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database touch %{buildroot}%{_localstatedir}/lib/systemd/catalog/database
touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin
touch %{buildroot}%{_localstatedir}/lib/systemd/random-seed touch %{buildroot}%{_localstatedir}/lib/systemd/random-seed
touch %{buildroot}%{_localstatedir}/lib/systemd/timesync/clock
touch %{buildroot}%{_localstatedir}/lib/private/systemd/journal-upload/state touch %{buildroot}%{_localstatedir}/lib/private/systemd/journal-upload/state
# Install yum protection fragment # Install yum protection fragment
@ -1005,20 +901,12 @@ systemctl daemon-reexec || :
# a different package version. # a different package version.
systemctl --no-reload preset systemd-journald-audit.socket &>/dev/null || : 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 %post udev
# Move old stuff around in /var/lib # Move old stuff around in /var/lib
mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/random-seed &>/dev/null mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/random-seed &>/dev/null
mv %{_localstatedir}/lib/backlight %{_localstatedir}/lib/systemd/backlight &>/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 udevadm hwdb --update &>/dev/null
@ -1039,7 +927,7 @@ grep -q -E '^KEYMAP="?fi-latin[19]"?' /etc/vconsole.conf 2>/dev/null &&
%postun udev %postun udev
# Restart some services. # Restart some services.
# Others are either oneshot services, or sockets, and restarting them causes issues (#1378974) # 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 %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 %systemd_postun_with_restart %journal_remote_units_restart
%firewalld_reload %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 %post resolved
[ $1 -eq 1 ] || exit 0 [ $1 -eq 1 ] || exit 0
# Initial installation # Initial installation
@ -1151,6 +1016,19 @@ if systemctl -q is-enabled systemd-resolved.service &>/dev/null &&
fi fi
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} %global _docdir_fmt %{name}
%files -f %{name}.lang -f .file-list-main %files -f %{name}.lang -f .file-list-main
@ -1200,21 +1078,7 @@ fi
%files journal-remote -f .file-list-remote %files journal-remote -f .file-list-remote
%files networkd -f .file-list-networkd %files oomd -f .file-list-oomd
%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
%clean %clean
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
@ -1223,4 +1087,25 @@ rm -f .file-list-*
rm -f %{name}.lang rm -f %{name}.lang
%changelog %changelog
%autochangelog * Wed Jun 26 2024 Jan Macku <jamacku@redhat.com> - 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)