Commit Graph

190 Commits (6d0a67536a718cb5855889f0d6fae59fbe949f51)

Author SHA1 Message Date
William Pitcock 6fc59ccc8d libpkgconf: cache: fix refcount issue exposed by recent depgraph solver changes 2017-12-08 13:40:58 -06:00
William Pitcock 08cf571dda libpkgconf: pkg: do not mention PKG_CONFIG_SKIP_CONFLICTS env var when simplified errors are requested (closes #134) 2017-12-05 18:05:38 -06:00
William Pitcock acc9e17d5c libpkgconf: fragment: remove obsolete code in pkgconf_fragment_should_munge() 2017-10-16 13:12:29 -05:00
William Pitcock ce30516200 libpkgconf: path: relocate the path before doing dedup checks (closes #151) 2017-10-16 13:11:52 -05:00
William Pitcock 95d62545d5 libpkgconf: path: ensure entire buffer is zeroed before calling realpath() on it (closes #150) 2017-10-16 13:11:43 -05:00
Baptiste Daroussin 54906bf903 libpkgconf: Fix issue when sysroot is '/'
If sysroot is /, simply do nothing.

This fixes #146
2017-10-16 13:11:38 -05:00
William Pitcock 58ffacccc1 libpkgconf: fragment: check pkgconf_argv_split() return value 2017-09-19 21:36:11 -05:00
William Pitcock 6e21b142e3 libpkgconf: fragment parsing: do not pass NULL to pkgconf_fragment_add() 2017-09-19 21:08:55 -05:00
William Pitcock 4fe96a8ccc libpkgconf: path: fix logic error in path relocation case when matching against a list (closes #129) 2017-09-08 18:27:50 -05:00
William Pitcock 623a67a916 tuple: check expanded variables to see if a sysroot has been duplicated, and if so, remove the prepended sysroot.
This allows compatibility between legacy pkg-config's broken sysroot implementation and pkgconf's sysroot
implementation, by removing any prepended sysroot paths and preferencing the variable expansion sysroot path
we typically do instead.

Closes github #123.
2017-07-16 17:55:05 -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
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 3c7f82a7fb fragment: also protect -nostdinc, -nostdlibinc, -nobuiltininc 2017-05-09 19:38:57 -05:00
William Pitcock 74eb74a3ef fragment: handle -include similarly to -isystem and -idirafter 2017-05-09 19:37:23 -05:00
William Pitcock 9fde4be1f3 fragment: also protect -ansi, -std=, -stdlib=, -pedantic, -trigraphs, -Wa, and -Wp fragments 2017-05-09 19:34:39 -05:00
William Pitcock c7a8e1e3b8 fragment: give -Wl fragments the same protection as -pthread 2017-05-09 19:30:02 -05:00
William Pitcock 90d52e6c2a fragment: add -pthread as a special fragment 2017-05-05 01:40:57 -05:00
William Pitcock 6e643aa432 libpkgconf: hopefully the last necessary tweak to quoting... 2017-03-29 18:00:57 -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 01fe5743ea fragment: add new option to control escaping shell arguments 2017-02-25 15:32:49 -06:00
William Pitcock ae42261c3f argvsplit: refactor splitting state machine 2017-02-25 15:04:08 -06:00
John Hein 9b255d465c If PKG_CONFIG_PATH element is a sym link, use the link destination instead of the link for inode caching checks.
See issue 112 & issue 110 (https://github.com/pkgconf/pkgconf/issues)
2017-02-24 23:26:41 -06:00
John Hein 76b8e0a26b Normalize the path to remove duplicate / separators rather than possibly altering the path with realpath(3). Leave sym links as is in path components. This is also cheaper than realpath(3), and works on platforms that don't have realpath(3).
Note: if this is accepted, the check for realpath in configure.ac
can be removed, and some docs that mention realpath will be adjusted.
2017-02-24 23:26:10 -06:00
William Pitcock d558e30ab3 libpkgconf: argvsplit: quoting logic was simplified too much 2017-02-07 10:25:38 -06:00
William Pitcock b0c36cd128 libpkgconf: pkg: add some trace points 2017-02-04 20:35:49 -06:00
William Pitcock 16ecf82fd7 libpkgconf: client: bring up the default trace handler as early as possible 2017-02-04 20:09:21 -06:00
William Pitcock f7f0bfc460 libpkgconf: cache: add trace points 2017-02-04 20:01:41 -06:00
William Pitcock 2b6bb5a252 libpkgconf: client: add trace points 2017-02-04 19:50:58 -06:00
William Pitcock d20efff495 libpkgconf: overhaul pkgconf_trace() a little 2017-02-04 19:49:59 -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 bef293080a libpkgconf: client: add trace logging too 2017-02-04 18:57:21 -06:00
William Pitcock a6755cd792 libpkgconf: client: add pkgconf_warn() 2017-02-04 18:46:53 -06:00
William Pitcock eb98a1e6c3 libpkgconf: client: clean up various aspects of error/warn handlers 2017-02-04 18:46:33 -06:00
William Pitcock d884dc46a2 libpkgconf: client: ensure error/warn handlers always have a sane default instead of actually NULL 2017-02-04 18:41:16 -06:00
William Pitcock c0b6a62c40 libpkgconf: client: add warn handler and getter/setter for both warn handler and error handler 2017-02-04 18:37:58 -06:00
William Pitcock 647c0255aa libpkgconf: add PKGCONF_PKG_PKGF_DONT_RELOCATE_PATHS (#110)
main: add PKG_CONFIG_DONT_RELOCATE_PATHS environment variable and --dont-relocate-paths option to disable path relocation
2017-02-03 13:17:21 -06:00
William Pitcock fe40bc33f8 libpkgconf: argvsplit: do not consider ' or " to be equivalent to \ (#111) 2017-02-03 12:53:50 -06:00
William Pitcock 42d65b14c7 libpkgconf: client: add INCLUDE environment to the cflags path filter list on windows 2017-02-01 13:03:06 -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 b06bbe75a4 libpkgconf: path: only enable cygwin path relocation backend for msys (ref #72) 2017-01-23 23:17:26 -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