Ariadne Conill
521bb4e6e8
cli: core: use pkgconf_buffer_str_or_empty when setting builtin variables
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-27 15:13:08 -08:00
Ariadne Conill
db6bcbdcbe
libpkgconf: buffer: add pkgconf_buffer_contains and pkgconf_buffer_match
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-27 15:07:50 -08:00
Ariadne Conill
a0933c8b1b
cli: core: use pkgconf_output_puts for stderr messages
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-24 21:06:04 -08:00
Ariadne Conill
dfd20e49fc
cli: core: move dump_personality back
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-24 20:51:22 -08:00
Ariadne Conill
ff07f6b7eb
cli: core: refactor dependency query parsing
2025-12-24 20:48:05 -08:00
Ariadne Conill
d0823a14fc
libpkgconf: queue: add pkgconf_queue_push_dependency
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-24 20:38:23 -08:00
Ariadne Conill
bb79dad5fe
libpkgconf: client: clear client in deinit rather than in init
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-24 20:10:27 -08:00
Ariadne Conill
38b67e8c3b
libpkgconf: client: zero out the client struct when initializing it
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-24 16:33:58 -08:00
Ariadne Conill
98784f1d42
libpkgconf: add cross personality pointer to client struct
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-24 16:05:17 -08:00
Ariadne Conill
fd604729c4
cli: core: use pkgconf_client_getenv wrapper for mocking
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-24 15:48:06 -08:00
Ariadne Conill
be0687f637
libpkgconf: use pkgconf_client_getenv wrapper for mocking
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-24 15:47:53 -08:00
Ariadne Conill
50da3bde52
libpkgconf: client: add pkgconf_client_getenv wrapper
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-24 15:39:35 -08:00
Ariadne Conill
eab5f5da93
cli: chase pkgconf_client_init changes
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-24 15:35:09 -08:00
Ariadne Conill
c7d8ebc439
libpkgconf: client: make environment variable lookups mockable
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-24 15:34:54 -08:00
Ariadne Conill
a592567215
cli: core: only zero out the end of the package name if actually necessary
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-24 15:22:12 -08:00
Ariadne Conill
1cbe6de04f
cli: core: use last_argc everywhere instead of pkg_optind
...
This way the test runner does not use getopt_long.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-24 15:18:54 -08:00
Ariadne Conill
8459b05bbf
cli: refactor main for testing purposes
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-23 16:46:39 -08:00
Ariadne Conill
c7069a080b
cli: {bomtool,spdxtool}: chase pkgconf_client_init change
2025-12-23 16:35:11 -08:00
Ariadne Conill
f2b7af94e5
libpkgconf: client: add client_data pointer to client structure
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-23 16:03:49 -08:00
Ariadne Conill
41d320f679
cli: cleanups from output refactoring
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-23 15:01:32 -08:00
Ariadne Conill
6682bcb78d
cli: use pkgconf_output_putbuf for printing CFLAGS
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-23 14:58:05 -08:00
Ariadne Conill
62473d1481
libpkgconf: output: add pkgconf_output_putbuf
...
This copies a pkgconf_buffer_t to a pkgconf_output_t.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-23 14:57:44 -08:00
Ariadne Conill
53db712972
cli: use pkgconf_output_fmt in most places
...
This way the C testsuite will be able to capture output as appropriate.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-23 14:51:56 -08:00
Ariadne Conill
0a0e74ec2e
libpkgconf: output: fix length argument to fwrite
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-23 14:20:03 -08:00
Ariadne Conill
82e66bf096
libpkgconf: client: set the default output object in client init
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-23 14:10:48 -08:00
Ariadne Conill
5951b644bb
libpkgconf: client: add pkgconf_client_set_output
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-23 14:09:10 -08:00
Ariadne Conill
38151d1726
libpkgconf: output: add implementation
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-23 13:31:53 -08:00
Ariadne Conill
def161ad50
libpkgconf: buffer: add pkgconf_buffer_append_vfmt
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-23 13:31:40 -08:00
Ariadne Conill
cf246dba4f
build: add libpkgconf pkgconf_output files
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-23 13:31:40 -08:00
Ariadne Conill
232cbc0cc9
libpkgconf: add pkgconf_output API declarations
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-23 13:31:40 -08:00
Ariadne Conill
0c38d0afd6
libpkgconf: pkg: fix formatting of version matching truth table
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-23 10:33:05 -08:00
Ariadne Conill
be9f756e3d
cli: include synthesized virtuals (from provides) in --list-all and --list-package-names output
...
Closes: https://github.com/pkgconf/pkgconf/issues/435
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-23 10:29:13 -08:00
Ariadne Conill
d619fc6f10
github: update funding links for pkgconf
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-22 13:07:45 -08:00
Ariadne Conill
9378236fe3
pkg.m4: stop pointing people at freedesktop pkg-config
...
Freedesktop pkg-config is no longer maintained, the last commit was in 2021.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-22 12:38:55 -08:00
Ariadne Conill
213cccf9dc
libpkgconf: pkg: tolerate missing requires.internal dependency nodes if unnecessary
...
Requires.internal is intended to be a weaker version of requires.private,
where a dependency node does not need to be satisfied if link libraries are
not requested.
Closes: https://github.com/pkgconf/pkgconf/issues/434
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-21 13:32:20 -08:00
Ariadne Conill
0ed38cec79
libpkgconf: introduce PKGCONF_PKG_PKGF_REQUIRE_INTERNAL flag
...
Ref: https://github.com/pkgconf/pkgconf/issues/434
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-21 13:06:07 -08:00
Ariadne Conill
74bb9a2301
tests: add additional requires.internal tests
...
Ref: https://github.com/pkgconf/pkgconf/issues/434
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-21 12:57:06 -08:00
Ariadne Conill
ab3bddd80b
man/pc.5: add documentation for requires.internal
...
Ref: https://github.com/pkgconf/pkgconf/issues/318
Ref: https://github.com/pkgconf/pkgconf/issues/434
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-21 12:41:00 -08:00
Ariadne Conill
a32da62aa7
spdxtool: util: clean up strftime buffer usage
...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-20 23:46:04 -08:00
Ariadne Conill
36ac187ad5
spdxtool: util: manually specify ISO8601 format string elements instead of %F and %Z
...
These do not work on the Microsoft C runtime library.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-20 23:40:53 -08:00
Ariadne Conill
0fc3ba9d95
spdxtool: drop spdxtool_util_spdx_id_add
...
Not needed or used by anything.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-20 16:03:21 -08:00
Ariadne Conill
8f9161514b
libpkgconf: bsdstubs: use libpkgconf/stdinc.h
...
This saves us some more _WIN32 pain.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-20 15:37:29 -08:00
Ariadne Conill
c863ef3f82
libpkgconf: clean up _WIN32 include mess quite a bit
...
Ref: https://github.com/pkgconf/pkgconf/issues/406
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-20 15:25:17 -08:00
Ariadne Conill
530fc89d13
libpkgconf: tuple: use pc_sysrootdir variable consistently
...
In one case we were unconditionally using the value of PKG_CONFIG_SYSROOT_DIR
rather than checking the package-specific value. This caused issues where the
sysroot was prepended where it should not be.
Closes: https://github.com/pkgconf/pkgconf/issues/307
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-20 14:43:03 -08:00
Ariadne Conill
c8bfa9fee0
libpkgconf: pkg: do not override pc_sysrootdir when emulating pkgconf 1.x
...
In pkgconf 1.x, we unconditionally prepend PKG_CONFIG_SYSROOT_DIR if
it is not already present. Emulate this by not overriding pc_sysrootdir
in cases where the .pc file is outside the sysroot.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-20 14:43:03 -08:00
Ariadne Conill
dc0805a3ad
tests: sysroot: add test for sysroot deduplication
...
If ${pc_sysrootdir} is expanded in another variable, then it
may be included twice.
Ref: https://github.com/pkgconf/pkgconf/issues/307
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-20 14:43:03 -08:00
Ariadne Conill
9590e052bb
spdxtool: use SIZE_FMT_SPECIFIER in numeric URI generator
...
This resolves a compiler warning when building on Windows.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-20 13:44:38 -08:00
Ariadne Conill
b689fedcd9
spdxtool: fix isspace usage
...
ISO C expects parameters to ctype.h macros to be unsigned.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-20 13:32:42 -08:00
Ariadne Conill
0658ba7721
libpkgconf: pkg: add lint for duplicated dependency-list fields
...
Duplicating fields does not have consistent behavior across pkg-config
implementations, so we add a lint for it.
Ref: https://github.com/microsoft/vcpkg/issues/48837
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-20 01:52:49 -08:00
Ariadne Conill
008f963693
spdxtool: util: use a static counter instead of looping over possible IDs
...
Looping over possible IDs makes generating URIs an O(k) operation,
verses an O(1) operation.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-12-20 01:34:02 -08:00