Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package xrdb for openSUSE:Factory checked in at 2026-07-12 16:21:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xrdb (Old) and /work/SRC/openSUSE:Factory/.xrdb.new.1991 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xrdb" Sun Jul 12 16:21:01 2026 rev:14 rq:1364888 version:1.2.3 Changes: -------- --- /work/SRC/openSUSE:Factory/xrdb/xrdb.changes 2023-06-12 15:25:39.966773236 +0200 +++ /work/SRC/openSUSE:Factory/.xrdb.new.1991/xrdb.changes 2026-07-12 16:21:38.460987740 +0200 @@ -1,0 +2,6 @@ +Fri Jul 10 08:58:21 UTC 2026 - Stefan Dirsch <[email protected]> + +- Update to bugfix release 1.2.3 +- switch to Meson build system + +------------------------------------------------------------------- Old: ---- xrdb-1.2.2.tar.xz New: ---- xrdb-1.2.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xrdb.spec ++++++ --- /var/tmp/diff_new_pack.8j2Hae/_old 2026-07-12 16:21:39.057007829 +0200 +++ /var/tmp/diff_new_pack.8j2Hae/_new 2026-07-12 16:21:39.057007829 +0200 @@ -1,7 +1,7 @@ # # spec file for package xrdb # -# 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,18 +17,18 @@ Name: xrdb -Version: 1.2.2 +Version: 1.2.3 Release: 0 Summary: X server resource database utility License: MIT Group: System/X11/Utilities URL: https://xorg.freedesktop.org/ Source0: https://xorg.freedesktop.org/releases/individual/app/%{name}-%{version}.tar.xz +BuildRequires: meson >= 1.1.0 BuildRequires: pkgconfig BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xmuu) -BuildRequires: pkgconfig(xorg-macros) >= 1.8 -BuildRequires: pkgconfig(xproto) >= 7.0.17 +BuildRequires: pkgconfig(xproto) >= 7.0.25 Recommends: cpp # This was part of the xorg-x11 package up to version 7.6 Conflicts: xorg-x11 <= 7.6 @@ -44,11 +44,11 @@ %build # Run cpp with "-x assembler-with-cpp" in order to get rid of # warnings when parsing valid comments (bsc#1120004) -%configure --with-cpp="%{_bindir}/cpp -x assembler-with-cpp" -%make_build +%meson -Dcpp="%{_bindir}/cpp -x assembler-with-cpp" +%meson_build %install -%make_install +%meson_install %files %license COPYING ++++++ xrdb-1.2.2.tar.xz -> xrdb-1.2.3.tar.xz ++++++ ++++ 15024 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/xrdb-1.2.2/ChangeLog new/xrdb-1.2.3/ChangeLog --- old/xrdb-1.2.2/ChangeLog 2023-06-03 19:44:14.000000000 +0200 +++ new/xrdb-1.2.3/ChangeLog 2026-07-10 01:13:26.000000000 +0200 @@ -1,3 +1,96 @@ +commit aaf6f3df9377a44081af49a7fb2ae14aa3a18e60 +Author: Alan Coopersmith <[email protected]> +Date: Thu Jul 9 14:32:47 2026 -0700 + + xrdb 1.2.3 + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit aae4365610d2f3bdd04d30fe303bb936b015ddc4 +Author: Alan Coopersmith <[email protected]> +Date: Tue May 12 18:02:14 2026 -0700 + + Git rid of -Wstringop-truncation warnings + + Use memcmp() instead of strncmp() so gcc doesn't think we're treating + our length-tracked buffer as a zero-terminated string and complain we're + failing to copy the terminating zero all the time. + + Signed-off-by: Alan Coopersmith <[email protected]> + Part-of: <https://gitlab.freedesktop.org/xorg/app/xrdb/-/merge_requests/10> + +commit b252f0fb867c3223b807c95e6637b0fe8dfa29d5 +Author: Alan Coopersmith <[email protected]> +Date: Mon May 11 20:04:17 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/xrdb/-/merge_requests/9> + +commit 2f4ec193d907d6054c9d538f8f85d5b9775e9478 +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/xrdb/-/merge_requests/9> + +commit 20fc79a257ecaba0df3af8485dbf64fd73003a73 +Author: Alan Coopersmith <[email protected]> +Date: Sat May 31 11:25:39 2025 -0700 + + man page: fix warnings from `mandoc -T lint` + + mandoc: xrdb.1:197:81: STYLE: input text line longer than 80 bytes: The resources which ... + mandoc: xrdb.1:26:12: WARNING: cannot parse date, using it verbatim: TH xrdb 1.2.2 + mandoc: xrdb.1:169:2: WARNING: skipping paragraph macro: PP after SH + mandoc: xrdb.1:344:2: WARNING: skipping paragraph macro: PP after SH + + Signed-off-by: Alan Coopersmith <[email protected]> + Part-of: <https://gitlab.freedesktop.org/xorg/app/xrdb/-/merge_requests/8> + +commit 80fb1a3dfdd1ddb9574882111ba029055b76a1af +Author: Alan Coopersmith <[email protected]> +Date: Sun Apr 6 17:41:40 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/xrdb/-/merge_requests/7> + +commit 51cfbcc53d97c00bb825825ca6245a8f74a8cdc0 +Author: Alan Coopersmith <[email protected]> +Date: Sun Apr 6 17:09:06 2025 -0700 + + Make -help exit with 0 instead of 1 + + Signed-off-by: Alan Coopersmith <[email protected]> + Part-of: <https://gitlab.freedesktop.org/xorg/app/xrdb/-/merge_requests/7> + +commit 33f9c04a1f538c9a4f8e4dccf6076f1fed37c396 +Author: Alan Coopersmith <[email protected]> +Date: Sun Apr 6 17:05:10 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/xrdb/-/merge_requests/7> + commit ff688ceacaddb8e2f345caadfe33e408d97782a0 Author: Alan Coopersmith <[email protected]> Date: Sat Jun 3 10:40:03 2023 -0700 @@ -1052,7 +1145,7 @@ (replaces per-OS hardcoding of CppCmd in Imake config files) commit 14ca3186594492b2733b9cc7e071ecfc039fb428 -Author: Søren Sandmann Pedersen <[email protected]> +Author: Søren Sandmann Pedersen <[email protected]> Date: Fri Jul 1 20:27:45 2005 +0000 Build systems for xrdb, xrandr, xrefresh 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/xrdb-1.2.2/Makefile.am new/xrdb-1.2.3/Makefile.am --- old/xrdb-1.2.2/Makefile.am 2023-06-03 19:44:04.000000000 +0200 +++ new/xrdb-1.2.3/Makefile.am 2026-07-10 01:13:15.000000000 +0200 @@ -40,4 +40,4 @@ dist-hook: ChangeLog INSTALL -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/xrdb-1.2.2/compile new/xrdb-1.2.3/compile --- old/xrdb-1.2.2/compile 2023-06-03 19:44:08.000000000 +0200 +++ new/xrdb-1.2.3/compile 2026-07-10 01:13:19.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/xrdb-1.2.2/config.h.in new/xrdb-1.2.3/config.h.in --- old/xrdb-1.2.2/config.h.in 2023-06-03 19:44:07.000000000 +0200 +++ new/xrdb-1.2.3/config.h.in 2026-07-10 01:13:18.000000000 +0200 @@ -3,7 +3,7 @@ /* Path to CPP program */ #undef CPP -/* Define to 1 if you have the `asprintf' function. */ +/* Define to 1 if you have the 'asprintf' function. */ #undef HAVE_ASPRINTF /* Define to 1 if you have the <inttypes.h> header file. */ @@ -12,10 +12,10 @@ /* Define to 1 if you have the <minix/config.h> header file. */ #undef HAVE_MINIX_CONFIG_H -/* Define to 1 if you have the `mkstemp' function. */ +/* Define to 1 if you have the 'mkstemp' function. */ #undef HAVE_MKSTEMP -/* Define to 1 if you have the `reallocarray' function. */ +/* Define to 1 if you have the 'reallocarray' function. */ #undef HAVE_REALLOCARRAY /* Define to 1 if you have the <stdint.h> header file. */ @@ -81,15 +81,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 @@ -147,11 +151,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/xrdb-1.2.2/configure.ac new/xrdb-1.2.3/configure.ac --- old/xrdb-1.2.2/configure.ac 2023-06-03 19:44:04.000000000 +0200 +++ new/xrdb-1.2.3/configure.ac 2026-07-10 01:13:15.000000000 +0200 @@ -22,8 +22,8 @@ # Initialize Autoconf AC_PREREQ([2.70]) -AC_INIT([xrdb], [1.2.2], - [https://gitlab.freedesktop.org/xorg/app/xrdb/issues], [xrdb]) +AC_INIT([xrdb], [1.2.3], + [https://gitlab.freedesktop.org/xorg/app/xrdb/-/issues], [xrdb]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([config.h]) AC_USE_SYSTEM_EXTENSIONS 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/xrdb-1.2.2/man/xrdb.man new/xrdb-1.2.3/man/xrdb.man --- old/xrdb-1.2.2/man/xrdb.man 2023-06-03 19:44:04.000000000 +0200 +++ new/xrdb-1.2.3/man/xrdb.man 2026-07-10 01:13:15.000000000 +0200 @@ -23,46 +23,48 @@ .\" other dealings in this Software without prior written authorization .\" from The Open Group. .\" -.TH XRDB 1 __xorgversion__ +.TH XRDB 1 2025-04-06 __xorgversion__ .SH NAME xrdb - X server resource database utility .SH SYNOPSIS .B xrdb -[-option ...] [\fIfilename\fP] +[\fI\-option\fP ...] [\fIfilename\fP] .SH DESCRIPTION -.I Xrdb -is used to get or set the contents of the RESOURCE_MANAGER property -on the root window of screen 0, or the SCREEN_RESOURCES property on +.B Xrdb +is used to get or set the contents of the \fBRESOURCE_MANAGER\fP property +on the root window of screen 0, or the \fBSCREEN_RESOURCES\fP property on the root window of any or all screens, or everything combined. You would normally run this program from your X startup file. .LP -Most X clients use the RESOURCE_MANAGER and SCREEN_RESOURCES properties to -get user preferences about -color, fonts, and so on for applications. Having this information in -the server (where it is available to all clients) instead of on disk, +Many X clients use the \fBRESOURCE_MANAGER\fP and \fBSCREEN_RESOURCES\fP +properties to get user preferences about color, fonts, and so on +for applications. +Having this information in the server (where it is available to all clients) +instead of on disk, solves the problem in previous versions of X that required you to maintain \fIdefaults\fP files on every machine that you might use. It also allows for dynamic changing of defaults without editing files. .LP -The RESOURCE_MANAGER property is used for resources that apply to all -screens of the display. The SCREEN_RESOURCES property on each screen +The \fBRESOURCE_MANAGER\fP property is used for resources that apply to all +screens of the display. +The \fBSCREEN_RESOURCES\fP property on each screen specifies additional (or overriding) resources to be used for that screen. -(When there is only one screen, SCREEN_RESOURCES is normally not used, -all resources are just placed in the RESOURCE_MANAGER property.) +(When there is only one screen, \fBSCREEN_RESOURCES\fP is normally not used, +all resources are just placed in the \fBRESOURCE_MANAGER\fP property.) .LP The file specified by .I filename -(or the contents from standard input if - or no filename is given) +(or the contents from standard input if \fB\-\fP or no filename is given) is optionally passed through the C preprocessor with the -following symbols defined, based on the capabilities of the server -being used: +following symbols defined, +based on the capabilities of the server being used: .TP 8 .B SERVERHOST=\fIhostname\fP the hostname portion of the display to which you are connected. .TP 8 .B SRVR_\fIname\fB the SERVERHOST hostname string turned into a legal identifier. -For example, "my-dpy.lcs.mit.edu" becomes SRVR_my_dpy_lcs_mit_edu. +For example, "my\-dpy.lcs.mit.edu" becomes \fBSRVR_my_dpy_lcs_mit_edu\fP. .TP 8 .B HOST=\fIhostname\fP the same as @@ -73,16 +75,16 @@ .TP 8 .B CLIENTHOST=\fIhostname\fP the name of the host on which -.I xrdb +.B xrdb is running. .TP 8 .B CLNT_\fIname\fB the CLIENTHOST hostname string turned into a legal identifier. -For example, "expo.lcs.mit.edu" becomes CLNT_expo_lcs_mit_edu. +For example, "expo.lcs.mit.edu" becomes \fBCLNT_expo_lcs_mit_edu\fP. .TP 8 .B RELEASE=\fInum\fP -the vendor release number for the server. The interpretation of this -number will vary depending on VENDOR. +the vendor release number for the server. +The interpretation of this number will vary depending on \fBVENDOR\fP. .TP 8 .B REVISION=\fInum\fP the X protocol minor version supported by this server (currently 0). @@ -94,13 +96,13 @@ a string literal specifying the vendor of the server. .TP 8 .B VNDR_\fIname\fP -the VENDOR name string turned into a legal identifier. -For example, "MIT X Consortium" becomes VNDR_MIT_X_Consortium. +the \fBVENDOR\fP name string turned into a legal identifier. +For example, "The X.Org Foundation" becomes \fBVNDR_The_X_Org_Foundation\fP. .TP 8 .B EXT_\fIname\fP A symbol is defined for each protocol extension supported by the server. Each extension string name is turned into a legal identifier. -For example, "X3D-PEX" becomes EXT_X3D_PEX. +For example, "XC\-MISC" becomes \fBEXT_XC_MISC\fP. .TP 8 .B NUM_SCREENS=\fInum\fP the total number of screens. @@ -109,21 +111,24 @@ the number of the current screen (from zero). .TP 8 .B BITS_PER_RGB=\fInum\fP -the number of significant bits in an RGB color specification. This is the -log base 2 of the number of distinct shades of each primary that the hardware -can generate. Note that it usually is not related to PLANES. +the number of significant bits in an RGB color specification. +This is the log base 2 of the number of distinct shades of each primary +that the hardware can generate. +Note that it usually is not related to \fBPLANES\fP. .TP 8 .B CLASS=\fIvisualclass\fP -one of StaticGray, GrayScale, StaticColor, PseudoColor, TrueColor, -DirectColor. This is the visual class of the root window. +one of +.BR StaticGray ", " GrayScale ", " StaticColor , +.BR PseudoColor ", " TrueColor ", " DirectColor . +This is the visual class of the root window. .TP 8 .B CLASS_\fIvisualclass\fP=\fIvisualid\fP -the visual class of the root window in a form you can \fI#ifdef\fP on. +the visual class of the root window in a form you can \fB#ifdef\fP on. The value is the numeric id of the visual. .TP 8 .B COLOR -defined only if CLASS is one of StaticColor, PseudoColor, TrueColor, or -DirectColor. +defined if, and only if, \fBCLASS\fP is one of +.BR StaticColor ", " PseudoColor ", " TrueColor ", or " DirectColor . .TP 8 .B CLASS_\fIvisualclass\fP_\fIdepth\fP=\fInum\fP A symbol is defined for each visual supported for the screen. @@ -147,7 +152,8 @@ .B Y_RESOLUTION=\fInum\fP the y resolution of the screen in pixels per meter. .LP -SRVR_\fIname\fP, CLNT_\fIname\fP, VNDR_\fIname\fP, and EXT_\fIname\fP +.BR SRVR_\fIname\fP ", " CLNT_\fIname\fP , +.BR VNDR_\fIname\fP ", and " EXT_\fIname\fP identifiers are formed by changing all characters other than letters and digits into underscores (_). .LP @@ -155,13 +161,12 @@ be used as comments. .LP Note that since -.I xrdb +.B xrdb can read from standard input, it can be used to the change the contents of properties directly from a terminal or from a shell script. .SH "OPTIONS" -.PP -.I xrdb +.B xrdb program accepts the following options: .TP 8 .B \-help @@ -173,68 +178,75 @@ without performing any other operations. .TP 8 .B \-display \fIdisplay\fP -This option specifies the X server to be used; see \fIX(__miscmansuffix__)\fP. -It also specifies the screen to use for the \fI-screen\fP option, +This option specifies the X server to be used; see +.BR X (__miscmansuffix__). +It also specifies the screen to use for the \fB\-screen\fP option, and it specifies the screen from which preprocessor symbols are -derived for the \fI-global\fP option. +derived for the \fB\-global\fP option. .TP 8 .B \-all This option indicates that operation should be performed on the -screen-independent resource property (RESOURCE_MANAGER), as well as -the screen-specific property (SCREEN_RESOURCES) on every screen of the -display. For example, when used in conjunction with \fI-query\fP, -the contents of all properties are output. For \fI-load\fP, \fI-override\fP -and \fI-merge\fP, -the input file is processed once for each screen. The resources which occur -in common in the output for every screen are collected, and these are applied -as the screen-independent resources. The remaining resources are applied -for each individual per-screen property. This the default mode of operation. +screen-independent resource property (\fBRESOURCE_MANAGER\fP), +as well as the screen-specific property (\fBSCREEN_RESOURCES\fP) +on every screen of the display. +For example, when used in conjunction with \fB\-query\fP, +the contents of all properties are output. +For \fB\-load\fP, \fB\-override\fP, and \fB\-merge\fP, +the input file is processed once for each screen. +The resources which occur in common in the output for every screen are +collected, and these are applied as the screen-independent resources. +The remaining resources are applied for each individual per-screen property. +This the default mode of operation. .TP 8 .B \-global This option indicates that the operation should only be performed on -the screen-independent RESOURCE_MANAGER property. +the screen-independent \fBRESOURCE_MANAGER\fP property. .TP 8 .B \-screen This option indicates that the operation should only be performed on -the SCREEN_RESOURCES property of the default screen of the display. +the \fBSCREEN_RESOURCES\fP property of the default screen of the display. .TP 8 .B \-screens This option indicates that the operation should be performed on -the SCREEN_RESOURCES property of each screen of the display. -For \fI-load\fP, \fI-override\fP and \fI-merge\fP, the input file is -processed for each screen. +the \fBSCREEN_RESOURCES\fP property of each screen of the display. +For \fB\-load\fP, \fB\-override\fP, and \fB\-merge\fP, +the input file is processed for each screen. .TP 8 .B \-n -This option indicates that changes to the specified properties (when used with -\fI-load\fP, \fI-override\fP or \fI-merge\fP) -or to the resource file (when used with \fI-edit\fP) should be shown on the +This option indicates that changes to the specified properties +(when used with \fB\-load\fP, \fB\-override\fP, or \fB\-merge\fP) +or to the resource file (when used with \fB\-edit\fP) should be shown on the standard output, but should not be performed. .TP 8 .B \-quiet This option indicates that warning about duplicate entries should not be displayed. .TP 8 -.B -cpp \fIfilename\fP +.B \-cpp \fIfilename\fP This option specifies the pathname of the C preprocessor program to be used. Although -.I xrdb -was designed to use CPP, any program that acts as a filter -and accepts the -D, -I, and -U options may be used. +.B xrdb +was designed to use +.BR cpp (1), +any program that acts as a filter and accepts the +.BR \-D ", " \-I ", and " \-U +options may be used. .TP 8 -.B -nocpp +.B \-nocpp This option indicates that -.I xrdb +.B xrdb should not run the input file through a preprocessor before loading it into properties. .TP 8 -.B -undef -This option is passed to the C preprocessor if used. It prevents it from -predefining any system specific macros. +.B \-undef +This option is passed to the C preprocessor if used. +It prevents it from predefining any system specific macros. .TP 8 .B \-E This option indicates that any cpp command run and the output from it should -be shown on standard output. If \fB\-nocpp\fP was also specified, the input -file will be shown as read. The specified changes will also be performed +be shown on standard output. +If \fB\-nocpp\fP was also specified, the input file will be shown as read. +The specified changes will also be performed unless the \fB\-n\fP option is also specified. .TP 8 .B \-symbols @@ -243,10 +255,11 @@ .TP 8 .B \-query This option indicates that the current contents of the specified -properties should be printed onto the standard output. Note that since -preprocessor commands in the input resource file are part of the input -file, not part of the property, they won't appear in the output from this -option. The +properties should be printed onto the standard output. +Note that since preprocessor commands in the input resource file are part +of the input file, not part of the property, +they won't appear in the output from this option. +The .B \-edit option can be used to merge the contents of properties back into the input resource file without damaging preprocessor commands. @@ -257,18 +270,19 @@ .TP 8 .B \-load This option indicates that the input should be loaded as the new value -of the specified properties, replacing whatever was there (i.e. -the old contents are removed). This is the default action. +of the specified properties, +replacing whatever was there (i.e. the old contents are removed). +This is the default action. .TP 8 .B \-override -This option indicates that the input should be added to, instead of -replacing, the current contents of the specified properties. +This option indicates that the input should be added to, +instead of replacing, the current contents of the specified properties. New entries override previous entries. .TP 8 .B \-merge This option indicates that the input should be merged and lexicographically -sorted with, instead of replacing, the current contents of the specified -properties. +sorted with, +instead of replacing, the current contents of the specified properties. .TP 8 .B \-remove This option indicates that the specified properties should be removed @@ -276,13 +290,17 @@ .TP 8 .B \-retain This option indicates that the server should be instructed not to reset if -\fIxrdb\fP is the first client. This should never be necessary under normal -conditions, since \fIxdm\fP and \fIxinit\fP always act as the first client. +\fBxrdb\fP is the first client. +This should never be necessary under normal conditions, since +.BR xdm (1) +and +.BR xinit (1) +always act as the first client. .TP 8 .B \-edit \fIfilename\fP -This option indicates that the contents of the specified properties -should be edited into the given file, replacing any values already listed -there. This allows you to put changes that you have made to your defaults +This option indicates that the contents of the specified properties should +be edited into the given file, replacing any values already listed there. +This allows you to put changes that you have made to your defaults back into your resource file, preserving any comments or preprocessor lines. .TP 8 .B \-backup \fIstring\fP @@ -293,7 +311,7 @@ .B \-D\fIname[=value]\fP This option is passed through to the preprocessor and is used to define symbols for use with conditionals such as -.I #ifdef. +.BR #ifdef . .TP 8 .B \-U\fIname\fP This option is passed through to the preprocessor and is used to remove @@ -302,22 +320,26 @@ .B \-I\fIdirectory\fP This option is passed through to the preprocessor and is used to specify a directory to search for files that are referenced with -.I #include. +.BR #include . .SH FILES -.I Xrdb +.B Xrdb does not load any files on its own, but many desktop environments use -xrdb to load \fI~/.Xresources\fP files on session startup to initialize -the resource database, as a generalized replacement for \fI~/.Xdefaults\fP -files. +.B xrdb +to load \fB~/.Xresources\fP files on session startup to initialize +the resource database, +as a generalized replacement for \fB~/.Xdefaults\fP files. .SH "SEE ALSO" -X(__miscmansuffix__), appres(__appmansuffix__), listres(__appmansuffix__), -Xlib Resource Manager documentation, Xt resource documentation +.BR X (__miscmansuffix__), +.BR appres (__appmansuffix__), +.BR listres (__appmansuffix__), +.BR xdpyinfo (__appmansuffix__), +Xlib Resource Manager documentation, +Xt resource documentation .SH ENVIRONMENT .TP 8 .B DISPLAY to figure out which display to use. .SH BUGS -.PP The default for no arguments should be to query, not to overwrite, so that it is consistent with other programs. .SH AUTHORS 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/xrdb-1.2.2/meson.build new/xrdb-1.2.3/meson.build --- old/xrdb-1.2.2/meson.build 1970-01-01 01:00:00.000000000 +0100 +++ new/xrdb-1.2.3/meson.build 2026-07-10 01:13:15.000000000 +0200 @@ -0,0 +1,137 @@ +# 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( + 'xrdb', + 'c', + version: '1.2.3', + license: 'MIT-open-group AND HPND-DEC', + 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' + system_extensions = '-D__EXTENSIONS__' +elif host_machine.system() == 'netbsd' + system_extensions = '-D_OPENBSD_SOURCE' +else + system_extensions = '-D_GNU_SOURCE' +endif +add_project_arguments(system_extensions, language: ['c']) + +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 + +# Checks for system functions +funcs_to_check = { + 'mkstemp': '#include <stdlib.h>', + 'asprintf': '#include <stdio.h>', + 'reallocarray': '#include <stdlib.h>', +} +foreach f, p: funcs_to_check + has_func = cc.has_function(f, args: system_extensions, prefix: p) + have_f_name = 'HAVE_' + f.to_upper().underscorify() + conf.set(have_f_name, has_func ? '1' : false, + description: f'Define to 1 if you have the \'@f@\' function.') +endforeach + +# Find MAXHOSTNAMELEN definition +# Common hidey holes: +# BSD & Linux - <sys/param.h> +# Solaris - <netdb.h> + +foreach h: ['sys/param.h', 'netdb.h'] + found = cc.has_header_symbol( + h, + 'MAXHOSTNAMELEN', + args: system_extensions, + required: false, + ) + need_h_name = 'NEED_' + h.to_upper().underscorify() + conf.set(need_h_name, found ? '1' : false, + description: f'Define to 1 if you need <@h@> to define MAXHOSTNAMELEN') +endforeach + +# xrdb needs to know where to find cpp at runtime - previously set as CppCmd +# in Imake config files for each OS +cpp = get_option('cpp') +if cpp == '' + # check $PATH first + cpp = find_program('cpp', required: false) + if not cpp.found() + cpp = find_program('cpp', required: true, + dirs: ['/bin', '/usr/bin', '/usr/lib', '/usr/libexec', '/usr/ccs/lib', + '/usr/ccs/lbin', '/lib']) + endif + cpp_path = cpp.full_path() +else + cpp_path = cpp.replace(',', '","') +endif +summary('cpp', cpp) +conf.set('CPP', f'"@cpp_path@"', description: 'Path to CPP program') + +# Checks for pkg-config packages +dep_libxmuu = dependency('xmuu', required: true) +dep_libx11 = dependency('x11', required: true) +dep_xproto = dependency('xproto', required: true, version: '>= 7.0.25') +deps = [dep_libxmuu, dep_libx11, dep_xproto] + +config_h = configure_file(output: 'config.h', configuration: conf) +add_project_arguments('-DHAVE_CONFIG_H', language: ['c']) + +executable( + 'xrdb', + [config_h, 'xrdb.c'], + dependencies: deps, + install: true +) + +# Man page +prog_sed = find_program('sed') + +custom_target( + 'xrdb.man', + input: 'man/xrdb.man', + output: 'xrdb.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/xrdb-1.2.2/meson.options new/xrdb-1.2.3/meson.options --- old/xrdb-1.2.2/meson.options 1970-01-01 01:00:00.000000000 +0100 +++ new/xrdb-1.2.3/meson.options 2026-07-10 01:13:15.000000000 +0200 @@ -0,0 +1,5 @@ +option( + 'cpp', + type: 'string', + description: 'comma-separated list of paths to cpp command for xrdb to use at runtime', +) 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/xrdb-1.2.2/missing new/xrdb-1.2.3/missing --- old/xrdb-1.2.2/missing 2023-06-03 19:44:08.000000000 +0200 +++ new/xrdb-1.2.3/missing 2026-07-10 01:13:19.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/xrdb-1.2.2/xrdb.c new/xrdb-1.2.3/xrdb.c --- old/xrdb-1.2.2/xrdb.c 2023-06-03 19:44:04.000000000 +0200 +++ new/xrdb-1.2.3/xrdb.c 2026-07-10 01:13:15.000000000 +0200 @@ -230,7 +230,7 @@ fatal("%s: Can't allocate memory in %s\n", ProgramName, __func__); b->room *= 2; } - strncpy(b->buff + b->used, str, len); + memcpy(b->buff + b->used, str, len); b->used += len; } @@ -768,7 +768,7 @@ } static void _X_NORETURN _X_COLD -Syntax(const char *errmsg) +Syntax(const char *errmsg, int exitstatus) { if (errmsg != NULL) fprintf(stderr, "%s: %s\n", ProgramName, errmsg); @@ -802,7 +802,7 @@ "\n" "A - or no input filename represents stdin.\n", ProgramName, cpp_program ? cpp_program : "", BACKUP_SUFFIX); - exit(1); + exit(exitstatus); } /* @@ -943,29 +943,31 @@ filename = NULL; continue; } - else if (isabbreviation("-help", arg, 2)) { - Syntax(NULL); + else if (isabbreviation("-help", arg, 2) || + !strcmp("--help", arg)) { + Syntax(NULL, EXIT_SUCCESS); /* doesn't return */ } - else if (isabbreviation("-version", arg, 2)) { - printf("%s\n", PACKAGE_STRING); - exit(0); + else if (isabbreviation("-version", arg, 2) || + !strcmp("--version", arg)) { + puts(PACKAGE_STRING); + exit(EXIT_SUCCESS); } else if (isabbreviation("-display", arg, 2)) { if (++i >= argc) - Syntax("-display requires an argument"); + Syntax("-display requires an argument", EXIT_FAILURE); displayname = argv[i]; continue; } else if (isabbreviation("-geometry", arg, 3)) { if (++i >= argc) - Syntax("-geometry requires an argument"); + Syntax("-geometry requires an argument", EXIT_FAILURE); /* ignore geometry */ continue; } else if (isabbreviation("-cpp", arg, 2)) { if (++i >= argc) - Syntax("-cpp requires an argument"); + Syntax("-cpp requires an argument", EXIT_FAILURE); cpp_program = argv[i]; continue; } @@ -988,7 +990,7 @@ else if (isabbreviation("-get", arg, 2)) { oper = OPGET; if (++i >= argc) - Syntax("-get requires an argument"); + Syntax("-get requires an argument", EXIT_FAILURE); resource_name = argv[i]; continue; } @@ -1014,14 +1016,14 @@ } else if (isabbreviation("-edit", arg, 2)) { if (++i >= argc) - Syntax("-edit requires an argument"); + Syntax("-edit requires an argument", EXIT_FAILURE); oper = OPEDIT; editFile = argv[i]; continue; } else if (isabbreviation("-backup", arg, 2)) { if (++i >= argc) - Syntax("-backup requires an argument"); + Syntax("-backup requires an argument", EXIT_FAILURE); backup_suffix = argv[i]; continue; } @@ -1074,7 +1076,7 @@ } fprintf(stderr, "%s: unrecognized argument '%s'\n", ProgramName, arg); - Syntax(NULL); + Syntax(NULL, EXIT_FAILURE); } else if (arg[0] == '=') continue; @@ -1222,7 +1224,7 @@ if (retainProp) XSetCloseDownMode(dpy, RetainPermanent); XCloseDisplay(dpy); - exit(0); + exit(EXIT_SUCCESS); } @@ -1563,5 +1565,5 @@ va_start(args, msg); vfprintf(stderr, msg, args); va_end(args); - exit(1); + exit(EXIT_FAILURE); }
