From 1428026a3d58abcf316a7f9aacdf110cc78add85 Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Mon, 12 Sep 2011 11:53:20 -0400 Subject: [PATCH] Use autoconf to locate the diff and patch executables and pass those pathnames to serv_wiki.c --- citadel/Makefile.in | 4 +++- citadel/configure.ac | 6 ++++-- citadel/modules/wiki/serv_wiki.c | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/citadel/Makefile.in b/citadel/Makefile.in index 32dbf0765..44de522c3 100644 --- a/citadel/Makefile.in +++ b/citadel/Makefile.in @@ -53,7 +53,7 @@ CC=@CC@ CFLAGS=@CFLAGS@ -I ./include/ CPPFLAGS=@CPPFLAGS@ -I. -I ./include/ DATABASE=@DATABASE@ -DEFS=@DEFS@ +DEFS=@DEFS@ -DDIFF=\"@DIFF@\" -DPATCH=\"@PATCH@\" LDFLAGS=@LDFLAGS@ LIBS=@LIBS@ LIBOBJS=@LIBOBJS@ @@ -65,6 +65,8 @@ SERVER_LDFLAGS=@SERVER_LDFLAGS@ SERVER_LIBS=@SERVER_LIBS@ SETUP_LIBS=@SETUP_LIBS@ YACC=@YACC@ +DIFF=@DIFF@ +PATCH=@PATCH@ LOCALEDIR=@LOCALEDIR@ # End configuration section diff --git a/citadel/configure.ac b/citadel/configure.ac index 76f5d514e..7480f35ff 100644 --- a/citadel/configure.ac +++ b/citadel/configure.ac @@ -398,6 +398,8 @@ AC_SUBST(DEPEND_FLAG) AC_PROG_INSTALL AC_PROG_YACC +AC_PATH_PROG(DIFF,diff) +AC_PATH_PROG(PATCH,patch) missing_dir=`cd $ac_aux_dir && pwd` AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir) @@ -989,8 +991,6 @@ AC_CACHE_CHECK([under the bed], ac_cv_under_the_bed, [ STRUCT_UCRED - - dnl Done! Now write the Makefile and sysdep.h AC_SUBST(RESOLV) AC_SUBST(chkpwd_LIBS) @@ -999,6 +999,8 @@ AC_SUBST(DATABASE) AC_SUBST(SERVER_LDFLAGS) AC_SUBST(SERVER_LIBS) AC_SUBST(SETUP_LIBS) +AC_SUBST(DIFF) +AC_SUBST(PATCH) AC_CONFIG_FILES([Makefile]) AC_OUTPUT(database_cleanup.sh po/citadel-setup/Makefile) diff --git a/citadel/modules/wiki/serv_wiki.c b/citadel/modules/wiki/serv_wiki.c index f18bb4a4a..680f63733 100644 --- a/citadel/modules/wiki/serv_wiki.c +++ b/citadel/modules/wiki/serv_wiki.c @@ -168,7 +168,7 @@ int wiki_upload_beforesave(struct CtdlMessage *msg) { fclose(fp); snprintf(diff_cmd, sizeof diff_cmd, - "diff -u %s %s >%s", + DIFF " -u %s %s >%s", diff_new_filename, ((old_msg != NULL) ? diff_old_filename : "/dev/null"), diff_out_filename @@ -434,7 +434,7 @@ void wiki_rev_callback(char *name, char *filename, char *partnum, char *disp, syslog(LOG_DEBUG, "callback found rev: %s\n", this_rev); /* Perform the patch */ - fp = popen("patch -f -s -p0 -r /dev/null >/dev/null 2>/dev/null", "w"); + fp = popen(PATCH " -f -s -p0 -r /dev/null >/dev/null 2>/dev/null", "w"); if (fp) { /* Replace the filenames in the patch with the tempfilename we're actually tweaking */ fprintf(fp, "--- %s\n", hecbd->tempfilename); -- 2.30.2