Commit Graph

1396 Commits (be0d811942f1752cf638173692c05095a35209eb)

Author SHA1 Message Date
Ariadne Conill be0d811942 argvsplit: fix some quoting rules to match POSIX 2023-01-21 19:51:24 +00:00
Ariadne Conill 6a5b55740d tests: fix test regressions caused by tilde changes 2023-01-21 19:25:46 +00:00
Doug Freed 131619ae4b doc: update libpkgconf-pkg docs to match 2023-01-20 22:21:31 +00:00
Doug Freed 08db74c474 pkg: make pkgconf_compare_version consistent
The code taken from rpmvercmp in pkg-config returns -1 if a is less than
b, 0 if a is equal to b, and 1 if a is greater than b. This matches the
expectations of the comparison operators that use this function.
However, the tilde handling, the NULL handling, and the docstring all do
the opposite.

This fixes the tilde handling, the NULL handling, and the docstring to
match the behavior of the rpmvercmp code and the expectations of the
comparison operators.
2023-01-20 22:21:31 +00:00
Doug Freed eb5c6b49d6 Fix Mingw GH CI broken by 179a056 2023-01-20 22:19:13 +00:00
Ziemowit Łąski 1c3f246198 pkgconf: Handle spaces correctly when expanding variables
Given the following .pc fragment:

includedir=/mingw64/include
Cflags: -I${includedir} -I${includedir}/taglib

Should includedir be assigned the value 'C:/Program\ Files/Git/mingw64/include', the expansion of ${includedir} will be chopped off after the first space:

Cflags: -IC:/Program\

With this patch, the expansion is corrected:

Cflags: -IC:/Program\ Files/Git/mingw64/include -IC:/Program\ Files/Git/mingw64/include/taglib

