Accepting request 1072992 from home:StefanBruens:branches:Publishing

- Drop obsolete fig2dev-3.2.6a-RGBFILE.patch.
- Set correct path for X11 rgb.txt file (no longer in /etc),
  recommend rgb package.
- Fix typo for enable-scale-pict2e option.
- Remove obsolsete hunks from transfig-3.2.8.dif,
  rebase fig2dev-3.2.6-fig2mpdf.patch.
- Avoid epstopdf dependency, add
  0001-Use-native-fig2dev-pdf-output-instead-of-epstopdf.patch
  This also fixes unreproducible figures created by fig2mpdf.
- Fix CFLAGS checks, -Wformat-security requires -Wformat.

OBS-URL: https://build.opensuse.org/request/show/1072992
OBS-URL: https://build.opensuse.org/package/show/Publishing/transfig?expand=0&rev=85
This commit is contained in:
Martin Pluskal 2023-03-20 08:22:39 +00:00 committed by Git OBS Bridge
parent 9615ad6216
commit ca6efafa18
6 changed files with 122 additions and 98 deletions

View File

@ -0,0 +1,91 @@
From d5ac48eaed1c0303df8b983d55fde064e7474c57 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
Date: Sat, 18 Mar 2023 04:43:44 +0100
Subject: [PATCH] Use native fig2dev pdf output instead of epstopdf
---
fig2dev/dev/genpstex.c | 5 +----
fig2mpdf/fig2mpdf | 35 +++++++++--------------------------
2 files changed, 10 insertions(+), 30 deletions(-)
diff --git a/fig2dev/dev/genpstex.c b/fig2dev/dev/genpstex.c
index bb081fd..5999e03 100644
--- a/fig2dev/dev/genpstex.c
+++ b/fig2dev/dev/genpstex.c
@@ -279,10 +279,7 @@ int depth;
sprintf(szFileName + iLength, "%03d", iObjectsFileNumber++);
fprintf(ptCreateFile, "if [ \"$iOptRemove\" == \"\" ]; then\n");
if (iPdfOutputs)
- {
- fprintf(ptCreateFile, " %s -L pstex -D +%d:%d %s", prog, depth, iStartDepth, from);
- fprintf(ptCreateFile, " | epstopdf -f > %s.pdf\n", szFileName);
- }
+ fprintf(ptCreateFile, "%s -L pdftex -D +%d:%d %s %s.pdf\n", prog, depth, iStartDepth, from, szFileName);
else
fprintf(ptCreateFile, "%s -L pstex -D +%d:%d %s %s.eps\n", prog, depth, iStartDepth, from, szFileName);
fprintf(ptCreateFile, "else\n rm -f %s.", szFileName);
diff --git a/fig2mpdf/fig2mpdf b/fig2mpdf/fig2mpdf
index 39cc4aa..db6727b 100644
--- a/fig2mpdf/fig2mpdf
+++ b/fig2mpdf/fig2mpdf
@@ -14,7 +14,6 @@ BEGIN {
cmdMv = "mv"
cmdLatex = "latex";
cmdPdftex = "pdflatex";
- cmdEpsToPdf = "epstopdf";
cmdDvips = "dvips";
cmdFig2dev = "fig2dev";
cmdTouch = "touch";
@@ -374,40 +373,24 @@ function fnGetDepth (iControl)
#########################################################################
#########################################################################
function fnDoNormalFig(szFileNameBase, szFigFile, szRangeList, iPdf,
- szEpsFile, szPdfFile, szTargetFile, szCommand)
+ szOutFile, szTargetFile, szCommand)
{
debug("FileNameBase >%s< FigFile >%s< Pdf:%d\n", szFileNameBase, szFigFile, iPdf);
if (iPdf)
- szEpsFile = sprintf("%s%s.eps", szTmpPrefix, szFileNameBase);
+ szOutFile = sprintf("%s.pdf", szFileNameBase);
else
- {
- szEpsFile = sprintf("%s.eps", szFileNameBase);
- szTargetFile = szEpsFile;
- }
-
- szCommand = sprintf("%s -L eps %s %s %s 2> /dev/null", cmdFig2dev, szRangeList, szFigFile, szEpsFile);
- debug("%s\n", szCommand);
- system(szCommand);
+ szOutFile = sprintf("%s.eps", szFileNameBase);
+ szTargetFile = szOutFile;
if (iPdf)
- {
- szPdfFile = sprintf("%s.pdf", szFileNameBase);
- szTargetFile = szPdfFile;
- szCommand = sprintf("%s --outfile=%s %s", cmdEpsToPdf, szPdfFile, szEpsFile);
- debug("%s\n", szCommand);
- system(szCommand);
-
-
- if ( ! aOptions["d"])
- {
- szCommand = sprintf("%s -f %s", cmdRm, szEpsFile);
- debug("%s\n", szCommand);
- system(szCommand);
- }
- }
+ szCommand = sprintf("%s -L pdf %s %s %s 2> /dev/null", cmdFig2dev, szRangeList, szFigFile, szOutFile);
+ else
+ szCommand = sprintf("%s -L eps %s %s %s 2> /dev/null", cmdFig2dev, szRangeList, szFigFile, szOutFile);
+ debug("%s\n", szCommand);
+ system(szCommand);
return (szTargetFile);
}
--
2.39.2

