Merge branch 'make-deps-less-hard' into 'main'

plymouth-populate-initrd: Handle xkb and fontconfig not being installed

See merge request plymouth/plymouth!273
This commit is contained in:
Ray Strode 2023-12-25 19:47:06 +00:00
commit 2d979da044

View file

@ -475,49 +475,51 @@ inst ${PLYMOUTH_POLICYDIR}/plymouthd.defaults $INITRDDIR
inst ${PLYMOUTH_CONFDIR}/plymouthd.conf $INITRDDIR
# Install xkb info
mkdir -p "${INITRDDIR}/${X11_DIRECTORY}/xkb/"
mkdir -p "${INITRDDIR}/${X11_DIRECTORY}/xkb/compat/"
if [ -d "${X11_DIRECTORY}" ]; then
mkdir -p "${INITRDDIR}/${X11_DIRECTORY}/xkb/"
mkdir -p "${INITRDDIR}/${X11_DIRECTORY}/xkb/compat/"
mkdir -p "${INITRDDIR}/${X11_DIRECTORY}/xkb/keycodes/"
mkdir -p "${INITRDDIR}/${X11_DIRECTORY}/xkb/rules/"
mkdir -p "${INITRDDIR}/${X11_DIRECTORY}/xkb/symbols/"
mkdir -p "${INITRDDIR}/${X11_DIRECTORY}/xkb/types/"
mkdir -p "${INITRDDIR}/${X11_DIRECTORY}/locale/"
inst ${X11_DIRECTORY}/xkb/compat/accessx $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/basic $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/caps $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/complete $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/iso9995 $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/ledcaps $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/lednum $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/ledscroll $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/level5 $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/misc $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/mousekeys $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/xfree86 $INITRDDIR
inst ${X11_DIRECTORY}/xkb/keycodes/aliases $INITRDDIR
inst ${X11_DIRECTORY}/xkb/keycodes/evdev $INITRDDIR
inst ${X11_DIRECTORY}/xkb/rules/evdev $INITRDDIR
find ${X11_DIRECTORY}/xkb/symbols -maxdepth 1 ! -type d | while read file; do
inst $file $INITRDDIR
done
inst ${X11_DIRECTORY}/xkb/types/basic $INITRDDIR
inst ${X11_DIRECTORY}/xkb/types/complete $INITRDDIR
inst ${X11_DIRECTORY}/xkb/types/extra $INITRDDIR
inst ${X11_DIRECTORY}/xkb/types/iso9995 $INITRDDIR
inst ${X11_DIRECTORY}/xkb/types/level5 $INITRDDIR
inst ${X11_DIRECTORY}/xkb/types/mousekeys $INITRDDIR
inst ${X11_DIRECTORY}/xkb/types/numpad $INITRDDIR
inst ${X11_DIRECTORY}/xkb/types/pc $INITRDDIR
# In the off chance the user uses their compose key when
# typing their password, install compose sequences
inst ${X11_DIRECTORY}/locale/compose.dir $INITRDDIR
grep UTF-8/Compose: ${X11_DIRECTORY}/locale/compose.dir | awk -F: '{ print $1 }' | sort -u | xargs dirname | while read DIR; do
find ${X11_DIRECTORY}/locale/$DIR -maxdepth 1 ! -type d | while read file; do
mkdir -p "${INITRDDIR}/${X11_DIRECTORY}/xkb/keycodes/"
mkdir -p "${INITRDDIR}/${X11_DIRECTORY}/xkb/rules/"
mkdir -p "${INITRDDIR}/${X11_DIRECTORY}/xkb/symbols/"
mkdir -p "${INITRDDIR}/${X11_DIRECTORY}/xkb/types/"
mkdir -p "${INITRDDIR}/${X11_DIRECTORY}/locale/"
inst ${X11_DIRECTORY}/xkb/compat/accessx $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/basic $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/caps $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/complete $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/iso9995 $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/ledcaps $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/lednum $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/ledscroll $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/level5 $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/misc $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/mousekeys $INITRDDIR
inst ${X11_DIRECTORY}/xkb/compat/xfree86 $INITRDDIR
inst ${X11_DIRECTORY}/xkb/keycodes/aliases $INITRDDIR
inst ${X11_DIRECTORY}/xkb/keycodes/evdev $INITRDDIR
inst ${X11_DIRECTORY}/xkb/rules/evdev $INITRDDIR
find ${X11_DIRECTORY}/xkb/symbols -maxdepth 1 ! -type d | while read file; do
inst $file $INITRDDIR
done
done
done
inst ${X11_DIRECTORY}/xkb/types/basic $INITRDDIR
inst ${X11_DIRECTORY}/xkb/types/complete $INITRDDIR
inst ${X11_DIRECTORY}/xkb/types/extra $INITRDDIR
inst ${X11_DIRECTORY}/xkb/types/iso9995 $INITRDDIR
inst ${X11_DIRECTORY}/xkb/types/level5 $INITRDDIR
inst ${X11_DIRECTORY}/xkb/types/mousekeys $INITRDDIR
inst ${X11_DIRECTORY}/xkb/types/numpad $INITRDDIR
inst ${X11_DIRECTORY}/xkb/types/pc $INITRDDIR
# In the off chance the user uses their compose key when
# typing their password, install compose sequences
inst ${X11_DIRECTORY}/locale/compose.dir $INITRDDIR
grep UTF-8/Compose: ${X11_DIRECTORY}/locale/compose.dir | awk -F: '{ print $1 }' | sort -u | xargs dirname | while read DIR; do
find ${X11_DIRECTORY}/locale/$DIR -maxdepth 1 ! -type d | while read file; do
inst $file $INITRDDIR
done
done
fi
if [ -z "$PLYMOUTH_THEME_NAME" ]; then
echo "No default plymouth plugin is set" >&2
@ -592,17 +594,18 @@ if [ "${PLYMOUTH_IMAGE_DIR}" != "${PLYMOUTH_THEME_DIR}" -a -d "${PLYMOUTH_SYSROO
inst_recur "${PLYMOUTH_IMAGE_DIR}"
fi
DefaultFont=$(fc-match -f %{file})
inst "$DefaultFont" $INITRDDIR
DefaultMonospaceFont=$(fc-match -f %{file} monospace)
inst "$DefaultMonospaceFont" $INITRDDIR
DEFAULT_FONT=$(fc-match -f %{file})
[ ! -z "$DEFAULT_FONT" ] && inst "$DEFAULT_FONT" $INITRDDIR
DEFAULT_MONOSPACE_FONT=$(fc-match -f %{file} monospace)
[ ! -z "$DEFAULT_MONOSPACE_FONT" ] && inst "$DEFAULT_FONT" $INITRDDIR
inst "$DEFAULT_MONOSPACE_FONT" $INITRDDIR
if [ -f "${PLYMOUTH_PLUGIN_PATH}/label-freetype.so" ]; then
inst ${PLYMOUTH_PLUGIN_PATH}/label-freetype.so $INITRDDIR
# The label-freetype plugin expects it at this location
mkdir -p $INITRDDIR/usr/share/fonts
ln -s "$DefaultFont" $INITRDDIR/usr/share/fonts/Plymouth.ttf
ln -s "$DefaultMonospaceFont" $INITRDDIR/usr/share/fonts/Plymouth-monospace.ttf
ln -s "$DEFAULT_FONT" $INITRDDIR/usr/share/fonts/Plymouth.ttf
ln -s "$DEFAULT_MONOSPACE_FONT" $INITRDDIR/usr/share/fonts/Plymouth-monospace.ttf
fi
if [ -L ${PLYMOUTH_SYSROOT}${PLYMOUTH_DATADIR}/plymouth/themes/default.plymouth ]; then