Update of Packer builder for Vagrant and various clouds
[osm/devops.git] / packer / packer_templates / _common / parallels.sh
diff --git a/packer/packer_templates/_common/parallels.sh b/packer/packer_templates/_common/parallels.sh
new file mode 100644 (file)
index 0000000..3010df1
--- /dev/null
@@ -0,0 +1,47 @@
+#!/bin/sh -eux
+
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+
+# set a default HOME_DIR environment variable if not set
+HOME_DIR="${HOME_DIR:-/home/vagrant}";
+
+case "$PACKER_BUILDER_TYPE" in
+parallels-iso|parallels-pvm)
+    mkdir -p /tmp/parallels;
+    mount -o loop $HOME_DIR/prl-tools-lin.iso /tmp/parallels;
+    VER="`cat /tmp/parallels/version`";
+
+    echo "Parallels Tools Version: $VER";
+
+    /tmp/parallels/install --install-unattended-with-deps \
+      || (code="$?"; \
+          echo "Parallels tools installation exited $code, attempting" \
+          "to output /var/log/parallels-tools-install.log"; \
+          cat /var/log/parallels-tools-install.log; \
+          exit $code);
+    umount /tmp/parallels;
+    rm -rf /tmp/parallels;
+    rm -f $HOME_DIR/*.iso;
+
+    # Parallels Tools for Linux includes native auto-mount script,
+    # which causes losing some of Vagrant-relative shared folders.
+    # So, we should disable this behavior.
+    # https://github.com/Parallels/vagrant-parallels/issues/325#issuecomment-418727113
+    auto_mount_script='/usr/bin/prlfsmountd'
+    if [ -f "${auto_mount_script}" ]; then
+        echo -e '#!/bin/sh\n'\
+        '# Shared folders auto-mount is disabled by Vagrant ' \
+        > "${auto_mount_script}"
+    fi
+    ;;
+esac