Browse Source

graphviz package update

Signed-off-by: basebuilder_pel7ppc64lebuilder0 <basebuilder@powerel.org>
master
basebuilder_pel7ppc64lebuilder0 6 years ago
parent
commit
67e8b0a24b
  1. 22
      SOURCES/graphviz-2.26.0-rtest-errout-fix.patch
  2. 26
      SOURCES/graphviz-2.26.0-testsuite-sigsegv-fix.patch
  3. 41
      SOURCES/graphviz-2.30.1-CVE-2014-0978-CVE-2014-1235.patch
  4. 58
      SOURCES/graphviz-2.30.1-CVE-2014-1236.patch
  5. 27
      SOURCES/graphviz-2.30.1-guile2-fix.patch
  6. 12
      SOURCES/graphviz-2.30.1-gv2gml-options-fix.patch
  7. 11
      SOURCES/graphviz-2.30.1-gvc.pc-no-libgraph.patch
  8. 82
      SOURCES/graphviz-2.30.1-lefty-help.patch
  9. 99
      SOURCES/graphviz-2.30.1-lua-5.2.patch
  10. 172
      SOURCES/graphviz-2.30.1-man-fix.patch
  11. 11
      SOURCES/graphviz-2.30.1-ocaml-int64-fix.patch
  12. 13
      SOURCES/graphviz-2.30.1-ppc64le-fix.patch
  13. 45
      SOURCES/graphviz-2.30.1-prune-help.patch
  14. 17
      SOURCES/graphviz-2.30.1-smyrna-doc-opt.patch
  15. 13
      SOURCES/graphviz-2.32.0-aarch64.patch
  16. 45
      SOURCES/graphviz-2.34.0-lefty-getaddrinfo.patch
  17. 910
      SPECS/graphviz.spec

22
SOURCES/graphviz-2.26.0-rtest-errout-fix.patch

@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
--- graphviz-2.26.0/rtest/rtest.sh.old 2009-12-06 00:27:49.000000000 +0100
+++ graphviz-2.26.0/rtest/rtest.sh 2010-10-22 10:37:42.952893435 +0200
@@ -279,14 +279,16 @@
$testcmd 2> errout
RVAL=$?
+ if [[ -s errout ]]
+ then
+ cat errout
+ fi
+
if [[ $RVAL != 0 || ! -s $OUTPATH ]]
then
(( CRASH_CNT+=1 ))
print -u 2 "Test $TESTNAME:$i : == Layout failed =="
print -u 2 " $testcmd"
- elif [[ -s errout ]]
- then
- cat errout
elif [[ $GENERATE == 1 ]]
then
continue

26
SOURCES/graphviz-2.26.0-testsuite-sigsegv-fix.patch

@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
--- graphviz-2.26.0/lib/gvc/gvconfig.c.old 2009-07-08 17:14:20.000000000 +0200
+++ graphviz-2.26.0/lib/gvc/gvconfig.c 2010-10-20 11:51:21.238392202 +0200
@@ -471,6 +471,7 @@
libdir = gvconfig_libdir(gvc);
rc = stat(libdir, &libdir_st);
if (rc == -1) {
+ gvtextlayout_select(gvc); /* choose best available textlayout plugin immediately */
/* if we fail to stat it then it probably doesn't exist so just fail silently */
return;
}
@@ -485,6 +486,7 @@
if (rescan) {
config_rescan(gvc, gvc->config_path);
gvc->config_found = TRUE;
+ gvtextlayout_select(gvc); /* choose best available textlayout plugin immediately */
return;
}
@@ -492,6 +494,7 @@
rc = stat(gvc->config_path, &config_st);
if (rc == -1) {
+ gvtextlayout_select(gvc); /* choose best available textlayout plugin immediately */
/* silently return without setting gvc->config_found = TRUE */
return;
}

41
SOURCES/graphviz-2.30.1-CVE-2014-0978-CVE-2014-1235.patch

