aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2016-09-02 17:03:03 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2016-09-02 17:03:03 +0300
commita7d1814ceda85bd0eb0b4cbb0359b1a4413ff517 (patch)
treec6c282b5f6a2114435f99951e6dd5f2cd480b99d
parent47c32c25824beed156caa0511b8466321ecc9b1c (diff)
Only use tar --force-local argument on Windows
-rw-r--r--bpkg/archive.cxx5
-rw-r--r--bpkg/pkg-unpack.cxx5
2 files changed, 8 insertions, 2 deletions
diff --git a/bpkg/archive.cxx b/bpkg/archive.cxx
index f0596bf..7bc4740 100644
--- a/bpkg/archive.cxx
+++ b/bpkg/archive.cxx
@@ -50,9 +50,12 @@ namespace bpkg
// An archive name that has a colon in it specifies a file or device on a
// remote machine. That makes it impossible to use absolute Windows paths
- // unless we add the --force-local option.
+ // unless we add the --force-local option. Note that BSD tar doesn't
+ // support this option.
//
+#ifdef _WIN32
args.push_back ("--force-local");
+#endif
args.push_back ("-xf");
args.push_back (a.string ().c_str ());
diff --git a/bpkg/pkg-unpack.cxx b/bpkg/pkg-unpack.cxx
index 84a4618..53c3faf 100644
--- a/bpkg/pkg-unpack.cxx
+++ b/bpkg/pkg-unpack.cxx
@@ -177,9 +177,12 @@ namespace bpkg
// An archive name that has a colon in it specifies a file or device on a
// remote machine. That makes it impossible to use absolute Windows paths
- // unless we add the --force-local option.
+ // unless we add the --force-local option. Note that BSD tar doesn't
+ // support this option.
//
+#ifdef _WIN32
args.push_back ("--force-local");
+#endif
args.push_back ("-xf");
args.push_back (a.string ().c_str ());