SHA256
1
0
forked from pool/graphviz

Accepting request 693329 from home:cvoegl:branches:graphics

- Now using master branch of upstream, as there have been no releases for 
  over two years
  * this should fix CVE-2019-11023 (boo#1132091)
  
- Removed  graphviz-qt5.patch (now in upstream)
- Removed reproducible.patch (now in upstream)
- graphviz-smyrna-link_against_glu.patch changed to be applicable to current files
- graphviz-no_strict_aliasing.patch changed to be applicable to current files
- Added graphviz-fix-ruby-version.patch to remove hardcoded dependency on ruby 1.9
- graphviz.spec updated for new version
- created _service file

OBS-URL: https://build.opensuse.org/request/show/693329
OBS-URL: https://build.opensuse.org/package/show/graphics/graphviz?expand=0&rev=137
This commit is contained in:
Thomas Renninger 2019-04-12 10:52:56 +00:00 committed by Git OBS Bridge
parent 81810552a7
commit 96143b7b0b
12 changed files with 146 additions and 204 deletions

16
_service Normal file
View File

@ -0,0 +1,16 @@
<services>
<service mode="disabled" name="tar_scm">
<param name="url">https://gitlab.com/graphviz/graphviz</param>
<param name="scm">git</param>
<param name="revision">master</param>
<param name="changesgenerate">disable</param>
<param name="filename">graphviz</param>
<param name="versionformat">2.40.1+git%cd.%h</param>
</service>
<service mode="disabled" name="recompress">
<param name="file">*.tar</param>
<param name="compression">gz</param>
</service>
<service mode="disabled" name="set_version"/>
</services>

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5f96ab99f7128e60b395043a89b24a623cefce23e0a58b2f692d302ee0d09e0c
size 55791525

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ca5218fade0204d59947126c38439f432853543b0818d9d728c589dfe7f3a421
size 25633455

View File

@ -1,3 +1,14 @@
Tue Apr 2 15:10:04 UTC 2019 - Christian Vögl <christian.voegl@suse.com>
- Now using master branch of upstream
- D graphviz-qt5.patch (now in upstream)
- D reproducible.patch (now in upstream)
- M graphviz-smyrna-link_against_glu.patch changed to be applicable to current files
- M graphviz-no_strict_aliasing.patch changed to be applicable to current files
- M graphviz.spec changed %build section to match current build process, removed patches, now useses source archive instead of url
- A _service created service file
-------------------------------------------------------------------
Fri Nov 30 07:34:24 UTC 2018 - jbrielmaier@suse.de

View File

@ -1,7 +1,7 @@
#
# spec file for package graphviz-addons
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,6 +16,8 @@
#
#fixes build failure caused by new .debug files, not sure how to fix correctly
%define mname graphviz
%define libname libgraphviz6
# name of the plugin config file that dot creates
@ -39,27 +41,25 @@
%define sle12 0
%endif
Name: graphviz-addons
Version: 2.40.1
Version: 2.40.1+git20190410.b0871968d
Release: 0
Summary: Graph Visualization Tools
License: EPL-1.0
Group: Productivity/Graphics/Visualization/Graph
Url: http://www.graphviz.org/
Source: http://graphviz.org/pub/graphviz/stable/SOURCES/graphviz-%{version}.tar.gz
Source: %{mname}-%{version}.tar.gz
Source2: graphviz-rpmlintrc
#PATCH-FIX-UPSTREAM Build qith Qt5 rather than with qt4
Patch0: graphviz-qt5.patch
#PATCH-FIX-UPSTREAM add flags to also link against libGLU and libGL
Patch1: graphviz-smyrna-link_against_glu.patch
Patch2: graphviz-fix-pkgIndex.patch
#PATCH-FIX-UPSTREAM Off-by-one bug
Patch3: graphviz-array_overflow.patch
#PATCH-FIX-OPENSUSE Make build reproducible (boo#1041534)
Patch4: reproducible.patch
Patch6: graphviz-2.20.2-interpreter_names.patch
#PATCH-FIX-UPSTREAM Don't warn about harmless issues with swig generated code
Patch7: graphviz-useless_warnings.patch
Patch8: graphviz-no_strict_aliasing.patch
Patch9: graphviz-fix-ruby-version.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
@ -78,10 +78,13 @@ BuildRequires: pkgconfig(zlib)
Requires: graphviz-plugins-core = %{version}
Recommends: graphviz-gd = %{version}
%if %{with extras}
BuildRequires: argon2-devel
BuildRequires: freeglut-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: perl
BuildRequires: python3-devel
%if 0%{?suse_version} >= 1500
BuildRequires: php7-devel
BuildRequires: swig >= 3.0.11
@ -299,16 +302,20 @@ Requires: %{mname} = %{version}
The graphviz-devel package contains all that's necessary for developing
programs that use the graphviz libraries including man3 pages.
#autosetup breaks graphviz-addons
%prep
%setup -q -n %{mname}-%{version}
%patch0 -p1
%patch1
%patch2
%patch3
%patch4 -p1
%patch6
%patch7
%patch8
%patch9
# pkg-config returns 0 (TRUE) when guile-2.2 is present
if pkg-config --atleast-version=2.2 guile-2.2; then
sed "s/guile-2.0/guile-2.2/" -i configure.ac
@ -324,11 +331,15 @@ sed -i \
configure.ac
%build
autoreconf -fvi
./autogen.sh RUBY_VER=2.6
CFLAGS="%{optflags} -ffast-math -fno-strict-aliasing -fno-strict-overflow -fPIC"
%if %{with extras}
CFLAGS="$CFLAGS $(pkg-config --cflags ruby-$(echo %{rb_ver} | sed 's|\.[^.]*$||'))"
CFLAGS="$CFLAGS -I/usr/include/ruby-2.6.0"
#seems to be broken? gives -I/usr/lib64/ruby/2.6.0/x86_64-linux-gnu, ruby.h is in /usr/lib64/ruby/2.6.0
#CFLAGS="$CFLAGS $(pkg-config --cflags ruby-$(echo {rb_ver} | sed 's|\.[^.]*$||'))"
%endif
export CFLAGS="$CFLAGS"
@ -345,6 +356,7 @@ export LDFLAGS="-pie"
--with-x \
--with-qt \
--with-smyrna \
RUBY_VER=2.6 \
%else
--without-mylibgd \
--without-libgd \
@ -458,6 +470,7 @@ if ! test -x %{_bindir}/dot; then
fi
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%if %{with extras}
@ -498,6 +511,7 @@ fi
%{_libdir}/graphviz/libgvplugin_gtk*
%{_libdir}/graphviz/libgvplugin_xlib*
%{_libdir}/graphviz/libgvplugin_gdk*
%{_libdir}/graphviz/libgvplugin_visio*
%post -n graphviz-tcl -p /sbin/ldconfig
%postun -n graphviz-tcl -p /sbin/ldconfig
@ -543,8 +557,20 @@ fi
%{_mandir}/man3/gv.3php%{ext_man}
%files -n graphviz-python
%dir %{_libdir}/graphviz/python2
%dir %{_libdir}/graphviz/python3
%{python_sitearch}/_gv.so
%{python_sitearch}/gv.py
%{_libdir}/graphviz/python2/_gv.so
%{_libdir}/graphviz/python2/gv.py
%{_libdir}/graphviz/python2/libgv_python2.so
#is thare a {python_sitearch} for python 3?
%{_libdir}/python3.7/site-packages/_gv.so
%{_libdir}/python3.7/site-packages/gv.py
%{_libdir}/graphviz/python3/_gv.so
%{_libdir}/graphviz/python3/gv.py
%{_libdir}/graphviz/python3/libgv_python3.so
%{_mandir}/man3/gv.3python%{ext_man}
%files -n graphviz-ruby

View File

@ -0,0 +1,19 @@
--- configure.ac.orig 2019-04-11 15:12:07.607681824 +0200
+++ configure.ac 2019-04-11 14:43:28.508860376 +0200
@@ -116,6 +116,7 @@
AC_ARG_VAR(LIBPOSTFIX, [subscript to lib, e.g. "/64" for "/usr/lib/64" on Solaris])
AC_ARG_VAR(INTGOSIZE, [integer size for go, 32 or 64])
+AC_ARG_VAR(RUBY_VER, [version number of ruby package])
INTGOSIZE=32
if test -z "$LIBPOSTFIX"; then
@@ -1397,7 +1398,7 @@
RUBY_INSTALL_DIR="`$RUBY $srcdir/config/config_ruby.rb vendorarchdir`"
fi
],[
- PKG_CHECK_MODULES([RUBY], [ruby-1.9],[
+ PKG_CHECK_MODULES([RUBY], [ruby-${RUBY_VER}],[
AC_CHECK_PROG(RUBY,ruby,ruby)
if test "x$RUBY" = "x"; then
use_ruby="No (ruby not available)"

View File

@ -1,17 +1,9 @@
---
lib/vmalloc/Makefile.am | 2 ++
1 file changed, 2 insertions(+)
Index: lib/vmalloc/Makefile.am
===================================================================
--- lib/vmalloc/Makefile.am.orig 2013-09-07 03:07:52.000000000 +0200
+++ lib/vmalloc/Makefile.am 2013-09-11 18:51:30.719515603 +0200
@@ -9,6 +9,8 @@ libvmalloc_C_la_SOURCES = malloc.c vmbes
--- .orig/lib/vmalloc/Makefile.am 2019-04-02 14:39:35.873818775 +0200
+++ lib/vmalloc/Makefile.am 2019-04-02 14:50:07.659001790 +0200
@@ -9,4 +9,6 @@
vmprofile.c vmregion.c vmsegment.c vmset.c vmstat.c vmstrdup.c \
vmtrace.c vmwalk.c
+libvmalloc_C_la_CFLAGS = -fno-strict-aliasing
+
${top_builddir}/FEATURE/vmalloc: ${top_srcdir}/lib/vmalloc/features/vmalloc
mkdir -p ${top_builddir}/FEATURE
${top_srcdir}/iffe - set cc $(CC) $(CCMODE) $(CXFLAGS) : run ${top_srcdir}/lib/vmalloc/features/vmalloc > $@
EXTRA_DIST = README vmalloc.vcxproj*

View File

@ -1,113 +0,0 @@
Index: graphviz-2.40.1/cmd/gvedit/csettings.cpp
===================================================================
--- graphviz-2.40.1.orig/cmd/gvedit/csettings.cpp
+++ graphviz-2.40.1/cmd/gvedit/csettings.cpp
@@ -16,7 +16,7 @@
#include "csettings.h"
#include "qmessagebox.h"
#include "qfiledialog.h"
-#include <QtGui>
+#include <QtWidgets>
#include <qfile.h>
#include "mdichild.h"
#include "string.h"
Index: graphviz-2.40.1/cmd/gvedit/imageviewer.h
===================================================================
--- graphviz-2.40.1.orig/cmd/gvedit/imageviewer.h
+++ graphviz-2.40.1/cmd/gvedit/imageviewer.h
@@ -15,7 +15,7 @@
#ifndef IMAGEVIEWER_H
#define IMAGEVIEWER_H
-#include <QtGui>
+#include <QtWidgets>
#include <QMainWindow>
#include <QPrinter>
Index: graphviz-2.40.1/cmd/gvedit/mainwindow.cpp
===================================================================
--- graphviz-2.40.1.orig/cmd/gvedit/mainwindow.cpp
+++ graphviz-2.40.1/cmd/gvedit/mainwindow.cpp
@@ -11,7 +11,7 @@
* Contributors: See CVS logs. Details at http://www.graphviz.org/
*************************************************************************/
-#include <QtGui>
+#include <QtWidgets>
#include <qframe.h>
#include "mainwindow.h"
#include "mdichild.h"
Index: graphviz-2.40.1/cmd/gvedit/mdichild.cpp
===================================================================
--- graphviz-2.40.1.orig/cmd/gvedit/mdichild.cpp
+++ graphviz-2.40.1/cmd/gvedit/mdichild.cpp
@@ -12,7 +12,7 @@
*************************************************************************/
-#include <QtGui>
+#include <QtWidgets>
#include "mdichild.h"
#include "mainwindow.h"
Index: graphviz-2.40.1/cmd/gvedit/ui_settings.h
===================================================================
--- graphviz-2.40.1.orig/cmd/gvedit/ui_settings.h
+++ graphviz-2.40.1/cmd/gvedit/ui_settings.h
@@ -10,22 +10,22 @@
#ifndef UI_SETTINGS_H
#define UI_SETTINGS_H
-#include <QtCore/QVariant>
-#include <QtGui/QAction>
-#include <QtGui/QApplication>
-#include <QtGui/QButtonGroup>
-#include <QtGui/QComboBox>
-#include <QtGui/QDialog>
-#include <QtGui/QFrame>
-#include <QtGui/QHBoxLayout>
-#include <QtGui/QHeaderView>
-#include <QtGui/QLabel>
-#include <QtGui/QLineEdit>
-#include <QtGui/QPushButton>
-#include <QtGui/QSpacerItem>
-#include <QtGui/QTextEdit>
-#include <QtGui/QVBoxLayout>
-#include <QtGui/QWidget>
+#include <QVariant>
+#include <QAction>
+#include <QApplication>
+#include <QButtonGroup>
+#include <QComboBox>
+#include <QDialog>
+#include <QFrame>
+#include <QHBoxLayout>
+#include <QHeaderView>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QSpacerItem>
+#include <QTextEdit>
+#include <QVBoxLayout>
+#include <QWidget>
QT_BEGIN_NAMESPACE
Index: graphviz-2.40.1/configure.ac
===================================================================
--- graphviz-2.40.1.orig/configure.ac
+++ graphviz-2.40.1/configure.ac
@@ -2561,10 +2561,10 @@ if test "x$with_qt" != "xyes"; then
use_qt="No (disabled)"
else
- AC_CHECK_PROGS(QMAKE,qmake-qt4 qmake-qt3 qmake,false)
+ AC_CHECK_PROGS(QMAKE,qmake-qt5 qmake,false)
if test "$QMAKE" != "false"; then
- PKG_CHECK_MODULES(QTCORE, [QtCore],[
- PKG_CHECK_MODULES(QTGUI, [QtGui],[
+ PKG_CHECK_MODULES(QTCORE, [Qt5Core],[
+ PKG_CHECK_MODULES(QTGUI, [Qt5Widgets Qt5PrintSupport],[
use_qt="Yes"
],[
use_qt="No (QtGui not available)"

View File

@ -1,13 +1,7 @@
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: configure.ac
===================================================================
--- configure.ac.orig 2013-10-23 17:25:44.020188917 +0200
+++ configure.ac 2013-10-23 17:26:17.637411247 +0200
@@ -2811,7 +2811,7 @@ else
--- configure.ac.orig 2019-04-02 14:33:44.229152722 +0200
+++ configure.ac 2019-04-02 14:34:01.573185574 +0200
@@ -2605,7 +2605,7 @@
AC_CHECK_HEADER(GL/glut.h,
AC_CHECK_LIB(glut,main,
- [GLUT_LIBS="$GLUT_LIBS -lglut"

View File

@ -1,3 +1,18 @@
Tue Apr 2 15:10:04 UTC 2019 - Christian Vögl <christian.voegl@suse.com>
- Now using master branch of upstream, as there have been no releases for
over two years
* this should fix CVE-2019-11023 (boo#1132091)
- Removed graphviz-qt5.patch (now in upstream)
- Removed reproducible.patch (now in upstream)
- graphviz-smyrna-link_against_glu.patch changed to be applicable to current files
- graphviz-no_strict_aliasing.patch changed to be applicable to current files
- Added graphviz-fix-ruby-version.patch to remove hardcoded dependency on ruby 1.9
- graphviz.spec updated for new version
- created _service file
-------------------------------------------------------------------
Fri Nov 30 07:34:24 UTC 2018 - jbrielmaier@suse.de

View File

@ -1,7 +1,7 @@
#
# spec file for package graphviz
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,6 +16,8 @@
#
#fixes build failure caused by new .debug files, not sure how to fix correctly
%define mname graphviz
%define libname libgraphviz6
# name of the plugin config file that dot creates
@ -39,27 +41,25 @@
%define sle12 0
%endif
Name: graphviz
Version: 2.40.1
Version: 2.40.1+git20190410.b0871968d
Release: 0
Summary: Graph Visualization Tools
License: EPL-1.0
Group: Productivity/Graphics/Visualization/Graph
Url: http://www.graphviz.org/
Source: http://graphviz.org/pub/graphviz/stable/SOURCES/graphviz-%{version}.tar.gz
Source: %{mname}-%{version}.tar.gz
Source2: graphviz-rpmlintrc
#PATCH-FIX-UPSTREAM Build qith Qt5 rather than with qt4
Patch0: graphviz-qt5.patch
#PATCH-FIX-UPSTREAM add flags to also link against libGLU and libGL
Patch1: graphviz-smyrna-link_against_glu.patch
Patch2: graphviz-fix-pkgIndex.patch
#PATCH-FIX-UPSTREAM Off-by-one bug
Patch3: graphviz-array_overflow.patch
#PATCH-FIX-OPENSUSE Make build reproducible (boo#1041534)
Patch4: reproducible.patch
Patch6: graphviz-2.20.2-interpreter_names.patch
#PATCH-FIX-UPSTREAM Don't warn about harmless issues with swig generated code
Patch7: graphviz-useless_warnings.patch
Patch8: graphviz-no_strict_aliasing.patch
Patch9: graphviz-fix-ruby-version.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
@ -78,10 +78,13 @@ BuildRequires: pkgconfig(zlib)
Requires: graphviz-plugins-core = %{version}
Recommends: graphviz-gd = %{version}
%if %{with extras}
BuildRequires: argon2-devel
BuildRequires: freeglut-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: perl
BuildRequires: python3-devel
%if 0%{?suse_version} >= 1500
BuildRequires: php7-devel
BuildRequires: swig >= 3.0.11
@ -299,16 +302,20 @@ Requires: %{mname} = %{version}
The graphviz-devel package contains all that's necessary for developing
programs that use the graphviz libraries including man3 pages.
#autosetup breaks graphviz-addons
%prep
%setup -q -n %{mname}-%{version}
%patch0 -p1
%patch1
%patch2
%patch3
%patch4 -p1
%patch6
%patch7
%patch8
%patch9
# pkg-config returns 0 (TRUE) when guile-2.2 is present
if pkg-config --atleast-version=2.2 guile-2.2; then
sed "s/guile-2.0/guile-2.2/" -i configure.ac
@ -324,11 +331,15 @@ sed -i \
configure.ac
%build
autoreconf -fvi
./autogen.sh RUBY_VER=2.6
CFLAGS="%{optflags} -ffast-math -fno-strict-aliasing -fno-strict-overflow -fPIC"
%if %{with extras}
CFLAGS="$CFLAGS $(pkg-config --cflags ruby-$(echo %{rb_ver} | sed 's|\.[^.]*$||'))"
CFLAGS="$CFLAGS -I/usr/include/ruby-2.6.0"
#seems to be broken? gives -I/usr/lib64/ruby/2.6.0/x86_64-linux-gnu, ruby.h is in /usr/lib64/ruby/2.6.0
#CFLAGS="$CFLAGS $(pkg-config --cflags ruby-$(echo {rb_ver} | sed 's|\.[^.]*$||'))"
%endif
export CFLAGS="$CFLAGS"
@ -345,6 +356,7 @@ export LDFLAGS="-pie"
--with-x \
--with-qt \
--with-smyrna \
RUBY_VER=2.6 \
%else
--without-mylibgd \
--without-libgd \
@ -458,6 +470,7 @@ if ! test -x %{_bindir}/dot; then
fi
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%if %{with extras}
@ -498,6 +511,7 @@ fi
%{_libdir}/graphviz/libgvplugin_gtk*
%{_libdir}/graphviz/libgvplugin_xlib*
%{_libdir}/graphviz/libgvplugin_gdk*
%{_libdir}/graphviz/libgvplugin_visio*
%post -n graphviz-tcl -p /sbin/ldconfig
%postun -n graphviz-tcl -p /sbin/ldconfig
@ -543,8 +557,20 @@ fi
%{_mandir}/man3/gv.3php%{ext_man}
%files -n graphviz-python
%dir %{_libdir}/graphviz/python2
%dir %{_libdir}/graphviz/python3
%{python_sitearch}/_gv.so
%{python_sitearch}/gv.py
%{_libdir}/graphviz/python2/_gv.so
%{_libdir}/graphviz/python2/gv.py
%{_libdir}/graphviz/python2/libgv_python2.so
#is thare a {python_sitearch} for python 3?
%{_libdir}/python3.7/site-packages/_gv.so
%{_libdir}/python3.7/site-packages/gv.py
%{_libdir}/graphviz/python3/_gv.so
%{_libdir}/graphviz/python3/gv.py
%{_libdir}/graphviz/python3/libgv_python3.so
%{_mandir}/man3/gv.3python%{ext_man}
%files -n graphviz-ruby

View File

@ -1,44 +0,0 @@
Author: Bernhard M. Wiedemann <bwiedemann suse de>
Date: 2018-07-30
https://bugzilla.opensuse.org/show_bug.cgi?id=1041534
Do not have binaries depend on build system timings
because we are building in VMs anyway
and users might have different hardware
Will always use the system's memchr and memccpy functions.
Index: graphviz-2.38.0/lib/sfio/features/sfio
===================================================================
--- graphviz-2.38.0.orig/lib/sfio/features/sfio
+++ graphviz-2.38.0/lib/sfio/features/sfio
@@ -79,7 +79,7 @@ lib memchr note{ see if memchr is fast }
t2 = (etm2.tms_utime - stm2.tms_utime) +
(etm2.tms_stime - stm2.tms_stime);
- return t1 < t2 ? 0 : 1;
+ return 0;
}
}end
@@ -120,7 +120,7 @@ lib memccpy note{ see if memccpy is fast
t2 = (etm2.tms_utime - stm2.tms_utime) +
(etm2.tms_stime - stm2.tms_stime);
- return t1 < t2 ? 0 : 1;
+ return 0;
}
}end
@@ -250,9 +250,7 @@ tst output{
unlink(file);
- if(4*mmtm <= 3*rdtm) /* mmap is great! */
- printf("#define _mmap_worthy 2 \n");
- else if(4*mmtm <= 5*rdtm) /* mmap is good */
+ /* mmap is good */
printf("#define _mmap_worthy 1 \n");
return 0;