#!/bin/bash # SPDX-License-Identifier: LGPL-2.1-or-later set -e if [ "$1" = "build" ] || ((NO_BUILD)); then exit 0 fi # shellcheck source=/dev/null . "$BUILDROOT/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 for DEPS in --requires --buildrequires; do mkosi-chroot \ rpmspec \ --with upstream \ --query \ "$DEPS" \ --define "_topdir /var/tmp" \ --define "_sourcedir pkg/$ID" \ "pkg/$ID/systemd.spec" | grep --invert-match --regexp systemd --regexp /bin/sh --regexp "rpmlib(" --regexp udev | sort --unique | tee /tmp/buildrequires | xargs --delimiter '\n' mkosi-install done until mkosi-chroot \ rpmbuild \ -bd \ --build-in-place \ --with upstream \ --define "_topdir /var/tmp" \ --define "_sourcedir pkg/$ID" \ --define "_build_name_fmt %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm" \ "pkg/$ID/systemd.spec" do EXIT_STATUS=$? if [ $EXIT_STATUS -ne 11 ]; then exit $EXIT_STATUS fi mkosi-chroot \ rpm \ --query \ --package \ --requires \ /var/tmp/SRPMS/systemd-*.buildreqs.nosrc.rpm | grep --invert-match '^rpmlib(' | sort --unique >/tmp/dynamic-buildrequires sort /tmp/buildrequires /tmp/dynamic-buildrequires | uniq --unique | tee --append /tmp/buildrequires | xargs --delimiter '\n' mkosi-install done