createGraphvizBundle.sh revision 2586:35017c286513
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
42
43mkdir graphviz
44cd graphviz
45for rpm in ../*.rpm; do
46  rpm2cpio $rpm | cpio --extract --make-directories
47done
48
49cat > dot << EOF
50#!/bin/bash
51# Get an absolute path to this script
52this_script_dir=\`dirname \$0\`
53this_script_dir=\`cd \$this_script_dir > /dev/null && pwd\`
54export LD_LIBRARY_PATH="\$this_script_dir/usr/lib64:\$LD_LIBRARY_PATH"
55exec \$this_script_dir/usr/bin/dot "\$@"
56EOF
57chmod +x dot
58export LD_LIBRARY_PATH="$TMPDIR/graphviz/usr/lib64:$LD_LIBRARY_PATH"
59# create config file
60./dot -c
61tar -cvzf ../$BUNDLE_NAME *
62cp ../$BUNDLE_NAME "$ORIG_DIR"
63