Sync from SUSE:SLFO:Main transfig revision 15d404307f72c071014de3b1cd19e853

This commit is contained in:
Adrian Schröter 2024-05-04 01:30:05 +02:00
commit ab5cdbd955
11 changed files with 7743 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,123 @@
From e72a9d017742366cba636d783ea121279bfb7d6c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
Date: Thu, 9 Mar 2023 19:19:51 +0100
Subject: [PATCH] Make ModDate and CreationDate in PDF reproducible
Ghostscript ignores the date in the preamble and uses the current
time instead. This notably breaks the SOURCE_DATE_EPOCH support
for reproducible builds.
Passing the creation time as DOCINFO pdfmark forces gs to use the
specified date/time. Although ghostscript still adds the unreproducible
DocumentUUID and trailer ID, it is sufficient when including the PDF
figure with pdflatex.
Reuse the SOURCE_DATE_EPOCH code from creation_date for determining
the wanted timestamp, and return the formatted time via the new
`creation_date_pdfmark` function.
---
fig2dev/creationdate.c | 38 +++++++++++++++++++++++++++++++++-----
fig2dev/creationdate.h | 1 +
fig2dev/dev/genps.c | 8 ++++++++
3 files changed, 42 insertions(+), 5 deletions(-)
diff --git a/fig2dev/creationdate.c b/fig2dev/creationdate.c
index a51bfd4..de914a5 100644
--- a/fig2dev/creationdate.c
+++ b/fig2dev/creationdate.c
@@ -36,8 +36,8 @@
#include "creationdate.h"
-int
-creation_date(char *buf)
+static struct tm*
+parse_time()
{
time_t now;
@@ -70,15 +70,43 @@ creation_date(char *buf)
} else {
/* no errors, epoch is valid */
now = epoch;
- strftime(buf, CREATION_TIME_LEN, "%F %H:%M:%S", gmtime(&now));
- return true;
+ return gmtime(&now);
}
}
#endif
/* fall trough on errors or !source_date_epoch */
time(&now);
- if (strftime(buf, CREATION_TIME_LEN, "%F %H:%M:%S", localtime(&now)))
+ return localtime(&now);
+}
+
+static struct tm*
+get_time()
+{
+ static struct tm time = { 0 };
+ static int initialized = 0;
+ if (!initialized) {
+ time = *parse_time();
+ initialized = 1;
+ }
+ return &time;
+}
+
+int
+creation_date(char *buf)
+{
+ if (strftime(buf, CREATION_TIME_LEN, "%F %H:%M:%S", get_time()))
+ return true;
+ else
+ return false;
+}
+
+int
+creation_date_pdfmark(char *buf)
+{
+ // Pdfmark format should be D:YYYYMMDDHHmmSSOHHmm.
+ // Timezone offset (O...) may be omitted
+ if (strftime(buf, CREATION_TIME_LEN, "D:%Y%m%d%H%M%S", get_time()))
return true;
else
return false;
diff --git a/fig2dev/creationdate.h b/fig2dev/creationdate.h
index 048508a..199d985 100644
--- a/fig2dev/creationdate.h
+++ b/fig2dev/creationdate.h
@@ -21,3 +21,4 @@
#define CREATION_TIME_LEN 36
extern int creation_date(char *buf);
+extern int creation_date_pdfmark(char *buf);
diff --git a/fig2dev/dev/genps.c b/fig2dev/dev/genps.c
index 5bea35c..48e05a6 100644
--- a/fig2dev/dev/genps.c
+++ b/fig2dev/dev/genps.c
@@ -1181,6 +1181,7 @@ genps_end(void)
const int h = pageheight, w = pagewidth;
int epslen, tiflen;
struct stat fstat;
+ char date_buf[CREATION_TIME_LEN];
/* for multipage, translate and output objects for each page */
if (multi_page) {
@@ -1368,6 +1369,13 @@ genps_end(void)
/* final DSC comment for eps output (EOF = end of document) */
fputs("%EOF\n", tfp);
+ if (pdfflag) {
+ if (creation_date_pdfmark(date_buf))
+ fprintf(tfp,
+ "[ /ModDate (%s)\n /CreationDate (%s)\n /DOCINFO pdfmark\n",
+ date_buf, date_buf);
+ }
+
/* all ok */
return 0;
}
--
2.39.2

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

25
1b09a8.patch Normal file
View File

@ -0,0 +1,25 @@
From 1b09a885a8f0309bf1170ddcf07673801c79f895 Mon Sep 17 00:00:00 2001
From: Thomas Loimer <thomas.loimer@tuwien.ac.at>
Date: Tue, 28 Sep 2021 21:58:41 +0200
Subject: [PATCH] Correct a typo causing incorrect eps import, #137
---
fig2dev/dev/readeps.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git fig2dev/dev/readeps.c fig2dev/dev/readeps.c
index a7d6008..efeb33e 100644
--- fig2dev/dev/readeps.c
+++ fig2dev/dev/readeps.c
@@ -346,7 +346,7 @@ read_eps(F_pic *pic, struct xfig_stream *restrict pic_stream, int *llx,int *lly)
}
*llx = floor(rllx);
*lly = floor(rlly);
- pic->bit_size.x = (int)(rurx - rlly);
+ pic->bit_size.x = (int)(rurx - rllx);
pic->bit_size.y = (int)(rury - rlly);
break;
}
--
2.28.0

File diff suppressed because it is too large Load Diff

1434
fig2dev-3.2.6-fig2mpdf.patch Normal file

File diff suppressed because it is too large Load Diff

BIN
fig2dev-3.2.8b.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

115
transfig-3.2.8.dif Normal file
View File

