Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package setxkbmap for openSUSE:Factory 
checked in at 2026-07-06 12:27:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/setxkbmap (Old)
 and      /work/SRC/openSUSE:Factory/.setxkbmap.new.1982 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "setxkbmap"

Mon Jul  6 12:27:09 2026 rev:11 rq:1362666 version:1.3.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/setxkbmap/setxkbmap.changes      2023-05-16 
14:27:14.107676342 +0200
+++ /work/SRC/openSUSE:Factory/.setxkbmap.new.1982/setxkbmap.changes    
2026-07-06 12:27:12.712730542 +0200
@@ -1,0 +2,15 @@
+Sun Jun 28 17:51:44 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 1.3.5:
+  * Man page: update history from XFree86 4.3 to 3.2
+  * setxkbmap references appear as far back as 3.2 in the XFree86
+    Changelog.
+  * manual page: Rewrite in semantic markup
+  * Rewrite the reference manual in BSD-style mdoc(7) semantic
+    markup, providing greatly enhanced search on all supported manual
+    compilers.
+  * Improve man page formatting
+  * More closely follow common style as described on
+  * meson: Add option to build with meson
+
+-------------------------------------------------------------------

Old:
----
  setxkbmap-1.3.4.tar.xz

New:
----
  setxkbmap-1.3.5.tar.xz

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

Other differences:
------------------
++++++ setxkbmap.spec ++++++
--- /var/tmp/diff_new_pack.oUFGLE/_old  2026-07-06 12:27:13.128744976 +0200
+++ /var/tmp/diff_new_pack.oUFGLE/_new  2026-07-06 12:27:13.128744976 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package setxkbmap
 #
-# Copyright (c) 2023 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
@@ -17,7 +17,7 @@
 
 
 Name:           setxkbmap
-Version:        1.3.4
+Version:        1.3.5
 Release:        0
 Summary:        Utility to change the keyboard layout in X
 License:        MIT

++++++ setxkbmap-1.3.4.tar.xz -> setxkbmap-1.3.5.tar.xz ++++++
++++ 16583 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/setxkbmap-1.3.4/ChangeLog new/setxkbmap-1.3.5/ChangeLog
--- old/setxkbmap-1.3.4/ChangeLog       2023-05-15 03:58:28.000000000 +0200
+++ new/setxkbmap-1.3.5/ChangeLog       2026-03-29 00:40:45.000000000 +0100
@@ -1,3 +1,85 @@
+commit 66d92298f83dd3406303fd2b376d70f5cb1b704d
+Author: Alan Coopersmith <[email protected]>
+Date:   Sat Mar 28 16:35:44 2026 -0700
+
+    setxkbmap 1.3.5
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+
+commit f6757c7482553e390e054b3674daec80719f07eb
+Author: Alan Coopersmith <[email protected]>
+Date:   Sat Jan 24 16:32:38 2026 -0800
+
+    Man page: update history from XFree86 4.3 to 3.2
+    
+    setxkbmap references appear as far back as 3.2 in the XFree86 Changelog.
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+    Part-of: 
<https://gitlab.freedesktop.org/xorg/app/setxkbmap/-/merge_requests/13>
+
+commit 67443deb584cd489c31e04e1c6ba6ee17af11bfe
+Author: Alexander Ziaee <[email protected]>
+Date:   Tue May 6 15:28:01 2025 -0400
+
+    manual page: Rewrite in semantic markup
+    
+    Rewrite the reference manual in BSD-style mdoc(7) semantic markup,
+    providing greatly enhanced search on all supported manual compilers.
+    Massage usage for consistency.
+    
+    Signed-off-by: Alexander Ziaee <[email protected]>
+    Part-of: 
<https://gitlab.freedesktop.org/xorg/app/setxkbmap/-/merge_requests/8>
+
+commit c7772933d6bf1a0d4ce5eaf13c645d53561841c4
+Author: Alan Coopersmith <[email protected]>
+Date:   Sun Jan 11 11:20:41 2026 -0800
+
+    gitlab CI: drop the ci-fairy check-mr job
+    
+    The only thing this checked was the checkbox for allowing maintainers to
+    edit the MR. Changed permissions checks now fail this job but luckily
+    the setting it checked has been the default for years anyway so we can
+    drop it.
+    
+    https://gitlab.freedesktop.org/freedesktop/ci-templates/-/issues/81
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+    Part-of: 
<https://gitlab.freedesktop.org/xorg/app/setxkbmap/-/merge_requests/12>
+
+commit 8fe146750e70e83908c76f057492d9d9bf059287
+Author: Alan Coopersmith <[email protected]>
+Date:   Sun Apr 27 10:19:38 2025 -0700
+
+    Improve man page formatting
+    
+    More closely follow common style as described on
+    https://man7.org/linux/man-pages/man7/man-pages.7.html
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+    Part-of: 
<https://gitlab.freedesktop.org/xorg/app/setxkbmap/-/merge_requests/11>
+
+commit 7a13fb1bb6924d381c2c22600809153662f82cc3
+Author: Peter Hutterer <[email protected]>
+Date:   Mon Mar 24 13:22:15 2025 +1000
+
+    CI: add workflow rules
+    
+    See https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/438
+    
+    Part-of: 
<https://gitlab.freedesktop.org/xorg/app/setxkbmap/-/merge_requests/10>
+
+commit e260ddf617b3ebabcb5c090e86672b9bc7d9465b
+Author: Alan Coopersmith <[email protected]>
+Date:   Wed Feb 26 18:06:50 2025 -0800
+
+    meson: Add option to build with meson
+    
+    Also updates the gitlab CI config to test both build types
+    and compare the generated output/installed files.
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+    Part-of: 
<https://gitlab.freedesktop.org/xorg/app/setxkbmap/-/merge_requests/9>
+
 commit 094d979324efca8bbb2ad3756ee947c2d2b41a79
 Author: Peter Hutterer <[email protected]>
 Date:   Mon May 15 11:55:03 2023 +1000
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/setxkbmap-1.3.4/Makefile.am new/setxkbmap-1.3.5/Makefile.am
--- old/setxkbmap-1.3.4/Makefile.am     2023-05-15 03:58:23.000000000 +0200
+++ new/setxkbmap-1.3.5/Makefile.am     2026-03-29 00:40:35.000000000 +0100
@@ -51,4 +51,4 @@
        $(LINT) $(ALL_LINT_FLAGS) $(setxkbmap_SOURCES)
 endif LINT
 
