Commit Graph

55 Commits

Author SHA1 Message Date
Daan De Meyer
fb514c2f8f mkosi: Rework how the pkgenv environment variables are set
Instead of including distribution specific files in the subimages,
let's have one common mkosi.pkgenv/ directory that handles all the
matching which is then included in the subimages.

This gives us more control on exactly how we do the matching.
2025-11-25 11:02:34 +01:00
Daan De Meyer
e1f9de9739 mkosi: update fedora commit reference to 12f95f807fef5075a8842dd107f83b4c41d5ac26
* 12f95f807f Wrap %autosetup in %_build_in_place check
* f9916b6fd1 Revert "Use %autosetup -C"
* 044cff4700 Allow empower group
* a0acca210d Version 259~rc1
* e455d82fd8 Add various extra explicit Requires
* 1a7506a105 Version 258.2
* 256463d690 Restore runlevelX.target units
* b17d9c3474 Use %autosetup -C
* fe18084a05 Remove hack to stop systemd-networkd-resolve-hook.socket
2025-11-20 15:26:26 +01:00
Zbigniew Jędrzejewski-Szmek
9218e4eacc mkosi: update fedora commit reference to 8e2833a5b64f7e2ce62ea0a2d0ec9e393e718dfa
* 8e2833a5b6 Automatically figure out the name of the top-level tar dir
* dffbf2beba Make sure fallback source is listed first
* 1d3b892105 Enable sysupdate and sysupdated
2025-11-03 13:31:22 +01:00
Daan De Meyer
16f4bc90d2 mkosi: update fedora commit reference to ea1d871ecd6c2fe063523840c1e4cf9bcf200e32
* ea1d871ecd Add missing networkd socket units
* b76b5da2e6 Merge #214 `Drop backwards compat logic from integration tests script`
* 7208fa2b1b Require systemd-rpm-macros for build
* 2e1a6c7474 Require python3-zstandard in ELN
* 79c9db1bc8 Require systemd-libs and systemd-shared to be in the same version
* db38445a7e Drop two patches with workaround (selinux, kernel)
* 593a204189 Version 258.1
* a3e9e27982 Change '%{systemd}' to systemd in Conflicts/Provides/Requires/Recommends
* 88877a4184 Require systemd-networkd and systemd-udev to be in the same version
* 8a446daec7 Version 258 💝
* cceac93491 Pre-create /etc/userdb directory
* b442086d5f Version 258~rc4
* 327e54e421 Add to patch to create userdb root directory with correct label
* 2289d65726 Fix unit name in scriptlet
* 5acde9f1fd Add workaround patch to hopefully pass podman CI tests
* 1f5ed0da1f Version 258~rc3
* 50936458a7 obs: move recipe files in place
* 1bdb4efe40 obs: switch to xz for compression
* be7a4d0863 Version 258~rc2
* 2ace9416e8 obs: also use version with tilde for Source0
* 8d1645af75 Use again %{version} when building in OBS
* 98cc5fd91a Version 258~rc1
* ed7d2f1132 Add "test" that LTO effectively removes unused code from shared lib
* 40b38a04d2 Build docs on 64-bit architectures only
* 5d30fd3b26 Version 257.7
2025-10-30 14:56:41 +01:00
Daan De Meyer
f1fc8b5dea mkosi: update fedora commit reference to 7de88c66bdc26920db570e67ef74e579f8461d9c
* 7de88c66bd Do not mark symlinks as %ghost
* 92c16c1dab Let systemd-{sysusers,shared} conflict with older systemd
* ed6b885327 Version 257.6
* 5a53eac13c Package pcrlock files together with systemd-pcrlock
* 2192e86112 Move mount.ddi symlinks to -container subpackage
* 451184cbea Revert "Disable freezing of user sessions"
* f6af46db12 Backport adb/fastboot udev rules (BZ#2356537)
* f6b814cc0f Backport CI fix
* d304477023 Version 257.5
2025-06-16 18:54:08 +01:00
Daan De Meyer
8318cac68b mkosi: update fedora commit reference to 6646d13acae64665f63354cd60ecf963ee563b96
* 6646d13aca fmf: Run tests from systemd-tests rpm if possible
2025-04-11 12:13:31 +02:00
Daan De Meyer
e463d6bf69 mkosi: update fedora commit reference
* 08ce156d74 fmf: Run mkosi genkey before mkosi summary
* 1126a7c6b8 Download commit archives via full sha instead of short one
* cc473d807f fmf: Check out mkosi to some directory in /var/tmp
2025-04-03 16:38:31 +02:00
Daan De Meyer
342d21ef19 mkosi: Move all mkosi configuration into mkosi/ subdirectory
Now that mkosi can automatically pick up its main configuration from
a mkosi/ subdirectory if it exists and there is no configuration in the
top level directory, let's make use of it  to reduce the amount of clutter
in the top level directory of the repository.

This will also make it easier to install the mkosi configuration files as
part of the testing packages later on.
2025-04-03 09:59:15 +02:00
Daan De Meyer
478fadde77 mkosi: update fedora commit reference
* b17e5d64a1 Don't try to modify mkosi.repart config if mkosi conf is in subdir
* e2b2ea3776 fmf: Use mkosi/mkosi.local.conf if the mkosi/ directory exists
2025-04-03 09:59:13 +02:00
Daan De Meyer
ce68d4349e mkosi: Stop passing package environment variables to tools image
The tools image is not guaranteed to be the same distribution as the
target distribution and so might have different package environment
variables than the main image yet we currently unconditionally use the
same package environment variables for both of them.

Let's fix this by not passing the package environment variables to the
tools image and subimages anymore, and instead having the main, tools and
build images separately include a config file with the required environment
variables.
2025-04-02 10:34:03 +02:00
Daan De Meyer
1852c92592 mkosi: Drop number prefixes from configuration files
We already removed these in some places, let's migrate the others as
well. There's no ordering required at all between these configuration
files so let's not bother with any numbered prefixes.
2025-04-01 21:38:49 +02:00
Daan De Meyer
1b49fb9aaa mkosi: Use build image prepare scripts for tools tree as well
Instead of listing dependencies manually for the default tools tree,
let's reuse the prepare scripts from the build image. To make this work,
the sync script has to be configured for the tools tree as well so that
it's invoked both when building the tools tree and for the regular image,
otherwise, when doing the first build in a fresh checkout, the sync script
won't have executed yet as sync scripts for the regular images are executed
after building the default tools tree.
2025-03-28 12:29:09 +01:00
Daan De Meyer
803e2e24df mkosi: update fedora commit reference
* 617952132d Run integration testsuite standalone if available
2025-03-27 22:49:26 +01:00
Daan De Meyer
9ed7019520 mkosi: update fedora commit reference
* 13d523f84d Relax dependencies from noarch packages on archful packages for OBS builds
* 59378485be Remove purge-nobody-user script
* d1380dc114 Add more services to %post for udev and networkd
* 6f0d03443d Fix paths for /usr/sbin/nologin and related progs
* df9a74d530 Make the source tarball glob in the test script more generic
2025-03-25 15:09:11 +00:00
Daan De Meyer
4d938fa865 packit: Load fmf metadata from rpm spec repository
Maintaining the fmf metadata and script upstream makes it painful
to reuse downstream so let's move the metadata and testing script
downstream and load it upstream instead.
2025-03-21 16:30:31 +01:00
Daan De Meyer
02a21805af packit: Remove --depth=1 from git clone
We need the full history to be able to checkout the right commit
afterwards.
2025-03-21 13:34:41 +01:00
Daan De Meyer
33bcafe6d1 packit: Use same specfile revision as mkosi uses 2025-03-19 13:01:17 +01:00
Daan De Meyer
197e3b5a8c packit: Enable use_target_repo_for_fmf_url option
Currently this is picked up from the main branch of the fork which is
suboptimal. The packit folks implemented this new option for us which
should fix the problem.
2025-03-19 12:34:31 +01:00
Daan De Meyer
6a55862516 packit: Switch to meson.version for the current version 2025-02-25 19:30:47 +01:00
Daan De Meyer
86a6d7cc5a packit: Simplify configuration 2025-01-07 15:18:50 +01:00
Daan De Meyer
b0b88f18b3 packit: Move fmf metadata into upstream
This moves https://src.fedoraproject.org/tests/systemd into upstream
so it's one less moving piece that we need to remember. While we're at
it, do various cleanups as well:

- Remove non-packit logic
- Set NO_BUILD in mkosi.local.conf as it's not picked up from the
  process environment
- Don't set unused environment variables
- Remove workdir logic as we run in an ephemeral VM already
- Drop --verbose from meson test to reduce noise
  from passed tests
- Use mkosi sandbox and drop duplicated deps from metadata file
- Stop running the unit tests as they already run as part of the rpm
  build and as part of the integration tests.
- Various style fixes
2025-01-05 23:21:36 +01:00
Frantisek Sumsal
8ceac11069 Revert "packit: temporarily build systemd without BPF stuff"
The latest Rawhide compose (20240210.n.1) finished successfully and made
it to the mirrors, so let's drop the bpftool workaround.

This reverts commit 8a0ec8852c.
2024-02-11 16:45:03 +01:00
Frantisek Sumsal
8a0ec8852c packit: temporarily build systemd without BPF stuff
The kernel-tools meta-package was retired in Rawhide, but its
replacement has not landed, yet. Until that happens, let's build without
the bpf-framework stuff.
2024-02-09 12:50:21 +01:00
Frantisek Sumsal
7990028468 packit: add a libarchive runtime dependency too
Addresses https://github.com/systemd/systemd/pull/31075#issuecomment-1911117026:

[   40.039232] testsuite-50.sh[624]: ++ systemd-dissect --make-archive /tmp/tmp.RZEq3t/minimal_0.raw
[   40.044745] testsuite-50.sh[625]: ++ sha256sum
[   40.066693] systemd-dissect[621]: libarchive.so.13 is not installed: libarchive.so.13: cannot open shared object file: No such file or directory
[   40.068577] systemd-dissect[621]: Archive support not available (compiled without libarchive, or libarchive not installed?).
[   40.092242] systemd-dissect[624]: libarchive.so.13 is not installed: libarchive.so.13: cannot open shared object file: No such file or directory
[   40.095716] systemd-dissect[624]: Archive support not available (compiled without libarchive, or libarchive not installed?).
[   40.100510] testsuite-50.sh[538]: + test e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 '!=' ''
[   40.100510] testsuite-50.sh[538]: + test e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
[   40.108249] testsuite-50.sh[627]: + tar t
[   40.113791] testsuite-50.sh[626]: + systemd-dissect --make-archive /tmp/tmp.RZEq3t/minimal_0.raw
[   40.120300] testsuite-50.sh[628]: + grep etc/os-release
[   40.176288] systemd-dissect[626]: libarchive.so.13 is not installed: libarchive.so.13: cannot open shared object file: No such file or directory
[   40.180273] systemd-dissect[626]: Archive support not available (compiled without libarchive, or libarchive not installed?).
[   40.184017] testsuite-50.sh[627]: tar: This does not look like a tar archive
[   40.185430] testsuite-50.sh[627]: tar: Exiting with failure status due to previous errors

Follow-up for b68f4ca.
2024-01-26 16:10:00 +01:00
Lennart Poettering
b68f4cade4 dissect: add --make-archive option to convert DDI to tarball 2024-01-25 18:47:39 +01:00
Frantisek Sumsal
5ed55a9bad packit: use the closest matching tag for the checked out revision
Packit otherwise tries to get the latest tag by creation date, which
doesn't work well in the systemd-stable repo:

2024-01-23 13:40:47.858 upstream.py       DEBUG  No ref given or is not glob pattern
2024-01-23 13:40:47.859 upstream.py       DEBUG  We're about to get latest matching tag in the upstream repository /tmp/tmp07g2beo8.
2024-01-23 13:40:47.859 commands.py       DEBUG  Command: git tag --list --sort=-creatordate
2024-01-23 13:40:47.866 logging.py        DEBUG  v248.13
2024-01-23 13:40:47.866 logging.py        DEBUG  v249.17
2024-01-23 13:40:47.866 logging.py        DEBUG  v250.14
2024-01-23 13:40:47.866 logging.py        DEBUG  v251.20
2024-01-23 13:40:47.867 logging.py        DEBUG  v252.21
2024-01-23 13:40:47.867 logging.py        DEBUG  v253.15
2024-01-23 13:40:47.867 logging.py        DEBUG  v254.8
2024-01-23 13:40:47.867 logging.py        DEBUG  v255.2
2024-01-23 13:40:47.868 logging.py        DEBUG  v255.1
2024-01-23 13:40:47.868 logging.py        DEBUG  v255
...
2024-01-23 18:15:13 +01:00
Zbigniew Jędrzejewski-Szmek
ba056e146a Revert "packit: don't take ownership of /etc/ssh/sshd_config.d/"
This reverts commit 9f7d189923.
systemd.spec was updated in [1], so we don't need this here anymore.

[1] 245a2587e0
2023-12-08 19:12:19 +00:00
Frantisek Sumsal
9f7d189923 packit: don't take ownership of /etc/ssh/sshd_config.d/
7e3607996a creates a symlink under /etc/ssh/sshd_config.d/ and with
current Rawhide RPM stuff the systemd RPM tries to take ownership of
that directory which conflicts with the openssh-server package. Let's
temporarily tweak the regex in split-files.py until this changes makes
it to Rawhide.
2023-12-07 10:30:44 +00:00
Frantisek Sumsal
04dc383b40 packit: run tests on Fedora Rawhide via Testing Farm
Let's utilize the full power of Packit and run some tests with the just
built RPMs. This makes use of the Fedora infrastructure provided by
the Testing Farm project [0][1].

With the current configuration, the `tests` job runs tests from the
Fedora tests repository [2] in a very similar fashion like Ubuntu CI
does, just with different metadata all around it. ATTOW there are only
two tests, which are wrappers around unit tests and integration tests;
the latter one currently runs only nspawn-based tests, since there's no
KVM on the test VMs, and, for now, I'd like to see how well the infra is
going to manage our upstream traffic and how stable the whole thing is
end up being before increasing the work load.

[0] https://docs.testing-farm.io/Testing%20Farm/0.1/index.html
[1] https://packit.dev/docs/configuration/upstream/tests
[2] https://src.fedoraproject.org/tests/systemd
2023-11-20 21:45:59 +01:00
Frantisek Sumsal
c7027516b7 Revert "ci: temporarily disable Packit's i386"
The original issue [0] should be resolved in the current Rawhide.

[0] https://bugzilla.redhat.com/show_bug.cgi?id=2237392

This reverts commit 3bf7d79637.
2023-09-17 22:18:49 +02:00
Frantisek Sumsal
3bf7d79637 ci: temporarily disable Packit's i386
As it currently crashes when extracting debuginfo due to [0] and hangs
until it's killed by the watchdog (which takes ~5 hours).

[0] https://bugzilla.redhat.com/show_bug.cgi?id=2237392
2023-09-07 22:22:56 +01:00
Frantisek Sumsal
1dfa58edd3 Revert "packit: temporarily use older Rawhide spec"
This reverts commit f1adb4a2ea.
2023-07-18 15:28:07 +02:00
Frantisek Sumsal
f1adb4a2ea packit: temporarily use older Rawhide spec
Until [0] is deployed to production.

[0] 2bdcec3db5
2023-07-14 20:47:19 +09:00
Frantisek Sumsal
0969bb4246 packit: drop/replace deprecated directives 2022-12-15 21:48:49 +09:00
Frantisek Sumsal
ed7c45a8c8 packit: ignore unpackaged files
It may take a bit for newly introduced binaries/other files to get
properly integrated into the Rawhide specfile, so don't choke up in the
meantime when rpmbuild detects unpackaged files.
2022-12-07 15:07:14 +01:00
Laura Barcziova
d15e1a29e3 Packit: build SRPMs in Copr
Add srpm_build_deps key to the Packit config to specify needed dependencies for SRPM build
and indicate to build SRPM in Copr.
2022-03-09 09:52:41 +00:00
Frantisek Sumsal
729c6b6af8 packit: drop unnumbered patches as well 2022-02-17 14:45:41 +00:00
Frantisek Sumsal
ebcccfd950 ci: re-enable s390x Packit builds
The s390x Copr builders are finally[0] 'native' instead of QEMU-emulated,
which makes them pretty quick to be used in PRs.

[0] https://lists.fedoraproject.org/archives/list/copr-devel@lists.fedorahosted.org/message/AR3ZDKET3EXZHV3MSU3UHMO7EIKBGAN2/
2022-02-13 15:06:24 +01:00
Yu Watanabe
217a610be4 Revert "ci: switch to fedora-35 on i386 on Packit"
This reverts commit 478c632e00.
2022-02-08 19:00:28 +03:00
Yu Watanabe
319af1314a Revert "packit: switch the remaining jobs to F35"
This reverts commit e7642152ae.
2022-02-08 19:00:28 +03:00
Frantisek Sumsal
e7642152ae packit: switch the remaining jobs to F35
gcc-12 seems to be very unstable right now, so to keep our CI builds
useful let's move them to stable F35 for a while.

Follow-up to 478c632e00.
See:
  * https://github.com/systemd/systemd/issues/22215
  * https://bugzilla.redhat.com/show_bug.cgi?id=2043915
2022-01-22 15:27:04 +00:00
Evgeny Vereshchagin
478c632e00 ci: switch to fedora-35 on i386 on Packit
systemd seems to be failing to compile there with gcc-12 but considering
that gcc-12 hasn't been released yet it doesn't seem to make sense
to add workarounds to get it to compile there. Until gcc-12 is
stabilized it should be enough to build systemd on fedora-35 to
make sure it's buildable on i386.
2022-01-20 21:02:16 +09:00
Zbigniew Jędrzejewski-Szmek
6a4457fd9d Revert "ci: temporarily set -Wno-deprecated-declarations in Packit"
This reverts commit 684e0a5605.

The warnigs are not suppressed in the C code.
2021-12-09 10:27:18 +01:00
Zbigniew Jędrzejewski-Szmek
684e0a5605 ci: temporarily set -Wno-deprecated-declarations in Packit
to suppress OpenSSL 3.0 deprecation warnings (until a proper solution is
deployed): RSA_free, EC_KEY_free, RSA_set0_key, RSA_size, EVP_PKEY_assign,
EC_KEY_set_group, and others are deprecated.
2021-12-01 12:36:57 +01:00
Lennart Poettering
6d74db7ef6 Revert "ci: temporarily set -Wno-deprecated-declarations in Packit"
This reverts commit af861917c5.
2021-09-29 15:04:24 +02:00
Frantisek Sumsal
af861917c5 ci: temporarily set -Wno-deprecated-declarations in Packit
to suppress OpenSSL 3.0 deprecation warnings (until a proper solution
is deployed):

```
../src/shared/creds-util.c: In function ‘sha256_hash_host_and_tpm2_key’:
../src/shared/creds-util.c:412:9: error: ‘SHA256_Init’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
  412 |         if (SHA256_Init(&sha256_context) != 1)
      |         ^~
In file included from /usr/include/openssl/x509.h:41,
                 from ../src/shared/openssl-util.h:8,
                 from ../src/shared/creds-util.c:21:
/usr/include/openssl/sha.h:73:27: note: declared here
   73 | OSSL_DEPRECATEDIN_3_0 int SHA256_Init(SHA256_CTX *c);
      |                           ^~~~~~~~~~~
../src/shared/creds-util.c:415:9: error: ‘SHA256_Update’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
  415 |         if (host_key && SHA256_Update(&sha256_context, host_key, host_key_size) != 1)
      |         ^~
In file included from /usr/include/openssl/x509.h:41,
                 from ../src/shared/openssl-util.h:8,
                 from ../src/shared/creds-util.c:21:
/usr/include/openssl/sha.h:74:27: note: declared here
   74 | OSSL_DEPRECATEDIN_3_0 int SHA256_Update(SHA256_CTX *c,
      |                           ^~~~~~~~~~~~~
../src/shared/creds-util.c:418:9: error: ‘SHA256_Update’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
  418 |         if (tpm2_key && SHA256_Update(&sha256_context, tpm2_key, tpm2_key_size) != 1)
      |         ^~
In file included from /usr/include/openssl/x509.h:41,
                 from ../src/shared/openssl-util.h:8,
                 from ../src/shared/creds-util.c:21:
/usr/include/openssl/sha.h:74:27: note: declared here
   74 | OSSL_DEPRECATEDIN_3_0 int SHA256_Update(SHA256_CTX *c,
      |                           ^~~~~~~~~~~~~
../src/shared/creds-util.c:421:9: error: ‘SHA256_Final’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
  421 |         if (SHA256_Final(ret, &sha256_context) != 1)
      |         ^~
In file included from /usr/include/openssl/x509.h:41,
                 from ../src/shared/openssl-util.h:8,
                 from ../src/shared/creds-util.c:21:
/usr/include/openssl/sha.h:76:27: note: declared here
   76 | OSSL_DEPRECATEDIN_3_0 int SHA256_Final(unsigned char *md, SHA256_CTX *c);
      |                           ^~~~~~~~~~~~
cc1: all warnings being treated as errors

```
2021-09-17 12:07:02 +01:00
Frantisek Sumsal
a2efdaac07 ci: add ppc64le Rawhide chroot to the Packit chroot set 2021-07-19 12:16:36 +01:00
Frantisek Sumsal
72ae959efd packit: drop the 'sources' file after cloning the Fedora repo
Otherwise rebase-helper thinks we're are a dist-git repository,
replacing the generated git archive with PR changes with the tarball
found in the 'sources' file.
2021-04-12 18:10:04 +02:00
Frantisek Sumsal
faf00fd7e1 ci: revert back to --werror instead of -Dc_args=-Werror
-Dc_args=/-Dcpp_args= don't play well with the RPM hardening macros
using $CFLAGS/$CPPFLAGS, since they're mutually exclusive.
2021-03-07 11:07:50 +01:00
Frantisek Sumsal
8615b1f292 ci: correctly drop patches with non four digit indexes 2021-03-06 22:53:09 +01:00