Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kbd for openSUSE:Factory checked in 
at 2026-03-06 18:16:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kbd (Old)
 and      /work/SRC/openSUSE:Factory/.kbd.new.561 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kbd"

Fri Mar  6 18:16:50 2026 rev:129 rq:1336594 version:2.7.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/kbd/kbd.changes  2025-04-07 17:35:11.077228486 
+0200
+++ /work/SRC/openSUSE:Factory/.kbd.new.561/kbd.changes 2026-03-06 
18:16:54.643967157 +0100
@@ -1,0 +2,6 @@
+Wed Mar  4 21:05:42 UTC 2026 - Stanislav Brabec <[email protected]>
+
+- Implement setfont --quiet to suppress warning from
+  systemd-vconsole-setup (boo#1212970, kbd-setfont-quiet.patch).
+
+-------------------------------------------------------------------

New:
----
  kbd-setfont-quiet.patch

----------(New B)----------
  New:- Implement setfont --quiet to suppress warning from
  systemd-vconsole-setup (boo#1212970, kbd-setfont-quiet.patch).
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kbd.spec ++++++
--- /var/tmp/diff_new_pack.e33LhT/_old  2026-03-06 18:16:56.324036891 +0100
+++ /var/tmp/diff_new_pack.e33LhT/_new  2026-03-06 18:16:56.328037058 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package kbd
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -63,6 +63,8 @@
 Patch15:        kbd-unicode-fxxx.patch
 # PATCH-FIX-UPSTREAM bsc#1240348 -- for reproducible builds
 Patch16:        
https://github.com/legionus/kbd/commit/eebaa3b69efd9e3d218f3436dc43ff3340020ef5.patch#/kbd-2.7.1-reproducible-gzip.patch
+# PATCH-FIX-OPENSUSE kbd-setfont-quiet.patch boo1212970 [email protected] -- 
Implement setfont --quiet to suppress warning from systemd-vconsole-setup.
+Patch17:        kbd-setfont-quiet.patch
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  bison


++++++ kbd-setfont-quiet.patch ++++++
>From 802686c2662b348e08a73283c06b1aac40a03f7a Mon Sep 17 00:00:00 2001
From: Stanislav Brabec <[email protected]>
Date: Wed, 4 Mar 2026 18:24:59 +0100
Subject: [PATCH] Implement setfont --quiet

Current systemd-vconsole-setup implementation uses try and fail approach
while calling setfont. Starting with 1e15af4, it sometimes causes ugly
syslog messages:

/usr/bin/setfont failed with exit status 71.
setfont: ERROR kdfontop.c:183 put_font_kdfontop: Unable to load such font with 
such kernel version
Setting fonts failed with a "system error", ignoring.

It seems that systemd upstream already tried to address this problem, but
at that time they haven't found a good way.

The setfont --quiet is specifically intended for systemd-vconsole-setup,
and it will allow to suppress the error in systemd, but keep it in other
cases.

Reference: https://bugzilla.opensuse.org/show_bug.cgi?id=1212970
Signed-off-by: Stanislav Brabec <[email protected]>
---
 docs/man/man8/setfont.8.gen |  4 ++++
 src/include/kbd/kfont.h     |  6 ++++++
 src/libkfont/context.c      | 13 +++++++++++++
 src/libkfont/kdfontop.c     |  3 ++-
 src/libkfont/kfontP.h       |  1 +
 src/libkfont/libkfont.map   |  2 ++
 src/setfont.c               |  5 +++++
 7 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/docs/man/man8/setfont.8.gen b/docs/man/man8/setfont.8.gen
index 57aa347..30767b2 100644
--- a/docs/man/man8/setfont.8.gen
+++ b/docs/man/man8/setfont.8.gen
@@ -242,6 +242,10 @@ map even if the specified map is empty.  This may be 
useful in unusual cases.
 \fB\-R\fR, \fB\-\-reset\fR
 Reset the screen font, size, and Unicode mapping to the bootup defaults.
 .TP
+\fB\-v\fR, \fB\-\-quiet\fR
+If kernel cannot load font, do not log error. This prevents ugly errors
+with systemd try-and-fail detection of a fully initialized console.
+.TP
 \fB\-v\fR, \fB\-\-verbose\fR
 Be verbose.
 .TP
diff --git a/src/include/kbd/kfont.h b/src/include/kbd/kfont.h
index 67ad917..b90e7fc 100644
--- a/src/include/kbd/kfont.h
+++ b/src/include/kbd/kfont.h
@@ -124,6 +124,12 @@ enum kfont_option {
        kfont_double_size,
 };
 
+int kfont_get_quietness(struct kfont_context *ctx)
+       KBD_ATTR_NONNULL(1);
+
+void kfont_set_quietness(struct kfont_context *ctx)
+       KBD_ATTR_NONNULL(1);
+
 int kfont_get_verbosity(struct kfont_context *ctx)
        KBD_ATTR_NONNULL(1);
 
diff --git a/src/libkfont/context.c b/src/libkfont/context.c
index 2cd0c35..7d8f656 100644
--- a/src/libkfont/context.c
+++ b/src/libkfont/context.c
@@ -84,6 +84,18 @@ kfont_inc_verbosity(struct kfont_context *ctx)
        ctx->verbose++;
 }
 
+int
+kfont_get_quietness(struct kfont_context *ctx)
+{
+       return ctx->quiet;
+}
+
+void
+kfont_set_quietness(struct kfont_context *ctx)
+{
+       ctx->quiet = 1;
+}
+
 void
 kfont_set_logger(struct kfont_context *ctx, kfont_logger_t fn)
 {
@@ -155,6 +167,7 @@ kfont_init(const char *prefix, struct kfont_context **ctx)
 
        p->progname = prefix;
        p->verbose = 0;
+       p->quiet = 0;
        p->options = 0;
        p->log_fn = log_stderr;
        p->mapdirpath = mapdirpath;
diff --git a/src/libkfont/kdfontop.c b/src/libkfont/kdfontop.c
index 4f1f0d2..7082906 100644
--- a/src/libkfont/kdfontop.c
+++ b/src/libkfont/kdfontop.c
@@ -210,7 +210,8 @@ put_font_kdfontop(struct kfont_context *ctx, int consolefd, 
unsigned char *buf,
                return 0;
 
        if (errno == ENOSYS) {
-               KFONT_ERR(ctx, _("Unable to load such font with such kernel 
version"));
+               if (!kfont_get_quietness(ctx))
+                       KFONT_ERR(ctx, _("Unable to load such font with such 
kernel version"));
                return -1;
        }
 
diff --git a/src/libkfont/kfontP.h b/src/libkfont/kfontP.h
index 032d9c2..17cbdea 100644
--- a/src/libkfont/kfontP.h
+++ b/src/libkfont/kfontP.h
@@ -20,6 +20,7 @@
 
 struct kfont_context {
        const char *progname;
+       int quiet;
        int verbose;
        kfont_logger_t log_fn;
 
diff --git a/src/libkfont/libkfont.map b/src/libkfont/libkfont.map
index 0ea76d2..c603851 100644
--- a/src/libkfont/libkfont.map
+++ b/src/libkfont/libkfont.map
@@ -29,6 +29,8 @@ KFONT_1.0 {
     kfont_write_psffont;
     kfont_read_unicodetable;
     kfont_write_unicodetable;
+    kfont_get_quietness;
+    kfont_set_quietness;
     kfont_get_verbosity;
     kfont_inc_verbosity;
     kfont_set_logger;
diff --git a/src/setfont.c b/src/setfont.c
index dc336c1..16a654f 100644
--- a/src/setfont.c
+++ b/src/setfont.c
@@ -186,6 +186,7 @@ int main(int argc, char *argv[])
                { "-d, --double",                    _("double size of font 
horizontally and vertically.") },
                { "-f, --force",                     _("force load unicode 
map.") },
                { "-R, --reset",                     _("reset the screen font, 
size, and unicode map to the bootup defaults.") },
+               { "-q, --quiet",                     _("if kernel cannot load 
font, do not log error.") },
                { "-v, --verbose",                   _("be more verbose.") },
                { "-V, --version",                   _("print version number.") 
},
                { "-h, --help",                      _("print this usage 
message.") },
@@ -199,6 +200,7 @@ int main(int argc, char *argv[])
                { "=v",  "verbose",           kbd_no_argument,       'v' },
                { "=V",  "version",           kbd_no_argument,       'V' },
                { "=h",  "help",              kbd_no_argument,       'H' },
+               { "=q",  "quiet",             kbd_no_argument,       'q' },
                { "+h",  "font-height",       kbd_required_argument, 'h' },
                { "=om", "output-consolemap", kbd_required_argument, 'M' },
                { "=ou", "output-unicodemap", kbd_required_argument, 'U' },
@@ -283,6 +285,9 @@ int main(int argc, char *argv[])
                        case 'V':
                                print_version_and_exit();
                                break;
+                       case 'q':
+                               kfont_set_quietness(kfont);
+                               break;
                        case 'H':
                                usage(EXIT_SUCCESS, opthelp);
                                break;
-- 
2.51.0

Reply via email to