packages: busybox/busybox.spec, busybox/busybox-1.18.3-buildsys.patch (NEW)...
arekm
arekm at pld-linux.org
Thu Feb 17 22:33:49 CET 2011
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
More information about the pld-cvs-commit
mailing list