Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package xlsclients for openSUSE:Factory 
checked in at 2026-05-26 16:35:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xlsclients (Old)
 and      /work/SRC/openSUSE:Factory/.xlsclients.new.2084 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xlsclients"

Tue May 26 16:35:20 2026 rev:11 rq:1355172 version:1.1.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/xlsclients/xlsclients.changes    2022-11-14 
14:29:04.890996856 +0100
+++ /work/SRC/openSUSE:Factory/.xlsclients.new.2084/xlsclients.changes  
2026-05-26 16:37:28.032524305 +0200
@@ -1,0 +2,9 @@
+Tue May 26 00:00:00 UTC 2026 - Stefan Dirsch <[email protected]>
+
+- Update to version 1.1.6
+  * This release adds support for -help, --help, and --version options,
+    and fixes several compiler warnings.
+  * It also adds support for building with meson as well as autoconf.
+- Switch to meson build system.
+
+-------------------------------------------------------------------

Old:
----
  xlsclients-1.1.5.tar.xz

New:
----
  xlsclients-1.1.6.tar.xz

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

Other differences:
------------------
++++++ xlsclients.spec ++++++
--- /var/tmp/diff_new_pack.6mgZHs/_old  2026-05-26 16:37:41.377076396 +0200
+++ /var/tmp/diff_new_pack.6mgZHs/_new  2026-05-26 16:37:41.381076561 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package xlsclients
 #
-# Copyright (c) 2022 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,13 +17,15 @@
 
 
 Name:           xlsclients
-Version:        1.1.5
+Version:        1.1.6
 Release:        0
 Summary:        Utility to list client applications running on a X11 server
 License:        X11
 Group:          System/X11/Utilities
 URL:            https://xorg.freedesktop.org/
 Source0:        
https://xorg.freedesktop.org/releases/individual/app/%{name}-%{version}.tar.xz
+BuildRequires:  meson
+BuildRequires:  ninja
 BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(xcb) >= 1.6
 BuildRequires:  pkgconfig(xorg-macros) >= 1.8
@@ -38,11 +40,11 @@
 %setup -q
 
 %build
-%configure
-%make_build
+%meson
+%meson_build
 
 %install
-%make_install
+%meson_install
 
 %files
 %license COPYING