Create spaces-in-paths.pc
2023-01-20 22:18:26 +00:00
wi24rd 27287f323d Update sum value of types of property. 2023-01-20 22:17:33 +00:00
Eli Schwartz 8f233383cd meson: remove useless command that isn't needed
The tests/*.sh are executable in the source tree, and don't need to be
chmodded after being copied to the build tree.
2023-01-20 22:13:21 +00:00
Ariadne Conill 2f51733e34 tests: add regression test for billion-laughs 2023-01-20 22:11:00 +00:00
Ariadne Conill 628b2b2baf tuple: test for, and stop string processing, on truncation
otherwise a buffer overflow occurs.
this has been a bug in pkgconf since the beginning, it seems.
instead of disclosing the bug correctly, a "hotshot" developer
decided to blog about it instead.  sigh.

https://nullprogram.com/blog/2023/01/18/
2023-01-20 22:07:03 +00:00
Ariadne Conill 3e481581ba add billion-laughs test fixture 2023-01-20 22:01:38 +00:00
Ariadne Conill 0226cdda6d Merge pull request 'meson: use a feature option for tests instead of boolean' (#244) from dcbaker/pkgconf:tests-feature into master
Reviewed-on: ariadne/pkgconf#244
2022-08-20 13:27:45 +00:00
Dylan Baker fa803c7ecd meson: use a feature option for tests instead of boolean
This allows tests to be autodetected gracefully, which is particularly
convenient for kyua and atf_sh which are fairly painful to build and
install by hand. Those who want to ensure tests are enabled or disabled
may pass `-Dtests=enabled` or `-Dtests=disabled` respectively.

This does require a modest bump in the required meson version to 0.49,
which was released at the end of 2018, so roughly 4 years ago.
2022-08-17 11:07:44 -07:00
Ariadne Conill bddf1641f8 bomtool: fix ASan issues 2022-08-16 20:41:10 +00:00
Ariadne Conill 8754bdfe09 pkgconf 1.9.3. 2022-08-16 19:50:26 +00:00
Ariadne Conill 6a66b312b4 libpkgconf: increase API level to 10903 2022-08-16 19:49:42 +00:00
Ariadne Conill 4c38d3f60c update NEWS for pkgconf 1.9.3 2022-08-16 19:49:02 +00:00
Ariadne Conill b7593aea27 build: automake: use top_srcdir as needed 2022-08-16 19:48:44 +00:00
Ariadne Conill dbd78db67f tests: add regression test for github #259 2022-08-16 19:42:13 +00:00
Ariadne Conill 80bc5ac3b9 tuple: if a global tuple is explicitly defined with --define-variable, prefer it
fixes github #259
2022-08-16 19:39:05 +00:00
Ariadne Conill 5044491f43 queue: add function to free a compiled solution 2022-08-16 19:27:35 +00:00
Ariadne Conill c6d14e6fa1 cli: renderer-msvc: remove pointless buf_remaining store 2022-08-16 18:53:29 +00:00
Ariadne Conill ced9bee613 pkg: remove dead store in pkgconf_compare_version 2022-08-16 18:51:11 +00:00
Ariadne Conill 2c89541101 bomtool: return EXIT_FAILURE if solver fails to solve 2022-08-16 18:50:35 +00:00
Ariadne Conill 5500a15133 fragment: avoid trying to merge fragments where data == NULL 2022-08-16 18:46:43 +00:00
Ariadne Conill 74faf8d0e2 queue: do not enqueue unsolved nodes as part of a solution 2022-08-16 18:38:46 +00:00
Ariadne Conill c918b6e225 bomtool: enable PKGCONF_PKG_PKGF_SEARCH_PRIVATE to collect dev dependencies 2022-08-13 06:44:40 +00:00
Ariadne Conill 12f3a30980 bomtool: write dependency relationships in both directions 2022-08-13 06:44:19 +00:00
Ariadne Conill 01c1d9f4cc bomtool: remove empty creation date field 2022-08-12 13:07:58 +00:00
Ariadne Conill 9e8052b699 bomtool: add enough to generate a basic SBOM 2022-08-12 12:57:53 +00:00
Ariadne Conill 696124b608 pkg: add support for parsing the URL from pc files 2022-08-12 12:36:21 +00:00
Ariadne Conill 79327b8967 add bomtool skeleton 2022-08-12 12:07:56 +00:00
Ariadne Conill f3021a82c5 libpkgconf.pc: add license 2022-08-12 11:59:11 +00:00
Ariadne Conill 194ad3e656 man: pc.5: document copyright/maintainer fields 2022-08-11 16:01:30 +00:00
Ariadne Conill aa99ddf789 pkg: add Copyright and Maintainer fields
These are helpful pieces of information for BOM documents
generated by pkgconf.
2022-08-11 15:52:33 +00:00
Ariadne Conill 68b5cab72d 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.
2022-08-11 15:06:08 +00:00
Ariadne Conill 78f00da130 Merge pull request 'cli: use Requires.private when cflags are requested' (#243) from psykose/pkgconf:cflags-i into master
Reviewed-on: ariadne/pkgconf#243
2022-08-11 13:49:44 +00:00
psykose 746005582f
cli: use Requires.private when cflags are requested 2022-08-11 15:47:32 +02:00
Ariadne Conill 28b5d57b98 pkg: free SPDX license tags when a package is destroyed 2022-08-08 10:25:24 +00:00
Ariadne Conill af9b26c15c pkgconf 1.9.2. 2022-08-08 10:03:15 +00:00
Ariadne Conill c0d2d65347 NEWS for pkgconf 1.9.2. 2022-08-08 10:02:56 +00:00
Ariadne Conill 69a3d458ef libpkgconf: revise API revision to 10902 2022-08-08 09:59:50 +00:00
Ariadne Conill 7e9aa7e1fc pkg: do not break cycles across dependency lists 2022-08-08 09:56:28 +00:00
Ariadne Conill 4e449bd45f cli: do not search requires.private for --libs unless --static 2022-08-08 09:42:01 +00:00
Ariadne Conill 69f630aadc pkg: only advance serial if we are actually traversing from a root 2022-08-08 09:34:45 +00:00
Ariadne Conill 760d1eea10 cli: use pkgconf_queue_solve instead of pkgconf_queue_apply 2022-08-08 09:27:39 +00:00
Ariadne Conill 8764578719 tests: ignore stdout on regress:missing test 2022-08-08 09:26:22 +00:00
Ariadne Conill 5b10a85a82 queue: add pkgconf_queue_solve API 2022-08-08 09:08:27 +00:00
Ariadne Conill 884a88583b tests: add testcase for requires.private debounce 2022-08-08 08:56:53 +00:00
Ariadne Conill 4e8f376c5d tests: add fixtures for github #258 2022-08-08 05:26:00 +00:00