aide-devel Mailing List for aide (Page 4)
Brought to you by:
hvhaugwitz,
rvdb
This list is closed, nobody may subscribe to it.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(2) |
Oct
(16) |
Nov
(7) |
Dec
(15) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(9) |
Feb
(1) |
Mar
(2) |
Apr
(8) |
May
(5) |
Jun
|
Jul
(4) |
Aug
(5) |
Sep
|
Oct
|
Nov
(3) |
Dec
(1) |
2005 |
Jan
(1) |
Feb
(3) |
Mar
(13) |
Apr
(10) |
May
(5) |
Jun
|
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(26) |
Nov
(4) |
Dec
|
2006 |
Jan
(1) |
Feb
(18) |
Mar
(35) |
Apr
(4) |
May
(2) |
Jun
(5) |
Jul
(3) |
Aug
|
Sep
(4) |
Oct
(37) |
Nov
(37) |
Dec
(3) |
2007 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
(64) |
Mar
(1) |
Apr
|
May
(7) |
Jun
(1) |
Jul
(5) |
Aug
(7) |
Sep
(4) |
Oct
(1) |
Nov
(2) |
Dec
|
2011 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(6) |
Nov
(3) |
Dec
|
2016 |
Jan
|
Feb
|
Mar
(1) |
Apr
(2) |
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
(1) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(2) |
Sep
(1) |
Oct
(3) |
Nov
|
Dec
(3) |
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
From: Steve G. <sg...@re...> - 2010-02-24 21:05:35
|
Hello, The code in several places uses "illegal" C constructs. For example, in aide.h is this: #if AIDE_OFF_TYPE == off64_t. The #if can only compare integers. So, what I did was look at how this was really being used. If all cases it was to decide whether to use "long long" or "long". The solution was to add checks for the sizeof of off64_t and long long. If off64_t is not available, the size will be 0. Long long should be always defined and 8. So, we should be able to use this comparison to cleanup the "off64_t" is not defined warnings. Looking at the other warnings, they are also related to size issues in format strings. The following patch cleans all this up. -Steve diff -urp aide.orig/configure.in aide/configure.in --- aide.orig/configure.in 2010-02-24 14:55:18.000000000 -0500 +++ aide/configure.in 2010-02-24 15:48:39.000000000 -0500 @@ -251,6 +251,7 @@ AC_CHECK_TYPES([byte, ushort, ulong, u16 AC_CHECK_SIZEOF(unsigned short, 2) AC_CHECK_SIZEOF(unsigned int, 4) AC_CHECK_SIZEOF(unsigned long, 4) +AC_CHECK_SIZEOF(long long, 8) AC_CHECK_SIZEOF(unsigned long long, 8) AC_C_LONG_DOUBLE @@ -572,6 +573,8 @@ AC_CHECK_FUNC(lstat64, saved_CFLAGS="$CFLAGS" CFLAGS+=" $AIDE_DEFS" +AC_CHECK_SIZEOF(off_t) +AC_CHECK_SIZEOF(off64_t) AC_CACHE_CHECK([for LFS ino_t],AIDE_INO_TYPE,[ AC_TRY_RUN([ #include <unistd.h> diff -urp aide.orig/include/aide.h aide/include/aide.h --- aide.orig/include/aide.h 2010-02-24 14:55:18.000000000 -0500 +++ aide/include/aide.h 2010-02-24 15:40:03.000000000 -0500 @@ -67,7 +67,7 @@ int snprintf(char *str,size_t count,cons # define HAVE_STRTOIMAX #endif -#if AIDE_OFF_TYPE == off64_t +#if SIZEOF_OFF64_T == SIZEOF_LONG_LONG # ifdef HAVE_STRTOLL # define AIDE_STRTOLL_FUNC strtoll # else diff -urp aide.orig/src/commandconf.c aide/src/commandconf.c --- aide.orig/src/commandconf.c 2010-02-24 14:55:18.000000000 -0500 +++ aide/src/commandconf.c 2010-02-24 15:41:21.000000000 -0500 @@ -314,9 +314,9 @@ int db_input_wrapper(char* buf, int max_ buf[0]='\0'; } else { /* gzread returns 0 even if uncompressed bytes were read*/ - error(240,"nread=%d,strlen(buf)=%u,errno=%s,gzerr=%s\n", - retval,strnlen((char*)buf, max_size),strerror(errno), - gzerror(*db_gzp,&err)); + error(240,"nread=%d,strlen(buf)=%lu,errno=%s,gzerr=%s\n", + retval,(unsigned long)strnlen((char*)buf, max_size), + strerror(errno),gzerror(*db_gzp,&err)); if(retval==0){ retval=strnlen((char*)buf, max_size); } diff -urp aide.orig/src/compare_db.c aide/src/compare_db.c --- aide.orig/src/compare_db.c 2010-02-24 14:55:18.000000000 -0500 +++ aide/src/compare_db.c 2010-02-24 15:42:10.000000000 -0500 @@ -462,7 +462,7 @@ void print_single_xattrs(xattrs_type* xa size_t num = 0; int width = 0; - error(2,"num=%u\n", xattrs->num); + error(2,"num=%lu\n", (unsigned long)xattrs->num); width = log10(xattrs->num); /* make them the same width */ @@ -595,7 +595,7 @@ void print_int_changes(const char* name, } void print_long_changes(const char* name, AIDE_OFF_TYPE old, AIDE_OFF_TYPE new, int justnew) { -#if AIDE_OFF_TYPE == off64_t +#if SIZEOF_OFF64_T == SIZEOF_LONG_LONG if (!justnew) { snprintf(oline,part_len,"%llu",(long long unsigned)old); } diff -urp aide.orig/src/db_file.c aide/src/db_file.c --- aide.orig/src/db_file.c 2010-02-24 14:55:18.000000000 -0500 +++ aide/src/db_file.c 2010-02-24 15:47:06.000000000 -0500 @@ -88,8 +88,8 @@ void handle_gzipped_input(int out,gzFile exit(1); } - error(240,"nread=%d,strlen(buf)=%u,errno=%s,gzerr=%s\n", - nread,strlen((char*)buf),strerror(errno), + error(240,"nread=%d,strlen(buf)=%lu,errno=%s,gzerr=%s\n", + nread,(unsigned long)strlen((char*)buf),strerror(errno), gzerror(*gzp,&err)); buf[0]='\0'; } @@ -673,8 +673,8 @@ int db_writelong(AIDE_OFF_TYPE i,FILE* f dofprintf(" "); } -#if AIDE_OFF_TYPE == off64_t - return dofprintf("%lli",i); +#if SIZEOF_OFF64_T == SIZEOF_LONG_LONG + return dofprintf("%lli",(long long)i); #else return dofprintf("%li",i); #endif |
From: Steve G. <sg...@re...> - 2010-02-24 18:27:43
|
Hello, A quick check of the new snprintf.o file shows that some parts are getting compiled even on systems with snprintf: [sgrubb src]$ nm snprintf.o U _GLOBAL_OFFSET_TABLE_ U __vsnprintf_chk 00000000000000f0 T asprintf 0000000000000000 T dummy_snprintf U malloc 0000000000000010 T vasprintf The following patch fixes it: [sgrubb src]$ nm snprintf.o 0000000000000000 T dummy_snprintf -Steve diff -ur aide.orig/configure.in aide/configure.in --- aide.orig/configure.in 2010-02-24 13:19:34.000000000 -0500 +++ aide/configure.in 2010-02-24 13:18:11.000000000 -0500 @@ -252,6 +252,7 @@ AC_CHECK_SIZEOF(unsigned int, 4) AC_CHECK_SIZEOF(unsigned long, 4) AC_CHECK_SIZEOF(unsigned long long, 8) +AC_C_LONG_DOUBLE AC_HEADER_STDC AC_CHECK_FUNCS(strtoll strtoimax readdir) @@ -270,7 +271,8 @@ compoptionstring="${compoptionstring}WITH_MMAP\\n" ) -AC_CHECK_FUNCS(fcntl ftruncate posix_fadvise snprintf vsnprintf) +AC_CHECK_FUNCS(fcntl ftruncate posix_fadvise asprintf snprintf \ + vasprintf vsnprintf va_copy __va_copy) AC_CACHE_CHECK(for ISO C99 compliant snprintf,ac_cv_func_snprintf_c99, [AC_TRY_RUN([ @@ -349,7 +351,7 @@ AH_TEMPLATE(HAVE_O_NOATIME, [Define to 1 if you have the O_NOATIME flag.]) fi -AC_CHECK_HEADERS(syslog.h inttypes.h fcntl.h) +AC_CHECK_HEADERS(syslog.h inttypes.h fcntl.h ctype.h) AC_ARG_WITH([locale], [AC_HELP_STRING([--with-locale], |
From: Richard v. d. B. <ri...@vd...> - 2010-02-23 17:10:39
|
On 23-2-10 16:39 , Steve Grubb wrote: > We ran across one other item. The man page documents a -D commandline option, > but its not displayed when using --help. > Thanks. Applied to CVS. Regards, Richard |
From: Steve G. <sg...@re...> - 2010-02-23 15:39:28
|
Hello, We ran across one other item. The man page documents a -D commandline option, but its not displayed when using --help. -Steve diff -urp aide.orig/src/aide.c aide/src/aide.c --- aide.orig/src/aide.c 2010-02-23 10:34:32.000000000 -0500 +++ aide/src/aide.c 2010-02-23 10:35:36.000000000 -0500 @@ -65,7 +65,7 @@ void usage(int exitvalue) " -u, --update\t\tCheck and update the database non-interactively\n" " --compare\t\tCompare two databases\n\n" "Miscellaneous:\n" - " --config-check\tTest the configuration file\n" + " -D, --config-check\tTest the configuration file\n" " -v, --version\t\tShow version of AIDE and compilation options\n" " -h, --help\t\tShow this help message\n\n" "Options:\n" |
From: Richard v. d. B. <ri...@vd...> - 2010-02-22 21:10:57
|
Version 0.14-rc1 has just been released. It is available from https://sourceforge.net/projects/aide/files/ It incorporates a lot of changes in the autoconf/make system, so please test this version if you have an exotic Unix environment. From the NEWS file: Version 0.14 * Renewed autoconf mechanism * Resolved licensing conflicts * New feature to summarize changes * Added prelink support * Many bugfixes Many thanks to all contributors, especially Steve Grubb and Hannes von Haugwitz who sent in quite a lot of patches. Regards, Richard |
From: Richard v. d. B. <ri...@vd...> - 2010-02-21 15:39:55
|
On 16-2-10 22:04 , Steve Grubb wrote: > This does raise the question of whether or not we need to ship a snprintf > function at all? If so, I can locate a GPL'ed snprintf function that can be > used. Please advise. > I replaced the snprintf.c shipped with aide by the version that comes with rsync 2.6.9. Thanks Steve for the suggestion. Regards, Richard |
From: Richard v. d. B. <ri...@vd...> - 2010-02-21 14:38:28
|
On 20-2-10 23:00 , Hannes von Haugwitz wrote: > Marc Haber<mh+...@zu...> wrote: > >> On Tue, Feb 16, 2010 at 07:31:36AM +0100, Hannes von Haugwitz wrote: >> >>> The attached patch disables the (currently broken) file-type >>> differentiation for removed files. A solution would be to always save >>> the permission whatever or not the permission attribute is set. Any >>> suggestions? >>> >> I would always save it. I consider it important that one knows _what_ >> was deleted > The attached patch does that and re-enables file-type detection for > removed files. Please consider to include it. > Thanks. Applied to CVS. Regards, Richard |
From: Richard v. d. B. <ri...@vd...> - 2010-02-21 14:33:30
|
On 20-2-10 22:27 , Hannes von Haugwitz wrote: > The attached patch fixes an issue with the checksums letter in > summarize_changes. > Thanks. Applied to CVS. Regards, Richard |
From: Hannes v. H. <ha...@vo...> - 2010-02-20 22:00:16
|
Marc Haber <mh+...@zu...> wrote: > On Tue, Feb 16, 2010 at 07:31:36AM +0100, Hannes von Haugwitz wrote: >> The attached patch disables the (currently broken) file-type >> differentiation for removed files. A solution would be to always save >> the permission whatever or not the permission attribute is set. Any >> suggestions? > > I would always save it. I consider it important that one knows _what_ > was deleted. > The attached patch does that and re-enables file-type detection for removed files. Please consider to include it. Thanks, Hannes |
From: Hannes v. H. <ha...@vo...> - 2010-02-20 21:27:12
|
Hello, The attached patch fixes an issue with the checksums letter in summarize_changes. Please apply. Thanks Hannes |
From: Richard v. d. B. <ri...@vd...> - 2010-02-19 19:28:33
|
On 19-2-10 17:18 , Steve Grubb wrote: > During a code review, we found that some of the error handling in the prelink > checks could leak some file descriptors. This patch should take care of the > leaks. Thanks, applied to CVS. Regards, Richard |
From: Richard v. d. B. <ri...@vd...> - 2010-02-19 19:25:06
|
On 16-2-10 22:56 , Steve Grubb wrote: > During a package review, we found that the fopen.c file is licensed under the > BSD license with the advertising clause. The Fedora distribution does not like > this kind of cross licensing. Because we never compile curl support in, we would > like to make a change to the build scripts so that we can show in our build > logs that fopen.c is never compiled and therefore we do not have any > obligation as that file was licensed by its author. > Thanks, applied to CVS. Regards, Richard |
From: Steve G. <sg...@re...> - 2010-02-19 16:18:56
|
Hello, During a code review, we found that some of the error handling in the prelink checks could leak some file descriptors. This patch should take care of the leaks. -Steve diff -urp aide.orig/src/do_md.c aide/src/do_md.c --- aide.orig/src/do_md.c 2010-02-18 17:24:59.000000000 -0500 +++ aide/src/do_md.c 2010-02-19 11:12:50.000000000 -0500 @@ -118,7 +118,7 @@ int is_prelinked(int fd) { /* * Open path via prelink -y, set fd - * Return: 0(not success) / !0(prelink child process) + * Return: 0 failure / > 0 success * */ pid_t open_prelinked(const char * path, int * fd) { @@ -127,20 +127,28 @@ pid_t open_prelinked(const char * path, int pipes[2]; pipes[0] = pipes[1] = -1; - pipe(pipes); - if (!(pid = fork())) { - /* child */ - close(pipes[0]); - dup2(pipes[1], STDOUT_FILENO); - close(pipes[1]); - unsetenv("MALLOC_CHECK_"); - execl(cmd, cmd, "--verify", path, (char *) NULL); + if (pipe(pipes) < 0) + return 0; + pid = fork(); + switch (pid) { + case 0: + /* child */ + close(pipes[0]); + dup2(pipes[1], STDOUT_FILENO); + close(pipes[1]); + unsetenv("MALLOC_CHECK_"); + execl(cmd, cmd, "--verify", path, (char *) NULL); + exit(1); + break; + case -1: + close(pipes[0]); + close(pipes[1]); + return 0; } /* parent */ close(pipes[1]); *fd = pipes[0]; return pid; - } #endif @@ -311,6 +319,7 @@ void calc_md(struct AIDE_STAT_TYPE* old_ conf->catch_mmap=1; if (update_md(&mdc,buf,size)!=RETOK) { error(0,"Message digest failed during update\n"); + close(filedes); close_md(&mdc); munmap(buf,size); return; @@ -334,6 +343,7 @@ void calc_md(struct AIDE_STAT_TYPE* old_ while ((size=TEMP_FAILURE_RETRY(read(filedes,buf,READ_BLOCK_SIZE)))>0) { if (update_md(&mdc,buf,size)!=RETOK) { error(0,"Message digest failed during update\n"); + close(filedes); close_md(&mdc); return; } @@ -346,6 +356,7 @@ void calc_md(struct AIDE_STAT_TYPE* old_ (void) waitpid(pid, &status, 0); if (!WIFEXITED(status) || WEXITSTATUS(status)) { error(0, "Error on exit of prelink child process\n"); + close(filedes); close_md(&mdc); return; } |
From: Marc H. <mh+...@zu...> - 2010-02-17 22:13:15
|
On Tue, Feb 16, 2010 at 07:31:36AM +0100, Hannes von Haugwitz wrote: > The attached patch disables the (currently broken) file-type > differentiation for removed files. A solution would be to always save > the permission whatever or not the permission attribute is set. Any > suggestions? I would always save it. I consider it important that one knows _what_ was deleted. Greetings Marc -- ----------------------------------------------------------------------------- Marc Haber | "I don't trust Computers. They | Mailadresse im Header Mannheim, Germany | lose things." Winona Ryder | Fon: *49 621 72739834 Nordisch by Nature | How to make an American Quilt | Fax: *49 3221 2323190 |
From: Marc H. <mh+...@zu...> - 2010-02-17 21:42:43
|
Hi, On Wed, Feb 17, 2010 at 09:38:05PM +0100, Richard van den Berg wrote: > Does anyone else have any input? I am all for taking the license issues off our backs ;) Greetings Marc -- ----------------------------------------------------------------------------- Marc Haber | "I don't trust Computers. They | Mailadresse im Header Mannheim, Germany | lose things." Winona Ryder | Fon: *49 621 72739834 Nordisch by Nature | How to make an American Quilt | Fax: *49 3221 2323190 |
From: Richard v. d. B. <ri...@vd...> - 2010-02-17 20:38:14
|
On 16-2-10 22:04 , Steve Grubb wrote: > This does raise the question of whether or not we need to ship a snprintf > function at all? If so, I can locate a GPL'ed snprintf function that can be > used. Please advise. > I added the snprintf.c to aide in 2004 because HP-UX 10.20 ships a C99 non-complient vsnprintf. See http://www.mail-archive.com/ai...@cs.../msg00427.html I believe HP-UX 11.00 has the same issue: http://www.mail-archive.com/ai...@cs.../msg00136.html I know these are ancient OSses, and we could decide that they are no longer supported by the new aide version. Unless it is not too much trouble to add a GPL'ed snprintf function of course. Does anyone else have any input? Regards, Richard |
From: Richard v. d. B. <ri...@vd...> - 2010-02-17 20:24:05
|
On 17-2-10 18:41 , Hannes von Haugwitz wrote: > The attached new version of the patch fixes an issue with the > get_size_char function. Please apply. > Thanks, committed to CVS. Regards, Richard |
From: Richard v. d. B. <ri...@vd...> - 2010-02-17 20:21:32
|
On 17-2-10 08:05 , Hannes von Haugwitz wrote: > the attached patch adds missing s in 'xattrs' group definition in some > documentation files. Please apply. > Thanks, committed to CVS. Regards, Richard |
From: Richard v. d. B. <ri...@vd...> - 2010-02-17 20:14:10
|
On 16-2-10 21:23 , Steve Grubb wrote: > I am attaching another patch that seems to get LD defined on Linux > systems. If LD is not defined, then it will not check the linker to > see if it supports relro,now flags. Please apply. That works quite nicely, thanks. Commited to CVS. Regards, Richard |
From: Richard v. d. B. <ri...@vd...> - 2010-02-17 20:12:43
|
On 16-2-10 21:04 , Steve Grubb wrote: > The patch that reworked the build system enables some new warnings in the aide code. Thanks. Commited to CVS. Regards, Richard |
From: Hannes v. H. <ha...@vo...> - 2010-02-17 17:41:11
|
Hi, The attached new version of the patch fixes an issue with the get_size_char function. Please apply. Thanks, Hannes |
From: Hannes v. H. <ha...@vo...> - 2010-02-17 07:05:11
|
Hi, the attached patch adds missing s in 'xattrs' group definition in some documentation files. Please apply. Regards Hannes |
From: Steve G. <sg...@re...> - 2010-02-16 21:56:58
|
Hello, During a package review, we found that the fopen.c file is licensed under the BSD license with the advertising clause. The Fedora distribution does not like this kind of cross licensing. Because we never compile curl support in, we would like to make a change to the build scripts so that we can show in our build logs that fopen.c is never compiled and therefore we do not have any obligation as that file was licensed by its author. -Steve diff -ur aide.orig/configure.in aide/configure.in --- aide.orig/configure.in 2010-02-16 16:31:42.000000000 -0500 +++ aide/configure.in 2010-02-16 16:42:07.000000000 -0500 @@ -670,6 +670,7 @@ AC_DEFINE(WITH_CURL,1,[use curl]) compoptionstring="${compoptionstring}WITH_CURL\\n"], fi +AM_CONDITIONAL(USE_CURL, test x$havecurl = xyes) AC_ARG_WITH([gnu-regexp], [AC_HELP_STRING([--with-gnu-regexp], diff -ur aide.orig/src/Makefile.am aide/src/Makefile.am --- aide.orig/src/Makefile.am 2010-02-16 16:31:42.000000000 -0500 +++ aide/src/Makefile.am 2010-02-16 16:41:55.000000000 -0500 @@ -48,7 +48,6 @@ db_sql.c \ do_md.c \ error.c \ - fopen.c \ gen_list.c \ getopt1.c \ getopt.c \ @@ -58,6 +57,10 @@ symboltable.c \ util.c +if USE_CURL +aide_SOURCES += fopen.c +endif + conf_yacc.c: conf_yacc.y $(YACC) $(AM_YFLAGS) -o $@ -p conf $< |
From: Steve G. <sg...@re...> - 2010-02-16 21:04:20
|
Hello, During a package review, we found snprintf is licensed under the Frontier Artistic License. This license is not acceptable to the Fedora distribution because it has much of the same language as the unclarified Artistic License that the FSF rejects. This patch drops all traces of the snprintf functions and uses the ones on the system. After applying this patch, you will have to "cvs remove" several files: include/snprintf.h LICENSE-snprintf.txt README-snprintf src/snprintf.c This does raise the question of whether or not we need to ship a snprintf function at all? If so, I can locate a GPL'ed snprintf function that can be used. Please advise. The mail list said the patch is too big, so its located here: http://people.redhat.com/sgrubb/files/aide-snprintf.patch Thanks, -Steve |
From: Steve G. <sg...@re...> - 2010-02-16 20:23:40
|
On Saturday 13 February 2010 04:54:30 pm Richard van den Berg wrote: > Libtool is called with -static but then libtool didn't call gcc with - > static. For libtool to create static binaries, -all-static should be used. I > don't know how to make that happen, so I removed AM_PROG_LIBTOOL from > configure.in instead. That seems to work just fine. Well...not exactly. :) I put a note there that said we needed it so that $LD is defined later on. I am attaching another patch that seems to get LD defined on Linux systems. If LD is not defined, then it will not check the linker to see if it supports relro,now flags. Please apply. Thanks, -Steve diff -ur aide.orig/configure.in aide/configure.in --- aide.orig/configure.in 2010-02-16 15:06:09.000000000 -0500 +++ aide/configure.in 2010-02-16 15:15:04.000000000 -0500 @@ -28,6 +28,7 @@ echo "AIDE requires GNU flex" exit 5 fi +AC_CHECK_PROGS(LD, ld) AC_PATH_PROG(PKG_CONFIG, pkg-config, "") |