Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package xwud for openSUSE:Factory checked in at 2026-07-21 23:00:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xwud (Old) and /work/SRC/openSUSE:Factory/.xwud.new.24530 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xwud" Tue Jul 21 23:00:14 2026 rev:10 rq:1366729 version:1.0.8 Changes: -------- --- /work/SRC/openSUSE:Factory/xwud/xwud.changes 2024-10-30 17:39:33.857145592 +0100 +++ /work/SRC/openSUSE:Factory/.xwud.new.24530/xwud.changes 2026-07-21 23:00:15.901434917 +0200 @@ -1,0 +2,12 @@ +Mon Jul 13 09:54:28 UTC 2026 - Stefan Dirsch <[email protected]> + +- Update to version 1.0.8 + * -help should exit(0) not (1) + * Improve man page formatting + * man page: fix warnings from `mandoc -T lint` + * gitlab CI: drop the ci-fairy check-mr job + * Strip trailing whitespace from source files + * meson: Add option to build with meson +- Switch to meson build + +------------------------------------------------------------------- Old: ---- xwud-1.0.7.tar.xz New: ---- xwud-1.0.8.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xwud.spec ++++++ --- /var/tmp/diff_new_pack.V0JUeM/_old 2026-07-21 23:00:16.537456591 +0200 +++ /var/tmp/diff_new_pack.V0JUeM/_new 2026-07-21 23:00:16.537456591 +0200 @@ -1,7 +1,7 @@ # # spec file for package xwud # -# Copyright (c) 2024 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,17 +17,18 @@ Name: xwud -Version: 1.0.7 +Version: 1.0.8 Release: 0 Summary: Image displayer for X 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: ninja BuildRequires: pkgconfig BuildRequires: pkgconfig(x11) -BuildRequires: pkgconfig(xorg-macros) >= 1.8 -BuildRequires: pkgconfig(xproto) >= 7.0.17 +BuildRequires: pkgconfig(xproto) >= 7.0.25 # This was part of the xorg-x11 package up to version 7.6 Conflicts: xorg-x11 <= 7.6 @@ -39,11 +40,11 @@ %setup -q %build -%configure -%make_build +%meson +%meson_build %install -%make_install +%meson_install %files %license COPYING ++++++ xwud-1.0.7.tar.xz -> xwud-1.0.8.tar.xz ++++++ ++++ 8736 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/xwud-1.0.7/ChangeLog new/xwud-1.0.8/ChangeLog --- old/xwud-1.0.7/ChangeLog 2024-10-12 20:44:35.000000000 +0200 +++ new/xwud-1.0.8/ChangeLog 2026-07-12 03:07:28.000000000 +0200 @@ -1,3 +1,103 @@ +commit 6bd7f41c9b7172a38d780f6618c4ba84fe5c5d48 +Author: Alan Coopersmith <[email protected]> +Date: Sat Jul 11 18:04:14 2026 -0700 + + xwud 1.0.8 + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit 161c141365ade78345af45b70d6284506a322814 +Author: Alan Coopersmith <[email protected]> +Date: Mon May 18 18:16:40 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/xwud/-/merge_requests/8> + +commit 04c3b27de9292234597f8f1e5737a93639efa0f8 +Author: Alan Coopersmith <[email protected]> +Date: Mon May 18 17:44:39 2026 -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/xwud/-/merge_requests/8> + +commit babd992e046dbdb0fec840edc66337b7e828085c +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/xwud/-/merge_requests/8> + +commit 3470cfdff72fabb912bf9065c74637dd0845c609 +Author: Alan Coopersmith <[email protected]> +Date: Sat May 31 13:29:08 2025 -0700 + + man page: fix warnings from `mandoc -T lint` + + mandoc: xwud.1:25:12: WARNING: cannot parse date, using it verbatim: TH xwud 1.0.7 + mandoc: xwud.1:36:2: WARNING: skipping paragraph macro: PP after SH + mandoc: xwud.1:44:2: WARNING: skipping paragraph macro: PP empty + mandoc: xwud.1:49:2: WARNING: skipping paragraph macro: PP empty + mandoc: xwud.1:54:2: WARNING: skipping paragraph macro: PP empty + mandoc: xwud.1:58:2: WARNING: skipping paragraph macro: PP empty + mandoc: xwud.1:63:2: WARNING: skipping paragraph macro: PP empty + mandoc: xwud.1:69:2: WARNING: skipping paragraph macro: PP empty + mandoc: xwud.1:73:2: WARNING: skipping paragraph macro: PP empty + mandoc: xwud.1:79:2: WARNING: skipping paragraph macro: PP empty + mandoc: xwud.1:88:2: WARNING: skipping paragraph macro: PP empty + mandoc: xwud.1:94:2: WARNING: skipping paragraph macro: PP empty + mandoc: xwud.1:99:2: WARNING: skipping paragraph macro: PP empty + mandoc: xwud.1:108:2: WARNING: skipping paragraph macro: PP empty + mandoc: xwud.1:115:2: WARNING: skipping paragraph macro: PP empty + mandoc: xwud.1:119:2: WARNING: skipping paragraph macro: PP empty + mandoc: xwud.1:129:2: WARNING: skipping paragraph macro: PP empty + mandoc: xwud.1:135:2: WARNING: skipping paragraph macro: PP empty + mandoc: xwud.1:150:2: WARNING: skipping paragraph macro: PP empty + mandoc: xwud.1:155:2: WARNING: skipping paragraph macro: PP empty + + Signed-off-by: Alan Coopersmith <[email protected]> + Part-of: <https://gitlab.freedesktop.org/xorg/app/xwud/-/merge_requests/7> + +commit 543a91255977be6da74eda0979cf11e3a4e5300a +Author: Alan Coopersmith <[email protected]> +Date: Sat Apr 12 15:57:08 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/xwud/-/merge_requests/6> + +commit 5d8a6cb0db0ba4ae7880528f289675dbd12675ef +Author: Alan Coopersmith <[email protected]> +Date: Sat Apr 12 15:47:44 2025 -0700 + + -help should exit(0) not (1) + + Signed-off-by: Alan Coopersmith <[email protected]> + Part-of: <https://gitlab.freedesktop.org/xorg/app/xwud/-/merge_requests/6> + commit f27a02acd302fef3104394a9a966c1194158b62f Author: Alan Coopersmith <[email protected]> Date: Sat Oct 12 11:39:37 2024 -0700 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/xwud-1.0.7/Makefile.am new/xwud-1.0.8/Makefile.am --- old/xwud-1.0.7/Makefile.am 2024-10-12 20:44:25.000000000 +0200 +++ new/xwud-1.0.8/Makefile.am 2026-07-12 03:07:18.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 @@ -40,4 +40,4 @@ dist-hook: ChangeLog INSTALL -EXTRA_DIST = README.md +EXTRA_DIST = README.md meson.build 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/xwud-1.0.7/compile new/xwud-1.0.8/compile --- old/xwud-1.0.7/compile 2024-10-12 20:44:30.000000000 +0200 +++ new/xwud-1.0.8/compile 2026-07-12 03:07:22.000000000 +0200 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2024-06-19.01; # UTC +scriptversion=2025-06-18.21; # UTC -# Copyright (C) 1999-2024 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"` @@ -343,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/xwud-1.0.7/configure.ac new/xwud-1.0.8/configure.ac --- old/xwud-1.0.7/configure.ac 2024-10-12 20:44:25.000000000 +0200 +++ new/xwud-1.0.8/configure.ac 2026-07-12 03:07:18.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([xwud], [1.0.7], +AC_INIT([xwud], [1.0.8], [https://gitlab.freedesktop.org/xorg/app/xwud/-/issues], [xwud]) 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/xwud-1.0.7/man/xwud.man new/xwud-1.0.8/man/xwud.man --- old/xwud-1.0.7/man/xwud.man 2024-10-12 20:44:25.000000000 +0200 +++ new/xwud-1.0.8/man/xwud.man 2026-07-12 03:07:18.000000000 +0200 @@ -22,139 +22,127 @@ .\" other dealings in this Software without prior written authorization .\" from The Open Group. .\" -.TH XWUD 1 __xorgversion__ +.TH XWUD 1 2025-04-12 __xorgversion__ .SH NAME xwud - image displayer for X .SH SYNOPSIS -.B "xwud" -[\-in \fIfile\fP] [\-noclick] [\-geometry \fIgeom\fP] [\-display \fIdisplay\fP] -[\-new] [\-std <maptype>] [\-raw] [\-vis <vis-type-or-id>] [\-scale] -[\-help] [\-rv] [\-plane \fInumber\fP] [\-fg \fIcolor\fP] [\-bg \fIcolor\fP] -[\-dumpheader] [\-version] +.nf +\fBxwud\fP [\fB\-in\fP \fIfile\fP] [\fB\-noclick\fP] [\fB\-geometry\fP \fIgeom\fP] [\fB\-display\fP \fIdisplay\fP] + [\fB\-new\fP] [\fB\-std\fP \fImaptype\fP] [\fB\-raw\fP] [\fB\-vis\fP \fIvis-type-or-id\fP] [\fB\-scale\fP] + [\fB\-help\fP] [\fB\-rv\fP] [\fB\-plane\fP \fInumber\fP] [\fB\-fg\fP \fIcolor\fP] [\fB\-bg\fP \fIcolor\fP] + [\fB\-dumpheader\fP] [\fB\-version\fP] +.fi .SH DESCRIPTION -.PP -.I Xwud +.B Xwud is an X Window System image undumping utility. -.I Xwud +.B Xwud allows X users to display in a window an image saved -in a specially formatted dump file, such as produced by \fIxwd(__appmansuffix__)\fP. +in a specially formatted dump file, such as produced by +.BR xwd (__appmansuffix__). .SH OPTIONS -.PP .TP 8 .B "\-bg \fIcolor\fP" If a bitmap image (or a single plane of an image) is displayed, this option can be used to specify the color to display for the "0" bits in the image. -.PP .TP 8 .B "\-display \fIdisplay\fP" -This option allows you to specify the server to connect to; see \fIX(__miscmansuffix__)\fP. -.PP +This option allows you to specify the server to connect to; see +.BR X (__miscmansuffix__). .TP 8 .B \-dumpheader This option prints out the XWD header information only. Nothing is displayed. -.PP .TP 8 .B "\-fg \fIcolor\fP" If a bitmap image (or a single plane of an image) is displayed, this option can be used to specify the color to display for the "1" bits in the image. -.PP .TP 8 .B "\-geometry \fIgeom\fP" This option allows you to specify the size and position of the window. Typically you will only want to specify the position, and let the size default to the actual size of the image. -.PP .TP 8 .B "\-help" Print out a short description of the allowable options. -.PP .TP 8 .B "\-in \fIfile\fP" This option allows the user to explicitly specify the input -file on the command line. If no input file is given, the standard input -is assumed. -.PP +file on the command line. +If no input file is given, the standard input is assumed. .TP 8 .B \-new This option forces creation of a new colormap for displaying the image. -If the image characteristics happen to match those of the display, this -can get the image on the screen faster, but at the cost of using a new -colormap (which on most displays will cause other windows to go -technicolor). -.PP +If the image characteristics happen to match those of the display, +this can get the image on the screen faster, +but at the cost of using a new colormap +(which on PseudoColor displays may cause other windows to display in +the wrong colors). .TP 8 .B "\-noclick" Clicking any button in the window will terminate the application, -unless this option is specified. Termination can always be achieved -by typing 'q', 'Q', or ctrl-c. -.PP +unless this option is specified. +Termination can always be achieved by typing 'q', 'Q', or ctrl-c. .TP 8 .B "\-plane \fInumber\fP" -You can select a single bit plane of the image to display -with this option. Planes are numbered with zero being the least -significant bit. -.PP +You can select a single bit plane of the image to display with this option. +Planes are numbered with zero being the least significant bit. .TP 8 .B \-raw This option forces the image to be displayed with whatever color values -happen to currently exist on the screen. This option is mostly useful when -undumping an image back onto the same screen that the image originally -came from, while the original windows are still on the screen, and results -in getting the image on the screen faster. -.PP +happen to currently exist on the screen. +This option is mostly useful when undumping an image back onto the same screen +that the image originally came from, +while the original windows are still on the screen, +and results in getting the image on the screen faster. .TP 8 .B \-rv -If a bitmap image (or a single plane of an image) is displayed, this option -forces the foreground and background colors to be swapped. This may be -needed when displaying a bitmap image which has the color sense of pixel -values "0" and "1" reversed from what they are on your display. -.PP +If a bitmap image (or a single plane of an image) is displayed, +this option forces the foreground and background colors to be swapped. +This may be needed when displaying a bitmap image which has the color sense +of pixel values "0" and "1" reversed from what they are on your display. .TP 8 .B \-scale Allow the window to be resized, and scale the image to the size of the window. -.PP .TP 8 .B "\-std \fImaptype\fP" This option causes the image to be displayed using the specified -Standard Colormap. The property name is obtained by converting the -type to upper case, prepending "RGB_", and appending "_MAP". -Typical types are "best", "default", and "gray". See \fIxstdcmap(__appmansuffix__)\fP +Standard Colormap. +The property name is obtained by converting the type to upper case, +prepending "RGB_", and appending "_MAP". +Typical types are "best", "default", and "gray". See +.BR xstdcmap (__appmansuffix__) for one way of creating Standard Colormaps. -.PP .TP 8 .B "\-version" This option causes .I xwd to print its version information and exit. -.PP .TP 8 .B "\-vis \fIvis-type-or-id\fP" This option allows you to specify a particular visual or visual class. -The default is to pick the "best" one. A particular class can be -specified: "StaticGray", "GrayScale", "StaticColor", "PseudoColor", -"DirectColor", or "TrueColor". Or "Match" can be specified, meaning -use the same class as the source image. Alternatively, an exact -visual id (specific to the server) can be specified, either as a -hexadecimal number (prefixed with "0x") or as a decimal number. +The default is to pick the "best" one. +A particular class can be specified: +"StaticGray", "GrayScale", "StaticColor", "PseudoColor", +"DirectColor", or "TrueColor". +Or "Match" can be specified, meaning use the same class as the source image. +Alternatively, an exact visual id (specific to the server) can be specified, +either as a hexadecimal number (prefixed with "0x") or as a decimal number. Finally, "default" can be specified, meaning to use the same class -as the colormap of the root window. Case is not significant in -any of these strings. +as the colormap of the root window. +Case is not significant in any of these strings. .SH ENVIRONMENT -.PP .TP 8 .B DISPLAY To get default display. .SH FILES -.PP .TP 8 .B XWDFile.h X Window Dump File format definition file. .SH BUGS xwud doesn't handle big/deep images very well on servers that don't -have the BIG-REQUESTS extension. +have the BIG\-REQUESTS extension. .SH SEE ALSO -xwd(__appmansuffix__), xstdcmap(__appmansuffix__), X(__miscmansuffix__) +.BR xwd (__appmansuffix__), +.BR xstdcmap (__appmansuffix__), +.BR X (__miscmansuffix__) .SH AUTHOR Bob Scheifler, 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/xwud-1.0.7/meson.build new/xwud-1.0.8/meson.build --- old/xwud-1.0.7/meson.build 1970-01-01 01:00:00.000000000 +0100 +++ new/xwud-1.0.8/meson.build 2026-07-12 03:07:18.000000000 +0200 @@ -0,0 +1,78 @@ +# 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( + 'xwud', + 'c', + version: '1.0.8', + license: '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) + +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 pkg-config packages +dep_libx11 = dependency('x11', required: true) +dep_xproto = dependency('xproto', required: true, version: '>= 7.0.25') +deps = [dep_libx11, dep_xproto] + +config_h = configure_file(output: 'config.h', configuration: conf) +add_project_arguments('-DHAVE_CONFIG_H', language: ['c']) + +executable( + 'xwud', + [config_h, 'xwud.c'], + dependencies: deps, + install: true, +) + +# Man page +prog_sed = find_program('sed') + +custom_target( + 'xwud.man', + input: 'man/xwud.man', + output: 'xwud.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/xwud-1.0.7/missing new/xwud-1.0.8/missing --- old/xwud-1.0.7/missing 2024-10-12 20:44:30.000000000 +0200 +++ new/xwud-1.0.8/missing 2026-07-12 03:07:22.000000000 +0200 @@ -1,11 +1,11 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU and other programs. -scriptversion=2024-06-07.14; # UTC +scriptversion=2025-06-18.21; # UTC # shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells -# Copyright (C) 1996-2024 Free Software Foundation, Inc. +# 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 @@ -228,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/xwud-1.0.7/xwud.c new/xwud-1.0.8/xwud.c --- old/xwud-1.0.7/xwud.c 2024-10-12 20:44:25.000000000 +0200 +++ new/xwud-1.0.8/xwud.c 2026-07-12 03:07:18.000000000 +0200 @@ -50,26 +50,26 @@ static char *progname; static Bool Read(char *ptr, int size, int nitems, FILE *stream); -static void putImage(Display *dpy, Window image_win, GC gc, +static void putImage(Display *dpy, Window image_win, GC gc, XImage *out_image, int x, int y, int w, int h); -static void putScaledImage(Display *display, Drawable d, GC gc, - XImage *src_image, int exp_x, int exp_y, - unsigned int exp_width, unsigned int exp_height, +static void putScaledImage(Display *display, Drawable d, GC gc, + XImage *src_image, int exp_x, int exp_y, + unsigned int exp_width, unsigned int exp_height, unsigned int dest_width, unsigned dest_height); static void Latin1Upper(char *s); static void Extract_Plane(XImage *in_image, XImage *out_image, int plane); static int EffectiveSize(XVisualInfo *vinfo); static int VisualRank(int class); static int IsGray(Display *dpy, XStandardColormap *stdmap); -static void Do_StdGray(Display *dpy, XStandardColormap *stdmap, int ncolors, +static void Do_StdGray(Display *dpy, XStandardColormap *stdmap, int ncolors, XColor *colors, XImage *in_image, XImage *out_image); -static void Do_StdCol(Display *dpy, XStandardColormap *stdmap, int ncolors, +static void Do_StdCol(Display *dpy, XStandardColormap *stdmap, int ncolors, XColor *colors, XImage *in_image, XImage *out_image); static Colormap CopyColormapAndFree(Display *dpy, Colormap colormap); -static void Do_Pseudo(Display *dpy, Colormap *colormap, int ncolors, +static void Do_Pseudo(Display *dpy, Colormap *colormap, int ncolors, XColor *colors, XImage *in_image, XImage *out_image); -static void Do_Direct(Display *dpy, XWDFileHeader *header, Colormap *colormap, - int ncolors, XColor *colors, +static void Do_Direct(Display *dpy, XWDFileHeader *header, Colormap *colormap, + int ncolors, XColor *colors, XImage *in_image, XImage *out_image, XVisualInfo *vinfo); static unsigned int Image_Size(XImage *image); static void Error(const char *string) _X_NORETURN; @@ -78,7 +78,7 @@ static void DumpHeader(const XWDFileHeader *header, const char *win_name); static void _X_NORETURN _X_COLD -usage(const char *errmsg) +usage(const char *errmsg, int exitstatus) { if (errmsg != NULL) fprintf (stderr, "%s: %s\n\n", progname, errmsg); @@ -90,7 +90,7 @@ " [-help] [-rv] [-plane <number>] [-fg <color>] [-bg <color>]\n" " [-scale] [-dumpheader] [-version]\n" ); - exit(1); + exit(exitstatus); } static Bool @@ -107,7 +107,7 @@ return True; } -int +int main(int argc, char *argv[]) { Display *dpy; @@ -161,12 +161,14 @@ for (i = 1; i < argc; i++) { if (strcmp(argv[i], "-bg") == 0) { - if (++i >= argc) usage("-bg requires an argument"); + if (++i >= argc) + usage("-bg requires an argument", EXIT_FAILURE); bgname = argv[i]; continue; } if (strcmp(argv[i], "-display") == 0) { - if (++i >= argc) usage("-display requires an argument"); + if (++i >= argc) + usage("-display requires an argument", EXIT_FAILURE); display_name = argv[i]; continue; } @@ -175,21 +177,24 @@ continue; } if (strcmp(argv[i], "-fg") == 0) { - if (++i >= argc) usage("-fg requires an argument"); + if (++i >= argc) + usage("-fg requires an argument", EXIT_FAILURE); fgname = argv[i]; continue; } if (strcmp(argv[i], "-geometry") == 0) { - if (++i >= argc) usage("-geometry requires an argument"); + if (++i >= argc) + usage("-geometry requires an argument", EXIT_FAILURE); geom = argv[i]; continue; } if ((strcmp(argv[i], "-help") == 0) || (strcmp(argv[i], "--help") == 0)) { - usage(NULL); + usage(NULL, EXIT_SUCCESS); } if (strcmp(argv[i], "-in") == 0) { - if (++i >= argc) usage("-in requires an argument"); + if (++i >= argc) + usage("-in requires an argument", EXIT_FAILURE); file_name = argv[i]; continue; } @@ -199,7 +204,8 @@ } if (strcmp(argv[i], "-new") == 0) { newmap = True; - if (std) usage("-new cannot be specified with -std"); + if (std) + usage("-new cannot be specified with -std", EXIT_FAILURE); continue; } if (strcmp(argv[i], "-noclick") == 0) { @@ -207,13 +213,15 @@ continue; } if (strcmp(argv[i], "-plane") == 0) { - if (++i >= argc) usage("-plane requires an argument"); + if (++i >= argc) + usage("-plane requires an argument", EXIT_FAILURE); plane = atoi(argv[i]); continue; } if (strcmp(argv[i], "-raw") == 0) { rawbits = True; - if (std) usage("-new cannot be specified with -std"); + if (std) + usage("-new cannot be specified with -std", EXIT_FAILURE); continue; } if (strcmp(argv[i], "-rv") == 0) { @@ -229,27 +237,30 @@ continue; } if (strcmp(argv[i], "-std") == 0) { - if (++i >= argc) usage("-std requires an argument"); + if (++i >= argc) + usage("-std requires an argument", EXIT_FAILURE); std = argv[i]; if (newmap || rawbits) - usage("-std cannot be specified with -raw or -new"); + usage("-std cannot be specified with -raw or -new", + EXIT_FAILURE); continue; } if (strcmp(argv[i], "-vis") == 0) { - if (++i >= argc) usage("-vis requires an argument"); + if (++i >= argc) + usage("-vis requires an argument", EXIT_FAILURE); vis = argv[i]; continue; } if ((strcmp(argv[i], "-version") == 0) || (strcmp(argv[i], "--version") == 0)) { puts(PACKAGE_STRING); - exit(0); + exit(EXIT_SUCCESS); } fprintf (stderr, "%s: unrecognized argument '%s'\n\n", progname, argv[i]); - usage(NULL); + usage(NULL, EXIT_FAILURE); } - + if (file_name) { in_file = fopen(file_name, "rb"); if (in_file == NULL) @@ -259,12 +270,12 @@ else _setmode(fileno(in_file), _O_BINARY); #endif - + dpy = XOpenDisplay(display_name); if (dpy == NULL) { fprintf(stderr, "%s: unable to open display \"%s\"\n", progname, XDisplayName(display_name)); - exit(1); + exit(EXIT_FAILURE); } screen = DefaultScreen(dpy); @@ -302,9 +313,9 @@ if (dump_header) { DumpHeader(&header, win_name); - exit(0); + exit(EXIT_SUCCESS); } - + /* initialize the input image */ in_image = &in_image_struct; @@ -624,7 +635,7 @@ hints.height : out_image->height; } if ((gbits & XValue) && (gbits & XNegative)) - hints.x += DisplayWidth(dpy, screen) - hints.width; + hints.x += DisplayWidth(dpy, screen) - hints.width; if ((gbits & YValue) && (gbits & YNegative)) hints.y += DisplayHeight(dpy, screen) - hints.height; @@ -641,7 +652,7 @@ wm_protocols = XInternAtom(dpy, "WM_PROTOCOLS", False); wm_delete_window = XInternAtom(dpy, "WM_DELETE_WINDOW", False); (void) XSetWMProtocols (dpy, image_win, &wm_delete_window, 1); - + textprop.value = (unsigned char *) win_name; textprop.encoding = XA_STRING; textprop.format = 8; @@ -662,10 +673,10 @@ XNextEvent(dpy, &event); switch(event.type) { case ClientMessage: - if (event.xclient.message_type == wm_protocols && + if (event.xclient.message_type == wm_protocols && event.xclient.data.l[0] == wm_delete_window) { XCloseDisplay(dpy); - exit(0); /* ICCCM delete window */ + exit(EXIT_SUCCESS); /* ICCCM delete window */ } break; case ButtonPress: @@ -673,14 +684,14 @@ case ButtonRelease: if (onclick) { XCloseDisplay(dpy); - exit(0); + exit(EXIT_SUCCESS); } break; case KeyPress: i = XLookupString(&event.xkey, &c, 1, NULL, NULL); if ((i == 1) && ((c == 'q') || (c == 'Q') || (c == '\03'))) { XCloseDisplay(dpy); - exit(0); + exit(EXIT_SUCCESS); } break; case ConfigureNotify: @@ -706,11 +717,11 @@ break; } } - exit(0); + exit(EXIT_SUCCESS); } static void -putImage(Display *dpy, Window image_win, GC gc, XImage *out_image, +putImage(Display *dpy, Window image_win, GC gc, XImage *out_image, int x, int y, int w, int h) { #define SPLIT_SIZE 100 @@ -745,29 +756,29 @@ } Table; static void -putScaledImage(Display *display, Drawable d, GC gc, XImage *src_image, +putScaledImage(Display *display, Drawable d, GC gc, XImage *src_image, int exp_x, int exp_y, - unsigned int exp_width, unsigned int exp_height, + unsigned int exp_width, unsigned int exp_height, unsigned int dest_width, unsigned dest_height) { XImage *dest_image; Position x, y, min_y, max_y, exp_max_y, src_x, src_max_x, src_y; Dimension w, h, strip_height; - Table table; + Table table; Pixel pixel; double ratio_x, ratio_y; Bool fast8; if (dest_width == src_image->width && dest_height == src_image->height) { /* same for x and y, just send it out */ - XPutImage(display, d, gc, src_image, exp_x, exp_y, - exp_x, exp_y, exp_width, exp_height); + XPutImage(display, d, gc, src_image, exp_x, exp_y, + exp_x, exp_y, exp_width, exp_height); return; } ratio_x = (double)dest_width / (double)src_image->width; ratio_y = (double)dest_height / (double)src_image->height; - + src_x = exp_x / ratio_x; if (src_x >= src_image->width) src_x = src_image->width - 1; @@ -789,7 +800,7 @@ dest_image = XCreateImage(display, DefaultVisualOfScreen( DefaultScreenOfDisplay(display)), - src_image->depth, src_image->format, + src_image->depth, src_image->format, 0, NULL, dest_width, h, src_image->bitmap_pad, 0); @@ -811,7 +822,7 @@ table.height = (Dimension *) malloc(sizeof(Dimension)*src_image->height); if (table.height == NULL) Error("Can't malloc scaled image height table"); - + table.x[0] = 0; for (x = 1; x <= src_image->width; x++) { table.x[x] = roundint(ratio_x * x); @@ -862,7 +873,7 @@ if (y >= src_image->height) break; } - + free(table.x); free(table.y); free(table.width); @@ -939,8 +950,8 @@ return (color.green || color.blue); } -static void -Do_StdGray(Display *dpy, XStandardColormap *stdmap, +static void +Do_StdGray(Display *dpy, XStandardColormap *stdmap, int ncolors, XColor *colors, XImage *in_image, XImage *out_image) { register int i, x, y; @@ -965,7 +976,7 @@ #define MapVal(val,lim,mult) ((((val * lim) + 32768) / 65535) * mult) static void -Do_StdCol(Display *dpy, XStandardColormap *stdmap, +Do_StdCol(Display *dpy, XStandardColormap *stdmap, int ncolors, XColor *colors, XImage *in_image, XImage *out_image) { register int i, x, y; @@ -999,7 +1010,7 @@ } static void -Do_Pseudo(Display *dpy, Colormap *colormap, +Do_Pseudo(Display *dpy, Colormap *colormap, int ncolors, XColor *colors, XImage *in_image, XImage *out_image) { register int i, x, y; @@ -1023,7 +1034,7 @@ } static void -Do_Direct(Display *dpy, XWDFileHeader *header, Colormap *colormap, +Do_Direct(Display *dpy, XWDFileHeader *header, Colormap *colormap, int ncolors, XColor *colors, XImage *in_image, XImage *out_image, XVisualInfo *vinfo) { @@ -1167,7 +1178,7 @@ } } -static unsigned int +static unsigned int Image_Size(XImage *image) { if (image->format != ZPixmap) @@ -1184,7 +1195,7 @@ perror("xwud"); fprintf(stderr, "\n"); } - exit(1); + exit(EXIT_FAILURE); } static void
