summaryrefslogtreecommitdiffstats
path: root/meta/packages/busybox
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <hrw@openedhand.com>2007-10-22 14:56:31 +0000
committerMarcin Juszkiewicz <hrw@openedhand.com>2007-10-22 14:56:31 +0000
commit26b7ef0d11c053ca2a9aa2ba06d10c1ddddcb8ad (patch)
treefbbfe2d26a7000711e1f0a49aa340ee53817f8a2 /meta/packages/busybox
parent498b4f45da04cd17f91547fa1fe0f7f47a61917e (diff)
downloadpoky-26b7ef0d11c053ca2a9aa2ba06d10c1ddddcb8ad.tar.gz
busybox: added 1.7.2 from OE as non-default (Angstrom defconfig used)
run_parts.c is alternative implementation from BusyBox mailing list: http://www.busybox.net/lists/busybox/2007-September/028838.html (original one does not sorted entries before run == broken X11 session) Poky-image-sato with this version works on my c7x0. git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2949 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/busybox')
-rwxr-xr-xmeta/packages/busybox/busybox-1.7.2/busybox-mdev.sh69
-rw-r--r--meta/packages/busybox/busybox-1.7.2/defconfig753
-rw-r--r--meta/packages/busybox/busybox-1.7.2/run_parts.c174
-rw-r--r--meta/packages/busybox/busybox-1.7.2/udhcpscript.patch17
-rw-r--r--meta/packages/busybox/busybox.inc64
-rw-r--r--meta/packages/busybox/busybox_1.7.2.bb123
6 files changed, 1200 insertions, 0 deletions
diff --git a/meta/packages/busybox/busybox-1.7.2/busybox-mdev.sh b/meta/packages/busybox/busybox-1.7.2/busybox-mdev.sh
new file mode 100755
index 0000000000..9744322fa9
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.7.2/busybox-mdev.sh
@@ -0,0 +1,69 @@
1#!/bin/sh
2MDEV=/sbin/mdev
3DESC="Busybox mdev setup"
4
5# Complain if thing's aren't right
6if [ ! -e /proc/filesystems ]; then
7 echo "mdev requires a mounted procfs, not started."
8 exit 1
9fi
10
11if ! grep -q '[[:space:]]tmpfs$' /proc/filesystems; then
12 echo "mdev requires tmpfs support, not started."
13 exit 1
14fi
15
16if [ ! -d /sys/class/ ]; then
17 echo "mdev requires a mounted sysfs, not started."
18 exit 1
19fi
20
21if [ ! -e /proc/sys/kernel/hotplug ]; then
22 echo "mdev requires hotplug support, not started."
23 exit 1
24fi
25
26# We need to unmount /dev/pts/ and remount it later over the tmpfs
27if mountpoint -q /dev/pts/; then
28 umount -l /dev/pts/
29fi
30
31if mountpoint -q /dev/shm/; then
32 umount -l /dev/shm/
33fi
34
35# Create tmpfs for /dev
36echo "Creating tmpfs at /dev"
37mount -t tmpfs tmpfs /dev -o size=800k
38
39# Register mdev as hotplug event helper
40echo "$MDEV" > /proc/sys/kernel/hotplug
41
42# Populate /dev from /sys info
43echo "Populating /dev using mdev"
44$MDEV -s
45
46# Touch .udev to inform scripts that /dev needs no further setup
47touch /dev/.udev
48
49# Mount devpts
50TTYGRP=5
51TTYMODE=620
52mkdir -m 755 -p /dev/pts
53if [ ! -e /dev/ptmx ]; then
54 mknod -m 666 /dev/ptmx c 5 2
55fi
56mount -t devpts devpts /dev/pts -onoexec,nosuid,gid=$TTYGRP,mode=$TTYMODE
57
58# Make shm directory
59mkdir -m 755 -p /dev/shm
60
61# Make extraneous links
62ln -sf /proc/self/fd /dev/fd
63ln -sf /proc/self/fd/0 /dev/stdin
64ln -sf /proc/self/fd/1 /dev/stdout
65ln -sf /proc/self/fd/2 /dev/stderr
66ln -sf /proc/kcore /dev/core
67ln -sf /proc/asound/oss/sndstat /dev/sndstat
68
69exit 0
diff --git a/meta/packages/busybox/busybox-1.7.2/defconfig b/meta/packages/busybox/busybox-1.7.2/defconfig
new file mode 100644
index 0000000000..19cfafab2c
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.7.2/defconfig
@@ -0,0 +1,753 @@
1#
2# Automatically generated make config: don't edit
3# Busybox version: 1.7.2
4# Fri Oct 12 19:00:27 2007
5#
6CONFIG_HAVE_DOT_CONFIG=y
7
8#
9# Busybox Settings
10#
11
12#
13# General Configuration
14#
15# CONFIG_NITPICK is not set
16# CONFIG_DESKTOP is not set
17# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
18# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
19# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
20CONFIG_SHOW_USAGE=y
21# CONFIG_FEATURE_VERBOSE_USAGE is not set
22CONFIG_FEATURE_COMPRESS_USAGE=y
23# CONFIG_FEATURE_INSTALLER is not set
24CONFIG_LOCALE_SUPPORT=y
25CONFIG_GETOPT_LONG=y
26CONFIG_FEATURE_DEVPTS=y
27# CONFIG_FEATURE_CLEAN_UP is not set
28CONFIG_FEATURE_PIDFILE=y
29CONFIG_FEATURE_SUID=y
30CONFIG_FEATURE_SUID_CONFIG=y
31CONFIG_FEATURE_SUID_CONFIG_QUIET=y
32# CONFIG_SELINUX is not set
33# CONFIG_FEATURE_PREFER_APPLETS is not set
34CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
35CONFIG_FEATURE_SYSLOG=y
36CONFIG_FEATURE_HAVE_RPC=y
37
38#
39# Build Options
40#
41# CONFIG_STATIC is not set
42# CONFIG_BUILD_LIBBUSYBOX is not set
43# CONFIG_FEATURE_FULL_LIBBUSYBOX is not set
44# CONFIG_FEATURE_SHARED_BUSYBOX is not set
45CONFIG_LFS=y
46CONFIG_BUILD_AT_ONCE=y
47
48#
49# Debugging Options
50#
51# CONFIG_DEBUG is not set
52# CONFIG_WERROR is not set
53CONFIG_NO_DEBUG_LIB=y
54# CONFIG_DMALLOC is not set
55# CONFIG_EFENCE is not set
56# CONFIG_INCLUDE_SUSv2 is not set
57
58#
59# Installation Options
60#
61# CONFIG_INSTALL_NO_USR is not set
62CONFIG_INSTALL_APPLET_SYMLINKS=y
63# CONFIG_INSTALL_APPLET_HARDLINKS is not set
64# CONFIG_INSTALL_APPLET_DONT is not set
65CONFIG_PREFIX="./_install"
66
67#
68# Busybox Library Tuning
69#
70CONFIG_PASSWORD_MINLEN=6
71CONFIG_MD5_SIZE_VS_SPEED=2
72CONFIG_FEATURE_FAST_TOP=y
73# CONFIG_FEATURE_ETC_NETWORKS is not set
74CONFIG_FEATURE_EDITING=y
75CONFIG_FEATURE_EDITING_MAX_LEN=1024
76# CONFIG_FEATURE_EDITING_FANCY_KEYS is not set
77# CONFIG_FEATURE_EDITING_VI is not set
78CONFIG_FEATURE_EDITING_HISTORY=15
79CONFIG_FEATURE_EDITING_SAVEHISTORY=y
80CONFIG_FEATURE_TAB_COMPLETION=y
81CONFIG_FEATURE_USERNAME_COMPLETION=y
82CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
83CONFIG_MONOTONIC_SYSCALL=y
84CONFIG_IOCTL_HEX2STR_ERROR=y
85
86#
87# Applets
88#
89
90#
91# Archival Utilities
92#
93CONFIG_AR=y
94# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
95CONFIG_BUNZIP2=y
96CONFIG_CPIO=y
97# CONFIG_DPKG is not set
98# CONFIG_DPKG_DEB is not set
99# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
100CONFIG_GUNZIP=y
101# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
102CONFIG_GZIP=y
103# CONFIG_RPM2CPIO is not set
104# CONFIG_RPM is not set
105# CONFIG_FEATURE_RPM_BZ2 is not set
106CONFIG_TAR=y
107CONFIG_FEATURE_TAR_CREATE=y
108CONFIG_FEATURE_TAR_BZIP2=y
109# CONFIG_FEATURE_TAR_LZMA is not set
110CONFIG_FEATURE_TAR_FROM=y
111CONFIG_FEATURE_TAR_GZIP=y
112# CONFIG_FEATURE_TAR_COMPRESS is not set
113# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
114# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
115CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
116# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
117# CONFIG_UNCOMPRESS is not set
118# CONFIG_UNLZMA is not set
119# CONFIG_FEATURE_LZMA_FAST is not set
120CONFIG_UNZIP=y
121
122#
123# Common options for cpio and tar
124#
125# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
126# CONFIG_FEATURE_DEB_TAR_GZ is not set
127# CONFIG_FEATURE_DEB_TAR_BZ2 is not set
128# CONFIG_FEATURE_DEB_TAR_LZMA is not set
129
130#
131# Coreutils
132#
133CONFIG_BASENAME=y
134# CONFIG_CAL is not set
135CONFIG_CAT=y
136# CONFIG_CATV is not set
137CONFIG_CHGRP=y
138CONFIG_CHMOD=y
139CONFIG_CHOWN=y
140CONFIG_CHROOT=y
141# CONFIG_CKSUM is not set
142# CONFIG_COMM is not set
143CONFIG_CP=y
144CONFIG_CUT=y
145CONFIG_DATE=y
146# CONFIG_FEATURE_DATE_ISOFMT is not set
147CONFIG_DD=y
148CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
149# CONFIG_FEATURE_DD_IBS_OBS is not set
150CONFIG_DF=y
151CONFIG_DIRNAME=y
152# CONFIG_DOS2UNIX is not set
153# CONFIG_UNIX2DOS is not set
154CONFIG_DU=y
155CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
156CONFIG_ECHO=y
157CONFIG_FEATURE_FANCY_ECHO=y
158CONFIG_ENV=y
159CONFIG_FEATURE_ENV_LONG_OPTIONS=y
160# CONFIG_EXPAND is not set
161# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
162CONFIG_EXPR=y
163# CONFIG_EXPR_MATH_SUPPORT_64 is not set
164CONFIG_FALSE=y
165# CONFIG_FOLD is not set
166CONFIG_HEAD=y
167# CONFIG_FEATURE_FANCY_HEAD is not set
168# CONFIG_HOSTID is not set
169CONFIG_ID=y
170# CONFIG_INSTALL is not set
171# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
172# CONFIG_LENGTH is not set
173CONFIG_LN=y
174CONFIG_LOGNAME=y
175CONFIG_LS=y
176CONFIG_FEATURE_LS_FILETYPES=y
177CONFIG_FEATURE_LS_FOLLOWLINKS=y
178CONFIG_FEATURE_LS_RECURSIVE=y
179CONFIG_FEATURE_LS_SORTFILES=y
180CONFIG_FEATURE_LS_TIMESTAMPS=y
181CONFIG_FEATURE_LS_USERNAME=y
182CONFIG_FEATURE_LS_COLOR=y
183# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
184CONFIG_MD5SUM=y
185CONFIG_MKDIR=y
186CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
187CONFIG_MKFIFO=y
188CONFIG_MKNOD=y
189CONFIG_MV=y
190# CONFIG_FEATURE_MV_LONG_OPTIONS is not set
191# CONFIG_NICE is not set
192CONFIG_NOHUP=y
193CONFIG_OD=y
194# CONFIG_PRINTENV is not set
195CONFIG_PRINTF=y
196CONFIG_PWD=y
197CONFIG_READLINK=y
198CONFIG_FEATURE_READLINK_FOLLOW=y
199CONFIG_REALPATH=y
200CONFIG_RM=y
201CONFIG_RMDIR=y
202CONFIG_SEQ=y
203# CONFIG_SHA1SUM is not set
204CONFIG_SLEEP=y
205CONFIG_FEATURE_FANCY_SLEEP=y
206CONFIG_SORT=y
207CONFIG_FEATURE_SORT_BIG=y
208# CONFIG_SPLIT is not set
209# CONFIG_FEATURE_SPLIT_FANCY is not set
210# CONFIG_STAT is not set
211# CONFIG_FEATURE_STAT_FORMAT is not set
212CONFIG_STTY=y
213# CONFIG_SUM is not set
214CONFIG_SYNC=y
215CONFIG_TAIL=y
216CONFIG_FEATURE_FANCY_TAIL=y
217CONFIG_TEE=y
218# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
219CONFIG_TEST=y
220# CONFIG_FEATURE_TEST_64 is not set
221CONFIG_TOUCH=y
222CONFIG_TR=y
223CONFIG_FEATURE_TR_CLASSES=y
224# CONFIG_FEATURE_TR_EQUIV is not set
225CONFIG_TRUE=y
226CONFIG_TTY=y
227CONFIG_UNAME=y
228# CONFIG_UNEXPAND is not set
229# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
230CONFIG_UNIQ=y
231CONFIG_USLEEP=y
232# CONFIG_UUDECODE is not set
233# CONFIG_UUENCODE is not set
234CONFIG_WC=y
235# CONFIG_FEATURE_WC_LARGE is not set
236CONFIG_WHO=y
237CONFIG_WHOAMI=y
238CONFIG_YES=y
239
240#
241# Common options for cp and mv
242#
243# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
244
245#
246# Common options for ls, more and telnet
247#
248CONFIG_FEATURE_AUTOWIDTH=y
249
250#
251# Common options for df, du, ls
252#
253CONFIG_FEATURE_HUMAN_READABLE=y
254
255#
256# Common options for md5sum, sha1sum
257#
258CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
259
260#
261# Console Utilities
262#
263CONFIG_CHVT=y
264CONFIG_CLEAR=y
265CONFIG_DEALLOCVT=y
266CONFIG_DUMPKMAP=y
267CONFIG_LOADFONT=y
268CONFIG_LOADKMAP=y
269CONFIG_OPENVT=y
270CONFIG_RESET=y
271# CONFIG_RESIZE is not set
272# CONFIG_FEATURE_RESIZE_PRINT is not set
273CONFIG_SETCONSOLE=y
274# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
275# CONFIG_SETKEYCODES is not set
276# CONFIG_SETLOGCONS is not set
277
278#
279# Debian Utilities
280#
281CONFIG_MKTEMP=y
282# CONFIG_PIPE_PROGRESS is not set
283CONFIG_RUN_PARTS=y
284# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
285# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
286CONFIG_START_STOP_DAEMON=y
287CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
288CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
289CONFIG_WHICH=y
290
291#
292# Editors
293#
294CONFIG_AWK=y
295CONFIG_FEATURE_AWK_MATH=y
296# CONFIG_CMP is not set
297CONFIG_DIFF=y
298CONFIG_FEATURE_DIFF_BINARY=y
299CONFIG_FEATURE_DIFF_DIR=y
300# CONFIG_FEATURE_DIFF_MINIMAL is not set
301# CONFIG_ED is not set
302CONFIG_PATCH=y
303CONFIG_SED=y
304CONFIG_VI=y
305CONFIG_FEATURE_VI_MAX_LEN=1024
306CONFIG_FEATURE_VI_COLON=y
307CONFIG_FEATURE_VI_YANKMARK=y
308CONFIG_FEATURE_VI_SEARCH=y
309CONFIG_FEATURE_VI_USE_SIGNALS=y
310# CONFIG_FEATURE_VI_DOT_CMD is not set
311# CONFIG_FEATURE_VI_READONLY is not set
312# CONFIG_FEATURE_VI_SETOPTS is not set
313# CONFIG_FEATURE_VI_SET is not set
314CONFIG_FEATURE_VI_WIN_RESIZE=y
315CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
316CONFIG_FEATURE_ALLOW_EXEC=y
317
318#
319# Finding Utilities
320#
321CONFIG_FIND=y
322CONFIG_FEATURE_FIND_PRINT0=y
323CONFIG_FEATURE_FIND_MTIME=y
324CONFIG_FEATURE_FIND_MMIN=y
325CONFIG_FEATURE_FIND_PERM=y
326CONFIG_FEATURE_FIND_TYPE=y
327CONFIG_FEATURE_FIND_XDEV=y
328CONFIG_FEATURE_FIND_MAXDEPTH=y
329CONFIG_FEATURE_FIND_NEWER=y
330# CONFIG_FEATURE_FIND_INUM is not set
331CONFIG_FEATURE_FIND_EXEC=y
332CONFIG_FEATURE_FIND_USER=y
333CONFIG_FEATURE_FIND_GROUP=y
334CONFIG_FEATURE_FIND_NOT=y
335CONFIG_FEATURE_FIND_DEPTH=y
336CONFIG_FEATURE_FIND_PAREN=y
337CONFIG_FEATURE_FIND_SIZE=y
338CONFIG_FEATURE_FIND_PRUNE=y
339# CONFIG_FEATURE_FIND_DELETE is not set
340CONFIG_FEATURE_FIND_PATH=y
341CONFIG_FEATURE_FIND_REGEX=y
342# CONFIG_FEATURE_FIND_CONTEXT is not set
343CONFIG_GREP=y
344CONFIG_FEATURE_GREP_EGREP_ALIAS=y
345CONFIG_FEATURE_GREP_FGREP_ALIAS=y
346CONFIG_FEATURE_GREP_CONTEXT=y
347CONFIG_XARGS=y
348# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
349# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
350# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
351# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
352
353#
354# Init Utilities
355#
356# CONFIG_INIT is not set
357# CONFIG_DEBUG_INIT is not set
358# CONFIG_FEATURE_USE_INITTAB is not set
359# CONFIG_FEATURE_INIT_SCTTY is not set
360# CONFIG_FEATURE_INIT_SYSLOG is not set
361# CONFIG_FEATURE_EXTRA_QUIET is not set
362# CONFIG_FEATURE_INIT_COREDUMPS is not set
363# CONFIG_FEATURE_INITRD is not set
364# CONFIG_HALT is not set
365# CONFIG_MESG is not set
366
367#
368# Login/Password Management Utilities
369#
370# CONFIG_FEATURE_SHADOWPASSWDS is not set
371# CONFIG_USE_BB_SHADOW is not set
372# CONFIG_USE_BB_PWD_GRP is not set
373# CONFIG_ADDGROUP is not set
374# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
375# CONFIG_DELGROUP is not set
376# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set
377# CONFIG_ADDUSER is not set
378# CONFIG_DELUSER is not set
379# CONFIG_GETTY is not set
380CONFIG_FEATURE_UTMP=y
381# CONFIG_FEATURE_WTMP is not set
382# CONFIG_LOGIN is not set
383# CONFIG_PAM is not set
384# CONFIG_LOGIN_SCRIPTS is not set
385# CONFIG_FEATURE_NOLOGIN is not set
386# CONFIG_FEATURE_SECURETTY is not set
387# CONFIG_PASSWD is not set
388# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
389# CONFIG_CRYPTPW is not set
390# CONFIG_CHPASSWD is not set
391# CONFIG_SU is not set
392# CONFIG_FEATURE_SU_SYSLOG is not set
393# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
394# CONFIG_SULOGIN is not set
395# CONFIG_VLOCK is not set
396
397#
398# Linux Ext2 FS Progs
399#
400CONFIG_CHATTR=y
401CONFIG_FSCK=y
402# CONFIG_LSATTR is not set
403
404#
405# Linux Module Utilities
406#
407CONFIG_INSMOD=y
408# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
409# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
410# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
411# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
412# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
413CONFIG_RMMOD=y
414CONFIG_LSMOD=y
415# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
416CONFIG_MODPROBE=y
417CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS=y
418CONFIG_FEATURE_MODPROBE_FANCY_ALIAS=y
419
420#
421# Options common to multiple modutils
422#
423CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
424# CONFIG_FEATURE_2_4_MODULES is not set
425CONFIG_FEATURE_2_6_MODULES=y
426# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
427
428#
429# Linux System Utilities
430#
431CONFIG_DMESG=y
432CONFIG_FEATURE_DMESG_PRETTY=y
433CONFIG_FBSET=y
434CONFIG_FEATURE_FBSET_FANCY=y
435CONFIG_FEATURE_FBSET_READMODE=y
436# CONFIG_FDFLUSH is not set
437# CONFIG_FDFORMAT is not set
438CONFIG_FDISK=y
439CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
440CONFIG_FEATURE_FDISK_WRITABLE=y
441# CONFIG_FEATURE_AIX_LABEL is not set
442# CONFIG_FEATURE_SGI_LABEL is not set
443# CONFIG_FEATURE_SUN_LABEL is not set
444# CONFIG_FEATURE_OSF_LABEL is not set
445# CONFIG_FEATURE_FDISK_ADVANCED is not set
446# CONFIG_FREERAMDISK is not set
447CONFIG_FSCK_MINIX=y
448CONFIG_MKFS_MINIX=y
449
450#
451# Minix filesystem support
452#
453CONFIG_FEATURE_MINIX2=y
454# CONFIG_GETOPT is not set
455CONFIG_HEXDUMP=y
456CONFIG_HWCLOCK=y
457CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
458CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
459# CONFIG_IPCRM is not set
460# CONFIG_IPCS is not set
461CONFIG_LOSETUP=y
462# CONFIG_MDEV is not set
463# CONFIG_FEATURE_MDEV_CONF is not set
464# CONFIG_FEATURE_MDEV_EXEC is not set
465# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
466CONFIG_MKSWAP=y
467# CONFIG_FEATURE_MKSWAP_V0 is not set
468CONFIG_MORE=y
469CONFIG_FEATURE_USE_TERMIOS=y
470CONFIG_MOUNT=y
471CONFIG_FEATURE_MOUNT_NFS=y
472# CONFIG_FEATURE_MOUNT_CIFS is not set
473CONFIG_FEATURE_MOUNT_FLAGS=y
474CONFIG_FEATURE_MOUNT_FSTAB=y
475CONFIG_PIVOT_ROOT=y
476CONFIG_RDATE=y
477# CONFIG_READPROFILE is not set
478# CONFIG_SETARCH is not set
479CONFIG_SWAPONOFF=y
480CONFIG_SWITCH_ROOT=y
481CONFIG_UMOUNT=y
482# CONFIG_FEATURE_UMOUNT_ALL is not set
483
484#
485# Common options for mount/umount
486#
487CONFIG_FEATURE_MOUNT_LOOP=y
488# CONFIG_FEATURE_MTAB_SUPPORT is not set
489
490#
491# Miscellaneous Utilities
492#
493# CONFIG_ADJTIMEX is not set
494# CONFIG_BBCONFIG is not set
495# CONFIG_CHRT is not set
496# CONFIG_CROND is not set
497# CONFIG_DEBUG_CROND_OPTION is not set
498# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
499# CONFIG_CRONTAB is not set
500CONFIG_DC=y
501# CONFIG_DEVFSD is not set
502# CONFIG_DEVFSD_MODLOAD is not set
503# CONFIG_DEVFSD_FG_NP is not set
504# CONFIG_DEVFSD_VERBOSE is not set
505# CONFIG_FEATURE_DEVFS is not set
506# CONFIG_EJECT is not set
507# CONFIG_LAST is not set
508CONFIG_LESS=y
509CONFIG_FEATURE_LESS_MAXLINES=9999999
510CONFIG_FEATURE_LESS_BRACKETS=y
511CONFIG_FEATURE_LESS_FLAGS=y
512# CONFIG_FEATURE_LESS_FLAGCS is not set
513# CONFIG_FEATURE_LESS_MARKS is not set
514# CONFIG_FEATURE_LESS_REGEXP is not set
515# CONFIG_HDPARM is not set
516# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
517# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
518# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
519# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
520# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
521# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
522# CONFIG_MAKEDEVS is not set
523# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
524# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
525# CONFIG_MOUNTPOINT is not set
526# CONFIG_MT is not set
527# CONFIG_RAIDAUTORUN is not set
528# CONFIG_READAHEAD is not set
529# CONFIG_RUNLEVEL is not set
530# CONFIG_RX is not set
531CONFIG_STRINGS=y
532# CONFIG_SETSID is not set
533# CONFIG_TASKSET is not set
534# CONFIG_FEATURE_TASKSET_FANCY is not set
535CONFIG_TIME=y
536# CONFIG_TTYSIZE is not set
537# CONFIG_WATCHDOG is not set
538
539#
540# Networking Utilities
541#
542CONFIG_FEATURE_IPV6=y
543# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
544# CONFIG_ARP is not set
545# CONFIG_ARPING is not set
546# CONFIG_DNSD is not set
547# CONFIG_ETHER_WAKE is not set
548# CONFIG_FAKEIDENTD is not set
549# CONFIG_FTPGET is not set
550# CONFIG_FTPPUT is not set
551# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
552CONFIG_HOSTNAME=y
553# CONFIG_HTTPD is not set
554# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
555# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
556# CONFIG_FEATURE_HTTPD_SETUID is not set
557# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
558# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
559# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
560# CONFIG_FEATURE_HTTPD_CGI is not set
561# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
562# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
563# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
564# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
565CONFIG_IFCONFIG=y
566CONFIG_FEATURE_IFCONFIG_STATUS=y
567# CONFIG_FEATURE_IFCONFIG_SLIP is not set
568# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
569CONFIG_FEATURE_IFCONFIG_HW=y
570# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
571CONFIG_IFUPDOWN=y
572CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
573# CONFIG_FEATURE_IFUPDOWN_IP is not set
574# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
575CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN=y
576CONFIG_FEATURE_IFUPDOWN_IPV4=y
577CONFIG_FEATURE_IFUPDOWN_IPV6=y
578CONFIG_FEATURE_IFUPDOWN_MAPPING=y
579# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
580# CONFIG_INETD is not set
581# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
582# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
583# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
584# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
585# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
586# CONFIG_FEATURE_INETD_RPC is not set
587CONFIG_IP=y
588CONFIG_FEATURE_IP_ADDRESS=y
589CONFIG_FEATURE_IP_LINK=y
590CONFIG_FEATURE_IP_ROUTE=y
591CONFIG_FEATURE_IP_TUNNEL=y
592# CONFIG_FEATURE_IP_RULE is not set
593# CONFIG_FEATURE_IP_SHORT_FORMS is not set
594# CONFIG_IPADDR is not set
595# CONFIG_IPLINK is not set
596# CONFIG_IPROUTE is not set
597# CONFIG_IPTUNNEL is not set
598# CONFIG_IPRULE is not set
599# CONFIG_IPCALC is not set
600# CONFIG_FEATURE_IPCALC_FANCY is not set
601# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
602# CONFIG_NAMEIF is not set
603CONFIG_NC=y
604# CONFIG_NC_SERVER is not set
605# CONFIG_NC_EXTRA is not set
606CONFIG_NETSTAT=y
607# CONFIG_FEATURE_NETSTAT_WIDE is not set
608CONFIG_NSLOOKUP=y
609CONFIG_PING=y
610CONFIG_PING6=y
611# CONFIG_PSCAN is not set
612CONFIG_FEATURE_FANCY_PING=y
613CONFIG_ROUTE=y
614# CONFIG_SLATTACH is not set
615CONFIG_TELNET=y
616# CONFIG_FEATURE_TELNET_TTYPE is not set
617CONFIG_FEATURE_TELNET_AUTOLOGIN=y
618# CONFIG_TELNETD is not set
619# CONFIG_FEATURE_TELNETD_STANDALONE is not set
620CONFIG_TFTP=y
621CONFIG_FEATURE_TFTP_GET=y
622CONFIG_FEATURE_TFTP_PUT=y
623# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
624# CONFIG_DEBUG_TFTP is not set
625CONFIG_TRACEROUTE=y
626# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
627# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
628# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
629CONFIG_APP_UDHCPD=y
630# CONFIG_APP_DHCPRELAY is not set
631CONFIG_APP_DUMPLEASES=y
632# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
633CONFIG_APP_UDHCPC=y
634# CONFIG_FEATURE_UDHCP_DEBUG is not set
635# CONFIG_FEATURE_RFC3397 is not set
636# CONFIG_VCONFIG is not set
637CONFIG_WGET=y
638CONFIG_FEATURE_WGET_STATUSBAR=y
639CONFIG_FEATURE_WGET_AUTHENTICATION=y
640CONFIG_FEATURE_WGET_LONG_OPTIONS=y
641# CONFIG_ZCIP is not set
642
643#
644# Process Utilities
645#
646CONFIG_FREE=y
647CONFIG_FUSER=y
648CONFIG_KILL=y
649CONFIG_KILLALL=y
650# CONFIG_KILLALL5 is not set
651# CONFIG_NMETER is not set
652CONFIG_PIDOF=y
653# CONFIG_FEATURE_PIDOF_SINGLE is not set
654# CONFIG_FEATURE_PIDOF_OMIT is not set
655CONFIG_PS=y
656CONFIG_FEATURE_PS_WIDE=y
657CONFIG_RENICE=y
658CONFIG_BB_SYSCTL=y
659CONFIG_TOP=y
660CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
661CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
662# CONFIG_FEATURE_TOP_DECIMALS is not set
663CONFIG_UPTIME=y
664CONFIG_WATCH=y
665
666#
667# Shells
668#
669CONFIG_FEATURE_SH_IS_ASH=y
670# CONFIG_FEATURE_SH_IS_HUSH is not set
671# CONFIG_FEATURE_SH_IS_LASH is not set
672# CONFIG_FEATURE_SH_IS_MSH is not set
673# CONFIG_FEATURE_SH_IS_NONE is not set
674CONFIG_ASH=y
675
676#
677# Ash Shell Options
678#
679CONFIG_ASH_JOB_CONTROL=y
680# CONFIG_ASH_READ_NCHARS is not set
681# CONFIG_ASH_READ_TIMEOUT is not set
682CONFIG_ASH_ALIAS=y
683CONFIG_ASH_MATH_SUPPORT=y
684# CONFIG_ASH_MATH_SUPPORT_64 is not set
685CONFIG_ASH_GETOPTS=y
686# CONFIG_ASH_BUILTIN_ECHO is not set
687CONFIG_ASH_BUILTIN_TEST=y
688# CONFIG_ASH_CMDCMD is not set
689# CONFIG_ASH_MAIL is not set
690CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
691# CONFIG_ASH_RANDOM_SUPPORT is not set
692CONFIG_ASH_EXPAND_PRMT=y
693# CONFIG_HUSH is not set
694# CONFIG_HUSH_HELP is not set
695# CONFIG_HUSH_INTERACTIVE is not set
696# CONFIG_HUSH_JOB is not set
697# CONFIG_HUSH_TICK is not set
698# CONFIG_HUSH_IF is not set
699# CONFIG_HUSH_LOOPS is not set
700# CONFIG_LASH is not set
701# CONFIG_MSH is not set
702
703#
704# Bourne Shell Options
705#
706CONFIG_FEATURE_SH_EXTRA_QUIET=y
707# CONFIG_FEATURE_SH_STANDALONE is not set
708# CONFIG_CTTYHACK is not set
709
710#
711# System Logging Utilities
712#
713CONFIG_SYSLOGD=y
714CONFIG_FEATURE_ROTATE_LOGFILE=y
715CONFIG_FEATURE_REMOTE_LOG=y
716CONFIG_FEATURE_IPC_SYSLOG=y
717CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
718CONFIG_LOGREAD=y
719CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
720CONFIG_KLOGD=y
721CONFIG_LOGGER=y
722
723#
724# Runit Utilities
725#
726# CONFIG_RUNSV is not set
727# CONFIG_RUNSVDIR is not set
728# CONFIG_SV is not set
729# CONFIG_SVLOGD is not set
730# CONFIG_CHPST is not set
731# CONFIG_SETUIDGID is not set
732# CONFIG_ENVUIDGID is not set
733# CONFIG_ENVDIR is not set
734# CONFIG_SOFTLIMIT is not set
735# CONFIG_CHCON is not set
736# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
737# CONFIG_GETENFORCE is not set
738# CONFIG_GETSEBOOL is not set
739# CONFIG_LOAD_POLICY is not set
740# CONFIG_MATCHPATHCON is not set
741# CONFIG_RESTORECON is not set
742# CONFIG_RUNCON is not set
743# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
744# CONFIG_SELINUXENABLED is not set
745# CONFIG_SETENFORCE is not set
746# CONFIG_SETFILES is not set
747# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
748
749#
750# ipsvd utilities
751#
752# CONFIG_TCPSVD is not set
753# CONFIG_UDPSVD is not set
diff --git a/meta/packages/busybox/busybox-1.7.2/run_parts.c b/meta/packages/busybox/busybox-1.7.2/run_parts.c
new file mode 100644
index 0000000000..56f70c6eea
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.7.2/run_parts.c
@@ -0,0 +1,174 @@
1/* vi: set sw=4 ts=4: */
2/*
3 * Mini run-parts implementation for busybox
4 *
5 * Copyright (C) 2007 Bernhard Fischer
6 *
7 * Based on a older version that was in busybox which was 1k big..
8 * Copyright (C) 2001 by Emanuele Aina <emanuele.aina@tiscali.it>
9 *
10 * Based on the Debian run-parts program, version 1.15
11 * Copyright (C) 1996 Jeff Noxon <jeff@router.patch.net>,
12 * Copyright (C) 1996-1999 Guy Maor <maor@debian.org>
13 *
14 *
15 * Licensed under GPL v2 or later, see file LICENSE in this tarball for details.
16 */
17
18/* This is my first attempt to write a program in C (well, this is my first
19 * attempt to write a program! :-) . */
20
21/* This piece of code is heavily based on the original version of run-parts,
22 * taken from debian-utils. I've only removed the long options and a the
23 * report mode. As the original run-parts support only long options, I've
24 * broken compatibility because the BusyBox policy doesn't allow them.
25 * The supported options are:
26 * -t test. Print the name of the files to be executed, without
27 * execute them.
28 * -a ARG argument. Pass ARG as an argument the program executed. It can
29 * be repeated to pass multiple arguments.
30 * -u MASK umask. Set the umask of the program executed to MASK.
31 */
32
33#include <getopt.h>
34
35#include "libbb.h"
36
37struct globals {
38 char **names;
39 int cur;
40 char *cmd[1];
41};
42#define G (*(struct globals*)&bb_common_bufsiz1)
43#define names (G.names)
44#define cur (G.cur )
45#define cmd (G.cmd )
46
47enum { NUM_CMD = (COMMON_BUFSIZE - sizeof(struct globals)) / sizeof(cmd[0]) };
48
49enum {
50 RUN_PARTS_OPT_a = (1 << 0),
51 RUN_PARTS_OPT_u = (1 << 1),
52 RUN_PARTS_OPT_t = (1 << 2),
53 RUN_PARTS_OPT_l = (1 << 3) * ENABLE_FEATURE_RUN_PARTS_FANCY,
54};
55
56#if ENABLE_FEATURE_RUN_PARTS_FANCY
57#define list_mode (option_mask32 & RUN_PARTS_OPT_l)
58#else
59#define list_mode 0
60#endif
61
62/* Is this a valid filename (upper/lower alpha, digits,
63 * underscores, and hyphens only?)
64 */
65static bool invalid_name(const char *c)
66{
67 c = bb_basename(c);
68
69 while (*c && (isalnum(*c) || *c == '_' || *c == '-'))
70 c++;
71
72 return *c; /* TRUE (!0) if terminating NUL is not reached */
73}
74
75static int bb_alphasort(const void *p1, const void *p2)
76{
77 return strcmp(*(char **) p1, *(char **) p2);
78}
79
80static int act(const char *file, struct stat *statbuf, void *args, int depth)
81{
82 if (depth == 1)
83 return TRUE;
84
85 if (depth == 2
86 && ( !(statbuf->st_mode & (S_IFREG | S_IFLNK))
87 || invalid_name(file)
88 || (!list_mode && access(file, X_OK) != 0))
89 ) {
90 return SKIP;
91 }
92
93 names = xrealloc(names, (cur + 2) * sizeof(names[0]));
94 names[cur++] = xstrdup(file);
95 names[cur] = NULL;
96
97 return TRUE;
98}
99
100#if ENABLE_FEATURE_RUN_PARTS_LONG_OPTIONS
101static const char runparts_longopts[] ALIGN1 =
102 "arg\0" Required_argument "a"
103 "umask\0" Required_argument "u"
104 "test\0" No_argument "t"
105#if ENABLE_FEATURE_RUN_PARTS_FANCY
106 "list\0" No_argument "l"
107//TODO: "reverse\0" No_argument "r"
108//TODO: "verbose\0" No_argument "v"
109#endif
110 ;
111#endif
112
113int run_parts_main(int argc, char **argv);
114int run_parts_main(int argc, char **argv)
115{
116 const char *umask_p = "22";
117 llist_t *arg_list = NULL;
118 unsigned n;
119 int ret;
120
121#if ENABLE_FEATURE_RUN_PARTS_LONG_OPTIONS
122 applet_long_options = runparts_longopts;
123#endif
124 /* We require exactly one argument: the directory name */
125 opt_complementary = "=1:a::";
126 getopt32(argv, "a:u:t"USE_FEATURE_RUN_PARTS_FANCY("l"), &arg_list, &umask_p);
127
128 umask(xstrtou_range(umask_p, 8, 0, 07777));
129
130 n = 1;
131 while (arg_list && n < NUM_CMD) {
132 cmd[n] = arg_list->data;
133 arg_list = arg_list->link;
134 n++;
135 }
136 /* cmd[n] = NULL; - is already zeroed out */
137
138 /* run-parts has to sort executables by name before running them */
139
140 recursive_action(argv[optind],
141 ACTION_RECURSE|ACTION_FOLLOWLINKS,
142 act, /* file action */
143 act, /* dir action */
144 NULL, /* user data */
145 1 /* depth */
146 );
147
148 if (!names)
149 return 0;
150
151 qsort(names, cur, sizeof(char *), bb_alphasort);
152
153 n = 0;
154 while (1) {
155 char *name = *names++;
156 if (!name)
157 break;
158 if (option_mask32 & (RUN_PARTS_OPT_t | RUN_PARTS_OPT_l)) {
159 puts(name);
160 continue;
161 }
162 cmd[0] = name;
163 ret = wait4pid(spawn(cmd));
164 if (ret == 0)
165 continue;
166 n = 1;
167 if (ret < 0)
168 bb_perror_msg("failed to exec %s", name);
169 else /* ret > 0 */
170 bb_error_msg("%s exited with return code %d", name, ret);
171 }
172
173 return n;
174}
diff --git a/meta/packages/busybox/busybox-1.7.2/udhcpscript.patch b/meta/packages/busybox/busybox-1.7.2/udhcpscript.patch
new file mode 100644
index 0000000000..fc21d440cd
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.7.2/udhcpscript.patch
@@ -0,0 +1,17 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6--- busybox-1.00-rc3/examples/udhcp/simple.script~udhcpscript
7+++ busybox-1.00-rc3/examples/udhcp/simple.script
8@@ -17,8 +17,7 @@
9 /sbin/ifconfig $interface $ip $BROADCAST $NETMASK
10
11 if [ -n "$router" ] ; then
12- echo "deleting routers"
13- while route del default gw 0.0.0.0 dev $interface ; do
14+ while route del default gw 0.0.0.0 dev $interface 2>/dev/null ; do
15 :
16 done
17
diff --git a/meta/packages/busybox/busybox.inc b/meta/packages/busybox/busybox.inc
new file mode 100644
index 0000000000..ab17d96db4
--- /dev/null
+++ b/meta/packages/busybox/busybox.inc
@@ -0,0 +1,64 @@
1DESCRIPTION = "BusyBox combines tiny versions of many common UNIX utilities into a single \
2small executable. It provides minimalist replacements for most of the \
3utilities you usually find in GNU fileutils, shellutils, etc. The utilities \
4in BusyBox generally have fewer options than their full-featured GNU \
5cousins; however, the options that are included provide the expected \
6functionality and behave very much like their GNU counterparts. BusyBox \
7provides a fairly complete POSIX environment for any small or embedded \
8system."
9HOMEPAGE = "http://www.busybox.net"
10LICENSE = "GPL"
11SECTION = "base"
12PRIORITY = "required"
13
14SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \
15 file://busybox-cron \
16 file://busybox-httpd \
17 file://busybox-udhcpd \
18 file://default.script \
19 file://dhcp-hostname.patch;patch=1 \
20 file://hwclock.sh \
21 file://ifupdown-spurious-environ.patch;patch=1 \
22 file://mount.busybox \
23 file://syslog \
24 file://syslog.conf \
25 file://udhcpscript.patch;patch=1 \
26 file://umount.busybox"
27
28SRC_URI_append_nylon = " file://xargs-double-size.patch;patch=1"
29
30export EXTRA_CFLAGS = "${CFLAGS}"
31EXTRA_OEMAKE_append = " CROSS=${HOST_PREFIX}"
32PACKAGES =+ "${PN}-httpd ${PN}-udhcpd"
33
34FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
35FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"
36
37FILES_${PN} += " ${datadir}/udhcpc"
38
39INITSCRIPT_PACKAGES = "${PN} ${PN}-httpd ${PN}-udhcpd"
40INITSCRIPT_NAME_${PN}-httpd = "busybox-httpd"
41INITSCRIPT_NAME_${PN}-udhcpd = "busybox-udhcpd"
42INITSCRIPT_NAME_${PN} = "syslog"
43CONFFILES_${PN} = "${sysconfdir}/syslog.conf"
44
45# This disables the syslog startup links in slugos (see slugos-init)
46INITSCRIPT_PARAMS_${PN}_slugos = "start 20 ."
47
48inherit cml1 update-rc.d
49
50do_compile () {
51 unset CFLAGS
52 base_do_compile
53}
54
55pkg_postinst_${PN} () {
56 # If we are not making an image we create links for the utilities that doesn't exist
57 # so the update-alternatives script will get the utilities it needs
58 # (update-alternatives have no problem replacing links later anyway)
59 test -n 2> /dev/null || alias test='busybox test'
60 if test "x$D" = "x"; then while read link; do if test ! -h "$link"; then case "$link" in /*/*/*) to="../../bin/busybox";; /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; busybox ln -s $to $link; fi; done </etc/busybox.links; fi
61
62 # This adds the links, remember that this has to work when building an image too, hence the $D
63 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
64}
diff --git a/meta/packages/busybox/busybox_1.7.2.bb b/meta/packages/busybox/busybox_1.7.2.bb
new file mode 100644
index 0000000000..e446a19d96
--- /dev/null
+++ b/meta/packages/busybox/busybox_1.7.2.bb
@@ -0,0 +1,123 @@
1require busybox.inc
2
3PR = "r2"
4
5DEFAULT_PREFERENCE = "-1"
6
7SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \
8 file://busybox-cron \
9 file://busybox-httpd \
10 file://busybox-udhcpd \
11 file://default.script \
12 file://hwclock.sh \
13 file://mount.busybox \
14 file://syslog \
15 file://syslog.conf \
16 file://udhcpscript.patch;patch=1 \
17 file://umount.busybox \
18 file://run_parts.c"
19
20
21SRC_URI += "http://busybox.net/downloads/fixes-1.7.2/busybox-1.7.2-ash.patch;patch=1 \
22 http://busybox.net/downloads/fixes-1.7.2/busybox-1.7.2-iptun.patch;patch=1 \
23 http://busybox.net/downloads/fixes-1.7.2/busybox-1.7.2-logger.patch;patch=1 \
24 http://busybox.net/downloads/fixes-1.7.2/busybox-1.7.2-tail.patch;patch=1 \
25 file://defconfig"
26
27EXTRA_OEMAKE_append = " V=1 ARCH=${TARGET_ARCH} CROSS_COMPILE=${TARGET_PREFIX}"
28
29do_configure () {
30 # default run-parts does not sort entries == X11 session broken
31 install -m 0644 ${WORKDIR}/run_parts.c ${S}/debianutils/
32
33 install -m 0644 ${WORKDIR}/defconfig ${S}/.config
34 cml1_do_configure
35}
36
37do_compile () {
38 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
39 base_do_compile
40}
41
42do_install () {
43 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
44 install -d ${D}${sysconfdir}/init.d
45 oe_runmake "PREFIX=${D}" install
46 cp -pPR ${S}/_install/* ${D}/
47
48 # Move everything to /busybox (not supposed to end up in any package)
49 install -d ${D}/busybox
50 ls ${D} -R
51
52 cp -dPr ${D}${base_bindir} ${D}${base_sbindir} ${D}${prefix} ${D}/busybox/
53 # Move the busybox binary back to /bin
54 install -d ${D}${base_bindir}
55 mv ${D}/busybox${base_bindir}/busybox ${D}${base_bindir}/
56 # Move back the sh symlink
57 test -h ${D}/busybox${base_bindir}/sh && mv ${D}/busybox${base_bindir}/sh ${D}${base_bindir}/
58
59 install -m 0755 ${WORKDIR}/syslog ${D}${sysconfdir}/init.d/
60 install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/
61 if grep "CONFIG_CROND=y" ${WORKDIR}/defconfig; then
62 # Move crond back to /usr/sbin/crond
63 install -d ${D}${sbindir}
64 mv ${D}/busybox${sbindir}/crond ${D}${sbindir}/
65
66 install -m 0755 ${WORKDIR}/busybox-cron ${D}${sysconfdir}/init.d/
67 fi
68 if grep "CONFIG_HTTPD=y" ${WORKDIR}/defconfig; then
69 # Move httpd back to /usr/sbin/httpd
70 install -d ${D}${sbindir}
71 mv ${D}/busybox${sbindir}/httpd ${D}${sbindir}/
72
73 install -m 0755 ${WORKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/
74 install -d ${D}/srv/www
75 fi
76 if grep "CONFIG_APP_UDHCPD=y" ${WORKDIR}/defconfig; then
77 # Move udhcpd back to /usr/sbin/udhcpd
78 install -d ${D}${sbindir}
79 mv ${D}/busybox${sbindir}/udhcpd ${D}${sbindir}/
80
81 install -m 0755 ${WORKDIR}/busybox-udhcpd ${D}${sysconfdir}/init.d/
82 fi
83 if grep "CONFIG_HWCLOCK=y" ${WORKDIR}/defconfig; then
84 # Move hwclock back to /sbin/hwclock
85 install -d ${D}${base_sbindir}
86 mv ${D}/busybox${base_sbindir}/hwclock ${D}${base_sbindir}/
87
88 install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/
89 fi
90 if grep "CONFIG_APP_UDHCPC=y" ${WORKDIR}/defconfig; then
91 # Move dhcpc back to /usr/sbin/udhcpc
92 install -d ${D}${base_sbindir}
93 mv ${D}/busybox${base_sbindir}/udhcpc ${D}${base_sbindir}/
94
95 install -d ${D}${sysconfdir}/udhcpc.d
96 install -d ${D}${datadir}/udhcpc
97 install -m 0755 ${S}/examples/udhcp/simple.script ${D}${sysconfdir}/udhcpc.d/50default
98 install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script
99 fi
100
101 install -m 0644 ${S}/busybox.links ${D}${sysconfdir}
102}
103
104pkg_prerm_${PN} () {
105 # This is so you can make busybox commit suicide - removing busybox with no other packages
106 # providing its files, this will make update-alternatives work, but the update-rc.d part
107 # for syslog, httpd and/or udhcpd will fail if there is no other package providing sh
108 tmpdir=`mktemp -d /tmp/busyboxrm-XXXXXX`
109 ln -s /bin/busybox $tmpdir/[
110 ln -s /bin/busybox $tmpdir/test
111 ln -s /bin/busybox $tmpdir/head
112 ln -s /bin/busybox $tmpdir/sh
113 ln -s /bin/busybox $tmpdir/basename
114 ln -s /bin/busybox $tmpdir/echo
115 ln -s /bin/busybox $tmpdir/mv
116 ln -s /bin/busybox $tmpdir/ln
117 ln -s /bin/busybox $tmpdir/dirname
118 ln -s /bin/busybox $tmpdir/rm
119 ln -s /bin/busybox $tmpdir/sed
120 ln -s /bin/busybox $tmpdir/sort
121 export PATH=$PATH:$tmpdir
122 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
123}