Skip to content
Snippets Groups Projects
Commit 3eca8a6a authored by Daniel Sabogal's avatar Daniel Sabogal Committed by Natanael Copa
Browse files

community/w3m: switch to debian fork (0.5.3.20161120)

The official w3m project is unmaintained and has several vulnerabilities.

CVE-2016-9422 CVE-2016-9423 CVE-2016-9424 CVE-2016-9425 CVE-2016-9426
CVE-2016-9427 CVE-2016-9428 CVE-2016-9429 CVE-2016-9430 CVE-2016-9431
CVE-2016-9432 CVE-2016-9433 CVE-2016-9434 CVE-2016-9435 CVE-2016-9436
CVE-2016-9437 CVE-2016-9438 CVE-2016-9439 CVE-2016-9440 CVE-2016-9441
CVE-2016-9442 CVE-2016-9443

CVE-2016-9621 CVE-2016-9622 CVE-2016-9623 CVE-2016-9624 CVE-2016-9625
CVE-2016-9626 CVE-2016-9627 CVE-2016-9628 CVE-2016-9629 CVE-2016-9630
CVE-2016-9631 CVE-2016-9632 CVE-2016-9633
parent 4d4d5bc0
No related branches found
No related tags found
No related merge requests found
# Contributor: ScrumpyJack <scrumpyjack@st.ilet.to>
# Maintainer: ScrumpyJack <scrumpyjack@st.ilet.to>
pkgname=w3m
pkgver=0.5.3
pkgrel=2
_pkgver=0.5.3+git20161120
pkgver=${_pkgver/+git/.}
pkgrel=0
pkgdesc='Text-based Web browser, as well as pager'
url='http://w3m.sourceforge.net/'
# http://w3m.sourceforge.net/
url='https://github.com/tats/w3m'
license='MIT UCD'
arch='all'
makedepends="imlib2-dev libressl-dev gc-dev ncurses-dev linux-headers"
subpackages="$pkgname-doc"
source="http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.gz
form_unknown.patch
file_handle.patch
https.patch
gc72.patch
w3m-0.5.3-parallel-make.patch
libressl.patch
"
builddir="${srcdir}/${pkgname}-${pkgver}"
prepare() {
default_prepare || return 1
update_config_guess || return 1
}
source="$pkgname-$pkgver.tar.gz::https://github.com/tats/$pkgname/archive/v$_pkgver.tar.gz
https.patch"
builddir="$srcdir/$pkgname-${_pkgver/+/-}"
build() {
cd $builddir
cd "$builddir"
./configure \
--prefix=/usr \
--libexecdir=/usr/lib \
......@@ -39,37 +30,26 @@ build() {
--disable-w3mmailer \
--disable-mouse \
|| return 1
make
make -j1
}
package() {
cd $builddir
make DESTDIR="${pkgdir}" install
cd "$builddir"
make DESTDIR="$pkgdir" install || return 1
install -d "${pkgdir}"/usr/share/doc/"${pkgname}"
install -d "${pkgdir}"/usr/share/licenses/"${pkgname}"
find doc/* | grep -v CVS | while read path; do install -m644 "$path" "${pkgdir}/usr/share/doc/${pkgname}"; done
ln -s ../../doc/"${pkgname}"/README "${pkgdir}/usr/share/licenses/${pkgname}"
install -d "$pkgdir"/usr/share/doc/"$pkgname"
install -d "$pkgdir"/usr/share/licenses/"$pkgname"
local i; for i in doc/*; do
install -m644 "$i" \
"$pkgdir"/usr/share/doc/"$pkgname" || return 1
done
ln -s /usr/share/doc/"$pkgname"/README \
"$pkgdir"/usr/share/licenses/"$pkgname"
}
md5sums="1b845a983a50b8dec0169ac48479eacc w3m-0.5.3.tar.gz
4db72a234824f8b5d45eb78fe3e1f526 form_unknown.patch
d1bbc652a9e63f5e65b4112e88037ded file_handle.patch
a5e1038b5fb36ac1465700433ae00d0b https.patch
46ca1e8264a3a521b073453600fb3c5f gc72.patch
6684eb14831aa9b79bc230a9a9949351 w3m-0.5.3-parallel-make.patch
fd10c6a5a57cf438c0036c4ecdcdccfc libressl.patch"
sha256sums="e994d263f2fd2c22febfbe45103526e00145a7674a0fda79c822b97c2770a9e3 w3m-0.5.3.tar.gz
7d2f4ff43eeb1b81fb6126063cf091902205c375fdcdffe0998ff51e73ff9d27 form_unknown.patch
dbf746808b64cd163dbcc6d299d80abdbbb7b5eff633d39c3f73dd42370633bc file_handle.patch
ab8f2b6c7e1cf2d8485fa9928784c8dbd2f0d8cd26a5c32384543eea173de986 https.patch
1e0e573e5fc6c0938b1941a81cffdd604a0167f7cf46e1a8479e2e10969e1d04 gc72.patch
249e8e0e8469daa1d33d2154ed78b604e8bb6cefc68f02cc5cf10b56e8890d42 w3m-0.5.3-parallel-make.patch
542613508be577c806125464e0a1b3a324e82fd68a87634f96146dbb7ca52e38 libressl.patch"
sha512sums="43508c76d07b4d8f19c19f975c0b870aeb94abf0744b6128ee01c759d4e409a8b57bc866baeaf990f309ff73e9a7b02ca455d272b1dd0a93fafb8c72b1fe6d14 w3m-0.5.3.tar.gz
fd7e4d1bf05d5109e64cc2971d3f98ad28ba4404dfa6510953150550590991b910ca6b96bf66993f63e77ff59ffe1e266eed8f1dde43efd8272825d9de36948a form_unknown.patch
b67c1ddb37536838fa753a5171801fa170d77c1b4bce5d5de1fcb119cd6d3c158267d472a75940a6fbe6169365ad45963f64050cbb56440613df33ab66a20d4e file_handle.patch
3844b3a079524ad403da7fe03461210a433ff1cd562862c4df55c3be250ccba0c34eb61bcc8df1973d70e2ef034edaf1804bb2fa682b01723322f108f523932a https.patch
31989443973af87672cdc00ac04533530c40c5cc393703db79ce5836ae56300baa898ee21e9bebcd77cce623321d6194665d965be89c3eed1990f5b984375ccd gc72.patch
b2df0847cef329b0b1a00c34f298d2f317837b0cb490ea2f6a3a358a723200dd0388a4cf9fa43d04b512073aba219b7db3fdeae3d6d21fba9d3c40cde306790a w3m-0.5.3-parallel-make.patch
78cd6da8f5f3c0340736652308d189cea3a1ad0b96a3c3dc3d6e9586e61c7b2ac07d95b186a685f52f5dd7309cdc3aa60903110a011efbcda9fbe86a675f8127 libressl.patch"
md5sums="5c53b7744ec5a89c8bf26325bf0f1541 w3m-0.5.3.20161120.tar.gz
a5e1038b5fb36ac1465700433ae00d0b https.patch"
sha256sums="62a5b066aaf5e23afec6decd962b966f333352150f8072193cba98320676f060 w3m-0.5.3.20161120.tar.gz
ab8f2b6c7e1cf2d8485fa9928784c8dbd2f0d8cd26a5c32384543eea173de986 https.patch"
sha512sums="81ecf9e5d9067a82efa5464e5f9396327a6333f9e414458a972b2b7bff138bd17c490b5258e34cb1e338c7a6c0dd6105a1bfd1e0d02edfadead79caa39106a5c w3m-0.5.3.20161120.tar.gz
3844b3a079524ad403da7fe03461210a433ff1cd562862c4df55c3be250ccba0c34eb61bcc8df1973d70e2ef034edaf1804bb2fa682b01723322f108f523932a https.patch"
diff -Naur old/istream.c new/istream.c
--- old/istream.c 2011-01-04 20:22:22.000000000 +1100
+++ new/istream.c 2012-07-04 21:50:51.529661517 +1000
@@ -22,8 +22,8 @@
static void basic_close(int *handle);
static int basic_read(int *handle, char *buf, int len);
-static void file_close(struct file_handle *handle);
-static int file_read(struct file_handle *handle, char *buf, int len);
+static void file_close(struct file_handle_rofl *handle);
+static int file_read(struct file_handle_rofl *handle, char *buf, int len);
static int str_read(Str handle, char *buf, int len);
@@ -114,7 +114,7 @@
stream = New(union input_stream);
init_base_stream(&stream->base, STREAM_BUF_SIZE);
stream->file.type = IST_FILE;
- stream->file.handle = New(struct file_handle);
+ stream->file.handle = New(struct file_handle_rofl);
stream->file.handle->f = f;
if (closep)
stream->file.handle->close = closep;
@@ -658,13 +658,13 @@
}
static void
-file_close(struct file_handle *handle)
+file_close(struct file_handle_rofl *handle)
{
handle->close(handle->f);
}
static int
-file_read(struct file_handle *handle, char *buf, int len)
+file_read(struct file_handle_rofl *handle, char *buf, int len)
{
return fread(buf, 1, len, handle->f);
}
diff -Naur old/istream.h new/istream.h
--- old/istream.h 2003-10-21 02:41:56.000000000 +1000
+++ new/istream.h 2012-07-04 21:50:51.529661517 +1000
@@ -20,7 +20,7 @@
typedef struct stream_buffer *StreamBuffer;
-struct file_handle {
+struct file_handle_rofl {
FILE *f;
void (*close) ();
};
@@ -53,7 +53,7 @@
struct file_stream {
struct stream_buffer stream;
- struct file_handle *handle;
+ struct file_handle_rofl *handle;
char type;
char iseos;
int (*read) ();
See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=615843
Index: w3m-git/form.c
===================================================================
--- w3m-git.orig/form.c 2011-02-28 15:03:36.000000000 +0100
+++ w3m-git/form.c 2011-02-28 15:32:33.000000000 +0100
@@ -196,7 +196,7 @@
if (!strcasecmp(typestr, _formtypetbl[i]))
return i;
}
- return FORM_UNKNOWN;
+ return FORM_INPUT_TEXT;
}
void
diff -Naur old/main.c new/main.c
--- old/main.c 2011-01-04 20:42:19.000000000 +1100
+++ new/main.c 2012-07-04 21:49:10.136212236 +1000
@@ -833,7 +833,8 @@
mySignal(SIGPIPE, SigPipe);
#endif
- orig_GC_warn_proc = GC_set_warn_proc(wrap_GC_warn_proc);
+ orig_GC_warn_proc = GC_get_warn_proc();
+ GC_set_warn_proc(wrap_GC_warn_proc);
err_msg = Strnew();
if (load_argc == 0) {
/* no URL specified */
diff --git a/config.h.in b/config.h.in
index 2f41eed..177fc14 100644
--- a/config.h.in
+++ b/config.h.in
@@ -84,7 +84,7 @@
#undef INET6
#undef HAVE_SOCKLEN_T
#undef HAVE_OLD_SS_FAMILY
-#define USE_EGD
+//#define USE_EGD
#define ENABLE_REMOVE_TRAILINGSPACES
#undef MENU_THIN_FRAME
#undef USE_RAW_SCROLL
This patch will help to build w3m with paralle make enabled
diff -urN w3m-0.5.3.patched/Makefile.in w3m-0.5.3/Makefile.in
--- w3m-0.5.3.patched/Makefile.in 2012-12-21 19:27:52.768916831 +0530
+++ w3m-0.5.3/Makefile.in 2012-12-24 18:13:07.660895921 +0530
@@ -34,6 +34,7 @@
RC_DIR = @RC_DIR@
ETC_DIR = $(sysconfdir)
CONF_DIR = $(sysconfdir)/$(PACKAGE)
+DOCDIRS = @DOCDIRS@
CFLAGS = $(OPTS) -I. -I$(top_srcdir) @CFLAGS@ $(CPPFLAGS) $(DEFS)
WCCFLAGS = @WCCFLAGS@
@@ -50,6 +51,7 @@
W3M_LIBS = @W3M_LIBS@
WCTARGET = @WCTARGET@
NLSTARGET = @NLSTARGET@
+HELP_TARGETS = w3mhelp-funcname.pl w3mhelp-funcdesc-stamp
MAKE_ARGS = PERL='$(PERL)' MKDIR='$(MKDIR)' \
BIN_DIR='$(bindir)' AUXBIN_DIR='$(AUXBIN_DIR)' \
@@ -124,7 +126,7 @@
SUBDIRS = $(SCRIPTSUBDIRS) w3mimg libwc po
.PHONY: $(SUBDIRS)
-all: $(TARGETS) all-scripts $(NLSTARGET)
+all: funcname.tab $(TARGETS) all-scripts $(NLSTARGET) $(HELP_TARGETS)
$(TARGET): $(ALLOBJS) $(ALIB) $(WCTARGET)
$(CC) $(CFLAGS) -o $(TARGET) $(ALLOBJS) $(LDFLAGS) $(LIBS) $(EXT_LIBS) $(W3M_LIBS)
@@ -176,6 +178,31 @@
./mktable$(EXT) 100 functable.tab > $@
-rm -f functable.tab
+w3mhelp-funcname.pl: scripts/w3mhelp-funcname.pl.in funcname.tab $(top_srcdir)/doc/keymap.default $(top_srcdir)/doc/keymap.lynx
+ @echo "generating w3mhelp-funcname.pl..."
+ @echo '%funcname = (' > scripts/w3mhelp-funcname.pl
+ @sed -ne "/^[a-zA-Z@]/s/\([a-zA-Z@][a-zA-Z0-9@_]*\)[ ][ ]*\([^ ]*\)/'\1', '\2',/p" < $(top_srcdir)/funcname.tab >> scripts/w3mhelp-funcname.pl
+ @echo ');' >> scripts/w3mhelp-funcname.pl
+ @echo '%keyfunc = (' >> scripts/w3mhelp-funcname.pl
+ @case "$(KEYBIND_SRC)" in *lynx*) keymap=keymap.lynx;; *) keymap=keymap.default;; esac; \
+ sed -ne "/^keymap/s/^keymap[ ][ ]*\([^ ]*\)[ ][ ]*\([a-zA-Z@][a-zA-Z0-9@_]*\)/'\1', '\2', /p" < $(top_srcdir)/doc/$$keymap >> scripts/w3mhelp-funcname.pl
+ @echo ');' >> scripts/w3mhelp-funcname.pl
+ @cat scripts/w3mhelp-funcname.pl.in >> scripts/w3mhelp-funcname.pl
+ @echo "done"
+
+w3mhelp-funcdesc-stamp: $(top_srcdir)/doc/README.func $(top_srcdir)/doc-jp/README.func scripts/w3mhelp-funcdesc.en.pl.in scripts/w3mhelp-funcdesc.ja.pl.in
+ @echo "generating w3mhelp-funcdesc*.pl..."
+ @for dirlang in $(DOCDIRS); do \
+ dir=`expr "$$dirlang" : "\(.*\):.*"`; \
+ lang=`expr "$$dirlang" : ".*:\(.*\)_.*"`; \
+ echo '%funcdesc = (' > scripts/w3mhelp-funcdesc.$$lang.pl; \
+ sed -ne "/^[a-zA-Z@]/s/\([a-zA-Z@][a-zA-Z0-9@_]*\)[ ][ ]*\(.*\)/'\1', '\2',/p" < $(top_srcdir)/$$dir/README.func >> scripts/w3mhelp-funcdesc.$$lang.pl; \
+ echo ');' >> scripts/w3mhelp-funcdesc.$$lang.pl; \
+ cat scripts/w3mhelp-funcdesc.$$lang.pl.in >> scripts/w3mhelp-funcdesc.$$lang.pl; \
+ done
+ @echo done
+ @touch scripts/w3mhelp-funcdesc-stamp
+
mktable$(EXT): mktable.o dummy.o Str.o hash.o myctype.o
$(CC) $(CFLAGS) -o mktable mktable.o dummy.o Str.o hash.o myctype.o $(LDFLAGS) $(LIBS) $(GC_LIBS)
@@ -213,7 +240,7 @@
install: install-core install-scripts install-po
-install-core: $(TARGETS)
+install-core: $(TARGETS) $(HELP_TARGETS)
-$(MKDIR) $(DESTDIR)$(bindir)
-$(MKDIR) $(DESTDIR)$(AUXBIN_DIR)
-$(MKDIR) $(DESTDIR)$(CGIBIN_DIR)
@@ -236,6 +263,10 @@
do \
$(INSTALL_PROGRAM) $$file $(DESTDIR)$(CGIBIN_DIR)/$$file; \
done
+ for file in scripts/w3mhelp-*.pl; \
+ do \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(HELP_DIR); \
+ done
install-helpfile:
-$(MKDIR) $(DESTDIR)$(HELP_DIR)
@@ -277,6 +308,10 @@
do \
$(RM) -f $(HELP_DIR)/$$file; \
done
+ -for file in scripts/w3mhelp-*.pl; \
+ do \
+ rm -f $(HELP_DIR)/$$file; \
+ done
-$(RM) -f $(HELP_DIR)/$(HELP_TARGET)
-$(RM) -f $(mandir)/man1/$(MAN1_TARGET)
-$(RM) -f $(mandir)/ja/man1/$(MAN1_TARGET)
@@ -289,6 +324,7 @@
-$(RM) -f *.o *.a $(TARGETS) mktable$(EXT)
-$(RM) -f funcname.tab
-$(RM) -f funcname.c funcname1.h funcname2.h tagtable.c functable.c
+ -rm -f $(HELP_TARGETS) w3mhelp-*.pl
-for dir in w3mimg libwc; \
do \
(cd $$dir && $(MAKE) clean RM="$(RM)"); \
diff -urN w3m-0.5.3.patched/scripts/Makefile.in w3m-0.5.3/scripts/Makefile.in
--- w3m-0.5.3.patched/scripts/Makefile.in 2011-01-04 14:52:28.000000000 +0530
+++ w3m-0.5.3/scripts/Makefile.in 2012-12-24 18:18:36.546170726 +0530
@@ -31,11 +31,9 @@
RC_DIR = @RC_DIR@
ETC_DIR = $(sysconfdir)
CONF_DIR = $(sysconfdir)/$(PACKAGE)
-DOCDIRS = @DOCDIRS@
AUXBIN_TARGETS = xface2xpm
LIB_TARGETS = dirlist.cgi w3mhelp.cgi w3mmail.cgi
-HELP_TARGETS = w3mhelp-funcname.pl w3mhelp-funcdesc-stamp
SUBDIRS = multipart w3mman
.PHONY: $(SUBDIRS)
@@ -46,32 +44,7 @@
PERL = @PERL@
-all: $(LIB_TARGETS) $(AUXBIN_TARGETS) $(HELP_TARGETS) $(SUBDIRS)
-
-w3mhelp-funcname.pl: w3mhelp-funcname.pl.in ../funcname.tab $(top_srcdir)/doc/keymap.default $(top_srcdir)/doc/keymap.lynx
- @echo "generating w3mhelp-funcname.pl..."
- @echo '%funcname = (' > w3mhelp-funcname.pl
- @sed -ne "/^[a-zA-Z@]/s/\([a-zA-Z@][a-zA-Z0-9@_]*\)[ ][ ]*\([^ ]*\)/'\1', '\2',/p" < ../funcname.tab >> w3mhelp-funcname.pl
- @echo ');' >> w3mhelp-funcname.pl
- @echo '%keyfunc = (' >> w3mhelp-funcname.pl
- @case "$(KEYBIND_SRC)" in *lynx*) keymap=keymap.lynx;; *) keymap=keymap.default;; esac; \
- sed -ne "/^keymap/s/^keymap[ ][ ]*\([^ ]*\)[ ][ ]*\([a-zA-Z@][a-zA-Z0-9@_]*\)/'\1', '\2', /p" < $(top_srcdir)/doc/$$keymap >> w3mhelp-funcname.pl
- @echo ');' >> w3mhelp-funcname.pl
- @cat $(srcdir)/w3mhelp-funcname.pl.in >> w3mhelp-funcname.pl
- @echo "done"
-
-w3mhelp-funcdesc-stamp: $(top_srcdir)/doc/README.func $(top_srcdir)/doc-jp/README.func w3mhelp-funcdesc.en.pl.in w3mhelp-funcdesc.ja.pl.in
- @echo "generating w3mhelp-funcdesc*.pl..."
- @for dirlang in $(DOCDIRS); do \
- dir=`expr "$$dirlang" : "\(.*\):.*"`; \
- lang=`expr "$$dirlang" : ".*:\(.*\)_.*"`; \
- echo '%funcdesc = (' > w3mhelp-funcdesc.$$lang.pl; \
- sed -ne "/^[a-zA-Z@]/s/\([a-zA-Z@][a-zA-Z0-9@_]*\)[ ][ ]*\(.*\)/'\1', '\2',/p" < $(top_srcdir)/$$dir/README.func >> w3mhelp-funcdesc.$$lang.pl; \
- echo ');' >> w3mhelp-funcdesc.$$lang.pl; \
- cat $(srcdir)/w3mhelp-funcdesc.$$lang.pl.in >> w3mhelp-funcdesc.$$lang.pl; \
- done
- @echo done
- @touch w3mhelp-funcdesc-stamp
+all: $(LIB_TARGETS) $(AUXBIN_TARGETS) $(SUBDIRS)
$(SUBDIRS):
for subdir in $(SUBDIRS); \
@@ -82,7 +55,6 @@
install: $(LIB_TARGETS) $(HELP_TARGETS)
-$(MKDIR) $(DESTDIR)$(AUXBIN_DIR)
-$(MKDIR) $(DESTDIR)$(CGIBIN_DIR)
- -$(MKDIR) $(DESTDIR)$(HELP_DIR)
for file in $(AUXBIN_TARGETS); \
do \
$(INSTALL_SCRIPT) $$file $(DESTDIR)$(AUXBIN_DIR); \
@@ -91,10 +63,6 @@
do \
$(INSTALL_SCRIPT) $$file $(DESTDIR)$(CGIBIN_DIR); \
done
- for file in w3mhelp-*.pl; \
- do \
- $(INSTALL_DATA) $$file $(DESTDIR)$(HELP_DIR); \
- done
for subdir in $(SUBDIRS); \
do \
(cd $$subdir && $(MAKE) install); \
@@ -109,17 +77,12 @@
do \
rm -f $(LIB_DIR)/$$file; \
done
- -for file in w3mhelp-*.pl; \
- do \
- rm -f $(HELP_DIR)/$$file; \
- done
-for subdir in $(SUBDIRS); \
do \
(cd $$subdir && $(MAKE) uninstall); \
done
clean:
- -rm -f $(HELP_TARGETS) w3mhelp-*.pl
-for subdir in $(SUBDIRS); \
do \
(cd $$subdir && $(MAKE) clean); \
diff -urN w3m-0.5.3.patched/w3mimg/Makefile.in w3m-0.5.3/w3mimg/Makefile.in
--- w3m-0.5.3.patched/w3mimg/Makefile.in 2011-01-04 14:52:28.000000000 +0530
+++ w3m-0.5.3/w3mimg/Makefile.in 2012-12-24 18:14:49.836980207 +0530
@@ -18,6 +18,8 @@
.PHONY: $(SUBDIRS)
all: @IMGTARGETS@ w3mimg.a
+$(IMGOBJS): @IMGTARGETS@
+
w3mimg.a: $(IMGOBJS)
$(AR) rv $@ $(IMGOBJS)
$(RANLIB) $@
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment