ports/121886: [PATCH]www/links: update to 2.1pre33
bf
bf2006a at yahoo.com
Wed Mar 19 23:00:05 UTC 2008
>Number: 121886
>Category: ports
>Synopsis: [PATCH]www/links: update to 2.1pre33
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Wed Mar 19 23:00:04 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: bf
>Release: 7-STABLE i386
>Organization:
-
>Environment:
>Description:
Update to 2.1pre33; expose some configuration options; add www/links1 to CONFLICTS (see PR ports/121781). Sadly, the Javascript interpreter was found to be buggy and abandoned, although it can be re-enabled in a custom build -- details below.
Relevant cumulative changes:
Fixed a bug that strings with spaces could not be passed from command
line
Socks 4A support (so that Links can be used with tor without
intermediate proxy)
Do not display links to alternate stylesheets
Use Content-Disposition as a suggestion for downloaded file name
Fixed write to freed memory resulting in misbehavior of radio buttons
and a possible crash
Do not search for compressed-file extension (.gz, .bz2) in URLs
containing '?', '&' or ';' --- they are likely scripts and they should
provide information about compression in the header.
When the document was truncated to zero size on reload and no data were
received, links didn't invalidate formatted document cache
Accept capital 'X' as a hex number mark in html entities
Do not print links to stylesheet to the document
Slightly improve parsing of ftp --- when the line contains "<DIR>", we
can assume that it is a directory
Some newer Linuxes unfortunatelly do not send SIGCONT when running
process is brougt to foreground with 'fg' command. So implement 0.5s
polling to test if we're on foreground.
Do not request compression for files with .Z, .gz or .bz2 suffix
--- some servers will compress them again
Support HTTP/0.9 (without header)
In case of non-restartable connection, proceed with the connection
even if the server is on blacklist
An option to disallow non-proxy connections (for anonymization via tor
or similar services)
Turn off compression if the server closes the connection prematurely
Some servers erroneously send the size of uncompressed data
An option to disable compression. Disable compression automatically for
a given server if links receives erroneous compressed data
Break ansi aliasing on ICC 10 with -ipo
Empty function call was not enough to break it
When the connection dies after the last received byte, do not send
"Range:" header in retry request --- servers don't like "Range" pointing
after the last byte
Fixed security bug in pre29 (not in any previous versions):
special characters in URL could be passed to a shell when spawning
user viewer
Fixed needlessly large selection boxes in graphics mode
Release mouse when spawning OS shell or user viewers
Fixed bad redraw of X window when Expose event come for some area while
scrolling different area
Set extension of downloaded or viewed files according to content-type,
not according to URL extension
Fixed bad displaying of jpeg images on machines where memcpy operates in
different order
Fixed crash on invalid jpeg files (found by Michael Scherer
<misc at zarb.org> with http://fusil.hachoir.org/)
Do not send If-Modified-Since or Range in HTTP request if cached page
has an error code
Fixed some quirks with download file handling --- when each terminal had
different CWD, downloaded files were not deleted
When getting EFBIG error (file size exceeded), continue download in
another file
A possibility to pass HTTP or FTP URLs directly to external programs
(programs such as mpg321, ogg123, mplayer can play directly from the
network)
Fixed inability to display images compressed on the fly by the server
(it is pointless to try to compress already compressed images, but some
servers do it anyway)
Escape Referer: correctly
Fixed bug that it couldn't be compiled without optimization without
javascript
Blacklist FORPSI server --- do not send Range: to it
Javascript was removed. The reason is that it is very buggy, Martin
Pergel doesn't have time to develop it and code is so messy that no one
else can understand it.
If you use links for special purposes (embedded devices, etc.), you can
bring javascript back by copying javascript files from previous release,
removing "dnl javascript" lines from configure.in, adding *.c and *.h
files to Makefile.am and re-running automake and autoconf.
Javascript hooks from main code were not removed --- they just won't be
maintained.
>How-To-Repeat:
>Fix:
Patch attached with submission follows:
diff -ruN links.orig/Makefile links/Makefile
--- links.orig/Makefile 2007-07-05 05:15:41.000000000 -0400
+++ links/Makefile 2008-03-19 17:56:28.475914859 -0400
@@ -6,52 +6,59 @@
#
PORTNAME= links
-PORTVERSION= 2.1.p28
+DISTVERSION= 2.1pre33
PORTEPOCH= 1
-CATEGORIES?= www
+CATEGORIES= www
MASTER_SITES= http://links.twibright.com/download/
-DISTNAME= ${PORTNAME}-2.1pre28
-MAINTAINER?= demon at FreeBSD.org
+MAINTAINER= demon at FreeBSD.org
COMMENT= Lynx-like text WWW browser
-LIB_DEPENDS+= pcre:${PORTSDIR}/devel/pcre
+CONFLICTS= links-0*
-GNU_CONFIGURE= yes
-CONFIGURE_ARGS+= --enable-javascript --with-ssl
-CONFIGURE_ENV+= CPPFLAGS='-I${LOCALBASE}/include'
-LDFLAGS+= -L${LOCALBASE}/lib
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+= --with-ssl --without-pmshell --without-atheos --without-gpm \
+ --without-fb
+CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include"
+LDFLAGS+= -L${LOCALBASE}/lib
USE_OPENSSL= yes
USE_BZIP2= yes
OPTIONS= SVGALIB "non-X11 graphics support" off \
+ DIRECTFB "directfb driver support" off \
X11 "X11 graphics support" on
.include <bsd.port.pre.mk>
-.if defined(WITH_SVGALIB)
-LIB_DEPENDS+= vga.1:${PORTSDIR}/graphics/svgalib \
- png.5:${PORTSDIR}/graphics/png \
+.ifdef(WITH_SVGALIB) || defined(WITH_X11) || defined(WITH_DIRECTFB)
+LIB_DEPENDS+= png.5:${PORTSDIR}/graphics/png \
jpeg.9:${PORTSDIR}/graphics/jpeg \
tiff.4:${PORTSDIR}/graphics/tiff
CONFIGURE_ARGS+= --enable-graphics
-OPTIONS_MESG= "non-X11 graphics support enabled, "
+.else
+CONFIGURE_ARGS+= --disable-graphics --without-libjpeg --without-libtiff
+.endif
+
+.ifdef(WITH_SVGALIB)
+LIB_DEPENDS+= vga.1:${PORTSDIR}/graphics/svgalib
+CONFIGURE_ARGS+= --with-svgalib
.else
CONFIGURE_ARGS+= --without-svgalib
-OPTIONS_MESG= "non-X11 graphics support disabled, "
+.endif
+
+.ifdef(WITH_DIRECTFB)
+LIB_DEPENDS+= libdirectfb:${PORTSDIR}/devel/directfb
+CONFIGURE_ARGS+= --with-directfb
+.else
+CONFIGURE_ARGS+= --without-directfb
.endif
.if !defined(WITHOUT_X11)
-LIB_DEPENDS+= png.5:${PORTSDIR}/graphics/png \
- jpeg.9:${PORTSDIR}/graphics/jpeg \
- tiff.4:${PORTSDIR}/graphics/tiff
-USE_XLIB= yes
-CONFIGURE_ARGS+= --enable-graphics --with-x
-OPTIONS_MESG+= "X11 graphics support enabled."
+USE_XORG= x11 xproto
+CONFIGURE_ARGS+= --with-x
.else
CONFIGURE_ARGS+= --without-x
-OPTIONS_MESG+= "X11 graphics support disabled."
.endif
MAN1= links.1
@@ -61,6 +68,5 @@
@${ECHO_MSG} ${OPTIONS_MESG}
post-patch:
- @${REINPLACE_CMD} -e "s!/etc/!${PREFIX}/etc/!" ${WRKSRC}/default.c
-
+ @${REINPLACE_CMD} -e "s!/etc/!${PREFIX}/etc/!" ${WRKSRC}/os_dep.h
.include <bsd.port.post.mk>
diff -ruN links.orig/distinfo links/distinfo
--- links.orig/distinfo 2007-07-05 05:15:41.000000000 -0400
+++ links/distinfo 2008-03-19 17:56:28.475914859 -0400
@@ -1,3 +1,3 @@
-MD5 (links-2.1pre28.tar.bz2) = 815afe558dd548258eeb03b01cce01ce
-SHA256 (links-2.1pre28.tar.bz2) = 203531be7c84ebe3a5d53c6d6cda4f4a27626dec620ec5aa8926414d0bee5995
-SIZE (links-2.1pre28.tar.bz2) = 3915943
+MD5 (links-2.1pre33.tar.bz2) = 99cdbd1194579eea6d857168a57e0d74
+SHA256 (links-2.1pre33.tar.bz2) = 1f6be6db54eb5fb2947926b5214879c260030da9909c1d189d053d8dc3357f98
+SIZE (links-2.1pre33.tar.bz2) = 3817630
diff -ruN links.orig/files/patch-ab links/files/patch-ab
--- links.orig/files/patch-ab 2003-03-01 14:13:14.000000000 -0500
+++ links/files/patch-ab 1969-12-31 19:00:00.000000000 -0500
@@ -1,14 +0,0 @@
---- kbd.c.orig Sat Oct 12 19:47:58 2002
-+++ kbd.c Sat Mar 1 16:03:31 2003
-@@ -746,9 +746,9 @@
- case 'B': ev.x = KBD_DOWN; break;
- case 'C': ev.x = KBD_RIGHT; break;
- case 'D': ev.x = KBD_LEFT; break;
-- case 'F':
-+ case 'F': ev.x = KBD_END; break;
- case 'e': ev.x = KBD_END; break;
-- case 'H':
-+ case 'H': ev.x = KBD_HOME; break;
- case 0: ev.x = KBD_HOME; break;
- case 'I': ev.x = KBD_PAGE_UP; break;
- case 'G': ev.x = KBD_PAGE_DOWN; break;
diff -ruN links.orig/files/patch-default.c links/files/patch-default.c
--- links.orig/files/patch-default.c 2003-03-01 14:13:14.000000000 -0500
+++ links/files/patch-default.c 2008-03-19 17:56:28.475914859 -0400
@@ -1,11 +1,11 @@
---- default.c.orig Tue Feb 11 21:54:38 2003
-+++ default.c Sat Mar 1 16:03:31 2003
-@@ -300,7 +300,7 @@
+--- default.c.orig 2008-03-06 22:43:25.117856165 -0500
++++ default.c 2008-03-06 22:44:12.412560939 -0500
+@@ -400,7 +400,7 @@
get_system_name();
links_home = get_home(&first_use);
if (!links_home) {
- fprintf(stderr, "Unable to find or create links config directory. Please check, that you have $HOME variable set correctly and that you have write permission to your home directory.\n\007");
-+ fprintf(stderr, "Unable to find or create links config directory. Please check, that you have set the $HOME variable correctly and that you have write permission to your home directory.\n");
++ fprintf(stderr, "Unable to find or create links config directory. Please check, that you have $HOME variable set correctly and that you have write permission to your home directory.\n");
sleep(3);
return;
}
diff -ruN links.orig/files/patch-regexp.c links/files/patch-regexp.c
--- links.orig/files/patch-regexp.c 2006-01-24 05:53:39.000000000 -0500
+++ links/files/patch-regexp.c 1969-12-31 19:00:00.000000000 -0500
@@ -1,19 +0,0 @@
---- regexp.c~ Fri Nov 25 02:38:35 2005
-+++ regexp.c Tue Jan 24 12:39:04 2006
-@@ -148,6 +148,7 @@
- #ifdef HAVE_PCRE
- const char *er_ptr;
- int erroffset;
-+ pcre *ppat;
- #else
- regmatch_t pmat[MAXCAPTURE/3];
- regex_t ppat_data;
-@@ -197,7 +198,7 @@
- #endif /* REGEX_DEBUG */
-
- #ifdef HAVE_PCRE
-- pcre *ppat = pcre_compile(pom, 0/*PCRE_ANCHORED*/, &er_ptr, &erroffset, NULL);
-+ ppat = pcre_compile(pom, 0/*PCRE_ANCHORED*/, &er_ptr, &erroffset, NULL);
- pcre_free(pom);
- #else /* HAVE_PCRE */
- ppat = &ppat_data;
diff -ruN links.orig/files/patch-types.c links/files/patch-types.c
--- links.orig/files/patch-types.c 2007-07-05 05:15:41.000000000 -0400
+++ links/files/patch-types.c 2008-03-19 18:26:38.059562222 -0400
@@ -1,11 +1,11 @@
---- types.c.orig Thu Jul 5 13:10:37 2007
-+++ types.c Thu Jul 5 13:12:07 2007
-@@ -807,7 +807,8 @@
+--- types.c.orig 2008-03-19 18:18:18.614955994 -0400
++++ types.c 2008-03-19 18:21:18.345245179 -0400
+@@ -820,7 +820,8 @@
ext = NULL;
}
if (ext) while (ext[extl] && ext[extl] != '.' && !dir_sep(ext[extl]) && !end_of_dir(url, ext[extl])) extl++;
- if ((extl == 3 && !casecmp(ext, "htm", 3)) ||
-+ if (force_html ||
++ if (force_html ||
+ (extl == 3 && !casecmp(ext, "htm", 3)) ||
(extl == 4 && !casecmp(ext, "html", 4))) return stracpy("text/html");
foreach(e, extensions) {
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list