| #!/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 |