Commit Graph

1303 Commits (7025581da8721ca813e9260b572156751753e3c1)

Author SHA1 Message Date
Dylan Baker 7025581da8 cache: use pkgconf_dependency_free instead of just setting match = NULL
This also means that we don't need to call unref on the pkgs, they've
already been freed by the dependency_free code
2022-07-27 13:59:24 -07:00
Dylan Baker 21a645df00 queue: when flattening sets, unref dependencies that will not be re-added 2022-07-27 13:40:27 -07:00
Dylan Baker 798f2dac74 dependency: assert that there is never a negative number of references 2022-07-27 13:21:13 -07:00
Dylan Baker f809e0978e cache: when removing a pkg from the cache, unset the cached flag 2022-07-27 12:17:59 -07:00
Dylan Baker 2f5a2c56d4 dependency: add a reference to dependency when adding to graph
This makes internal uses more annoying, but fixes a potential bug in
libpkgconf where there are two pointers (one returned and on in the
graph), but only one refcount.
2022-07-27 11:59:12 -07:00
Dylan Baker 7cd86508a3 dependency: add refcount trace to dependency
This works like the pkg tracing, but for dependencies
2022-07-27 11:27:18 -07:00
Dylan Baker 283050cc42 pkg: assert a package being freed has 0 references 2022-07-26 15:19:15 -07:00
Dylan Baker 0f4f170ce2 pkg: make debug trace provide the name of the (un)refed package 2022-07-26 15:19:15 -07:00
Dylan Baker 94b6d96794 queue: unref pkg copy in flatten_dependency_set 2022-07-26 15:19:15 -07:00
Dylan Baker e9e7ebdbb6 cache: free allocated copy of cache_table in pkgconf_cache_free 2022-07-26 15:19:15 -07:00
Ariadne Conill 918b660992 woodpecker: track debian testing for autoconf 2.71 2022-07-26 18:15:50 +00:00
Ariadne Conill f93870efd9 tests: add testcase for legacy FDO rules plus pc_sysrootdir 2022-07-26 18:05:31 +00:00
Ariadne Conill 18e2406002 tests: add omg-sysroot-uninstalled fixture 2022-07-26 18:03:15 +00:00
Ariadne Conill 6c70781aad introduce PKG_CONFIG_PKGCONF1_SYSROOT_RULES for legacy pkgconf behavior 2022-07-26 18:00:22 +00:00
Ariadne Conill f8aefea7ec pkg: add flags argument to pkgconf_pkg_new_from_file 2022-07-26 17:13:15 +00:00
Ariadne Conill 297e18f2c8 tuple: add flags parameter to pkgconf_tuple_parse 2022-07-26 17:08:48 +00:00
Ariadne Conill d9ec3ee642 tests: add testcases for confirming desired sysroot behavior regarding -uninstalled packages 2022-07-26 16:46:39 +00:00
Ariadne Conill b0802cb3d1 Revert "pkgconf_pkg_parser_value_set(): fix code-path ordering bug."
This reverts commit 13fe4c8c58.
2022-06-26 19:41:31 +00:00
Ariadne Conill b602e33141 github actions: use debian testing 2022-06-26 19:39:09 +00:00
Ariadne Conill 72e429ae70 tuple: use ${pc_sysrootdir} instead of client->sysroot_dir where relevant 2022-06-26 19:35:19 +00:00
Ariadne Conill 7fa632a658 tests: sysroot: add additional tests 2022-06-26 19:34:54 +00:00
Ariadne Conill 9950312fde tests: add additional test fixtures 2022-06-26 19:34:39 +00:00
Ariadne Conill 19b1befb5d add additional sysroot testcase fixtures 2022-06-26 19:21:52 +00:00
Ariadne Conill a61193c723 pkg: fix sysroot_dir logic for github 213 2022-06-26 19:16:00 +00:00
Ariadne Conill d68a867dc0 tuple: fall back to using globals rather than preferring them 2022-06-26 19:15:07 +00:00
Ariadne Conill bc272e4e9f autoconf: run autoupdate 2022-06-26 18:58:08 +00:00
Ariadne Conill 623b8f7851 tests: further fixups 2022-06-26 18:56:36 +00:00
Ariadne Conill fdd7d192e0 queue: fix ISO C conformance for fallthrough label 2022-06-26 18:39:00 +00:00
Ariadne Conill 11164376f7 main: handle --personality load failure 2022-06-26 18:34:22 +00:00
Ariadne Conill ab352222a2 tests: fix up some test changes from the solver optimizations
the output of pkgconf is basically functionally equivalent in both cases
2022-06-26 18:22:04 +00:00
Ariadne Conill 04a6dda79f main: refactor apply_variable 2022-06-26 18:17:30 +00:00
Ariadne Conill a1a415111f queue: handle pkgconf_pkg_verify_dependency failure while flattening 2022-06-26 18:09:22 +00:00
Ariadne Conill 9bc6d80e61 queue: push new unresolved dependencies to the front of the queue, rather than the tail 2022-06-26 18:06:04 +00:00
Ariadne Conill fe4db3aad9 queue: skip dependency collection for root node 2022-06-26 18:04:42 +00:00
Ariadne Conill 5a82a259ac queue: use maxdepth after flattening 2022-06-26 15:17:08 +00:00
Ariadne Conill a416dc1fd6 queue: advance client serial when walking requires.private for flattening 2022-06-26 15:16:36 +00:00
Ariadne Conill 197fcadd4c queue: add flattening code 2022-06-26 15:02:37 +00:00
Ariadne Conill 5817e8848f pkg: track the number of hits a package has gotten while solving for dependencies 2022-06-26 07:22:56 +00:00
Ariadne Conill 6ae17bd0ef pkg: split pkgconf_pkg_traverse into a serial-modifying version 2022-06-26 06:05:40 +00:00
Ariadne Conill ffa0805d58 cache: use pkgconf_reallocarray stub 2022-06-26 04:38:02 +00:00
Ariadne Conill c1579d381c bsdstubs: add pkgconf_reallocarray 2022-06-26 04:37:18 +00:00
Ariadne Conill 4c76f6bf01 meson: check for reallocarray
it is needed for the new cache code
2022-06-26 04:33:47 +00:00
Ariadne Conill 664f741f26 autoconf: check for reallocarray
it is needed for the new cache code
2022-06-26 04:33:25 +00:00
Ariadne Conill 464672404e 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
2022-06-26 04:30:35 +00:00
Dylan Baker c0fa7879b2 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)
2022-06-26 03:12:34 +00:00
Dylan Baker 2d201af326 libpkgconf: Add a helper to zero `pkgconf_list_t`s 2022-06-26 03:12:34 +00:00
Ariadne Conill 21ffd343e1 CI: woodpecker: use matrix builds 2022-06-26 03:11:36 +00:00
Ariadne Conill a441455bf4 CI: add woodpecker config 2022-06-26 03:11:36 +00:00
Ariadne Conill cf48b61a59 stdinc: include strings.h on POSIX 2022-02-21 04:42:26 -06:00
Ariadne Conill 40131312ec meson: check for strdup, strcasecmp, strncasecmp 2022-02-21 04:41:08 -06:00