-EXTRA_DIST = README.md
+EXTRA_DIST = README.md meson.build meson.options
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/setxkbmap-1.3.4/compile new/setxkbmap-1.3.5/compile
--- old/setxkbmap-1.3.4/compile 2023-05-15 03:58:26.000000000 +0200
+++ new/setxkbmap-1.3.5/compile 2026-03-29 00:40:39.000000000 +0100
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2018-03-07.03; # UTC
+scriptversion=2025-06-18.21; # UTC
 
-# Copyright (C) 1999-2021 Free Software Foundation, Inc.
+# Copyright (C) 1999-2025 Free Software Foundation, Inc.
 # Written by Tom Tromey <[email protected]>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -37,11 +37,11 @@
 
 file_conv=
 
-# func_file_conv build_file lazy
+# func_file_conv build_file unneeded_conversions
 # Convert a $build file to $host form and store it in $file
 # Currently only supports Windows hosts. If the determined conversion
-# type is listed in (the comma separated) LAZY, no conversion will
-# take place.
+# type is listed in (the comma separated) UNNEEDED_CONVERSIONS, no
+# conversion will take place.
 func_file_conv ()
 {
   file=$1
@@ -51,9 +51,20 @@
        # lazily determine how to convert abs files
        case `uname -s` in
          MINGW*)
-           file_conv=mingw
+           if test -n "$MSYSTEM" && (cygpath --version) >/dev/null 2>&1; then
+             # MSYS2 environment.
+             file_conv=cygwin
+           else
+             # Original MinGW environment.
+             file_conv=mingw
+           fi
            ;;
-         CYGWIN* | MSYS*)
+         MSYS*)
+           # Old MSYS environment, or MSYS2 with 32-bit MSYS2 shell.
+           file_conv=cygwin
+           ;;
+         CYGWIN*)
+           # Cygwin environment.
            file_conv=cygwin
            ;;
          *)
@@ -63,12 +74,14 @@
       fi
       case $file_conv/,$2, in
        *,$file_conv,*)
