Compare commits

..

No commits in common. "0a7f6ebdd0e25f9434281bb8d24b85796f7acbd0" and "989455501e55addde020b84acdbd1ed0dffeec28" have entirely different histories.

4 changed files with 17 additions and 104 deletions

View File

@ -1,50 +0,0 @@
From 4becebe422e167358f4e57679d845932cc9f3a8a Mon Sep 17 00:00:00 2001
From: starlet-dx <15929766099@163.com>
Date: Fri, 2 Feb 2024 10:24:35 +0800
Subject: [PATCH 1/1] Merge branch 'smattr/gitlab-2441' into 'main'
gvc: detect plugin installation failure and display an error
Closes #2441
Origin:
https://gitlab.com/graphviz/graphviz/-/commit/361f274ca901c3c476697a6404662d95f4dd43cb
https://gitlab.com/graphviz/graphviz/-/commit/3f31704cafd7da3e86bb2861accf5e90c973e62a
https://gitlab.com/graphviz/graphviz/-/commit/a95f977f5d809915ec4b14836d2b5b7f5e74881e
---
lib/gvc/gvconfig.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/lib/gvc/gvconfig.c b/lib/gvc/gvconfig.c
index d03de09..1eccc70 100644
--- a/lib/gvc/gvconfig.c
+++ b/lib/gvc/gvconfig.c
@@ -172,9 +172,8 @@ static char *token(int *nest, char **tokens)
static int gvconfig_plugin_install_from_config(GVC_t * gvc, char *s)
{
- char *package_path, *name, *api;
+ char *package_path, *name;
const char *type;
- api_t gv_api;
int quality;
int nest = 0;
gvplugin_package_t *package;
@@ -188,8 +187,12 @@ static int gvconfig_plugin_install_from_config(GVC_t * gvc, char *s)
name = "x";
package = gvplugin_package_record(gvc, package_path, name);
do {
- api = token(&nest, &s);
- gv_api = gvplugin_api(api);
+ const char *api = token(&nest, &s);
+ const api_t gv_api = gvplugin_api(api);
+ if (gv_api == (api_t)-1) {
+ agerr(AGERR, "config error: %s %s not found\n", package_path, api);
+ return 0;
+ }
do {
if (nest == 2) {
type = token(&nest, &s);
--
2.33.0

View File

@ -11,5 +11,5 @@ index 4978fea..9fbe2e2 100644
+ $(top_builddir)/lib/pathplan/libpathplan_C.la \
+ $(EXPAT_LIBS) $(Z_LIBS) $(GTS_LIBS) $(SOCKET_LIBS) $(IPSEPCOLA_LIBS) $(MATH_LIBS)
if ENABLE_STATIC
gvpack_static_SOURCES = gvpack.cpp
# add a non-existent C++ source to force the C++ compiler to be used for
# linking, so the C++ standard library is included for our C++ dependencies

View File

@ -9,35 +9,24 @@
%global pluginsver 6
%global php_extdir %(php-config --extension-dir 2>/dev/null || echo %{_libdir}/php4)
%ifarch loongarch64
%global OCAML 0
%else
%global OCAML 1
%endif
Name: graphviz
Version: 8.1.0
Release: 3
Version: 2.48.0
Release: 2
Summary: Graph Visualization Tools
License: EPL-1.0
URL: http://www.graphviz.org/
Source0: https://gitlab.com/graphviz/graphviz/-/archive/%{version}/graphviz-%{version}.tar.gz
Patch6000: backport-graphviz-4.0.0-gvpack-neato-static.patch
# https://gitlab.com/graphviz/graphviz/-/commit/5d09f70d7f6b81eb891749895c2e6b81365ac234
Patch6001: CVE-2023-46045.patch
Patch6000: backport-graphviz-2.48.0-gvpack-neato-static.patch
BuildRequires: gcc-g++
BuildRequires: ksh bison m4 flex ruby automake perl-Carp autoconf libtool qpdf urw-base35-fonts, perl-ExtUtils-Embed, perl-generators, librsvg2-devel swig >= 1.3.33
BuildRequires: ksh bison m4 flex ruby automake perl-Carp autoconf libtool qpdf ocaml urw-base35-fonts, perl-ExtUtils-Embed, perl-generators, librsvg2-devel swig >= 1.3.33
BuildRequires: zlib-devel libpng-devel libjpeg-devel expat-devel tk-devel fontconfig-devel libtool-ltdl-devel ruby-devel guile-devel freetype-devel >= 2 tcl-devel >= 8.3
BuildRequires: python3-devel libXaw-devel libSM-devel libXext-devel java-devel pango-devel gmp-devel lua-devel gtk2-devel cairo-devel >= 1.1.10
BuildRequires: ghostscript libgs-devel gd-devel perl-devel chrpath
%if %{OCAML}
BuildRequires: ocaml
%endif
%if %{with php}
BuildRequires: php-devel
%endif
@ -103,14 +92,12 @@ Requires: %{name} = %{version}-%{release} lua
%description lua
Lua extension for graphviz.
%if %{OCAML}
%package ocaml
Summary: Ocaml extension for graphviz
Requires: %{name} = %{version}-%{release} ocaml
%description ocaml
Ocaml extension for graphviz.
%endif
%package perl
Summary: Perl extension for graphviz
@ -124,13 +111,11 @@ Summary: Ruby extension for graphviz
Requires: %{name} = %{version}-%{release} ruby
%description ruby
Ruby extension for graphviz.
%ifnarch loongarch64 sw_64
%package tcl
Summary: Tcl extension & tools for graphviz
Requires: %{name} = %{version}-%{release} tcl >= 8.3 tk
%description tcl
Various tcl packages (extensions) for the graphviz tools.
%endif
%if %{with php}
@ -167,9 +152,6 @@ export CPPFLAGS=-I`ruby -e "puts File.join(RbConfig::CONFIG['includedir'], RbCon
--without-mylibgd --with-ipsepcola --with-pangocairo \
--with-gdk-pixbuf --with-visio --disable-silent-rules \
--without-lasi --without-gts --disable-sharp --without-ming \
%if !%{OCAML}
--disable-ocaml \
%endif
--disable-r --without-devil --without-qt
# drop rpath
@ -183,8 +165,12 @@ make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fno-strict-ove
%install
rm -rf %{buildroot}
%make_install docdir=%{_docdir}/%{name} \
pkgconfigdir=%{_libdir}/pkgconfig
make DESTDIR=%{buildroot} \
docdir=%{buildroot}%{_docdir}/%{name} \
pkgconfigdir=%{_libdir}/pkgconfig \
PYTHON_LIBS=`python3-config --libs` \
PYTHON_INSTALL_DIR=%{python3_sitearch} \
install
%delete_la
@ -198,6 +184,8 @@ __EOF__
find $RPM_BUILD_ROOT%{_datadir}/%{name}/demo -type f -exec chmod a-x {} ';'
chmod -x $RPM_BUILD_ROOT%{_datadir}/%{name}/lefty/*
# python 3
pushd tclpkg/gv
install -pD .libs/libgv_python3.so $RPM_BUILD_ROOT%{python3_sitearch}/_gv.so
@ -211,11 +199,6 @@ mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
echo "%{_libdir}/graphviz" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf
touch $RPM_BUILD_ROOT%{_libdir}/graphviz/config%{pluginsver}
%ifarch loongarch64 sw_64
mkdir -p $RPM_BUILD_ROOT/%{_libdir}/lua/5.4/
mv $RPM_BUILD_ROOT/usr/lib/lua/5.4/gv.so $RPM_BUILD_ROOT/usr/lib64/lua/5.4/gv.so
%endif
%check
%if %{with php}
LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir} \
@ -235,7 +218,7 @@ php --no-php-ini --define extension_dir=$RPM_BUILD_ROOT%{_libdir}/graphviz/php/
%files
%defattr(-,root,root)
%doc %{_docdir}/%{name}
%doc README
%{_bindir}/*
%dir %{_libdir}/graphviz
%{_libdir}/*.so.*
@ -257,22 +240,18 @@ php --no-php-ini --define extension_dir=$RPM_BUILD_ROOT%{_libdir}/graphviz/php/
%exclude %{_libdir}/graphviz/*/*
%exclude %{_libdir}/graphviz/libgvplugin_gd.*
%files devel
%{_includedir}/graphviz
%{_libdir}/*.so
%{_libdir}/graphviz/*.so
%{_libdir}/pkgconfig/*.pc
%files docs
%defattr(644,root,root)
%doc %{_docdir}/%{name}/*.html
%doc %{_docdir}/%{name}/*.pdf
%doc %{_datadir}/%{name}/doc
%doc %{_datadir}/%{name}/demo
%{_mandir}/man1/*
%{_mandir}/man3/*
%{_mandir}/man7/*
%files gd
%{_libdir}/graphviz/libgvplugin_gd.so.*
@ -290,10 +269,8 @@ php --no-php-ini --define extension_dir=$RPM_BUILD_ROOT%{_libdir}/graphviz/php/
%{_libdir}/graphviz/lua/
%{_libdir}/lua*/*
%if %{OCAML}
%files ocaml
%{_libdir}/graphviz/ocaml/
%endif
%files perl
%{_libdir}/graphviz/perl/
@ -307,26 +284,12 @@ php --no-php-ini --define extension_dir=$RPM_BUILD_ROOT%{_libdir}/graphviz/php/
%{_libdir}/graphviz/ruby/
%{_libdir}/*ruby*/*
%ifnarch loongarch64 sw_64
%files tcl
%{_libdir}/graphviz/tcl/
%{_libdir}/tcl*/*
%endif
%changelog
* Tue Mar 11 2025 mahailiang <mahailiang@uniontech.com> - 8.1.0-3
- fix sw_64 build error
* Tue Feb 06 2024 yaoxin <yao_xin001@hoperun.com> - 8.1.0-2
- Fix CVE-2023-46045
* Thu Sep 07 2023 yaoxin <yao_xin001@hoperun.com> - 8.1.0-1
- Update to 8.1.0
* Mon Nov 21 2022 huajingyun <huajingyun@loongson.cn> - 2.48.0-3
- add loongarch support
* Sat Jan 8 2022 wuchaochao <wuchaochao4@huawei.com> - 2.48.0-2
* Sat Jun 8 2022 wuchaochao <wuchaochao4@huawei.com> - 2.48.0-2
- delete redundant Provides and Obsoletes
* Wed Dec 15 2021 wuchaochao <wuchaochao4@huawei.com> - 2.48.0-1