mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-21 18:03:41 +03:00
mkosi: work-around to make systemd build in Fedora images that lack populated /etc
On Fedora /usr/bin/ld is a symlink managed via the "alternatives" system. This unfortunately means the binary is not usable in environments where /var or /etc are unpopulated. Let's address this by redirecting "ld" to "ld.bfd" manually if such an environment is detected, via $PATH. This is useful for building systemd in mkosi with UsrOnly=1 set.
This commit is contained in:
parent
d997861ea7
commit
7211773a55
12
mkosi.build
12
mkosi.build
@ -14,6 +14,18 @@ if ! mountpoint -q "$SRCDIR"; then
|
|||||||
umask 022
|
umask 022
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# On Fedora "ld" is (unfortunately — if you ask me) managed via
|
||||||
|
# "alternatives". Since we'd like to support building images in environments
|
||||||
|
# with only /usr/ around (e.g. mkosi's UsrOnly=1 option), we have the problem
|
||||||
|
# that /usr/bin/ld is a symlink that points to a non-existing file in
|
||||||
|
# /etc/alternative/ in this mode. Let's work around this for now by manually
|
||||||
|
# redirect "ld" to "ld.bfd", i.e. circumventing the /usr/bin/ld symlink.
|
||||||
|
if [ ! -x /usr/bin/ld -a -x /usr/bin/ld.bfd ] ; then
|
||||||
|
mkdir -p "$HOME"/bin
|
||||||
|
ln -s /usr/bin/ld.bfd "$HOME"/bin/ld
|
||||||
|
PATH="$HOME/bin:$PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
# If mkosi.builddir/ exists mkosi will set $BUILDDIR to it, let's then use it
|
# If mkosi.builddir/ exists mkosi will set $BUILDDIR to it, let's then use it
|
||||||
# as out-of-tree build dir. Otherwise, let's make up our own builddir.
|
# as out-of-tree build dir. Otherwise, let's make up our own builddir.
|
||||||
[ -z "$BUILDDIR" ] && BUILDDIR=build
|
[ -z "$BUILDDIR" ] && BUILDDIR=build
|
||||||
|
Loading…
x
Reference in New Issue
Block a user