View File

@ -11,10 +11,11 @@
diff --git a/fig2dev/dev/genpstex.c b/fig2dev/dev/genpstex.c
--- a/fig2dev/dev/genpstex.c
+++ b/fig2dev/dev/genpstex.c
@@ -47,9 +47,12 @@
@@ -46,9 +46,13 @@
#include <stdio.h>
#include <string.h>
#include <sys/stat.h>
+#include <sys/stat.h>
+#include <stdlib.h>
#include "fig2dev.h"

View File

@ -1,26 +0,0 @@
From: Roland Rosenfeld <roland@debian.org>
Subject: rgb.txt can not be located via FIG2DEV_RGBFILE environment variable.
This allows one to run the test suite without the package being
installed before.
---
fig2dev/colors.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
--- a/fig2dev/colors.c
+++ b/fig2dev/colors.c 2019-10-29 11:03:32.206632962 +0000
@@ -730,8 +730,13 @@ read_colordb(void)
FILE *fp;
#define MAX_LINE 100
char s[MAX_LINE], s1[MAX_LINE];
+ char *rgbfile;
- fp = fopen(RGB_FILE, "r");
+ rgbfile = getenv("FIG2DEV_RGBFILE");
+ if (rgbfile == NULL) {
+ rgbfile = RGB_FILE;
+ }
+ fp = fopen(rgbfile, "r");
if (fp == NULL) {
Xcolors = defaultXcolors;
numXcolors = sizeof(defaultXcolors) / sizeof(struct color_db);

View File

@ -91,32 +91,6 @@
}
#endif /* I18N */
--- fig2dev/dev/genpstex.c
+++ fig2dev/dev/genpstex.c 2021-02-12 09:17:16.360300734 +0000
@@ -46,6 +46,7 @@
#include <stdio.h>
#include <string.h>
+#include <sys/stat.h>
#include "fig2dev.h"
#include "object.h"
@@ -62,10 +63,13 @@ extern void
genps_spline(F_spline *s),
genlatex_option(char opt, char *optarg),
genlatex_text(F_text *t),
- genps_text(F_text *t);
+ genps_text(F_text *t),
+ genpdf_option(char opt, char *optarg),
+ genpdf_start(F_compound *objects);
extern int
genlatex_end(void),
- genps_end(void);
+ genps_end(void),
+ genpdf_end(void);
extern void genpdf_option(char opt, char *optarg); /* genpdf.c */
extern void genpdf_start(F_compound *objects); /* genpdf.c */
--- fig2dev/fig2ps2tex.csh
+++ fig2dev/fig2ps2tex.csh 2021-02-12 08:54:37.954704887 +0000
@@ -22,7 +22,7 @@
@ -128,28 +102,6 @@
set bbox = `grep "^%%BoundingBox:" $1`
set xsp = `echo "3k $bbox[4] $bbox[2] - 72 / p" | dc`
--- fig2dev/lib/getopt.c
+++ fig2dev/lib/getopt.c 2021-02-12 08:54:37.954704887 +0000
@@ -42,6 +42,7 @@
#define EMSG ""
#define ENDARGS "--"
+#ifndef __GLIBC__
/*
* get option letter from argument vector
*/
@@ -88,3 +89,11 @@ getopt(int nargc, char **nargv, const ch
}
return optc; /* dump back option letter */
}
+#else
+#include <unistd.h>
+int
+fig_getopt(int nargc, char * const nargv[], const char *ostr)
+{
+ return getopt(nargc, nargv, ostr);
+}
+#endif
--- transfig/transfig.c
+++ transfig/transfig.c 2021-02-12 08:54:37.954704887 +0000
@@ -26,6 +26,8 @@

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Sat Mar 18 04:27:12 UTC 2023 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Drop obsolete fig2dev-3.2.6a-RGBFILE.patch.
- Set correct path for X11 rgb.txt file (no longer in /etc),
recommend rgb package.
- Fix typo for enable-scale-pict2e option.
- Remove obsolsete hunks from transfig-3.2.8.dif,
rebase fig2dev-3.2.6-fig2mpdf.patch.
- Avoid epstopdf dependency, add
0001-Use-native-fig2dev-pdf-output-instead-of-epstopdf.patch
This also fixes unreproducible figures created by fig2mpdf.
- Fix CFLAGS checks, -Wformat-security requires -Wformat.
-------------------------------------------------------------------
Thu Mar 9 19:39:39 UTC 2023 - Stefan Brüns <stefan.bruens@rwth-aachen.de>

View File

