William Pitcock
b7839f6bb7
libpkgconf: pkg: pkgconf_pkg_scan_dir: remove unnecessary static declaration of filebuf
2017-09-08 20:06:52 -05:00
William Pitcock
2681c29edd
libpkgconf: pkg: determine_prefix: use caller-provided buffer for reentrancy
2017-09-08 20:04:49 -05:00
William Pitcock
adae70445a
libpkgconf: pkg: get_default_pkgconfig_path: use caller-supplied buffer for reentrancy
2017-09-08 20:01:34 -05:00
William Pitcock
615bab3df9
libpkgconf: pkg: pkgconf_pkg_report_graph_error(): move already_sent_notice to pkgconf_client_t
2017-09-08 19:48:31 -05:00
William Pitcock
b0ef708efc
libpkgconf: pkg: pkg_get_parent_dir(): use caller-supplied buffer instead of a static buffer to make reentrant
2017-09-08 19:23:04 -05:00
William Pitcock
47ce9765a8
libpkgconf: define SIZE_FMT_SPECIFIER on POSIX and Windows platforms and use it in place of %zu
...
The MSVCRT runtime as used on Windows does not support %zu, but instead recommends %Iu. As we want
to remain portable to other runtimes, even on Windows, we do not use %Iu, but instead expand it logically
to either %lu or %llu depending on if it's _WIN32 or _WIN64 headers.
On POSIX, we assume C99 support is available and always use %zu, as pkgconf has never supported anything
earlier than C99 officially.
Closes #125 .
2017-09-08 18:46:48 -05:00
William Pitcock
864b14e5b9
Merge branch 'cmakeify' of github.com:dankegel/pkgconf
2017-06-16 21:06:01 -05:00
William Pitcock
03f7841065
libpkgconf: pkg: windows can use either \ or / as directory separators
...
ref #118
2017-06-16 15:27:23 -05:00
William Pitcock
d45e850130
Revert "pkg: use pkgconf_pkg_t.realname instead of pkgconf_pkg_t.id for injecting the default provides entry"
...
This reverts commit 0c22b4d8a1
.
2017-06-16 13:03:51 -05:00
William Pitcock
0c22b4d8a1
pkg: use pkgconf_pkg_t.realname instead of pkgconf_pkg_t.id for injecting the default provides entry
...
This issue was noticed while porting pkgconf to Windows.
ref #118
2017-06-16 11:49:54 -05:00
Dan Kegel
794aa5016a
Tidy up a bit.
2017-06-05 20:54:57 -07:00
Dan Kegel
4d7b4d7c8e
Minimal tweaks to compile with Visual C 2015
2017-06-04 19:19:55 -07:00
William Pitcock
d280060ed7
libpkgconf: pkg: add additional validation rules in post-parse phase
2017-05-19 23:37:57 -05:00
William Pitcock
0262b8251d
libpkgconf: pkgconf_pkg_find(): correctly handle failure from pkgconf_pkg_new_from_file()
2017-05-19 23:33:49 -05:00
William Pitcock
cf3c50ca78
libpkgconf: pkg: pkgconf_try_specific_path() and pkgconf_pkg_new_from_file() require a mutable client to release resources when encountering invalid packages
2017-05-19 23:21:58 -05:00
William Pitcock
acac1f8ed3
libpkgconf: pkg: show iteration depth when traversing
2017-03-24 00:59:53 -05:00
William Pitcock
81011ba522
main: implement --short-errors ( #115 )
2017-02-27 09:54:02 -06:00
William Pitcock
794443a92a
dependency: break API to add tracepoints to dependency list building
2017-02-25 16:04:55 -06:00
William Pitcock
e0c9569f14
fragment: add tracepoints
2017-02-25 15:53:50 -06:00
William Pitcock
b0c36cd128
libpkgconf: pkg: add some trace points
2017-02-04 20:35:49 -06:00
William Pitcock
820ad83edd
libpkgconf: pkg: add variable whitespace warnings back, using pkgconf_warn().
2017-02-04 19:05:28 -06:00
William Pitcock
1aa1a43321
Revert "libpkgconf: pkg: warn when encountering trailing whitespace"
...
This reverts commit 2fa4fd09d0
.
2017-01-26 13:38:57 -06:00
William Pitcock
2fa4fd09d0
libpkgconf: pkg: warn when encountering trailing whitespace
2017-01-26 13:32:07 -06:00
William Pitcock
ef1503b769
libpkgconf: strip trailing whitespace
2017-01-26 13:10:52 -06:00
William Pitcock
e87595b3d1
libpkgconf: use a better check instead of stat() for pkg-config file iteration, avoiding a TOCTOU race condition identified by coverity
2017-01-23 12:42:13 -06:00
William Pitcock
0927ecf1c6
Revert "Actually fix the regression introduced in 7b39c38"
...
This reverts commit 5e5c418837
.
2017-01-22 23:29:59 -06:00
William Pitcock
0c01a81299
libpkgconf: split virtual/static package state (this is API/ABI safe, static packages are always treated as virtual when it comes to mutation)
2017-01-22 23:26:01 -06:00
William Pitcock
9ece7cd487
libpkgconf: move sys/stat.h inclusion out of stdinc.h to the only other consumer of sys/stat.h
2017-01-22 23:09:38 -06:00
William Pitcock
e5f3dac6e7
libpkgconf: pkg: handle error value from stat(2).
2017-01-22 23:07:39 -06:00
Igor Gnatenko
5db87c9685
remove dead assignments ( #109 )
...
* remove dead assignments
None of them are used.
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
* The address of an object "&pkgconf_pkg_provides_vermatch_rules[pkgdep->compare]" is never null
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
* Overrunning array pkgconf_pkg_comparator_names at element index 7
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
2017-01-22 11:31:34 -08:00
Baptiste Daroussin
5e5c418837
Actually fix the regression introduced in 7b39c38
2017-01-22 11:26:43 +01:00
Baptiste Daroussin
17be554a21
Revert "Fix regression introduced in 7b39c38"
...
This reverts commit 7d89f659ff
.
2017-01-22 11:23:24 +01:00
Baptiste Daroussin
7d89f659ff
Fix regression introduced in 7b39c38
...
now pkgconf --variable=pc_path pkg-config works
2017-01-22 10:44:09 +01:00
William Pitcock
7237b811e7
add support for making paths relocatable ( closes #103 )
2017-01-20 00:58:48 -06:00
William Pitcock
13cf74c7a3
libpkgconf: kill flags from top-level fragment API (ref #105 )
2017-01-19 18:23:25 -06:00
William Pitcock
7b39c38408
libpkgconf: pkg: clean up use of flags variable (ref #105 )
2017-01-19 18:17:29 -06:00
William Pitcock
127fd037d4
libpkgconf: pkg: uncouple resolver flags from pkgconf_pkg_dir_list_build(). (ref #105 )
2017-01-19 17:35:57 -06:00
William Pitcock
b428eeaacf
libpkgconf: remove legacy check to ensure pkgconf_pkg_dir_list_build() is only called once.
...
this is not necessary anymore because:
- we do path entry deduplication
- it is possible that we want to prime the dir list with some user-specified paths prior to building it
2017-01-18 11:29:24 -06:00
William Pitcock
2305031573
libpkgconf: path: make the duplicate filtering opt-in. some path lists should not be deduped (compiler path lists, for example)
2016-12-30 11:13:04 -06:00
William Pitcock
61c750fde3
libpkgconf: pkg: cleanup and document pkg module
2016-12-15 23:36:59 -06:00
William Pitcock
32c8c73d8b
libpkgconf: pkg: pkgconf_pkg_find_in_registry_key() should actually be private
2016-12-15 22:57:15 -06:00
William Pitcock
568e5bfd1b
libpkgconf: client: move pkgconf_error() and pkgconf_default_error_handler() here
2016-12-15 22:33:01 -06:00
William Pitcock
82fa8b21cf
libpkgconf: separate config.h from the actual API headers
2016-12-13 12:14:08 -06:00
Graham Ollis
fa87608978
pass client and user data to error handler ( #100 )
2016-12-13 12:03:59 -06:00
William Pitcock
8213d91038
libpkgconf: migrate to using the pkgconf_ namespaced strlcat/strlcpy symbols
2016-12-10 16:19:40 -06:00
William Pitcock
eab112fb15
pkg: cleanups
2016-12-10 16:06:18 -06:00
William Pitcock
062f0fd331
libpkgconf: pkg: pkgconf_pkg_new_from_file() and children do not need the resolver flags anymore, so remove them
2016-12-09 21:40:19 -06:00
William Pitcock
a902203054
libpkgconf: fragment: simplify sysroot handling by using pkgconf_client_t.sysroot_dir presence
2016-12-09 21:36:59 -06:00
William Pitcock
011d8c77d6
libpkgconf: audit: migrate to pkgconf_client_t
2016-12-02 00:34:48 -06:00
William Pitcock
c05ecdfc9d
libpkgconf: migrate cache to pkgconf_client_t which unfortunately requires it to be non-const :(
2016-12-02 00:29:33 -06:00
William Pitcock
a300787cef
libpkgconf: do not implicitly build the dir list, instead explicitly do it
2016-12-01 15:17:23 -06:00
William Pitcock
ad731d1948
libpkgconf: make pkgconf_pkg_dir_list_build() public
2016-12-01 15:11:37 -06:00
William Pitcock
434c465ca9
libpkgconf: migrate pkgconf_error() to use client objects
2016-12-01 15:09:54 -06:00
William Pitcock
8740c5cd55
libpkgconf: begin removing global state from libpkgconf library by introducing a "client" object which holds the state
2016-12-01 15:05:03 -06:00
William Pitcock
4bb46e20e3
libpkgconf: add path matching and environment building functions
2016-11-30 22:36:35 -06:00
William Pitcock
f4da1082cb
libpkgconf: refactor some path operations
2016-11-30 22:15:13 -06:00
William Pitcock
6484dcb0c2
pkg: pkgconf_pkg_free(): be sure to free the Provides list
2016-09-16 09:59:41 -05:00
William Pitcock
b900e04628
pkg: add support for PKGCONF_CMP_NOT_EQUAL Provides rules, completing support of Provides rules ( closes #95 )
2016-09-10 01:51:19 -05:00
William Pitcock
4fcda862a4
pkg: make fuzzy Provides matching for PKG_CMP_NOT_EQUAL ops more correct
2016-09-09 14:34:38 -05:00
William Pitcock
892a03cd8c
pkg: fill in a lot of the fuzzy matching stuff (but some of it may be wrong, needs to be looked at)
2016-09-09 01:04:26 -05:00
William Pitcock
7c0264ac7a
pkg: implement rudementary support for fuzzy Provides matches
2016-09-09 00:17:46 -05:00
William Pitcock
c2c7e7488e
pkg: add a more flexible framework for multi-level compare required for fuzzy Provides rules.
2016-09-08 23:54:57 -05:00
William Pitcock
9783181cce
pkg: make pkgconf_vercmp_res_func_t more generic, allowing it to be used for Provides rules.
2016-09-08 23:23:15 -05:00
William Pitcock
d304d9cb2e
pkg: add support for 'simple' Provides rule entries ( #95 )
2016-09-08 22:10:24 -05:00
William Pitcock
bbe6dcc088
pkg: make pkgconf_scan_all() API more flexible to allow it to scan until it finds a qualifying pkgconf_pkg_t
2016-08-27 09:48:53 -05:00
William Pitcock
5ba46130d2
pkg: add anchor Provides entry once the .pc file is parsed, instead of faking it in the tool
2016-08-26 23:43:36 -05:00
William Pitcock
f9101659bc
pkg: add support for parsing Provides: entries
2016-08-26 12:14:32 -05:00
William Pitcock
d5d194f1db
pkg: clean up dependency comparison code
2016-08-26 10:54:37 -05:00
William Pitcock
4960242acb
pkg: make some compile-time defined tables const
2016-08-26 10:35:22 -05:00
William Pitcock
be4a002f1c
pkg: use bsearch(3) instead of a hardcoded tree of strcmp logic
2016-08-26 01:11:50 -05:00
William Pitcock
9e415ea151
libpkgconf: improve API to support any number of builtin packages
2016-08-26 00:26:30 -05:00
William Pitcock
45d422c484
libpkgconf: implement PKG_CONFIG_LOG style auditing ( closes #88 )
2016-07-10 15:20:31 -05:00
William Pitcock
a892af7464
pkg: tolerate NULL in pkgconf_compare_version() ( closes #85 )
2016-01-21 11:09:17 -05:00
Baptiste Daroussin
1fe91b914c
Do not parse the global variables
...
This fixes an incompatibility with pkg-confing 0.29
Found by Thomas Klausner <wiz@NetBSD.org> when building gupnp-igd-0.2.3
with introspection support
2015-12-08 00:02:14 +01:00
Baptiste Daroussin
7898b8297e
Correctly cast ctypes function input to unsigned int
...
This fixes issues found by building on NetBSD which is more pedantic
about thoses cases.
Reported by: Thomas Klausner (wiz at NetBSD)
2015-12-02 13:19:01 +01:00
William Pitcock
b904864619
libpkgconf: do something better than error_msgout for error logging
2015-09-06 12:01:12 -05:00
William Pitcock
06a45f1b62
libpkgconf: clean up PKG_ERRF and PKGF_ defines
2015-09-06 11:45:00 -05:00
William Pitcock
ec5cc3f068
libpkgconf: PKG_PROPF namespace becomes PKGCONF_PKG_PROPF.
2015-09-06 11:37:20 -05:00
William Pitcock
dd86ba43dd
libpkgconf: PKG_ comparators become PKGCONF_CMP_ namespace
2015-09-06 11:34:09 -05:00
William Pitcock
571d9c756c
libpkgconf: PKG_BUFSIZE becomes PKGCONF_BUFSIZE, remove unused PKG_MIN/PKG_MAX.
2015-09-06 11:29:56 -05:00
William Pitcock
ca1b02659a
libpkgconf: untangle remaining pkg_ functions related to pkgconf_pkg_t
2015-09-06 11:20:48 -05:00
William Pitcock
0d145ef85a
libpkgconf: pkg_compare_version() becomes pkgconf_compare_version(), same for pkg_scan_all()
2015-09-06 11:00:46 -05:00
William Pitcock
66247fae5f
libpkgconf: pkg_comparator_t becomes pkgconf_pkg_comparator_t (and so on)
2015-09-06 10:57:26 -05:00
William Pitcock
342950a5e4
libpkgconf: pkg_cache becomes pkgconf_cache
2015-09-06 10:50:23 -05:00
William Pitcock
b17f264032
libpkgconf: move some utility funcs into pkgconf_ namespace
2015-09-06 10:48:24 -05:00
William Pitcock
61d5fc72c8
libpkgconf: move pkg_fragment to pkgconf_fragment namespace
2015-09-06 10:44:10 -05:00
William Pitcock
4c71b25d5d
libpkgconf: move pkg_tuple to pkgconf_tuple namespace
2015-09-06 10:41:40 -05:00
William Pitcock
1ee18d0e69
libpkgconf: move pkg_dependency to pkgconf_dependency namespace
2015-09-06 10:38:30 -05:00
William Pitcock
cc2dcc1f5d
libpkgconf: move pkg_node and pkg_list to pkgconf_node and pkgconf_list namespaces
2015-09-06 10:31:21 -05:00
William Pitcock
a706b3dccc
initial libtoolization for libpkgconf
2015-09-06 09:35:08 -05:00