createGraphvizBundle.sh revision 2593:143d4c87bc1e
1#!/bin/bash -e
2#
3# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
4# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5#
6# This code is free software; you can redistribute it and/or modify it
7# under the terms of the GNU General Public License version 2 only, as
8# published by the Free Software Foundation.  Oracle designates this
9# particular file as subject to the "Classpath" exception as provided
10# by Oracle in the LICENSE file that accompanied this code.
11#
12# This code is distributed in the hope that it will be useful, but WITHOUT
13# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15# version 2 for more details (a copy is included in the LICENSE file that
16# accompanied this code).
17#
18# You should have received a copy of the GNU General Public License version
19# 2 along with this work; if not, write to the Free Software Foundation,
20# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
21#
22# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
23# or visit www.oracle.com if you need additional information or have any
24# questions.
25#
26# Create a bundle in the current directory, containing what's needed to run
27# the 'dot' program from the graphviz suite by the OpenJDK build.
28
29TMPDIR=`mktemp -d -t graphvizbundle-XXXX`
30trap "rm -rf \"$TMPDIR\"" EXIT
31
32ORIG_DIR=`pwd`
33cd "$TMPDIR"
34GRAPHVIZ_VERSION=2.38.0-1
35PACKAGE_VERSION=1.1
36TARGET_PLATFORM=linux_x64
37BUNDLE_NAME=graphviz-$TARGET_PLATFORM-$GRAPHVIZ_VERSION+$PACKAGE_VERSION.tar.gz
38wget http://www.graphviz.org/pub/graphviz/stable/redhat/el6/x86_64/os/graphviz-$GRAPHVIZ_VERSION.el6.x86_64.rpm
39wget http://www.graphviz.org/pub/graphviz/stable/redhat/el6/x86_64/os/graphviz-libs-$GRAPHVIZ_VERSION.el6.x86_64.rpm
40wget http://www.graphviz.org/pub/graphviz/stable/redhat/el6/x86_64/os/graphviz-plugins-core-$GRAPHVIZ_VERSION.el6.x86_64.rpm
41wget http://www.graphviz.org/pub/graphviz/stable/redhat/el6/x86_64/os/graphviz-plugins-x-$GRAPHVIZ_VERSION.el6.x86_64.rpm
42wget http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64/getPackage/libtool-ltdl-2.2.6-15.5.el6.x86_64.rpm
43
44mkdir graphviz
45cd graphviz
46for rpm in ../*.rpm; do
47  rpm2cpio $rpm | cpio --extract --make-directories
48done
49
50cat > dot << EOF
51#!/bin/bash
52# Get an absolute path to this script
53this_script_dir=\`dirname \$0\`
54this_script_dir=\`cd \$this_script_dir > /dev/null && pwd\`
55export LD_LIBRARY_PATH="\$this_script_dir/usr/lib64:\$LD_LIBRARY_PATH"
56exec \$this_script_dir/usr/bin/dot "\$@"
57EOF
58chmod +x dot
59export LD_LIBRARY_PATH="$TMPDIR/graphviz/usr/lib64:$LD_LIBRARY_PATH"
60# create config file
61./dot -c
62tar -cvzf ../$BUNDLE_NAME *
63cp ../$BUNDLE_NAME "$ORIG_DIR"
64