From 4ed462f54fbccaa5d35c43ddfcaed2a6ae256eb1 Mon Sep 17 00:00:00 2001 From: jim-p Date: Mon, 7 May 2012 12:16:34 -0400 Subject: Add an option to specify a base directory for the patch --- config/systempatches/patches.inc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'config/systempatches/patches.inc') diff --git a/config/systempatches/patches.inc b/config/systempatches/patches.inc index 971b9da3..e25db3ff 100644 --- a/config/systempatches/patches.inc +++ b/config/systempatches/patches.inc @@ -32,10 +32,11 @@ require_once("util.inc"); $git_root_url = "http://github.com/bsdperimeter/pfsense/commit/"; $patch_suffix = ".patch"; $patch_dir = "/var/patches"; -$patch_cmd = "/usr/bin/patch --directory=/ "; +$patch_cmd = "/usr/bin/patch"; -function patch_commit($patch, $action, $test=false) { +function patch_commit($patch, $action, $test=false, $fulldetail=false) { global $patch_dir, $patch_cmd, $patch_suffix; + $directory = empty($patch['basedir']) ? "/" : $patch['basedir']; $filename = '-i ' . $patch_dir . '/' . $patch['uniqid'] . $patch_suffix; $check = ($test) ? "--check" : ""; $force = ($action == "revert") ? "-f" : "-t"; @@ -43,8 +44,8 @@ function patch_commit($patch, $action, $test=false) { $whitespace = $patch['ignorewhitespace'] ? "--ignore-whitespace" : ""; $pathstrip = '-p' . $patch['pathstrip']; patch_write($patch); - $status = mwexec("{$patch_cmd} {$force} {$pathstrip} {$filename} {$check} {$direction} {$whitespace}", false); - patch_erase($patch); + $status = mwexec("{$patch_cmd} --directory={$directory} {$force} {$pathstrip} {$filename} {$check} {$direction} {$whitespace}", true); + //patch_erase($patch); if ($status == 0) return true; else -- cgit v1.2.3