William Pitcock
4d027a4366
pkg: fix out-of-boundary write caused by realloc() semantics
2012-05-06 20:59:03 -05:00
William Pitcock
29ca5b7eee
pkg: free packages constructed while walking the dependency graph
2012-05-06 20:39:26 -05:00
William Pitcock
d99f3db88e
pkg: make pkg-config builtin package "virtual"
2012-05-06 20:39:10 -05:00
William Pitcock
4172dc545f
pkg: don't free builtin (virtual) packages
2012-05-06 20:38:48 -05:00
William Pitcock
3eb16dca0f
pkg: add pkg_free()
2012-05-06 20:30:50 -05:00
William Pitcock
24265bb18e
pkg: add PKGF_NO_UNINSTALLED resolver flag
2012-05-06 19:49:15 -05:00
William Pitcock
ed126f5b5b
pkg: add support for PKG_CONFIG_LIBDIR env variable
2012-05-06 19:44:22 -05:00
William Pitcock
44ef839175
pkg: reset iter to 0 when checking system compiled-in paths
2012-05-06 01:02:57 -05:00
William Pitcock
a078249a60
pkg: add support for treating package names as files
2012-05-06 00:12:27 -05:00
William Pitcock
65d4b88dbc
pkg: add support for foo-uninstalled.pc file
2012-05-05 23:00:20 -05:00
William Pitcock
1bf5da3ba4
pkg: implement pkg-config.pc as a builtin
2012-05-05 22:00:47 -05:00
William Pitcock
4adb0b5dc6
pkg: clean up pkg_traverse() logic
2012-05-05 20:52:17 -05:00
William Pitcock
83ba295077
pkg: add support for compiling in more than one default pkg-config search path
...
Some packages install to /usr/share/pkgconfig instead of /usr/lib/pkgconfig.
2012-05-05 20:24:45 -05:00
William Pitcock
7f7ad67bb2
pkg: fix off-by-one when parsing PKG_CONFIG_PATH data
2012-05-05 20:21:47 -05:00
William Pitcock
49a5eddad1
pkg: add pkg_report_graph_error() for describing breaks in the dependency graph.
...
Fixes issue #3 .
2012-05-03 17:55:06 +00:00
William Pitcock
91ec341a92
pkg: pkg_verify_dependency(): add return error flags pointer.
...
presently, three error flags are defined:
PKG_ERRF_OK: everything went fine (no error)
PKG_ERRF_PACKAGE_NOT_FOUND: a graph node couldn't be verified because there was no
database entry for it
PKG_ERRF_PACKAGE_VER_MISMATCH: a graph node couldn't be verified because the entry
in the database did not match versioning constraints
2012-05-03 17:42:04 +00:00
William Pitcock
1caa0dca87
pkg: pkg_walk_list() does not need a reference to the parent node in the graph
2012-05-03 17:20:39 +00:00
William Pitcock
ccda6b3752
everywhere: warning cleanups
2012-05-03 17:15:45 +00:00
William Pitcock
3f758a8bae
pkg: pkg_verify_graph() should also accept resolver flags
2012-05-02 23:29:35 +00:00
William Pitcock
e59b9864ea
pkg: implement resolver-side support for some pkg-config clone's --env-only option
2012-05-02 23:16:32 +00:00
William Pitcock
187b4e538f
pkg: add resolver flags to pkg_find() and pkg_verify_dependency().
2012-05-02 23:14:53 +00:00
William Pitcock
38f3dc78a9
pkg: if PKGF_SEARCH_PRIVATE is requested, search root::requires_private graph entries too
2012-05-02 21:47:02 +00:00
William Pitcock
5ea52d4cae
pkg: add flags option to pkg_traverse() to optionally control what the depgraph traversal code does
2012-05-02 21:44:58 +00:00
William Pitcock
656b34fb45
pkg: plug some minor memory leaks
2012-05-02 19:35:45 +00:00
William Pitcock
77703f1841
pkg: path_split(): clarify that we want to dereference parv itself, not parv[idx].
2012-05-02 19:31:30 +00:00
William Pitcock
ca4843822f
pkg: use PKG_CONFIG_EXT everywhere
2012-05-02 19:11:20 +00:00
William Pitcock
52433aa27a
pkg: clean up PKG_CONFIG_PATH_SEP_S nonsense
2012-05-02 19:07:38 +00:00
William Pitcock
b91bdcd31a
pkg: use path_split() instead of a static buffer.
2012-05-02 19:06:32 +00:00
William Pitcock
538317f6c5
pkg: add path_split() helper function
2012-05-02 18:38:31 +00:00
Michał Górny
3707ccd221
Fix PKG_CONFIG_PATH precedence, simplify.
...
PKG_CONFIG_PATH paths must take precedence over the default path.
Otherwise, we would be unable to override default .pc files.
And while I'm at it, simplify the whole code. It is pointless to
introduce another buffer and a lot of string mangling for one additional
path.
2012-05-02 16:02:05 +02:00
Michał Górny
0e0bf1b0fb
Omit empty paths in file lookup.
...
This avoids looking for '/foo.pc'.
2012-05-02 11:45:31 +02:00
Michał Górny
218b3ccd25
Remove unnecessary buffer zeroing.
...
We always replace that current pos with a null terminator, so it doesn't
matter what follows it.
2012-05-02 11:42:52 +02:00
Michał Górny
f26001c3f8
File lookup: wind in last occurence to the loop.
...
Instead of repeating the parsing stage after reaching the null
terminator, just handle it inside the loop and terminate the loop
afterwards.
2012-05-02 11:40:38 +02:00
Michał Górny
353ba1eafe
Use ';' as path separator on win32.
...
This is what pkg-config does, and it is necessary because ':' is part of
path specification on win32.
2012-05-02 11:24:58 +02:00
William Pitcock
2d738c2c40
pkg: make PKG_CONFIG_PATH parsing more robust
2012-05-01 01:27:19 +00:00
William Pitcock
3b154d8a5a
everywhere: use strlcpy and strlcat where appropriate
2012-04-30 06:06:13 +00:00
Mike Frysinger
4e4c1d628a
fix handling of length with strncat
...
The length arg in the strncat func represents the max number of bytes
that may be appended, but the total length of the buffer. So we have
to subtract the length of bytes already in there.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-30 05:24:10 +00:00
William Pitcock
1e93bac383
pkg: handle PKG_DEFAULT_PATH and PKG_CONFIG_PATH envvar more cleanly
2012-02-17 15:35:23 -06:00
Alyx
d0639b3353
Make pkg_find() follow the PKG_CONFIG_PATH environmental variable, if available.
2012-01-15 19:03:54 -06:00
William Pitcock
b0c16941ce
pkg: add pkg_t.id field
2011-07-26 20:37:01 -05:00
William Pitcock
8543f1bdd4
pkg: document pkg_traverse()
2011-07-26 20:15:44 -05:00
William Pitcock
648c39cf8e
pkg: add pkg_get_comparator()
2011-07-26 19:59:46 -05:00
William Pitcock
774ebc9716
pkg: pkg_verify_dependency() was calling pkg_compare_version() in reverse order
2011-07-26 19:52:44 -05:00
William Pitcock
f8638cdb68
pkg: add pkg_verify_dependency()
2011-07-26 12:17:45 -05:00
William Pitcock
a872c7254b
pkg: fix up pkg_compare_version()
2011-07-26 12:05:14 -05:00
William Pitcock
7e26842094
pkg: add pkg_compare_version()
2011-07-26 11:56:59 -05:00
William Pitcock
8100eb84f0
pkg: add pkg_verify_graph() to verify the depgraph is satisfiable
2011-07-25 17:44:05 -05:00
William Pitcock
3d502159e6
pkg: use exact same error message as pkg-config when dependency is unresolvable
2011-07-25 17:03:06 -05:00
William Pitcock
4fe2dc1b96
pkg: croak if dependency tree is incomplete
2011-07-25 01:26:05 -05:00
William Pitcock
05d596b9bc
pkg: implement maximum depth for pkg_traverse()
2011-07-25 01:22:04 -05:00
William Pitcock
a3f2a47136
pkg: handle node::package being crap
2011-07-25 01:03:13 -05:00
William Pitcock
4603ceb885
main: split out to main.c, make pretty printers hidden
2011-07-24 23:46:10 -05:00
William Pitcock
37d87b9006
pkg: do not print cflags or libs if they are NULL
2011-07-24 23:43:00 -05:00
William Pitcock
b44ce20d29
pkg: add pkg_traverse() to walk the dependency graph
2011-07-24 23:39:15 -05:00
William Pitcock
3f9cedf532
pkgconf stub: walk the dependency tree
2011-07-24 23:20:22 -05:00
William Pitcock
61c246d27e
Initial commit.
2011-07-24 21:03:17 -05:00