aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 ());