Commit Graph

143 Commits (ebb62efbcaa31f2689bcf157ad77b4b4f8e52872)

Author SHA1 Message Date
William Pitcock f5336fc409 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:22:00 -06:00
William Pitcock 22db6891dd libpkgconf: argvsplit: do not consider ' or " to be equivalent to \ (#111) 2017-02-03 13:01:07 -06:00
William Pitcock 1d299f52bb libpkgconf: strip trailing whitespace 2017-01-26 13:11:58 -06:00
William Pitcock 57c52b5ea2 libpkgconf: path: only enable cygwin path relocation backend for msys (ref #72) 2017-01-23 23:17:58 -06:00
William Pitcock 0c4fec6a83 libpkgconf: use a better check instead of stat() for pkg-config file iteration, avoiding a TOCTOU race condition identified by coverity 2017-01-23 13:18:20 -06:00
William Pitcock b9a80e6780 libpkgconf: iter: check list->tail for null, not list->head 2017-01-23 00:24:37 -06:00
William Pitcock 725df9ce23 Revert "Actually fix the regression introduced in 7b39c38"
This reverts commit 5e5c418837.
2017-01-22 23:52:10 -06:00
William Pitcock f9eb858ce4 libpkgconf: queue: chase API change (mark static root virtual packages as static) 2017-01-22 23:52:03 -06:00
William Pitcock 7e02604500 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:51:55 -06:00
William Pitcock 4ea31dc692 libpkgconf: move sys/stat.h inclusion out of stdinc.h to the only other consumer of sys/stat.h 2017-01-22 23:11:15 -06:00
William Pitcock 6f8e414016 libpkgconf: pkg: handle error value from stat(2). 2017-01-22 23:11:09 -06:00
William Pitcock 142a74858f libpkgconf: argvsplit: make escape handling more explicit 2017-01-22 23:11:00 -06:00
Igor Gnatenko e4f47af194 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 22:59:56 -06:00
Baptiste Daroussin 7556285d49 Actually fix the regression introduced in 7b39c38 2017-01-22 22:59:36 -06:00
William Pitcock 7237b811e7 add support for making paths relocatable (closes #103) 2017-01-20 00:58:48 -06:00
William Pitcock ced4f00363 libpkgconf: client: add pkgconf_client_[get|set]_prefix_varname() 2017-01-19 19:16:00 -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 0ca6a16ce5 libpkgconf: queue: nuke flags parameters (ref #105) 2017-01-19 17:32:38 -06:00
William Pitcock 597c3c7faf libpkgconf: client: add pkgconf_client_t.flags and a get/set interface for it 2017-01-19 17:22:20 -06:00
William Pitcock 1ee3c12f53 libpkgconf: path: use pkgconf_path_relocate() when matching paths 2017-01-19 10:43:23 -06:00
William Pitcock fa927fd379 libpkgconf: path: pkgconf_path_relocate(): implement realpath backend 2017-01-19 10:36:07 -06:00
William Pitcock 0315832285 doc: document pkgconf_path_relocate() 2017-01-19 10:31:40 -06:00
William Pitcock 4f94090fe4 libpkgconf: fragment: make pkgconf_fragment_filter() accept userdata (closes #106) 2017-01-18 20:25:19 -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 147fd80750 path: relocate system libdir/includedir if appropriate 2017-01-13 20:12:38 -06:00
William Pitcock cb1dc71e23 fragment: simplify pkgconf_fragment_copy_munged() 2017-01-13 20:10:02 -06:00
William Pitcock 87a5a1f0cc path: when stubbing pkgconf_path_relocate(), suppress unused variables warnings 2017-01-13 20:08:22 -06:00
William Pitcock 27c3710521 fragment: when munging, do a path relocation too 2017-01-13 20:06:48 -06:00
William Pitcock 1369f558c6 path: add new pkgconf_path_relocate() API which is a stub when path
relocation is not needed
2017-01-13 20:05:21 -06:00
William Pitcock 7f6a185977 fragment: only munge if sysroot_dir is actually set
on cygwin/msys2, it is possible for munging to be enabled for other types of munging (instead of sysroot)
2017-01-13 19:55:54 -06:00
William Pitcock 4ba414f74a fragment: handle oddball fragments like -framework more accurately 2017-01-07 15:04:34 -06:00
Baptiste Daroussin 3b3f1dc76e Fix gcc warnings 2017-01-07 17:57:37 +01:00
Baptiste Daroussin 2e855972dc inode cache: ensure we never use an unitilized struct stat 2017-01-07 17:52:44 +01:00
Graham Ollis 9c426b6f2c do not filter non-existent directories if filter is off 2016-12-31 14:10:59 -06:00
William Pitcock 0c690dc891 libpkgconf: fragment: fix over-optimization of cflags/linker flags in edge cases involving non-standard options 2016-12-30 12:39:10 -06:00
William Pitcock 92f566ff38 libpkgconf: path: check both device node and inode for dedup. pointed out by @plicease 2016-12-30 11:39:45 -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 bad0da0c03 libpkgconf: path: filter out duplicate path entries by inode if possible (closes #102) 2016-12-30 11:01:15 -06:00
William Pitcock aa041b415e libpkgconf: path: add naive path list filtering function 2016-12-30 10:44:01 -06:00
William Pitcock 135da1440c libpkgconf: iter: track list lengths 2016-12-30 09:57:01 -06:00
William Pitcock ad1e414dee libpkgconf: fragment: handle -idirafter in the same way as -isystem
(https://bugs.freedesktop.org/show_bug.cgi?id=97337)
2016-12-30 02:47:42 -06:00
William Pitcock c916e3a437 libpkgconf: client: filter all of the path-related GCC environment variables listed in the GCC manual (not just the ones in pkg-config) 2016-12-30 02:39:18 -06:00
William Pitcock 1ece862e87 libpkgconf: client: some toolchains have C_INCLUDE_PATH and CPLUS_INCLUDE_PATH, treat them as PKG_CONFIG_SYSTEM_INCLUDE_PATH. 2016-12-30 02:35:36 -06:00
William Pitcock 6ef4a853b5 libpkgconf: migrate pkgconf client fragment_is_system_dir() to a libpkgconf API 2016-12-21 20:06:17 -06:00
William Pitcock cd0160a4a2 libpkgconf: handle PKG_CONFIG_SYSTEM_INCLUDE_PATH and PKG_CONFIG_SYSTEM_LIBRARY_PATH environment variables at client init time 2016-12-21 19:55:01 -06:00
William Pitcock f6b074f267 libpkgconf: path: make pkgconf_path_match_list() take a const list argument 2016-12-21 19:50:05 -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