diff --git a/.cvsignore b/.cvsignore index f709b13..3db927a 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -elinks-0.10.6.tar.bz2 +elinks-0.11.0.tar.bz2 manual-0.82-en.tar.bz2 diff --git a/elinks-0.11.0-getaddrinfo.patch b/elinks-0.11.0-getaddrinfo.patch new file mode 100644 index 0000000..5ca5c74 --- /dev/null +++ b/elinks-0.11.0-getaddrinfo.patch @@ -0,0 +1,25 @@ +--- elinks-0.11.0/src/network/dns.c.getaddrinfo 2006-01-01 17:39:36.000000000 +0100 ++++ elinks-0.11.0/src/network/dns.c 2006-01-10 09:30:56.000000000 +0100 +@@ -156,9 +156,21 @@ + * But we duplicate the code terribly here :|. */ + /* hostent = getipnodebyname(name, AF_INET6, AI_ALL | AI_ADDRCONFIG, NULL); */ + memset(&hint, 0, sizeof(hint)); ++ hint.ai_flags = AI_ADDRCONFIG; + hint.ai_family = AF_UNSPEC; + hint.ai_socktype = SOCK_STREAM; +- if (getaddrinfo(name, NULL, &hint, &ai) != 0) return -1; ++ switch (getaddrinfo(name, NULL, &hint, &ai)) ++ { ++ case 0: ++ break; ++ case EAI_BADFLAGS: ++ hint.ai_flags = 0; ++ if (getaddrinfo(name, NULL, &hint, &ai) == 0) ++ break; ++ /* fall through */ ++ default: ++ return -1; ++ } + + #else + /* Seems there are problems on Mac, so we first need to try diff --git a/elinks-0.11.0-ssl-noegd.patch b/elinks-0.11.0-ssl-noegd.patch new file mode 100644 index 0000000..07ac93f --- /dev/null +++ b/elinks-0.11.0-ssl-noegd.patch @@ -0,0 +1,21 @@ +--- elinks-0.11.0/src/network/ssl/ssl.c.noegd 2006-01-10 09:24:50.000000000 +0100 ++++ elinks-0.11.0/src/network/ssl/ssl.c 2006-01-10 09:25:01.000000000 +0100 +@@ -43,18 +43,6 @@ + static void + init_openssl(struct module *module) + { +- unsigned char f_randfile[PATH_MAX]; +- +- /* In a nutshell, on OS's without a /dev/urandom, the OpenSSL library +- * cannot initialize the PRNG and so every attempt to use SSL fails. +- * It's actually an OpenSSL FAQ, and according to them, it's up to the +- * application coders to seed the RNG. -- William Yodlowsky */ +- if (RAND_egd(RAND_file_name(f_randfile, sizeof(f_randfile))) < 0) { +- /* Not an EGD, so read and write to it */ +- if (RAND_load_file(f_randfile, -1)) +- RAND_write_file(f_randfile); +- } +- + SSLeay_add_ssl_algorithms(); + context = SSL_CTX_new(SSLv23_client_method()); + SSL_CTX_set_options(context, SSL_OP_ALL); diff --git a/elinks-0.11.0-sysname.patch b/elinks-0.11.0-sysname.patch new file mode 100644 index 0000000..479c1a8 --- /dev/null +++ b/elinks-0.11.0-sysname.patch @@ -0,0 +1,20 @@ +--- elinks-0.11.0/src/osdep/sysname.c.sysname 2006-01-01 17:39:36.000000000 +0100 ++++ elinks-0.11.0/src/osdep/sysname.c 2006-01-10 09:34:14.000000000 +0100 +@@ -26,7 +26,7 @@ + FILE *f; + unsigned char *p; + +- f = popen("uname -srm", "r"); ++ f = popen("uname -s", "r"); + if (!f) return 0; + + if (fread(system_name, 1, sizeof(system_name) - 1, f) <= 0) { +@@ -58,7 +58,7 @@ + + if (!uname(&name)) { + snprintf(system_name, sizeof(system_name), +- "%s %s %s", name.sysname, name.release, name.machine); ++ "%s", name.sysname); + return; + } + #endif diff --git a/elinks-0.11.0-union.patch b/elinks-0.11.0-union.patch new file mode 100644 index 0000000..907def5 --- /dev/null +++ b/elinks-0.11.0-union.patch @@ -0,0 +1,77 @@ +--- elinks-0.11.0/src/config/options.h.union 2006-01-10 09:40:54.000000000 +0100 ++++ elinks-0.11.0/src/config/options.h 2006-01-10 09:48:16.000000000 +0100 +@@ -131,7 +131,7 @@ + }; + + #define INIT_OPTION(name, flags, type, min, max, value, desc, capt) \ +- { NULL_LIST_HEAD, INIT_OBJECT("option"), name, flags, type, min, max, { (struct list_head *) (value) }, desc, capt } ++ { NULL_LIST_HEAD, INIT_OBJECT("option"), name, flags, type, min, max, { value }, desc, capt } + + extern struct option *config_options; + extern struct option *cmdline_options; +@@ -292,40 +292,42 @@ + extern void unregister_options(struct option_info info[], struct option *tree); + + #define NULL_OPTION_INFO \ +- { INIT_OPTION(NULL, 0, 0, 0, 0, NULL, NULL, NULL), NULL } ++ { INIT_OPTION(NULL, 0, 0, 0, 0, .tree = NULL, NULL, NULL), NULL } + + #define INIT_OPT_BOOL(path, capt, name, flags, def, desc) \ +- { INIT_OPTION(name, flags, OPT_BOOL, 0, 1, def, DESC(desc), capt), path } ++ { INIT_OPTION(name, flags, OPT_BOOL, 0, 1, .number = def, DESC(desc), capt), path } + + #define INIT_OPT_INT(path, capt, name, flags, min, max, def, desc) \ +- { INIT_OPTION(name, flags, OPT_INT, min, max, def, DESC(desc), capt), path } ++ { INIT_OPTION(name, flags, OPT_INT, min, max, .number = def, DESC(desc), capt), path } + + #define INIT_OPT_LONG(path, capt, name, flags, min, max, def, desc) \ +- { INIT_OPTION(name, flags, OPT_LONG, min, max, def, DESC(desc), capt), path } ++ { INIT_OPTION(name, flags, OPT_LONG, min, max, .big_number = def, DESC(desc), capt), path } + + #define INIT_OPT_STRING(path, capt, name, flags, def, desc) \ +- { INIT_OPTION(name, flags, OPT_STRING, 0, MAX_STR_LEN, def, DESC(desc), capt), path } ++ { INIT_OPTION(name, flags, OPT_STRING, 0, MAX_STR_LEN, .string = def, DESC(desc), capt), path } + ++/* .number initialized in register_options */ + #define INIT_OPT_CODEPAGE(path, capt, name, flags, def, desc) \ +- { INIT_OPTION(name, flags, OPT_CODEPAGE, 0, 0, def, DESC(desc), capt), path } ++ { INIT_OPTION(name, flags, OPT_CODEPAGE, 0, 0, .string = def, DESC(desc), capt), path } + ++/* .color initialized in register_options */ + #define INIT_OPT_COLOR(path, capt, name, flags, def, desc) \ +- { INIT_OPTION(name, flags, OPT_COLOR, 0, 0, def, DESC(desc), capt), path } ++ { INIT_OPTION(name, flags, OPT_COLOR, 0, 0, .string = def, DESC(desc), capt), path } + + #define INIT_OPT_LANGUAGE(path, capt, name, flags, desc) \ +- { INIT_OPTION(name, flags, OPT_LANGUAGE, 0, 0, 0, DESC(desc), capt), path } ++ { INIT_OPTION(name, flags, OPT_LANGUAGE, 0, 0, .number = 0, DESC(desc), capt), path } + + #define INIT_OPT_COMMAND(path, capt, name, flags, cmd, desc) \ +- { INIT_OPTION(name, flags, OPT_COMMAND, 0, 0, cmd, DESC(desc), capt), path } ++ { INIT_OPTION(name, flags, OPT_COMMAND, 0, 0, .command = cmd, DESC(desc), capt), path } + + #define INIT_OPT_CMDALIAS(path, capt, name, flags, def, desc) \ +- { INIT_OPTION(name, flags, OPT_ALIAS, 0, sizeof(def) - 1, def, DESC(desc), capt), path } ++ { INIT_OPTION(name, flags, OPT_ALIAS, 0, sizeof(def) - 1, .string = def, DESC(desc), capt), path } + + #define INIT_OPT_ALIAS(path, name, flags, def) \ +- { INIT_OPTION(name, flags, OPT_ALIAS, 0, sizeof(def) - 1, def, NULL, NULL), path } ++ { INIT_OPTION(name, flags, OPT_ALIAS, 0, sizeof(def) - 1, .string = def, NULL, NULL), path } + + #define INIT_OPT_TREE(path, capt, name, flags, desc) \ +- { INIT_OPTION(name, flags, OPT_TREE, 0, 0, NULL, DESC(desc), capt), path } ++ { INIT_OPTION(name, flags, OPT_TREE, 0, 0, .tree = NULL, DESC(desc), capt), path } + + + /* TODO: We need to do *something* with this ;). */ +--- elinks-0.11.0/src/config/options.c.union 2006-01-10 09:38:31.000000000 +0100 ++++ elinks-0.11.0/src/config/options.c 2006-01-10 09:39:59.000000000 +0100 +@@ -59,7 +59,7 @@ + /* flags: */ 0, + /* type: */ OPT_TREE, + /* min, max: */ 0, 0, +- /* value: */ &options_root_tree, ++ /* value: */ .tree = &options_root_tree, + /* desc: */ "", + /* capt: */ NULL + ); diff --git a/elinks.spec b/elinks.spec index eef74c4..bd8860c 100644 --- a/elinks.spec +++ b/elinks.spec @@ -1,17 +1,10 @@ %define rescue %{nil} Name: elinks Summary: A text-mode Web browser. -Version: 0.10.6 -Release: 2.1 +Version: 0.11.0 +Release: 1 Source: http://elinks.or.cz/download/elinks-%{version}.tar.bz2 Source1: http://links.sourceforge.net/download/docs/manual-0.82-en.tar.bz2 -Patch0: elinks-noegd.patch -Patch1: elinks-0.10.1-utf_8_io-default.patch -Patch2: elinks-0.10.1-pkgconfig.patch -Patch3: elinks-0.4.2-getaddrinfo.patch -Patch4: elinks-sysname.patch -Patch5: elinks-0.10.1-xterm.patch -Patch6: elinks-0.10.3-union.patch Group: Applications/Internet URL: http://elinks.or.cz/ BuildRoot: %{_tmppath}/%{name}-buildroot @@ -21,6 +14,14 @@ Provides: webclient Obsoletes: links Provides: links +Patch0: elinks-0.11.0-ssl-noegd.patch +Patch1: elinks-0.10.1-utf_8_io-default.patch +Patch2: elinks-0.10.1-pkgconfig.patch +Patch3: elinks-0.11.0-getaddrinfo.patch +Patch4: elinks-0.11.0-sysname.patch +Patch5: elinks-0.10.1-xterm.patch +Patch6: elinks-0.11.0-union.patch + %description Links is a text-based Web browser. Links does not display any images, but it does support frames, tables and most other HTML tags. Links' @@ -45,9 +46,10 @@ quickly and swiftly displays Web pages. %patch6 -p1 -b .union %build -aclocal -automake -a -autoconf +#aclocal +#automake -a +#autoconf +./autogen.sh export CFLAGS="$RPM_OPT_FLAGS $(getconf LFS_CFLAGS)" %configure %{?rescue:--without-gpm} --without-x @@ -77,7 +79,15 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man5/* %changelog -* Fri Dec 09 2005 Jesse Keating +* Tue Jan 10 2006 Karel Zak 0.11.0-1 +- update to new upstream version +- regenerate patches: + elinks-0.11.0-getaddrinfo.patch, + elinks-0.11.0-ssl-noegd.patch, + elinks-0.11.0-sysname.patch, + elinks-0.11.0-union.patch + +* Fri Dec 09 2005 Jesse Keating 0.10.6-2.1 - rebuilt * Wed Nov 9 2005 Karel Zak 0.10.6-2 diff --git a/sources b/sources index b1cfda0..8e3ab3e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -f539c07a7b0e19e8f1c6f35f7d406841 elinks-0.10.6.tar.bz2 +9154f493f544af31ae31ec1dd203d315 elinks-0.11.0.tar.bz2 947950d4974c25f95f1a3988bf88cb21 manual-0.82-en.tar.bz2