++++++ xlsclients-1.1.5.tar.xz -> xlsclients-1.1.6.tar.xz ++++++
++++ 15065 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/xlsclients-1.1.5/ChangeLog new/xlsclients-1.1.6/ChangeLog
--- old/xlsclients-1.1.5/ChangeLog      2022-11-13 19:00:44.000000000 +0100
+++ new/xlsclients-1.1.6/ChangeLog      2026-05-25 20:45:13.000000000 +0200
@@ -1,3 +1,112 @@
+commit f46e05b29b8c033a0cc910f11b40c53d50db5a40
+Author: Alan Coopersmith <[email protected]>
+Date:   Mon May 25 11:40:40 2026 -0700
+
+    xlsclients 1.1.6
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+
+commit 2bdac6b5367028270b39855ee5b9cfe55557fcd8
+Author: Alan Coopersmith <[email protected]>
+Date:   Tue Apr 28 14:17:21 2026 -0700
+
+    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/xlsclients/-/merge_requests/8>
+
+commit 13e7305ccc72a950cfe8517cb4fb1536526ae38b
+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/xlsclients/-/merge_requests/8>
+
+commit 9ed05d52f2b9ee283d319b88baf3913cec48af58
+Author: Alan Coopersmith <[email protected]>
+Date:   Sat Aug 9 11:55:58 2025 -0700
+
+    Exit on out-of-memory errors
+    
+    Fixes 6 issues raised by gcc 15.1 -fanalyzer:
+    
+    xlsclients.c: In function ‘lookat’:
+    xlsclients.c:102:8: warning: leak of ‘rl’ [CWE-401] 
[-Wanalyzer-malloc-leak]
+    
+    xlsclients.c: In function ‘print_client_properties’:
+    xlsclients.c:102:8: warning: leak of ‘cs’ [CWE-401] 
[-Wanalyzer-malloc-leak]
+    
+    xlsclients.c: In function ‘init_atoms’:
+    xlsclients.c:150:11: warning: dereference of possibly-NULL ‘as’ [CWE-690]
+     [-Wanalyzer-possible-null-dereference]
+    
+    xlsclients.c:154:1: warning: leak of ‘as’ [CWE-401] 
[-Wanalyzer-malloc-leak]
+    
+    xlsclients.c: In function ‘root_list’:
+    xlsclients.c:394:30: warning: leak of ‘cs’ [CWE-401] 
[-Wanalyzer-malloc-leak]
+    
+    xlsclients.c:420:1: warning: leak of ‘cs’ [CWE-401] 
[-Wanalyzer-malloc-leak]
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+    Part-of: 
<https://gitlab.freedesktop.org/xorg/app/xlsclients/-/merge_requests/7>
+
+commit 6e5e6834cd6d724b70f554896e70053e78896731
+Author: Alan Coopersmith <[email protected]>
+Date:   Sat Aug 9 11:38:15 2025 -0700
+
+    Strip trailing whitespace from source files
+    
+    Performed with: `git ls-files | xargs perl -i -p -e 's{[ \t]+$}{}'`
+    
+    `git diff -w` & `git diff -b` show no diffs from this change
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+    Part-of: 
<https://gitlab.freedesktop.org/xorg/app/xlsclients/-/merge_requests/7>
+
+commit 95da607cb7ab1db82d972e2fceb1314ff7ebd563
+Author: Alan Coopersmith <[email protected]>
+Date:   Sat May 31 09:44:15 2025 -0700
+
+    man page: fix warnings from `mandoc -T lint` and `groff -rCHECKSTYLE=10`
+    
+    mandoc: xlsclients.1:25:18: WARNING: cannot parse date, using it verbatim: 
TH xlsclients 1.1.5
+    mandoc: xlsclients.1:36:2: WARNING: skipping paragraph macro: PP after SH
+    mandoc: xlsclients.1:66:2: WARNING: skipping paragraph macro: PP empty
+    an.tmac:xlsclients.1:32: style: blank line in input
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+    Part-of: 
<https://gitlab.freedesktop.org/xorg/app/xlsclients/-/merge_requests/6>
+
+commit d879e375717d55d27829c1ced9995b5afcb7954e
+Author: Alan Coopersmith <[email protected]>
+Date:   Sat Apr 5 14:20:07 2025 -0700
+
+    Accept --help & --version as aliases to -help & -version
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+    Part-of: 
<https://gitlab.freedesktop.org/xorg/app/xlsclients/-/merge_requests/5>
+
+commit 9e1988ec413fb63d391aaefee1df6e78fd3d4176
+Author: Alan Coopersmith <[email protected]>
+Date:   Sat Apr 5 14:17:22 2025 -0700
+
+    add -help option
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+    Part-of: 
<https://gitlab.freedesktop.org/xorg/app/xlsclients/-/merge_requests/5>
+
 commit 1050104d4aef1d09d61e31f313fe484b161fad23
 Author: Alan Coopersmith <[email protected]>
 Date:   Sun Nov 13 09:45:35 2022 -0800
@@ -737,7 +846,7 @@
         configure cache, you cache it, and the cached value is probably wrong.
 
 commit bc737d5ade74d17b7b7af4d83b3a03cd570061c3
-Author: Søren Sandmann Pedersen  <[email protected]>
+Author: Søren Sandmann Pedersen <[email protected]>
 Date:   Tue Jul 5 22:51:10 2005 +0000
 
     Add build systems for xlogo, xlsatoms, xlsclients, xmag, xman, xmessage,
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/xlsclients-1.1.5/Makefile.am new/xlsclients-1.1.6/Makefile.am
--- old/xlsclients-1.1.5/Makefile.am    2022-11-13 19:00:35.000000000 +0100
+++ new/xlsclients-1.1.6/Makefile.am    2026-05-25 20:45:02.000000000 +0200
@@ -1,6 +1,6 @@
-# 
+#
 #  Copyright 2005  Red Hat, Inc.
-# 
+#
 #  Permission to use, copy, modify, distribute, and sell this software and its
 #  documentation for any purpose is hereby granted without fee, provided that
 #  the above copyright notice appear in all copies and that both that
@@ -10,7 +10,7 @@
 #  specific, written prior permission.  Red Hat makes no
 #  representations about the suitability of this software for any purpose.  It
 #  is provided "as is" without express or implied warranty.
-# 
+#
 #  RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 #  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 #  EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
