produce 7z archive for windows and preserve symlinks separately;
authorwenzelm
Mon, 15 Jul 2013 23:07:23 +0200
changeset 52668 a467a6b4376c
parent 52667 d2b12523186d
child 52669 fb59e6e9442a
produce 7z archive for windows and preserve symlinks separately;
Admin/lib/Tools/makedist_bundle
--- a/Admin/lib/Tools/makedist_bundle	Mon Jul 15 22:11:36 2013 +0200
+++ b/Admin/lib/Tools/makedist_bundle	Mon Jul 15 23:07:23 2013 +0200
@@ -150,6 +150,9 @@
       find . -type f -not -name '*.exe' -not -name '*.dll' -perm +100 \
         -print0 > "contrib/cygwin/isabelle/executables"
 
+      find . -type l -exec echo "{}" ";" -exec readlink "{}" ";" \
+        > "contrib/cygwin/isabelle/symlinks"
+
       cat >> "contrib/cygwin/isabelle/postinstall" <<EOF
 
 find -type d -exec chmod 755 '{}' +
@@ -177,6 +180,18 @@
 echo "packaging $(basename "$BUNDLE_ARCHIVE")"
 tar -C "$TMP" -c -z -f "$BUNDLE_ARCHIVE" "$ISABELLE_NAME" || exit 2
 
+if [ "$PLATFORM_FAMILY" = windows ]
+then
+  if type -p 7z >/dev/null
+  then
+    echo "packaging ${ISABELLE_NAME}.7z"
+    (
+      cd "$TMP"
+      rm -f "${ARCHIVE_DIR}/${ISABELLE_NAME}.7z"
+      7z -y a "${ARCHIVE_DIR}/${ISABELLE_NAME}.7z" "$ISABELLE_NAME" || exit 2
+    )
+  fi
+fi
 
 # clean up
 rm -rf "$TMP"