| #!/bin/sh | |
| # SPDX-License-Identifier: LGPL-2.1-or-later | |
| if [ "$1" = "final" ]; then | |
| if command -v bootctl >/dev/null && [ -d "/efi" ]; then | |
| bootctl install | |
| fi | |
| cat >>/root/.gdbinit <<EOF | |
| set debuginfod enabled off | |
| set build-id-verbose 0 | |
| EOF | |
| if [ -n "$SANITIZERS" ]; then | |
| # ASAN and syscall filters aren't compatible with each other. | |
| find / -name '*.service' -type f -exec sed -i 's/^\(MemoryDeny\|SystemCall\)/# \1/' {} + | |
| # `systemd-hwdb update` takes > 50s when built with sanitizers so let's not run it by default. | |
| systemctl mask systemd-hwdb-update.service | |
| fi | |
| # Make sure dnsmasq.service doesn't start on boot on Debian/Ubuntu. | |
| rm -f /etc/systemd/system/multi-user.target.wants/dnsmasq.service | |
| fi | |
| # Temporary workaround until https://github.com/openSUSE/suse-module-tools/commit/158643414ddb8d8208016a5f03a4484d58944d7a | |
| # gets into OpenSUSE repos | |
| if [ "$1" = "final" ] && grep -q openSUSE /etc/os-release; then | |
| if [ -e "/usr/lib/systemd/system/boot-sysctl.service" ] && \ | |
| ! grep -F -q 'ConditionPathExists=/boot/sysctl.conf' "/usr/lib/systemd/system/boot-sysctl.service"; then | |
| mkdir -p "/etc/systemd/system/boot-sysctl.service.d/" | |
| printf '[Unit]\nConditionPathExists=/boot/sysctl.conf-%%v' >"/etc/systemd/system/boot-sysctl.service.d/99-temporary-workaround.conf" | |
| fi | |
| fi |