+         # This is the optimization mentioned above:
+         # If UNNEEDED_CONVERSIONS contains $file_conv, don't convert.
          ;;
        mingw/*)
          file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
          ;;
-       cygwin/* | msys/*)
-         file=`cygpath -m "$file" || echo "$file"`
+       cygwin/*)
+         file=`cygpath -w "$file" || echo "$file"`
          ;;
        wine/*)
          file=`winepath -w "$file" || echo "$file"`
@@ -143,7 +156,7 @@
          # configure might choose to run compile as 'compile cc -o foo foo.c'.
          eat=1
          case $2 in
-           *.o | *.[oO][bB][jJ])
+           *.o | *.lo | *.[oO][bB][jJ])
              func_file_conv "$2"
              set x "$@" -Fo"$file"
              shift
@@ -248,14 +261,17 @@
 right script to run: please start by reading the file 'INSTALL'.
 
 Report bugs to <[email protected]>.
+GNU Automake home page: <https://www.gnu.org/software/automake/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>.
 EOF
     exit $?
     ;;
   -v | --v*)
-    echo "compile $scriptversion"
+    echo "compile (GNU Automake) $scriptversion"
     exit $?
     ;;
   cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+  clang-cl | *[/\\]clang-cl | clang-cl.exe | *[/\\]clang-cl.exe | \
   icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
     func_cl_wrapper "$@"      # Doesn't return...
     ;;
@@ -340,9 +356,9 @@
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp nil t)
 # time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-format: "%Y-%02m-%02d.%02H"
 # time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/setxkbmap-1.3.4/config.h.in new/setxkbmap-1.3.5/config.h.in
--- old/setxkbmap-1.3.4/config.h.in     2023-05-15 03:58:25.000000000 +0200
+++ new/setxkbmap-1.3.5/config.h.in     2026-03-29 00:40:39.000000000 +0100
@@ -57,7 +57,7 @@
 /* Patch version of this package */
 #undef PACKAGE_VERSION_PATCHLEVEL
 
-/* Define to 1 if all of the C90 standard headers exist (not just the ones
+/* Define to 1 if all of the C89 standard headers exist (not just the ones
    required in a freestanding environment). This macro is provided for
    backward compatibility; new code need not use it. */
 #undef STDC_HEADERS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/setxkbmap-1.3.4/configure.ac new/setxkbmap-1.3.5/configure.ac
