diff --git a/buck-tools/onos_stage.py b/buck-tools/onos_stage.py
index f93790d..63e1f7f 100755
--- a/buck-tools/onos_stage.py
+++ b/buck-tools/onos_stage.py
@@ -5,6 +5,8 @@
 import os
 from zipfile import ZipFile
 from tarfile import TarFile, TarInfo
+import tarfile
+import time
 from cStringIO import StringIO
 
 VERSION = '1.6.0' #FIXME version, and maybe git commit hash
@@ -12,11 +14,14 @@
 
 
 written_files = set()
+now = time.time()
 
 def addFile(tar, dest, file, file_size):
     if dest not in written_files:
         info = TarInfo(dest)
         info.size = file_size
+        info.mtime = now
+        info.mode = 0777
         tar.addfile(info, fileobj=file)
         written_files.add(dest)
 
@@ -25,6 +30,8 @@
         print dest, string
         info = TarInfo(dest)
         info.size = len(string)
+        info.mtime = now
+        info.mode = 0777
         file = StringIO(string)
         tar.addfile(info, fileobj=file)
         file.close()
@@ -32,13 +39,14 @@
 
 def stageOnos(output, files=[]):
     # Note this is not a compressed zip
-    with TarFile(output, 'a') as output:
-        written_files = set(output.getnames())
+    with tarfile.open(output, 'w:gz') as output:
         for file in files:
             if '.zip' in file:
                 with ZipFile(file, 'r') as zip_part:
                     for f in zip_part.infolist():
-                        dest = BASE + 'apache-karaf-3.0.5/system/' + f.filename
+                        dest = f.filename
+                        if BASE not in dest:
+                            dest = BASE + 'apache-karaf-3.0.5/system/' + f.filename
                         addFile(output, dest, zip_part.open(f), f.file_size)
             elif '.oar' in file:
                 with ZipFile(file, 'r') as oar:
diff --git a/tools/package/BUCK b/tools/package/BUCK
index 27c0274..a452ce4 100644
--- a/tools/package/BUCK
+++ b/tools/package/BUCK
@@ -100,6 +100,6 @@
 genrule(
   name = 'onos-package',
   out = 'onos.tar.gz',
-  bash = 'cp $(location :onos-karaf) $OUT && $(exe //buck-tools:onos-stage) $OUT ' + ' '.join(sources),
+  bash = '$(exe //buck-tools:onos-stage) $OUT $(location :onos-karaf) ' + ' '.join(sources),
   visibility = [ 'PUBLIC' ],
 )
\ No newline at end of file
diff --git a/tools/package/onos-prep-karaf b/tools/package/onos-prep-karaf
index afda1c2..d1f561c 100755
--- a/tools/package/onos-prep-karaf
+++ b/tools/package/onos-prep-karaf
@@ -56,7 +56,7 @@
 cp -r init $PREFIX
 cp -r etc $PREFIX/$KARAF_DIR/etc/
 
-tar czf $OUT $PREFIX
+zip -q -0 -r $OUT $PREFIX
 
 #FIXME
 # Stage all builtin ONOS apps for factory install