@ -0,0 +1,41 @@ @@ -0,0 +1,41 @@
diff --git a/lib/cgraph/scan.l b/lib/cgraph/scan.l
index e2215d1..f41049d 100644
--- a/lib/cgraph/scan.l
+++ b/lib/cgraph/scan.l
@@ -16,6 +16,7 @@
%{
#include <grammar.h>
#include <cghdr.h>
+#include <agxbuf.h>
#include <ctype.h>
#define GRAPH_EOF_TOKEN '@' /* lex class must be defined below */
/* this is a workaround for linux flex */
@@ -192,13 +193,22 @@ ID ({NAME}|{NUMBER})
%%
void yyerror(char *str)
{
+ unsigned char xbuf[BUFSIZ];
char buf[BUFSIZ];
- if (InputFile)
- sprintf(buf,"%s:%d: %s in line %d near '%s'\n",InputFile, line_num,
- str,line_num,yytext);
- else
- sprintf(buf," %s in line %d near '%s'\n", str,line_num,yytext);
- agerr(AGWARN,buf);
+ agxbuf xb;
+
+ agxbinit(&xb, BUFSIZ, xbuf);
+ if (InputFile) {
+ agxbput (&xb, InputFile);
+ agxbput (&xb, ": ");
+ }
+ agxbput (&xb, str);
+ sprintf(buf," in line %d near '", line_num);
+ agxbput (&xb, buf);
+ agxbput (&xb, yytext);
+ agxbput (&xb,"'\n");
+ agerr(AGWARN,agxbuse(&xb));
+ agxbfree(&xb);
}
/* must be here to see flex's macro defns */
void aglexeof() { unput(GRAPH_EOF_TOKEN); }

58
SOURCES/graphviz-2.30.1-CVE-2014-1236.patch

@ -0,0 +1,58 @@ @@ -0,0 +1,58 @@
From 1d1bdec6318746f6f19f245db589eddc887ae8ff Mon Sep 17 00:00:00 2001
From: "Emden R. Gansner" <erg@alum.mit.edu>
Date: Wed, 8 Jan 2014 11:31:04 -0500
Subject: [PATCH] Fix possible buffer overflow problem in chkNum of scanner.

---
lib/cgraph/scan.l | 35 ++++++++++++++++++++++++++---------
1 file changed, 26 insertions(+), 9 deletions(-)

diff --git a/lib/cgraph/scan.l b/lib/cgraph/scan.l
index 212967c..d065b61 100644
--- a/lib/cgraph/scan.l
+++ b/lib/cgraph/scan.l
@@ -129,15 +129,32 @@ static void ppDirective (void)
* and report this to the user.
*/
static int chkNum(void) {
- unsigned char c = (unsigned char)yytext[yyleng-1]; /* last character */
- if (!isdigit(c) && (c != '.')) { /* c is letter */
- char buf[BUFSIZ];
- sprintf(buf,"syntax error - badly formed number '%s' in line %d of %s\n",yytext,line_num, InputFile);
- strcat (buf, "splits into two name tokens\n");
- agerr(AGWARN,buf);
- return 1;
- }
- else return 0;
+ unsigned char c = (unsigned char)yytext[yyleng-1]; /* last character */
+ if (!isdigit(c) && (c != '.')) { /* c is letter */
+ unsigned char xbuf[BUFSIZ];
+ char buf[BUFSIZ];
+ agxbuf xb;
+ char* fname;
+
+ if (InputFile)
+ fname = InputFile;
+ else
+ fname = "input";
+
+ agxbinit(&xb, BUFSIZ, xbuf);
+
+ agxbput(&xb,"syntax ambiguity - badly delimited number '");
+ agxbput(&xb,yytext);
+ sprintf(buf,"' in line %d of ", line_num);
+ agxbput(&xb,buf);
+ agxbput(&xb,fname);
+ agxbput(&xb, " splits into two tokens\n");
+ agerr(AGWARN,agxbuse(&xb));
+
+ agxbfree(&xb);
+ return 1;
+ }
+ else return 0;
}
/* The LETTER class below consists of ascii letters, underscore, all non-ascii
--
1.8.5.1

27
SOURCES/graphviz-2.30.1-guile2-fix.patch

@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
diff -up graphviz-2.30.1/configure.ac.orig graphviz-2.30.1/configure.ac
--- graphviz-2.30.1/configure.ac.orig 2013-02-14 14:27:39.000000000 +0100
+++ graphviz-2.30.1/configure.ac 2013-02-15 11:43:17.794608767 +0100
@@ -710,7 +710,7 @@ else
GUILE_LIBS=
# don't die if PKG_CHECK_MODULES not available - el4, el5
PKG_CHECK_MODULES([GUILE],
- [guile >= "$GUILE_VERSION_MAJOR.$GUILE_VERSION_MINOR"],
+ [guile-2.0 >= "$GUILE_VERSION_MAJOR.$GUILE_VERSION_MINOR"],
GUILE_INCLUDES="$GUILE_CFLAGS",
[
PKG_CHECK_MODULES([GUILE],
diff -up graphviz-2.30.1/configure.orig graphviz-2.30.1/configure
--- graphviz-2.30.1/configure.orig 2013-02-15 11:44:09.552556536 +0100
+++ graphviz-2.30.1/configure 2013-02-14 14:30:22.000000000 +0100
@@ -21028,9 +21028,9 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- GUILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "guile >= "$GUILE_VERSION_MAJOR.$GUILE_VERSION_MINOR"" 2>&1`
+ GUILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "guile-2.0 >= "$GUILE_VERSION_MAJOR.$GUILE_VERSION_MINOR"" 2>&1`
else
- GUILE_PKG_ERRORS=`$PKG_CONFIG --print-errors "guile >= "$GUILE_VERSION_MAJOR.$GUILE_VERSION_MINOR"" 2>&1`
+ GUILE_PKG_ERRORS=`$PKG_CONFIG --print-errors "guile-2.0 >= "$GUILE_VERSION_MAJOR.$GUILE_VERSION_MINOR"" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$GUILE_PKG_ERRORS" >&5

12
SOURCES/graphviz-2.30.1-gv2gml-options-fix.patch

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
diff -up graphviz-2.30.1/cmd/tools/gv2gml.c.orig5 graphviz-2.30.1/cmd/tools/gv2gml.c
--- graphviz-2.30.1/cmd/tools/gv2gml.c.orig5 2013-02-14 14:27:39.000000000 +0100
+++ graphviz-2.30.1/cmd/tools/gv2gml.c 2013-07-11 13:54:56.661096922 +0200
@@ -712,7 +712,7 @@ static void initargs(int argc, char **ar
CmdName = cmdName(argv[0]);
opterr = 0;
- while ((c = getopt(argc, argv, ":io:")) != -1) {
+ while ((c = getopt(argc, argv, "o:")) != -1) {
switch (c) {
case 'o':
outFile = openFile(optarg, "w");

11
SOURCES/graphviz-2.30.1-gvc.pc-no-libgraph.patch

@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
diff -up graphviz-2.30.1/lib/gvc/libgvc.pc.in.cgraph graphviz-2.30.1/lib/gvc/libgvc.pc.in
--- graphviz-2.30.1/lib/gvc/libgvc.pc.in.cgraph 2013-04-23 16:13:09.034471849 -0400
+++ graphviz-2.30.1/lib/gvc/libgvc.pc.in 2013-04-23 16:13:12.209471736 -0400
@@ -7,6 +7,6 @@ plugins=@GVPLUGIN_VERSION@
Name: libgvc
Description: The GraphVizContext library
Version: @VERSION@
-Libs: -L${libdir} -lgvc -lgraph -lcdt
+Libs: -L${libdir} -lgvc -lcgraph -lcdt
Cflags: -I${includedir}

82
SOURCES/graphviz-2.30.1-lefty-help.patch

@ -0,0 +1,82 @@ @@ -0,0 +1,82 @@
diff -up graphviz-2.30.1/cmd/lefty/lefty.c.orig8 graphviz-2.30.1/cmd/lefty/lefty.c
--- graphviz-2.30.1/cmd/lefty/lefty.c.orig8 2013-02-14 14:27:39.000000000 +0100
+++ graphviz-2.30.1/cmd/lefty/lefty.c 2013-07-12 12:46:23.730664708 +0200
@@ -86,6 +86,8 @@ static void processargs (int, char **);
static void processstr (char *);
static void printusage (void);
+static char *cmd;
+
#if defined(FEATURE_X11) || defined(FEATURE_NONE)
int main (int argc, char **argv) {
@@ -100,6 +102,8 @@ int main (int argc, char **argv) {
stime = time (NULL);
#endif
+ cmd = argv[0];
+
idlerunmode = 0;
exprstr = NULL;
fp = NULL;
@@ -393,6 +397,25 @@ static int processinput (int waitflag) {
return rtn;
}
+static char* usestr =
+" acceptable options are:\n\
+ -x - exit after processing the input file.\n\
+ -e E - parse and execute expression E.\n\
+ -el N - set error reporting level. (0)\n\
+ -sd N - how much of the stack to show if error is printed. (2)\n\
+ -sb N - how much of each function in the stack show if error is printed. (2)\n\
+ -df S - set default font.\n\
+ -ps F - specify a default file name for postscript files.\n\
+ -? - show help.\n\
+ -V - print version.\n";
+
+static void usage(char *cmd, int eval)
+{
+ fprintf (stderr, "Usage: %s [options] [file]\n", cmd);
+ fputs (usestr, stderr);
+ exit (eval);
+}
+
static void processstr (char *buf) {
char *words[100];
char *s, *s1;
@@ -441,11 +466,19 @@ static void processargs (int argc, char
fprintf (stderr, "lefty version %s\n", LEFTYVERSION);
fprintf (stderr, "graphviz version %s (%s)\n", VERSION, BUILDDATE);
}
+ else if (strcmp (argv[0], "-?") == 0)
+ usage(cmd, 0);
else if (strcmp (argv[0], "-") == 0)
fp = stdin;
+ else if (argv[0][0] == '-') {
+ fprintf (stderr, "option %s unrecognized - ignored\n", argv[0]);
+ usage (cmd, 1);
+ }
else {
- if ((fp = fopen (argv[0], "r")) == NULL)
- panic1 (POS, "main", "cannot open input file: %s", argv[0]);
+ if ((fp = fopen (argv[0], "r")) == NULL) {
+ fprintf (stderr, "cannot open input file: %s", argv[0]);
+ exit(2);
+ }
}
argv++, argc--;
}
diff -up graphviz-2.30.1/cmd/lefty/lefty.1.orig8 graphviz-2.30.1/cmd/lefty/lefty.1
--- graphviz-2.30.1/cmd/lefty/lefty.1.orig8 2013-02-14 14:27:39.000000000 +0100
+++ graphviz-2.30.1/cmd/lefty/lefty.1 2013-07-12 12:48:37.829553144 +0200
@@ -115,6 +115,9 @@ call. The default file name is
.TP
.B -V
Prints the version.
+.TP
+.B -?
+Prints the usage and exits.
.SH SEE ALSO
.I lefty
user guide.

99
SOURCES/graphviz-2.30.1-lua-5.2.patch

@ -0,0 +1,99 @@ @@ -0,0 +1,99 @@
diff -up graphviz-2.30.1/configure.ac.lua-52 graphviz-2.30.1/configure.ac
--- graphviz-2.30.1/configure.ac.lua-52 2013-05-15 14:55:05.523513480 -0400
+++ graphviz-2.30.1/configure.ac 2013-05-15 14:59:48.628517728 -0400
@@ -874,7 +874,7 @@ else
if test "x$PKGCONFIG" != "x"; then
AC_MSG_CHECKING(for Lua headers and libraries with pkg-config)
echo
- for l in "$lua_suffix" "" "51" "5.1" "50" "5.0" ; do
+ for l in "$lua_suffix" "" "52" "5.2" "51" "5.1" "50" "5.0" ; do
pkgconfig_lua_found=`$PKGCONFIG --exists lua$l 2>/dev/null`
if test "x$?" == "x0" ; then
LUA_VERSION=`$PKGCONFIG --modversion lua$l`
@@ -895,7 +895,7 @@ else
if test "x$LUA_INCLUDES" == "x" -o "x$LUA_LIBS" == "x" ; then
LUACONFIG=""
- AC_CHECK_PROGS(LUACONFIG, lua-config lua-config51 lua-config5.1 lua-config50 lua-config5.0)
+ AC_CHECK_PROGS(LUACONFIG, lua-config lua-config52 lua-config5.2 lua-config51 lua-config5.1 lua-config50 lua-config5.0)
if test "x$LUACONFIG" != "x" ; then
AC_MSG_CHECKING(for Lua headers and libraries with lua-config)
echo
@@ -914,39 +914,53 @@ else
if test "x$ac_found_lua_header" == "xyes" -a "x$ac_found_liblua_header" == "xyes"; then
LUA_INCLUDES="$CFLAGS"
fi
- for l in "$lua_suffix" "" "51" "5.1" "50" "5.0" ; do
- AC_CHECK_LIB(lua$l,lua_call,ac_found_lua_lib="yes",ac_found_lua_lib="no")
+ for l in "$lua_suffix" "" "52" "5.2" "51" "5.1" "50" "5.0" ; do
+ AC_CHECK_LIB(lua$l,lua_callk,ac_found_lua_lib="yes",ac_found_lua_lib="no")
if test "x$ac_found_lua_lib" == "xyes" ; then
- LUA_VERSION=">=5.1.0"
-
- LUA_LIBS="$LDFLAGS -llua$l -lm"
-
- ac2_save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -llua$l -lm"
-
- if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
- LDFLAGS="$LDFLAGS -ldl"
- fi
+ LUA_VERSION=">=5.2.0"
+
+ LUA_LIBS="$LDFLAGS -llua$l -lm"
+
+ ac2_save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -llua$l -lm"
+
+ if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
+ LDFLAGS="$LDFLAGS -ldl"
+ fi
+
+ AC_CHECK_LIB(lua$l,lua_call,ac_found_lua_lib="yes",ac_found_lua_lib="no")
+ if test "x$ac_found_lua_lib" == "xyes" ; then
+ LUA_VERSION=">=5.1.0"
- AC_CHECK_LIB(lualib$l,luaL_openlib,ac_found_liblua_lib="yes",ac_found_liblua_lib="no")
- if test "x$ac_found_liblua_lib" == "xyes" ; then
- LUA_VERSION="5.0.x"
+ LUA_LIBS="$LDFLAGS -llua$l -lm"
- LUA_LIBS="$LUA_LFLAGS -llualib$l"
+ ac2_save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -llua$l -lm"
- if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
- LUA_LIBS="$LUA_LFLAGS -ldl"
- fi
- fi
+ if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
+ LDFLAGS="$LDFLAGS -ldl"
+ fi
- LDFLAGS="$ac2_save_LDFLAGS"
- break
- fi
+ AC_CHECK_LIB(lualib$l,luaL_openlib,ac_found_liblua_lib="yes",ac_found_liblua_lib="no")
+ if test "x$ac_found_liblua_lib" == "xyes" ; then
+ LUA_VERSION="5.0.x"
+
+ LUA_LIBS="$LUA_LFLAGS -llualib$l"
+
+ if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
+ LUA_LIBS="$LUA_LFLAGS -ldl"
+ fi
+ fi
+
+ LDFLAGS="$ac2_save_LDFLAGS"
+ break
+ fi
+ fi
done
fi
AC_MSG_CHECKING(for Lua compiling and linking)
- LUA_TEST=`LT=luatest.c ; echo "#include <lua.h>" > $LT; echo "#include <lualib.h>" >> $LT; echo "int main() { luaopen_base((lua_State *)lua_open()); return 0; }" >> $LT ; $CC -Wall $LT -o $LT.out $LUA_INCLUDES $LUA_LIBS $CFLAGS $LDFLAGS 1>/dev/null 2>&1 ; echo $?; rm -f $LT $LT.out 1>/dev/null 2>&1`
+ LUA_TEST=`LT=luatest.c ; echo "#include <lua.h>" > $LT; echo "#include <lualib.h>" >> $LT; echo "int main() { luaopen_base((lua_State *)luaL_newstate()); return 0; }" >> $LT ; $CC -Wall $LT -o $LT.out $LUA_INCLUDES $LUA_LIBS $CFLAGS $LDFLAGS 1>/dev/null 2>&1 ; echo $?; rm -f $LT $LT.out 1>/dev/null 2>&1`
if test "x$LUA_TEST" != "x0" ; then
AC_MSG_RESULT(no)
AC_MSG_WARN([

172
SOURCES/graphviz-2.30.1-man-fix.patch

@ -0,0 +1,172 @@ @@ -0,0 +1,172 @@
diff -up graphviz-2.30.1/cmd/dot/dot.1.orig2 graphviz-2.30.1/cmd/dot/dot.1
--- graphviz-2.30.1/cmd/dot/dot.1.orig2 2013-02-14 14:27:39.000000000 +0100
+++ graphviz-2.30.1/cmd/dot/dot.1 2013-07-09 14:34:22.000000000 +0200
@@ -22,6 +22,17 @@ sfdp \- filter for drawing large undirec
[\fB\-P\fR]
[\fB\-v\fR]
[\fB\-V\fR]
+[\fB\-Lg\fR]
+[\fB\-LO\fR]
+[\fB\-Ln\fIiter\fR]
+[\fB\-LU\fIfuns\fR]
+[\fB\-LC\fIfover\fR]
+[\fB\-LT\fR[\fB*\fR]\fIftemp\fR]
+[\fB\-c\fR]
+[\fB\-m\fR]
+[\fB\-q\fIlevel\fR]
+[\fB\-s\fIfscale\fR]
+[\fB\-y\fR]
[files]
.br
\fBneato\fR
@@ -645,6 +656,28 @@ As usual, edge layout is guided by the \
.PP
\fB\-v\fP (verbose) prints various information useful for debugging.
.PP
+\fB\-Lg\fP do not use grid.
+.PP
+\fB\-LO\fP use old attractive force.
+.PP
+\fB\-Ln\fP\fIiter\fP set number of iterations to \fIiter\fP.
+.PP
+\fB\-LU\fP\fIfuns\fP set unscaled factor to \fIfuns\fP.
+.PP
+\fB\-LC\fP\fIfover\fP set overlap expansion factor to \fIfover\fP.
+.PP
+\fB\-LT\fP[\fB*\fP]\fIftemp\fP set temperature factor to \fIftemp\fP.
+.PP
+\fB\-c\fP configure plugins (write $prefix/lib/graphviz/config).
+.PP
+\fB\-m\fP memory test (observe no growth with top, kill when done).
+.PP
+\fB\-q\fIlevel\fP set level of message suppression, the default is 1.
+.PP
+\fB\-s\fIfscale\fP scale input by \fIfscale\fP, the default is 72.
+.PP
+\fB\-y\fR invert y coordinate in output.
+.PP
\fB\-V\fP (version) prints version information and exits.
.PP
\fB\-?\fP prints the usage and exits.
diff -up graphviz-2.30.1/cmd/dotty/dotty.1.orig3 graphviz-2.30.1/cmd/dotty/dotty.1
--- graphviz-2.30.1/cmd/dotty/dotty.1.orig3 2013-02-14 14:27:39.000000000 +0100
+++ graphviz-2.30.1/cmd/dotty/dotty.1 2013-07-11 10:47:53.050605825 +0200
@@ -6,6 +6,10 @@ dotty \- A Customizable Graph Editor
[
.B -V
] [
+.BI -lm mode
+] [
+.BI -el lev
+] [
.I file
]
.SH DESCRIPTION
@@ -48,6 +54,12 @@ window.
.TP
.B -V
Prints the version.
+.TP
+.BI -lm mode
+Sets the layout mode. The \fImode\fP can be \fBsync\fP or \fBasync\fP. The default is \fBasync\fP.
+.TP
+.BI -el lev
+Sets the mesage level. The \fIlev\fP can be \fB0\fP or \fB1\fP. The default is \fB0\fP.
.SH BUGS
The lefty parser does not accept anonymous graphs.
.SH SEE ALSO
diff -up graphviz-2.30.1/cmd/gvmap/cluster.1.orig2 graphviz-2.30.1/cmd/gvmap/cluster.1
--- graphviz-2.30.1/cmd/gvmap/cluster.1.orig2 2013-02-14 14:27:39.000000000 +0100
+++ graphviz-2.30.1/cmd/gvmap/cluster.1 2013-07-11 10:20:14.181466011 +0200
@@ -13,6 +13,9 @@ cluster \- find clusters in a graph and
.BI \-C k
]
[
+.BI \-c k
+]
+[
.B \-o
.I outfile
]
@@ -37,6 +40,10 @@ specifies a targeted number of clusters
The specified number \fIk\fP is only a suggestion and may not be realisable.
If \fIk == 0\fP, the default, the number of clusters that approximately optimizes the modularity is returned.
.TP
+.BI \-c k
+specifies clustering method.
+If \fIk == 0\fP, the default, the modularity will be used. If \fIk == 1\fP modularity quality will be used.
+.TP
.BI \-o outfile
Specifies that output should go into the file \fIoutfile\fP. By default,
\fIstdout\fP is used.
diff -up graphviz-2.30.1/cmd/tools/gc.1.orig4 graphviz-2.30.1/cmd/tools/gc.1
--- graphviz-2.30.1/cmd/tools/gc.1.orig4 2013-02-14 14:27:39.000000000 +0100
+++ graphviz-2.30.1/cmd/tools/gc.1 2013-07-11 13:36:14.847815612 +0200
@@ -4,7 +4,7 @@ gc \- count graph components
.SH SYNOPSIS
.B gc
[
-.B \-necCaDUrs?
+.B \-necCaDUrsv?
]
[
.I files
@@ -50,6 +50,9 @@ Only analyze directed graphs.
.B \-U
Only analyze undirected graphs.
.TP
+.B \-v
+Verbose output.
+.TP
.B \-?
Print usage information.
.LP
diff -up graphviz-2.30.1/cmd/tools/gvgen.1.orig6 graphviz-2.30.1/cmd/tools/gvgen.1
--- graphviz-2.30.1/cmd/tools/gvgen.1.orig6 2013-02-14 14:27:39.000000000 +0100
+++ graphviz-2.30.1/cmd/tools/gvgen.1 2013-07-11 14:58:56.599050271 +0200
@@ -4,7 +4,7 @@ gvgen \- generate graphs
.SH SYNOPSIS
.B gvgen
[
-.B \-d?
+.B \-dV?
]
[
.BI -i n
@@ -198,6 +198,9 @@ Otherwise, the graph is written to stand
.B \-d
Make the generated graph directed.
.TP
+.B \-V
+Verbose output.
+.TP
.B \-?
Print usage information.
.SH "EXIT STATUS"
diff -up graphviz-2.30.1/cmd/lneato/lneato.1.orig9 graphviz-2.30.1/cmd/lneato/lneato.1
--- graphviz-2.30.1/cmd/lneato/lneato.1.orig9 2013-02-14 14:27:39.000000000 +0100
+++ graphviz-2.30.1/cmd/lneato/lneato.1 2013-07-12 13:24:46.817426092 +0200
@@ -6,6 +6,10 @@ lneato \- A Customizable Graph Editor
[
.B -V
] [
+.BI -lm mode
+] [
+.BI -el lev
+] [
.I file
]
.SH DESCRIPTION
@@ -48,6 +52,12 @@ window.
.TP
.B -V
Prints the version.
+.TP
+.BI -lm mode
+Sets the layout mode. The \fImode\fP can be \fBsync\fP or \fBasync\fP. The default is \fBasync\fP.
+.TP
+.BI -el lev
+Sets the mesage level. The \fIlev\fP can be \fB0\fP or \fB1\fP. The default is \fB0\fP.
.SH SEE ALSO
neato(1), lefty(1), dotty(1), xdot(3),
.br

11
SOURCES/graphviz-2.30.1-ocaml-int64-fix.patch

@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
--- graphviz-2.30.1.old/tclpkg/gv/Makefile.am 2013-02-14 13:27:39.000000000 +0000
+++ graphviz-2.30.1/tclpkg/gv/Makefile.am 2017-09-16 12:12:11.571092950 +0100
@@ -109,7 +109,7 @@
libgv_ocaml_la_SOURCES = $(BASESOURCES) gv_dummy_init.c
libgv_ocaml_la_LIBADD = $(BASELIBS) $(OCAML_LIBS)
libgv_ocaml_la_LDFLAGS = -module -avoid-version
-libgv_ocaml_la_CPPFLAGS = $(BASECPPFLAGS) $(OCAML_INCLUDES)
+libgv_ocaml_la_CPPFLAGS = $(BASECPPFLAGS) $(OCAML_INCLUDES) -Dint64=int64_t
gv.ml gv.mli: gv_ocaml.cpp
gv_ocaml.cpp: gv.i
$(SWIG) -c++ -ocaml -o gv_ocaml.cpp $(srcdir)/gv.i

13
SOURCES/graphviz-2.30.1-ppc64le-fix.patch

@ -0,0 +1,13 @@ @@ -0,0 +1,13 @@
diff --git a/configure.ac b/configure.ac
index 8b79117..eb8aae0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -100,7 +100,7 @@ LIBPOSTFIX=
case "${host_os}" in
*linux* )
case "${host_cpu}" in
- powerpc64 | s390x | x86_64 | sparc64 | aarch64)
+ powerpc64* | s390x | x86_64 | sparc64 | aarch64)
LIBPOSTFIX="64"
;;
esac

45
SOURCES/graphviz-2.30.1-prune-help.patch

@ -0,0 +1,45 @@ @@ -0,0 +1,45 @@
diff -up graphviz-2.30.1/contrib/prune/prune.c.orig10 graphviz-2.30.1/contrib/prune/prune.c
--- graphviz-2.30.1/contrib/prune/prune.c.orig10 2013-02-14 14:27:39.000000000 +0100
+++ graphviz-2.30.1/contrib/prune/prune.c 2013-07-12 13:35:44.315004975 +0200
@@ -128,7 +128,11 @@ int main(int argc, char **argv)
break;
}
case '?':
- if (isprint(optopt)) {
+ if (optopt == '?')
+ {
+ help_message(progname);
+ exit(EXIT_SUCCESS);
+ } else if (isprint(optopt)) {
fprintf(stderr, "Unknown option `-%c'.\n", optopt);
} else {
fprintf(stderr, "Unknown option character `\\x%X'.\n",
diff -up graphviz-2.30.1/contrib/prune/prune.1.orig10 graphviz-2.30.1/contrib/prune/prune.1
--- graphviz-2.30.1/contrib/prune/prune.1.orig10 2013-02-14 14:27:39.000000000 +0100
+++ graphviz-2.30.1/contrib/prune/prune.1 2013-07-12 13:45:30.544918729 +0200
@@ -20,6 +20,12 @@ prune \- Prune directed graphs
.BI \-N " attrspec"
]
[
+.B \-v
+]
+[
+.BR \- ( h | ? )
+]
+[
.I files ...
]
.SH DESCRIPTION
@@ -54,6 +60,12 @@ pruned node.
.I attrspec
is a string of the form
.IR attr "=" value.
+.TP
+.B \-v
+Verbose output.
+.TP
+.BR \-h " "\-?
+Prints the usage and exits.
.SH EXAMPLES
An input graph

17
SOURCES/graphviz-2.30.1-smyrna-doc-opt.patch

@ -0,0 +1,17 @@ @@ -0,0 +1,17 @@
diff -up graphviz-2.30.1/cmd/smyrna/Makefile.am.orig2 graphviz-2.30.1/cmd/smyrna/Makefile.am
--- graphviz-2.30.1/cmd/smyrna/Makefile.am.orig2 2013-02-14 14:27:39.000000000 +0100
+++ graphviz-2.30.1/cmd/smyrna/Makefile.am 2013-07-09 13:18:30.792483754 +0200
@@ -2,10 +2,13 @@
## Process this file with automake to produce Makefile.in
pdfdir = $(pkgdatadir)/doc/pdf
+
+if WITH_SMYRNA
man = smyrna.1
pdf = smyrna.1.pdf
man_MANS = $(man)
pdf_DATA = $(pdf)
+endif
AM_CPPFLAGS = \
-DSMYRNA_PATH=\""$(pkgdatadir)/smyrna"\" \

13
SOURCES/graphviz-2.32.0-aarch64.patch

@ -0,0 +1,13 @@ @@ -0,0 +1,13 @@
diff --git a/configure.ac b/configure.ac
index 5bde0a0..3726921 100644
--- a/configure.ac
+++ b/configure.ac
@@ -100,7 +100,7 @@ LIBPOSTFIX=
case "${host_os}" in
*linux* )
case "${host_cpu}" in
- powerpc64 | s390x | x86_64 | sparc64 )
+ powerpc64 | s390x | x86_64 | sparc64 | aarch64)
LIBPOSTFIX="64"
;;
esac

45
SOURCES/graphviz-2.34.0-lefty-getaddrinfo.patch

@ -0,0 +1,45 @@ @@ -0,0 +1,45 @@
diff -up graphviz-2.34.0/cmd/lefty/os/unix/io.c.orig graphviz-2.34.0/cmd/lefty/os/unix/io.c
--- graphviz-2.34.0/cmd/lefty/os/unix/io.c.orig 2013-09-07 03:07:52.000000000 +0200
+++ graphviz-2.34.0/cmd/lefty/os/unix/io.c 2013-10-30 17:38:59.746296595 +0100
@@ -285,9 +285,8 @@ int IOwriteline (int ioi, char *bufp) {
static FILE *serverconnect (char *name) {
char *host, *portp, buf[1024];
- int port;
- struct hostent *hp;
- struct sockaddr_in sin;
+ struct addrinfo *ai;
+ struct addrinfo hints;
int cfd;
strcpy (buf, name);
@@ -295,17 +294,18 @@ static FILE *serverconnect (char *name)
portp = strchr (host, '/');
if (*host == 0 || !portp)
return NULL;
- *portp++ = 0, port = atoi (portp);
- if (!(hp = gethostbyname (host)))
- return NULL;
- memset ((char *) &sin, 1, sizeof (sin));
- memcpy ((char *) &sin.sin_addr, hp->h_addr, hp->h_length);
- sin.sin_family = hp->h_addrtype;
- sin.sin_port = htons (port);
- if ((cfd = socket (hp->h_addrtype, SOCK_STREAM, 0)) < 0)
- return NULL;
- if (connect (cfd, (struct sockaddr *) &sin, sizeof (sin)) < 0)
- return NULL;
+ *portp++ = 0;
+ memset (&hints, 0, sizeof (hints));
+ hints.ai_family = AF_UNSPEC;
+ hints.ai_flags = AI_ADDRCONFIG | AI_NUMERICSERV;
+ hints.ai_socktype = SOCK_STREAM;
+ if (getaddrinfo (host, portp, &hints, &ai))
+ return freeaddrinfo(ai), NULL;
+ if ((cfd = socket (ai->ai_family, ai->ai_socktype, ai->ai_protocol)) < 0)
+ return freeaddrinfo(ai), NULL;
+ if (connect (cfd, ai->ai_addr, ai->ai_addrlen) < 0)
+ return freeaddrinfo(ai), NULL;
+ freeaddrinfo(ai);
return fdopen (cfd, "w+");
}

910
SPECS/graphviz.spec

@ -0,0 +1,910 @@ @@ -0,0 +1,910 @@
# Necessary conditionals
%ifarch ppc64 s390 s390x sparc64 %{arm} alpha
%global SHARP 0
%else
%global SHARP 1
%endif

%ifarch %{ocaml_arches}
%global OCAML 1
%else
%global OCAML 0
%endif

%global DEVIL 1
%global ARRRR 1

# Build with QT applications (currently only gvedit)
# Disabled until the package gets better structuring, see bug #447133
%global QTAPPS 0

%global GTS 1
%global LASI 1

# Not in Fedora yet.
%global MING 0

%if 0%{?rhel}
%global SHARP 0
%global ARRRR 0
%global DEVIL 0
%global GTS 0
%global LASI 0
%endif

# Plugins version
%global pluginsver 6

%global php_extdir %(php-config --extension-dir 2>/dev/null || echo %{_libdir}/php4)
# Fix private-shared-object-provides
# RPM 4.9
%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}%{php_extdir}/.*\\.so$

# Fix for the 387 extended precision (rhbz#772637)
%ifarch i386 i686
%global FFSTORE -ffloat-store
%endif

Name: graphviz
Summary: Graph Visualization Tools
Version: 2.30.1
Release: 21%{?dist}
Group: Applications/Multimedia
License: EPL
URL: http://www.graphviz.org/
Source0: http://www.graphviz.org/pub/graphviz/ARCHIVE/%{name}-%{version}.tar.gz
Patch2: graphviz-2.30.1-guile2-fix.patch
# Fix SIGSEGVs on testsuite (#645703).
Patch3: graphviz-2.26.0-testsuite-sigsegv-fix.patch
# Testsuite now do diff check also in case of err output (#645703).
Patch4: graphviz-2.26.0-rtest-errout-fix.patch
# Now that libgraph is gone, reflect that in libgvc.pc
Patch5: graphviz-2.30.1-gvc.pc-no-libgraph.patch
# Lua 5.2
Patch6: graphviz-2.30.1-lua-5.2.patch
# Accepted upstream, ticket #2302
Patch7: graphviz-2.30.1-smyrna-doc-opt.patch
# Accepted upstream, ticket #2304
Patch8: graphviz-2.30.1-gv2gml-options-fix.patch
# Sent upstream, ticket #2305
Patch9: graphviz-2.30.1-lefty-help.patch
# Sent upstream, ticket #2306
Patch10: graphviz-2.30.1-prune-help.patch
# Sent upstream, ticket #2307
Patch11: graphviz-2.30.1-man-fix.patch
# Already in upstream
Patch12: graphviz-2.32.0-aarch64.patch
# Upstream bug 0002387
Patch13: graphviz-2.34.0-lefty-getaddrinfo.patch
# Fix yyerror overflow (CVE-2014-0978, CVE-2014-1235)
Patch14: graphviz-2.30.1-CVE-2014-0978-CVE-2014-1235.patch
# Fix chknum overflow (CVE-2014-1236)
Patch15: graphviz-2.30.1-CVE-2014-1236.patch
# Fix for ppc64le
Patch16: graphviz-2.30.1-ppc64le-fix.patch
# Fix for OCaml 4.05
Patch17: graphviz-2.30.1-ocaml-int64-fix.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: zlib-devel, libpng-devel, libjpeg-devel, expat-devel, freetype-devel >= 2
BuildRequires: ksh, bison, m4, flex, tk-devel, tcl-devel >= 8.3, swig
BuildRequires: fontconfig-devel, libtool-ltdl-devel, ruby-devel, ruby, guile-devel, python-devel
BuildRequires: libXaw-devel, libSM-devel, libXext-devel, java-devel, php-devel
BuildRequires: cairo-devel >= 1.1.10, pango-devel, gmp-devel, lua-devel, gtk2-devel, libgnomeui-devel
BuildRequires: gd-devel, perl-devel, swig >= 1.3.33, automake, autoconf, libtool, qpdf
# Temporary workaound for perl(Carp) not pulled
BuildRequires: perl-Carp
%if %{SHARP}
BuildRequires: mono-core
%endif
%if %{DEVIL}
BuildRequires: DevIL-devel
%endif
%if %{ARRRR}
BuildRequires: R-devel
%endif
%if %{OCAML}
BuildRequires: ocaml
%endif
%if %{QTAPPS}
BuildRequires: qt-devel
%endif
%if %{GTS}
BuildRequires: gts-devel
%endif
%if %{LASI}
BuildRequires: lasi-devel
%endif
BuildRequires: urw-fonts, perl-ExtUtils-Embed, ghostscript-devel, librsvg2-devel
Requires: urw-fonts
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig

%description
A collection of tools for the manipulation and layout of graphs (as in nodes
and edges, not as in barcharts).

%package devel
Group: Development/Libraries
Summary: Development package for graphviz
Requires: %{name} = %{version}-%{release}, pkgconfig
Requires: %{name}-gd = %{version}-%{release}

%description devel
A collection of tools for the manipulation and layout of graphs (as in nodes
and edges, not as in barcharts). This package contains development files for
graphviz.

%if %{DEVIL}
%package devil
Group: Applications/Multimedia
Summary: Graphviz plugin for renderers based on DevIL
Requires: %{name} = %{version}-%{release}

%description devil
Graphviz plugin for renderers based on DevIL. (Unless you absolutely have
to use BMP, TIF, or TGA, you are recommended to use the PNG format instead
supported directly by the cairo+pango based renderer in the base graphviz rpm.)
%endif

%package doc
Group: Documentation
Summary: PDF and HTML documents for graphviz

%description doc
Provides some additional PDF and HTML documentation for graphviz.

%package gd
Group: Applications/Multimedia
Summary: Graphviz plugin for renderers based on gd
Requires: %{name} = %{version}-%{release}
Requires(post): %{_bindir}/dot /sbin/ldconfig
Requires(postun): %{_bindir}/dot /sbin/ldconfig

%description gd
Graphviz plugin for renderers based on gd. (Unless you absolutely have to use
GIF, you are recommended to use the PNG format instead because of the better
quality anti-aliased lines provided by the cairo+pango based renderer.)

%package graphs
Group: Applications/Multimedia
Summary: Demo graphs for graphviz

%description graphs
Some demo graphs for graphviz.

%package guile
Group: Applications/Multimedia
Summary: Guile extension for graphviz
Requires: %{name} = %{version}-%{release}, guile

%description guile
Guile extension for graphviz.

%package java
Group: Applications/Multimedia
Summary: Java extension for graphviz
Requires: %{name} = %{version}-%{release}

%description java
Java extension for graphviz.

%package lua
Group: Applications/Multimedia
Summary: Lua extension for graphviz
Requires: %{name} = %{version}-%{release}, lua

%description lua
Lua extension for graphviz.

%if %{MING}
%package ming
Group: Applications/Multimedia
Summary: Graphviz plugin for flash renderer based on ming
Requires: %{name} = %{version}-%{release}

%description ming
Graphviz plugin for -Tswf (flash) renderer based on ming.
%endif

%if %{OCAML}
%package ocaml
Group: Applications/Multimedia
Summary: Ocaml extension for graphviz
Requires: %{name} = %{version}-%{release}, ocaml

%description ocaml
Ocaml extension for graphviz.
%endif

%package perl
Group: Applications/Multimedia
Summary: Perl extension for graphviz
Requires: %{name} = %{version}-%{release}
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))

%description perl
Perl extension for graphviz.

%package php
Group: Applications/Multimedia
Summary: PHP extension for graphviz
Requires: %{name} = %{version}-%{release}
Requires: php(zend-abi) = %{php_zend_api}
Requires: php(api) = %{php_core_api}

%description php
PHP extension for graphviz.

%package python
Group: Applications/Multimedia
Summary: Python extension for graphviz
Requires: %{name} = %{version}-%{release}, python

%description python
Python extension for graphviz.

%if %{ARRRR}
%package R
Group: Applications/Multimedia
Summary: R extension for graphviz
Requires: %{name} = %{version}-%{release}, R-core

%description R
R extension for graphviz.
%endif

%package ruby
Group: Applications/Multimedia
Summary: Ruby extension for graphviz
Requires: %{name} = %{version}-%{release}, ruby

%description ruby
Ruby extension for graphviz.

%if %{SHARP}
%package sharp
Group: Applications/Multimedia
Summary: C# extension for graphviz
Requires: %{name} = %{version}-%{release}, mono-core

%description sharp
C# extension for graphviz.
%endif

%package tcl
Group: Applications/Multimedia
Summary: Tcl extension & tools for graphviz
Requires: %{name} = %{version}-%{release}, tcl >= 8.3, tk

%description tcl
Various tcl packages (extensions) for the graphviz tools.

%prep
%setup -q
%patch2 -p1 -b .guile2-fix
%patch3 -p1 -b .testsuite-sigsegv-fix
%patch4 -p1 -b .rtest-errout-fix
%patch5 -p1 -b .cgraph
%patch6 -p1 -b .lua-52
%patch7 -p1 -b .smyrna-doc-opt
%patch8 -p1 -b .gv2gml-options-fix
%patch9 -p1 -b .lefty-help
%patch10 -p1 -b .prune-help
%patch11 -p1 -b .man-fix
%patch12 -p1 -b .aarch64
%patch13 -p1 -b .lefty-getaddrinfo
%patch14 -p1 -b .CVE-2014-0978-CVE-2014-1235
%patch15 -p1 -b .CVE-2014-1236
%patch16 -p1 -b .ppc64le-fix
%patch17 -p1 -b .ocaml-int64-fix

# Attempt to fix rpmlint warnings about executable sources
find -type f -regex '.*\.\(c\|h\)$' -exec chmod a-x {} ';'

%build
autoreconf -if
# Hack in the java includes we need
sed -i '/JavaVM.framework/!s/JAVA_INCLUDES=/JAVA_INCLUDES=\"_MY_JAVA_INCLUDES_\"/g' configure
sed -i 's|_MY_JAVA_INCLUDES_|-I%{java_home}/include/ -I%{java_home}/include/linux/|g' configure
# Rewrite config_ruby.rb to work with Ruby 1.9
sed -i 's|expand(|expand(Config::|' config/config_ruby.rb
sed -i 's|sitearchdir|vendorarchdir|' config/config_ruby.rb

# get the path to search for ruby/config.h to CPPFLAGS, so that configure can find it
export CPPFLAGS=-I`ruby -e "puts File.join(RbConfig::CONFIG['includedir'], RbConfig::CONFIG['sitearch'])" || echo /dev/null`
%configure --with-x --disable-static --disable-dependency-tracking --without-mylibgd --with-ipsepcola --with-pangocairo --with-gdk-pixbuf \
%if ! %{LASI}
--without-lasi \
%endif
%if ! %{GTS}
--without-gts \
%endif
%if ! %{SHARP}
--disable-sharp \
%endif
%if ! %{OCAML}
--disable-ocaml \
%endif
%if ! %{MING}
--without-ming \
%endif
%if ! %{ARRRR}
--disable-r \
%endif
%if ! %{DEVIL}
--without-devil \
%endif
%if ! %{QTAPPS}
--without-qt \
%endif

make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fno-strict-overflow %{?FFSTORE}" \
CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fno-strict-overflow %{?FFSTORE}"

%install
rm -rf %{buildroot}
make DESTDIR=%{buildroot} \
docdir=%{buildroot}%{_docdir}/%{name}-%{version} \
pkgconfigdir=%{_libdir}/pkgconfig \
install
find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
chmod -x %{buildroot}%{_datadir}/%{name}/lefty/*

# Move docs to the right place
mkdir -p %{buildroot}%{_docdir}/%{name}-%{version}
mv %{buildroot}%{_datadir}/%{name}/doc/* %{buildroot}%{_docdir}/%{name}-%{version}

# Install README
install -m0644 README %{buildroot}%{_docdir}/%{name}-%{version}

# PHP configuration file
%{__mkdir_p} %{buildroot}%{_sysconfdir}/php.d
%{__cat} << __EOF__ > %{buildroot}%{_sysconfdir}/php.d/%{name}.ini
; Enable %{name} extension module
extension=gv.so
__EOF__

# Remove executable modes from demos
find %{buildroot}%{_datadir}/%{name}/demo -type f -exec chmod a-x {} ';'

# Move demos to doc
mv %{buildroot}%{_datadir}/%{name}/demo %{buildroot}%{_docdir}/%{name}-%{version}/

# Rename python demos to prevent byte compilation
find %{buildroot}%{_docdir}/%{name}-%{version}/demo -type f -name "*.py" -exec mv {} {}.demo ';'

# Remove dot_builtins, on demand loading should be sufficient
rm -f %{buildroot}%{_bindir}/dot_builtins

# Remove metadata from generated PDFs
pushd %{buildroot}%{_docdir}/%{name}-%{version}/pdf
for f in prune lneato.1 lefty.1 gvgen.1 gc.1 dotty.1 dot.1 cluster.1
do
if [ -f $f.pdf ]
then
# ugly, but there is probably no better solution
qpdf --empty --static-id --pages $f.pdf -- $f.pdf.$$
mv -f $f.pdf.$$ $f.pdf
fi
done

# Ghost plugins config
touch %{buildroot}%{_libdir}/graphviz/config%{pluginsver}

%check
# Minimal load test of php extension
LD_LIBRARY_PATH=%{buildroot}%{_libdir} \
php --no-php-ini \
--define extension_dir=%{buildroot}%{_libdir}/graphviz/php/ \
--define extension=libgv_php.so \
--modules | grep gv

# upstream test suite
cd rtest
make rtest

%clean
rm -rf %{buildroot}

%post
/sbin/ldconfig
%{_bindir}/dot -c

%postun
/sbin/ldconfig

%if %{DEVIL}
# run "dot -c" to generate plugin config in %%{_libdir}/graphviz/config*
%post devil
%{_bindir}/dot -c 2>/dev/null || :
/sbin/ldconfig

%postun devil
%{_bindir}/dot -c 2>/dev/null || :
/sbin/ldconfig
%endif

# run "dot -c" to generate plugin config in %%{_libdir}/graphviz/config*
%post gd
%{_bindir}/dot -c 2>/dev/null || :
/sbin/ldconfig

%postun gd
%{_bindir}/dot -c 2>/dev/null || :
/sbin/ldconfig

%if %{MING}
# run "dot -c" to generate plugin config in %%{_libdir}/graphviz/config*
%post ming
%{_bindir}/dot -c 2>/dev/null || :
/sbin/ldconfig

%postun ming
%{_bindir}/dot -c 2>/dev/null || :
/sbin/ldconfig
%endif

%files
%defattr(-,root,root,-)
%doc %{_docdir}/%{name}-%{version}
%{_bindir}/*
%dir %{_libdir}/graphviz
%{_libdir}/*.so.*
%{_libdir}/graphviz/*.so.*
%{_mandir}/man1/*.1*
%{_mandir}/man7/*.7*
%dir %{_datadir}/graphviz
%exclude %{_docdir}/%{name}-%{version}/html
%exclude %{_docdir}/%{name}-%{version}/pdf
%exclude %{_docdir}/%{name}-%{version}/demo
%{_datadir}/graphviz/lefty
%{_datadir}/graphviz/gvpr
%ghost %{_libdir}/graphviz/config%{pluginsver}

%if %{QTAPPS}
%{_datadir}/graphviz/gvedit
%endif

%exclude %{_libdir}/graphviz/*/*
%exclude %{_libdir}/graphviz/libgvplugin_gd.*
%if %{DEVIL}
%exclude %{_libdir}/graphviz/libgvplugin_devil.*
%endif
%if %{MING}
%exclude %{_libdir}/graphviz/libgvplugin_ming.*
%exclude %{_libdir}/graphviz/*fdb
%endif

%files devel
%defattr(-,root,root,-)
%{_includedir}/graphviz
%{_libdir}/*.so
%{_libdir}/graphviz/*.so
%{_libdir}/pkgconfig/*.pc
%{_mandir}/man3/*.3.gz

%if %{DEVIL}
%files devil
%defattr(-,root,root,-)
%{_libdir}/graphviz/libgvplugin_devil.so.*
%endif

%files doc
%defattr(-,root,root,-)
%doc %{_docdir}/%{name}-%{version}/html
%doc %{_docdir}/%{name}-%{version}/pdf
%doc %{_docdir}/%{name}-%{version}/demo

%files gd
%defattr(-,root,root,-)
%{_libdir}/graphviz/libgvplugin_gd.so.*

%files graphs
%defattr(-,root,root,-)
%dir %{_datadir}/graphviz
%{_datadir}/graphviz/graphs

%files guile
%defattr(-,root,root,-)
%{_libdir}/graphviz/guile/
%{_mandir}/man3/gv.3guile*

%files java
%defattr(-,root,root,-)
%{_libdir}/graphviz/java/
%{_mandir}/man3/gv.3java*

%files lua
%defattr(-,root,root,-)
%{_libdir}/graphviz/lua/
%{_libdir}/lua*/*
%{_mandir}/man3/gv.3lua*

%if %{MING}
%files ming
%defattr(-,root,root,-)
%{_libdir}/graphviz/libgvplugin_ming.so.*
%{_libdir}/graphviz/*fdb
%endif

%if %{OCAML}
%files ocaml
%defattr(-,root,root,-)
%{_libdir}/graphviz/ocaml/
%{_mandir}/man3/gv.3ocaml*
%endif

%files perl
%defattr(-,root,root,-)
%{_libdir}/graphviz/perl/
%{_libdir}/perl*/*
%{_mandir}/man3/gv.3perl*

%files php
%defattr(-,root,root,-)
%config(noreplace) %{_sysconfdir}/php.d/%{name}.ini
%{_libdir}/graphviz/php/
%{php_extdir}/gv.so
%{_datadir}/php*/*
%{_mandir}/man3/gv.3php*

%files python
%defattr(-,root,root,-)
%{_libdir}/graphviz/python/
%{_libdir}/python*/*
%{_mandir}/man3/gv.3python*

%if %{ARRRR}
%files R
%defattr(-,root,root,-)
%{_libdir}/graphviz/R/
%{_mandir}/man3/gv.3r.gz
%endif

%files ruby
%defattr(-,root,root,-)
%{_libdir}/graphviz/ruby/
%{_libdir}/*ruby*/*
%{_mandir}/man3/gv.3ruby*

%if %{SHARP}
%files sharp
%defattr(-,root,root,-)
%{_libdir}/graphviz/sharp/
%{_mandir}/man3/gv.3sharp*
%endif

%files tcl
%defattr(-,root,root,-)
%{_libdir}/graphviz/tcl/
%{_libdir}/tcl*/*
# hack to include gv.3tcl only if available
# always includes tcldot.3tcl, gdtclft.3tcl
%{_mandir}/man3/*.3tcl*
%{_mandir}/man3/tkspline.3tk*


%changelog
* Sat Sep 16 2017 Richard W.M. Jones <rjones@redhat.com> - 2.30.1-21
- Rebuild for OCaml 4.05.0
resolves: rhbz#1447982

* Thu Aug 31 2017 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-20
- Rebuilt for enabling ocaml binding on aarch64 and ppc64l
Resolves: rhbz#1378657

* Wed Aug 20 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-19
- Fixed build on ppc64le and other ppc64 variants (lua bindings)
Resolves: rhbz#1125538

* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 2.30.1-18
- Mass rebuild 2014-01-24

* Fri Jan 10 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-17
- Prevent possible buffer overflow in yyerror()
Resolves: CVE-2014-1235
- Fix possible buffer overflow problem in chkNum of scanner
Resolves: CVE-2014-1236

* Tue Jan 7 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-16
- Fixed overflow in yyerror
Resolves: CVE-2014-0978

* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 2.30.1-15
- Mass rebuild 2013-12-27

* Thu Oct 31 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-14
- Removed metadata from generated PDFs
Related: rhbz#881173

* Thu Oct 31 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-13
- Fixed multilib conflicts
Rewrote lefty IO lib to use getaddrinfo instead of gethostbyname
(by lefty-getaddrinfo patch)
Resolves: rhbz#881173

* Tue Oct 29 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-12
- Fixed build on aarch64
Resolves: rhbz#1023792

* Fri Aug 30 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-11
- Rebuild due to php macros change
Resolves: rhbz#1002865

* Fri Jul 12 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-10
- Various man and built-in help fixes

* Tue Jun 25 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-9
- Fixed handling of the libdir/graphviz directory

* Tue Jun 11 2013 Remi Collet <rcollet@redhat.com> - 2.30.1-8
- rebuild for new GD 2.1.0

* Wed May 15 2013 Tom Callaway <spot@fedoraproject.org> - 2.30.1-7
- rebuild for lua 5.2

* Tue Apr 23 2013 Tom Callaway <spot@fedoraproject.org> - 2.30.1-6
- patch libgvc.pc.in to refer to -lcgraph (-lgraph is dead and gone)

* Thu Apr 11 2013 Tom Callaway <spot@fedoraproject.org> - 2.30.1-5
- rebuild for R3 (may not be needed, but better safe than sorry)

* Mon Mar 25 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-4
- Added support for aarch64
Resolves: rhbz#925487

* Fri Mar 22 2013 Remi Collet <rcollet@redhat.com> - 2.30.1-3
- rebuild for http://fedoraproject.org/wiki/Features/Php55
- add explicit BuildRequires: perl-Carp (workaround)

* Thu Mar 14 2013 Vít Ondruch <vondruch@redhat.com> - 2.30.1-2
- Rebuild for https://fedoraproject.org/wiki/Features/Ruby_2.0.0

* Fri Feb 15 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-1
- New version
Resolves: rhbz#911520
Resolves: rhbz#704529

* Thu Jan 24 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.0-3
- Used ocaml_arches macros to enable ocaml on supported arches

* Fri Jan 18 2013 Adam Tkac <atkac redhat com> - 2.30.0-2
- rebuild due to "jpeg8-ABI" feature drop

* Mon Jan 14 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.0-1
- New version
Resolves: rhbz#895027
- Dropped guile-detect, ocaml4 patches (not needed)
- Fixed bogus date in changelog (guessing)

* Wed Jan 9 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-26
- Rebuilt with -fno-strict-overflow to workaround the overflow problem
(upstream ticket: http://www.graphviz.org/mantisbt/view.php?id=2244)
- The dot_builtins was removed rather then excluded to fix the dangling
symlinks problem in debuginfo

* Fri Dec 21 2012 Adam Tkac <atkac redhat com> - 2.28.0-25
- rebuild against new libjpeg

* Wed Oct 17 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-24
- Rebuilt for new ocaml

* Fri Aug 17 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-23
- Silenced 'dot -c' errors/warnings in post/postun
- Do not remove dot config in plugins post/postun

* Fri Aug 17 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-22
- dot_builtins no longer installed (lowers implicit deps)
- Fixed post/postuns for plugins
- Removed -ffast-math, added -ffloat-store (on i386) to fix arithmetic on i386

* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.28.0-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Sun Jun 10 2012 Petr Pisar <ppisar@redhat.com> - 2.28.0-20
- Perl 5.16 rebuild

* Sat Jun 9 2012 Richard W.M. Jones <rjones@redhat.com> - 2.28.0-19
- Rebuild for OCaml 4.00.0.
- Enable OCaml on arm and ppc64, since there are working native compilers
for both.

* Wed May 23 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-18
- Improved docs handling code in spec to be backward compatible with older RPM

* Tue May 22 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-17
- All docs are now installed into /usr/share/doc/graphviz-%%{version}
- Demos packaged as docs not to automatically bring in unnecessary deps

* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.28.0-16
- Rebuilt for c++ ABI breakage

* Thu Feb 16 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 2.28.0-15
- fix CPPFLAGS export so it doesn't cause issues on ARM

* Mon Feb 06 2012 Vít Ondruch <vondruch@redhat.com> - 2.28.0-14
- Rebuilt for Ruby 1.9.3.

* Wed Jan 18 2012 Remi Collet <remi@fedoraproject.org> - 2.28.0-13
- build against php 5.4.0
- add filter to fix private-shared-object-provides
- add %%check for php extension

* Sun Jan 08 2012 Richard W.M. Jones <rjones@redhat.com> - 2.28.0-12
- Rebuild for OCaml 3.12.1.

* Thu Dec 8 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-11
- Added conditionals for ARRRR, DEVIL, QTAPPS (gvedit), GTS, LASI
- Fixed conditionals for SHARP, OCAML
- Built with gts, ghostscript, rsvg and lasi
Resolves: rhbz#760926
- Disabled gvedit
Resolves: rhbz#751807
- Fixed rpmlint warnings about executable sources

* Wed Nov 9 2011 Tom Callaway <spot@fedoraproject.org> - 2.28.0-10
- rebuild for R 2.14.0

* Thu Jul 21 2011 Petr Sabata <contyk@redhat.com> - 2.28.0-9
- Perl mass rebuild

* Wed Jul 20 2011 Petr Sabata <contyk@redhat.com> - 2.28.0-8
- Perl mass rebuild

* Thu Jul 07 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-7
- Added gd as devel requirement

* Fri Jun 17 2011 Marcela Mašláňová <mmaslano@redhat.com> - 2.28.0-6
- Perl mass rebuild

* Fri Jun 10 2011 Marcela Mašláňová <mmaslano@redhat.com> - 2.28.0-5
- Perl 5.14 mass rebuild

* Thu May 19 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-4
- Fixed detection of guile 2.x
Resolves: rhbz#704529

* Fri May 13 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-3
- Corrected license tag, the graphviz license is now EPL

* Fri May 13 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-2
- Recompiled with -fno-strict-aliasing in CXXFLAGS

* Tue May 10 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-1
- New version 2.28.0
- Added perl-ExtUtils-Embed to BuildRequires, it is now required
- Fixed build failure due to change in php_zend_api macro type
- Removed sparc64, gtk-progname, doc-index-fix, ppc-darwinhack
patches (all were upstreamed)

* Thu Mar 03 2011 Oliver Falk <oliver@linux-kernel.at> - 2.26.3-5
- Disable mono and ocaml on alpha

* Tue Feb 22 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2.26.3-4
- Added urw-fonts to requires (#677114)

* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.26.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Fri Jan 21 2011 Karsten Hopp <karsten@redhat.com> 2.26.3-2
- fix hack for powerpc-darwin8 in configure

* Thu Jan 06 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2.26.3-1
- New version (#580017)
- Fixed gtk plugin program-name (#640671, gtk-progname patch)
- Fixed broken links in doc index (#642536, doc-index-fix patch)
- Fixed SIGSEGVs on testsuite (#645703, testsuite-sigsegv-fix patch)
- Testsuite now do diff check also in case of err output (#645703,
rtest-errout-fix patch)
- Testsuite enabled on all arches (#645703)
- Added urw-fonts to BuildRequires
- Compiled with -fno-strict-aliasing
- Fixed rpmlint warnings on spec file
- Removed unused patches

* Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 2.26.0-4
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild

* Tue Jun 01 2010 Marcela Maslanova <mmaslano@redhat.com> - 2.26.0-3
- Mass rebuild with perl-5.12.0

* Mon Jan 04 2010 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.26.0-2
- Rebuild for updated ocaml
- Happy new year, Fedora!

* Fri Dec 18 2009 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.26.0-1
- Updated to latest release
- Removed patches that have been applied upstream
- Fixed man page paths (mann -> man3)
- Disabled mono and ocaml for ARM (Jitesh Shah, BZ#532047)
- Disabled regression tests on sparc64 as well as ppc/ppc64 (Dennis Gilmore)

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.20.3-5.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Mon Jul 13 2009 Remi Collet <Fedora@FamilleCollet.com> 2.20.3-4.1
- fix mistake in make rtest fix

* Mon Jul 13 2009 Remi Collet <Fedora@FamilleCollet.com> 2.20.3-4
- rebuild for new PHP 5.3.0 ABI (20090626)
- add PHP ABI check
- use php_extdir (and don't own it)
- add php configuration file (/etc/php.d/graphviz.ini)

* Mon Mar 2 2009 Tom "spot" Callaway <tcallawa@redhat.com> 2.20.3-3
- this spec makes baby animals cry... massively clean it up
- hack in java includes to build against openjdk
- add ruby as a BuildRequires (configure checks for /usr/bin/ruby)

* Wed Feb 25 2009 John Ellson <ellson@graphviz.org> 2.20.3-2.2
- fixes for swig changes

* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.20.3-1.3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Wed Feb 11 2009 Karsten Hopp <karsten@redhat.com> 2.20.3-.2
- make it build on s390, s390x (#469044)

* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 2.20.3-1.1
- Rebuild for Python 2.6

* Mon Nov 24 2008 Tom "spot" Callaway <tcallawa@redhat.com> 2.20.3-1
- update to 2.20.3

* Sat Nov 22 2008 Rex Dieter <rdieter@fedoraproject.org> 2.16.1-0.7
- respin (libtool)

* Mon Jul 7 2008 Tom "spot" Callaway <tcallawa@redhat.com> 2.16.1-0.6
- fix conditional comparison

* Tue Mar 18 2008 Tom "spot" Callaway <tcallawa@redhat.com> 2.16.1-0.5
- add Requires for versioned perl (libperl.so)

* Tue Mar 04 2008 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.16.1-0.4
- Disable R support

* Mon Mar 03 2008 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.16.1-0.2
- New upstream release (fixes BZ#433205, BZ#427376)
- Merged spec changes in from upstream
- Added patch from BZ#432683

* Tue Feb 12 2008 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.16-3.3
- Added upstream-provided patch for building under GCC 4.3 (thanks John!)

* Thu Jan 3 2008 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.16-3.2
- Re-added tcl/tk 8.5 patch
- Tweaked ming stuff

* Thu Jan 3 2008 Alex Lancaster <alexlan[AT]fedoraproject.org> - 2.16-3.1
- Rebuild against new Tcl 8.5

* Wed Dec 12 2007 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.16-2
- What the heck? Can't BR stuff that hasn't even gotten reviewed yet.

* Wed Nov 28 2007 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.16-1
- New upstream release
- Remove arith.h patch

* Tue Sep 04 2007 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.14.1-3
- Patch to resurrect arith.h

* Thu Aug 23 2007 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.14.1-2
- Added perl-devel to BR for F7+

* Wed Aug 15 2007 John Ellson <ellson@research.att.com>
- release 2.14.1 - see ChangeLog for details
* Thu Aug 2 2007 John Ellson <ellson@research.att.com>
- release 2.14 - see ChangeLog for details
* Fri Mar 16 2007 Stephen North <north@research.att.com>
- remove xorg-X11-devel from rhel >= 5
* Mon Dec 11 2006 John Ellson <john.ellson@comcast.net>
- fix graphviz-lua description (Fedora BZ#218191)
* Tue Sep 13 2005 John Ellson <ellson@research.att.com>
- split out language bindings into their own rpms so that
main rpm doesn't depend on (e.g.) ocaml

* Sat Aug 13 2005 John Ellson <ellson@research.att.com>
- imported various fixes from the Fedora-Extras .spec by Oliver Falk <oliver@linux-kernel.at>

* Wed Jul 20 2005 John Ellson <ellson@research.att.com>
- release 2.4
Loading…
Cancel
Save