@@ -28,7 +28,7 @@
 xlsclients_SOURCES =   \
         xlsclients.c
 
-EXTRA_DIST = strnlen.h README.md
+EXTRA_DIST = strnlen.h README.md meson.build
 MAINTAINERCLEANFILES = ChangeLog INSTALL
 
 .PHONY: ChangeLog INSTALL
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/xlsclients-1.1.5/compile new/xlsclients-1.1.6/compile
--- old/xlsclients-1.1.5/compile        2022-11-13 19:00:38.000000000 +0100
+++ new/xlsclients-1.1.6/compile        2026-05-25 20:45:07.000000000 +0200
@@ -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/xlsclients-1.1.5/config.h.in new/xlsclients-1.1.6/config.h.in
--- old/xlsclients-1.1.5/config.h.in    2022-11-13 19:00:38.000000000 +0100
+++ new/xlsclients-1.1.6/config.h.in    2026-05-25 20:45:06.000000000 +0200
@@ -66,15 +66,19 @@
 /* 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
 
-/* Enable extensions on AIX 3, Interix.  */
+/* Enable extensions on AIX, Interix, z/OS.  */
 #ifndef _ALL_SOURCE
 # undef _ALL_SOURCE
 #endif
+/* Enable extensions on Cosmopolitan Libc. */
+#ifndef _COSMO_SOURCE
+# undef _COSMO_SOURCE
+#endif
 /* Enable general extensions on macOS.  */
 #ifndef _DARWIN_C_SOURCE
 # undef _DARWIN_C_SOURCE
@@ -132,11 +136,15 @@
 #ifndef __STDC_WANT_IEC_60559_DFP_EXT__
 # undef __STDC_WANT_IEC_60559_DFP_EXT__
 #endif
+/* Enable extensions specified by C23 Annex F.  */
+#ifndef __STDC_WANT_IEC_60559_EXT__
+# undef __STDC_WANT_IEC_60559_EXT__
+#endif
 /* Enable extensions specified by ISO/IEC TS 18661-4:2015.  */
 #ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
 # undef __STDC_WANT_IEC_60559_FUNCS_EXT__
 #endif
-/* Enable extensions specified by ISO/IEC TS 18661-3:2015.  */
+/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015.  */
 #ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
 # undef __STDC_WANT_IEC_60559_TYPES_EXT__
 #endif
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/xlsclients-1.1.5/configure.ac new/xlsclients-1.1.6/configure.ac
--- old/xlsclients-1.1.5/configure.ac   2022-11-13 19:00:35.000000000 +0100
+++ new/xlsclients-1.1.6/configure.ac   2026-05-25 20:45:02.000000000 +0200
@@ -1,6 +1,6 @@
 
 dnl  Copyright 2005 Red Hat, Inc.
-dnl 
+dnl
 dnl  Permission to use, copy, modify, distribute, and sell this software and 
its
 dnl  documentation for any purpose is hereby granted without fee, provided that
 dnl  the above copyright notice appear in all copies and that both that
@@ -10,7 +10,7 @@
 dnl  specific, written prior permission.  Red Hat makes no
 dnl  representations about the suitability of this software for any purpose.  
It
 dnl  is provided "as is" without express or implied warranty.
-dnl 
+dnl
 dnl  RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 dnl  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 dnl  EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
@@ -23,7 +23,7 @@
 
 # Initialize Autoconf
 AC_PREREQ([2.60])
