[oe-commits] unknown busybox: fix avr32 build, courtesy Stelios Koroneos

koen commit openembedded-commits at lists.openembedded.org
Wed Jan 23 17:57:48 UTC 2008


busybox: fix avr32 build, courtesy Stelios Koroneos

Author: koen at openembedded.org
Branch: unknown
Revision: 979e73021b273ae65b6f3b1f59da5efb6f436a3d
ViewMTN: http://monotone.openembedded.org/revision/info/979e73021b273ae65b6f3b1f59da5efb6f436a3d
Files:
1
packages/busybox/busybox-1.2.1/install-should-unlink-dest-if-it-exists.patch
packages/busybox/files/install-should-unlink-dest-if-it-exists.patch
packages/busybox/busybox_1.2.1.bb
Diffs:

#
# mt diff -ra81dc4434307b278d94f353e38f4d3b2e8b69031 -r979e73021b273ae65b6f3b1f59da5efb6f436a3d
#
# 
# 
# add_file "packages/busybox/busybox-1.2.1/install-should-unlink-dest-if-it-exists.patch"
#  content [7501d64051be6b8ad3f6ab302172acde1768b538]
# 
# add_file "packages/busybox/files/install-should-unlink-dest-if-it-exists.patch"
#  content [7501d64051be6b8ad3f6ab302172acde1768b538]
# 
# patch "packages/busybox/busybox_1.2.1.bb"
#  from [bbd3e1d71e9143dcc0ad5cc7b1df2f1fce1d040e]
#    to [d51e1c89f674cc7a7f6d832861eb3101def1b7f4]
# 
============================================================
--- packages/busybox/busybox-1.2.1/install-should-unlink-dest-if-it-exists.patch	7501d64051be6b8ad3f6ab302172acde1768b538
+++ packages/busybox/busybox-1.2.1/install-should-unlink-dest-if-it-exists.patch	7501d64051be6b8ad3f6ab302172acde1768b538
@@ -0,0 +1,53 @@
+---
+ coreutils/install.c |    2 +-
+ include/libbb.h     |    3 ++-
+ libbb/copy_file.c   |    9 +++++++++
+ 3 files changed, 12 insertions(+), 2 deletions(-)
+
+Index: busybox-1.2.1/coreutils/install.c
+===================================================================
+--- busybox-1.2.1.orig/coreutils/install.c	2006-10-19 16:33:48.000000000 +0200
++++ busybox-1.2.1/coreutils/install.c	2006-10-19 16:35:58.000000000 +0200
+@@ -59,7 +59,7 @@ int install_main(int argc, char **argv)
+ 	char *gid_str = "-1";
+ 	char *uid_str = "-1";
+ 	char *mode_str = "0755";
+-	int copy_flags = FILEUTILS_DEREFERENCE | FILEUTILS_FORCE;
++	int copy_flags = FILEUTILS_DEREFERENCE | FILEUTILS_FORCE | FILEUTILS_NO_TRUNC;
+ 	int ret = EXIT_SUCCESS, flags, i, isdir;
+ 
+ #if ENABLE_FEATURE_INSTALL_LONG_OPTIONS
+Index: busybox-1.2.1/include/libbb.h
+===================================================================
+--- busybox-1.2.1.orig/include/libbb.h	2006-10-19 16:24:50.000000000 +0200
++++ busybox-1.2.1/include/libbb.h	2006-10-19 16:32:40.000000000 +0200
+@@ -345,7 +345,8 @@ enum {	/* DO NOT CHANGE THESE VALUES!  c
+ 	FILEUTILS_DEREFERENCE = 2,
+ 	FILEUTILS_RECUR = 4,
+ 	FILEUTILS_FORCE = 8,
+-	FILEUTILS_INTERACTIVE = 16
++	FILEUTILS_INTERACTIVE = 16,
++	FILEUTILS_NO_TRUNC = 32
+ };
+ 
+ extern const char *bb_applet_name;
+Index: busybox-1.2.1/libbb/copy_file.c
+===================================================================
+--- busybox-1.2.1.orig/libbb/copy_file.c	2006-10-19 16:26:53.000000000 +0200
++++ busybox-1.2.1/libbb/copy_file.c	2006-10-19 16:32:28.000000000 +0200
+@@ -136,6 +136,15 @@ int copy_file(const char *source, const 
+ 				}
+ 			}
+ 
++			if (flags & FILEUTILS_NO_TRUNC) {
++				if (unlink(dest) < 0) {
++					bb_perror_msg("unable to remove `%s'", dest);
++					close(src_fd);
++					return -1;
++				}
++				goto dest_removed;
++			}
++
+ 			dst_fd = open(dest, O_WRONLY|O_TRUNC);
+ 			if (dst_fd == -1) {
+ 				if (!(flags & FILEUTILS_FORCE)) {
============================================================
--- packages/busybox/files/install-should-unlink-dest-if-it-exists.patch	7501d64051be6b8ad3f6ab302172acde1768b538
+++ packages/busybox/files/install-should-unlink-dest-if-it-exists.patch	7501d64051be6b8ad3f6ab302172acde1768b538
@@ -0,0 +1,53 @@
+---
+ coreutils/install.c |    2 +-
+ include/libbb.h     |    3 ++-
+ libbb/copy_file.c   |    9 +++++++++
+ 3 files changed, 12 insertions(+), 2 deletions(-)
+
+Index: busybox-1.2.1/coreutils/install.c
+===================================================================
+--- busybox-1.2.1.orig/coreutils/install.c	2006-10-19 16:33:48.000000000 +0200
++++ busybox-1.2.1/coreutils/install.c	2006-10-19 16:35:58.000000000 +0200
+@@ -59,7 +59,7 @@ int install_main(int argc, char **argv)
+ 	char *gid_str = "-1";
+ 	char *uid_str = "-1";
+ 	char *mode_str = "0755";
+-	int copy_flags = FILEUTILS_DEREFERENCE | FILEUTILS_FORCE;
++	int copy_flags = FILEUTILS_DEREFERENCE | FILEUTILS_FORCE | FILEUTILS_NO_TRUNC;
+ 	int ret = EXIT_SUCCESS, flags, i, isdir;
+ 
+ #if ENABLE_FEATURE_INSTALL_LONG_OPTIONS
+Index: busybox-1.2.1/include/libbb.h
+===================================================================
+--- busybox-1.2.1.orig/include/libbb.h	2006-10-19 16:24:50.000000000 +0200
++++ busybox-1.2.1/include/libbb.h	2006-10-19 16:32:40.000000000 +0200
+@@ -345,7 +345,8 @@ enum {	/* DO NOT CHANGE THESE VALUES!  c
+ 	FILEUTILS_DEREFERENCE = 2,
+ 	FILEUTILS_RECUR = 4,
+ 	FILEUTILS_FORCE = 8,
+-	FILEUTILS_INTERACTIVE = 16
++	FILEUTILS_INTERACTIVE = 16,
++	FILEUTILS_NO_TRUNC = 32
+ };
+ 
+ extern const char *bb_applet_name;
+Index: busybox-1.2.1/libbb/copy_file.c
+===================================================================
+--- busybox-1.2.1.orig/libbb/copy_file.c	2006-10-19 16:26:53.000000000 +0200
++++ busybox-1.2.1/libbb/copy_file.c	2006-10-19 16:32:28.000000000 +0200
+@@ -136,6 +136,15 @@ int copy_file(const char *source, const 
+ 				}
+ 			}
+ 
++			if (flags & FILEUTILS_NO_TRUNC) {
++				if (unlink(dest) < 0) {
++					bb_perror_msg("unable to remove `%s'", dest);
++					close(src_fd);
++					return -1;
++				}
++				goto dest_removed;
++			}
++
+ 			dst_fd = open(dest, O_WRONLY|O_TRUNC);
+ 			if (dst_fd == -1) {
+ 				if (!(flags & FILEUTILS_FORCE)) {
============================================================
--- packages/busybox/busybox_1.2.1.bb	bbd3e1d71e9143dcc0ad5cc7b1df2f1fce1d040e
+++ packages/busybox/busybox_1.2.1.bb	d51e1c89f674cc7a7f6d832861eb3101def1b7f4
@@ -1,11 +1,13 @@ require busybox.inc
 require busybox.inc
 
-PR = "r13"
+PR = "r14"
 
 SRC_URI += "file://wget-long-options.patch;patch=1 \
 	   file://df_rootfs.patch;patch=1 \
            file://defconfig"
 
+SRC_URI_append_avr32 = " file://install-should-unlink-dest-if-it-exists.patch;patch=1"
+
 do_configure () {
 	install -m 0644 ${WORKDIR}/defconfig ${S}/.config.oe
 






More information about the Openembedded-commits mailing list