diff options
-rw-r--r-- | meta/packages/busybox/busybox-1.9.1/adduser-longops.patch | 55 | ||||
-rwxr-xr-x | meta/packages/busybox/busybox-1.9.1/busybox-mdev.sh (renamed from meta/packages/busybox/busybox-1.8.2/busybox-mdev.sh) | 0 | ||||
-rw-r--r-- | meta/packages/busybox/busybox-1.9.1/defconfig (renamed from meta/packages/busybox/busybox-1.8.2/defconfig) | 46 | ||||
-rw-r--r-- | meta/packages/busybox/busybox-1.9.1/sort-z-nul.patch | 50 | ||||
-rw-r--r-- | meta/packages/busybox/busybox-1.9.1/udhcpscript.patch (renamed from meta/packages/busybox/busybox-1.8.2/udhcpscript.patch) | 0 | ||||
-rw-r--r-- | meta/packages/busybox/busybox.inc | 127 | ||||
-rw-r--r-- | meta/packages/busybox/busybox_1.8.2.bb | 111 | ||||
-rw-r--r-- | meta/packages/busybox/busybox_1.9.1.bb | 25 |
8 files changed, 276 insertions, 138 deletions
diff --git a/meta/packages/busybox/busybox-1.9.1/adduser-longops.patch b/meta/packages/busybox/busybox-1.9.1/adduser-longops.patch new file mode 100644 index 000000000..f221d3089 --- /dev/null +++ b/meta/packages/busybox/busybox-1.9.1/adduser-longops.patch @@ -0,0 +1,55 @@ +upstream: http://bugs.busybox.net/view.php?id=2134 +status: accepted in rev. 21031 on Feb 15 2008 +comment: fixes OE bug 3781, applied by mickeyl + +diff -Nuar busybox-1.9.1.old/loginutils/Config.in busybox-1.9.1/loginutils/Config.in +--- busybox-1.9.1.old/loginutils/Config.in Tue Feb 12 10:03:11 2008 ++++ busybox-1.9.1/loginutils/Config.in Thu Feb 14 11:48:31 2008 +@@ -88,6 +88,13 @@ + help + Utility for creating a new user account. + ++config FEATURE_ADDUSER_LONG_OPTIONS ++ bool "Enable long options" ++ default n ++ depends on ADDUSER && GETOPT_LONG ++ help ++ Support long options for the adduser applet. ++ + config DELUSER + bool "deluser" + default n +diff -Nuar busybox-1.9.1.old/loginutils/adduser.c busybox-1.9.1/loginutils/adduser.c +--- busybox-1.9.1.old/loginutils/adduser.c Thu Feb 14 10:25:33 2008 ++++ busybox-1.9.1/loginutils/adduser.c Thu Feb 14 13:32:47 2008 +@@ -66,6 +66,19 @@ + bb_error_msg_and_die("cannot execute %s, you must set password manually", prog); + } + ++#if ENABLE_FEATURE_ADDUSER_LONG_OPTIONS ++static const char adduser_longopts[] ALIGN1 = ++ "home\0" Required_argument "h" ++ "gecos\0" Required_argument "g" ++ "shell\0" Required_argument "s" ++ "ingroup\0" Required_argument "G" ++ "disabled-password\0" No_argument "D" ++ "empty-password\0" No_argument "D" ++ "system\0" No_argument "S" ++ "no-create-home\0" No_argument "H" ++ ; ++#endif ++ + /* + * adduser will take a login_name as its first parameter. + * home, shell, gecos: +@@ -77,6 +90,10 @@ + struct passwd pw; + const char *usegroup = NULL; + FILE *file; ++ ++#if ENABLE_FEATURE_ADDUSER_LONG_OPTIONS ++ applet_long_options = adduser_longopts; ++#endif + + /* got root? */ + if (geteuid()) { diff --git a/meta/packages/busybox/busybox-1.8.2/busybox-mdev.sh b/meta/packages/busybox/busybox-1.9.1/busybox-mdev.sh index 9744322fa..9744322fa 100755 --- a/meta/packages/busybox/busybox-1.8.2/busybox-mdev.sh +++ b/meta/packages/busybox/busybox-1.9.1/busybox-mdev.sh diff --git a/meta/packages/busybox/busybox-1.8.2/defconfig b/meta/packages/busybox/busybox-1.9.1/defconfig index 19cfafab2..770ef6eb1 100644 --- a/meta/packages/busybox/busybox-1.8.2/defconfig +++ b/meta/packages/busybox/busybox-1.9.1/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.7.2 -# Fri Oct 12 19:00:27 2007 +# Busybox version: 1.9.1 +# Thu Feb 14 11:54:00 2008 # CONFIG_HAVE_DOT_CONFIG=y @@ -40,10 +40,9 @@ CONFIG_FEATURE_HAVE_RPC=y # # CONFIG_STATIC is not set # CONFIG_BUILD_LIBBUSYBOX is not set -# CONFIG_FEATURE_FULL_LIBBUSYBOX is not set +# CONFIG_FEATURE_INDIVIDUAL is not set # CONFIG_FEATURE_SHARED_BUSYBOX is not set CONFIG_LFS=y -CONFIG_BUILD_AT_ONCE=y # # Debugging Options @@ -61,7 +60,11 @@ CONFIG_NO_DEBUG_LIB=y # CONFIG_INSTALL_NO_USR is not set CONFIG_INSTALL_APPLET_SYMLINKS=y # CONFIG_INSTALL_APPLET_HARDLINKS is not set +# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set # CONFIG_INSTALL_APPLET_DONT is not set +# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set +# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set +# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set CONFIG_PREFIX="./_install" # @@ -73,13 +76,14 @@ CONFIG_FEATURE_FAST_TOP=y # CONFIG_FEATURE_ETC_NETWORKS is not set CONFIG_FEATURE_EDITING=y CONFIG_FEATURE_EDITING_MAX_LEN=1024 -# CONFIG_FEATURE_EDITING_FANCY_KEYS is not set +CONFIG_FEATURE_EDITING_FANCY_KEYS=y # CONFIG_FEATURE_EDITING_VI is not set CONFIG_FEATURE_EDITING_HISTORY=15 CONFIG_FEATURE_EDITING_SAVEHISTORY=y CONFIG_FEATURE_TAB_COMPLETION=y CONFIG_FEATURE_USERNAME_COMPLETION=y CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +CONFIG_FEATURE_COPYBUF_KB=4 CONFIG_MONOTONIC_SYSCALL=y CONFIG_IOCTL_HEX2STR_ERROR=y @@ -93,6 +97,7 @@ CONFIG_IOCTL_HEX2STR_ERROR=y CONFIG_AR=y # CONFIG_FEATURE_AR_LONG_FILENAMES is not set CONFIG_BUNZIP2=y +# CONFIG_BZIP2 is not set CONFIG_CPIO=y # CONFIG_DPKG is not set # CONFIG_DPKG_DEB is not set @@ -148,6 +153,7 @@ CONFIG_DD=y CONFIG_FEATURE_DD_SIGNAL_HANDLING=y # CONFIG_FEATURE_DD_IBS_OBS is not set CONFIG_DF=y +# CONFIG_FEATURE_DF_INODE is not set CONFIG_DIRNAME=y # CONFIG_DOS2UNIX is not set # CONFIG_UNIX2DOS is not set @@ -264,6 +270,7 @@ CONFIG_CHVT=y CONFIG_CLEAR=y CONFIG_DEALLOCVT=y CONFIG_DUMPKMAP=y +# CONFIG_KBD_MODE is not set CONFIG_LOADFONT=y CONFIG_LOADKMAP=y CONFIG_OPENVT=y @@ -281,7 +288,7 @@ CONFIG_SETCONSOLE=y CONFIG_MKTEMP=y # CONFIG_PIPE_PROGRESS is not set CONFIG_RUN_PARTS=y -# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set +CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y # CONFIG_FEATURE_RUN_PARTS_FANCY is not set CONFIG_START_STOP_DAEMON=y CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y @@ -293,7 +300,7 @@ CONFIG_WHICH=y # CONFIG_AWK=y CONFIG_FEATURE_AWK_MATH=y -# CONFIG_CMP is not set +CONFIG_CMP=y CONFIG_DIFF=y CONFIG_FEATURE_DIFF_BINARY=y CONFIG_FEATURE_DIFF_DIR=y @@ -303,6 +310,7 @@ CONFIG_PATCH=y CONFIG_SED=y CONFIG_VI=y CONFIG_FEATURE_VI_MAX_LEN=1024 +CONFIG_FEATURE_VI_8BIT=y CONFIG_FEATURE_VI_COLON=y CONFIG_FEATURE_VI_YANKMARK=y CONFIG_FEATURE_VI_SEARCH=y @@ -375,9 +383,10 @@ CONFIG_XARGS=y # CONFIG_DELGROUP is not set # CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set # CONFIG_ADDUSER is not set +# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set # CONFIG_DELUSER is not set # CONFIG_GETTY is not set -CONFIG_FEATURE_UTMP=y +# CONFIG_FEATURE_UTMP is not set # CONFIG_FEATURE_WTMP is not set # CONFIG_LOGIN is not set # CONFIG_PAM is not set @@ -453,6 +462,8 @@ CONFIG_MKFS_MINIX=y CONFIG_FEATURE_MINIX2=y # CONFIG_GETOPT is not set CONFIG_HEXDUMP=y +# CONFIG_HD is not set +# CONFIG_FEATURE_HEXDUMP_REVERSE is not set CONFIG_HWCLOCK=y CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y @@ -468,6 +479,7 @@ CONFIG_MKSWAP=y CONFIG_MORE=y CONFIG_FEATURE_USE_TERMIOS=y CONFIG_MOUNT=y +# CONFIG_FEATURE_MOUNT_HELPERS is not set CONFIG_FEATURE_MOUNT_NFS=y # CONFIG_FEATURE_MOUNT_CIFS is not set CONFIG_FEATURE_MOUNT_FLAGS=y @@ -522,6 +534,7 @@ CONFIG_FEATURE_LESS_FLAGS=y # CONFIG_MAKEDEVS is not set # CONFIG_FEATURE_MAKEDEVS_LEAF is not set # CONFIG_FEATURE_MAKEDEVS_TABLE is not set +# CONFIG_MICROCOM is not set # CONFIG_MOUNTPOINT is not set # CONFIG_MT is not set # CONFIG_RAIDAUTORUN is not set @@ -540,6 +553,7 @@ CONFIG_TIME=y # Networking Utilities # CONFIG_FEATURE_IPV6=y +CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y # CONFIG_VERBOSE_RESOLUTION_ERRORS is not set # CONFIG_ARP is not set # CONFIG_ARPING is not set @@ -551,6 +565,7 @@ CONFIG_FEATURE_IPV6=y # CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set CONFIG_HOSTNAME=y # CONFIG_HTTPD is not set +# CONFIG_FEATURE_HTTPD_RANGES is not set # CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set # CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set # CONFIG_FEATURE_HTTPD_SETUID is not set @@ -562,6 +577,7 @@ CONFIG_HOSTNAME=y # CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set # CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set # CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set +# CONFIG_FEATURE_HTTPD_PROXY is not set CONFIG_IFCONFIG=y CONFIG_FEATURE_IFCONFIG_STATUS=y # CONFIG_FEATURE_IFCONFIG_SLIP is not set @@ -591,6 +607,7 @@ CONFIG_FEATURE_IP_ROUTE=y CONFIG_FEATURE_IP_TUNNEL=y # CONFIG_FEATURE_IP_RULE is not set # CONFIG_FEATURE_IP_SHORT_FORMS is not set +# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set # CONFIG_IPADDR is not set # CONFIG_IPLINK is not set # CONFIG_IPROUTE is not set @@ -600,6 +617,7 @@ CONFIG_FEATURE_IP_TUNNEL=y # CONFIG_FEATURE_IPCALC_FANCY is not set # CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set # CONFIG_NAMEIF is not set +# CONFIG_FEATURE_NAMEIF_EXTENDED is not set CONFIG_NC=y # CONFIG_NC_SERVER is not set # CONFIG_NC_EXTRA is not set @@ -631,8 +649,10 @@ CONFIG_APP_UDHCPD=y CONFIG_APP_DUMPLEASES=y # CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set CONFIG_APP_UDHCPC=y +CONFIG_FEATURE_UDHCPC_ARPING=y # CONFIG_FEATURE_UDHCP_DEBUG is not set # CONFIG_FEATURE_RFC3397 is not set +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 # CONFIG_VCONFIG is not set CONFIG_WGET=y CONFIG_FEATURE_WGET_STATUSBAR=y @@ -649,9 +669,11 @@ CONFIG_KILL=y CONFIG_KILLALL=y # CONFIG_KILLALL5 is not set # CONFIG_NMETER is not set +# CONFIG_PGREP is not set CONFIG_PIDOF=y # CONFIG_FEATURE_PIDOF_SINGLE is not set # CONFIG_FEATURE_PIDOF_OMIT is not set +# CONFIG_PKILL is not set CONFIG_PS=y CONFIG_FEATURE_PS_WIDE=y CONFIG_RENICE=y @@ -660,6 +682,7 @@ CONFIG_TOP=y CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y # CONFIG_FEATURE_TOP_DECIMALS is not set +# CONFIG_FEATURE_TOPMEM is not set CONFIG_UPTIME=y CONFIG_WATCH=y @@ -668,7 +691,6 @@ CONFIG_WATCH=y # CONFIG_FEATURE_SH_IS_ASH=y # CONFIG_FEATURE_SH_IS_HUSH is not set -# CONFIG_FEATURE_SH_IS_LASH is not set # CONFIG_FEATURE_SH_IS_MSH is not set # CONFIG_FEATURE_SH_IS_NONE is not set CONFIG_ASH=y @@ -677,8 +699,8 @@ CONFIG_ASH=y # Ash Shell Options # CONFIG_ASH_JOB_CONTROL=y -# CONFIG_ASH_READ_NCHARS is not set -# CONFIG_ASH_READ_TIMEOUT is not set +CONFIG_ASH_READ_NCHARS=y +CONFIG_ASH_READ_TIMEOUT=y CONFIG_ASH_ALIAS=y CONFIG_ASH_MATH_SUPPORT=y # CONFIG_ASH_MATH_SUPPORT_64 is not set @@ -745,6 +767,8 @@ CONFIG_LOGGER=y # CONFIG_SETENFORCE is not set # CONFIG_SETFILES is not set # CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_SETSEBOOL is not set +# CONFIG_SESTATUS is not set # # ipsvd utilities diff --git a/meta/packages/busybox/busybox-1.9.1/sort-z-nul.patch b/meta/packages/busybox/busybox-1.9.1/sort-z-nul.patch new file mode 100644 index 000000000..55452a452 --- /dev/null +++ b/meta/packages/busybox/busybox-1.9.1/sort-z-nul.patch @@ -0,0 +1,50 @@ +Summary: 0001591: inconsistent behavior of sort -z + +URL: http://busybox.net/bugs/view.php?id=1591 +http://www.busybox.net/cgi-bin/viewcvs.cgi/trunk/busybox/coreutils/sort.c?rev=21004&r1=20435&r2=21004&makepatch=1&diff_format=u + +Description: + +busybox sort -z does: +use NUL instead of EOL on input + +GNU sort -z does: +use NUL instead of EOL on input and output + +GNU sort -z documents: +use NUL instead of EOL on input + +Additional Information: + +Note that sort -z is not part of any standard. But several applications +(e. g. GNU findutils updatedb) depends on the NUL-on-output behavior. + +GNU sort documentation bug was reported to coreutils maintainers. + +Notes: + +vda 02-13-08 06:30 (0004364) +Fixed in revision 21004. Thanks! + +--- busybox/coreutils/sort.c 2007/11/16 12:39:16 20435 ++++ busybox/coreutils/sort.c 2008/02/13 14:30:33 21004 +@@ -32,7 +32,7 @@ + FLAG_u = 8, /* Unique */ + FLAG_c = 0x10, /* Check: no output, exit(!ordered) */ + FLAG_s = 0x20, /* Stable sort, no ascii fallback at end */ +- FLAG_z = 0x40, /* Input is null terminated, not \n */ ++ FLAG_z = 0x40, /* Input and output is NUL terminated, not \n */ + /* These can be applied to search keys, the previous four can't */ + FLAG_b = 0x80, /* Ignore leading blanks */ + FLAG_r = 0x100, /* Reverse */ +@@ -396,8 +396,9 @@ + if (linecount) linecount = flag+1; + } + /* Print it */ ++ flag = (option_mask32 & FLAG_z) ? '\0' : '\n'; + for (i = 0; i < linecount; i++) +- fprintf(outfile, "%s\n", lines[i]); ++ fprintf(outfile, "%s%c", lines[i], flag); + + fflush_stdout_and_exit(EXIT_SUCCESS); + } diff --git a/meta/packages/busybox/busybox-1.8.2/udhcpscript.patch b/meta/packages/busybox/busybox-1.9.1/udhcpscript.patch index fc21d440c..fc21d440c 100644 --- a/meta/packages/busybox/busybox-1.8.2/udhcpscript.patch +++ b/meta/packages/busybox/busybox-1.9.1/udhcpscript.patch diff --git a/meta/packages/busybox/busybox.inc b/meta/packages/busybox/busybox.inc index ab17d96db..0fb3b5eff 100644 --- a/meta/packages/busybox/busybox.inc +++ b/meta/packages/busybox/busybox.inc @@ -11,19 +11,21 @@ LICENSE = "GPL" SECTION = "base" PRIORITY = "required" -SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \ - file://busybox-cron \ - file://busybox-httpd \ - file://busybox-udhcpd \ - file://default.script \ - file://dhcp-hostname.patch;patch=1 \ - file://hwclock.sh \ - file://ifupdown-spurious-environ.patch;patch=1 \ - file://mount.busybox \ - file://syslog \ - file://syslog.conf \ - file://udhcpscript.patch;patch=1 \ - file://umount.busybox" +SRC_URI = "\ + http://www.busybox.net/downloads/busybox-${PV}.tar.gz \ + file://busybox-cron \ + file://busybox-httpd \ + file://busybox-udhcpd \ + file://default.script \ + file://dhcp-hostname.patch;patch=1 \ + file://hwclock.sh \ + file://ifupdown-spurious-environ.patch;patch=1 \ + file://mount.busybox \ + file://syslog \ + file://syslog.conf \ + file://udhcpscript.patch;patch=1 \ + file://umount.busybox \ +" SRC_URI_append_nylon = " file://xargs-double-size.patch;patch=1" @@ -34,7 +36,7 @@ PACKAGES =+ "${PN}-httpd ${PN}-udhcpd" FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www" FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd" -FILES_${PN} += " ${datadir}/udhcpc" +FILES_${PN} += "${datadir}/udhcpc" INITSCRIPT_PACKAGES = "${PN} ${PN}-httpd ${PN}-udhcpd" INITSCRIPT_NAME_${PN}-httpd = "busybox-httpd" @@ -47,11 +49,73 @@ INITSCRIPT_PARAMS_${PN}_slugos = "start 20 ." inherit cml1 update-rc.d -do_compile () { - unset CFLAGS +do_compile() { + unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS base_do_compile } +do_install () { + unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS + install -d ${D}${sysconfdir}/init.d + oe_runmake "PREFIX=${D}" install + cp -pPR ${S}/_install/* ${D}/ + + # Move everything to /busybox (not supposed to end up in any package) + install -d ${D}/busybox + ls ${D} -R + + cp -dPr ${D}${base_bindir} ${D}${base_sbindir} ${D}${prefix} ${D}/busybox/ + # Move the busybox binary back to /bin + install -d ${D}${base_bindir} + mv ${D}/busybox${base_bindir}/busybox ${D}${base_bindir}/ + # Move back the sh symlink + test -h ${D}/busybox${base_bindir}/sh && mv ${D}/busybox${base_bindir}/sh ${D}${base_bindir}/ + + install -m 0755 ${WORKDIR}/syslog ${D}${sysconfdir}/init.d/ + install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/ + if grep "CONFIG_CROND=y" ${WORKDIR}/defconfig; then + # Move crond back to /usr/sbin/crond + install -d ${D}${sbindir} + mv ${D}/busybox${sbindir}/crond ${D}${sbindir}/ + + install -m 0755 ${WORKDIR}/busybox-cron ${D}${sysconfdir}/init.d/ + fi + if grep "CONFIG_HTTPD=y" ${WORKDIR}/defconfig; then + # Move httpd back to /usr/sbin/httpd + install -d ${D}${sbindir} + mv ${D}/busybox${sbindir}/httpd ${D}${sbindir}/ + + install -m 0755 ${WORKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/ + install -d ${D}/srv/www + fi + if grep "CONFIG_APP_UDHCPD=y" ${WORKDIR}/defconfig; then + # Move udhcpd back to /usr/sbin/udhcpd + install -d ${D}${sbindir} + mv ${D}/busybox${sbindir}/udhcpd ${D}${sbindir}/ + + install -m 0755 ${WORKDIR}/busybox-udhcpd ${D}${sysconfdir}/init.d/ + fi + if grep "CONFIG_HWCLOCK=y" ${WORKDIR}/defconfig; then + # Move hwclock back to /sbin/hwclock + install -d ${D}${base_sbindir} + mv ${D}/busybox${base_sbindir}/hwclock ${D}${base_sbindir}/ + + install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/ + fi + if grep "CONFIG_APP_UDHCPC=y" ${WORKDIR}/defconfig; then + # Move dhcpc back to /usr/sbin/udhcpc + install -d ${D}${base_sbindir} + mv ${D}/busybox${base_sbindir}/udhcpc ${D}${base_sbindir}/ + + install -d ${D}${sysconfdir}/udhcpc.d + install -d ${D}${datadir}/udhcpc + install -m 0755 ${S}/examples/udhcp/simple.script ${D}${sysconfdir}/udhcpc.d/50default + install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script + fi + + install -m 0644 ${S}/busybox.links ${D}${sysconfdir} +} + pkg_postinst_${PN} () { # If we are not making an image we create links for the utilities that doesn't exist # so the update-alternatives script will get the utilities it needs @@ -62,3 +126,34 @@ pkg_postinst_${PN} () { # This adds the links, remember that this has to work when building an image too, hence the $D while read link; do case "$link" in /*/*/*) to="../../bin/busybox";; /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; bn=`basename $link`; update-alternatives --install $link $bn $to 50; done <$D/etc/busybox.links } + +pkg_prerm_${PN} () { + # This is so you can make busybox commit suicide - removing busybox with no other packages + # providing its files, this will make update-alternatives work, but the update-rc.d part + # for syslog, httpd and/or udhcpd will fail if there is no other package providing sh + tmpdir=`mktemp -d /tmp/busyboxrm-XXXXXX` + ln -s /bin/busybox $tmpdir/[ + ln -s /bin/busybox $tmpdir/test + ln -s /bin/busybox $tmpdir/head + ln -s /bin/busybox $tmpdir/sh + ln -s /bin/busybox $tmpdir/basename + ln -s /bin/busybox $tmpdir/echo + ln -s /bin/busybox $tmpdir/mv + ln -s /bin/busybox $tmpdir/ln + ln -s /bin/busybox $tmpdir/dirname + ln -s /bin/busybox $tmpdir/rm + ln -s /bin/busybox $tmpdir/sed + ln -s /bin/busybox $tmpdir/sort + export PATH=$PATH:$tmpdir + + while read link + do + case "$link" in + /*/*/*) to="../../bin/busybox";; + /bin/*) to="busybox";; + /*/*) to="../bin/busybox";; + esac + bn=`basename $link` + sh /usr/bin/update-alternatives --remove $bn $to + done </etc/busybox.links +} diff --git a/meta/packages/busybox/busybox_1.8.2.bb b/meta/packages/busybox/busybox_1.8.2.bb deleted file mode 100644 index a1ed55a53..000000000 --- a/meta/packages/busybox/busybox_1.8.2.bb +++ /dev/null @@ -1,111 +0,0 @@ -require busybox.inc - -PR = "r2" - -SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \ - file://busybox-cron \ - file://busybox-httpd \ - file://busybox-udhcpd \ - file://default.script \ - file://hwclock.sh \ - file://mount.busybox \ - file://syslog \ - file://syslog.conf \ - file://udhcpscript.patch;patch=1 \ - file://umount.busybox \ - file://defconfig" - -EXTRA_OEMAKE_append = " V=1 ARCH=${TARGET_ARCH} CROSS_COMPILE=${TARGET_PREFIX}" - -do_configure () { - install -m 0644 ${WORKDIR}/defconfig ${S}/.config - cml1_do_configure -} - -do_compile () { - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - base_do_compile -} - -do_install () { - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - install -d ${D}${sysconfdir}/init.d - oe_runmake "PREFIX=${D}" install - cp -pPR ${S}/_install/* ${D}/ - - # Move everything to /busybox (not supposed to end up in any package) - install -d ${D}/busybox - ls ${D} -R - - cp -dPr ${D}${base_bindir} ${D}${base_sbindir} ${D}${prefix} ${D}/busybox/ - # Move the busybox binary back to /bin - install -d ${D}${base_bindir} - mv ${D}/busybox${base_bindir}/busybox ${D}${base_bindir}/ - # Move back the sh symlink - test -h ${D}/busybox${base_bindir}/sh && mv ${D}/busybox${base_bindir}/sh ${D}${base_bindir}/ - - install -m 0755 ${WORKDIR}/syslog ${D}${sysconfdir}/init.d/ - install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/ - if grep "CONFIG_CROND=y" ${WORKDIR}/defconfig; then - # Move crond back to /usr/sbin/crond - install -d ${D}${sbindir} - mv ${D}/busybox${sbindir}/crond ${D}${sbindir}/ - - install -m 0755 ${WORKDIR}/busybox-cron ${D}${sysconfdir}/init.d/ - fi - if grep "CONFIG_HTTPD=y" ${WORKDIR}/defconfig; then - # Move httpd back to /usr/sbin/httpd - install -d ${D}${sbindir} - mv ${D}/busybox${sbindir}/httpd ${D}${sbindir}/ - - install -m 0755 ${WORKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/ - install -d ${D}/srv/www - fi - if grep "CONFIG_APP_UDHCPD=y" ${WORKDIR}/defconfig; then - # Move udhcpd back to /usr/sbin/udhcpd - install -d ${D}${sbindir} - mv ${D}/busybox${sbindir}/udhcpd ${D}${sbindir}/ - - install -m 0755 ${WORKDIR}/busybox-udhcpd ${D}${sysconfdir}/init.d/ - fi - if grep "CONFIG_HWCLOCK=y" ${WORKDIR}/defconfig; then - # Move hwclock back to /sbin/hwclock - install -d ${D}${base_sbindir} - mv ${D}/busybox${base_sbindir}/hwclock ${D}${base_sbindir}/ - - install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/ - fi - if grep "CONFIG_APP_UDHCPC=y" ${WORKDIR}/defconfig; then - # Move dhcpc back to /usr/sbin/udhcpc - install -d ${D}${base_sbindir} - mv ${D}/busybox${base_sbindir}/udhcpc ${D}${base_sbindir}/ - - install -d ${D}${sysconfdir}/udhcpc.d - install -d ${D}${datadir}/udhcpc - install -m 0755 ${S}/examples/udhcp/simple.script ${D}${sysconfdir}/udhcpc.d/50default - install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script - fi - - install -m 0644 ${S}/busybox.links ${D}${sysconfdir} -} - -pkg_prerm_${PN} () { - # This is so you can make busybox commit suicide - removing busybox with no other packages - # providing its files, this will make update-alternatives work, but the update-rc.d part - # for syslog, httpd and/or udhcpd will fail if there is no other package providing sh - tmpdir=`mktemp -d /tmp/busyboxrm-XXXXXX` - ln -s /bin/busybox $tmpdir/[ - ln -s /bin/busybox $tmpdir/test - ln -s /bin/busybox $tmpdir/head - ln -s /bin/busybox $tmpdir/sh - ln -s /bin/busybox $tmpdir/basename - ln -s /bin/busybox $tmpdir/echo - ln -s /bin/busybox $tmpdir/mv - ln -s /bin/busybox $tmpdir/ln - ln -s /bin/busybox $tmpdir/dirname - ln -s /bin/busybox $tmpdir/rm - ln -s /bin/busybox $tmpdir/sed - ln -s /bin/busybox $tmpdir/sort - export PATH=$PATH:$tmpdir - while read link; do case "$link" in /*/*/*) to="../../bin/busybox";; /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; bn=`basename $link`; sh /usr/bin/update-alternatives --remove $bn $to; done </etc/busybox.links -} diff --git a/meta/packages/busybox/busybox_1.9.1.bb b/meta/packages/busybox/busybox_1.9.1.bb new file mode 100644 index 000000000..cec4af8d5 --- /dev/null +++ b/meta/packages/busybox/busybox_1.9.1.bb @@ -0,0 +1,25 @@ +require busybox.inc +PR = "r4" + +SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \ + http://busybox.net/downloads/fixes-1.9.1/busybox-1.9.1-lineedit.patch;patch=1 \ + file://udhcpscript.patch;patch=1 \ + file://adduser-longops.patch;patch=1 \ + file://sort-z-nul.patch;patch=1;status=upstream \ + file://busybox-cron \ + file://busybox-httpd \ + file://busybox-udhcpd \ + file://default.script \ + file://hwclock.sh \ + file://mount.busybox \ + file://syslog \ + file://syslog.conf \ + file://umount.busybox \ + file://defconfig" + +EXTRA_OEMAKE += "V=1 ARCH=${TARGET_ARCH} CROSS_COMPILE=${TARGET_PREFIX}" + +do_configure () { + install -m 0644 ${WORKDIR}/defconfig ${S}/.config + cml1_do_configure +} |