Log

Author Commit Date CI Message
Ariadne Conill a6fb59a0 2023-09-02T21:15:46 pkgconf 2.0.3. Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Ariadne Conill 3f07015d 2023-09-03T04:18:26 add new test files to build system Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Ariadne Conill ee702658 2023-09-02T21:05:03 use PRIu64 format specifiers for some uint64 identifiers in trace logging Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Colin Gillespie 66994f15 2023-08-19T07: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>
Colin Gillespie 9cddd22b 2023-08-19T11:16:30 tests: add regression tests for --modversion Signed-off-by: Colin Gillespie <colin@cgillespie.xyz>
Ariadne Conill eaa4bb44 2023-08-17T11:56:08 pkgconf 2.0.2.
Ariadne Conill a265f8a4 2023-08-17T11:53:07 libpkgconf: pkg: fix long-standing bug where -uninstalled pkg-config files would have the wrong identifier
Ariadne Conill f0f28fa6 2023-08-17T11:50:00 tests: add regression test for --modversion with uninstalled pkg-config files
Ariadne Conill 6a84d704 2023-08-11T14:23:08 pkgconf 2.0.1. Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Ariadne Conill f49029c6 2023-08-11T14: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>
Ariadne Conill 4fb0988a 2023-08-11T14:16:41 libpkgconf: queue: make the pkgconf_queue_t type public Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Ariadne Conill 5ef2ab8c 2023-08-11T14:09:01 cli: add --verbose parameter Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Ariadne Conill 95086643 2023-08-11T13:48:02 cli: remove package count restriction from --modversion Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Ariadne Conill fe69ccc6 2023-08-11T13:41:20 Revert "main: explicitly error with --modversion and more than 1 package being queried" This reverts commit a97b75ab2c1d031982c35a4886102413e4ec8eee.
Ariadne Conill de51b03c 2023-08-04T08:45:16 pkgconf 2.0.0.
Ariadne Conill f3059010 2023-08-04T08:44:57 tests: regress: remove obsolete modversion test
Ariadne Conill a97b75ab 2023-08-04T08:38:48 main: explicitly error with --modversion and more than 1 package being queried
Ariadne Conill 384ade5f 2023-08-04T08:24:32 path: prepend paths rather than append paths when processing --with-path arguments
Ariadne Conill a4eb097b 2023-08-04T08:23:00 queue: process packages in the resolution queue in the correct order
Ariadne Conill 5d0e2f50 2023-08-04T08:19:42 Track packages using a lifetime unique identifier Use that identifier to cancel graph edges rather than the number of hits, which biases the earliest edge rather than the latest.
Ariadne Conill 437c2a32 2023-07-02T11:34:50 update release tarball location because dynadot is a shitty registrar
Ariadne Conill 094dc384 2023-05-02T12:10:54 pkgconf 1.9.5. Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Ariadne Conill 35b1a623 2023-05-02T12:09:55 update libpkgconf version to 10905 Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Ariadne Conill 83f412a1 2023-05-02T12:09:19 update NEWS for 1.9.5. Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Ariadne Conill 7bfc2289 2023-05-02T11:58:56 tests: add regression test for maximum package count off-by-one Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Ariadne Conill 1e179963 2023-05-02T11:58:39 Enforce maximum package count correctly for --modversion Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
Harmen Stoppels f7bebba6 2023-04-24T15:50:00 fix meson.build Co-authored-by: Ariadne Conill <ariadne@dereferenced.org>
Harmen Stoppels 434cb293 2023-04-24T15:49:33 use includes
Harmen Stoppels 40638f24 2023-04-24T15:18:59 use AC_CHECK_DECLS to avoid implicit function definition AC_CHECK_FUNCS is not safe, since implicit function definitions is just a warning. On 64-bit glibc systems where reallocarray is not defined or hidden behind macros that are not set, it gets implicitly defined to return an integer, which is a big problem given that it should return a pointer, and leads to immediate segfaults.
h30032433 b08733f4 2023-03-07T10:00:08 Fix the issue where tests/meson.build was deleted.
huyubiao 6d1f160e 2023-03-06T20:05:22 argvsplit: fix some quoting rules
Taylor R Campbell 212c8586 2023-03-17T19: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.
Andrej Shadura 78f3abc9 2023-01-22T11:51:04 doc: Regenerate the documentation for libpkgconf Signed-off-by: Andrej Shadura <andrew.shadura@collabora.co.uk>
Andrej Shadura 9ab5ea2e 2023-01-22T11:49:54 doc: personality: Add a documentation header Signed-off-by: Andrej Shadura <andrew.shadura@collabora.co.uk>
Andrej Shadura cfda825f 2023-01-22T11:48:57 doc: extract: Use "==" instead of "is" with literals This fixes: SyntaxWarning: "is" with a literal. Did you mean "=="? Signed-off-by: Andrej Shadura <andrew.shadura@collabora.co.uk>
Ariadne Conill 873e51aa 2023-01-22T04:56:44 pkgconf 1.9.4.
Ariadne Conill f7305434 2023-01-22T04:56:06 libpkgconf: bump API version to 10904
Ariadne Conill 93edd215 2023-01-22T04:52:25 update NEWS for 1.9.4
Ariadne Conill 49ab0b2a 2023-01-21T21:43:23 tests: fixup!
Ariadne Conill 98b33b48 2023-01-21T21:43:08 cli: use flattened solution for almost all user-facing queries
Ariadne Conill d9e507cc 2023-01-21T21:31:38 pkg: do not do serial checks for flattened solutions, as they are already flattened
Ariadne Conill 90b65c86 2023-01-21T21:31:16 main: use flattened solution for cflags/libs only
Ariadne Conill 1ce000f3 2023-01-21T20:59:22 Revert "pkg.m4: PKG_CHECK_MODULES provides modversion" This reverts commit 8d9d3de6eb8f0ffdbb859fce79cff89038e513c4.
Ariadne Conill 99bc93fb 2023-01-21T20:45:29 use SIZE_FMT_SPECIFIER everywhere
Ariadne Conill e2a12fd4 2023-01-21T20:39:53 main: reset solver when solving for library groups
Ariadne Conill 8f12d36b 2023-01-21T20:22:03 tests: fixup trailing whitespace in expected results
Ariadne Conill b106de0c 2023-01-21T20:21:26 cli: add whitespace between cflags and libs fragments
Ariadne Conill 648a2249 2023-01-21T20:17:33 fragment: render: only include trailing space if there is another fragment
Ariadne Conill dd741e72 2023-01-21T20:12:02 README: fix tests option to reflect meson changes
Timo Röhling 506ebab7 2022-09-30T15:33:47 Ignore whitespace indentation Fixes #265
Ariadne Conill be0d8119 2023-01-21T19:51:24 argvsplit: fix some quoting rules to match POSIX
Ariadne Conill 6a5b5574 2023-01-21T19:25:46 tests: fix test regressions caused by tilde changes
Doug Freed 131619ae 2022-10-12T21:49:22 doc: update libpkgconf-pkg docs to match
Doug Freed 08db74c4 2022-10-12T21:43:52 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.
Doug Freed eb5c6b49 2022-10-12T22:03:42 Fix Mingw GH CI broken by 179a056
Ziemowit Łąski 1c3f2461 2022-11-22T12:29:09 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
wi24rd 27287f32 2022-12-30T17:52:10 Update sum value of types of property.
Eli Schwartz 8f233383 2022-08-30T12:43:41 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.
Ariadne Conill 2f51733e 2023-01-20T22:11:00 tests: add regression test for billion-laughs
Ariadne Conill 628b2b2b 2023-01-20T22:07:03 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/
Ariadne Conill 3e481581 2023-01-20T22:01:38 add billion-laughs test fixture
Ariadne Conill 0226cdda 2022-08-20T13:27:45 Merge pull request 'meson: use a feature option for tests instead of boolean' (#244) from dcbaker/pkgconf:tests-feature into master Reviewed-on: https://gitea.treehouse.systems/ariadne/pkgconf/pulls/244
Dylan Baker fa803c7e 2022-08-17T11:05:55 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.
Ariadne Conill bddf1641 2022-08-16T20:41:10 bomtool: fix ASan issues
Ariadne Conill 8754bdfe 2022-08-16T19:50:26 pkgconf 1.9.3.
Ariadne Conill 6a66b312 2022-08-16T19:49:42 libpkgconf: increase API level to 10903
Ariadne Conill 4c38d3f6 2022-08-16T19:49:02 update NEWS for pkgconf 1.9.3
Ariadne Conill b7593aea 2022-08-16T19:48:44 build: automake: use top_srcdir as needed
Ariadne Conill dbd78db6 2022-08-16T19:42:13 tests: add regression test for github #259
Ariadne Conill 80bc5ac3 2022-08-16T19:38:40 tuple: if a global tuple is explicitly defined with --define-variable, prefer it fixes github #259
Ariadne Conill 5044491f 2022-08-16T19:27:35 queue: add function to free a compiled solution
Ariadne Conill c6d14e6f 2022-08-16T18:53:29 cli: renderer-msvc: remove pointless buf_remaining store
Ariadne Conill ced9bee6 2022-08-16T18:51:11 pkg: remove dead store in pkgconf_compare_version
Ariadne Conill 2c895411 2022-08-16T18:50:35 bomtool: return EXIT_FAILURE if solver fails to solve
Ariadne Conill 5500a151 2022-08-16T18:46:43 fragment: avoid trying to merge fragments where data == NULL
Ariadne Conill 74faf8d0 2022-08-16T18:38:46 queue: do not enqueue unsolved nodes as part of a solution
Ariadne Conill c918b6e2 2022-08-13T06:44:40 bomtool: enable PKGCONF_PKG_PKGF_SEARCH_PRIVATE to collect dev dependencies
Ariadne Conill 12f3a309 2022-08-13T06:44:19 bomtool: write dependency relationships in both directions
Ariadne Conill 01c1d9f4 2022-08-12T13:07:58 bomtool: remove empty creation date field
Ariadne Conill 9e8052b6 2022-08-12T12:57:53 bomtool: add enough to generate a basic SBOM
Ariadne Conill 696124b6 2022-08-12T12:36:21 pkg: add support for parsing the URL from pc files
Ariadne Conill 79327b89 2022-08-12T12:07:56 add bomtool skeleton
Ariadne Conill f3021a82 2022-08-12T11:59:11 libpkgconf.pc: add license
Ariadne Conill 194ad3e6 2022-08-11T16:01:30 man: pc.5: document copyright/maintainer fields
Ariadne Conill aa99ddf7 2022-08-11T15:52:33 pkg: add Copyright and Maintainer fields These are helpful pieces of information for BOM documents generated by pkgconf.
Ariadne Conill 68b5cab7 2022-08-11T15: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.
Ariadne Conill 78f00da1 2022-08-11T13:49:44 Merge pull request 'cli: use Requires.private when cflags are requested' (#243) from psykose/pkgconf:cflags-i into master Reviewed-on: https://gitea.treehouse.systems/ariadne/pkgconf/pulls/243
psykose 74600558 2022-08-11T13:47:32 cli: use Requires.private when cflags are requested
Ariadne Conill 28b5d57b 2022-08-08T10:25:24 pkg: free SPDX license tags when a package is destroyed
Ariadne Conill af9b26c1 2022-08-08T10:03:15 pkgconf 1.9.2.
Ariadne Conill c0d2d653 2022-08-08T10:01:57 NEWS for pkgconf 1.9.2.
Ariadne Conill 69a3d458 2022-08-08T09:59:50 libpkgconf: revise API revision to 10902
Ariadne Conill 7e9aa7e1 2022-08-08T09:56:28 pkg: do not break cycles across dependency lists
Ariadne Conill 4e449bd4 2022-08-08T09:42:01 cli: do not search requires.private for --libs unless --static
Ariadne Conill 69f630aa 2022-08-08T09:34:45 pkg: only advance serial if we are actually traversing from a root
Ariadne Conill 760d1eea 2022-08-08T09:27:39 cli: use pkgconf_queue_solve instead of pkgconf_queue_apply
Ariadne Conill 87645787 2022-08-08T09:26:22 tests: ignore stdout on regress:missing test
Ariadne Conill 5b10a85a 2022-08-08T09:08:27 queue: add pkgconf_queue_solve API
Ariadne Conill 884a8858 2022-08-08T08:56:53 tests: add testcase for requires.private debounce
Ariadne Conill 4e8f376c 2022-08-08T05:26:00 tests: add fixtures for github #258