--- old/setxkbmap-1.3.4/configure.ac    2023-05-15 03:58:23.000000000 +0200
+++ new/setxkbmap-1.3.5/configure.ac    2026-03-29 00:40:35.000000000 +0100
@@ -24,8 +24,8 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([setxkbmap],
-       [1.3.4],
-       [https://gitlab.freedesktop.org/xorg/app/setxkbmap/issues],
+       [1.3.5],
+       [https://gitlab.freedesktop.org/xorg/app/setxkbmap/-/issues],
        [setxkbmap])
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_HEADERS([config.h])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/setxkbmap-1.3.4/man/setxkbmap.man new/setxkbmap-1.3.5/man/setxkbmap.man
--- old/setxkbmap-1.3.4/man/setxkbmap.man       2023-05-15 03:58:23.000000000 
+0200
+++ new/setxkbmap-1.3.5/man/setxkbmap.man       2026-03-29 00:40:35.000000000 
+0100
@@ -1,156 +1,185 @@
-.\"
-.TH SETXKBMAP __appmansuffix__ __xorgversion__
-.SH NAME
-setxkbmap
-\- set the keyboard using the X Keyboard Extension
-.SH SYNOPSIS
-.B setxkbmap [
-.I args
-.B ] [
-.I layout
-.B [
-.I variant
-.B [
-.I option  ...
-.B ] ] ]
-.SH DESCRIPTION
+.Dd March 29, 2025
+.Dt SETXKBMAP 1
+.Os
+.Sh NAME
+.Nm setxkbmap
+.Nd set keymaps and layouts via the X Keyboard Extension
+.Sh SYNOPSIS
+.Nm
+.Op Ar options
+.Op Ar layout Op Ar variant Op Ar option Ar ...
+.Sh DESCRIPTION
 The
-.B setxkbmap
-command maps the keyboard to use the layout determined by the options
-specified on the command line.
-.P
-An XKB keymap is constructed from a number of components which are compiled
-only as needed.  The source for all of the components can be found in
-.IR __xkbconfigroot__ .
-.SH OPTIONS
-.TP 8
-.B \-compat \fIname\fP
-Specifies the name of the compatibility map component used to construct
-a keyboard layout.
-.TP 8
-.B \-config \fIfile\fP
-Specifies the name of an XKB configuration file which describes the
-keyboard to be used.
-.TP 8
-.B \-device \fIdevice\fP
-Specifies the numeric device id of the input device to be updated with
-the new keyboard layout. If not specified, the core keyboard device of
-the X server is updated.
-.TP 8
-.B \-display \fIdisplay\fP
-Specifies the display to be updated with the new keyboard layout.
-.TP 8
-.B \-geometry \fIname\fP
-Specifies the name of the geometry component used to construct
-a keyboard layout.
-.TP 8
-.B \-help
-Prints a message describing the valid input to \fIsetxkbmap\fP.
-.TP 8
-.B \-I \fIdirectory\fP
-Adds a directory to the list of directories to be used to search for
-specified layout or rules files.
-.TP 8
-.B \-keycodes \fIname\fP
-Specifies the name of the keycodes component used to construct
-a keyboard layout.
-.TP 8
-.B \-keymap \fIname\fP
-Specifies the name of the keymap description used to construct
-a keyboard layout.
-.TP 8
-.B \-layout \fIname\fP
-Specifies the name of the layout used to determine the components which
-make up the keyboard description. The \fI-layout\fP option may only be used
-once. Multiple layouts can be specified as a comma-separated list.
-.TP 8
-.B \-model \fIname\fP
-Specifies the name of the keyboard model used to determine the components
-which make up the keyboard description.  Only one model may be specified
-on the command line.
-.TP 8
-.B \-option \fIname\fP
-Specifies the name of an option to determine the components which make up
-the keyboard description;  multiple options may be specified, one per
-\fI-option\fP flag. Note that
-.B setxkbmap
-adds options specified in the command line to the options that were set
-before (as saved in root window properties). If you want to replace all
-previously specified options, use the \fI-option\fP flag with an empty
-argument first.
-.TP 8
-.B \-print
-With this option \fBsetxkbmap\fP just prints component names in a format
-acceptable by \fBxkbcomp\fP (an XKB keymap compiler) and exits. The option
-can be used for tests instead of a verbose option and in cases when one needs
-to run both the \fBsetxkbmap\fP and the \fBxkbcomp\fP in chain (see below).
-.TP 8
-.B \-query
-With this option \fBsetxkbmap\fP just prints the current rules, model,
-layout, variant, and options, then exits.
-.TP 8
-.B \-rules \fIfile\fP
-Specifies the name of the rules file used to resolve the requested layout
-and model to a set of component names.
-.TP 8
-.B \-symbols \fIname\fP
-Specifies the name of the symbols component used to construct
-a keyboard layout.
-.TP 8
-.B \-synch
+.Nm
+utility maps the keyboard to use the specified layout in an
+.Xr X 7
+session.
+For a table of available layouts and options, see
+.Xr xkeyboard-config 7 .
+.Pp
+The options are as follows:
+.Bl -tag -width indent
+.It Fl ? , Fl help
+Print a message describing the valid input to
+.Nm .
+.It Fl compat Ar name
+Specify the name of the compatibility map component
+used to construct a keyboard layout.
+.It Fl config Ar file
+Specify the name of an XKB configuration file
+which describes the keyboard to be used.
+.It Fl device Ar deviceid
+Specify the numeric device id of the input device
+to be updated with the new keyboard layout.
+If not specified, the core keyboard device of the
+.Xr Xorg 1
+server is updated.
+.It Fl display Ar display
+Specify the display to be updated with the new keyboard layout.
+.It Fl geometry Ar name
+Specify the name of the geometry component
+used to construct a keyboard layout.
+.It Fl I Ar directory
+Add a directory to the list of directories to be used
+to search for the specified layout or rules files.
+.It Fl keycodes Ar name
+Specify the name of the keycodes component
+used to construct a keyboard layout.
+.It Fl keymap Ar name
+Specify the name of the keymap description
+used to construct a keyboard layout.
+.It Fl layout Ar name
+Specify the name of the layout used to determine
+the components which make up the keyboard description.
+The
+.Fl layout
+option may only be used once.
+Multiple layouts can be specified as a comma-separated list.
+.It Fl model Ar name
+Specify the name of the keyboard model used to determine
+the components which make up the keyboard description.
+Only one model may be specified on the command line.
+.It Fl option Ar name
+Specify the name of an option to determine the components
+which make up the keyboard description;
+multiple options may be specified, one per
+.Fl option
+flag.
+Note that
+.Nm
+adds options specified in the command line
+to the options that were set before
+.Pq as saved in root window properties .
+If you want to replace all previously specified options,
+use the
+.Fl option
+flag with an empty argument first.
+.It Fl print
+Print component names in a format acceptable by the
+.Xr xkbcomp 1
+keymap compiler and exit.
+The option can be used for tests instead of a verbose option
+and in cases when one needs to run both the
+.Nm
+and
+.Xr xkbcomp 1
+utilities in chain
+.Pq see below .
+.It Fl query
+Print the current rules, model, layout, variant, and options,
+then exit.
+.It Fl rules Ar file
+Specify the name of the rules file used to resolve the requested
+layout and model to a set of component names.
+.It Fl symbols Ar name
+Specify the name of the symbols component
+used to construct a keyboard layout.
+.It Fl synch
 Force synchronization for X requests.
-.TP 8
-.B \-types \fIname\fP
-Specifies the name of the types component used to construct
-a keyboard layout.
-.TP 8
-.B \-variant \fIname\fP
-Specifies which variant of the keyboard layout should be used to determine
-the components which make up the keyboard description. The \fI-variant\fP
-option may only be used once. Multiple variants can be specified as a
-comma-separated list and will be matched with the layouts specified with
-\fI-layout\fP.
-.TP 8
-.B \-verbose|\-v [\fIlevel\fP]
-Specifies level of verbosity in output messages.  Valid levels range from
-0 (least verbose) to 10 (most verbose).  The default verbosity level is 5.
-If no level is specified, each \fI-v\fP or \fI-verbose\fP flag raises the
-level by 1.
-.TP 8
-.B \-version
-Prints the program's version number.
-.SH USING WITH xkbcomp
-If you have an Xserver and a client shell running on different computers and
-some XKB configuration files on those machines are different, you can get
-problems specifying a keyboard map by model, layout, and options names.
-This is because \fBsetxkbmap\fP converts its arguments to names of XKB
-configuration files according to files that are on the client-side computer,
-then sends these file names to the server where \fBxkbcomp\fP has to
-compose a complete keyboard map using files which the server has.
-Thus if the sets of files differ in some way, the names that
-\fBsetxkbmap\fP generates can be unacceptable on the server side.  You can
-solve this problem by running the \fBxkbcomp\fP on the client side too.
-With the \fI-print\fP option \fBsetxkbmap\fP just prints the file names
-in an appropriate format to its stdout and this output can be piped
-directly to the \fBxkbcomp\fP input.  For example, the command
-
-\fBsetxkbmap us -print | xkbcomp - $DISPLAY\fP
-
-makes both steps run on the same (client) machine and loads a keyboard map into
-the server.
-
-.SH "XWAYLAND"
-Xwayland is an X server that uses a Wayland Compositor as backend.
-Xwayland acts as translation layer between the X protocol and the Wayland
-protocol but does not manage the keymaps - these are handled by the Wayland
-Compositor.
-.PP
-Changing the keymap with \fBsetxkbmap\fP is not supported by Xwayland.
-In most instances, using \fBsetxkbmap\fP on Xwayland is indicative of a
-bug in a shell script and \fBsetxkbmap\fP will print a warning. Use the Wayland
-Compositor's native XKB configuration methods instead.
-
-.SH SEE ALSO
-xkbcomp(__appmansuffix__), xkeyboard-config(__miscmansuffix__)
-.SH FILES
-.I __xkbconfigroot__
+.It Fl types Ar name
+Specify the name of the types component
+used to construct a keyboard layout.
+.It Fl variant Ar name
+Specify which variant of the keyboard layout should be used to
+determine the components which make up the keyboard description.
+The
+.Fl variant
+option may only be used once.
+Multiple variants can be specified as a comma-separated list
+and will be matched with the layouts specified with
+.Fl layout .
+.It Fl v Ns Oo Sy erbose Oc Op Ar level
+Specify level of verbosity in output messages.
+Valid levels range from 0
+.Pq least verbose
+to 10
+.Pq most verbose .
+Default: 5.
+If no level is specified, each
+.Fl v
+or
+.Fl verbose
+flag raises the level by 1.
+.It Fl version
+Print the utility's version number and exit.
+.El
+.Sh IMPLEMENTATION NOTES
+An XKB keymap is constructed from a number of components
+which are compiled only as needed by converting the arguments to
+the names of XKB configuration files in
+.Pa __xkbconfigroot__
+on the
+.Xr X 7
+client.
+Those filenames are then passed to the
+.Xr Xorg 1
+server, unless printed to
+.Xr stdout 4 ,
+with
+.Fl print .
+.Sh FILES
+.Bl -tag -width __xkbconfigroot__
+.It Pa __xkbconfigroot__
+source for all XKB components
+.El
+.Sh EXIT STATUS
+.Ex -std
+.Sh EXAMPLES
+Rebind the Caps Lock key as an additional Left Control:
+.Pp
+.Dl setxkbmap -option ctrl:nocaps
+.Pp
+Set the layout to US, composing the keymap on the client for situations
+where XKB component files may differ between the
+.Xr Xserver 1
+and client:
+.Pp
+.Dl setxkbmap us -print | xkbcomp - $DISPLAY
+.Pp
+Reset XKB options:
+.Pp
+.Dl setxkbmap -option
+.Sh DIAGNOSTICS
+.Bl -diag
+.It Cannot open display \&"default display\&"
+The shell environment is not aware of a currently running
+.Xr X 7
+session.
+Start
+.Xr X 7
+before using this utility, or set the
+.Ev DISPLAY
+environment variable.
+.It Running setxkbmap against an Xwayland server
+This utility will not run in an
+.Xr Xwayland 1
+session.
+Use the Wayland Compositor's native XKB configuration method instead.
+.El
+.Sh SEE ALSO
+.Xr xkbcomp 1 ,
+.Xr X 7 ,
+.Xr xkeyboard-config 7
+.Sh HISTORY
+.Nm
+first appeared in XFree86 3.2.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/setxkbmap-1.3.4/meson.build new/setxkbmap-1.3.5/meson.build
--- old/setxkbmap-1.3.4/meson.build     1970-01-01 01:00:00.000000000 +0100
+++ new/setxkbmap-1.3.5/meson.build     2026-03-29 00:40:35.000000000 +0100
@@ -0,0 +1,88 @@
+# SPDX-License-Identifier: MIT
+#
+# Copyright (c) 2025, Oracle and/or its affiliates.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#
+
+project(
+  'setxkbmap',
+  'c',
+  version: '1.3.5',
+  license: 'HPND',
+  license_files: 'COPYING',
+  meson_version: '>= 1.1.0',
+)
+
+conf = configuration_data()
+conf.set_quoted('PACKAGE_VERSION', meson.project_version())
+
+# Replacement for XORG_DEFAULT_OPTIONS
+cc = meson.get_compiler('c')
+if cc.has_argument('-fno-strict-aliasing')
+  add_project_arguments('-fno-strict-aliasing', language: 'c')
+endif
+
+xkbconfigroot = get_option('xkb-config-root')
+if xkbconfigroot == ''
+  xkeyboard_config_dep = dependency('xkeyboard-config', required: false)
+  if xkeyboard_config_dep.found()
+    xkbconfigroot = xkeyboard_config_dep.get_variable(pkgconfig: 'xkb_base')
+  else
+    xkbconfigroot = get_option('prefix') / get_option('datadir') / 'X11' / 
'xkb'
+  endif
+endif
+conf.set_quoted('DFLT_XKB_CONFIG_ROOT', xkbconfigroot)
+
+config_h = configure_file(output: 'config.h', configuration: conf)
+add_project_arguments('-DHAVE_CONFIG_H', language : ['c'])
+
+
+# Checks for pkg-config packages
+dep_libxkbfile = dependency('xkbfile', required: true)
+dep_libx11     = dependency('x11', required: true)
+# xrandr is needed for the XWayland check
+dep_libxrandr  = dependency('xrandr', required: true)
+
+executable(
+  'setxkbmap',
+  [config_h, 'setxkbmap.c'],
+  dependencies: [dep_libxkbfile, dep_libx11, dep_libxrandr],
+  install: true
+)
+
+prog_sed = find_program('sed')
+
+custom_target(
+  'setxkbmap.man',
+  input: 'man/setxkbmap.man',
+  output: 'setxkbmap.1',
+  command: [
+    prog_sed,
+    '-e', 's/__xorgversion__/"setxkbmap @0@" "X Version 
11"/'.format(meson.project_version()),
+    '-e', 's/__appmansuffix__/1/g',
+    '-e', 's/__miscmansuffix__/7/g',
+    '-e', f's|__xkbconfigroot__|"@xkbconfigroot@"|g',
+    '@INPUT@',
+  ],
+  capture: true,
+  install: true,
+  install_dir: get_option('prefix') / get_option('mandir') / 'man1',
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/setxkbmap-1.3.4/meson.options new/setxkbmap-1.3.5/meson.options
--- old/setxkbmap-1.3.4/meson.options   1970-01-01 01:00:00.000000000 +0100
+++ new/setxkbmap-1.3.5/meson.options   2026-03-29 00:40:35.000000000 +0100
@@ -0,0 +1,5 @@
+option(
+  'xkb-config-root',
+  type: 'string',
+  description: 'The XKB config root [default=xkeyboard-config install path]',
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/setxkbmap-1.3.4/missing new/setxkbmap-1.3.5/missing
--- old/setxkbmap-1.3.4/missing 2023-05-15 03:58:26.000000000 +0200
+++ new/setxkbmap-1.3.5/missing 2026-03-29 00:40:39.000000000 +0100
@@ -1,9 +1,11 @@
 #! /bin/sh
-# Common wrapper for a few potentially missing GNU programs.
+# Common wrapper for a few potentially missing GNU and other programs.
 
-scriptversion=2018-03-07.03; # UTC
+scriptversion=2025-06-18.21; # UTC
 
-# Copyright (C) 1996-2021 Free Software Foundation, Inc.
+# shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells
+
+# Copyright (C) 1996-2025 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <[email protected]>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -54,18 +56,20 @@
   -v, --version   output version information and exit
 
 Supported PROGRAM values:
-  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
-  bison     yacc      flex         lex       help2man
+aclocal autoconf autogen  autoheader autom4te automake autoreconf
+bison   flex     help2man lex        makeinfo perl     yacc
 
 Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
 'g' are ignored when checking the name.
 
-Send bug reports to <[email protected]>."
+Report bugs to <[email protected]>.
+GNU Automake home page: <https://www.gnu.org/software/automake/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>."
     exit $?
     ;;
 
   -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing $scriptversion (GNU Automake)"
+    echo "missing (GNU Automake) $scriptversion"
     exit $?
     ;;
 
@@ -108,7 +112,7 @@
 program_details ()
 {
   case $1 in
-    aclocal|automake)
+    aclocal|automake|autoreconf)
       echo "The '$1' program is part of the GNU Automake package:"
       echo "<$gnu_software_URL/automake>"
       echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
@@ -123,6 +127,9 @@
       echo "<$gnu_software_URL/m4/>"
       echo "<$perl_URL>"
       ;;
+    *)
+      :
+      ;;
   esac
 }
 
@@ -137,48 +144,55 @@
   printf '%s\n' "'$1' is $msg."
 
   configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+  autoheader_deps="'acconfig.h'"
+  automake_deps="'Makefile.am'"
+  aclocal_deps="'acinclude.m4'"
   case $normalized_program in
+    aclocal*)
+      echo "You should only need it if you modified $aclocal_deps or"
+      echo "$configure_deps."
+      ;;
     autoconf*)