-AC_INIT([xlsclients], [1.1.5],
+AC_INIT([xlsclients], [1.1.6],
        [https://gitlab.freedesktop.org/xorg/app/xlsclients/-/issues],
        [xlsclients])
 AC_CONFIG_SRCDIR([Makefile.am])
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/xlsclients-1.1.5/man/xlsclients.man new/xlsclients-1.1.6/man/xlsclients.man
--- old/xlsclients-1.1.5/man/xlsclients.man     2022-11-13 19:00:35.000000000 
+0100
+++ new/xlsclients-1.1.6/man/xlsclients.man     2026-05-25 20:45:02.000000000 
+0200
@@ -22,17 +22,21 @@
 .\" other dealings in this Software without prior written authorization
 .\" from The Open Group.
 .\"
-.TH XLSCLIENTS 1 __xorgversion__
+.TH XLSCLIENTS 1 2025-04-05 __xorgversion__
 .SH NAME
 xlsclients - list client applications running on a display
 .SH SYNOPSIS
-.B "xlsclients"
-[-display \fIdisplayname\fP] [-a] [-l] [-m maxcmdlen] [-version]
+.nf
+\fBxlsclients\fP [\fB\-display\fP \fIdisplayname\fP] [\fB-a\fP] [\fB-l\fP] \
+[\fB-m\fP \fImaxcmdlen\fP]
+.sp
+\fBxlsclients\fP \fB\-help\fP | \fB\-version\fP
+.fi
 .SH DESCRIPTION
-.PP
-.I Xlsclients
+.B Xlsclients
 is a utility for listing information about the client applications
-running on a display.  It may be used to generate scripts representing
+running on a display.
+It may be used to generate scripts representing
 a snapshot of the user's current session.
 .SH OPTIONS
 .TP 8
@@ -40,26 +44,30 @@
 This option specifies the X server to contact.
 .TP 8
 .B \-a
-This option indicates that clients on all screens should be listed.  By
-default, only those clients on the default screen are listed.
+This option indicates that clients on all screens should be listed.
+By default, only those clients on the default screen are listed.
 .TP 8
 .B \-l
-List in long format, giving the window name, icon name,
-and class hints in addition to the machine name and command string shown in
-the default format.
+List in long format, giving the window name, icon name, and class hints,
+in addition to the machine name and command string shown in the default format.
 .TP 8
 .B \-m \fImaxcmdlen\fP
 This option specifies the maximum number of characters in a command to
-print out.  The default is 10000.
+print out.
+The default is 10000.
+.TP 8
+.B \-help
+Print the program usage and exit.
 .TP 8
 .B \-version
 Print the program version and exit.
 .SH ENVIRONMENT
-.PP
 .TP 8
 .B DISPLAY
 To get the default host, display number, and screen.
 .SH "SEE ALSO"
-X(__miscmansuffix__), xwininfo(__appmansuffix__), xprop(__appmansuffix__)
+.BR X (__miscmansuffix__),
+.BR xwininfo (__appmansuffix__),
+.BR xprop (__appmansuffix__)
 .SH AUTHOR
 Jim Fulton, MIT X Consortium
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/xlsclients-1.1.5/meson.build new/xlsclients-1.1.6/meson.build
--- old/xlsclients-1.1.5/meson.build    1970-01-01 01:00:00.000000000 +0100
+++ new/xlsclients-1.1.6/meson.build    2026-05-25 20:45:02.000000000 +0200
@@ -0,0 +1,96 @@
+# SPDX-License-Identifier: MIT
+#
+# Copyright (c) 2026, 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(
+  'xlsclients',
+  'c',
+  version: '1.1.6',
+  license: 'MIT AND MIT-open-group',
+  license_files: 'COPYING',
+  meson_version: '>= 1.1.0',
+)
+
+conf = configuration_data()
+package_string = ' '.join(meson.project_name(), meson.project_version())
+conf.set_quoted('PACKAGE_STRING', package_string)
+
+# Replaces AC_USE_SYSTEM_EXTENSIONS
+if host_machine.system() == 'sunos'
+    add_project_arguments('-D__EXTENSIONS__', language: ['c'])
+elif host_machine.system() == 'netbsd'
+    add_project_arguments('-D_OPENBSD_SOURCE', language: ['c'])
+else
+    add_project_arguments('-D_GNU_SOURCE', language: ['c'])
+endif
+
+cc = meson.get_compiler('c')
+
+# Replacement for XORG_DEFAULT_OPTIONS
+if cc.has_argument('-fno-strict-aliasing')
+  add_project_arguments('-fno-strict-aliasing', language: 'c')
+endif
+
+extra_sources = []
+
+# Use POSIX strnlen or the implementation supplied in this module
+have_strnlen = cc.has_function('strnlen')
+conf.set('HAVE_STRNLEN', have_strnlen ? '1' : false,
+  description: 'Define to 1 if you have a working strnlen function.')
+if not have_strnlen
+  extra_sources += ['strnlen.h', 'strnlen.c']
+endif
+
+# Obtain compiler/linker options for xlsclients dependencies
+dep_libxcb = dependency('xcb', required: true, version: '>= 1.6')
+deps = [dep_libxcb]
+
+config_h = configure_file(output: 'config.h', configuration: conf)
+add_project_arguments('-DHAVE_CONFIG_H', language: ['c'])
+
+executable(
+  'xlsclients',
+  [config_h, 'xlsclients.c', extra_sources],
+  dependencies: deps,
+  install: true
+)
+
+# Man page
+prog_sed = find_program('sed')
+
+custom_target(
+  'xlsclients.man',
+  input: 'man/xlsclients.man',
+  output: 'xlsclients.1',
+  command: [
+    prog_sed,
+    '-e', f's/__xorgversion__/"@package_string@" "X Version 11"/',
+    '-e', 's/__appmansuffix__/1/g',
+    '-e', 's/__miscmansuffix__/7/g',
+    '@INPUT@',
+  ],
+  capture: true,
+  install: true,
+  install_dir: get_option('mandir') / 'man1',
+  install_tag: 'man',
+)
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/xlsclients-1.1.5/missing new/xlsclients-1.1.6/missing
--- old/xlsclients-1.1.5/missing        2022-11-13 19:00:39.000000000 +0100
+++ new/xlsclients-1.1.6/missing        2026-05-25 20:45:07.000000000 +0200
@@ -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/xlsclients-1.1.5/xlsclients.c new/xlsclients-1.1.6/xlsclients.c
--- old/xlsclients-1.1.5/xlsclients.c   2022-11-13 19:00:35.000000000 +0100
+++ new/xlsclients-1.1.6/xlsclients.c   2026-05-25 20:45:02.000000000 +0200
@@ -75,7 +75,7 @@
 #if __has_attribute(noreturn)
 __attribute__((noreturn))
 #endif
-usage(const char *errmsg)
+usage(const char *errmsg, int exitstatus)
 {
     if (errmsg != NULL)
        fprintf (stderr, "%s: %s\n\n", ProgramName, errmsg);
@@ -83,7 +83,21 @@
     fprintf (stderr,
             "usage:  %s  [-display dpy] [-m len] [-[a][l]] [-version]\n",
             ProgramName);
-    exit (1);
+    exit (exitstatus);
+}
+
+static void
+#if __has_attribute(__cold__)
+__attribute__((__cold__))
+#endif
+#if __has_attribute(noreturn)
+__attribute__((noreturn))
+#endif
+oom(const char *func, size_t amount)
+{
+    fprintf (stderr, "%s: unable to allocate %zu bytes of memory in %s\n",
+            ProgramName, amount, func);
+    exit (EXIT_FAILURE);
 }
 
 typedef void (*queue_func)(void *closure);
@@ -100,7 +114,7 @@
 {
     queue_blob *blob = malloc(sizeof(*blob));
     if (!blob)
-       return; /* TODO: print OOM error */
+       oom(__func__, sizeof(*blob));
 
     blob->func = func;
     blob->closure = closure;
@@ -147,6 +161,8 @@
     atom_state *as;
 
     as = malloc(sizeof(*as));
+    if (!as)
+       oom(__func__, sizeof(*as));
     as->c = c;
     as->atom = &WM_STATE;
     as->cookie = xcb_intern_atom(c, 0, strlen("WM_STATE"), "WM_STATE");
@@ -175,16 +191,28 @@
 
            switch (arg[1]) {
              case 'd':                 /* -display dpyname */
-               if (++i >= argc) usage ("-display requires an argument");
+                if (++i >= argc)
+                   usage ("-display requires an argument", EXIT_FAILURE);
                displayname = argv[i];
                continue;
+             case 'h':                 /* -help */
+               usage (NULL, EXIT_SUCCESS);
              case 'm':                 /* -max maxcmdlen */
-               if (++i >= argc) usage ("-max requires an argument");
+               if (++i >= argc)
+                   usage ("-max requires an argument", EXIT_FAILURE);
                maxcmdlen = atoi (argv[i]);
                continue;
              case 'v':                 /* -version */
-               printf("%s\n", PACKAGE_STRING);
-               exit(0);
+               puts (PACKAGE_STRING);
+               exit (EXIT_SUCCESS);
+             case '-':                 /* -- options */
+               if (strcmp(arg, "--help") == 0) {
+                   usage (NULL, EXIT_SUCCESS);
+               } else if (strcmp(arg, "--version") == 0) {
+                   puts (PACKAGE_STRING);
+                   exit (EXIT_SUCCESS);
+               }
+               goto unknown;
            }
 
            for (cp = &arg[1]; *cp; cp++) {
@@ -198,13 +226,14 @@
                  default:
                    fprintf (stderr, "%s: unrecognized argument -%s\n\n",
                             ProgramName, cp);
-                   usage (NULL);
+                   usage (NULL, EXIT_FAILURE);
                }
            }
        } else {
+         unknown:
            fprintf (stderr, "%s: unrecognized argument %s\n\n",
                     ProgramName, arg);
-           usage (NULL);
+           usage (NULL, EXIT_FAILURE);
        }
     }
 
