From 3da054c73777bba8d0ca464d081bb888fb6237f5 Mon Sep 17 00:00:00 2001 From: Michel Lind Date: Feb 14 2025 21:14:47 +0000 Subject: Allow overriding sbin directory This fixes the Koji build for Fedora 42+, where on an installed system, `/sbin` and `/usr/sbin` are symlinks to `/usr/bin`; see: https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin On a build root the symlink does not exist, so attempts in the spec to manipulate binaries in `%{_sbindir}/` fail as these binaries are installed to `%{buildroot}/usr/sbin` while the script is looking for `%{buildroot}/usr/bin` The default value is set to `/usr/sbin` so not passing `SBINDIR` when installing results in the current behavior being preserved. Signed-off-by: Michel Lind --- diff --git a/builder/Makefile b/builder/Makefile index 89656ed..c508624 100644 --- a/builder/Makefile +++ b/builder/Makefile @@ -2,6 +2,7 @@ PYVER_MAJOR := $(shell $(PYTHON) -c 'import sys; print(".".join(sys.version.spli BINFILES = kojid LIBEXECFILES = mergerepos +SBINDIR ?= /usr/sbin SYSTEMDSYSTEMUNITDIR = $(shell pkg-config systemd --variable=systemdsystemunitdir) _default: @@ -19,8 +20,8 @@ _install: exit 1; \ fi - mkdir -p $(DESTDIR)/usr/sbin - install -p -m 755 $(BINFILES) $(DESTDIR)/usr/sbin + mkdir -p $(DESTDIR)$(SBINDIR) + install -p -m 755 $(BINFILES) $(DESTDIR)$(SBINDIR) @if [ "$(PYVER_MAJOR)" -lt 3 ] ; then \ mkdir -p $(DESTDIR)/usr/libexec/kojid; \ diff --git a/util/Makefile b/util/Makefile index da48a44..d89ee89 100644 --- a/util/Makefile +++ b/util/Makefile @@ -1,4 +1,5 @@ BINFILES = kojira koji-gc koji-shadow koji-sweep-db koji-sidetag-cleanup +SBINDIR ?= /usr/sbin SYSTEMDSYSTEMUNITDIR = $(shell pkg-config systemd --variable=systemdsystemunitdir) _default: @@ -15,8 +16,8 @@ _install: echo "ERROR: A destdir is required"; \ exit 1; \ fi - mkdir -p $(DESTDIR)/usr/sbin - install -p -m 755 $(BINFILES) $(DESTDIR)/usr/sbin + mkdir -p $(DESTDIR)$(SBINDIR) + install -p -m 755 $(BINFILES) $(DESTDIR)$(SBINDIR) mkdir -p $(DESTDIR)/etc/kojira install -p -m 644 kojira.conf $(DESTDIR)/etc/kojira/kojira.conf diff --git a/vm/Makefile b/vm/Makefile index 4f2ea42..d8d3b47 100644 --- a/vm/Makefile +++ b/vm/Makefile @@ -1,5 +1,6 @@ BINFILES = kojivmd SHAREFILES = kojikamid +SBINDIR ?= /usr/sbin SYSTEMDSYSTEMUNITDIR = $(shell pkg-config systemd --variable=systemdsystemunitdir) _default: @@ -18,8 +19,8 @@ _install: kojikamid exit 1; \ fi - mkdir -p $(DESTDIR)/usr/sbin - install -p -m 755 $(BINFILES) $(DESTDIR)/usr/sbin + mkdir -p $(DESTDIR)$(SBINDIR) + install -p -m 755 $(BINFILES) $(DESTDIR)$(SBINDIR) mkdir -p $(DESTDIR)/usr/share/kojivmd install -p -m 644 $(SHAREFILES) $(DESTDIR)/usr/share/kojivmd