-      echo "You should only need it if you modified 'configure.ac',"
-      echo "or m4 files included by it."
-      program_details 'autoconf'
+      echo "You should only need it if you modified $configure_deps."
+      ;;
+    autogen*)
+      echo "You should only need it if you modified a '.def' or '.tpl' file."
+      echo "You may want to install the GNU AutoGen package:"
+      echo "<$gnu_software_URL/autogen/>"
       ;;
     autoheader*)
-      echo "You should only need it if you modified 'acconfig.h' or"
+      echo "You should only need it if you modified $autoheader_deps or"
       echo "$configure_deps."
-      program_details 'autoheader'
       ;;
     automake*)
-      echo "You should only need it if you modified 'Makefile.am' or"
-      echo "$configure_deps."
-      program_details 'automake'
-      ;;
-    aclocal*)
-      echo "You should only need it if you modified 'acinclude.m4' or"
+      echo "You should only need it if you modified $automake_deps or"
       echo "$configure_deps."
-      program_details 'aclocal'
       ;;
-   autom4te*)
+    autom4te*)
       echo "You might have modified some maintainer files that require"
       echo "the 'autom4te' program to be rebuilt."
-      program_details 'autom4te'
+      ;;
+    autoreconf*)
+      echo "You should only need it if you modified $aclocal_deps or"
+      echo "$automake_deps or $autoheader_deps or $automake_deps or"
+      echo "$configure_deps."
       ;;
     bison*|yacc*)
       echo "You should only need it if you modified a '.y' file."
       echo "You may want to install the GNU Bison package:"
       echo "<$gnu_software_URL/bison/>"
       ;;
