diff --git a/scripts/plymouth-populate-initrd.in b/scripts/plymouth-populate-initrd.in index 8ccac22c..a7919ded 100755 --- a/scripts/plymouth-populate-initrd.in +++ b/scripts/plymouth-populate-initrd.in @@ -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