AUR AI Reviewer

Review Results

Version #2561 of plymouth-git · commit 9f9f75a18d8d · status Reviewed

Risk 0/5 · Safe .SRCINFO
Result #3976

Comment

The only change in this .SRCINFO hunk is a pkgver bump for the git snapshot from r570.g3704037f to r590.g29acf726. No source URLs, checksums, install scripts, permissions, or packaging logic are changed here, and there are no new red flags such as network fetches, privilege escalation, or persistence mechanisms. Based on the provided diff alone, this is low risk.

@@ -1,6 +1,6 @@
 pkgbase = plymouth-git
 	pkgdesc = Graphical boot splash screen (git version)
-	pkgver = 26.134.222.r570.g3704037f
+	pkgver = 26.134.222.r590.g29acf726
 	pkgrel = 1
 	url = https://www.freedesktop.org/wiki/Software/Plymouth/
 	arch = i686
Risk 0/5 · Safe .SRCINFO
Result #3977

Comment

The change only adds a new source file entry and corresponding checksum to .SRCINFO, matching the existing PKGBUILD which already ships and builds the local helper source `plymouth-font-file.c`. There is no indication of a new network fetch, privilege escalation, persistence mechanism, or other suspicious packaging behavior introduced by this metadata update. Risk is low because .SRCINFO is declarative and the added source is already accounted for in the package build.

@@ -33,6 +33,7 @@ pkgbase = plymouth-git
 	backup = etc/logrotate.d/bootlog
 	backup = etc/plymouth/plymouthd.conf
 	source = git+https://gitlab.freedesktop.org/plymouth/plymouth.git
+	source = plymouth-font-file.c
 	source = plymouth.initcpio_hook
 	source = plymouth.initcpio_install
 	source = plymouth-shutdown.initcpio_install
Risk 0/5 · Safe .SRCINFO
Result #3978

Comment

The .SRCINFO change is low risk. It updates the recorded pkgver and replaces/updates b2sums to match the current source set, including a newly added local source file (plymouth-font-file.c) that is already present in the PKGBUILD and is a small C helper compiled from source. I do not see any indication of network fetches, privilege escalation, persistence mechanisms, or suspicious external sources in this diff. The change appears to be a routine metadata refresh for the git package.

@@ -40,9 +41,10 @@ pkgbase = plymouth-git
 	source = tests.patch
 	source = 50-plymouth.conf
 	b2sums = SKIP
+	b2sums = 86990317418f8dc9365008798d18c99892521dcb35f74e0e56db48d55f7783ca1347191135665e486aefc9b677a074c090780454dc3892e64805bf705b6b5137
 	b2sums = afb2449b542aa3e971eab6b953c907347fdf4e499b4140a5e6736a7c99557c0d8d2fed28dbee56d84c8c619335c59bd382457d85e51145884ad0616e9095f232
-	b2sums = bd5569458817a29c300de2fb4abcd2e8cd4f57bdebca47cfed7644b548b36b48b0acc80931ae67e32b7b1feb6dad058dacb8b046ad67a734821d753af40c921e
-	b2sums = 1af3f8317ac34f2c080f2624a26784019cf12bf2e08ebb5f017762bdb82e4236b469b64e0bf4bfcde27a5dfb6a90cee416af0285548dd45e6c7ba0db8af85e45
+	b2sums = 2d6f0d9ef42eca9c0af585c16c8f2722c89bdd33b66ea13f2e8dc6558408c43caf806e252d8e6be0c99dac07550f26df88f8d5a248ea874a075fc1afbecea813
+	b2sums = 653917e0bc841bdf436edfd4cdb4228497786b71ccacda74004534bee8b223ed1bd6677e7ac8da4ba0e800cf424185af20e866763886b12571ac2fe6b1467dba
 	b2sums = 9cef4b4f67389904c183352c4d71e31dbf64dc5ccffab8857b782c4c7d5189ac44e09396271921e71908b301afc6cc0b32cf6d781c57c68d96f27a473735b49f
 	b2sums = b2223fed8fb59266e19bdbef2eb8d495b7b931f3b9b94055b1f9ce01ef0728107132e309a80e4ed39778005db25d2cf297a282839d88fd9b1f3e8d15079b507f
 	b2sums = 5ab47942d222c311b495d056f24bdd9d08438162fef1ca6e51982fc00018acbf0c31e4c61164b40950fe2511e17ba2a4635894d145d83a9b349e5a8a83f8c026