-    lex*|flex*)
-      echo "You should only need it if you modified a '.l' file."
-      echo "You may want to install the Fast Lexical Analyzer package:"
-      echo "<$flex_URL>"
-      ;;
     help2man*)
       echo "You should only need it if you modified a dependency" \
            "of a man page."
       echo "You may want to install the GNU Help2man package:"
       echo "<$gnu_software_URL/help2man/>"
     ;;
+    lex*|flex*)
+      echo "You should only need it if you modified a '.l' file."
+      echo "You may want to install the Fast Lexical Analyzer package:"
+      echo "<$flex_URL>"
+      ;;
     makeinfo*)
       echo "You should only need it if you modified a '.texi' file, or"
       echo "any other file indirectly affecting the aspect of the manual."
@@ -189,6 +203,12 @@
       echo "want to install GNU make:"
       echo "<$gnu_software_URL/make/>"
       ;;
+    perl*)
+      echo "You should only need it to run GNU Autoconf, GNU Automake, "
+      echo "  assorted other tools, or if you modified a Perl source file."
+      echo "You may want to install the Perl 5 language interpreter:"
+      echo "<$perl_URL>"
+      ;;
     *)
       echo "You might have modified some files without having the proper"
       echo "tools for further handling them.  Check the 'README' file, it"
