Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 6b682318 | 2025-10-22 13:55:07 | bomtool: add PackageDownloadLocation for packages with source tags | ||
| e21de9c6 | 2025-09-05 12:31:10 | cli: Add Source-tag to cli Add Source tag printing to cli. | ||
| 2c9a0d2d | 2025-10-12 13:08:50 | cli: unveil only after building the client dir list This fixes an issue where pkgconf can't access directories in the PKG_CONFIG_PATH environment variable. | ||
| 706b3cbd | 2025-10-12 00:29:38 | cli: ignore unveil ENOENT errors on defaults path | ||
| e6e94583 | 2025-08-18 10:27:21 | cli: use append for PKG_CONFIG_LOG This was an oversight when originally implementing PKG_CONFIG_LOG functionality. In original pkg-config, it is opened as an append log. Fixes: 8ccc108 ("main: add a stub for PKG_CONFIG_LOG (ref #88)") Signed-off-by: Ariadne Conill <ariadne@ariadne.space> | ||
| f748308b | 2025-06-04 11: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 | ||
| a2f0af2f | 2025-05-17 23:52:34 | cli: squash unused variable warning in cli-specific unveil_handler Signed-off-by: Ariadne Conill <ariadne@ariadne.space> | ||
| 5a188784 | 2025-05-17 23:49:54 | libpkgconf: add support for late-breaking unveil(2) notifications Signed-off-by: Ariadne Conill <ariadne@ariadne.space> | ||
| 5d363cc7 | 2025-05-17 23:33:48 | cli: add cli-side unveil(2) support Signed-off-by: Ariadne Conill <ariadne@ariadne.space> | ||
| 7502a55d | 2025-05-08 13:45:33 | libpkgconf: bsdstubs: align pledge and unveil stubs with openbsd-portable Signed-off-by: Ariadne Conill <ariadne@ariadne.space> | ||
| 4deef173 | 2025-05-08 13: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> | ||
| c6974e24 | 2025-05-03 22:28:42 | cli: pledge: also allow unveil(2) in the syscall set Signed-off-by: Ariadne Conill <ariadne@ariadne.space> | ||
| 2e1bfc2f | 2025-05-03 22:22:21 | cli: use pledge(2) to restrict syscalls where available Signed-off-by: Ariadne Conill <ariadne@ariadne.space> | ||
| 4a62f612 | 2025-03-07 12:24:25 | cli: add --fragment-tree visualization tool Related: https://github.com/pkgconf/pkgconf/issues/385 Signed-off-by: Ariadne Conill <ariadne@ariadne.space> | ||
| 543ab926 | 2025-03-05 15:00:54 | libpkgconf: fragment: track text fragments as a tree instead of a flat list This allows us to have more insight into the relationships between text fragments, for example linker groups. Signed-off-by: Ariadne Conill <ariadne@ariadne.space> | ||
| ea0e6458 | 2025-02-18 16:34:18 | cli: main: disable graph recursion with --variable This was just a simple logic error. Fixes: 4697d63 ("cli: main: allow use of multiple package names in solution-based queries") Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> Closes: https://github.com/pkgconf/pkgconf/issues/376 Signed-off-by: Ariadne Conill <ariadne@ariadne.space> | ||
| f0aa4071 | 2025-02-03 05:33:53 | cli: fix warning in solver state debug function Signed-off-by: Ariadne Conill <ariadne@ariadne.space> | ||
| b861bcad | 2025-02-02 02:58:58 | cli: solution: denote private dependency nodes in the solution Signed-off-by: Ariadne Conill <ariadne@ariadne.space> | ||
| 4697d636 | 2024-10-07 17:06:52 | cli: main: allow use of multiple package names in solution-based queries Query types like --print-requires, --print-requires-private and --print-provides can be used in practice to query information about a calculated solution rather than a single package. Allow this to be done where it makes sense to allow it, while continuing to restrict package-specific queries (like --variable= and --variables) to single packages. Fixes: 541de8bd ("main: handle query selectors that are only usable for single packages correctly") Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> Closes: #366 | ||
| 72082a4d | 2024-08-06 23:39:46 | cli: add PKG_CONFIG_RELOCATE_PATHS environmental variable This is the inverse of PKG_CONFIG_DONT_RELOCATE_PATHS=1. Closes github issue #253. | ||
| 9aaff514 | 2024-08-06 15:12:27 | bomtool: only use query dependencies for deriving the SBOM document name | ||
| 0ca4e5d0 | 2024-08-06 10:42:18 | cli: allow --env to work with --variable | ||
| 2070c00d | 2024-08-06 10:41:23 | cli: stop processing requests after the --env handler runs | ||
| ca2a0689 | 2024-08-06 09:23:10 | cli: add integration for --print-variables with --env | ||
| 22866eca | 2024-08-05 16:42:05 | cli: document --env in usage text | ||
| b24f3dfd | 2024-08-05 16:39:51 | cli: implement --exists-cflags support for --env | ||
| f635f632 | 2024-08-05 16:29:52 | cli: add module definitions before filter check | ||
| d76aa357 | 2024-08-05 14:29:53 | cli: implement --exists-cflags feature This feature adds autoconf-style -DHAVE_FOO definitions to the --cflags output when it is requested. This has been requested a few times over the years as it allows for simplifying build system logic in scenarios where a standalone Makefile or similar build process is used without a configuration step. | ||
| a276c0b4 | 2024-08-05 13:22:05 | main: add --exists-cflags command-line option | ||
| 633433b2 | 2024-05-16 21:28:37 | Fix uncasted use of isspace() isspace() is intended to be used with an unsigned 8-bit input. Using isspace() with any other type of input is technically undefined behavior. | ||
| e2a8080c | 2024-02-23 15:18:08 | Reuse static solution for general solution | ||
| 883b57df | 2024-02-23 15:18:08 | Cache packages from explicit file requests | ||
| 78d53ea0 | 2024-02-23 15:18:08 | Revise serials, traversal, flattening Remove the 'traverse_serial' fields which were added in 2.1.1. Use the 'serial' field to track the current traversal. Stop using 'identifier' to sort packages in the flattened solution. Directly construct the flattened solution by a specific walk which also preserves the relative order in Requires and Requires.private. The topological sort is a single list, so don't fill requires_private. Purely private dependencies are marked in dependency flags. The ancestor flag is a pkg property, not a client property. | ||
| 6219af9a | 2024-03-21 23:07:11 | Color private-reachable nodes gray | ||
| eaf1a2d8 | 2024-03-21 22:44:32 | Resolve user request for digraph | ||
| f95e8d44 | 2024-03-18 08:21:17 | Print digraph for user request perspective | ||
| db63c8ee | 2024-03-18 07:56:37 | Show edges for flattened order | ||
| 5825e2c6 | 2023-12-01 22:12:20 | Fix crash on two-word expressions | ||
| b2f8386c | 2023-12-01 21:50:46 | Fix --modversion output | ||
| 5f6c5320 | 2023-10-09 08:05:18 | cli: add simple --solution applet for dumping the solver solution | ||
| 86c43b4e | 2023-10-09 07:10:47 | cli: --digraph: use directed relationships as part of the visualization Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> | ||
| 4db80314 | 2023-10-09 07:06:29 | cli: --digraph: properly visualize requires.private edges Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> | ||
| dd6a8e3f | 2023-09-05 15:36:23 | cli: trim trailing whitespace from package arguments Signed-off-by: Colin Gillespie <colin@cgillespie.xyz> | ||
| 97d907ba | 2023-10-09 06:35:04 | cli: remove strncmp() from modversion comparison Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> | ||
| 962a5e96 | 2023-09-07 19:38:01 | cli: fix --modversion not showing version with versioned query Fixes #317. Signed-off-by: Xi Ruoyao <xry111@xry111.site> | ||
| 652aff97 | 2023-10-08 22:27:56 | path: add pkgconf_path_prepend API for --with-path Otherwise, PKG_CONFIG_PATH and PKG_CONFIG_LIBDIR elements would be processed backwards. Fixes: 384ade5 (path: prepend paths rather than append paths when processing --with-path arguments) Closes: #250 Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> | ||
| 66994f15 | 2023-08-19 07:57:48 | cli: fix --modversion not showing version in various cases There are numerous edge cases where version is wrong or missing when matching the dependency queue to resolved packages. This adds the dependency name as it appears in the dependency queue to each package as it is resolved, allowing for a simple and correct comparison when printing. Signed-off-by: Colin Gillespie <colin@cgillespie.xyz> | ||
| f49029c6 | 2023-08-11 14:19:26 | cli: ensure --modversion is output is printed in dependency queue order Previously, --modversion operated on the calculated solution and printed versions in order of the calculated dependency graph. Change this to use the dependency queue instead, looking up nodes in the dependency graph as needed, to ensure that the --modversion output behaves as intended. Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> | ||
| 5ef2ab8c | 2023-08-11 14:09:01 | cli: add --verbose parameter Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> | ||
| 95086643 | 2023-08-11 13:48:02 | cli: remove package count restriction from --modversion Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> | ||
| fe69ccc6 | 2023-08-11 13:41:20 | Revert "main: explicitly error with --modversion and more than 1 package being queried" This reverts commit a97b75ab2c1d031982c35a4886102413e4ec8eee. | ||
| a97b75ab | 2023-08-04 08:38:48 | main: explicitly error with --modversion and more than 1 package being queried | ||
| 1e179963 | 2023-05-02 11:58:39 | Enforce maximum package count correctly for --modversion Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> | ||
| 212c8586 | 2023-03-17 19:32:58 | Avoid undefined behaviour with the ctype(3) functions. fix https://github.com/pkgconf/pkgconf/issues/291 As defined in the C standard: In all cases the argument is an int, the value of which shall be representable as an unsigned char or shall equal the value of the macro EOF. If the argument has any other value, the behavior is undefined. This is because they're designed to work with the int values returned by getc or fgetc; they need extra work to handle a char value. If EOF is -1 (as it almost always is), with 8-bit bytes, the allowed inputs to the ctype(3) functions are: {-1, 0, 1, 2, 3, ..., 255}. However, on platforms where char is signed, such as x86 with the usual ABI, code like char *ptr = ...; ... isspace(*ptr) ... may pass in values in the range: {-128, -127, -126, ..., -2, -1, 0, 1, ..., 127}. This has two problems: 1. Inputs in the set {-128, -127, -126, ..., -2} are forbidden. 2. The non-EOF byte 0xff is conflated with the value EOF = -1, so even though the input is not forbidden, it may give the wrong answer. Casting char to unsigned int first before passing the result to ctype(3) doesn't help: inputs like -128 are unchanged by this cast, because (on a two's-complement machine with 32-bit int and unsigned int), converting the signed char with integer value -128 to unsigned int gives integer value 2^32 - 128 = 0xffffff80, which is out of range, and which is converted in int back to -128, which is also out of range. It is necessary to cast char inputs to unsigned char first; you can then cast to unsigned int if you like but there's no need because the functions will always convert the argument to int by definition. So the above fragment needs to be: char *ptr = ...; ... isspace((unsigned char)*ptr) ... This patch changes unsigned int casts to unsigned char casts, and adds unsigned char casts where they are missing. | ||
| 98b33b48 | 2023-01-21 21:43:08 | cli: use flattened solution for almost all user-facing queries | ||
| 90b65c86 | 2023-01-21 21:31:16 | main: use flattened solution for cflags/libs only | ||
| e2a12fd4 | 2023-01-21 20:39:53 | main: reset solver when solving for library groups | ||
| b106de0c | 2023-01-21 20:21:26 | cli: add whitespace between cflags and libs fragments | ||
| bddf1641 | 2022-08-16 20:41:10 | bomtool: fix ASan issues | ||
| 5044491f | 2022-08-16 19:27:35 | queue: add function to free a compiled solution | ||
| c6d14e6f | 2022-08-16 18:53:29 | cli: renderer-msvc: remove pointless buf_remaining store | ||
| 2c895411 | 2022-08-16 18:50:35 | bomtool: return EXIT_FAILURE if solver fails to solve | ||
| c918b6e2 | 2022-08-13 06:44:40 | bomtool: enable PKGCONF_PKG_PKGF_SEARCH_PRIVATE to collect dev dependencies | ||
| 12f3a309 | 2022-08-13 06:44:19 | bomtool: write dependency relationships in both directions | ||
| 01c1d9f4 | 2022-08-12 13:07:58 | bomtool: remove empty creation date field | ||
| 9e8052b6 | 2022-08-12 12:57:53 | bomtool: add enough to generate a basic SBOM | ||
| 79327b89 | 2022-08-12 12:07:56 | add bomtool skeleton | ||
| 68b5cab7 | 2022-08-11 15:06:08 | cli: remove redundant SEARCH_PRIVATE block It turns out there was already a check for PKG_CFLAGS being requested, but the check was busted because PKG_CFLAGS is a combined-or of all of the various --cflags flags. Check that PKG_CFLAGS bits are set at all on want_flags instead. | ||
| 74600558 | 2022-08-11 13:47:32 | cli: use Requires.private when cflags are requested | ||
| 4e449bd4 | 2022-08-08 09:42:01 | cli: do not search requires.private for --libs unless --static | ||
| 760d1eea | 2022-08-08 09:27:39 | cli: use pkgconf_queue_solve instead of pkgconf_queue_apply | ||
| b29f9d87 | 2022-08-08 00:40:52 | cli: do not flatten or traverse the graph when asking for module-specific values | ||
| d5f9bdae | 2022-08-07 04:36:45 | cli: add support for dumping SPDX expressions from modules | ||
| 56881f64 | 2022-08-07 00:38:38 | cli: resolve uninitialized pointer warnings reported by GCC 12 | ||
| 4493a322 | 2022-08-03 16:37:04 | main: do cleanup when checking required version | ||
| 38103134 | 2022-08-03 16:30:59 | main: goto cleanup in validate case too This fixes leaks in two tests | ||
| 6c70781a | 2022-07-26 18:00:22 | introduce PKG_CONFIG_PKGCONF1_SYSROOT_RULES for legacy pkgconf behavior | ||
| 11164376 | 2022-06-26 18:34:22 | main: handle --personality load failure | ||
| 04a6dda7 | 2022-06-26 18:17:30 | main: refactor apply_variable | ||
| f5d6bb71 | 2022-02-04 16:06:08 | libpkgconf: remove const modifier from error_handler data pointer Currently, the data pointer is `const void *`, which means that the handler can't modify the data without casting away the constness. | ||
| 41bff109 | 2021-08-17 14:54:36 | cli: ensure the client and cross-personality are cleaned up in all cases | ||
| f411e7e5 | 2021-08-17 14:47:10 | cli: free package resolution queue unconditionally | ||
| ce82e36c | 2021-08-17 14:39:44 | cli: fix memory leak when packages are not provided on the command line | ||
| fa859bb0 | 2021-06-11 15:01:10 | close error_msgout if opened | ||
| dba26000 | 2021-06-11 15:00:58 | deinit personality in cli | ||
| 599dfcb2 | 2021-03-18 06:42:57 | main: extend copyright notice to 2021 | ||
| fd1b8ccc | 2021-03-18 06:22:11 | main: if PKG_CONFIG_FDO_SYSROOT_RULES is set, or DESTDIR matches PKG_CONFIG_SYSROOT_DIRS, disable the automatic sysroot rewriting Closes #205. | ||
| f9531ce9 | 2021-03-18 05:59:54 | add support for pkgconf_cross_personality_t.want_default_pure | ||
| dcf529b8 | 2021-02-06 10:57:20 | cli: add environment variable PKG_CONFIG_DONT_DEFINE_PREFIX On Windows, pkgconf redefines the prefix by default. This gives the user the option to disable this behavior via an environment variable. The benefit of an environment variable is the user can change this behavior when using a build system such as cmake or meson, which may not expose this parameter to the user. | ||
| 47466470 | 2020-05-26 10:57:51 | main: extend copyright statement to 2020 in --about | ||
| fce1199b | 2020-05-24 14:34:17 | cli: add support for PKG_CONFIG_MSVC_SYNTAX env variable Patch from Dan Kegel. | ||
| 62bbd3b6 | 2020-01-21 10:32:36 | cli: remove --version to --modversion remapping This has been a source of frequent complaints, so we drop it. Resolves: https://todo.sr.ht/~kaniini/pkgconf/6 | ||
| 48dc665a | 2019-10-19 00:56:17 | personality: add support for WantDefaultStatic setting | ||
| 40fe4835 | 2019-10-19 00:45:49 | cli: main: add --shared option | ||
| 5f3aa3a8 | 2019-07-12 06:53:25 | cli: bump copyright notice to 2019 | ||
| db9c1e96 | 2019-06-07 19:19:28 | fix the order of header includes config.h should be included before stdinc.h, otherwise large file support is not enabled. Downstream bug: https://bugs.gentoo.org/687548 | ||
| 7460d287 | 2019-05-18 00:52:09 | Merge branch 'fix-msvc-build' of seungha.yang/pkgconf into master | ||
| 5436558e | 2019-05-11 01:15:24 | main: Fix build with MSVC Use pkgconf_strndup() since strndup() might be unavailable | ||
| 0ba98da2 | 2019-05-06 15:22:11 | lite: remove --simulate | ||
| 2d0c1f5c | 2019-05-06 15:15:41 | lite: disable debug logging |