aboutsummaryrefslogtreecommitdiff
path: root/pbuilder-modules
diff options
context:
space:
mode:
authorJunichi Uekawa <dancer@netfort.gr.jp>2011-12-04 22:17:32 +0900
committerJunichi Uekawa <dancer@netfort.gr.jp>2011-12-04 22:17:32 +0900
commit36b02fd98cdfefb9a6ec1fd4cf006c7eaf484506 (patch)
tree229ccf873a2631e0121596152b732e62aae69a15 /pbuilder-modules
parent57a6a286b437ef6715ec7ac608898a0dabc32444 (diff)
downloadpbuilder-36b02fd98cdfefb9a6ec1fd4cf006c7eaf484506.tar
pbuilder-36b02fd98cdfefb9a6ec1fd4cf006c7eaf484506.tar.gz
factor out the file copy test part and add a test.
Use 'PWD' like other parts of the codebase. Coding style uses $() not ``.
Diffstat (limited to 'pbuilder-modules')
-rw-r--r--pbuilder-modules19
1 files changed, 19 insertions, 0 deletions
diff --git a/pbuilder-modules b/pbuilder-modules
index b596d5d..22eaafe 100644
--- a/pbuilder-modules
+++ b/pbuilder-modules
@@ -561,6 +561,25 @@ function umountproc_trap () {
exit 1
}
+# copy to .. if target directory is not ..
+function conditional_cp_a() {
+ local source_file="$1"
+ # NOTE: target_dir must not end with /, which is usually the case
+ # with 'readlink -f' result, which BUILDRESULT usually is.
+ local target_dir="$2"
+ # For testability, make cp overridable.
+ local cp="${3:-cp}"
+
+ # $PWD should end with non-'/', so dirname should give us the parent dir.
+ local parent_dir=$(dirname "$PWD")
+
+ if [ "${parent_dir}" != "${target_dir}" ]; then
+ "$cp" -a "$source_file" "$target_dir"
+ else
+ echo "I: file ${source_file} is already in target, not copying."
+ fi
+}
+
#Setting environmental variables that are really required:
#required for some packages to install...
export LANG=C