Dylan Baker
62608dfe02
queue: don't flatten nothing
...
If after removing duplicates there are no deps to flatten, return early.
2022-08-02 11:51:59 -07:00
Dylan Baker
02710ffdef
cache: if the cache_table is NULL don't search it
2022-08-02 11:51:37 -07:00
Dylan Baker
9d82962160
fixup! cache: set the cache_table to NULL if empty
2022-08-02 11:51:29 -07:00
Dylan Baker
0c72b7cd41
ci: run meson test with the address sanitizer enabled
...
ci/woodpecker/pr/woodpecker Pipeline was successful
Details
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
2022-08-02 09:58:56 -07:00
Dylan Baker
c7b0f86815
cache: set the cache_table to NULL if empty
...
Instead of realloc'ing to a size of 0, set the cache_table to NULL when
removing the last element from it.
2022-08-02 09:58:56 -07:00
Dylan Baker
d23dc2c183
cache: don't try to remove packages from the cache if it's NULL
...
Otherwise we end up reallocing the cache_table, when we shouldn't
2022-08-02 09:58:56 -07:00
Dylan Baker
a620e62286
cache: unref the package when removing it from the cache
2022-08-02 09:58:56 -07:00
Dylan Baker
36acd2e409
queue: don't collect static dependencies unless that's what we're looking for
...
Currently the required_private field gets walked twice, once when the
main required field is walked, and a second time when it is walked
itself. This results in the requires_private field leaking memory.
2022-08-02 09:58:06 -07:00
Dylan Baker
7b3346206e
dependency: unref dependency parent if it's set
...
libpkgconf never sets this internally, but it is in the API and someone
could set it (or libpkgconf could in the future), so let's clean up
after ourselves.
2022-08-02 09:58:06 -07:00
Dylan Baker
75a5fe0757
queue: ensure pkgconf_queue_apply alies cleanesup the world set
2022-08-02 09:58:06 -07:00
Dylan Baker
09c224dd7d
main: cleanup after checking module versions
2022-07-27 14:21:15 -07:00
Dylan Baker
ee06ab42d2
main: cleanup when validating
...
This clears up a few memory leaks in tests
2022-07-27 14:14:46 -07:00
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
ci/woodpecker/push/woodpecker Pipeline was successful
Details
2022-07-26 18:15:50 +00:00
Ariadne Conill
f93870efd9
tests: add testcase for legacy FDO rules plus pc_sysrootdir
ci/woodpecker/push/woodpecker Pipeline was successful
Details
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."
...
ci/woodpecker/push/woodpecker Pipeline was successful
Details
This reverts commit 13fe4c8c58
.
2022-06-26 19:41:31 +00:00
Ariadne Conill
b602e33141
github actions: use debian testing
ci/woodpecker/push/woodpecker Pipeline was successful
Details
2022-06-26 19:39:09 +00:00
Ariadne Conill
72e429ae70
tuple: use ${pc_sysrootdir} instead of client->sysroot_dir where relevant
ci/woodpecker/push/woodpecker Pipeline was successful
Details
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
ci/woodpecker/push/woodpecker Pipeline was successful
Details
2022-06-26 19:21:52 +00:00
Ariadne Conill
a61193c723
pkg: fix sysroot_dir logic for github 213
ci/woodpecker/push/woodpecker Pipeline was successful
Details
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
ci/woodpecker/push/woodpecker Pipeline was successful
Details
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
ci/woodpecker/push/woodpecker Pipeline failed
Details
2022-06-26 18:39:00 +00:00
Ariadne Conill
11164376f7
main: handle --personality load failure
ci/woodpecker/push/woodpecker Pipeline failed
Details
2022-06-26 18:34:22 +00:00
Ariadne Conill
ab352222a2
tests: fix up some test changes from the solver optimizations
...
ci/woodpecker/push/woodpecker Pipeline failed
Details
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
ci/woodpecker/push/woodpecker Pipeline failed
Details
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
ci/woodpecker/push/woodpecker Pipeline failed
Details
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
ci/woodpecker/push/woodpecker Pipeline failed
Details
2022-06-26 07:22:56 +00:00