@@ -217,7 +246,7 @@
            name = "";
        fprintf (stderr, "%s:  unable to open display \"%s\"\r\n",
                 ProgramName, name);
-       exit (1);
+       exit (EXIT_FAILURE);
     }
 
     init_atoms(dpy);
@@ -244,7 +273,7 @@
     run_queue();
 
     xcb_disconnect(dpy);
-    exit (0);
+    exit (EXIT_SUCCESS);
 }
 
 typedef struct {
@@ -302,7 +331,8 @@
     num_rep = 0;
     qt_reply = malloc(sizeof(*qt_reply) * cs->list_length);
     if (!qt_reply)
-       goto done; /* TODO: print OOM message, drain reply queue */
+       /* TODO: drain reply queue */
+       oom(__func__, (sizeof(*qt_reply) * cs->list_length));
 
     for (i = 0; i < cs->list_length; i++) {
        qt_reply[num_rep] = xcb_query_tree_reply(c, cs->tree_cookie[i], NULL);
@@ -322,7 +352,9 @@
 
     cs = malloc(sizeof(*cs) + child_count * (sizeof(*cs->prop_cookie) + 
sizeof(*cs->tree_cookie) + sizeof(*cs->win)));
     if (!cs)
-       goto reply_done; /* TODO: print OOM message */
+       oom(__func__, sizeof(*cs) + child_count *
+            (sizeof(*cs->prop_cookie) + sizeof(*cs->tree_cookie) +
+             sizeof(*cs->win)));
 
     cs->c = c;
     cs->verbose = verbose;
@@ -380,7 +412,8 @@
        /* Get information about each child */
        child_wm_state *cs = malloc(sizeof(*cs) + sizeof(*cs->prop_cookie) + 
sizeof(*cs->tree_cookie) + sizeof(*cs->win));
        if (!cs)
-           goto done; /* TODO: print OOM message */
+           oom(__func__, sizeof(*cs) + sizeof(*cs->prop_cookie) +
+                sizeof(*cs->tree_cookie) + sizeof(*cs->win));
        cs->c = rl->c;
        cs->verbose = rl->verbose;
        cs->maxcmdlen = rl->maxcmdlen;
@@ -412,7 +445,7 @@
     root_list_state *rl = malloc(sizeof(*rl));
 
     if (!rl)
-       return; /* TODO: OOM message */
+       oom(__func__, sizeof(*rl));
 
     /*
      * get the list of windows
@@ -548,7 +581,7 @@
 {
     client_state *cs = malloc(sizeof(*cs));
     if (!cs)
-       return; /* TODO: print OOM message */
+       oom(__func__, sizeof(*cs));
 
     cs->c = dpy;
     cs->w = w;
@@ -599,7 +632,7 @@
 
 /* returns the number of characters printed */
 static int
-print_quoted_word(char *s, 
+print_quoted_word(char *s,
                  int maxlen)           /* max number of chars we can print */
 {
     register char *cp;
@@ -612,7 +645,7 @@
      */
     for (cp = s; *cp; cp++) {
 
-       if (! ((isascii(*cp) && isalnum(*cp)) || 
+       if (! ((isascii(*cp) && isalnum(*cp)) ||
               (*cp == '-' || *cp == '_' || *cp == '.' || *cp == '+' ||
                *cp == '/' || *cp == '=' || *cp == ':' || *cp == ','))) {
            need_quote = True;
@@ -637,8 +670,8 @@
            }
            putchar (other_quote);
            charsprinted++; maxlen--;
-           { 
-               char tmp = other_quote; 
+           {
+               char tmp = other_quote;
                other_quote = quote_char; quote_char = tmp;
            }
            in_quote = True;

Reply via email to