update to 3.2.5b

This is a security update.
changes:
-fix some unsecure tmpfile writing (CVE-2009-1962)
-more bugfixes
-symbol library extensions
-changed default browser to firefox and default pdf viewer to xpdf
-HTML MAP export (fig2dev) produces reference to .png file instead
 of .gif now
-minor UI improvements
This commit is contained in:
drochner 2009-06-22 18:29:33 +00:00
parent 4dc1a741f5
commit 725f02b2a4
14 changed files with 1128 additions and 1178 deletions

View file

@ -1,10 +1,9 @@
# $NetBSD: Makefile,v 1.54 2008/11/10 17:21:36 wiz Exp $
# $NetBSD: Makefile,v 1.55 2009/06/22 18:29:33 drochner Exp $
DISTNAME= xfig.3.2.5-alpha5.full
PKGNAME= xfig-3.2.5alpha5
PKGREVISION= 7
DISTNAME= xfig.3.2.5b.full
PKGNAME= xfig-3.2.5b
CATEGORIES= graphics
MASTER_SITES= ftp://epb.lbl.gov/xfig/alpha/
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=mcj/}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.xfig.org/
@ -15,7 +14,7 @@ DEPENDS+= transfig>=3.2.4:../../print/transfig
# version means we need a patch, which is currently used unconditionally
BUILDLINK_API_DEPENDS.Xaw3d+= Xaw3d>=1.5E
WRKSRC= ${WRKDIR}/xfig.3.2.5-alpha5
WRKSRC= ${WRKDIR}/xfig.3.2.5b
USE_IMAKE= YES
XAW_TYPE?= 3d
@ -27,11 +26,13 @@ CFLAGS+= -I${X11PREFIX}/include/X11
post-extract:
cd ${WRKSRC} && ${RM} -f Doc/*.orig Doc/*/*.orig Doc/*/*/*.orig
find ${WRKSRC}/Libraries -type d -exec ${CHMOD} 0755 {} \;
find ${WRKSRC}/Libraries -type f -exec ${CHMOD} 0644 {} \;
SUBST_CLASSES+= xaw
SUBST_STAGE.xaw= post-configure
SUBST_STAGE.xaw= post-patch
SUBST_MESSAGE.xaw= Fixing Imakefile
SUBST_FILES.xaw= IMakefile
SUBST_FILES.xaw= Imakefile
.if defined(XAW_TYPE) && ${XAW_TYPE} == "3d"
# define XAW3D and XAW3D1_5E
SUBST_SED.xaw+= -e 's/.*\(\#define.XAW3D\)/\1/'

File diff suppressed because it is too large Load diff

View file

@ -1,13 +1,15 @@
$NetBSD: distinfo,v 1.18 2008/02/06 23:33:01 smb Exp $
$NetBSD: distinfo,v 1.19 2009/06/22 18:29:33 drochner Exp $
SHA1 (xfig.3.2.5-alpha5.full.tar.gz) = ed99caf4505bc401ac34ecbe3d4c0aa783c4cc62
RMD160 (xfig.3.2.5-alpha5.full.tar.gz) = 47fd9d74b117518d1870297228e31591f312df2d
Size (xfig.3.2.5-alpha5.full.tar.gz) = 5836544 bytes
SHA1 (patch-aa) = 3ff914bd2ca913f7c4e2ea2a648a0776cd5098bf
SHA1 (patch-ab) = 7fb6cdf47d980db3d95cba0797408247087148e0
SHA1 (patch-ac) = 8ebf2bb18d05a2d383c4ac00a1c0e09e8190594f
SHA1 (patch-ad) = 80ae2ce2eea6a747862d1b223ffff56feaa73f1a
SHA1 (patch-ae) = 91aaa109fb38429043be89c9224ad3ca8f7bc02f
SHA1 (patch-af) = 26277c44716de75eef8cd6e1db5ab4c6c728d9a0
SHA1 (xfig.3.2.5b.full.tar.gz) = 0730d7e6bc217c0de02682efb0078821512bb542
RMD160 (xfig.3.2.5b.full.tar.gz) = aad4cfd808c116d34218e9890a898652e4f52ab6
Size (xfig.3.2.5b.full.tar.gz) = 5821049 bytes
SHA1 (patch-aa) = c931f4735f7502cc9d7c116378dcd3b420a40c6f
SHA1 (patch-ab) = c68a3ce1c1efbeab6e0f2dac9f91bf87c1515ce4
SHA1 (patch-ac) = b43b811dce9aa3cdb5d18dc7c403a4a2e503fd44
SHA1 (patch-ad) = b75238284164fe1e8365c21fab1a5e9102c467d0
SHA1 (patch-ae) = df29d2536cd9f53f331f983ccc0c99a547267561
SHA1 (patch-ag) = 021f15be1fd36adc80c638bbb485e2f3753ac11b
SHA1 (patch-ah) = 70daa905b3a67d0dc7c2ced8e689af12019b95b8
SHA1 (patch-ai) = bd3f0c40e542aae1cfd739dbe0c0f096ddfdefcf
SHA1 (patch-ak) = fcc358a595590ea3136d71bd9f61449d54914c46
SHA1 (patch-al) = ca20d3ec7bcf2ac24fd0a415495f805add23142d
SHA1 (patch-am) = 72adbda34425fda49f2072a3d40a3d942e07e1ba