Risk 0/5 · Safe PKGBUILD
Result #3979

Comment

The change only bumps pkgver to a newer git snapshot in PKGBUILD. No source URLs, build commands, install scripts, permissions, or packaging logic were altered, and the diff does not introduce any new attack surface. Based on the provided hunk alone, this is a routine version update with no security concerns evident.

@@ -5,7 +5,7 @@
 
 pkgname=plymouth-git
 _pkgname=plymouth
-pkgver=26.134.222.r570.g3704037f
+pkgver=26.134.222.r590.g29acf726
 pkgrel=1
 pkgdesc='Graphical boot splash screen (git version)'
 arch=('i686' 'x86_64')
Risk 0/5 · Safe PKGBUILD
Result #3980

Comment

The change adds a small helper program, `plymouth-font-file.c`, to the build and installs it under `/usr/lib/plymouth/`. I reviewed the new source and it only parses a font description, resolves it via Pango/Fontconfig, and prints the matching font file path. There are no network calls, privilege changes, shell execution, persistence mechanisms, or writes outside `$pkgdir`. The PKGBUILD changes are limited to adding the source, compiling it with `gcc`, and installing the resulting binary. This is low risk and appears to be a legitimate build-time helper addition.

@@ -45,6 +45,7 @@ backup=(
 )
 source=(
   "git+https://gitlab.freedesktop.org/$_pkgname/$_pkgname.git"
+  plymouth-font-file.c
   plymouth.initcpio_hook
   plymouth.initcpio_install
   plymouth-shutdown.initcpio_install
Risk 0/5 · Safe PKGBUILD
Result #3981

Comment

The change adds a small locally-built helper binary (plymouth-font-file.c) to the package and installs it under /usr/lib/plymouth. I found no signs of network access, privilege escalation, persistence, or suspicious packaging behavior in the diff. The source remains pinned to the upstream git repo over HTTPS, and the new file is compiled from source during build rather than shipping a prebuilt blob. The only notable risk is that this introduces an additional executable into the package, but its code is straightforward and limited to querying fontconfig/pango for a font file path, with no obvious malicious behavior.

@@ -53,9 +54,10 @@ source=(
   50-plymouth.conf
 )
 b2sums=('SKIP'
+        '86990317418f8dc9365008798d18c99892521dcb35f74e0e56db48d55f7783ca1347191135665e486aefc9b677a074c090780454dc3892e64805bf705b6b5137'
         'afb2449b542aa3e971eab6b953c907347fdf4e499b4140a5e6736a7c99557c0d8d2fed28dbee56d84c8c619335c59bd382457d85e51145884ad0616e9095f232'
-        'bd5569458817a29c300de2fb4abcd2e8cd4f57bdebca47cfed7644b548b36b48b0acc80931ae67e32b7b1feb6dad058dacb8b046ad67a734821d753af40c921e'
-        '1af3f8317ac34f2c080f2624a26784019cf12bf2e08ebb5f017762bdb82e4236b469b64e0bf4bfcde27a5dfb6a90cee416af0285548dd45e6c7ba0db8af85e45'
+        '2d6f0d9ef42eca9c0af585c16c8f2722c89bdd33b66ea13f2e8dc6558408c43caf806e252d8e6be0c99dac07550f26df88f8d5a248ea874a075fc1afbecea813'
+        '653917e0bc841bdf436edfd4cdb4228497786b71ccacda74004534bee8b223ed1bd6677e7ac8da4ba0e800cf424185af20e866763886b12571ac2fe6b1467dba'
         '9cef4b4f67389904c183352c4d71e31dbf64dc5ccffab8857b782c4c7d5189ac44e09396271921e71908b301afc6cc0b32cf6d781c57c68d96f27a473735b49f'
         'b2223fed8fb59266e19bdbef2eb8d495b7b931f3b9b94055b1f9ce01ef0728107132e309a80e4ed39778005db25d2cf297a282839d88fd9b1f3e8d15079b507f'
         '5ab47942d222c311b495d056f24bdd9d08438162fef1ca6e51982fc00018acbf0c31e4c61164b40950fe2511e17ba2a4635894d145d83a9b349e5a8a83f8c026')
Risk 0/5 · Safe PKGBUILD
Result #3982

Comment

The change only removes two comments from prepare() and does not alter any build logic, sources, dependencies, or installed artifacts. No new network access, privilege escalation, persistence, or packaging integrity issues are introduced by this diff hunk. Based on the provided change alone, this is effectively a no-op from a security perspective.

@@ -74,11 +76,8 @@ prepare() {
   # Patch config file
   patch -p1 -i $srcdir/plymouthd.conf.patch
   
-  # ignore tests for now, the build keeps failing...
   # need to patch tests/meson.build to add '-Wno-unused-result' to silence failing error
   patch -p1 -i $srcdir/tests.patch
-  #sed -i "s/^subdir('tests')/# subdir('tests')/" ./meson.build
-
 
   # Switch from Cantarell to Adwaita Sans; set monospace font to Adwaita Mono
   sed -i 's/Cantarell/Adwaita Sans/
Risk 0/5 · Safe PKGBUILD
Result #3983

Comment

The change adds a small helper program built from a newly packaged local source file and installs it under /usr/lib/plymouth. I did not find any obvious supply-chain red flags in the diff: no network fetches, no privilege escalation, no writes outside $pkgdir, and the helper source is straightforward code that queries Pango/Fontconfig for a font file path. The only notable risk is that the package now compiles an additional local C source during build, but it is included in source=() with a checksum and does not appear malicious.

@@ -91,6 +90,9 @@ build() {
     -D docs=false
   meson compile -C build
 
+  # Compile font helper script
+  gcc -o plymouth-font-file plymouth-font-file.c $CFLAGS $LDFLAGS $(pkg-config --cflags --libs pangoft2)
+
   # Convert logo for the spinner theme
   rsvg-convert '/usr/share/pixmaps/archlinux-logo-text-dark.svg' -o archlinux-logo-text-dark.png
 }
Risk 0/5 · Safe PKGBUILD
Result #3984

Comment

The change adds a small locally-built helper binary (plymouth-font-file) from a new source file and installs it under /usr/lib/plymouth. I did not find signs of network fetches, privilege escalation, persistence, or writes outside $pkgdir. The helper is straightforward C code using Pango/Fontconfig to resolve a font file path from a font description; it does not execute shell commands or access the network. The PKGBUILD changes are limited to adding the source, compiling it during build(), and installing it during package(). Overall this looks low risk.

@@ -99,6 +101,9 @@ package() {
   meson install -C build --destdir "$pkgdir"
   rm -r "$pkgdir/run"
 
+  # Install font helper script
+  install -Dm755 plymouth-font-file "$pkgdir/usr/lib/plymouth/plymouth-font-file"
+
   # Install mkinitcpio hook
   install -Dm644 plymouth.initcpio_hook "$pkgdir/usr/lib/initcpio/hooks/$_pkgname"
   install -Dm644 plymouth.initcpio_install "$pkgdir/usr/lib/initcpio/install/$_pkgname"
Risk 0/5 · Safe REUSE.toml
Result #3985

Comment

The change only updates REUSE metadata to include two additional tracked files, `plymouth-font-file.c` and `tests.patch`, under the existing license/copyright declaration. This file does not affect build logic, install scripts, or runtime behavior, and the added entries are not themselves suspicious. No security-relevant behavior is introduced by this metadata-only change.

@@ -21,7 +21,8 @@ path = [
     "*.conf",
     "plymouthd.conf.patch",
     "*initcpio*",
-    
+    "plymouth-font-file.c",
+    "tests.patch",
 ]
 SPDX-FileCopyrightText = "Arch Linux contributors"
 SPDX-License-Identifier = "0BSD"
Risk 0/5 · Safe plymouth-font-file.c
Result #3986

Comment

The new file is a small standalone helper that parses a font description, loads the font via Pango/Fontconfig, and prints the resolved font file path. It does not fetch network resources, execute shell commands, write outside the build tree, or introduce persistence/privilege-escalation behavior. The only notable risk is a potential crash/undefined behavior if pango_font_description_from_string() fails and returns NULL, since the code does not check that before calling pango_font_description_set_weight() and pango_context_load_font(); however, that is a robustness issue rather than a security issue in this context.

@@ -0,0 +1,67 @@
+#include <glib.h>
+#include <pango/pango.h>
+#include <pango/pangoft2.h>
+#include <fontconfig/fontconfig.h>
+
+int main(int argc, char **argv)
+{
+    gboolean bold = FALSE;
+
+    GOptionEntry options[] = {
+        { "bold", 'b', 0, G_OPTION_ARG_NONE, &bold,
+          "Use the bold font variant", NULL },
+        { NULL }
+    };
+
+    GOptionContext *context = g_option_context_new("FONT");
+    g_option_context_set_summary(
+        context,
+        "Find the font file matching a Pango font description."
+    );
+    g_option_context_add_main_entries(context, options, NULL);
+
+    GError *error = NULL;
+    if (!g_option_context_parse(context, &argc, &argv, &error)) {
+        g_printerr("%s\n", error->message);
+        g_error_free(error);
+        g_option_context_free(context);
+        return 1;
+    }
+
+    if (argc != 2) {
+        gchar *help = g_option_context_get_help(context, TRUE, NULL);
+        g_printerr("%s", help);
+        g_free(help);
+        g_option_context_free(context);
+        return 1;
+    }
+
+    PangoFontMap *map = PANGO_FONT_MAP(pango_ft2_font_map_new());
+    PangoContext *pango_context = pango_font_map_create_context(map);
+    PangoFontDescription *desc = pango_font_description_from_string(argv[1]);
+
+    if (bold)
+        pango_font_description_set_weight(desc, PANGO_WEIGHT_BOLD);
+
+    PangoFont *font = pango_context_load_font(pango_context, desc);
+    int status = 1;
+
+    if (font) {
+        FcPattern *pattern = pango_fc_font_get_pattern(PANGO_FC_FONT(font));
+        FcChar8 *file;
+
+        if (FcPatternGetString(pattern, FC_FILE, 0, &file) == FcResultMatch) {
+            g_print("%s\n", file);
+            status = 0;
+        }
+    }
+
+    g_clear_object(&font);
+    pango_font_description_free(desc);
+    g_object_unref(pango_context);
+    g_object_unref(map);
+    g_option_context_free(context);
+
+    return status;
+}
+
Risk 0/5 · Safe plymouth-shutdown.initcpio_install
Result #3987

Comment

The change replaces ad hoc font parsing and fc-match lookups with calls to /usr/lib/plymouth/plymouth-font-file, which is an upstream helper for resolving font files. This is a packaging/build-time behavior change only; it does not introduce network access, privilege escalation, persistence, or writes outside $pkgdir. The fallback defaults (Sans/monospace) are reasonable and the helper is invoked with fixed arguments. No security red flags are evident in this hunk.

@@ -4,21 +4,14 @@ build() {
   # get default theme settings
   local PLYMOUTH_THEME_NAME=$(plymouth-set-default-theme)
   local PLYMOUTH_THEME_DIR="/usr/share/plymouth/themes/$PLYMOUTH_THEME_NAME"
-    local PLYMOUTH_IMAGE_DIR=$(sed -n "s/^ *ImageDir *= *//p" "$PLYMOUTH_THEME_DIR/$PLYMOUTH_THEME_NAME.plymouth")
-  local PLYMOUTH_FONT_NAME=$(sed -n "s/^ *Font *= *//p" "$PLYMOUTH_THEME_DIR/$PLYMOUTH_THEME_NAME.plymouth" | sed -e 's/ [0-9]\+ *$//' -e 's/ \(Regular\|Bold\|Italic\|Bold Italic\|Oblique\|Bold Oblique\|Thin\|Light\|Extra Bold\) *$/:style=\1/')
-  local PLYMOUTH_FONT_PATH=$(fc-match -f %{file} "$PLYMOUTH_FONT_NAME")
-    local PLYMOUTH_TITLE_FONT_NAME=$(sed -n "s/^ *TitleFont *= *//p" "$PLYMOUTH_THEME_DIR/$PLYMOUTH_THEME_NAME.plymouth" | sed -e 's/ [0-9]\+ *$//' -e 's/ \(Regular\|Bold\|Italic\|Bold Italic\|Oblique\|Bold Oblique\|Thin\|Light\|Extra Bold\) *$/:style=\1/')
-  local PLYMOUTH_TITLE_FONT_PATH=$(fc-match -f %{file} "$PLYMOUTH_TITLE_FONT_NAME")
-  local PLYMOUTH_MONOSPACE_FONT_NAME=$(sed -n "s/^ *MonospaceFont *= *//p" "$PLYMOUTH_THEME_DIR/$PLYMOUTH_THEME_NAME.plymouth" | sed -e 's/ [0-9]\+ *$//' -e 's/ \(Regular\|Bold\|Italic\|Bold Italic\|Oblique\|Bold Oblique\|Thin\|Light\|Extra Bold\) *$/:style=\1/')
-
-  if [ -n "$PLYMOUTH_MONOSPACE_FONT_NAME" ]; then
-    local PLYMOUTH_MONOSPACE_BASE_FONT_NAME=$(fc-match -f %{family} "$PLYMOUTH_MONOSPACE_FONT_NAME" | sed 's/,.*//')
-    local PLYMOUTH_MONOSPACE_FONT_PATH=$(fc-match -f %{file} "$PLYMOUTH_MONOSPACE_BASE_FONT_NAME")
-    local PLYMOUTH_MONOSPACE_BOLD_FONT_PATH=$(fc-match -f %{file} "$PLYMOUTH_MONOSPACE_BASE_FONT_NAME:weight=bold")
-  else
-    local PLYMOUTH_MONOSPACE_FONT_PATH=$(fc-match -f %{file} monospace)
-    local PLYMOUTH_MONOSPACE_BOLD_FONT_PATH=$(fc-match -f %{file} monospace:weight=bold)
-  fi
+  local PLYMOUTH_IMAGE_DIR=$(sed -n "s/^ *ImageDir *= *//p" "$PLYMOUTH_THEME_DIR/$PLYMOUTH_THEME_NAME.plymouth")
+  local PLYMOUTH_FONT_NAME=$(sed -n "s/^ *Font *= *//p" "$PLYMOUTH_THEME_DIR/$PLYMOUTH_THEME_NAME.plymouth")
+  local PLYMOUTH_FONT_PATH=$(/usr/lib/plymouth/plymouth-font-file "${PLYMOUTH_FONT_NAME:-Sans}")
+  local PLYMOUTH_TITLE_FONT_NAME=$(sed -n "s/^ *TitleFont *= *//p" "$PLYMOUTH_THEME_DIR/$PLYMOUTH_THEME_NAME.plymouth")
+  local PLYMOUTH_TITLE_FONT_PATH=$(/usr/lib/plymouth/plymouth-font-file "${PLYMOUTH_TITLE_FONT_NAME:-Sans}")
+  local PLYMOUTH_MONOSPACE_FONT_NAME=$(sed -n "s/^ *MonospaceFont *= *//p" "$PLYMOUTH_THEME_DIR/$PLYMOUTH_THEME_NAME.plymouth")
+  local PLYMOUTH_MONOSPACE_FONT_PATH=$(/usr/lib/plymouth/plymouth-font-file "${PLYMOUTH_MONOSPACE_FONT_NAME:-monospace}")
+  local PLYMOUTH_MONOSPACE_BOLD_FONT_PATH=$(/usr/lib/plymouth/plymouth-font-file --bold "${PLYMOUTH_MONOSPACE_FONT_NAME:-monospace}")
 
   # copy helper binary
   if [ -f '/lib/plymouth/plymouthd-fd-escrow' ]; then
Risk 0/5 · Safe plymouth-shutdown.initcpio_install
Result #3988

Comment

The change is a no-op: it only adds a trailing blank line to plymouth-shutdown.initcpio_install and does not alter any executable logic, package metadata, install hooks, or systemd/initcpio behavior. No security impact is evident from this diff hunk.

@@ -55,3 +48,4 @@ Plymouth. This is needed to display the console messages during shutdown and to
 hold on to the pixel-displays fds until the end.
 HELPEOF
 }
+
Risk 0/5 · Safe plymouth.initcpio_install
Result #3989

Comment

The change replaces fc-match-based font resolution with calls to /usr/lib/plymouth/plymouth-font-file. This is a packaging/build-time behavior change, but it does not introduce network access, privilege escalation, persistence, or writes outside the package build context. The helper path is fixed and the arguments are derived from the theme file with safe defaults, so there is no obvious injection or supply-chain risk in this hunk. I do note a potential functional regression if the helper is unavailable or behaves differently than fc-match, but that is not a security issue.

@@ -6,19 +6,11 @@ build() {
   local PLYMOUTH_THEME_DIR="/usr/share/plymouth/themes/$PLYMOUTH_THEME_NAME"
   local PLYMOUTH_MODULE_NAME=$(sed -n "s/^ *ModuleName *= *//p" "$PLYMOUTH_THEME_DIR/$PLYMOUTH_THEME_NAME.plymouth")
   local PLYMOUTH_IMAGE_DIR=$(sed -n "s/^ *ImageDir *= *//p" "$PLYMOUTH_THEME_DIR/$PLYMOUTH_THEME_NAME.plymouth")
-  local PLYMOUTH_FONT_NAME=$(sed -n "s/^ *Font *= *//p" "$PLYMOUTH_THEME_DIR/$PLYMOUTH_THEME_NAME.plymouth" | sed -e 's/ [0-9]\+ *$//' -e 's/ \(Regular\|Bold\|Italic\|Bold Italic\|Oblique\|Bold Oblique\|Thin\|Light\|Extra Bold\) *$/:style=\1/')
-  local PLYMOUTH_FONT_PATH=$(fc-match -f %{file} "$PLYMOUTH_FONT_NAME")
-  local PLYMOUTH_MONOSPACE_FONT_NAME=$(sed -n "s/^ *MonospaceFont *= *//p" "$PLYMOUTH_THEME_DIR/$PLYMOUTH_THEME_NAME.plymouth" | sed -e 's/ [0-9]\+ *$//' -e 's/ \(Regular\|Bold\|Italic\|Bold Italic\|Oblique\|Bold Oblique\|Thin\|Light\|Extra Bold\) *$/:style=\1/')
-
-  if [ -n "$PLYMOUTH_MONOSPACE_FONT_NAME" ]; then
-  local PLYMOUTH_MONOSPACE_BASE_FONT_NAME=$(fc-match -f %{family} "$PLYMOUTH_MONOSPACE_FONT_NAME" | sed 's/,.*//')
-    local PLYMOUTH_MONOSPACE_FONT_PATH=$(fc-match -f %{file} "$PLYMOUTH_MONOSPACE_BASE_FONT_NAME")
-    local PLYMOUTH_MONOSPACE_BOLD_FONT_PATH=$(fc-match -f %{file} "$PLYMOUTH_MONOSPACE_BASE_FONT_NAME:weight=bold")
-
-  else
-    local PLYMOUTH_MONOSPACE_FONT_PATH=$(fc-match -f %{file} monospace)
-    local PLYMOUTH_MONOSPACE_BOLD_FONT_PATH=$(fc-match -f %{file} monospace:weight=bold)
-  fi
+  local PLYMOUTH_FONT_NAME=$(sed -n "s/^ *Font *= *//p" "$PLYMOUTH_THEME_DIR/$PLYMOUTH_THEME_NAME.plymouth")
+  local PLYMOUTH_FONT_PATH=$(/usr/lib/plymouth/plymouth-font-file "${PLYMOUTH_FONT_NAME:-Sans}")
+  local PLYMOUTH_MONOSPACE_FONT_NAME=$(sed -n "s/^ *MonospaceFont *= *//p" "$PLYMOUTH_THEME_DIR/$PLYMOUTH_THEME_NAME.plymouth")
+  local PLYMOUTH_MONOSPACE_FONT_PATH=$(/usr/lib/plymouth/plymouth-font-file "${PLYMOUTH_MONOSPACE_FONT_NAME:-monospace}")
+  local PLYMOUTH_MONOSPACE_BOLD_FONT_PATH=$(/usr/lib/plymouth/plymouth-font-file --bold "${PLYMOUTH_MONOSPACE_FONT_NAME:-monospace}")
 
   # exit if no module exists on the system for the theme
   if [ ! -f "/usr/lib/plymouth/$PLYMOUTH_MODULE_NAME.so" ]; then
Risk 0/5 · Safe plymouth.initcpio_install
Result #3990

Comment

The added behavior copies /etc/vconsole.conf into the initramfs when present. This is a local configuration file used to preserve keyboard mapping for Plymouth, and the change does not introduce network access, privilege escalation, persistence, or execution of untrusted code. The file is only included if non-empty, and the rest of the hook continues to install files into the initramfs as before. No obvious security regression is present in this diff hunk.

@@ -45,6 +37,11 @@ build() {
     '/usr/share/plymouth/plymouthd.defaults' \
     '/etc/plymouth/plymouthd.conf'
 
+  # copy vconsole settings for keyboard mapping
+  if [[ -s /etc/vconsole.conf ]]; then
+    add_file /etc/vconsole.conf
+  fi
+
   # copy fonts
   if [ -n "$PLYMOUTH_FONT_PATH" ]; then
     add_file "$PLYMOUTH_FONT_PATH" '/usr/share/fonts/Plymouth.ttf'