@ -0,0 +1,115 @@
---
configure | 2 +-
fig2dev/dev/genps.c | 32 ++++++++++++++++++++++----------
fig2dev/dev/genpstex.c | 8 ++++++--
fig2dev/fig2ps2tex.csh | 2 +-
fig2dev/lib/getopt.c | 9 +++++++++
transfig/transfig.c | 2 ++
6 files changed, 41 insertions(+), 14 deletions(-)
--- configure
+++ configure 2021-02-12 08:54:37.958704809 +0000
@@ -2341,7 +2341,7 @@ ac_c_conftest_c99_main='
int dynamic_array[ni.number];
dynamic_array[0] = argv[0][0];
dynamic_array[ni.number - 1] = 543;
-
+ free(ia);
// work around unused variable warnings
ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\''
|| dynamic_array[ni.number - 1] != 543);
--- fig2dev/dev/genps.c
+++ fig2dev/dev/genps.c 2021-02-12 09:13:56.896176342 +0000
@@ -56,6 +56,7 @@
#include <pwd.h>
#endif
#include <locale.h>
+#include <langinfo.h>
#include "fig2dev.h" /* includes bool.h and object.h */
//#include "object.h" /* NUMSHADES, NUMTINTS */
@@ -958,9 +959,10 @@ genps_start(F_compound *objects)
fprintf(tfp, "%s\n", SPLINE_PS);
#ifdef I18N
if (support_i18n && iso_text_exist(objects)) {
- char *libdir, *locale;
- char localefile_buf[128];
- char *localefile = localefile_buf;
+ char *libdir, *locale, *codeset;
+ char *localefile = NULL;
+ size_t llen;
+ int ret;
FILE *fp;
libdir = getenv("FIG2DEV_LIBDIR");
#ifdef I18N_DATADIR
@@ -968,19 +970,30 @@ genps_start(F_compound *objects)
libdir = I18N_DATADIR;
#endif
locale = setlocale(LC_CTYPE, NULL);
+ llen = strcspn(locale, ".@");
+ codeset = nl_langinfo(CODESET);
if (locale == NULL) {
fprintf(stderr,
"fig2dev: LANG not defined; assuming C locale\n");
locale = "C";
}
- if (strlen(libdir) + strlen(locale) + 5 > sizeof localefile_buf)
- localefile = malloc(strlen(libdir) + strlen(locale) + 5);
- if (localefile != NULL) {
- sprintf(localefile, "%s/%s.ps", libdir, locale);
+ retry:
+ ret = asprintf(&localefile, "%s/%s.ps", libdir, locale);
+ if (ret > 0) {
/* get filename like
``/usr/local/lib/fig2dev/japanese.ps'' */
fp = fopen(localefile, "rb");
if (fp == NULL) {
+ if (strlen(locale) != llen) {
+ free(localefile);
+ locale[llen] = '\0';
+ goto retry;
+ }
+ if (codeset && locale != codeset) {
+ free(localefile);
+ locale = codeset;
+ goto retry;
+ }
fprintf(stderr, "fig2dev: can not open file: %s\n",
localefile);
} else {
@@ -998,11 +1011,10 @@ genps_start(F_compound *objects)
"The output might be broken.\n",
localefile);
}
- fclose(fp);
+ fclose(fp);
}
- }
- if (localefile != localefile_buf)
free(localefile);
+ }
}
#endif /* I18N */
--- fig2dev/fig2ps2tex.csh
+++ fig2dev/fig2ps2tex.csh 2021-02-12 08:54:37.954704887 +0000
@@ -22,7 +22,7 @@
# 2016-07-07 Thomas Loimer
# * use here-document, instead of echo
#
-
+set echo_style = bsd
set bbox = `grep "^%%BoundingBox:" $1`
set xsp = `echo "3k $bbox[4] $bbox[2] - 72 / p" | dc`
--- transfig/transfig.c
+++ transfig/transfig.c 2021-02-12 08:54:37.954704887 +0000
@@ -26,6 +26,8 @@
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
#include "transfig.h"
extern void sysmv(char *file); /* sys.c */

32
transfig-fix-afl.patch Normal file
View File

@ -0,0 +1,32 @@
---
fig2dev-3.2.8/fig2dev/alloc.h | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
--- fig2dev-3.2.8/fig2dev/alloc.h
+++ fig2dev-3.2.8/fig2dev/alloc.h 2021-02-12 09:43:47.313357380 +0000
@@ -19,15 +19,15 @@
#ifndef ALLOC_H
#define ALLOC_H
-#define Line_malloc(z) z = malloc(LINOBJ_SIZE)
-#define Pic_malloc(z) z = malloc(PIC_SIZE)
-#define Spline_malloc(z) z = malloc(SPLOBJ_SIZE)
-#define Ellipse_malloc(z) z = malloc(ELLOBJ_SIZE)
-#define Arc_malloc(z) z = malloc(ARCOBJ_SIZE)
-#define Compound_malloc(z) z = malloc(COMOBJ_SIZE)
-#define Text_malloc(z) z = malloc(TEXOBJ_SIZE)
-#define Point_malloc(z) z = malloc(POINT_SIZE)
-#define Control_malloc(z) z = malloc(CONTROL_SIZE)
-#define Arrow_malloc(z) z = malloc(ARROW_SIZE)
+#define Line_malloc(z) z = calloc(LINOBJ_SIZE,1)
+#define Pic_malloc(z) z = calloc(PIC_SIZE,1)
+#define Spline_malloc(z) z = calloc(SPLOBJ_SIZE,1)
+#define Ellipse_malloc(z) z = calloc(ELLOBJ_SIZE,1)
+#define Arc_malloc(z) z = calloc(ARCOBJ_SIZE,1)
+#define Compound_malloc(z) z = calloc(COMOBJ_SIZE,1)
+#define Text_malloc(z) z = calloc(TEXOBJ_SIZE,1)
+#define Point_malloc(z) z = calloc(POINT_SIZE,1)
+#define Control_malloc(z) z = calloc(CONTROL_SIZE,1)
+#define Arrow_malloc(z) z = calloc(ARROW_SIZE,1)
#endif /* ALLOC_H */

909
transfig.changes Normal file
View File