View file

@ -1,12 +1,12 @@
$NetBSD: patch-aa,v 1.9 2003/01/07 06:30:35 rh Exp $
$NetBSD: patch-aa,v 1.10 2009/06/22 18:29:33 drochner Exp $
--- Fig.ad.orig Wed Dec 18 17:05:41 2002
--- Fig.ad.orig 2009-05-07 01:11:09.000000000 +0200
+++ Fig.ad
@@ -24,7 +24,7 @@
@@ -29,7 +29,7 @@ Fig.browser: firefox -remote 'openFile(%
! pdfviewer - put your favorite pdf viewer here.
! This is for viewing the xfig how-to guide and man pages
-Fig.pdfviewer: acroread %f
-Fig.pdfviewer: xpdf %f
+Fig.pdfviewer: gv %f
! Spell check program - put your favorite spelling check program here.

View file

@ -1,34 +1,21 @@
$NetBSD: patch-ab,v 1.12 2006/02/04 13:17:51 markd Exp $
$NetBSD: patch-ab,v 1.13 2009/06/22 18:29:33 drochner Exp $
--- Imakefile.orig 2004-04-27 08:24:41.000000000 +1200
--- Imakefile.orig 2009-03-30 17:53:05.000000000 +0200
+++ Imakefile
@@ -45,6 +45,7 @@ XCOMM different tree than the "correct"
XCOMM purpose of DESTDIR is to test an install process by installing in a benign area.
XCOMM XAPPLOADDIR = /home/user/xfig
+ XAPPLOADDIR = $(LIBDIR)/app-defaults
XCOMM Uncomment the following definition for XAW3D if you want to use
XCOMM the 3d Athena Widget Set (highly recommended!)
@@ -58,21 +59,24 @@ XCOMM #define XAW3D1_5E
@@ -65,18 +65,21 @@ XCOMM #define XAW3D1_5E
#ifdef XAW3D1_5E
DUSEXAW3D = -DXAW3D -DXAW3D1_5E
- XAWLIB = -lXaw3d15e
+ XAWLIB = -lXaw3d
#else
- XAW_SRC = w_menuentry.c SmeCascade.c SmeBSB.c SimpleMenu.c
- XAW_OBJ = w_menuentry.o SmeCascade.o SmeBSB.o SimpleMenu.o
# ifdef XAW3D
- DUSEXAW3D = -DXAW3D
- XAWLIB = -lXaw3d
+ DUSEXAW3D = -DXAW3D
+ XAWLIB = -lXaw3d
+ XAW_SRC = SmeCascade.c
+ XAW_OBJ = SmeCascade.o
+# else
+ XAW_SRC = w_menuentry.c SmeCascade.c SmeBSB.c SimpleMenu.c
+ XAW_OBJ = w_menuentry.o SmeCascade.o SmeBSB.o SimpleMenu.o
+ DUSEXAW3D = -DXAW3D
+ XAW_SRC = SmeCascade.c
+ XAW_OBJ = SmeCascade.o
+#else
+ XAW_SRC = w_menuentry.c SmeCascade.c SmeBSB.c SimpleMenu.c
+ XAW_OBJ = w_menuentry.o SmeCascade.o SmeBSB.o SimpleMenu.o
# endif /* XAW3D */
#endif /* XAW3D1_5E */
@ -42,29 +29,34 @@ $NetBSD: patch-ab,v 1.12 2006/02/04 13:17:51 markd Exp $
ZLIBDIR = $(USRLIBDIR)
XCOMM If don't want JPEG support, comment out the #define USEJPEG line
@@ -92,8 +96,8 @@ XCOMM You must have version 5b or newer
@@ -96,11 +99,11 @@ XCOMM You must have version 5b or newer
#ifdef USEJPEG
#ifdef USEINSTALLEDJPEG
-JPEGLIBDIR = /usr/local/lib
-JPEGINC = -I/usr/include/X11
+JPEGLIBDIR = $(LOCALBASE)/lib
+JPEGINC = -I$(LOCALBASE)/include
#else
JPEGLIBDIR = ../jpeg
JPEGINC = -I$(JPEGLIBDIR)
@@ -115,8 +119,8 @@ XCOMM Change XPMINC if necessary to poin
#ifdef USEINSTALLEDJPEG
- JPEGLIBDIR = /usr/local/lib
- JPEGINC = -I/usr/include/X11
+ JPEGLIBDIR = $(LOCALBASE)/lib
+ JPEGINC = -I$(LOCALBASE)/include
#else
- JPEGLIBDIR = ../jpeg
- JPEGINC = -I$(JPEGLIBDIR)
+ JPEGLIBDIR = ../jpeg
+ JPEGINC = -I$(JPEGLIBDIR)
#endif /* USEINSTALLEDJPEG */
#endif /* USEJPEG */
@@ -119,8 +122,8 @@ XCOMM Change XPMINC if necessary to poin
#define USEXPM_ICON
#ifdef USEXPM
-XPMLIBDIR = $(USRLIBDIR)
-XPMINC = -I/usr/include/X11
-XPMLIBDIR = /usr/local/lib
-XPMINC = -I/usr/local/include/X11
+XPMLIBDIR = $(X11BASE)/lib
+XPMINC = -I$(X11BASE)/include/X11
#endif
XCOMM Uncomment the following definiton if you want to use the small icons
@@ -157,7 +161,7 @@ XCOMM uncomment the following line if yo
@@ -161,7 +164,7 @@ XCOMM uncomment the following line if yo
XCOMM inline functions. With the "INLINE" keyword, you should notice that
XCOMM the display will be a bit faster in complex figures
@ -73,16 +65,16 @@ $NetBSD: patch-ab,v 1.12 2006/02/04 13:17:51 markd Exp $
XCOMM use (and change) the following if you want the multi-key data base file
XCOMM somewhere other than the standard X11 library directory
@@ -169,7 +173,7 @@ XFIGLIBDIR = $(LIBDIR)/xfig
@@ -173,7 +176,7 @@ XFIGLIBDIR = $(LIBDIR)/xfig
XCOMM XFIGDOCDIR tells where the html and pdf documentation should go
XCOMM XFIGDOCDIR = $(DOCDIR)/xfig
-XFIGDOCDIR = /usr/share/doc/xfig
-XFIGDOCDIR = /usr/local/xfig/doc
+XFIGDOCDIR = $(PREFIX)/share/doc/xfig
XCOMM MANDIR tells where the standard man pages should go (no need to change it
XCOMM if you want the man pages installed in the standard place on your system
@@ -229,7 +233,7 @@ INSTDATFLAGS = -m 0644
@@ -241,7 +244,7 @@ INSTDATFLAGS = -m 0644
#ifdef USEJPEG
#ifdef USEINSTALLEDJPEG
@ -91,7 +83,7 @@ $NetBSD: patch-ab,v 1.12 2006/02/04 13:17:51 markd Exp $
#else
JPEGCONF = configure
JPEGLIB = $(JPEGLIBDIR)/libjpeg.a
@@ -266,7 +270,7 @@ InstallManPageLong(file,dest,file)
@@ -278,7 +281,7 @@ InstallManPageLong(file,dest,file)
DUSESMALLICONS = -DUSE_SMALL_ICONS
#endif /* USESMALLICONS */
@ -100,7 +92,7 @@ $NetBSD: patch-ab,v 1.12 2006/02/04 13:17:51 markd Exp $
#ifdef USEJPEG
DUSEJPEG = -DUSE_JPEG
@@ -276,7 +280,7 @@ READJPEGO = f_readjpg.o
@@ -288,7 +291,7 @@ READJPEGO = f_readjpg.o
#ifdef USEXPM
DUSEXPM = -DUSE_XPM
@ -109,30 +101,3 @@ $NetBSD: patch-ab,v 1.12 2006/02/04 13:17:51 markd Exp $
READXPMS = f_readxpm.c
READXPMO = f_readxpm.o
#ifdef USEXPM_ICON
@@ -411,6 +415,8 @@ install.html::
install.rhtml::
@(cd Doc ; \
echo Copying pdf and html files to $(DESTDIR)$(XFIGDOCDIR) ; \
+ if [ -d $(DESTDIR)$(XFIGDOCDIR) ]; then set +x; \
+ else (set -x; $(MKDIRHIER) $(DESTDIR)$(XFIGDOCDIR) ); fi ; \
$(INSTALL) -m 644 -c xfig_man.html $(DESTDIR)$(XFIGDOCDIR) ; \
$(INSTALL) -m 644 -c xfig_ref_en.pdf $(DESTDIR)$(XFIGDOCDIR) ; \
$(INSTALL) -m 644 -c xfig-howto.pdf $(DESTDIR)$(XFIGDOCDIR) ; \
@@ -469,13 +475,13 @@ install.libs::
else (set -x; $(MKDIRHIER) $(DESTDIR)$(OBJLIBDIR)/$$d/$$f/$$dd/$$l ); fi ; \
(cd $$l ; \
for m in * ; do \
- $(INSTALL) -m 644 -c $$m $(DESTDIR)$(OBJLIBDIR)/$$d/$$f/$$dd/$$l ; \
+ $(INSTALL) -m 644 -c ./$$m $(DESTDIR)$(OBJLIBDIR)/$$d/$$f/$$dd/$$l ; \
done ) ) ; \
- else ( $(INSTALL) -m 644 -c $$l $(DESTDIR)$(OBJLIBDIR)/$$d/$$f/$$dd ) ; fi ; \
+ else ( $(INSTALL) -m 644 -c ./$$l $(DESTDIR)$(OBJLIBDIR)/$$d/$$f/$$dd ) ; fi ; \
done) ) ; \
- else ( $(INSTALL) -m 644 -c $$dd $(DESTDIR)$(OBJLIBDIR)/$$d/$$f ) ; fi ; \
+ else ( $(INSTALL) -m 644 -c ./$$dd $(DESTDIR)$(OBJLIBDIR)/$$d/$$f ) ; fi ; \
done) ); \
- else ($(INSTALL) -m 644 -c $$f $(DESTDIR)$(OBJLIBDIR)/$$d ) ; fi ; \
+ else ($(INSTALL) -m 644 -c ./$$f $(DESTDIR)$(OBJLIBDIR)/$$d ) ; fi ; \
done ) ; \
done ; ) ; \
else echo No Object Libraries to install ; \

