Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pkgconf for openSUSE:Factory checked in at 2021-07-15 23:58:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pkgconf (Old) and /work/SRC/openSUSE:Factory/.pkgconf.new.2625 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pkgconf" Thu Jul 15 23:58:53 2021 rev:11 rq:906028 version:1.7.4 Changes: -------- --- /work/SRC/openSUSE:Factory/pkgconf/pkgconf.changes 2021-04-19 21:05:34.143990668 +0200 +++ /work/SRC/openSUSE:Factory/.pkgconf.new.2625/pkgconf.changes 2021-07-15 23:59:03.238149542 +0200 @@ -1,0 +2,10 @@ +Wed Jun 30 15:33:37 UTC 2021 - Callum Farmer <[email protected]> + +- Update to 1.7.4 + + Add PKG_CONFIG_DONT_DEFINE_PREFIX environment variable + + Handle platforms where realpath(3) requires a pre-allocated + buffer + + Fix null-dereference crash when pulling a malformed + 'uninstalled' .pc file into a dependency tree. + +------------------------------------------------------------------- Old: ---- pkgconf-1.7.3.tar.xz New: ---- pkgconf-1.7.4.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pkgconf.spec ++++++ --- /var/tmp/diff_new_pack.5J69US/_old 2021-07-15 23:59:03.846144653 +0200 +++ /var/tmp/diff_new_pack.5J69US/_new 2021-07-15 23:59:03.850144622 +0200 @@ -45,7 +45,7 @@ %global devname lib%{name}-devel Name: pkgconf -Version: 1.7.3 +Version: 1.7.4 Release: 0 Summary: Package compiler and linker metadata toolkit License: ISC ++++++ pkgconf-1.7.3.tar.xz -> pkgconf-1.7.4.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/Makefile.am new/pkgconf-1.7.4/Makefile.am --- old/pkgconf-1.7.3/Makefile.am 2020-05-25 13:59:35.000000000 +0200 +++ new/pkgconf-1.7.4/Makefile.am 2021-03-18 14:04:58.000000000 +0100 @@ -76,6 +76,7 @@ tests/lib1/fragment-collision-intermediary.pc \ tests/lib1/fragment-collision-1.pc \ tests/lib1/fragment-collision-2.pc \ + tests/lib1/fragment-comment.pc \ tests/lib1/fragment-escaping-1.pc \ tests/lib1/fragment-escaping-2.pc \ tests/lib1/fragment-escaping-3.pc \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/Makefile.in new/pkgconf-1.7.4/Makefile.in --- old/pkgconf-1.7.3/Makefile.in 2020-05-31 03:21:24.000000000 +0200 +++ new/pkgconf-1.7.4/Makefile.in 2021-03-18 14:05:35.000000000 +0100 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2020 Free Software Foundation, Inc. @@ -270,6 +270,8 @@ DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.xz GZIP_ENV = --best DIST_TARGETS = dist-xz dist-gzip +# Exists only to be overridden by the user if desired. +AM_DISTCHECK_DVI_TARGET = dvi distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' @@ -464,6 +466,7 @@ tests/lib1/fragment-collision-intermediary.pc \ tests/lib1/fragment-collision-1.pc \ tests/lib1/fragment-collision-2.pc \ + tests/lib1/fragment-comment.pc \ tests/lib1/fragment-escaping-1.pc \ tests/lib1/fragment-escaping-2.pc \ tests/lib1/fragment-escaping-3.pc \ @@ -1258,7 +1261,7 @@ $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/NEWS new/pkgconf-1.7.4/NEWS --- old/pkgconf-1.7.3/NEWS 2020-05-31 03:20:25.000000000 +0200 +++ new/pkgconf-1.7.4/NEWS 2021-03-18 14:03:21.000000000 +0100 @@ -1,6 +1,30 @@ Changes from previous version of pkgconf ======================================== +Changes from 1.7.3 to 1.7.4: +--------------------------- + +* Bug fixes: + - Fix null-dereference crash when pulling a malformed 'uninstalled' + .pc file into a dependency tree. Patch by Tobias St??ckmann. + - Fix truncation of comment characters when quoted. + - Fix handling of .pc module names in --list-all on Windows. + Patch by Ryan Scott. + - Handle platforms where realpath(3) requires a pre-allocated buffer. + Patch by Fabian Groffen. + - Fix version whitespace warning. + Patch by Christoph Reiter. + +* Enhancements: + - Rewrite DOS paths on native Windows builds that don't use + Cygwin/MSYS. + - Add WantDefaultPure cross-compiler personality option. + - Prefer --static --pure linking on Windows. + - Add PKG_CONFIG_DONT_DEFINE_PREFIX environment variable. + Patch by Jeff Moguillansky. + - Many improvements when building pkgconf with Meson. + Patches by Christoph Reiter. + Changes from 1.7.2 to 1.7.3: ---------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/README.md new/pkgconf-1.7.4/README.md --- old/pkgconf-1.7.3/README.md 2019-07-12 13:10:54.000000000 +0200 +++ new/pkgconf-1.7.4/README.md 2021-03-18 13:52:28.000000000 +0100 @@ -1,4 +1,4 @@ -# pkgconf [](https://builds.sr.ht/~kaniini/pkgconf?) +# pkgconf [](https://github.com/pkgconf/pkgconf/actions/workflows/test.yml) `pkgconf` is a program which helps to configure compiler and linker flags for development libraries. It is similar to pkg-config from freedesktop.org. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/aclocal.m4 new/pkgconf-1.7.4/aclocal.m4 --- old/pkgconf-1.7.3/aclocal.m4 2020-05-31 03:21:23.000000000 +0200 +++ new/pkgconf-1.7.4/aclocal.m4 2021-03-18 14:04:11.000000000 +0100 @@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.16.2 -*- Autoconf -*- +# generated automatically by aclocal 1.16.3 -*- Autoconf -*- # Copyright (C) 1996-2020 Free Software Foundation, Inc. @@ -35,7 +35,7 @@ [am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.16.2], [], +m4_if([$1], [1.16.3], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -51,7 +51,7 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.16.2])dnl +[AM_AUTOMAKE_VERSION([1.16.3])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) @@ -703,12 +703,7 @@ [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac + MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/cli/main.c new/pkgconf-1.7.4/cli/main.c --- old/pkgconf-1.7.3/cli/main.c 2020-05-26 18:57:48.000000000 +0200 +++ new/pkgconf-1.7.4/cli/main.c 2021-03-18 13:35:50.000000000 +0100 @@ -603,7 +603,7 @@ about(void) { printf("%s %s\n", PACKAGE_NAME, PACKAGE_VERSION); - printf("Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020\n"); + printf("Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021\n"); printf(" pkgconf authors (see AUTHORS in documentation directory).\n\n"); printf("Permission to use, copy, modify, and/or distribute this software for any\n"); printf("purpose with or without fee is hereby granted, provided that the above\n"); @@ -1015,6 +1015,9 @@ return EXIT_SUCCESS; } + if (getenv("PKG_CONFIG_FDO_SYSROOT_RULES")) + want_client_flags |= PKGCONF_PKG_PKGF_FDO_SYSROOT_RULES; + if ((want_flags & PKG_SHORT_ERRORS) == PKG_SHORT_ERRORS) want_client_flags |= PKGCONF_PKG_PKGF_SIMPLIFY_ERRORS; @@ -1040,7 +1043,7 @@ * this allows for a --static which searches private modules, but has the same fragment behaviour as if * --static were disabled. see <https://github.com/pkgconf/pkgconf/issues/83> for rationale. */ - if ((want_flags & PKG_PURE) == PKG_PURE || getenv("PKG_CONFIG_PURE_DEPGRAPH") != NULL) + if ((want_flags & PKG_PURE) == PKG_PURE || getenv("PKG_CONFIG_PURE_DEPGRAPH") != NULL || personality->want_default_pure) want_client_flags &= ~PKGCONF_PKG_PKGF_MERGE_PRIVATE_FRAGMENTS; if ((want_flags & PKG_ENV_ONLY) == PKG_ENV_ONLY) @@ -1062,7 +1065,7 @@ if ((want_flags & PKG_NO_PROVIDES) == PKG_NO_PROVIDES) want_client_flags |= PKGCONF_PKG_PKGF_SKIP_PROVIDES; - if ((want_flags & PKG_DONT_DEFINE_PREFIX) == PKG_DONT_DEFINE_PREFIX) + if ((want_flags & PKG_DONT_DEFINE_PREFIX) == PKG_DONT_DEFINE_PREFIX || getenv("PKG_CONFIG_DONT_DEFINE_PREFIX") != NULL) want_client_flags &= ~PKGCONF_PKG_PKGF_REDEFINE_PREFIX; if ((want_flags & PKG_INTERNAL_CFLAGS) == PKG_INTERNAL_CFLAGS) @@ -1101,8 +1104,18 @@ pkgconf_client_set_buildroot_dir(&pkg_client, builddir); if ((sysroot_dir = getenv("PKG_CONFIG_SYSROOT_DIR")) != NULL) + { + const char *destdir; + pkgconf_client_set_sysroot_dir(&pkg_client, sysroot_dir); + if ((destdir = getenv("DESTDIR")) != NULL) + { + if (!strcmp(destdir, sysroot_dir)) + want_client_flags |= PKGCONF_PKG_PKGF_FDO_SYSROOT_RULES; + } + } + /* we have determined what features we want most likely. in some cases, we override later. */ pkgconf_client_set_flags(&pkg_client, want_client_flags); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/configure new/pkgconf-1.7.4/configure --- old/pkgconf-1.7.3/configure 2020-05-31 03:21:24.000000000 +0200 +++ new/pkgconf-1.7.4/configure 2021-03-18 14:04:12.000000000 +0100 @@ -1,8 +1,8 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for pkgconf 1.7.3. +# Generated by GNU Autoconf 2.69 for pkgconf 1.7.4. # -# Report bugs to <https://todo.sr.ht/~kaniini/pkgconf>. +# Report bugs to <https://github.com/pkgconf/pkgconf/issues/new>. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -275,10 +275,10 @@ $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell [email protected] and -$0: https://todo.sr.ht/~kaniini/pkgconf about your system, -$0: including any error possibly output before this -$0: message. Then install a modern shell, or manually run -$0: the script under such a shell if you do have one." +$0: https://github.com/pkgconf/pkgconf/issues/new about +$0: your system, including any error possibly output before +$0: this message. Then install a modern shell, or manually +$0: run the script under such a shell if you do have one." fi exit 1 fi @@ -590,9 +590,9 @@ # Identity of this package. PACKAGE_NAME='pkgconf' PACKAGE_TARNAME='pkgconf' -PACKAGE_VERSION='1.7.3' -PACKAGE_STRING='pkgconf 1.7.3' -PACKAGE_BUGREPORT='https://todo.sr.ht/~kaniini/pkgconf' +PACKAGE_VERSION='1.7.4' +PACKAGE_STRING='pkgconf 1.7.4' +PACKAGE_BUGREPORT='https://github.com/pkgconf/pkgconf/issues/new' PACKAGE_URL='' ac_unique_file="cli/main.c" @@ -1333,7 +1333,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures pkgconf 1.7.3 to adapt to many kinds of systems. +\`configure' configures pkgconf 1.7.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1404,7 +1404,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of pkgconf 1.7.3:";; + short | recursive ) echo "Configuration of pkgconf 1.7.4:";; esac cat <<\_ACEOF @@ -1460,7 +1460,7 @@ Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. -Report bugs to <https://todo.sr.ht/~kaniini/pkgconf>. +Report bugs to <https://github.com/pkgconf/pkgconf/issues/new>. _ACEOF ac_status=$? fi @@ -1523,7 +1523,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -pkgconf configure 1.7.3 +pkgconf configure 1.7.4 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1795,9 +1795,9 @@ $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( $as_echo "## -------------------------------------------------- ## -## Report this to https://todo.sr.ht/~kaniini/pkgconf ## -## -------------------------------------------------- ##" +( $as_echo "## ------------------------------------------------------------ ## +## Report this to https://github.com/pkgconf/pkgconf/issues/new ## +## ------------------------------------------------------------ ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac @@ -1892,7 +1892,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by pkgconf $as_me 1.7.3, which was +It was created by pkgconf $as_me 1.7.4, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3895,12 +3895,7 @@ program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac + MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then @@ -4268,7 +4263,7 @@ # Define the identity of the package. PACKAGE='pkgconf' - VERSION='1.7.3' + VERSION='1.7.4' cat >>confdefs.h <<_ACEOF @@ -13725,7 +13720,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by pkgconf $as_me 1.7.3, which was +This file was extended by pkgconf $as_me 1.7.4, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13785,13 +13780,13 @@ Configuration commands: $config_commands -Report bugs to <https://todo.sr.ht/~kaniini/pkgconf>." +Report bugs to <https://github.com/pkgconf/pkgconf/issues/new>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -pkgconf config.status 1.7.3 +pkgconf config.status 1.7.4 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/configure.ac new/pkgconf-1.7.4/configure.ac --- old/pkgconf-1.7.3/configure.ac 2020-05-31 03:20:25.000000000 +0200 +++ new/pkgconf-1.7.4/configure.ac 2021-03-18 13:57:23.000000000 +0100 @@ -12,7 +12,7 @@ dnl from the use of this software. AC_PREREQ([2.68]) -AC_INIT([pkgconf], [1.7.3], [https://todo.sr.ht/~kaniini/pkgconf]) +AC_INIT([pkgconf], [1.7.4], [https://github.com/pkgconf/pkgconf/issues/new]) AC_CONFIG_SRCDIR([cli/main.c]) AC_CONFIG_MACRO_DIR([m4]) AX_CHECK_COMPILE_FLAG([-Wall], [CFLAGS="$CFLAGS -Wall"]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/libpkgconf/config.h.meson new/pkgconf-1.7.4/libpkgconf/config.h.meson --- old/pkgconf-1.7.3/libpkgconf/config.h.meson 2019-07-12 13:10:54.000000000 +0200 +++ new/pkgconf-1.7.4/libpkgconf/config.h.meson 2020-06-03 02:57:37.000000000 +0200 @@ -3,27 +3,6 @@ /* Define to 1 if you have the `cygwin_conv_path' function. */ #mesondefine HAVE_CYGWIN_CONV_PATH -/* Define to 1 if you have the <dlfcn.h> header file. */ -#mesondefine HAVE_DLFCN_H - -/* Define to 1 if you have the <inttypes.h> header file. */ -#mesondefine HAVE_INTTYPES_H - -/* Define to 1 if you have the <memory.h> header file. */ -#mesondefine HAVE_MEMORY_H - -/* Define to 1 if you have the <stdint.h> header file. */ -#mesondefine HAVE_STDINT_H - -/* Define to 1 if you have the <stdlib.h> header file. */ -#mesondefine HAVE_STDLIB_H - -/* Define to 1 if you have the <strings.h> header file. */ -#mesondefine HAVE_STRINGS_H - -/* Define to 1 if you have the <string.h> header file. */ -#mesondefine HAVE_STRING_H - /* Define to 1 if you have the `strlcat' function. */ #mesondefine HAVE_STRLCAT @@ -33,18 +12,6 @@ /* Define to 1 if you have the `strndup' function. */ #mesondefine HAVE_STRNDUP -/* Define to 1 if you have the <sys/stat.h> header file. */ -#mesondefine HAVE_SYS_STAT_H - -/* Define to 1 if you have the <sys/types.h> header file. */ -#mesondefine HAVE_SYS_TYPES_H - -/* Define to 1 if you have the <unistd.h> header file. */ -#mesondefine HAVE_UNISTD_H - -/* Define to the sub-directory where libtool stores uninstalled libraries. */ -#mesondefine LT_OBJDIR - /* Name of package */ #mesondefine PACKAGE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/libpkgconf/fileio.c new/pkgconf-1.7.4/libpkgconf/fileio.c --- old/pkgconf-1.7.3/libpkgconf/fileio.c 2020-05-24 22:09:44.000000000 +0200 +++ new/pkgconf-1.7.4/libpkgconf/fileio.c 2021-03-18 12:44:13.000000000 +0100 @@ -44,6 +44,9 @@ *s++ = c; break; } + else + *s++ = c; + quoted = false; continue; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/libpkgconf/libpkgconf.h new/pkgconf-1.7.4/libpkgconf/libpkgconf.h --- old/pkgconf-1.7.3/libpkgconf/libpkgconf.h 2020-05-24 22:55:02.000000000 +0200 +++ new/pkgconf-1.7.4/libpkgconf/libpkgconf.h 2021-03-18 13:35:17.000000000 +0100 @@ -204,6 +204,7 @@ char *sysroot_dir; bool want_default_static; + bool want_default_pure; }; /* client.c */ @@ -250,6 +251,7 @@ #define PKGCONF_PKG_PKGF_SIMPLIFY_ERRORS 0x1000 #define PKGCONF_PKG_PKGF_DONT_FILTER_INTERNAL_CFLAGS 0x2000 #define PKGCONF_PKG_PKGF_DONT_MERGE_SPECIAL_FRAGMENTS 0x4000 +#define PKGCONF_PKG_PKGF_FDO_SYSROOT_RULES 0x8000 #define PKGCONF_PKG_DEPF_INTERNAL 0x1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/libpkgconf/meson.build new/pkgconf-1.7.4/libpkgconf/meson.build --- old/pkgconf-1.7.3/libpkgconf/meson.build 2019-07-12 13:10:54.000000000 +0200 +++ new/pkgconf-1.7.4/libpkgconf/meson.build 2021-03-18 12:39:45.000000000 +0100 @@ -8,5 +8,5 @@ 'iter.h', 'bsdstubs.h', 'libpkgconf-api.h', - subdir : 'libpkgconf') + subdir : 'pkgconf/libpkgconf') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/libpkgconf/path.c new/pkgconf-1.7.4/libpkgconf/path.c --- old/pkgconf-1.7.3/libpkgconf/path.c 2019-07-12 13:10:54.000000000 +0200 +++ new/pkgconf-1.7.4/libpkgconf/path.c 2021-03-18 13:56:39.000000000 +0100 @@ -17,7 +17,7 @@ #include <libpkgconf/stdinc.h> #include <libpkgconf/libpkgconf.h> -#if defined(HAVE_CYGWIN_CONV_PATH) && defined(__MSYS__) +#ifdef HAVE_CYGWIN_CONV_PATH # include <sys/cygwin.h> #endif @@ -92,15 +92,11 @@ return; if (S_ISLNK(st.st_mode)) { - char *linkdest = realpath(path, NULL); + char pathbuf[PKGCONF_ITEM_SIZE * 4]; + char *linkdest = realpath(path, pathbuf); if (linkdest != NULL && stat(linkdest, &st) == -1) - { - free(linkdest); return; - } - - free(linkdest); } if (path_list_contains_entry(path, dirlist, &st)) return; @@ -320,9 +316,17 @@ bool pkgconf_path_relocate(char *buf, size_t buflen) { -#if defined(HAVE_CYGWIN_CONV_PATH) && defined(__MSYS__) +#ifdef _WIN32 + char *ti; +#endif + +#ifdef HAVE_CYGWIN_CONV_PATH + /* + * If we are on Cygwin or MSYS, then we want to convert the virtual path + * to a real DOS path, using cygwin_conv_path(). + */ ssize_t size; - char *tmpbuf, *ti; + char *tmpbuf; size = cygwin_conv_path(CCP_POSIX_TO_WIN_A, buf, NULL, 0); if (size < 0 || (size_t) size > buflen) @@ -334,13 +338,6 @@ pkgconf_strlcpy(buf, tmpbuf, buflen); free(tmpbuf); - - /* rewrite any backslash arguments for best compatibility */ - for (ti = buf; *ti != '\0'; ti++) - { - if (*ti == '\\') - *ti = '/'; - } #else char *tmpbuf; @@ -358,5 +355,18 @@ } #endif +#ifdef _WIN32 + /* + * Rewrite any backslash path delimiters for best compatibility. + * Originally, we did this in cygwin/msys case, but now we build pkgconf + * natively on Windows without cygwin/msys, so do it in all cases. + */ + for (ti = buf; *ti != '\0'; ti++) + { + if (*ti == '\\') + *ti = '/'; + } +#endif + return true; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/libpkgconf/personality.c new/pkgconf-1.7.4/libpkgconf/personality.c --- old/pkgconf-1.7.3/libpkgconf/personality.c 2020-05-25 13:55:39.000000000 +0200 +++ new/pkgconf-1.7.4/libpkgconf/personality.c 2021-03-18 13:03:18.000000000 +0100 @@ -24,6 +24,10 @@ static bool default_personality_init = false; static pkgconf_cross_personality_t default_personality = { .name = "default", +#ifdef _WIN32 + .want_default_static = true, + .want_default_pure = true, +#endif }; static inline void @@ -156,6 +160,7 @@ {"SystemIncludePaths", personality_fragment_func, offsetof(pkgconf_cross_personality_t, filter_includedirs)}, {"SystemLibraryPaths", personality_fragment_func, offsetof(pkgconf_cross_personality_t, filter_libdirs)}, {"Triplet", personality_copy_func, offsetof(pkgconf_cross_personality_t, name)}, + {"WantDefaultPure", personality_bool_func, offsetof(pkgconf_cross_personality_t, want_default_pure)}, {"WantDefaultStatic", personality_bool_func, offsetof(pkgconf_cross_personality_t, want_default_static)}, }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/libpkgconf/pkg.c new/pkgconf-1.7.4/libpkgconf/pkg.c --- old/pkgconf-1.7.3/libpkgconf/pkg.c 2020-05-26 21:41:17.000000000 +0200 +++ new/pkgconf-1.7.4/libpkgconf/pkg.c 2021-03-18 12:39:45.000000000 +0100 @@ -100,7 +100,7 @@ p = pkgconf_tuple_parse(client, &pkg->vars, value); len = strcspn(p, " \t"); - if (len) + if (len != strlen(p)) { i = p + (ptrdiff_t) len; *i = '\0'; @@ -391,7 +391,7 @@ */ char *mungeptr; if ((mungeptr = strrchr(idptr, '/')) != NULL) - idptr = mungeptr++; + idptr = ++mungeptr; #endif pkg->id = strdup(idptr); @@ -539,7 +539,8 @@ { PKGCONF_TRACE(client, "found (uninstalled): %s", uninst_locbuf); pkg = pkgconf_pkg_new_from_file(client, uninst_locbuf, f); - pkg->flags |= PKGCONF_PKG_PROPF_UNINSTALLED; + if (pkg != NULL) + pkg->flags |= PKGCONF_PKG_PROPF_UNINSTALLED; } else if ((f = fopen(locbuf, "r")) != NULL) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/libpkgconf/tuple.c new/pkgconf-1.7.4/libpkgconf/tuple.c --- old/pkgconf-1.7.3/libpkgconf/tuple.c 2020-05-31 03:20:25.000000000 +0200 +++ new/pkgconf-1.7.4/libpkgconf/tuple.c 2021-03-18 13:15:16.000000000 +0100 @@ -254,8 +254,11 @@ const char *ptr; char *bptr = buf; - if (*value == '/' && client->sysroot_dir != NULL && strncmp(value, client->sysroot_dir, strlen(client->sysroot_dir))) - bptr += pkgconf_strlcpy(buf, client->sysroot_dir, sizeof buf); + if (!(client->flags & PKGCONF_PKG_PKGF_FDO_SYSROOT_RULES)) + { + if (*value == '/' && client->sysroot_dir != NULL && strncmp(value, client->sysroot_dir, strlen(client->sysroot_dir))) + bptr += pkgconf_strlcpy(buf, client->sysroot_dir, sizeof buf); + } for (ptr = value; *ptr != '\0' && bptr - buf < PKGCONF_BUFSIZE; ptr++) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/man/pkgconf-personality.5 new/pkgconf-1.7.4/man/pkgconf-personality.5 --- old/pkgconf-1.7.3/man/pkgconf-personality.5 2019-10-19 07:56:10.000000000 +0200 +++ new/pkgconf-1.7.4/man/pkgconf-personality.5 2021-03-18 13:01:56.000000000 +0100 @@ -76,6 +76,9 @@ A list of directories that are included by default in the search path for libraries. (mandatory; fragment list) +.It WantDefaultPure +If true, pkgconf will default to preferring a pure dependency graph. +(optional; boolean; default is false) .It WantDefaultStatic If true, pkgconf will default to operating in static linking mode. (optional; boolean; default is false) @@ -93,5 +96,5 @@ .Ed .Sh SEE ALSO .Xr pkgconf 1 , -.Xr pkg.m4 7 , -.Xr pc 5 +.Xr pc 5 , +.Xr pkg.m4 7 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/man/pkgconf.1 new/pkgconf-1.7.4/man/pkgconf.1 --- old/pkgconf-1.7.3/man/pkgconf.1 2020-05-24 22:33:35.000000000 +0200 +++ new/pkgconf-1.7.4/man/pkgconf.1 2021-03-18 13:19:07.000000000 +0100 @@ -106,7 +106,7 @@ .It Fl -uninstalled Exit with a non-zero result if the dependency resolver uses an .Sq uninstalled -module as part of it's solution. +module as part of its solution. .It Fl -no-uninstalled Forbids the dependency resolver from considering 'uninstalled' modules as part of a solution. @@ -213,6 +213,10 @@ If set, disables the path relocation feature. .It Va PKG_CONFIG_MSVC_SYNTAX If set, uses MSVC syntax for fragments. +.It Va PKG_CONFIG_FDO_SYSROOT_RULES +If set, follow the sysroot prefixing rules that freedesktop.org pkg-config uses. +.It Va DESTDIR +If set to PKG_CONFIG_SYSROOT_DIR, assume that PKG_CONFIG_FDO_SYSROOT_RULES is set. .El .Sh EXAMPLES Displaying the CFLAGS of a package: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/meson.build new/pkgconf-1.7.4/meson.build --- old/pkgconf-1.7.3/meson.build 2020-05-31 03:20:25.000000000 +0200 +++ new/pkgconf-1.7.4/meson.build 2021-03-18 13:57:23.000000000 +0100 @@ -1,5 +1,5 @@ project('pkgconf', 'c', - version : '1.7.3', + version : '1.7.4', license : 'ISC', meson_version : '>=0.47') @@ -8,24 +8,6 @@ cdata = configuration_data() -check_headers = [ - ['HAVE_DLFCN_H', 'dlfcn.h'], - ['HAVE_INTTYPES_H', 'inttypes.h'], - ['HAVE_MEMORY_H', 'memory.h'], - ['HAVE_STDINT_H', 'stdint.h'], - ['HAVE_STDLIB_H', 'stdlib.h'], - ['HAVE_STRINGS_H', 'strings.h'], - ['HAVE_STRING_H', 'string.h'], - ['HAVE_SYS_STAT_H', 'sys/stat.h'], - ['HAVE_SYS_TYPES_H', 'sys/types.h'], - ['HAVE_UNISTD_H', 'unistd.h'], -] - -foreach h : check_headers - if cc.has_header(h.get(1)) - cdata.set(h.get(0), 1) - endif -endforeach check_functions = [ ['HAVE_CYGWIN_CONV_PATH', 'cygwin_conv_path', 'sys/cygwin.h'], @@ -63,7 +45,7 @@ subdir('libpkgconf') -libpkgconf = shared_library('pkgconf', +libpkgconf = library('pkgconf', 'libpkgconf/argvsplit.c', 'libpkgconf/audit.c', 'libpkgconf/bsdstubs.c', @@ -84,6 +66,14 @@ soversion : '3', ) +pkg = import('pkgconfig') +pkg.generate(libpkgconf, + name : 'libpkgconf', + description : 'a library for accessing and manipulating development framework configuration', + url: 'http://github.com/pkgconf/pkgconf', + filebase : 'libpkgconf', + subdirs: ['pkgconf'], +) pkgconf_exe = executable('pkgconf', 'cli/main.c', @@ -107,3 +97,5 @@ install_man('man/pc.5') install_man('man/pkgconf-personality.5') install_data('pkg.m4', install_dir: 'share/aclocal') +install_data('AUTHORS', install_dir: 'share/doc/pkgconf') +install_data('README.md', install_dir: 'share/doc/pkgconf') \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/tests/lib1/fragment-comment.pc new/pkgconf-1.7.4/tests/lib1/fragment-comment.pc --- old/pkgconf-1.7.3/tests/lib1/fragment-comment.pc 1970-01-01 01:00:00.000000000 +0100 +++ new/pkgconf-1.7.4/tests/lib1/fragment-comment.pc 2021-03-18 12:39:45.000000000 +0100 @@ -0,0 +1,4 @@ +Name: fragment-comment +Description: Test case for issue #215 +Version: 1.0 +Cflags: kuku=\#ttt \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pkgconf-1.7.3/tests/parser.sh new/pkgconf-1.7.4/tests/parser.sh --- old/pkgconf-1.7.3/tests/parser.sh 2019-07-12 13:41:09.000000000 +0200 +++ new/pkgconf-1.7.4/tests/parser.sh 2021-03-18 12:39:45.000000000 +0100 @@ -29,6 +29,7 @@ fragment_quoting_3 \ fragment_quoting_5 \ fragment_quoting_7 \ + fragment_comment \ msvc_fragment_quoting \ msvc_fragment_render_cflags \ tuple_dequote \ @@ -264,6 +265,14 @@ set +x } + +fragment_comment_body() +{ + atf_check \ + -o inline:'kuku=\#ttt \n' \ + pkgconf --with-path="${selfdir}/lib1" --cflags fragment-comment +} + msvc_fragment_quoting_body() { export PKG_CONFIG_PATH="${selfdir}/lib1"