@ -0,0 +1,909 @@
-------------------------------------------------------------------
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>
- Make PDF output via ghostscript (for large parts) reproducible,
add 0001-Make-ModDate-and-CreationDate-in-PDF-reproducible.patch
-------------------------------------------------------------------
Thu Mar 9 17:02:41 UTC 2023 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Fix fig2mpdf documentation:
* rerun latex to get references right.
* uudecode images for html documentation.
- Clean up spec file, remove parts for EOLed SLE 11.
- Depend on texlive-epstopdf only if texlive is installed.
- Use weak dependency on ghostscript, vector output formats
like EPS, PS and SVG do not depend on it.
-------------------------------------------------------------------
Wed Oct 6 10:45:30 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Update to fig2dev version 3.2.8 Patchlevel 8b (Aug 2021)
o Detect the output language from the output file name.
o On the command line, a minus (-) as input or output file name refers
to standard input or standard output.
o Correct buffer overflows and segfaults, mainly due to maliciously
crafted input files, tickets #113-117, #122, #123, #125-#135.
o With -Lepic -P, generate a complete tex file.
o Correctly produce a gif if a transparent color is given, ticket #121.
o Return with error if no space is left on the device. Ticket #101.
- Remove patch 6827c09d.patch now upstream
- Add patch 1b09a8.patch from upstream (for ticket #137)
- Port patch fig2dev-3.2.6-fig2mpdf.patch back
- This Update includes the fixes for
* bsc#1190618, CVE-2020-21529: stack buffer overflow in the bezier_spline function in genepic.c.
* bsc#1190615, CVE-2020-21530: segmentation fault in the read_objects function in read.c.
* bsc#1190617, CVE-2020-21531: global buffer overflow in the conv_pattern_index function in gencgm.c.
* bsc#1190616, CVE-2020-21532: global buffer overflow in the setfigfont function in genepic.c.
* bsc#1190612, CVE-2020-21533: stack buffer overflow in the read_textobject function in read.c.
* bsc#1190611, CVE-2020-21534: global buffer overflow in the get_line function in read.c.
* bsc#1190607, CVE-2020-21535: segmentation fault in the gencgm_start function in gencgm.c.
* bsc#1192019, CVE-2021-32280: NULL pointer dereference in compute_closed_spline() in trans_spline.c
-------------------------------------------------------------------
Mon Aug 16 07:40:07 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Skip requirement of texlive-epstopdf as SLE-12 does not have that
-------------------------------------------------------------------
Wed Aug 11 12:40:48 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Skip build of documentation of fig2mpdf on SLE-12
-------------------------------------------------------------------
Fri Jun 18 13:26:56 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Make spec file build with older SLE versions as well
* This version is used by xfig 3.2.8 and above
-------------------------------------------------------------------
Fri May 21 11:50:39 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Add upstream commit as patch 6827c09d.patch
Global buffer overflow in fig2dev/read.c in function read_colordef()
(boo#1186329, CVE-2021-3561)
-------------------------------------------------------------------
Thu Apr 1 11:58:30 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Update to fig2dev version 3.2.8 Patchlevel 8a (Mar 2021)
o Allow closed splines with three points.
o Fix build under Darwin.
- Correct hunk offsets of the patch
o transfig-3.2.8.dif
-------------------------------------------------------------------
Fri Feb 12 09:50:30 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Update to fig2dev version 3.2.8 (Patchlevel 8 (Dec 2020)
o Use deflate to embed image data into eps output, often substantially
reducing file size.
o Embed pdf files into ps output by converting the pdf to eps.
o Allow negative arrow widths. This might be useful for asymmetric arrow
tips, which can thus be mirrored around the corresponding line.
Ticket numbers refer to https://sourceforge.net/p/mcj/tickets/#.
o Reject negative text font sizes. Fixes ticket #86.
o Allow fig files ending without previous eol character. Fixes #83, #84.
o Accept text and ellipse angles only within -2*pi to 2*pi. Fixes #76.
o Allow -1 as default TeX font, not only 0. Fixes #71, #75, #81.
o Do not allow ASCII NUL anywhere in input. Fixes #65, #68, #73, #80.
o Use getline() to improve input scanning.
Fixes tickets #58, #59, #61, #62, #67, #78, #79, #82.
o Correctly scan embedded pdfs for /MediaBox value.
o Convert polygons having too few points to polylines. Ticket #56.
o Reject huge arrow types causing integer overflow. Ticket #57.
o Allow Fig v2 text strings ending with multiple ^A. Ticket #55.
o Embed images in pdfs with their original compression type, i.e., leave
the gs switch "-dAutoFilterColorImages" at its default value "true".
- This update includes the fixes for
bsc#1159293 - CVE-2019-19797: transfig,xfig: out-of-bounds write in
read_colordef in read.c
bsc#1161698 - CVE-2019-19555: transfig,xfig: stack-based buffer
overflow because of an incorrect sscanf
bsc#1159130 - CVE-2019-19746: transfig,xfig: segmentation fault and
out-of-bounds write because of an integer overflow via
a large arrow type
bsc#1189343 - CVE-2020-21680: transfig: A stack-based buffer overflow in the
put_arrow() component in genpict2e.c
bsc#1189345 - CVE-2020-21681: transfig: A global buffer overflow in the
set_color component in genge.c
bsc#1189325 - CVE-2020-21683: transfig: A global buffer overflow in the
shade_or_tint_name_after_declare_color in genpstricks.c
bsc#1189346 - CVE-2020-21682: transfig: A global buffer overflow in the
set_fill component in genge.c
and many more
- Port and rename patch transfig-3.2.6.dif which is now transfig-3.2.8.dif
- Remove patches now obsolete
* 00cded.patch
* 100e27.patch
* 2f8d1a.patch
* 3065eb.patch
* 3165d8.patch
* 421afa.patch
* 4d4e1f.patch
* 639c36.patch
* CVE-2019-19555.patch
* CVE-2019-19746.patch
* CVE-2019-19797.patch
* acccc8.patch
* c379fe.patch
* ca48cc.patch
* d6a10d.patch
* d70e4b.patch
* e3cee2.patch
* transfig.3.2.5-binderman.dif
* transfig.3.2.5d-mediaboxrealnb.dif
- Port patches
* fig2dev-3.2.6-fig2mpdf.patch
* fig2dev-3.2.6a-RGBFILE.patch
-------------------------------------------------------------------
Wed Sep 30 10:48:31 UTC 2020 - Dr. Werner Fink <werner@suse.de>
- Add upstream security patches/commits
* 100e27.patch
* 3065eb.patch
* ca48cc.patch
-------------------------------------------------------------------
Tue Sep 29 09:24:16 UTC 2020 - Dr. Werner Fink <werner@suse.de>
- Do hardening via compile and linker flags
-------------------------------------------------------------------
Tue Feb 11 11:38:01 UTC 2020 - Dr. Werner Fink <werner@suse.de>
- Add upstream security patches/commits
* 00cded.patch
* 2f8d1a.patch
* 3165d8.patch
* 421afa.patch
* 4d4e1f.patch
* 639c36.patch
* acccc8.patch
* d6a10d.patch
* d70e4b.patch
* e3cee2.patch
-------------------------------------------------------------------
Tue Jan 21 13:08:49 UTC 2020 - Dr. Werner Fink <werner@suse.de>
- Avoid auto(re)config
-------------------------------------------------------------------
Tue Jan 21 12:15:46 UTC 2020 - Dr. Werner Fink <werner@suse.de>
- Add security patches
* CVE-2019-19746.patch -- bsc#1159130
* c379fe.patch ... currently without CVE and bugzilla entry
* CVE-2019-19797.patch -- bsc#1159293
-------------------------------------------------------------------
Thu Dec 5 08:49:13 UTC 2019 - Dr. Werner Fink <werner@suse.de>
- Add patch CVE-2019-19555.patch
* Even if we are not affected add fix for CVE-2019-19555
-------------------------------------------------------------------
Tue Oct 29 11:07:12 UTC 2019 - Dr. Werner Fink <werner@suse.de>
- Update to fig2dev version 3.2.7 (Patchlevel 7b (Oct 2019)
o A X color database is not needed, but can be provided. The location of
the database can be given at compile time, default /etc/X11/rgb.txt.
Ticket numbers refer to https://sourceforge.net/p/mcj/tickets/#.
Debian bug numbers refer to https://bugs.debian.org/#.
o Do not clip objects with line-thickness 0 having arrows. Ticket #53.
o Do not segfault on circle/half circle arrowheads with a magnification
larger 42. Always draw circle arrowheads with 40 points. Ticket #52.
o Allow circles or ellipses with negative radii. Ticket #49.
o Avoid "dimension too large error" with tikz output by avoiding
coordinate values smaller than -16383.
o Make tests (test1.c) work with -fsanitize=address compiler option.
o Obey join-style of lines in tikz output.
o Pass utf8-strings to svg output, escape some chars (<>&).
o Accept inclined boxes and change them to polygons. Fixes ticket #43.
o Make tests #27 and #33 work on Mac Darwin, failed due to whitespace
formatting differences. From Hanspeter Niederstrasser. Ticket #40.
o Use only latex, neither etex or tex, to test tikz output. Usage of
etex, after hint from Roland Rosenfeld, closed debian bug 920368.
o For tikz output, do not draw arrows on a single point line.
o Omit spurious showpage when including jpg-file. From Rainer Buchty.
o Correct a few memory leaks and corruptions. See commit d1c54f6.
o Change negative color numbers to default color. Fixes ticket #30.
o A spline with one point would cause segfault. Fixed, see ticket #29.
o Allow one char without newline in the last line of an input file.
Fixes ticket #28.
o Harden input, mainly against files in which an incomplete object would
be created and freeing the object would violate memory, i.e, it may
cause segfault. See, e.g., ticket #27.
o Properly initalize line storage when reading fig files version 1.3.
Would segfault when reading incomplete line and trying to free it.
Fixes ticket #26, debian bug 906743.
o Silently ignore the hundred-first and more comment lines. This
fixes ticket #25 and debian bug 906740.
o Use SetFigFont, not SetFigFontNFSS in pictex output. Fixes
https://bugs.launchpad.net/ubuntu/+source/transfig/+bug/1359485 .
o Accept blanks in color names (e.g., fig2dev -L eps -g"Misty Rose"..).
o Correct typos in man-pages, debian 30_man_typo.patch.
- Remove patches now upstream
* fig2dev-3.2.6a-man-typo.patch
* transfig-03ea4578.patch
* transfig-e0c4b024.patch
* transfig-fix-of-e0c4b024.patch
- Port patches to new version
* transfig-3.2.6.dif
* transfig-fix-afl.patch
* fig2dev-3.2.6-fig2mpdf.patch
* fig2dev-3.2.6a-RGBFILE.patch
-------------------------------------------------------------------
Thu Aug 15 07:21:49 UTC 2019 - Dr. Werner Fink <werner@suse.de>
- Add patch transfig-03ea4578.patch from upstream commit 03ea4578
to fix bsc#1143650 with CVE-2019-14275
-------------------------------------------------------------------
Wed Jun 26 07:45:21 UTC 2019 - Dr. Werner Fink <werner@suse.de>
- Add patch transfig-fix-of-e0c4b024.patch to fix last added upstream
commit (boo#1136882)
-------------------------------------------------------------------
Thu Aug 30 09:50:10 UTC 2018 - Dr. Werner Fink <werner@suse.de>
- Add patch transfig-e0c4b024.patch from upstream commit e0c4b024
to fix bsc#1106531 with CVE-2018-16140
-------------------------------------------------------------------
Mon May 7 10:28:07 UTC 2018 - werner@suse.de
- Update to fig2dev version 3.2.7a (Patchlevel 7a (April 2018))
o Language previous option current option
------------------------------------------------------------
cgm -b dummy -a
epic -A scale -d scale
eepic -A scale -d scale
eepicemu -A scale -d scale
gbx -i on|off -v
ibmgl -m mag,xoff,yoff -m mag -x xoff -y yoff
mp -I file -d file
ps -S dummy -o
o Print language-specific help text by using fig2dev -L lang -h.
o Add option -M, multipage, for MetaPost output language.
o Add option -P, pagemode, and -z to choose a pagesize for pdf output.
o Add option -W (scaling of figures not possible) for tikz.
o Add option -b, border width, for LaTeX output language.
o Add option -f for pstex_t and pdftex_t output language.
o Add uk_UA and ru_RU encodings for PostScript output. Ticket #12.
o Fix regression whereupon flipped ellipses were not read. Ticket #23.
o Distribute i18n files ru_RU.CP1251.ps and uk_UA.KOI8-U.ps.
o Make test "survive debian bug #890016" succeed on 32 bit systems.
o Distribute the X bitmaps files within fig2dev, no need to install
these files. The files were needed for Tk and Perl/Tk output.
o Add option -w, wrap (create stand-alone perl file) for Perl/Tk output.
o Update help text: Output help for dxf and textyl output language,
add description of -g option for Tk/Tcl and Perl/Tk output, allow -f
option for pstex_t and pdftex_t output language.
o Sanitize input. Do not segfault on malformed input files. Fixes debian
bugs 881143, 881144, 881396, 890015, 890016, 882021 and also 882022.
o Do not put an %%Orientation: comment into PostScript output. Some
viewers would rotate the resulting file, others not.
o Fix build on NetBSD, which has a _setmode() function different from
_setmode() on Windows. Ticket #17. Also, avoid alloca(). Ticket #16.
o tikz output: Omit the semicolon after \pgftext[..]{...};.
o Define PostScript patterns with larger tiles, may render better. #13
o Fix build in case libXpm is missing. Ticket #15.
o Use netpbm programs instead of ghostscript, to produce smaller files.
o Correctly embed eps files with binary preview (epsi, typically
found on Microsoft systems). Also, allow to embed ps-files. Fixes
debian bug 248807, ticket #8.
o For compilation, do not depend on PATH_MAX being defined.
- Remove patches now upstream
fig2dev-3.2.6-genps_oldpatterns.patch
fig2dev-3.2.6a-input-sanitizing.patch
fig2dev-3.2.6a-style-overflow.patch
- Modify patches
fig2dev-3.2.6-fig2mpdf-doc.patch
fig2dev-3.2.6-fig2mpdf.patch
fig2dev-3.2.6a-RGBFILE.patch
transfig-3.2.6.dif
transfig-fix-afl.patch
transfig.3.2.5d-mediaboxrealnb.dif
-------------------------------------------------------------------
Fri Mar 2 15:40:14 UTC 2018 - crrodriguez@opensuse.org
- Change xorg-x11-devel --> pkgconfig(xpm)
- buildrequire default libpng.
-------------------------------------------------------------------
Wed Nov 22 12:25:21 UTC 2017 - werner@suse.de
- Added patches
* fig2dev-3.2.6a-RGBFILE.patch to let rgb.txt be located via
environment variable FIG2DEV_RGBFILE
* fig2dev-3.2.6a-man-typo.patch to fix simple typo in manual page
* fig2dev-3.2.6a-input-sanitizing.patch to do some input
sanitizing when reading FIG files (bsc#1069257, CVE-2017-16899)
* fig2dev-3.2.6a-style-overflow.patch
-------------------------------------------------------------------
Mon Feb 6 11:23:24 UTC 2017 - werner@suse.de
- Fix now failing download source service, that is don't do this
-------------------------------------------------------------------
Thu Feb 2 13:44:43 UTC 2017 - werner@suse.de
- Update to fig2dev version 3.2.6a (Patchlevel 6a (January 2017))
NEW FEATURES:
o Distribute transfig.pdf. No need to build it from the TeX sources.
o Enable reproducible build for svg output.
o Set the creator to fig2dev, not to the path by which fig2dev is
invoked.
BUGS FIXED:
Ticket numbers refer to https://sourceforge.net/p/mcj/tickets/#.
o The svg output now produces correct patterns and pie-wege arcs.
Property names instead of style attributes are used. Hollow arrow
heads are really hollow, not filled with white. In the PostScript
output, this might also clip a bit of the filling underneath an arrow.
o tikz output: Re-use \dimen \XFigu if it is already defined. Ticket #3.
o tikz output: A pattern in an object with line width zero and the
stroke color equal to the fill color would produce a white fill.
The tikz output now does not try to be smart and puts a pattern, even
if the result is equal to a solid fill. Ticket #1.
o pict2e output: Standalone tex-files always include color.sty. #2.
o pict2e output: A pattern with stroke color equal to fill color is
rendered as a solid fill.
o Compiles when gnu iconv and standard iconv are present.
-------------------------------------------------------------------
Fri Sep 23 12:04:22 UTC 2016 - werner@suse.de
- Update to fig2dev version 3.2.6 (the successor of transfig)
o Add compile switch --enable-versioning and script update-version_m4,
to create version string from source control system
o tikz output: Support -G (grid) option. Make \XFigwidth and \XFigheight
only scale coordinates, not line widths; Do not set unnecessarily
\color{black} on text.
From Roland Rosenfeld <roland@spinnaker.de>
o Correct comment string in man page fig2ps2tex.1
o Distribute autotest file lookup_X_color.at - only useful for hacko
From Brian V. Smith:
o Changed object defs from O_ to OBJ_ because O_TEXT conflicts
with system typedef (debian 37_OBJ_typedef.patch)
o Remove unused charset variables cs and ca from genibmgl.c
(debian 38_unusedcharset.patch)
o Build with make CFLAGS="-Werror -Wpedantic -Wformat -Wformat-security'
o On lines with Round or Projecting cap style and arrowheads, the line
endpoint stuck out beyond the arrowhead (this was fixed in
xfig 3.2.5c, but not here until now; debian 41_arrowhead.patch)
o Changed .ce (center lines) to .RS (right-justify) in fig2ps2tex man
page file because of issues when generating HTML (From Eric Raymond)
(debian 36_manpage_ce2RS.patch)
o Quotes added to output file name for several formats in case there
are blanks in the name (debian 39_gs_quote.patch)
o For PDF output, changed -dColorImageFilter from /FlateEncode to
/DCTEncode for lossy compression (smaller pdf files)
(debian 40_ColorImageFilter.patch)
o Update help for PDF options (debian 42_PDF_help.patch)
From Roland Rosenfeld. Bug numers refer to https://bugs.debian.org/#.
o Remove bashisms in fig2ps2tex script. Reported from
Chris Lamb <chris@chris-lamb.co.uk>. Fixes debian bug 480615.
o Include sys/stat.h in genps.c. Reported from Steven Chamberlain
<steven@pyro.eu.org>. Debian bug 654767. (28_fix_chmod...patch)
o Distribute the man page transig.1. (34_transfig.1.patch)
o Do not report user information in ps files. Debian bug 316382
(04_displaywho.patch)
o Set locale to C. Debian bug 45378 (05_locale_patch).
o Support pdftex in transfig (20_transfig_pdftex.patch). Reported by
Jindrich Makovicka <makovick@gmail.com>.
o Fix some typos (22_typos.patch, 35_manpage_typos.patch).
o Honor environment variable SOURCE_DATE_EPOCH, for reproducible
builds. Debian bug 819911. From Alexis Bienvenüe <pado@passoire.fr>.
(33_honour_SOURCE_DATE_EPOCH.patch).
o Enable fonts >= 42 pt, needs \usepackage{type1cm}. Bug 343139,
(09_maxfontsize.patch).
o New pict2e and tikz output language, for use with TeX/LaTeX.
o Compile with ./configure; make; make install.
Optionally, use make check; make installcheck.
o By default, transfig is not built.
o Swap patterns in PostScript output, were upside down.
o Silence most compiler warnings.
o Update man-pages and help text.
o Accurately position arrowheads, flush with line, in PostScript output.
- Remove transfig.3.2.5d-patches.tar.bz2 but port and add the oldpatterns
and mpdf patches to 3.2.6:
fig2dev-3.2.6-fig2mpdf-doc.patch
fig2dev-3.2.6-fig2mpdf.patch
fig2dev-3.2.6-genps_oldpatterns.patch
- Patch transfig.3.2.5d.dif becomes transfig-3.2.6.dif
- Modify the patches
transfig-fix-afl.patch
transfig.3.2.5-binderman.dif
transfig.3.2.5d-mediaboxrealnb.dif
-------------------------------------------------------------------
Thu Apr 16 12:26:49 UTC 2015 - meissner@suse.com
- transfig-fix-afl.patch: fixed crashes due to uninitialized memory,
found by afl.
-------------------------------------------------------------------
Tue Dec 10 14:50:19 UTC 2013 - werner@suse.de
- Update to transfig version 3.2.5e
* HTML map output was limited to 100 links.
Fix by Jan van Dijk
* Updated for compatibility to PNG 1.5
From Matthias Scheler
* Was adding "showpage" command when producing bitmap formats from intermediate EPS.
This produced "illegal" PNG and JPEG files with extra, blank image.
* Maximum width of included image in PS/EPS output increased from 8192 to 16384
* Precision of some PIC objects increased from %.2f to %.3f
* Double close of output file when ghostscript fails. Original bug report from
https://bugzilla.redhat.com/728825
- Change out patch sets to fit 3.2.5e
-------------------------------------------------------------------
Fri Apr 5 10:16:53 UTC 2013 - idonmez@suse.com
- Add Source URL, see https://en.opensuse.org/SourceUrls
-------------------------------------------------------------------
Fri Feb 8 11:14:39 UTC 2013 - werner@suse.de
- Use original patches from Debian
-------------------------------------------------------------------
Thu Feb 7 16:34:21 UTC 2013 - werner@suse.de
- Add xfig.3.2.5b-mediaboxrealnb.dif to fix regarding pdf import,
reported by Loic Le Guyader compare with Debian bug #530898
-------------------------------------------------------------------
Fri Sep 28 14:15:17 UTC 2012 - werner@suse.de
- Update to transfig version 3.2.5d
* made PostScript output DSC 3.0 compliant to work with CUPS
patch from Ian Dall (see https://bugzilla.redhat.com/558380)
* Changed STOCK_LAST from 17 to 19 in fig2dev/dev/genemf.c
* Questionable copy of one data type to another in genemf.c
* Changed definition of command for short slanted lines in genlatex.c
* Added check for existance of arrows in SVG line generator
* Removed %%Page: directive from included JPEG files in PostScript/EPS output
* bound.c was passing pointers to int instead of double to arc_tangent
* put_msg function uses proper varargs now
* Option for debug comments in GBX output is "yes" or "no", not "on" or "off"
* Added help (-h) info for GBX output
* In version 1.4 of the PNG library dither was removed so fig2dev now uses
quantize when importing PNG images with palettes
* put_msg was declared twice (fig2dev/dev/genemf.c)
* Added xlink namespace for images in SVG export
* SVG output for imported images didn't form href link properly
* New PSTricks driver from Gene Ressler (see man fig2dev for info)
* transfig command was hardwired for "tex" for "make all" directive and
removing files with "make clean" directive in creating Makefile
* -a option added to PostScript and PICTeX languages to NOT include user's
login name in output
* Gerber (RS-247-X for CAD drawings for printed circuits) export language from Edward Gr
-------------------------------------------------------------------
Tue Jul 24 09:46:42 UTC 2012 - werner@suse.de
- Add missed fonts
-------------------------------------------------------------------
Tue Jul 10 10:12:05 UTC 2012 - werner@suse.de
- Make it build with latest TeXLive 2012 with new package layout
-------------------------------------------------------------------
Tue Jun 28 19:21:37 CEST 2011 - werner@suse.de
- Add URL due bnc#676463
-------------------------------------------------------------------
Tue Apr 20 17:24:01 CEST 2010 - werner@suse.de
- Add compatibility switch for libpng 1.4 or higher
-------------------------------------------------------------------
Mon Apr 19 11:22:31 CEST 2010 - sndirsch@suse.de
- fixed libpng buildrequires for openSUSE >= 11.3
-------------------------------------------------------------------
Thu Dec 17 09:30:41 CET 2009 - werner@suse.de
- Apply latest binderman patch
-------------------------------------------------------------------
Mon Dec 14 15:05:23 CET 2009 - werner@suse.de
- Update to transfig version 3.2.5a
* 22 new arrowhead types
* HTML map now produces reference to .png file instead of .gif
* CreationDate in pictex output was either wrong or caused segfault
* bugs fixed in SVG Driver:
- blue component of shaded colors was always zero
- line protruding beyond arrowhead on long arrows
- wrong position of back arrowhead on double-headed arrows
- fill patterns either missing or using incorrect linewidth
- lowercase greek phi did not match its X11 counterpart
from Martin Kroeker
* dubious printf(j++,j++) in MP driver
* missing #includes in MP driver
* added !defined(__FreeBSD) to fig2dev.h def for sys_nerr and errno
From Eric Scott
* added -quiet options to giftopnm and ppmtopcs in reading GIF files
From Eric Scott
* Typo in LaTeX driver when generating arc-box. "iut" should be "put"
* extraneous stroke:black in svg header removed along with stroke color
for text, since the text fill color does the whole job
* fig2dev produces more correctly structured PostScript. Files get printed via
CUPS on PostScript printers. When viewing a .ps-file in gv you can go to the
last page and back and to the last page again without getting PostScript errors.
From Ronald Lembcke
* Renamed the macro \SetFigFont to \SetFigFontNFSS if NFSS is #defined to alleviate
some problems. From Roland Rosenfeld.
* Grid in metric mode was incorrectly scaled
* Removes any %EOF or %%EOF from imported EPS pictures before exporting.
Also doesn't add %EOF when importing JPEG file now.
* Missing call to get local time before converting to string in genpictex.c
-------------------------------------------------------------------
Fri Oct 9 14:18:53 CEST 2009 - werner@suse.de
- Yet an other David Binderman bug (bnc#544938)
-------------------------------------------------------------------
Wed Aug 26 12:53:54 CEST 2009 - mls@suse.de
- make patch0 usage consistent
-------------------------------------------------------------------
Wed Oct 8 15:30:13 CEST 2008 - werner@suse.de
- Add patch to enable cups to print postscript (bnc#419432)
-------------------------------------------------------------------
Fri Apr 25 16:01:21 CEST 2008 - werner@suse.de
- Remove unwanted debug code (bnc#383669)
-------------------------------------------------------------------
Mon Nov 5 15:11:04 CET 2007 - werner@suse.de
- Fix typo which caused a missed white space (bug #339086)
-------------------------------------------------------------------
Tue Jul 24 17:49:48 CEST 2007 - werner@suse.de
- Update to transfig version 3.2.5 (bug ##267840)
* SVG driver adds color and pattern filling to arcs
from Martin Kroeker
* bug which made arrowheads too short fixed
* SVG driver corrects the ugly arrowheads on stick arrows
from Martin Kroeker
* EMF driver would crash when fed stdin
from Martin Kroeker
* Unhandled case for linetypes in latex driver
* CUPS didn't like the order of some of the Postscript header
from Ian Dall
* Updated SVG driver from Martin Kroeker was missing from alpha6
* Another SVG update: Use a font-family list of "Times,Symbol" for symbol
characters - the Times fontface does not contain all elements of the
Symbol font on all platforms
* Typo in font name (was cmit10, should be cmti10) in MetaPost driver
This bug fix was omitted from alpha6
* Added -dPDFSETTINGS=/prepress option to ghostscript when generating
PDF output to improve quality of bitmap graphics
* Fill patterns now use PostScript Level 2 built-in pattern commands
for Postscript/EPS/PDF and bitmap output
From Konstantin Shemyak
* Updated SVG driver from Martin Kroeker
* New -K option to size bounding box to whole figure when exporting
only certain depths
From Dirk Osswald
* Typo in font name (was cmit10, should be cmti10) in MetaPost driver
* When all texts were "special" (LaTeX coded) in a figure, ISO
characters weren't encoded in straight PS and PDF output
* Bug in radius for circles in SVG driver (dev/gensvg.c)
* fig2dev.man was missing many papersize options
* Double fclose() in bitmap driver
* Raster picture support added to SVG driver. (In SVG, this translates
to a link to the image file plus rotation/scaling information.
While 'conformant' SVG viewers need only support PNG and JPEG, there
is no a filetype test, as there is no limit on supported formats
in the standard, and e.g. Batik is able to display XBM and GIF in
addition. Added code for rounded boxes (polyline subtype 4).
Added code for boxes, explicit support for polygons. Added
xml-space:preserve qualifier on texts to preserve whitespace. Rewrote
fill pattern handling to generate patterns as needed - adding support
for penwidth and color. Corrected tiling of all shingle patterns and
reversal of horizontal shingles.
From Martin Kroeker
* Better arrowheads in SVG driver. Corrected font family selection.
Corrected (and simplified) calculation of white-tinted fill colors
(and removed the HSV/RGB conversion code).
From Justus Piater
* Typo in LATEX_AND_XFIG file. Text should be:
\convertMPtoPDF{foo.0}{1}{1}
It was missing parameters {1}{1}
* Depth filter option -D was parsing range (e.g. 40:80) incorrectly
Fix from Justus Piater
* C++ style comments "//" changed to "/* */" in genmp.c
* Integer overflow in computing some spline steps
* \pagestyle{empty} added for epic/eepic driver so it doesn't produce
unnecessary page number when LaTeXing
* Many SVG driver enhancements from Martin Kroeker
(martin@ruby.chemie.uni-freiburg.de)
* New features in EMF driver from ITOH Yasufumi:
support for locale text (if iconv() is available),
arc box, open arc, rotated ellipse, picture,
dash-triple-dotted line style, and all fill patterns.
* "cleandir" directive missing from doc/manual/Makefile
* Added note about requiring dummy argument for -R option
* SVG driver bug fixes: semicolon missing in CSS properties, multiline
string problem, width, height and viewbox attributes now relative to
figure bounds instead of pagesize. Fixes from Justus Piater.
* Font info was put in the pstex file even when there were only special
texts.
* Global option "-Z maxdim" to scale figure so that largest dimension
(width or height) is maxdim inches
* Shapepar driver to generate shaped paragraphs for LaTeX (-L shape)
from Christian Gollwitzer
* I18N support postscript file installation moved to fig2dev/dev
directory and installed with InstallNonExecFile (imake directive)
* options -dAutoFilterColorImages=false and -dColorImageFilter=/FlateEncode
added to ghostscript call when exporting to pdf to improve image
quality during compression
* "Epoch" added to rpm spec
* New HP/GL2 driver from Glenn Burkhardt with paper size selection,
offset, centering and orientation options
* comments about BINDIR added to fig2dev/Imakefile and transfig/Imakefile
so user can easily change installation directory of both programs
* MKDIRHIER used in Imakefile for installing support files instead of mkdir
* commands like \\small used instead of SetFigFont for thick and thin
dots for LaTeX export
From Bo Thilde
* removed typedefs of uint, ushort and ulong from genemf.h because
systems should already have those defined
* SVG driver not mentioned in fig2dev.1 (.man)
* shortened two fprintf calls in gensvg.c for HP-UX which can't handle
long strings
* If an imported picture path points to some directory which is not the
current directory, and there exists a picture file of the same name in
the current directory, and the correct file is not compressed, fig2dev
would use the file in the current directory because it stripped off
the path first. This was fixed by looking for the uncompressed name
first.
* Color values should be divided by 255, not 256 to produce values from
0 to 1.0 in LaTeX, Tk and PostScript drivers, and readpng and readpcx
utilities
* Increased precision of arc angles from %.1f to %.4f in PS/EPS/PDF
driver
* Postscript support files now installed with r/w permissions only (was
r/w/x)
* Metapost (mp) driver now generates all Fig styles of arrowheads
From Tim Braun
* Bug in pic preamble - default font size either 0 or garbage
* PDF not rotated anymore for landscape mode (similar to eps)
* fontmag not set when magnification was read from Fig file
* When there were only LaTeX special texts without backslashes (\) and
no other objects in the figure, a bounding box of 0 width was produced
for EPS, PS and PSTEX output.
* Added ZLIBDIR variable in fig2dev/Imakefile to specify zlib directory
if different from standard location
* pstex_t export lacked border option (-b) to align LaTeX text when
pstex figure specified border (also fixed in xfig Combined PS/LaTeX)
* warnings in gentpic.c caused failure of gcc on hppa architecture under
Debian
* cleaned up lots of implicit declarations of functions/procs
* transfig: the "psfig" language was missing from the list of languages,
making things go out of sync past "ps".
* transfig: "transfig -L pstex" was generating rules for ps not eps
* slight margin added to text bounds
* an incorrect printf specification (%d instead of %ld) in gemp.c
* "#include <varargs.h>" no longer needed (and is unsupported by gcc 3.3)
* Not a bug, really but a workaround for programs that generate Fig files
with arcs that have coincident start and end points with the intent
of making a circle (TCM apparently does this). Without this
workaround, such arcs have the same start and end angle, which
ghostcript and probably other PostScript interpreters take to mean
"don't draw anything". This fix adds 0.01 degrees to the end angle
if it is identical to the start angle.
* Exporting a file with a picture containing a path with blanks failed
* Incorrect ISO translation was:
"\\.S", /* latin capital letter S with dot above */
Should be:
"\\.Z", /* latin capital letter Z with dot above */
* LaTeX: Correction to the ISO-8859-2 ogonek diacritic mark now uses \k
instead of cedilla (\c). If the macro \k isn't defined in your
situation or you don't see the ogonek then define the macro: \def\k#1{\c{#1}}
before the \begin{document}.
From Jerzy Sobczyk
* Bug in user-defined colors when exporting to CGM. If color numbers
weren't contiguous, e.g. 32, 34, then it couldn't find color 34.
* glyphs in the Symbol font that have descenders weren't taken into
account when calculating text bounds
* missing blue and extra brown color in LaTeX driver
* \smash directive added back to text objects in eepic driver (was removed
in 3.2.4)
* Quotes in FIG2DEV_LIBDIR definition (fig2dev/Imakefile) interferred when
using $DESTDIR
* Comments not inserted in EMF output anymore (not valid in language)
* float/int mixup in printf in pic driver for font size caused default
font size to be 0
* bug in hp/gl (ibmgl) driver produced incorrect JCL code to enter HP/GL
mode when using -k option
* point size factor changed from 72.27 to 72 points per inch as specified
by HP tech notes
* change in 3.2.4 which included all "special" (LaTeX) texts in the
bounding box that don't have any backslashes ("\") in them failed to
take into account inline equations using the "$". Now those special
texts are also excluded from the bounding box calculation.
* various man page format errors fixed
-------------------------------------------------------------------
Wed May 16 14:47:06 CEST 2007 - sbrabec@suse.cz
- Require GhostScript, needed for PS and PDF output.
-------------------------------------------------------------------
Fri Apr 20 09:20:56 CEST 2007 - aj@suse.de
- Use texlive for building.
-------------------------------------------------------------------
Mon Jul 31 19:17:02 CEST 2006 - werner@suse.de
- Make it build with X11R7
-------------------------------------------------------------------
Wed Jan 25 21:42:16 CET 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
-------------------------------------------------------------------
Mon Feb 28 10:51:39 CET 2005 - meissner@suse.de
- -Wno-all is actually -w (all warnings off).
Use $RPM_OPT_FLAGS to get other architecture flags.
-------------------------------------------------------------------
Thu Mar 11 16:57:09 CET 2004 - werner@suse.de
- Avoid extrem long build logs
-------------------------------------------------------------------
Mon Feb 2 19:05:12 CET 2004 - werner@suse.de
- Update to 3.2.4 (fix bug #34194)
-------------------------------------------------------------------
Sun Jan 11 09:26:19 CET 2004 - adrian@suse.de
- build as user
-------------------------------------------------------------------
Fri Jun 13 08:39:39 CEST 2003 - kukuk@suse.de
- Add missing directory to filelist
-------------------------------------------------------------------
Fri May 23 10:36:38 CEST 2003 - coolo@suse.de
- use BuildRoot
-------------------------------------------------------------------
Fri Nov 8 12:01:21 CET 2002 - werner@suse.de
- Remove XCOMM definition to make new cpp happy
-------------------------------------------------------------------
Mon Jun 17 15:35:29 CEST 2002 - meissner@suse.de
- renamed text() to _text() to avoid conflicts of assemblername
and sectionname .text on ppc64.
-------------------------------------------------------------------
Fri Feb 1 00:26:07 CET 2002 - ro@suse.de
- changed neededforbuild <libpng> to <libpng-devel-packages>
-------------------------------------------------------------------
Mon Dec 10 16:33:10 CET 2001 - werner@suse.de
- Update to version 3.2.3d
-------------------------------------------------------------------
Tue Aug 21 18:25:14 CEST 2001 - werner@suse.de
- Fix bug #9024: echo style for fig2ps2tex should be bsd
-------------------------------------------------------------------
Fri Oct 20 11:37:36 CEST 2000 - werner@suse.de
- Add missed `$'
-------------------------------------------------------------------
Wed Oct 18 15:58:04 CEST 2000 - werner@suse.de
- Avoid epsfig style, use normal graphics style (bug# 4168)
-------------------------------------------------------------------
Fri Sep 15 17:01:53 CEST 2000 - werner
- Update to 3.2.3c to fit xfig version
-------------------------------------------------------------------
Wed May 31 16:26:42 CEST 2000 - werner
- Use %{_defaultdocdir}
-------------------------------------------------------------------
Mon Mar 27 18:40:06 CEST 2000 - uli@suse.de
- fixed minor blooper in fig2dev/Imakefile (now calls mkdir with -p)
-------------------------------------------------------------------
Mon Mar 27 12:48:09 CEST 2000 - werner@suse.de
- Avoid sparc nasties
-------------------------------------------------------------------
Fri Mar 24 16:49:39 CET 2000 - werner@suse.de
- New version 3.2.3 for the new xfig version
- Fix some common nasties
- Disable some doubles like getopt
-------------------------------------------------------------------
Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
-------------------------------------------------------------------
Thu Oct 29 15:15:03 MET 1998 - ro@suse.de
- update to 3.2.1
-------------------------------------------------------------------
Thu Sep 17 18:15:53 MEST 1998 - ro@suse.de
- dont redeclare sys_errlist for glibc
----------------------------------------------------------------------------
Fri Oct 10 15:32:09 MEST 1997 - florian@suse.de
- update to version 3.2
----------------------------------------------------------------------------
Wed Oct 8 16:06:02 CEST 1997 - ro@suse.de
- Prepared package for automatic build
----------------------------------------------------------------------------
Tue May 27 20:03:59 MEST 1997 - florian@suse.de
- update to version 3.2.0-beta2

185
transfig.spec Normal file
View File

@ -0,0 +1,185 @@
#
# spec file for package transfig
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: transfig
Version: 3.2.8b
Release: 0
Summary: Graphic Converter
# www.xfig.org is dead
URL: https://mcj.sourceforge.net/
License: MIT
Group: Productivity/Graphics/Convertors
#Source: http://sourceforge.net/projects/mcj/files/fig2dev-%%{version}.tar.xz/download#/fig2dev-%%{version}.tar.xz
Source: fig2dev-%{version}.tar.xz
Patch0: transfig-3.2.8.dif
Patch1: 1b09a8.patch
Patch4: transfig-fix-afl.patch
Patch43: fig2dev-3.2.6-fig2mpdf.patch
Patch44: fig2dev-3.2.6-fig2mpdf-doc.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
BuildRequires: netpbm
BuildRequires: sharutils
#!BuildIgnore: texlive-tex4ht
BuildRequires: texlive-courier
BuildRequires: texlive-latex
BuildRequires: texlive-pdftex
BuildRequires: texlive-times
BuildRequires: pkgconfig(xpm)
BuildRequires: tex(8r.enc)
BuildRequires: tex(beamer.cls)
BuildRequires: tex(german.sty)
BuildRequires: tex(multimedia.sty)
BuildRequires: tex(times.sty)
BuildRequires: tex(xmpmulti.sty)
Provides: fig2dev
Requires: netpbm
Recommends: ghostscript-fonts-std
Recommends: ghostscript-library
Recommends: rgb
%description
TransFig is a set of tools for creating TeX documents with graphics
that are portable in the sense that they can be printed in a wide
variety of environments.
The transfig directory contains the source for the transfig command
which generates a Makefile which translates Fig code to various
graphics description languages using the fig2dev program. In previous
releases, this command was implemented as a shell script.
%prep
%setup -q -n fig2dev-%{version}
find -type f -exec chmod a-x,go-w '{}' \;
%patch0 -p0 -b .0
%patch1 -p0 -b .1
%patch4 -p1 -b .afl
%patch43 -p1 -b .mpdf
%patch44 -p1 -b .mpdfdoc
%patch46 -p1 -b .pdfmark
%patch47 -p1 -b .epstopdf
# remove obsolete libc fallback implementations
rm fig2dev/lib/*.c
%build
ulimit -v unlimited || :
#
# Used for detection of hardening options of gcc and linker
#
cflags ()
{
local flag=$1; shift
local var=$1; shift
test -n "${flag}" -a -n "${var}" || return
case "${!var}" in
*${flag}*) return
esac
case "$flag" in
-Wl,*)
set -o noclobber
echo 'int main () { return 0; }' > ldtest.c
if ${CC:-gcc} -Werror $flag -o /dev/null -xc ldtest.c > /dev/null 2>&1 ; then
eval $var=\${$var:+\$$var\ }$flag
fi
set +o noclobber
rm -f ldtest.c
;;
*)
if ${CC:-gcc} -Werror $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then
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 \'
fi
esac
}
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 -Wformat-security" CFLAGS
cflags "-Wformat -Werror=format-security" CFLAGS
cflags -fPIE CFLAGS
cflags -pie LDFLAGS
cflags -Wl,-z,relro LDFLAGS
cflags -Wl,-z,now LDFLAGS
export CC CFLAGS LDFLAGS
chmod 755 configure
%configure \
--docdir=%{_defaultdocdir}/%{name} \
--enable-transfig \
--enable-scale-pict2e \
--with-rgbfile=%{_datadir}/X11/rgb.txt
%make_build CCOPTIONS="$CFLAGS"
pushd transfig/doc
../../fig2dev/fig2dev -L latex trans.fig > trans.tex
pdflatex -draft manual.tex
pdflatex -draft manual.tex
pdflatex manual.tex
popd
pushd fig2mpdf/doc
make
while $(grep -q -i 'rerunfilecheck.*warning' sample-presentation.log); do
pdflatex sample-presentation
done
mkdir htmlimg
(cd htmlimg; uudecode ../*.uue)
popd
%install
#find -name '*.mpdfdoc' -o -name '*.mpdf' | xargs -r rm -vf
%make_install
install -m 0755 fig2mpdf/fig2mpdf %{buildroot}%{_bindir}
install -m 0644 fig2mpdf/fig2mpdf.1 %{buildroot}%{_mandir}/man1/
mkdir -p %{buildroot}%{_defaultdocdir}/%{name}
install -m 0644 [CLNR]* %{buildroot}%{_defaultdocdir}/%{name}
install -m 0644 transfig/doc/manual.pdf %{buildroot}%{_defaultdocdir}/%{name}/transfig.pdf
pushd fig2mpdf/doc
mkdir %{buildroot}%{_defaultdocdir}/%{name}/fig2mpdf
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/
install -m 0644 sample-presentation.pdf %{buildroot}%{_defaultdocdir}/%{name}/fig2mpdf/
popd
%fdupes %{buildroot}
%files
%defattr(-,root,root)
%{_bindir}/fig2dev
%{_bindir}/fig2mpdf
%{_bindir}/fig2ps2tex
%{_bindir}/pic2tpic
%{_bindir}/transfig
%{_datadir}/fig2dev/
%doc %{_defaultdocdir}/%{name}
%doc %{_mandir}/man1/*.1*.gz
%changelog