|
1d37e711
|
2025-03-07T16:37:15
|
|
pkgconf 2.4.3.
|
|
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>
|
|
c440e2da
|
2025-03-07T12:39:52
|
|
libpkgconf: fragment: properly group fragments together
Previously, fragment groupings could be overzealous.
Related: https://github.com/pkgconf/pkgconf/issues/385
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
4a62f612
|
2025-03-07T12:24:25
|
|
cli: add --fragment-tree visualization tool
Related: https://github.com/pkgconf/pkgconf/issues/385
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
5c9ee7ee
|
2025-03-07T10:48:21
|
|
pkgconf 2.4.2.
|
|
0df752a4
|
2025-03-07T10:17:31
|
|
build: restore bmake compatibility
$(filter-out) is a GNU make extension.
Related: https://github.com/pkgconf/pkgconf/issues/382
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
55558621
|
2025-03-07T10:05:41
|
|
libpkgconf: fragment: fix fragment length estimation
The switch from flat fragment lists to fragment trees made the fragment length
estimation more complicated. Originally, the code when migrated just probed the
length of child fragments directly, but this only works for fragment trees where
there is only one level of children.
In some cases, there may be more children at a lower depth that were not properly
accounted for in the length estimation, which led to truncated buffers being
generated.
Fixes: https://github.com/pkgconf/pkgconf/issues/383
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
948c9416
|
2025-03-07T09:48:27
|
|
tests: parser: add C comment parsing test
Related: https://github.com/pkgconf/pkgconf/issues/384
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
f3531f9f
|
2025-03-07T09:42:54
|
|
tests: add c-comment test fixture
Some pkg-config files apparently contain C comments, even though only normal
Unix # comments are supported in pkg-config files. Ugh.
So we now test for this explicitly and make sure pkgconf handles it
gracefully.
Related: https://github.com/pkgconf/pkgconf/issues/384
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
4ed28a7a
|
2025-03-07T09:41:18
|
|
libpkgconf: parser: reset read buffer when bailing early to read a new line
Otherwise the old line would not be removed from the buffer.
Related: https://github.com/pkgconf/pkgconf/issues/384
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
c8566a5e
|
2025-03-07T09:32:18
|
|
tests: parser: add truncation test
Related: https://github.com/pkgconf/pkgconf/issues/384
|
|
2d6bb53b
|
2025-03-07T09:28:21
|
|
tests: add truncated test fixture
Related: https://github.com/pkgconf/pkgconf/issues/384
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
bfc9ded5
|
2025-03-07T09:26:16
|
|
libpkgconf: fileio: stop considering an empty buffer as a read failure
This is to be expected with truncated and empty lines in .pc files anyway.
Related: https://github.com/pkgconf/pkgconf/issues/384
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
c0d188fb
|
2025-03-07T09:23:55
|
|
libpkgconf: parser: gracefully handle pkgconf_fgetline failures
With the move to dynamic buffering of pkg-config files, it is possible for
pkgconf_fgetline to leave the buffer in an unwritten state, where a buffer
will not be allocated.
We must gracefully handle this situation, so we bail early and re-enter the
loop to try reading the buffer again. If it fails again, then we finish
parsing the already read pkg-config data.
Related: https://github.com/pkgconf/pkgconf/issues/384
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
7e59a32a
|
2025-03-06T14:29:11
|
|
pkgconf 2.4.1.
|
|
8b3dd835
|
2025-03-06T14:25:23
|
|
libpkgconf: queue: always evaluate the entire dependency graph when solving
Some types of pkgconf queries may look at subsets of the entire DAG, but
we must consistently solve for the entire DAG so that each query has a
consistent view of the DAG.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
38053395
|
2025-03-05T17:03:55
|
|
pkgconf 2.4.0.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
866df023
|
2025-03-05T17:02:00
|
|
build: increase libpkgconf SOVERSION to 6
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
3611b056
|
2025-03-05T16:54:52
|
|
libpkgconf: pkg: consistently use pc_sysrootdir for path munging
In some cases, client.sysroot_dir would be used instead of the
package-specific override.
Fixes: https://github.com/pkgconf/pkgconf/pull/280
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
97072df5
|
2025-03-05T15:55:05
|
|
tests: add tests for validating fragment groups
Fixes: https://github.com/pkgconf/pkgconf/issues/371
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
b80ce00f
|
2025-03-05T15:50:38
|
|
tests: add additional fragment grouping fixtures
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
680a7c53
|
2025-03-05T15:47:29
|
|
libpkgconf: add placeholder flags fields to all public objects that lacked them
Since we are breaking ABI anyway, we may as well try to make the
ABI break more futureproof.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
1dc078f0
|
2025-03-05T15:39:26
|
|
libpkgconf: fragment: add padding bytes to length estimation for child fragments
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
4f78e449
|
2025-03-05T15:36:56
|
|
libpkgconf: fragment: track terminating fragments like -Wl,--end-group
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
6ec7df4d
|
2025-03-05T15:03:52
|
|
libpkgconf: fragment: plug memory leak when child fragments are present
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
543ab926
|
2025-03-05T15: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>
|
|
5fbabf14
|
2025-03-04T14:25:43
|
|
libpkgconf: fragment: add -nodefaultlibs to special flags list
Related: https://github.com/pkgconf/pkgconf/issues/371
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
97fbb4ff
|
2025-03-04T14:19:37
|
|
tests: add fixture for fragment groups
Related: https://github.com/pkgconf/pkgconf/issues/371
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
a6b12995
|
2025-02-18T16:35:00
|
|
tests: add regression test for --variable
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
ea0e6458
|
2025-02-18T16: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>
|
|
9d94f4d2
|
2025-02-18T16:23:45
|
|
meson: define kyua/atf-sh binary dependencies as native
They are used to run tests on the host.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
792e2c62
|
2025-02-04T17:00:30
|
|
libpkgconf: path: get rid of unused win32-specific variable
Windows builder was warning about this.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
e8dc0e20
|
2025-02-04T16:57:14
|
|
libpkgconf: parser: finalize the parsing buffer when done with it
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
5fe482b2
|
2025-02-04T16:49:18
|
|
libpkgconf: buffer: pkgconf_buffer_lastc should always be 0 on an empty buffer
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
88258bd9
|
2025-02-04T16:31:01
|
|
libpkgconf: buffer: round up buffer allocations to 4KB granules
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
f0aa4071
|
2025-02-03T05:33:53
|
|
cli: fix warning in solver state debug function
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
a4de2930
|
2025-02-03T05:31:40
|
|
libpkgconf: fileio: use bool for fgetline return type instead of a pointer
(we internally look at the raw buffer anyway)
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
68e8f720
|
2025-02-02T03:11:37
|
|
tests: add test for issue #370
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
f982cbda
|
2025-02-02T03:08:49
|
|
tests: add fixtures for issue #370
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
6f1055d0
|
2025-02-02T03:06:12
|
|
libpkgconf: queue: stop considering the lack of a pre-loaded match in a dependency node as a fatal error
This is a performance optimization, not an absolute source of truth.
We will evaluate the dependency node lazily in these cases anyway...
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
b861bcad
|
2025-02-02T02:58:58
|
|
cli: solution: denote private dependency nodes in the solution
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
a79952a0
|
2025-02-02T02:30:38
|
|
libpkgconf: queue: always walk requires.private lists internally
This ensures the internal dependency graph solution is always consistent.
We filter out the nodes we don't care about in cases where we need to filter
as of commit 86602bc, so now we can just simplify the solving a little bit.
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
86602bc1
|
2025-02-02T02:10:00
|
|
libpkgconf: pkg: skip over private dependency nodes when --static is not explicitly requested
Fixes: 197fcad ("queue: add flattening code")
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
d0f8f3f2
|
2025-02-02T01:33:06
|
|
libpkgconf: fileio: rework to use pkgconf_buffer, allowing larger than 64KB lines
Fixes: 130907d ("fileio: add routine for portably yanking lines out of a FILE stream")
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
83a2ae04
|
2025-02-02T01:30:54
|
|
libpkgconf: buffer: fix memory allocation logic, add push/trim byte functions
Fixes: 1001750 ("libpkgconf: add buffer management functions")
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
bd043cae
|
2025-02-02T00:31:54
|
|
libpkgconf: buffer: add PKGCONF_BUFFER_INITIALIZER
|
|
10017500
|
2024-12-09T19:49:50
|
|
libpkgconf: add buffer management functions
Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
|
|
5c535171
|
2024-12-09T19:26:05
|
|
Merge pull request #363 from SoapGentoo/pcfiledir_symlink
`${pcfiledir}` symlink resolving
|
|
3cd6b8c5
|
2024-12-09T19:25:47
|
|
Merge pull request #369 from jas4711/pkgm4-fix-fsf-license-and-serial
pkg.m4: Bump serial. Use URL instead of obsolete FSF postal address.
|
|
11236d44
|
2024-11-19T10:33:19
|
|
pkg.m4: Bump serial. Use URL instead of obsolete FSF postal address.
Signed-off-by: Simon Josefsson <simon@josefsson.org>
|
|
ff51052e
|
2024-10-09T19:06:06
|
|
add test for symlinked ${pcfiledir}
|
|
e6c1d4b8
|
2024-10-09T19:06:05
|
|
${pcfiledir} should point to parent dir of actual file, not symlink
* In situations where we have a real <path1>/foo.pc that uses ${pcfiledir} and
a symlink <path2>/foo.pc that points to <path1>/foo.pc, then ${pcfiledir}
should resolve to <path1> and not <path2>.
|
|
444846dd
|
2024-10-07T17:44:22
|
|
personality: drop want_default_pure on windows
We still retain want_default_static to satisfy the requirements of the PE/COFF
linking model.
Fixes: 008d7069 ("libpkgconf: personality: default: set want_default_static and want_default_pure to true on windows")
Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Closes: #364
|
|
8c479a83
|
2024-08-08T10:34:38
|
|
meson: add support for _DEFAULT_SOURCE
|
|
4697d636
|
2024-10-07T17: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
|
|
a88c0d96
|
2024-08-07T00:10:13
|
|
pkgconf 2.3.0.
|
|
0dde98fa
|
2024-08-06T23:44:43
|
|
meson: define __EXTENSIONS__ for Solaris
|
|
ba3c2bd4
|
2024-08-06T23:41:48
|
|
tests: add regression test for PKG_CONFIG_RELOCATE_PATHS=1
|
|
72082a4d
|
2024-08-06T23: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.
|
|
874d559e
|
2024-08-06T23:34:41
|
|
tests: add regression test for github issue #286
|
|
d2d01a10
|
2024-08-06T23:31:30
|
|
tests: add regression test fixture for github issue #286
|
|
9aaff514
|
2024-08-06T15:12:27
|
|
bomtool: only use query dependencies for deriving the SBOM document name
|
|
eb7c2385
|
2024-08-06T10:43:52
|
|
tests: add test for --variable with --env
|
|
0ca4e5d0
|
2024-08-06T10:42:18
|
|
cli: allow --env to work with --variable
|
|
2070c00d
|
2024-08-06T10:41:23
|
|
cli: stop processing requests after the --env handler runs
|
|
ef99b6c6
|
2024-08-06T10:10:02
|
|
tests: add test for --print-variables with --env
|
|
ca2a0689
|
2024-08-06T09:23:10
|
|
cli: add integration for --print-variables with --env
|
|
c8422361
|
2024-08-05T16:45:56
|
|
tests: add test for --libs with --env
|
|
d8cd27e2
|
2024-08-05T16:43:54
|
|
tests: add test for --exists-cflags with --env
|
|
22866eca
|
2024-08-05T16:42:05
|
|
cli: document --env in usage text
|
|
b24f3dfd
|
2024-08-05T16:39:51
|
|
cli: implement --exists-cflags support for --env
|
|
d5cd2a4f
|
2024-08-05T16:31:37
|
|
tests: add basic --exists-cflags test
|
|
f635f632
|
2024-08-05T16:29:52
|
|
cli: add module definitions before filter check
|
|
d76aa357
|
2024-08-05T14: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.
|
|
174db1a1
|
2024-08-05T14:27:13
|
|
fragment: add pkgconf_fragment_insert()
|
|
a6179c77
|
2024-08-05T13:42:49
|
|
queue: add PKGCONF_PKG_DEPF_QUERY to color solution nodes part of the original query
|
|
a276c0b4
|
2024-08-05T13:22:05
|
|
main: add --exists-cflags command-line option
|
|
93ae120d
|
2024-08-05T13:08:36
|
|
build (automake): add -I m4 to ACLOCAL_AMFLAGS
libtoolize was warning about this flag being missing.
|
|
8b7e2c4e
|
2024-07-03T04:58:06
|
|
Process character after operator
|
|
64ff8b03
|
2024-07-02T20:14:05
|
|
Test version expressions 'mod >=n'
|
|
633433b2
|
2024-05-16T21: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.
|
|
2d26db3a
|
2024-04-08T11:50:46
|
|
doc: Requires.private is used for header inclusion
Document that "pkgconf --cflags" inherits paths for including headers
from dependencies listed in Requires.private.
https://github.com/pkgconf/pkgconf/issues/300
https://github.com/pkgconf/pkgconf/issues/352
|
|
a8a492e2
|
2024-04-11T16:53:33
|
|
Fix typo in README.md
|
|
c583d49a
|
2021-08-26T20:03:44
|
|
pkg.m4: Abort by default if no pkgconf
Provide a second optional argument to PKG_PROG_PKG_CONFIG with an action to
take if no pkgconf is found, and default to aborting.
Too many configure scripts in the wild don't handle an empty PKG_CONFIG,
resulting in weird error messages through the run, which often confuse
users.
Authors wishing to fallback to other methods can either return to the old
behavior by specifying [:] as an action, or use [PKG_CONFIG=false] and call
pkg-config macros normally, handling the fallback as any other failure.
Users can override PKG_CONFIG in the command line so this should imply no
regression.
Closes: https://github.com/pkgconf/pkgconf/issues/350
Ref: https://gitlab.freedesktop.org/pkg-config/pkg-config/-/issues/69
Signed-off-by: Ismael Luceno <ismael@iodev.co.uk>
|
|
06120a87
|
2024-03-27T11:34:36
|
|
pkgconf 2.2.0
|
|
7a8532f8
|
2024-03-27T18:39:00
|
|
queue: remove no longer used root package reference when walking dependency graphs
|
|
a3d7ecb3
|
2024-03-27T11:31:48
|
|
Use libpkgconf.so.5 due to ABI changes
|
|
e2a8080c
|
2024-02-23T15:18:08
|
|
Reuse static solution for general solution
|
|
883b57df
|
2024-02-23T15:18:08
|
|
Cache packages from explicit file requests
|
|
194dde09
|
2024-02-23T15:18:08
|
|
Update expected test results
|
|
78d53ea0
|
2024-02-23T15: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.
|
|
4090ba3e
|
2024-02-23T15:18:08
|
|
Clarify tracing messages
|
|
5eb79f66
|
2024-02-08T21:37:35
|
|
Add tests for lib order
|
|
e7c9bdb3
|
2024-03-22T07:18:41
|
|
Don't print 'required by <VIRTUAL-PACKAGE>'
|
|
4e01010d
|
2024-03-16T15:19:57
|
|
Mark user input in error message
|
|
6219af9a
|
2024-03-21T23:07:11
|
|
Color private-reachable nodes gray
|
|
eaf1a2d8
|
2024-03-21T22:44:32
|
|
Resolve user request for digraph
|
|
d6753888
|
2024-03-18T08:37:17
|
|
Update test expected results
|
|
f95e8d44
|
2024-03-18T08:21:17
|
|
Print digraph for user request perspective
|
|
db63c8ee
|
2024-03-18T07:56:37
|
|
Show edges for flattened order
|