@ -31,8 +31,8 @@ Patch1: 1b09a8.patch
Patch4: transfig-fix-afl.patch
Patch43: fig2dev-3.2.6-fig2mpdf.patch
Patch44: fig2dev-3.2.6-fig2mpdf-doc.patch
Patch45: fig2dev-3.2.6a-RGBFILE.patch
Patch46: 0001-Make-ModDate-and-CreationDate-in-PDF-reproducible.patch
Patch47: 0001-Use-native-fig2dev-pdf-output-instead-of-epstopdf.patch
BuildRequires: fdupes
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
@ -41,28 +41,20 @@ BuildRequires: sharutils
#!BuildIgnore: texlive-tex4ht
BuildRequires: texlive-courier
BuildRequires: texlive-latex
%if 0%{?suse_version} > 1315
BuildRequires: texlive-epstopdf
%endif
BuildRequires: texlive-pdftex
BuildRequires: texlive-times
BuildRequires: pkgconfig(xpm)
BuildRequires: tex(8r.enc)
BuildRequires: tex(beamer.cls)
%if 0%{?suse_version} > 1315
BuildRequires: tex(german.sty)
%endif
BuildRequires: pkgconfig(xpm)
BuildRequires: tex(multimedia.sty)
BuildRequires: tex(times.sty)
BuildRequires: tex(xmpmulti.sty)
Provides: fig2dev
Requires: netpbm
Recommends: ghostscript-fonts-std
Recommends: ghostscript-library
Requires: netpbm
Recommends: texlive-epstopdf
%if 0%{?suse_version} > 1315
Requires: (texlive-epstopdf if texlive-latex)
%endif
Recommends: rgb
%description
TransFig is a set of tools for creating TeX documents with graphics
@ -82,8 +74,10 @@ find -type f -exec chmod a-x,go-w '{}' \;
%patch4 -p1 -b .afl
%patch43 -p1 -b .mpdf
%patch44 -p1 -b .mpdfdoc
%patch45 -p1 -b .p45
%patch46 -p1 -b .pdfmark
%patch47 -p1 -b .epstopdf
# remove obsolete libc fallback implementations
rm fig2dev/lib/*.c
%build
ulimit -v unlimited || :
@ -110,10 +104,10 @@ ulimit -v unlimited || :
;;
*)
if ${CC:-gcc} -Werror $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then
eval $var=\${$var:+\$$var\ }$flag
eval $var=\${$var:+\$$var\ }\' $flag \'
fi
if ${CXX:-g++} -Werror $flag -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1 ; then
eval $var=\${$var:+\$$var\ }$flag
eval $var=\${$var:+\$$var\ }\' $flag \'
fi
esac
}
@ -121,12 +115,13 @@ ulimit -v unlimited || :
CC=gcc
CFLAGS="%{optflags} -fno-strict-aliasing -w -D_GNU_SOURCE -std=gnu99 $(getconf LFS_CFLAGS)"
cflags -D_FORTIFY_SOURCE=2 CFLAGS
cflags -D_FORTIFY_SOURCE=3 CFLAGS
cflags -fstack-protector CFLAGS
cflags -fstack-protector-strong CFLAGS
cflags -fstack-protector-all CFLAGS
cflags -Wformat CFLAGS
cflags -Wformat-security CFLAGS
cflags -Werror=format-security CFLAGS
cflags "-Wformat -Wformat-security" CFLAGS
cflags "-Wformat -Werror=format-security" CFLAGS
cflags -fPIE CFLAGS
cflags -pie LDFLAGS
cflags -Wl,-z,relro LDFLAGS
@ -136,7 +131,8 @@ chmod 755 configure
%configure \
--docdir=%{_defaultdocdir}/%{name} \
--enable-transfig \
--enable-scale-pic2t2e
--enable-scale-pict2e \
--with-rgbfile=%{_datadir}/X11/rgb.txt
%make_build CCOPTIONS="$CFLAGS"
pushd transfig/doc
@ -147,12 +143,10 @@ pushd transfig/doc
popd
pushd fig2mpdf/doc
%if 0%{?suse_version} > 1315
make
while $(grep -q -i 'rerunfilecheck.*warning' sample-presentation.log); do
pdflatex sample-presentation
done
%endif
mkdir htmlimg
(cd htmlimg; uudecode ../*.uue)
popd
@ -172,9 +166,7 @@ pushd fig2mpdf/doc
install -m 0644 *.{html,css,lfig} %{buildroot}%{_defaultdocdir}/%{name}/fig2mpdf/
install -m 0644 htmlimg/*.{jpg,gif,pdf} %{buildroot}%{_defaultdocdir}/%{name}/fig2mpdf/
install -m 0644 sample-presentation.tex Makefile %{buildroot}%{_defaultdocdir}/%{name}/fig2mpdf/
%if 0%{?suse_version} > 1315
install -m 0644 sample-presentation.pdf %{buildroot}%{_defaultdocdir}/%{name}/fig2mpdf/
%endif
popd
%fdupes %{buildroot}