Log

Author Commit Date CI Message
Ariadne Conill 204ad5e4 2025-06-18T21:56:01 pkgconf 2.5.0. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill b4547a01 2025-06-18T21:24:46 github: add actions workflow for pkgconf releases Ref: https://github.com/pkgconf/pkgconf/issues/404 Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 70748388 2025-06-18T20:33:18 chore: delete obsolete woodpecker CI configuration Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill a0fc46a8 2025-06-18T14:51:31 libpkgconf: clean up PRINTFLIKE and DEPRECATED macros On MingW, the wrong format string checker would be used. So prefer gnu_printf where it is known to be available. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Kai Pastor fea9592a 2025-06-12T08:34:29 personality.c: _WIN32 does not want_default_static
Ingo Schwarze 11ea807f 2025-06-03T20:33:48 man/pkgconf.1: correctly describe the module version check options The options --atleast-version, --exact-version, and --max-version short-circuit to both success and failure, which implies that the result depends on the the order of the arguments and that a simple description is not possible. In particular, it is not possible to describe the behaviour with any sentence of the form "(succeed|fail) if (any|each) argument satisfies (condition)".
Ingo Schwarze 5c3b5b1d 2025-06-03T20:03:45 man/pkgconf.1: --log-file does not print to stdout
Ingo Schwarze d3e94155 2025-06-03T19:44:28 man/pkgconf.1: mention that --list-all exits early
Ingo Schwarze f0be161c 2025-06-03T19:27:38 man/pkgconf.1: mention that --atleast-pkgconfig-version exits early
Ingo Schwarze efdeb71d 2025-06-04T21:09:13 man/pkgconf.1: improve the beginning of the DESCRIPTION Replace the first paragraph with an adequate description of what the program actually does, mention the main use case, and avoid vague wordings like "helps to" and "allow" and misleading wordings like "development libraries" (this is perfectly adequate for production builds, too) and "detect" (nothing is automatically detected, everything has to be specified explicitly in pc(5) configuration files). Add a second paragraph introducing the module search path because that concept is really crucial for the program. After that, add three paragraphs explaining the classification of options, in particular how they behave with respect to early exit and dependency resolution. Admittedly, this requires rather lengthy text, which is clearly undesirable at this place in a manual page. But the atrocious user interface design only leaves the choice of either bothering the reader with a long, complicated description, or not describing how the program behaves at all. Postponing the description of these interactions until after the option list would not be better. Understanding the classification up front helps to understand the descriptions and purposes of the individual options. What is still sorely missing is a precise definition of what the three different versions of the crucial term "dependency" mean, and how resolution actually works.
Ingo Schwarze 509c34fa 2025-06-03T19:05:06 man/pkgconf.1: mention that PKG_CONFIG_SYSROOT_DIR sets pc_sysrootdir
Ingo Schwarze 8886d839 2025-06-03T19:03:27 man/pkgconf.1: describe DESTDIR more precisely
Ingo Schwarze 5729e1dd 2025-06-04T20:54:54 man/pkgconf.1: document --dump-personality --help --solution
Ingo Schwarze 54019358 2025-06-03T16:56:50 man/pkgconf.1: document PKG_CONFIG_ALLOW_SYSTEM_{CFLAGS,LIBS}
Ariadne Conill 505f3102 2025-06-04T12:50:56 meson: add bomtool to build targets Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill ac8cc800 2025-06-04T12:43:54 man: add bomtool manpage Closes: https://github.com/pkgconf/pkgconf/issues/408 Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 5b02ec37 2025-06-04T11:59:05 man/pkgconf.1: document PKG_CONFIG_PRELOADED_FILES Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill d6be0d38 2025-06-04T11:53:20 libpkgconf: client: unref the preloaded list on client deinit Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill f748308b 2025-06-04T11:29:11 cli: add support for PKG_CONFIG_PRELOADED_FILES This allows for preloading external files outside PKG_CONFIG_PATH, which will be prioritized over the files located inside PKG_CONFIG_PATH. For example: ~/pkgconf $ PKG_CONFIG_PRELOADED_FILES=tests/lib1/foo.pc ./pkgconf --list-all foo foo - A testing pkg-config file Fixes: https://github.com/pkgconf/pkgconf/issues/391
Ariadne Conill 1a28204a 2025-06-04T11:20:39 libpkgconf: client: avoid environ keyword which is macro on Win32 Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill a3af684d 2025-06-04T11:18:41 libpkgconf: pkg: ensure pkgconf_pkg_new_from_path only loads .pc files Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 9665d214 2025-06-04T11:15:52 libpkgconf: client: add pkgconf_client_preload_from_environ() Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 0a932483 2025-06-04T10:58:27 libpkgconf: pkg: add functionality for searching and scanning the preloaded package list Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill d4770169 2025-06-04T10:42:11 libpkgconf: pkg: remove freed packages from the preload list Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 01eb0cf1 2025-06-04T10:39:09 libpkgconf: client: add pkgconf_client_preload_path() for preloading packages Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 3be7f2ce 2025-06-04T10:34:23 libpkgconf: pkg: add tracking infrastructure for preloaded packages Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill aa5813ac 2025-05-31T00:06:57 libpkgconf: path: refactor windows registry PKG_CONFIG_PATH support Now we add to the search list rather than falling back to the registry after the search list fails to find a package. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill c6f973bd 2025-05-30T23:25:38 build: add pkgconf.wxs.in and txt2rtf.py to source files list Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Marc-André Lureau 6fe94588 2025-05-30T17:53:15 ci: enable back MSI build Drop mingw32 arch build, see: https://github.com/msys2/MINGW-packages/issues/24419
Ariadne Conill 4dad43ad 2025-05-29T16:04:04 github: disable msi build for now, broken Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Marc-André Lureau 86d38119 2025-03-20T16:00:34 meson: add MSI build target It would be nice to provide a release MSI for Windows users. Requires wixl. Tested on Fedora, with mingw64 cross-build. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Marc-André Lureau e49cbdfc 2025-03-20T15:32:43 stdinc: fix -Wformat warning on win64 ../libpkgconf/client.c: In function 'pkgconf_trace': ../libpkgconf/client.c:381:47: warning: format '%u' expects argument of type 'unsigned int', but argument 5 has type 'size_t' {aka 'long long unsigned int'} [-Wformat=] 381 | len = snprintf(errbuf, sizeof errbuf, "%s:" SIZE_FMT_SPECIFIER " [%s]: ", filename, lineno, funcname); | ^~~~~ ~~~~~~ | | | size_t {aka long long unsigned int} Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Marc-André Lureau a1a255ee 2025-04-22T11:28:40 ci: build MSI on msys2, publish artefacts Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Ariadne Conill 205bc7bf 2025-05-29T11:38:54 libpkgconf: client: remove PKGCONF_BUFSIZE from logging subsystem Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill fd7069a2 2025-05-29T11:13:39 libpkgconf: dependency: move static parsing buffer off the stack Also remove the 64KB limit for dependency list strings. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 25cbcbc3 2025-05-29T10:47:47 README: simplify, improve tone to be less grumpy Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 5925cc43 2025-05-29T10:23:58 github: remove V=1 from analysis step Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill ad75dec3 2025-05-29T10:21:21 github: enable GCC static analysis tests with -Werror Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 61610c65 2025-05-29T10:08:00 libpkgconf: pkg: refactor pkgconf_pkg_new_from_file into pkgconf_pkg_new_from_path Previously, files would be closed by side effect, which is a somewhat bad API design that trips up various static analysis tools. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 2983d311 2025-05-28T23:21:24 libpkgconf: path: gracefully handle memory alloc failures Found-by: GCC -fanalyzer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 10d37b61 2025-05-28T23:18:42 libpkgconf: dependency: handle memory allocation failures Found-by: GCC -fanalyzer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 1fd56779 2025-05-28T23:15:52 libpkgconf: argvsplit: use calloc for all buffers, handle memory alloc failures Found-by: GCC -fanalyzer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 735fd054 2025-05-28T23:11:34 libpkgconf: fragment: robustly catch and handle memory allocation failures Found-by: GCC -fanalyzer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 7fbb8bf2 2025-05-28T22:59:43 libpkgconf: pkg: refactor pkgconf_pkg_free into micro-operations Then use pkg_free_lists and pkg_free_object to clean up package objects which have not been fully initialized. Found-by: GCC -fanalyzer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill e4e3b45b 2025-05-28T22:32:06 libpkgconf: pkg: gracefully handle NULL parameter to pkgconf_pkg_unref() This could happen when pkgconf_pkg_new_from_file() fails due to error. Found-by: GCC -fanalyzer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 859402ef 2025-05-28T22:30:34 libpkgconf: pkg: allow pkgconf_pkg_new_from_file to return NULL on malloc error Other errors can already cause pkgconf_pkg_new_from_file() to return NULL, so this doesn't break API. Found-by: GCC -fanalyzer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill e3f9e694 2025-05-28T22:18:39 libpkgconf: client: propagate malloc failures upwards Otherwise a NULL dereference can happen when malloc fails in pkgconf_client_new(). Found-by: GCC -fanalyzer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 5ecd34e4 2025-05-28T22:10:10 libpkgconf: personality: rework non-default personality loading If there is an error loading the personality file (for example, the personality file associated with the requested triplet does not exist), then resources would be leaked. Found-by: GCC -fanalyzer Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 187f2604 2025-05-28T22:08:08 libpkgconf: personality: make cross-personality triplet identifier non-const Dynamically loaded personality files use a malloced string to store the triplet, and so we need to drop the const to allow for that string to be freed later. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Jonathan Gray a61b00f1 2025-05-28T14:07:21 man/pkgconf.1: fix spelling of overridden
Ariadne Conill f2396064 2025-05-28T21:33:45 man/pkgconf.1: fix description of PKG_CONFIG_SYSROOT_DIR Fixes: ef59baf ("Document environment variables") Closes: https://github.com/pkgconf/pkgconf/issues/388 Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ingo Schwarze c34379ad 2025-05-18T21:03:33 man/pkgconf.1: better describe PKG_CONFIG_TOP_BUILD_DIR In particular, mention the default value and make it more explicit in which case the default is used.
Ingo Schwarze c5953937 2025-05-18T20:08:30 man/pkgconf.1: better describe --print-variables and --variable In particular, mention that only the first "module" argument is used and clarify what exactly is printed.
Ingo Schwarze adc54991 2025-05-18T19:26:24 man/pkgconf.1: rudimentary documentation of two more env vars Specifically, PKG_CONFIG_DONT_DEFINE_PREFIX and PKG_CONFIG_RELOCATE_PATHS.
Ingo Schwarze e607da2e 2025-05-18T19:05:26 man/pkgconf.1: clarify the interaction of --static, --pure, and --shared
Ingo Schwarze 83c7ca08 2025-05-18T18:43:23 man/pkgconf.1: rudimentary documentation of PKG_CONFIG_IGNORE_CONFLICTS
Ingo Schwarze 5ad8a5be 2025-05-18T18:19:11 man/pkgconf.1: mention which options imply --print-errors
Ingo Schwarze e785ee47 2025-05-18T17:52:32 man/pkgconf.1: fix incorrect description of PKG_CONFIG_DEBUG_SPEW It does *not* enable any additional debug logging, only --debug does that. This variable only overrides --silence-errors.
Ingo Schwarze a7443fe5 2025-05-18T17:30:13 man/pkgconf.1: document PKG_CONFIG_MAXIMUM_TRAVERSE_DEPTH Also mention that it overrides --maximum-traverse-depth as well as which options override it.
Ingo Schwarze cab9dcbf 2025-05-18T16:46:09 man/pkgconf.1: rudimentary documentation of --msvc-syntax Slightly improve the description of PKG_CONFIG_MSVC_SYNTAX, too.
Ingo Schwarze 4e7ecc37 2025-05-18T16:21:31 man/pkgconf.1: document some environment variables defining paths Document CPATH, C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJC_INCLUDE_PATH, and LIBRARY_PATH. Improve the description of PKG_CONFIG_SYSTEM_INCLUDE_PATH and PKG_CONFIG_SYSTEM_LIBRARY_PATH to mention their syntax, their default values, and what they actually do.
Ariadne Conill a2f0af2f 2025-05-17T23:52:34 cli: squash unused variable warning in cli-specific unveil_handler Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 2ad2eaa4 2025-05-17T23:50:39 build: bump libpkgconf SOVERSION to 7 Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 5a188784 2025-05-17T23:49:54 libpkgconf: add support for late-breaking unveil(2) notifications Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 5d363cc7 2025-05-17T23:33:48 cli: add cli-side unveil(2) support Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ingo Schwarze 6546c4ba 2025-05-10T01:39:15 man/pkgconf.1: document four more command line options The options --about, --list-package-names, --short-errors, and --log-file were not documented yet. While documenting --log-file, adjust the description of PKG_CONFIG_LOG, too.
Ingo Schwarze 14d12281 2025-05-08T04:47:50 man/pkgconf.1: properly document the module search path Specifically, document --env-only, --list-all, --with-path, PKG_CONFIG_LIBDIR, and PKG_CONFIG_PATH, all of which were already mentioned, but very little was said about them, and much of what *was* said was outdated.
Ariadne Conill 7502a55d 2025-05-08T13:45:33 libpkgconf: bsdstubs: align pledge and unveil stubs with openbsd-portable Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 4deef173 2025-05-08T13:12:21 cli: defer --with-path processing until libpkgconf is fully initialized Previously, we would modify the cross-compilation personality object in order to inject paths provided by --with-path. This would cause the paths provided by --with-path to be clobbered when using PKG_CONFIG_LIBDIR to explicitly initialize the search path list. Fixes: c468682 ("cli: implement --personality") Related: https://github.com/pkgconf/pkgconf/issues/400 Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 7b8865d1 2025-05-08T13:07:30 libpkgconf: path: add pkgconf_path_prepend_list Previously when processing --with-path entries we were adding to the tail of the search list. In reality, we expect --with-path entries to be treated in an equivalent way to PKG_CONFIG_PATH. Accordingly, add a variant of pkgconf_path_copy_list which prepends instead. Related: https://github.com/pkgconf/pkgconf/issues/400 Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ingo Schwarze 265a8a43 2025-05-07T03:25:29 man/pkgconf.1: two instances where .Va -> .Ar was forgotten
Ingo Schwarze bd49b700 2025-05-07T03:15:33 man/pkgconf.1: sort the ENVIRONMENT section and use .Ev
Ingo Schwarze d1a5b4f2 2025-05-07T02:40:23 man/pkgconf.1: correct the description of --path
Ingo Schwarze 31d73e40 2025-05-07T01:59:15 man/pkgconf.1: document --modversion and --verbose
Ingo Schwarze bdede95f 2025-05-07T01:18:28 man/pkgconf.1: mark features not compiled in with PKGCONF_LITE
Ingo Schwarze 5123e180 2025-05-07T00:55:38 man/pkgconf.1: fix the markup of two instances of "module" They were erroneously marked up with .Cm instead of .Ar.
Ingo Schwarze 32cd9afb 2025-05-07T00:47:24 man/pkgconf.1: fix documentation bug regarding --*-version One single matching module is sufficient for success.
Ingo Schwarze bd1b791a 2025-05-07T00:10:45 man/pkgconf.1: do not use all caps for the arguments of .Ar macros Very little text change, only minimal wording and markup improvements in the immediate vicinity.
Ingo Schwarze e49ae602 2025-05-06T01:56:50 man/pkgconf.1: add the missing EXIT STATUS section
Ingo Schwarze c3090718 2025-05-06T01:43:48 man/pkgconf.1: improve the description of --version
Ingo Schwarze db4b0212 2025-05-06T01:27:53 man/pkgconf.1: improve the description of --print-requires
Ingo Schwarze 18332eff 2025-05-06T00:48:06 man/pkgconf.1: improve the description of --print-provides
Ingo Schwarze 2932604c 2025-05-05T23:29:16 man/pkgconf.1: improve the description of --exists
Ingo Schwarze 4c9afed4 2025-05-05T22:35:03 man/pkgconf.1: improve the description of --atleast-pkgconfig-version
Ariadne Conill d7efcda0 2025-05-05T11:17:21 bsdstubs: fix build with MSVC Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ingo Schwarze 50d0a3ae 2025-05-04T17:18:56 man/pkgconf.1: sort options list; no text or markup change
Ingo Schwarze 6414ec29 2025-05-04T02:17:27 man/pkgconf.1: better document --silence-errors, which was very incomplete
Ingo Schwarze a1508c5f 2025-05-04T01:49:47 man/pkgconf.1: document --print-errors; it was missing
Ingo Schwarze 9e911529 2025-05-04T01:19:20 man/pkgconf.1: improve the description of --errors-to-stdout
Ingo Schwarze 71881ffe 2025-05-04T01:08:06 man/pkgconf.1: warning and debugging messages go to stderr Sorry for misreading the code earlier.
Ingo Schwarze 293cd1d5 2025-05-04T00:33:01 man/pkgconf.1: improve the description of --libs
Ingo Schwarze 210014a9 2025-05-03T23:56:03 man/pkgconf.1: document --debug, which was missing
Ingo Schwarze 4c2eaf5e 2025-05-03T22:36:05 man/pkgconf.1: improve the description of --cflags
Ingo Schwarze d7bdb5e0 2025-05-03T21:08:00 man/pkgconf.1: use conventional syntax for the synopsis line
Ariadne Conill c6974e24 2025-05-03T22:28:42 cli: pledge: also allow unveil(2) in the syscall set Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 2e1bfc2f 2025-05-03T22:22:21 cli: use pledge(2) to restrict syscalls where available Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Ariadne Conill 230b45c0 2025-05-03T22:04:09 build: add stub functions for pledge and unveil Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Filipe Laíns 664b53d5 2025-04-02T03:43:51 build: add -D_POSIX_C_SOURCE=200809L Signed-off-by: Filipe Laíns <lains@riseup.net>
Ariadne Conill 1d37e711 2025-03-07T16:37:15 pkgconf 2.4.3.
Ariadne Conill 933e925a 2025-03-07T16:07:00 tests: add test for fragment tree topological correctness Fixes: https://github.com/pkgconf/pkgconf/issues/385 Signed-off-by: Ariadne Conill <ariadne@ariadne.space>