summaryrefslogtreecommitdiffstats
path: root/mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.build.chroot
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-16 18:19:48 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-16 18:19:48 +0000
commit68ea0ad933488166b8f6a9f8f2ea0287436cea25 (patch)
tree6ef163ae03d2463b703658a35f46a5807e32c36d /mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.build.chroot
parentAdding upstream version 256.2. (diff)
downloadsystemd-68ea0ad933488166b8f6a9f8f2ea0287436cea25.tar.xz
systemd-68ea0ad933488166b8f6a9f8f2ea0287436cea25.zip
Adding upstream version 256.4.upstream/256.4
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.build.chroot')
-rwxr-xr-xmkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.build.chroot141
1 files changed, 0 insertions, 141 deletions
diff --git a/mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.build.chroot b/mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.build.chroot
deleted file mode 100755
index 67481d0..0000000
--- a/mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.build.chroot
+++ /dev/null
@@ -1,141 +0,0 @@
-#!/bin/bash
-# SPDX-License-Identifier: LGPL-2.1-or-later
-set -e
-
-if ((NO_BUILD)); then
- exit 0
-fi
-
-# shellcheck source=/dev/null
-. /usr/lib/os-release
-ID="${ID%-*}"
-
-if [ ! -f "pkg/$ID/systemd.spec" ]; then
- echo "spec not found at pkg/$ID/systemd.spec, run mkosi once with -ff to make sure the spec is cloned" >&2
- exit 1
-fi
-
-if [ -d .git/ ] && [ -z "$(git status --porcelain)" ]; then
- TS="$(git show --no-patch --format=%ct HEAD)"
-else
- TS="${SOURCE_DATE_EPOCH:-$(date +%s)}"
-fi
-
-# The openSUSE filelists hardcode the manpage compression extension. This causes rpmbuild errors since we
-# disable manpage compression as the files cannot be found. Fix the issue by removing the compression
-# extension.
-find "pkg/$ID" -name "files.*" -exec sed --in-place 's/\.gz$//' {} \;
-
-if systemd-analyze compare-versions "$(rpm --version | cut -d ' ' -f3)" lt "4.20"; then
- # Fix the %install override so debuginfo packages are generated.
- tee --append /usr/lib/rpm/suse/macros <<'EOF'
-%install %{debug_package}\
-%%install\
-%{nil}
-EOF
-fi
-
-VERSION="$(cat meson.version)"
-RELEASE="$(date "+%Y%m%d%H%M%S" --date "@$TS")"
-
-DIST="$(rpm --eval %dist)"
-ARCH="$(rpm --eval %_arch)"
-SRCDEST="/usr/src/debug/systemd-$VERSION-${RELEASE}${DIST}.$ARCH"
-
-MKOSI_CFLAGS="-O0 -Wp,-U_FORTIFY_SOURCE"
-if ((WITH_DEBUG)); then
- MKOSI_CFLAGS="$MKOSI_CFLAGS -fdebug-prefix-map=../src=$SRCDEST"
-fi
-if ((LLVM)); then
- # TODO: Remove -fno-sanitize-function when https://github.com/systemd/systemd/issues/29972 is fixed.
- MKOSI_CFLAGS="$MKOSI_CFLAGS -shared-libasan -fno-sanitize=function"
-fi
-
-MKOSI_LDFLAGS="$(rpm --eval "%{?build_ldflags}")"
-if ((LLVM)) && [[ -n "$SANITIZERS" ]]; then
- MKOSI_LDFLAGS="$MKOSI_LDFLAGS -Wl,-rpath=$(clang --print-file-name="")lib/linux"
-fi
-
-# A macro can't have an empty body and currently opensuse does not specify any of its own linker flags so
-# set LDFLAGS to %{nil} if there are no linker flags.
-if [[ -z "${MKOSI_LDFLAGS// }" ]]; then
- MKOSI_LDFLAGS="%{nil}"
-fi
-
-MKOSI_MESON_OPTIONS="-D mode=developer -D b_sanitize=${SANITIZERS:-none}"
-if ((WIPE)); then
- MKOSI_MESON_OPTIONS="$MKOSI_MESON_OPTIONS --wipe"
-fi
-
-# TODO: Drop when the spec is fixed (either the patch is adapted or not applied when building for upstream).
-sed --in-place '/0009-pid1-handle-console-specificities-weirdness-for-s390.patch/d' "pkg/$ID/systemd.spec"
-
-build() {
- IFS=
- # shellcheck disable=SC2046
- env \
- --unset CFLAGS \
- --unset CXXFLAGS \
- --unset LDFLAGS \
- CC="$( ((LLVM)) && echo clang || echo gcc)" \
- CXX="$( ((LLVM)) && echo clang++ || echo g++)" \
- CC_LD="$( ((LLVM)) && echo lld)" \
- CXX_LD="$( ((LLVM)) && echo lld)" \
- rpmbuild \
- -bb \
- --build-in-place \
- --with upstream \
- $( ((WITH_TESTS)) || echo "--nocheck") \
- --define "_topdir /var/tmp" \
- --define "_sourcedir pkg/$ID" \
- --define "_rpmdir $OUTPUTDIR" \
- ${BUILDDIR:+"--define=_vpath_builddir $BUILDDIR"} \
- --define "_build_name_fmt %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm" \
- --define "_binary_payload w.ufdio" \
- $( ((WITH_DEBUG)) || echo "--define=debug_package %{nil}") \
- --define "vendor openSUSE" \
- --define "version_override $VERSION" \
- --define "release_override $RELEASE" \
- --define "__check_files sh -c '$(rpm --define "_topdir /var/tmp" --eval %__check_files) | tee /tmp/unpackaged-files'" \
- --define "build_cflags $(rpm --eval "%{?build_cflags}") $MKOSI_CFLAGS $CFLAGS" \
- --define "build_cxxflags $(rpm --eval "%{?build_cxxflags}") $MKOSI_CFLAGS $CFLAGS" \
- --define "build_ldflags $MKOSI_LDFLAGS $LDFLAGS" \
- $( ((MESON_VERBOSE)) || echo "--undefine=__meson_verbose") \
- --define "meson_extra_configure_options $MKOSI_MESON_OPTIONS $MESON_OPTIONS" \
- --define "__os_install_post /usr/lib/rpm/brp-suse %{nil}" \
- --define "__elf_exclude_path ^/usr/lib/systemd/tests/unit-tests/.*$" \
- --define "__script_requires %{nil}" \
- --define "_find_debuginfo_dwz_opts %{nil}" \
- --define "_fixperms true" \
- --noclean \
- "$@" \
- "pkg/$ID/systemd.spec"
-
- EXIT_STATUS=$?
-
- # Make sure we don't reconfigure twice.
- MKOSI_MESON_OPTIONS="${MKOSI_MESON_OPTIONS//"--wipe"/}"
-
- return $EXIT_STATUS
-}
-
-if ! build; then
- if [ ! -s /tmp/unpackaged-files ]; then
- exit 1
- fi
-
- # rpm will append to any existing systemd.lang so delete it explicitly so we don't get duplicate file
- # warnings.
- rm systemd.lang
-
- grep -v ".debug" /tmp/unpackaged-files >>"pkg/$ID/files.systemd"
- build --noprep --nocheck
-fi
-
-(
- shopt -s nullglob
- rm -f "$BUILDDIR"/*.rpm
-)
-
-cp "$OUTPUTDIR"/*.rpm "$PACKAGEDIR"
-cp "$OUTPUTDIR"/*.rpm "$BUILDDIR"