@@ -197,6 +217,7 @@
       echo "case some other package contains this missing '$1' program."
       ;;
   esac
+  program_details "$normalized_program"
 }
 
 give_advice "$1" | sed -e '1s/^/WARNING: /' \
@@ -207,9 +228,9 @@
 exit $st
 
 # Local variables:
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp nil t)
 # time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-format: "%Y-%02m-%02d.%02H"
 # time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/setxkbmap-1.3.4/setxkbmap.c new/setxkbmap-1.3.5/setxkbmap.c
--- old/setxkbmap-1.3.4/setxkbmap.c     2023-05-15 03:58:23.000000000 +0200
+++ new/setxkbmap-1.3.5/setxkbmap.c     2026-03-29 00:40:35.000000000 +0100
@@ -244,26 +244,26 @@
         "Usage: %s [options] [<layout> [<variant> [<option> ... ]]]\n"
         "Options:\n"
         "  -?, -help           Print this message\n"
-        "  -compat <name>      Specifies compatibility map component name\n"
-        "  -config <file>      Specifies configuration file to use\n"
-        "  -device <deviceid>  Specifies the device ID to use\n"
-        "  -display <dpy>      Specifies display to use\n"
-        "  -geometry <name>    Specifies geometry component name\n"
-        "  -I <dir>            Add <dir> to list of directories to be used\n"
-        "  -keycodes <name>    Specifies keycodes component name\n"
-        "  -keymap <name>      Specifies name of keymap to load\n"
-        "  -layout <name>      Specifies layout used to choose component 
names\n"
-        "  -model <name>       Specifies model used to choose component 
names\n"
-        "  -option <name>      Adds an option used to choose component names\n"
+        "  -compat <name>      Specify compatibility map component name\n"
+        "  -config <file>      Specify configuration file to use\n"
+        "  -device <deviceid>  Specify the device ID to use\n"
+        "  -display <display>  Specify display to use\n"
+        "  -geometry <name>    Specify geometry component name\n"
+        "  -I <directory>      Add <directory> to list of directories to be 
used\n"
+        "  -keycodes <name>    Specify keycodes component name\n"
+        "  -keymap <name>      Specify name of keymap to load\n"
+        "  -layout <name>      Specify layout used to choose component names\n"
+        "  -model <name>       Specify model used to choose component names\n"
+        "  -option <name>      Add an option used to choose component names\n"
         "  -print              Print a complete xkb_keymap description and 
exit\n"
         "  -query              Print the current layout settings and exit\n"
-        "  -rules <name>       Name of rules file to use\n"
-        "  -symbols <name>     Specifies symbols component name\n"
+        "  -rules <name>       Specify name of rules file to use\n"
+        "  -symbols <name>     Specify symbols component name\n"
         "  -synch              Synchronize request with X server\n"
-        "  -types <name>       Specifies types component name\n"
-        "  -v[erbose] [<lvl>]  Sets verbosity (1..10); higher values yield 
more messages\n"
-        "  -version            Print the program's version number\n"
-        "  -variant <name>     Specifies layout variant used to choose 
component names\n",
+        "  -types <name>       Specify types component name\n"
+        "  -variant <name>     Specify layout variant used to choose component 
names\n"
+        "  -v[erbose] [<lvl>]  Set verbosity (1..10); higher values yield more 
messages\n"
+        "  -version            Print the program's version number\n",
         argv[0]
     );
 }

Reply via email to