Log

Author Commit Date CI Message
Ariadne Conill 1a66d963 2022-08-08T00:44:23 pkgconf 1.9.1.
Ariadne Conill 8271ea19 2022-08-08T00:43:20 NEWS: update for pkgconf 1.9.1.
Ariadne Conill b29f9d87 2022-08-08T00:40:52 cli: do not flatten or traverse the graph when asking for module-specific values
Ariadne Conill 94b3f118 2022-08-08T00:37:07 tests: add regression test to catch --modversion regression introduced by new solver
Ariadne Conill d8d669f6 2022-08-07T04:47:04 pkgconf 1.9.0.
Ariadne Conill 23556ff8 2022-08-07T04:46:35 Bump libpkgconf SOVERSION for 1.9.0 changes.
Ariadne Conill da9b2cfb 2022-08-07T04:45:33 NEWS: note the SPDX license branch has been merged
Ariadne Conill b2579a66 2022-08-07T04:42:55 man: pc(5): document the License field
Ariadne Conill 666b5202 2022-08-07T04:40:31 tests: add tests for SPDX license assertions
Ariadne Conill d5f9bdae 2022-08-07T04:36:45 cli: add support for dumping SPDX expressions from modules
Ariadne Conill 0e05308f 2022-08-07T04:35:29 pkg: add SPDX license assertion to pkgconf builtin
Ariadne Conill 1389aa05 2022-08-07T04:21:22 pkg: add pkgconf_pkg_t.license field The pkgconf_pkg_t.license field maps to the new License keyword, and should be an SPDX license expression.
Ariadne Conill dce34e9a 2022-08-07T04:13:43 Update NEWS for pending 1.9.0 release
Ariadne Conill 9aa0006c 2022-08-07T01:35:12 tests: improve circular reference tests to make use of the circular reference diagnostic
Ariadne Conill 7edfdbff 2022-08-07T01:29:21 pkg: upgrade circular reference trace to a warning
Ariadne Conill 662668d0 2022-08-07T01:09:07 pkg: add trace log when breaking a circular reference
Eli Schwartz 59a56dfa 2022-07-03T11:13:33 trivial sync of pkg.m4 from freedesktop This contains 3 changes, mostly inconsequential: - fix some spelling issues in the comments https://gitlab.freedesktop.org/pkg-config/pkg-config/-/commit/eb866ade77d933c3237a5c9e2114ca65c3baa537 - bump the serial number; upstream rationale is very :shrug: but it is what it is: > There aren't any significant changes here, but this will cause aclocal > to get the latest version. https://gitlab.freedesktop.org/pkg-config/pkg-config/-/commit/677e9248753d31c4b7ceed7805ccdc3fc508e980 - make the status log for PKG_CHECK_MODULES say "checking for <mod>..." instead of "checking for <VAR>..." https://gitlab.freedesktop.org/pkg-config/pkg-config/-/commit/3b96e7434c6d3b86443782efde053fb2ae2f7fba There are additional whitespace-only changes that could be synced, and were explicitly synced in commit 95b683c864f89ba5d2f02b0bbf8b07e0ffcecbce but then undone in commit 360a818f2f2741a276f3acae6022b3d045e62f1f so rather than fighting over it, are simply ignored. Diffing against the freedesktop version of pkg.m4 will therefore show additional inconsistencies.
Ariadne Conill 56881f64 2022-08-07T00:38:38 cli: resolve uninitialized pointer warnings reported by GCC 12
Ariadne Conill b3107281 2022-08-04T23:36:15 Merge pull request 'Do a better job cleaning up memory' (#239) from dcbaker/pkgconf:free-memory into master Reviewed-on: https://gitea.treehouse.systems/ariadne/pkgconf/pulls/239
Dylan Baker 66090011 2022-08-03T16:08:00 queue: unref dependency in all cases
Dylan Baker e275594b 2022-08-03T15:56:54 queue: ensure cleanup happens when applying
Dylan Baker 4a1119aa 2022-08-03T15:43:04 dependency: Fix reference counting of dependency_addraw We only want a reference to be added for the value inserted into the list, not the one returned. The returned one is unowned until it reaches the public dependency_add function, which returns an owned pointer instead. This makes things semantically more correct. Unfortunately, this means in a few cases we have to write some ugly code like: ```c pkgconf_dependency_t *dep = pkgcond_dependency_add("args"); pkgconf_dependency_unref(dep->owner, dep); ```
Dylan Baker a4de6235 2022-08-03T15:29:57 cache: when removing a package from the cache unset the cached flag
Dylan Baker ebe74fd2 2022-08-03T15:24:05 cache: free the cache table when it is empty and set to NULL We do the latter for the benefit of libpkgconf. This cleans up a significant number of memory leaks in the cache handling.
Dylan Baker 179a0560 2022-07-27T14:22:54 ci: run meson test with the address sanitizer enabled Set the ASAN_OPTION so that the exitcode is not 1, this avoids asan returning the exitcode that the tests already expect from a normal pkgconf error
Dylan Baker 1cfa2d1e 2022-08-04T15:16:44 pkg: prevent circular ownership Otherwise in a case where A references B, and B references A, A and B will have mutual ownership of each other and prevent each other from being free'd.
Dylan Baker 301d8fa0 2022-08-04T12:22:49 queue: free unused dependencies when flattening
Dylan Baker 34b11020 2022-08-04T11:53:02 dependency: zero list after freeing
Dylan Baker e71a5a33 2022-08-04T11:52:26 dependency: add debug information for dependency refcounting
Dylan Baker 49342057 2022-08-04T11:50:50 pkg: add name of pkg being refed/unrefed to debug outpu
Dylan Baker a46ce367 2022-08-03T16:40:04 queue: when collecting dependents don't iterate private twice Currently, the private field is iterated collecting private deps and normal deps. It should only be iterated when collecting private deps.
Dylan Baker 4493a322 2022-08-03T16:37:04 main: do cleanup when checking required version
Dylan Baker a391f9b6 2022-08-03T16:32:35 pkg: use goto cleanup idiom
Dylan Baker 38103134 2022-08-03T16:30:59 main: goto cleanup in validate case too This fixes leaks in two tests
Dylan Baker 17173802 2022-08-03T16:27:42 cache: clear the cache with pkgconf_cache_remove Which results in more code re-use.
Dylan Baker e4d1c8ff 2022-08-03T16:22:14 queue: when flattening do nothing if the flattened deps are empty
Ariadne Conill d240afe7 2022-08-04T04:33:11 Merge pull request 'Fix macro definition interfering with -Wmisleading-indentation' (#241) from dcbaker/pkgconf:submit/misleading-indentation into master Reviewed-on: https://gitea.treehouse.systems/ariadne/pkgconf/pulls/241
Dylan Baker 125a13d3 2022-08-03T12:01:47 meson: add -Wmisleading-indentation A useful warning when loop and conditional statements are allowed without braces.
Dylan Baker 96c61cba 2022-08-03T12:00:21 libpkgconf: remove trailing ; from macro definition GCC has a lovely bug (which I will report as soon as I have an account), which causes -Wmisleading-indentation to miss cases of misleading indentation after a `;;`, since the macro adds `;`, and in call cases the caller also adds `;`, we end up with a double macro and gcc fails to warn.
Ariadne Conill a0428279 2022-08-02T23:09:24 Merge pull request 'meson cleanups and fixes' (#240) from dcbaker/pkgconf:submit/meson-cleanups into master Reviewed-on: https://gitea.treehouse.systems/ariadne/pkgconf/pulls/240
Dylan Baker dd779ad9 2022-07-29T10:53:32 meson: add check to run_command Because we really should be checking that it succeeds, and because not setting it is deprecated.
Dylan Baker c04097e4 2022-07-29T10:48:05 meson: pass configured files idiomatically Instead of attempting to figure out what the paths will be, take the returned file object and pass that around, meson will then automatically figure out the correct paths.
Dylan Baker 06fe2e23 2022-07-29T10:40:54 meson: use current_source_dir and current_build_dir instead of *_root The latter doesn't work correctly when being used as a subproject, as it returns the *absolute* root. So if pkgconf is being built as part of muon, then it will return muon's source root. current_source_dir, on the other hand returns the directory correctly whether being built as a subproject or superproject.
Dylan Baker 1f993bc0 2022-07-29T10:38:35 meson: use string methods to avoid repeating data Instead of writing `['HAVE_FOO_H', 'foo.h']`, use meson's string methods to just write `['foo.h']`, and let meson create `HAVE_FOO_H` for us.
Dylan Baker f947af05 2022-07-29T10:31:49 meson: use str.format for improved readability
Dylan Baker 5ba74dec 2022-07-29T10:28:27 meson: use straight indexing instead of array.get() It's more terse, and we don't need the support of a fallback value.
Dylan Baker bf307c1d 2022-07-29T10:26:26 ci: set meson to build with -Werror This will help catch any new warnings added in CI.
Dylan Baker 4a2c9c28 2022-07-28T16:01:52 meson: use C99 as the standard autoconf uses either C99 or Gnu99. Meson does not provide a graceful way to select gnu99 if possible or c99 (though there are several proposals currently happening to get there), so I've selected c99 as the conservative default. Without this, the compiler uses whatever it's default happens to be, which may or may not work out correctly, and hides bugs from CI that are present with c99 as the default.
Dylan Baker 40ec0859 2022-07-29T10:20:29 meson: add warning for implicit-function-declarations This would be triggered without the previous addition of -D_BSD_SOURCE for strdup, among others
Dylan Baker 71974d8c 2022-07-29T10:18:59 meson: Add _BSD_SOURCE and _DEFAULT_SOURCE To avoid warnings about string functions like strdup which are otherwise undefined, but succeed at linking anyway when the C standard is c99.
Ariadne Conill 918b6609 2022-07-26T18:15:50 woodpecker: track debian testing for autoconf 2.71
Ariadne Conill f93870ef 2022-07-26T18:05:31 tests: add testcase for legacy FDO rules plus pc_sysrootdir
Ariadne Conill 18e24060 2022-07-26T18:03:15 tests: add omg-sysroot-uninstalled fixture
Ariadne Conill 6c70781a 2022-07-26T18:00:22 introduce PKG_CONFIG_PKGCONF1_SYSROOT_RULES for legacy pkgconf behavior
Ariadne Conill f8aefea7 2022-07-26T17:13:15 pkg: add flags argument to pkgconf_pkg_new_from_file
Ariadne Conill 297e18f2 2022-07-26T17:08:48 tuple: add flags parameter to pkgconf_tuple_parse
Ariadne Conill d9ec3ee6 2022-07-26T16:45:30 tests: add testcases for confirming desired sysroot behavior regarding -uninstalled packages
Ariadne Conill b0802cb3 2022-06-26T19:41:31 Revert "pkgconf_pkg_parser_value_set(): fix code-path ordering bug." This reverts commit 13fe4c8c589be99b12db62b053c38124afecf2d7.
Ariadne Conill b602e331 2022-06-26T19:39:09 github actions: use debian testing
Ariadne Conill 72e429ae 2022-06-26T19:35:19 tuple: use ${pc_sysrootdir} instead of client->sysroot_dir where relevant
Ariadne Conill 7fa632a6 2022-06-26T19:34:54 tests: sysroot: add additional tests
Ariadne Conill 9950312f 2022-06-26T19:34:39 tests: add additional test fixtures
Ariadne Conill 19b1befb 2022-06-26T19:21:52 add additional sysroot testcase fixtures
Ariadne Conill a61193c7 2022-06-26T19:16:00 pkg: fix sysroot_dir logic for github 213
Ariadne Conill d68a867d 2022-06-26T19:15:07 tuple: fall back to using globals rather than preferring them
Ariadne Conill bc272e4e 2022-06-26T18:58:08 autoconf: run autoupdate
Ariadne Conill 623b8f78 2022-06-26T18:56:36 tests: further fixups
Ariadne Conill fdd7d192 2022-06-26T18:38:55 queue: fix ISO C conformance for fallthrough label
Ariadne Conill 11164376 2022-06-26T18:34:22 main: handle --personality load failure
Ariadne Conill ab352222 2022-06-26T18:22:04 tests: fix up some test changes from the solver optimizations the output of pkgconf is basically functionally equivalent in both cases
Ariadne Conill 04a6dda7 2022-06-26T18:17:30 main: refactor apply_variable
Ariadne Conill a1a41511 2022-06-26T18:09:22 queue: handle pkgconf_pkg_verify_dependency failure while flattening
Ariadne Conill 9bc6d80e 2022-06-26T18:06:04 queue: push new unresolved dependencies to the front of the queue, rather than the tail
Ariadne Conill fe4db3aa 2022-06-26T18:04:42 queue: skip dependency collection for root node
Ariadne Conill 5a82a259 2022-06-26T15:17:08 queue: use maxdepth after flattening
Ariadne Conill a416dc1f 2022-06-26T15:16:36 queue: advance client serial when walking requires.private for flattening
Ariadne Conill 197fcadd 2022-06-26T15:02:37 queue: add flattening code
Ariadne Conill 5817e884 2022-06-26T07:22:56 pkg: track the number of hits a package has gotten while solving for dependencies
Ariadne Conill 6ae17bd0 2022-06-26T06:05:40 pkg: split pkgconf_pkg_traverse into a serial-modifying version
Ariadne Conill ffa0805d 2022-06-26T04:38:02 cache: use pkgconf_reallocarray stub
Ariadne Conill c1579d38 2022-06-26T04:37:18 bsdstubs: add pkgconf_reallocarray
Ariadne Conill 4c76f6bf 2022-06-26T04:33:47 meson: check for reallocarray it is needed for the new cache code
Ariadne Conill 664f741f 2022-06-26T04:33:25 autoconf: check for reallocarray it is needed for the new cache code
Ariadne Conill 46467240 2022-06-26T04:30:35 cache: refactor to use a continguous table and bsearch cache functions are the hottest part of the pkgconf code when profiled, by removing the linked list for lookups, we can turn lookups into an O(k) operation
Dylan Baker c0fa7879 2022-04-01T14:15:43 libpkgconf: zero path lists after freeing This is required to make the pointer safely re-usable after being freed, otherwise the list still says that it has nodes, but they point nowhere. This is particularly important for libpkgconf, if a caller needs to re-enter the library after freeing a path in a static path (such as the default personality)
Dylan Baker 2d201af3 2022-04-01T14:14:54 libpkgconf: Add a helper to zero `pkgconf_list_t`s
Ariadne Conill 21ffd343 2021-12-01T19:30:42 CI: woodpecker: use matrix builds
Ariadne Conill a441455b 2021-12-01T19:16:46 CI: add woodpecker config
Ariadne Conill cf48b61a 2022-02-21T04:42:26 stdinc: include strings.h on POSIX
Ariadne Conill 40131312 2022-02-21T04:41:08 meson: check for strdup, strcasecmp, strncasecmp
Ariadne Conill cc4ccc14 2022-02-21T04:39:49 meson: use _BSD_SOURCE for checking for symbols
Ariadne Conill ac964d13 2022-02-21T04:27:20 Merge pull request #240 from Tachi107/readme-meson docs: mention Meson instead of CMake for Win build
Ariadne Conill 0995e499 2022-02-21T04:27:11 Merge branch 'master' into readme-meson
Ariadne Conill 820af53a 2022-02-21T04:25:48 Merge pull request #241 from Olf0/patch-1 Re-do MR #235, i.e. the vanished commit fe98e1b
Ariadne Conill a45dbccc 2022-02-21T04:25:36 Merge pull request #242 from data-man/dirent_latest Update dirent.h to latest
Ariadne Conill c6cfca67 2022-02-21T04:25:26 Merge pull request #245 from dcbaker/submit/remove-const libpkgconf: remove const modifier from error_handler data pointer
Ariadne Conill aaabc2cb 2022-02-21T04:25:14 Merge pull request #246 from dcbaker/submit/personality-deinit personality: use an unsigned to track initializations instead of a bool.
Dylan Baker c581e24a 2022-02-10T19:46:19 personality: use an unsigned to track initializations Instead of a bool. The latter will result in de-initing leaving the library unable to init again, which works out for the cli, but is problematic for other consumers (meson++ and muon). v2: - Add docs that the functions are not thread safe
Dylan Baker f5d6bb71 2022-02-04T16: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.
data-man b132ce83 2022-01-08T10:55:28 Update dirent.h to latest