Author: arekm Date: Thu Feb 17 21:33:49 2011 GMT Module: packages Tag: HEAD ---- Log message: - rel 2; upstream patches
---- Files affected: packages/busybox: busybox.spec (1.185 -> 1.186) , busybox-1.18.3-buildsys.patch (NONE -> 1.1) (NEW), busybox-1.18.3-modutils24.patch (NONE -> 1.1) (NEW), busybox-1.18.3-wget.patch (NONE -> 1.1) (NEW) ---- Diffs: ================================================================ Index: packages/busybox/busybox.spec diff -u packages/busybox/busybox.spec:1.185 packages/busybox/busybox.spec:1.186 --- packages/busybox/busybox.spec:1.185 Sat Feb 12 00:10:29 2011 +++ packages/busybox/busybox.spec Thu Feb 17 22:33:43 2011 @@ -38,7 +38,7 @@ Name: busybox # stable line only Version: 1.18.3 -Release: 1 +Release: 2 License: GPL Group: Applications Source0: http://www.busybox.net/downloads/%{name}-%{version}.tar.bz2 @@ -46,6 +46,9 @@ Source1: %{name}.config Source2: %{name}-initrd.config %{?with_altconfig:Source3: %{cfgfile}} +Patch100: busybox-1.18.3-buildsys.patch +Patch101: busybox-1.18.3-modutils24.patch +Patch102: busybox-1.18.3-wget.patch Patch1: %{name}-logconsole.patch Patch2: %{name}-printf-gettext.patch Patch3: %{name}-loadfont.patch @@ -152,6 +155,9 @@ %prep %setup -q +%patch100 -p1 +%patch101 -p1 +%patch102 -p1 %patch1 -p1 %patch2 -p1 #%patch3 -p1 @@ -288,6 +294,9 @@ All persons listed below can be reached at <cvs_login>@pld-linux.org $Log$ +Revision 1.186 2011/02/17 21:33:43 arekm +- rel 2; upstream patches + Revision 1.185 2011/02/11 23:10:29 areq - 1.18.3 ================================================================ Index: packages/busybox/busybox-1.18.3-buildsys.patch diff -u /dev/null packages/busybox/busybox-1.18.3-buildsys.patch:1.1 --- /dev/null Thu Feb 17 22:33:49 2011 +++ packages/busybox/busybox-1.18.3-buildsys.patch Thu Feb 17 22:33:43 2011 @@ -0,0 +1,10 @@ +--- busybox-1.18.3/Config.in ++++ busybox-1.18.3-buildsys/Config.in +@@ -126,7 +126,6 @@ config FEATURE_INSTALLER + config INSTALL_NO_USR + bool "Don't use /usr" + default n +- depends on FEATURE_INSTALLER + help + Disable use of /usr. busybox --install and "make install" + will install applets only to /bin and /sbin, ================================================================ Index: packages/busybox/busybox-1.18.3-modutils24.patch diff -u /dev/null packages/busybox/busybox-1.18.3-modutils24.patch:1.1 --- /dev/null Thu Feb 17 22:33:49 2011 +++ packages/busybox/busybox-1.18.3-modutils24.patch Thu Feb 17 22:33:43 2011 @@ -0,0 +1,36 @@ +--- busybox-1.18.3/modutils/modutils-24.c ++++ busybox-1.18.3-modutils24/modutils/modutils-24.c +@@ -2474,6 +2474,7 @@ new_process_module_arguments(struct obj_ + n = 0; + p = val; + while (*p != 0) { ++ char sv_ch; + char *endp; + + if (++n > max) +@@ -2482,14 +2483,17 @@ new_process_module_arguments(struct obj_ + switch (*pinfo) { + case 's': + len = strcspn(p, ","); ++ sv_ch = p[len]; + p[len] = 0; + obj_string_patch(f, sym->secidx, + loc - contents, p); + loc += tgt_sizeof_char_p; + p += len; ++ *p = sv_ch; + break; + case 'c': + len = strcspn(p, ","); ++ sv_ch = p[len]; + p[len] = 0; + if (len >= charssize) + bb_error_msg_and_die("string too long for %s (max %ld)", param, +@@ -2497,6 +2501,7 @@ new_process_module_arguments(struct obj_ + strcpy((char *) loc, p); + loc += charssize; + p += len; ++ *p = sv_ch; + break; + case 'b': + *loc++ = strtoul(p, &endp, 0); ================================================================ Index: packages/busybox/busybox-1.18.3-wget.patch diff -u /dev/null packages/busybox/busybox-1.18.3-wget.patch:1.1 --- /dev/null Thu Feb 17 22:33:49 2011 +++ packages/busybox/busybox-1.18.3-wget.patch Thu Feb 17 22:33:43 2011 @@ -0,0 +1,128 @@ +--- busybox-1.18.3/networking/wget.c ++++ busybox-1.18.3-wget/networking/wget.c +@@ -446,7 +446,7 @@ static FILE* prepare_ftp_session(FILE ** + + static void NOINLINE retrieve_file_data(FILE *dfp, int output_fd) + { +- char buf[512]; ++ char buf[4*1024]; /* made bigger to speed up local xfers */ + #if ENABLE_FEATURE_WGET_STATUSBAR || ENABLE_FEATURE_WGET_TIMEOUT + # if ENABLE_FEATURE_WGET_TIMEOUT + unsigned second_cnt; +@@ -455,7 +455,6 @@ static void NOINLINE retrieve_file_data( + + polldata.fd = fileno(dfp); + polldata.events = POLLIN | POLLPRI; +- ndelay_on(polldata.fd); + #endif + progress_meter(PROGRESS_START); + +@@ -464,6 +463,10 @@ static void NOINLINE retrieve_file_data( + + /* Loops only if chunked */ + while (1) { ++ ++#if ENABLE_FEATURE_WGET_STATUSBAR || ENABLE_FEATURE_WGET_TIMEOUT ++ ndelay_on(polldata.fd); ++#endif + while (1) { + int n; + unsigned rdsz; +@@ -493,22 +496,46 @@ static void NOINLINE retrieve_file_data( + progress_meter(PROGRESS_BUMP); + } + #endif ++ /* fread internally uses read loop, which in our case ++ * is usually exited when we get EAGAIN. ++ * In this case, libc sets error marker on the stream. ++ * Need to clear it before next fread to avoid possible ++ * rare false positive ferror below. Rare because usually ++ * fread gets more than zero bytes, and we don't fall ++ * into if (n <= 0) ... ++ */ ++ clearerr(dfp); ++ errno = 0; + n = safe_fread(buf, rdsz, dfp); ++ /* man fread: ++ * If error occurs, or EOF is reached, the return value ++ * is a short item count (or zero). ++ * fread does not distinguish between EOF and error. ++ */ + if (n <= 0) { +- if (ferror(dfp)) { +- /* perror will not work: ferror doesn't set errno */ +- bb_error_msg_and_die(bb_msg_read_error); +- } +- break; ++#if ENABLE_FEATURE_WGET_STATUSBAR || ENABLE_FEATURE_WGET_TIMEOUT ++ if (errno == EAGAIN) /* poll lied, there is no data? */ ++ continue; /* yes */ ++#endif ++ if (ferror(dfp)) ++ bb_perror_msg_and_die(bb_msg_read_error); ++ break; /* EOF, not error */ + } ++ + xwrite(output_fd, buf, n); + #if ENABLE_FEATURE_WGET_STATUSBAR + G.transferred += n; + progress_meter(PROGRESS_BUMP); + #endif +- if (G.got_clen) ++ if (G.got_clen) { + G.content_len -= n; ++ if (G.content_len == 0) ++ break; ++ } + } ++#if ENABLE_FEATURE_WGET_STATUSBAR || ENABLE_FEATURE_WGET_TIMEOUT ++ ndelay_off(polldata.fd); ++#endif + + if (!G.chunked) + break; +@@ -706,6 +733,11 @@ int wget_main(int argc UNUSED_PARAM, cha + fprintf(sfp, "Host: %s\r\nUser-Agent: %s\r\n", + target.host, user_agent); + ++ /* Ask server to close the connection as soon as we are done ++ * (IOW: we do not intend to send more requests) ++ */ ++ fprintf(sfp, "Connection: close\r\n"); ++ + #if ENABLE_FEATURE_WGET_AUTHENTICATION + if (target.user) { + fprintf(sfp, "Proxy-Authorization: Basic %s\r\n"+6, +@@ -719,22 +751,25 @@ int wget_main(int argc UNUSED_PARAM, cha + + if (G.beg_range) + fprintf(sfp, "Range: bytes=%"OFF_FMT"u-\r\n", G.beg_range); ++ + #if ENABLE_FEATURE_WGET_LONG_OPTIONS + if (extra_headers) + fputs(extra_headers, sfp); + + if (opt & WGET_OPT_POST_DATA) { + char *estr = URL_escape(post_data); +- fprintf(sfp, "Content-Type: application/x-www-form-urlencoded\r\n"); +- fprintf(sfp, "Content-Length: %u\r\n" "\r\n" "%s", +- (int) strlen(estr), estr); +- /*fprintf(sfp, "Connection: Keep-Alive\r\n\r\n");*/ +- /*fprintf(sfp, "%s\r\n", estr);*/ ++ fprintf(sfp, ++ "Content-Type: application/x-www-form-urlencoded\r\n" ++ "Content-Length: %u\r\n" ++ "\r\n" ++ "%s", ++ (int) strlen(estr), estr ++ ); + free(estr); + } else + #endif +- { /* If "Connection:" is needed, document why */ +- fprintf(sfp, /* "Connection: close\r\n" */ "\r\n"); ++ { ++ fprintf(sfp, "\r\n"); + } + + fflush(sfp); ================================================================ ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/busybox/busybox.spec?r1=1.185&r2=1.186&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
