Compare commits

...

10 Commits

Author SHA1 Message Date
David Abdurachmanov bdc548865b
Enable bootloader & proper check valgrind support
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-03-21 10:31:43 +02:00
Zbigniew Jędrzejewski-Szmek e8d02128c9 Version 255.4 2024-03-01 16:38:06 +01:00
Daan De Meyer dc3dcc0114 Allow setting extra configure options using %meson_extra_configure_options
Will be used when building upstream to enable developer mode or sanitizers
for example.
2024-02-21 15:42:47 +01:00
Daan De Meyer 104532bab2 Apply pam patch when building for upstream
It applies without conflicts and ensures coverage of a pretty important
patch so let's apply it when building for upstream.
2024-02-21 15:42:00 +01:00
Daan De Meyer 0a51fe1e6b Use %version_override/%release_override to specify version/release by users
When backporting the latest changes to CentOS Hyperscale reviewers
were confused by using %version and %release to define "Version" and
"Release" which are supposed to specify the values for %version and
%release. Let's use different macros to make it more clear that these
are supposed to be set by users building the rpm and add a comment
to explain why we do this.
2024-02-21 12:02:00 +01:00
Zbigniew Jędrzejewski-Szmek 7740aea610 Let libkmod be a dlopen'ed dependency 2024-02-20 11:11:20 +01:00
Daan De Meyer 3520bb5c92 Allow overriding the version and release using macros
Let's allow overriding the version and release by specifying the
corresponding macros on the rpmbuild command line. This allows us
to specify a custom version and release when doing upstream builds.
2024-02-17 22:08:38 +01:00
Daan De Meyer 74b3ef386f Stop passing %{release} to meson when building in upstream mode
When building in upstream mode, the release doesn't really have any
meaning so let's stop passing it as part of the version-tag and
shared-library-tag arguments.

This also makes it possible to make the release a timestamp so that
each package built from upstream is guaranteed to be newer. If we
pass the release to meson via version-tag and shared-library-tag and
the release changes every build, we end up having constant rebuilds
of various targets in meson that depend on the version.
2024-02-17 22:08:35 +01:00
Daan De Meyer 4c5b844e62 Don't pass b_lto to meson
Let's depend on %lto_cflags doing the right thing instead of manually
passing the b_lto option to meson.
2024-02-17 17:58:18 +01:00
Daan De Meyer 3f65739521 Update usage of meson-vcs-tag.sh to account for upstream changes
The second argument now specifies the version tag version so let's
adapt. Because the script now supports running without any arguments
at all, let's just do that.

The output now also doesn't use any hyphens anymore so we get rid
of the sed transformation as well;
2024-02-15 20:23:48 +01:00
2 changed files with 33 additions and 14 deletions

View File

@ -1 +1 @@
SHA512 (systemd-255.3.tar.gz) = c2868a53df2176649b0d0c94e5d451c46ba783bcdbc89ce12434ed2d11dba44b4854ffe4c2430f3f64eef2e214cbb51d5f740170afbd9edd66761a8851157453
SHA512 (systemd-255.4.tar.gz) = 8a2bde11a55f7f788ba7751789a5e9be6ce9634e88d54e49f6e832c4c49020c6cacaf2a610fe26f92998b0cbf43c6c2150a96b2c0953d23261009f57d71ea979

View File

@ -33,13 +33,15 @@
Name: systemd
Url: https://systemd.io
%if %{without upstream}
Version: 255.3
%else
# determine the build information from local checkout
Version: %(tools/meson-vcs-tag.sh . error | sed -r 's/-([0-9])/.^\1/; s/-g/_g/')
%ifarch riscv64
%define release_override 1.0.riscv64
%endif
Release: %autorelease
# Allow users to specify the version and release when building the rpm by
# setting the %%version_override and %%release_override macros.
Version: %{?version_override}%{!?version_override:255.4}
Release: %{?release_override:%{release_override}%{?dist}}%{!?release_override:%autorelease}
%global stable %(c="%version"; [ "$c" = "${c#*.*}" ]; echo $?)
@ -113,12 +115,12 @@ Patch0490: use-bfq-scheduler.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=2251843
Patch0491: https://github.com/systemd/systemd/pull/30846.patch
%endif
# Adjust upstream config to use our shared stack
Patch0499: fedora-use-system-auth-in-pam-systemd-user.patch
%endif
%ifarch %{ix86} x86_64 aarch64
%ifarch %{ix86} x86_64 aarch64 riscv64
%global want_bootloader 1
%endif
@ -204,7 +206,9 @@ BuildRequires: libseccomp-devel
BuildRequires: meson >= 0.43
BuildRequires: gettext
# We use RUNNING_ON_VALGRIND in tests, so the headers need to be available
%ifarch %{valgrind_arches}
BuildRequires: valgrind-devel
%endif
BuildRequires: pkgconfig(bash-completion)
BuildRequires: perl
BuildRequires: perl(IPC::SysV)
@ -290,6 +294,15 @@ Recommends: libcryptsetup.so.12%{?elf_suffix}
Recommends: libcryptsetup.so.12(CRYPTSETUP_2.4)%{?elf_bits}
%if %{with upstream}
# Libkmod is used to load modules.
Recommends: libkmod.so.2%{?elf_suffix}
# kmod_list_next, kmod_load_resources, kmod_module_get_initstate,
# kmod_module_get_module, kmod_module_get_name, kmod_module_new_from_lookup,
# kmod_module_probe_insert_module, kmod_module_unref, kmod_module_unref_list,
# kmod_new, kmod_set_log_fn, kmod_unref, kmod_validate_resources
# are part of LIBKMOD_5.
Recommends: libkmod.so.2(LIBKMOD_5)%{?elf_bits}
Recommends: libarchive.so.13%{?elf_suffix}
%endif
@ -371,6 +384,13 @@ Obsoletes: udev < 183
Requires: (grubby > 8.40-72 if grubby)
Requires: (sdubby > 1.0-3 if sdubby)
%if %{with upstream}
# Libkmod is used to load modules. Assume that if we need udevd, we certainly
# want to load modules, so make this into a hard dependency here.
Requires: libkmod.so.2%{?elf_suffix}
Requires: libkmod.so.2(LIBKMOD_5)%{?elf_bits}
%endif
# Recommends to replace normal Requires deps for stuff that is dlopen()ed
# used by dissect, integritysetup, veritysetyp, growfs, repart, cryptenroll, home
Recommends: libcryptsetup.so.12%{?elf_suffix}
@ -659,12 +679,11 @@ CONFIGURE_OPTS=(
-Dnobody-group=nobody
-Dcompat-mutable-uid-boundaries=true
-Dsplit-bin=true
-Db_lto=%[%{with lto}?"true":"false"]
-Db_ndebug=false
-Dman=enabled
-Dversion-tag=%{version}-%{release}
-Dversion-tag=%{version}%[%{without upstream}?"-%{release}":""]
# https://bugzilla.redhat.com/show_bug.cgi?id=1906010
-Dshared-lib-tag=%{version_no_tilde}-%{release}
-Dshared-lib-tag=%{version_no_tilde}%[%{without upstream}?"-%{release}":""]
-Dfallback-hostname="localhost"
-Ddefault-dnssec=no
-Ddefault-dns-over-tls=no
@ -713,7 +732,7 @@ CONFIGURE_OPTS=(
%global _lto_cflags %nil
%endif
{ %meson "${CONFIGURE_OPTS[@]}"; }
{ %meson "${CONFIGURE_OPTS[@]}" %{?meson_extra_configure_options} ; }
%meson_build