View file

@ -1,14 +1,14 @@
$NetBSD: patch-ac,v 1.6 2006/11/16 02:28:58 markd Exp $
$NetBSD: patch-ac,v 1.7 2009/06/22 18:29:33 drochner Exp $
--- f_util.c.orig 2004-01-07 08:46:08.000000000 +1300
--- f_util.c.orig 2007-01-16 18:58:18.000000000 +0100
+++ f_util.c
@@ -111,15 +111,15 @@ change_directory(path)
get_directory(direct)
char *direct;
@@ -119,15 +119,15 @@ change_directory(char *path)
int get_directory(char *direct)
{
-#if defined(SYSV) || defined(SVR4) || defined(_POSIX_SOURCE)
+#if defined(SYSV) || defined(SVR4) || defined(_POSIX_SOURCE) || defined(__NetBSD__)
extern char *getcwd();
extern char *getcwd(char *, size_t);
#else
extern char *getwd();
@ -21,7 +21,7 @@ $NetBSD: patch-ac,v 1.6 2006/11/16 02:28:58 markd Exp $
if (getcwd(direct, PATH_MAX) == NULL) { /* get current working dir */
file_msg("Can't get current directory");
beep();
@@ -127,7 +127,7 @@ get_directory(direct)
@@ -135,7 +135,7 @@ int get_directory(char *direct)
if (getwd(direct) == NULL) { /* get current working dir */
file_msg("%s", direct); /* err msg is in direct var */
beep();
@ -30,7 +30,7 @@ $NetBSD: patch-ac,v 1.6 2006/11/16 02:28:58 markd Exp $
*direct = '\0';
return 0;
}
@@ -782,7 +782,7 @@ uncompress_file(name)
@@ -781,7 +781,7 @@ uncompress_file(char *name)
else strcpy(dirname, ".");
if (access(dirname, W_OK) == 0) { /* OK - the directory is writable */
@ -39,7 +39,7 @@ $NetBSD: patch-ac,v 1.6 2006/11/16 02:28:58 markd Exp $
if (system(unc) != 0)
file_msg("Couldn't uncompress the file: \"%s\"", unc);
strcpy(name, plainname);
@@ -793,7 +793,7 @@ uncompress_file(name)
@@ -792,7 +792,7 @@ uncompress_file(char *name)
sprintf(tmpfile, "%s%s", TMPDIR, c);
else
sprintf(tmpfile, "%s/%s", TMPDIR, plainname);

View file

@ -1,22 +1,22 @@
$NetBSD: patch-ad,v 1.4 2005/11/12 16:08:21 itohy Exp $
$NetBSD: patch-ad,v 1.5 2009/06/22 18:29:33 drochner Exp $
--- w_cmdpanel.c.orig Wed Mar 17 09:53:55 2004
+++ w_cmdpanel.c Sat Nov 12 19:55:19 2005
@@ -349,7 +349,7 @@ rebuild_file_menu(menu)
--- w_cmdpanel.c.orig 2008-07-17 17:50:06.000000000 +0200
+++ w_cmdpanel.c
@@ -375,7 +375,7 @@ rebuild_file_menu(Widget menu)
for (j = 0; j < MAX_RECENT_FILES; j++) {
sprintf(id, "%1d", j + 1);
FirstArg(XtNvertSpace, 10);
NextArg(XtNunderline, 0); /* underline # digit */
-#ifndef XAW3D1_5E
+#ifndef XAW3D
NextArg(XtNunderline, 0); /* underline # digit */
entry = XtCreateWidget(id, figSmeBSBObjectClass, menu, Args, ArgCount);
#else
entry = XtCreateWidget(id, smeBSBObjectClass, menu, Args, ArgCount);
@@ -407,7 +407,7 @@ create_menu_item(menup)
@@ -432,7 +432,7 @@ create_menu_item(main_menu_info *menup)
if (menup->menu[i].checkmark) {
NextArg(XtNleftMargin, 12);
}
NextArg(XtNunderline, menup->menu[i].u_line); /* any underline */
-#ifndef XAW3D1_5E
+#ifndef XAW3D
NextArg(XtNunderline, menup->menu[i].u_line); /* any underline */
entry = XtCreateManagedWidget(menup->menu[i].name, figSmeBSBObjectClass,
menu, Args, ArgCount);
#else

View file

@ -1,10 +1,8 @@
$NetBSD: patch-ae,v 1.3 2006/06/02 12:13:03 rillig Exp $
$NetBSD: patch-ae,v 1.4 2009/06/22 18:29:33 drochner Exp $
SunPro does not understand __inline, only inline.
--- fig.h.orig 2004-01-06 20:47:36.000000000 +0100
+++ fig.h 2006-06-02 12:41:17.122524864 +0200
@@ -353,7 +353,11 @@ extern char *getenv();
--- fig.h.orig 2006-02-24 21:15:16.000000000 +0100
+++ fig.h
@@ -356,7 +356,11 @@ extern char *getenv();
#define signof(a) (((a) < 0) ? -1 : 1)
#ifdef USE_INLINE
@ -16,3 +14,12 @@ SunPro does not understand __inline, only inline.
#else
#define INLINE
#endif /* USE_INLINE */
@@ -374,7 +378,7 @@ extern double drand48();
#define random() lrand48()
#define frandom() drand48()
-#elif defined(BSD) /* not SYSV/SVR4, check for BSD */
+#elif defined(BSD) || defined(__NetBSD__) /* not SYSV/SVR4, check for BSD */
#define srandom(seed) srand48((long)(seed))
#define random() lrand48()
#define frandom() drand48()

View file

@ -1,24 +0,0 @@
$NetBSD: patch-af,v 1.1 2006/06/30 18:59:34 tron Exp $
--- u_fonts.h.orig 2004-01-06 19:47:45.000000000 +0000
+++ u_fonts.h 2006-06-30 19:55:40.000000000 +0100
@@ -32,9 +32,6 @@
extern int psfontnum();
extern int latexfontnum();
-extern struct _xfstruct x_fontinfo[], x_backup_fontinfo[];
-extern struct _fstruct ps_fontinfo[];
-extern struct _fstruct latex_fontinfo[];
/* element of linked list for each font
The head of list is for the different font NAMES,
@@ -61,5 +58,9 @@
* sizes */
};
+extern struct _xfstruct x_fontinfo[], x_backup_fontinfo[];
+extern struct _fstruct ps_fontinfo[];
+extern struct _fstruct latex_fontinfo[];
+
int x_fontnum();
#endif /* U_FONTS_H */

View file

@ -1,12 +0,0 @@
$NetBSD: patch-ah,v 1.1 2008/02/06 23:33:01 smb Exp $
--- w_drawprim.c.orig 2004-02-09 13:32:56.000000000 -0500
+++ w_drawprim.c 2008-02-06 18:28:34.000000000 -0500
@@ -36,6 +36,7 @@
#include "mode.h"
#include "object.h"
#include "u_fonts.h"
+#include "u_create.h"
#include "w_canvas.h"
#include "w_drawprim.h"
#include "w_indpanel.h"

View file

@ -0,0 +1,14 @@
$NetBSD: patch-ai,v 1.1 2009/06/22 18:29:33 drochner Exp $
--- e_chop.c.orig 2009-03-30 17:52:10.000000000 +0200
+++ e_chop.c
@@ -19,9 +19,6 @@
/* >>>>>>>>>>>>>>>>>>> fixme -- don't forget undo ! <<<<<<<<<<<<<<<< */
#include <stdlib.h>
-#ifndef __FreeBSD__
-#include <alloca.h>
-#endif
#include <math.h>
#include "fig.h"
#include "resources.h"

View file

@ -0,0 +1,14 @@
$NetBSD: patch-ak,v 1.1 2009/06/22 18:29:33 drochner Exp $
--- w_snap.c.orig 2009-03-30 17:52:10.000000000 +0200
+++ w_snap.c
@@ -32,9 +32,6 @@
#include "u_search.h"
#include "f_util.h"
#include <math.h>
-#ifndef __FreeBSD__
-#include <alloca.h>
-#endif
int snap_gx;
int snap_gy;

View file

@ -0,0 +1,24 @@
$NetBSD: patch-al,v 1.1 2009/06/22 18:29:33 drochner Exp $
--- w_keyboard.c.orig 2008-05-20 21:38:18.000000000 +0200
+++ w_keyboard.c
@@ -18,9 +18,7 @@
#include <sys/types.h>
#include <regex.h>
-#ifndef __FreeBSD__
-#include <alloca.h>
-#endif
+#include <stdlib.h>
#include <string.h>
#include <math.h>
@@ -244,7 +242,7 @@ handle_keyboard_input(w, event)
origin_y = fix_y;
}
- if (REG_NOERROR == (rc = regexec(&preg, val, preg.re_nsub, pmatch, 0))) {
+ if (!(rc = regexec(&preg, val, preg.re_nsub, pmatch, 0))) {
#if 0
int i;
for (i = 0; i < 1 + preg.re_nsub; i++) {

View file

@ -0,0 +1,12 @@
$NetBSD: patch-am,v 1.1 2009/06/22 18:29:33 drochner Exp $
--- w_intersect.c.orig 2009-06-05 21:22:32.000000000 +0200
+++ w_intersect.c
@@ -26,7 +26,6 @@
#include "w_msgpanel.h"
#include "f_util.h"
#include "u_quartic.h"
-#include <alloca.h>
#include <math.h>
#undef I