Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package lndir for openSUSE:Factory checked in at 2026-08-27 18:54:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lndir (Old) and /work/SRC/openSUSE:Factory/.lndir.new.1265 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lndir" Thu Aug 27 18:54:37 2026 rev:9 rq:1374056 version:1.0.6 Changes: -------- --- /work/SRC/openSUSE:Factory/lndir/lndir.changes 2024-03-25 21:18:27.412021878 +0100 +++ /work/SRC/openSUSE:Factory/.lndir.new.1265/lndir.changes 2026-08-27 18:56:58.309398846 +0200 @@ -1,0 +2,9 @@ +Thu Aug 20 11:24:44 UTC 2026 - Stefan Dirsch <[email protected]> + +- Update to version 1.0.6 + * This release adds support for -help, --help, -version, and + --version options. + * add support for meson build +- switch to meson + +------------------------------------------------------------------- Old: ---- lndir-1.0.5.tar.xz New: ---- lndir-1.0.6.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lndir.spec ++++++ --- /var/tmp/diff_new_pack.cjZ9Lo/_old 2026-08-27 18:56:58.863418350 +0200 +++ /var/tmp/diff_new_pack.cjZ9Lo/_new 2026-08-27 18:56:58.865418420 +0200 @@ -1,7 +1,7 @@ # # spec file for package lndir # -# 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,13 +17,14 @@ Name: lndir -Version: 1.0.5 +Version: 1.0.6 Release: 0 Summary: Utility to create a shadow directory of symbolic links to another directory tree License: MIT Group: Development/Tools/Building URL: https://xorg.freedesktop.org/ Source0: https://xorg.freedesktop.org/releases/individual/util/%{name}-%{version}.tar.xz +BuildRequires: meson BuildRequires: pkgconfig BuildRequires: pkgconfig(xorg-macros) >= 1.8 BuildRequires: pkgconfig(xproto) >= 7.0.17 @@ -39,11 +40,11 @@ %setup -q %build -%configure -%make_build +%meson +%meson_build %install -%make_install +%meson_install %files %license COPYING ++++++ lndir-1.0.5.tar.xz -> lndir-1.0.6.tar.xz ++++++ ++++ 10510 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/lndir-1.0.5/ChangeLog new/lndir-1.0.6/ChangeLog --- old/lndir-1.0.5/ChangeLog 2024-03-24 23:52:48.000000000 +0100 +++ new/lndir-1.0.6/ChangeLog 2026-08-17 01:50:13.000000000 +0200 @@ -1,3 +1,71 @@ +commit a3dbc26fd37456d95be8ade4e50fad1aa8ba7867 +Author: Alan Coopersmith <[email protected]> +Date: Sun Aug 16 16:47:15 2026 -0700 + + lndir 1.0.6 + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit 16a8b6fc322cec32b7adb55619b0bc49c85716c6 +Author: Alan Coopersmith <[email protected]> +Date: Mon Jul 6 16:30:52 2026 -0700 + + meson: include headers when checking for functions + + Trying to workaround https://github.com/mesonbuild/meson/issues/3740 + which causes meson to fail to detect missing functions in some cases. + + Signed-off-by: Alan Coopersmith <[email protected]> + Part-of: <https://gitlab.freedesktop.org/xorg/util/lndir/-/merge_requests/11> + +commit ea30f606864ad578d4a5b5134db26d6953a07522 +Author: Alan Coopersmith <[email protected]> +Date: Sat Apr 25 15:30:50 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/util/lndir/-/merge_requests/10> + +commit c62564620570c5a432b03e7957b4b0988f739884 +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/util/lndir/-/merge_requests/10> + +commit 66736fa3ffff50a46982c4ffd56ee7ab8a09704a +Author: Alan Coopersmith <[email protected]> +Date: Tue Apr 15 17:29:06 2025 -0700 + + Add -help and -version options + + Signed-off-by: Alan Coopersmith <[email protected]> + Part-of: <https://gitlab.freedesktop.org/xorg/util/lndir/-/merge_requests/9> + +commit d7f9a5ceefa1a60ab3abfa575e0db97e5420a00b +Author: Bjarni Ingi Gislason <[email protected]> +Date: Tue Mar 18 02:34:45 2025 +0000 + + lndir.1: editorial changes for this man page + + Originally from https://bugs.debian.org/1100739 + + Signed-off-by: Alan Coopersmith <[email protected]> + Part-of: <https://gitlab.freedesktop.org/xorg/util/lndir/-/merge_requests/9> + commit 3588595dc47736773a2d577db615e51a2dc7b48a Author: Alan Coopersmith <[email protected]> Date: Sun Mar 24 15:47:53 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/lndir-1.0.5/Makefile.am new/lndir-1.0.6/Makefile.am --- old/lndir-1.0.5/Makefile.am 2024-03-24 23:52:38.000000000 +0100 +++ new/lndir-1.0.6/Makefile.am 2026-08-17 01:50:02.000000000 +0200 @@ -42,7 +42,7 @@ .man.$(APP_MAN_SUFFIX): $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ -EXTRA_DIST = $(appman_PRE) README.md +EXTRA_DIST = $(appman_PRE) README.md meson.build MAINTAINERCLEANFILES = 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/lndir-1.0.5/compile new/lndir-1.0.6/compile --- old/lndir-1.0.5/compile 2024-03-24 23:52:42.000000000 +0100 +++ new/lndir-1.0.6/compile 2026-08-17 01:50: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/lndir-1.0.5/config.h.in new/lndir-1.0.6/config.h.in --- old/lndir-1.0.5/config.h.in 2024-03-24 23:52:42.000000000 +0100 +++ new/lndir-1.0.6/config.h.in 2026-08-17 01:50:07.000000000 +0200 @@ -78,6 +78,10 @@ #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 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/lndir-1.0.5/configure.ac new/lndir-1.0.6/configure.ac --- old/lndir-1.0.5/configure.ac 2024-03-24 23:52:38.000000000 +0100 +++ new/lndir-1.0.6/configure.ac 2026-08-17 01:50:02.000000000 +0200 @@ -22,7 +22,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) -AC_INIT([lndir], [1.0.5], +AC_INIT([lndir], [1.0.6], [https://gitlab.freedesktop.org/xorg/util/lndir/-/issues], [lndir]) 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/lndir-1.0.5/lndir.c new/lndir-1.0.6/lndir.c --- old/lndir-1.0.5/lndir.c 2024-03-24 23:52:38.000000000 +0100 +++ new/lndir-1.0.6/lndir.c 2026-08-17 01:50:02.000000000 +0200 @@ -91,6 +91,14 @@ exit (code); } +static void _X_NORETURN +usage (int code, const char *prog_name) +{ + quit (code, + "usage: %s [-silent] [-ignorelinks] [-withrevinfo] fromdir [todir]", + prog_name); +} + static void _X_ATTRIBUTE_PRINTF(1,2) msg (const char * fmt, ...) { @@ -380,14 +388,20 @@ ++argv, --argc; break; } + else if ((strcmp(*argv, "-help") == 0) || + (strcmp(*argv, "--help") == 0)) + usage (EXIT_SUCCESS, prog_name); + else if ((strcmp(*argv, "-version") == 0) || + (strcmp(*argv, "--version") == 0)) { + puts (PACKAGE_STRING); + exit (EXIT_SUCCESS); + } else break; } if (argc < 1 || argc > 2) - quit (1, - "usage: %s [-silent] [-ignorelinks] [-withrevinfo] fromdir [todir]", - prog_name); + usage (EXIT_FAILURE, prog_name); fn = argv[0]; if (argc == 2) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/lndir-1.0.5/lndir.man new/lndir-1.0.6/lndir.man --- old/lndir-1.0.5/lndir.man 2024-03-24 23:52:38.000000000 +0100 +++ new/lndir-1.0.6/lndir.man 2026-08-17 01:50:02.000000000 +0200 @@ -1,16 +1,15 @@ -.\" $Xorg: lndir.man,v 1.4 2001/02/09 02:03:17 xorgcvs Exp $ .\" .\" Copyright (c) 1993, 1994, 1998 The Open Group -.\" +.\" .\" 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 .\" copyright notice and this permission notice appear in supporting .\" documentation. -.\" +.\" .\" The above copyright notice and this permission notice 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. @@ -18,14 +17,11 @@ .\" 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. -.\" +.\" .\" Except as contained in this notice, the name of The Open Group shall .\" not be used in advertising or otherwise to promote the sale, use or .\" other dealings in this Software without prior written authorization .\" from The Open Group. -.\" -.\" -.\" $XFree86: xc/config/util/lndir.man,v 1.3tsi Exp $ .\" .TH LNDIR 1 __xorgversion__ .SH NAME @@ -43,81 +39,102 @@ [ .I todir ] +.PP +.B lndir \-help +| +.B \-version .SH DESCRIPTION The -.I lndir -program makes a shadow copy -.I todir +.B lndir +program makes a shadow copy +.I todir of a directory tree -.I fromdir, +.IR fromdir , except that the shadow is not populated with real files but instead with symbolic links pointing at -the real files in the +the real files in the .I fromdir directory tree. This is usually useful for maintaining source code for different machine architectures. You create a shadow directory -containing links to the real source, which you will have usually -mounted from a remote machine. You can build in the shadow tree, and -the object files will be in the shadow directory, while the -source files in the shadow directory are just symlinks to the real -files. -.PP -This scheme has the advantage that if you update the source, you need not -propagate the change to the other architectures by hand, since all -source in all shadow directories are symlinks to the real thing: just cd -to the shadow directory and recompile away. +containing links to the real source, +which you will have usually mounted from a remote machine. +You can build in the shadow tree, +and the object files will be in the shadow directory, +while the source files in the shadow directory are just symlinks to the +real files. +.PP +This scheme has the advantage +that if you update the source, +you need not propagate the change to the other architectures by hand, +since all source in all shadow directories are symlinks to the real +thing: +just cd to the shadow directory and recompile away. .PP The .I todir argument is optional and defaults to the current directory. The .I fromdir -argument may be relative (e.g., ../src) and is relative to +argument may be relative +(e.g., ../src) +and is relative to .I todir (not the current directory). -.PP +.PP .\" CVS.adm is used by the Concurrent Versions System. -Note that BitKeeper, CVS, CVS.adm, .git, .hg, RCS, SCCS, and .svn directories -are shadowed only if the \fB\-withrevinfo\fP flag is specified. +Note that BitKeeper, CVS, CVS.adm, .git, .hg, RCS, SCCS, +and .svn directories are shadowed +only if the \fB\-withrevinfo\fP flag is specified. Files with names ending in \fI~\fP are never shadowed. .PP -If you add files, simply run -.I lndir +If you add files, +simply run +.B lndir again. New files will be silently added. Old files will be checked that they have the correct link. .PP Deleting files is a more painful problem; the symlinks will just point into never never land. .PP -If a file in \fIfromdir\fP is a symbolic link, \fIlndir\fP will make -the same link in \fItodir\fP rather than making a link back to the -(symbolic link) entry in \fIfromdir.\fP The \fB\-ignorelinks\fP flag -changes this behavior. +If a file in \fIfromdir\fP is a symbolic link, +\fBlndir\fP will make the same link in \fItodir\fP +rather than making a link back to the +(symbolic link) +entry in \fIfromdir\fP. +The \fB\-ignorelinks\fP flag changes this behavior. .SH OPTIONS -.IP \-silent -Normally \fIlndir\fP outputs the name of each subdirectory as it +.IP "\-silent \&" +Normally \fBlndir\fP outputs the name of each subdirectory as it descends into it. The \fB\-silent\fP option suppresses these status messages. .IP \-ignorelinks Causes the program to not treat symbolic links in \fIfromdir\fP specially. The link created in \fItodir\fP will point back to the corresponding (symbolic link) file in \fIfromdir\fP. -If the link is to a directory, this is almost certainly the wrong thing. +If the link is to a directory, +this is almost certainly the wrong thing. .IP This option exists mostly to emulate the behavior the C version of -\fIlndir\fP had in X11R6. Its use is not recommended. +\fBlndir\fP had in X11R6. Its use is not recommended. .IP \-withrevinfo Causes any source control manager subdirectories (those named BitKeeper, CVS, CVS.adm, .git, .hg, RCS, SCCS, or .svn) -to be treated as any other directory, rather than ignored. +to be treated as any other directory, +rather than ignored. +.IP \-help +Print usage message and exit. +.IP \-version +Print version info and exit. .SH DIAGNOSTICS -The program displays the name of each subdirectory it enters, followed -by a colon. The \fB\-silent\fP option suppresses these messages. +The program displays the name of each subdirectory it enters, +followed by a colon. +The \fB\-silent\fP option suppresses these messages. .PP A warning message is displayed if the symbolic link cannot be created. The usual problem is that a regular file of the same name already exists. .PP -If the link already exists but doesn't point to the correct file, the -program prints the link name and the location where it does point. +If the link already exists but doesn't point to the correct file, +the program prints the link name +and the location where it does point. .SH SEE ALSO .BR ln (1). 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/lndir-1.0.5/meson.build new/lndir-1.0.6/meson.build --- old/lndir-1.0.5/meson.build 1970-01-01 01:00:00.000000000 +0100 +++ new/lndir-1.0.6/meson.build 2026-08-17 01:50:02.000000000 +0200 @@ -0,0 +1,108 @@ +# 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( + 'lndir', + 'c', + version: '1.0.6', + 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) + +# 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 pkg-config packages +dep_xproto = dependency('xproto', required: true, version: '>= 7.0.17') +deps = [dep_xproto] + +# Checks for non-standard functions and fallback to libbsd if we can +funcs = ['strlcat', 'strlcpy'] +foreach f: funcs + has_func = cc.has_function(f, args: system_extensions, + prefix: '#include <string.h>', dependencies: deps) + if not has_func + dep_libbsd = dependency('libbsd-overlay', required: false) + if dep_libbsd.found() + has_func = cc.has_function(f, args: system_extensions, + prefix: '#include <string.h>', + dependencies: dep_libbsd) + if has_func + deps += dep_libbsd + endif + endif + endif + 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 + +config_h = configure_file(output: 'config.h', configuration: conf) +add_project_arguments('-DHAVE_CONFIG_H', language: ['c']) + +executable( + 'lndir', + [config_h, 'lndir.c'], + dependencies: deps, + install: true +) + +# Man page +prog_sed = find_program('sed') + +custom_target( + 'lndir.man', + input: 'lndir.man', + output: 'lndir.1', + command: [ + prog_sed, + '-e', f's/__xorgversion__/"@package_string@" "X Version 11"/', + '@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/lndir-1.0.5/missing new/lndir-1.0.6/missing --- old/lndir-1.0.5/missing 2024-03-24 23:52:42.000000000 +0100 +++ new/lndir-1.0.6/missing 2026-08-17 01:50: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:
