diff options
author | luigi <luigi@FreeBSD.org> | 2009-03-26 06:17:16 +0800 |
---|---|---|
committer | luigi <luigi@FreeBSD.org> | 2009-03-26 06:17:16 +0800 |
commit | 24365903915cc7e6e05722e09be524463d5a05a6 (patch) | |
tree | 98845339b9c23f67fe54ede0796ae0fbc8545bcf | |
parent | a3837ab4d8fc0fd4e36917a066a5bfc8b668c426 (diff) | |
download | freebsd-ports-gnome-24365903915cc7e6e05722e09be524463d5a05a6.tar.gz freebsd-ports-gnome-24365903915cc7e6e05722e09be524463d5a05a6.tar.zst freebsd-ports-gnome-24365903915cc7e6e05722e09be524463d5a05a6.zip |
busybox is a set of common utilities built as a single
crunched binary, and sometimes stripped down in features
to fit the needs of embedded systems.
WWW: http://www.busybox.net/
-rw-r--r-- | sysutils/busybox/Makefile | 31 | ||||
-rw-r--r-- | sysutils/busybox/distinfo | 3 | ||||
-rw-r--r-- | sysutils/busybox/files/patch-002 | 174 | ||||
-rw-r--r-- | sysutils/busybox/files/patch-networking | 51 | ||||
-rw-r--r-- | sysutils/busybox/pkg-descr | 5 |
5 files changed, 264 insertions, 0 deletions
diff --git a/sysutils/busybox/Makefile b/sysutils/busybox/Makefile new file mode 100644 index 000000000000..3b244b343173 --- /dev/null +++ b/sysutils/busybox/Makefile @@ -0,0 +1,31 @@ +# New ports collection makefile for: busybox +# Date created: Aug.18, 2008 +# Whom: luigi@FreeBSD.org +# +# Maintainers: Luigi Rizzo <luigi@FreeBSD.org> +# +# $FreeBSD$ +# + +PORTNAME= busybox +PORTVERSION= 1.11.1 +CATEGORIES= sysutils misc shells +MASTER_SITES= http://www.busybox.net/downloads/ \ + http://distfiles.gentoo.org/distfiles/ + +MAINTAINER= luigi@FreeBSD.org +COMMENT= Busybox for FreeBSD + +USE_BZIP2= yes +USE_GMAKE= yes + +PLIST_FILES= bin/busybox + +do-configure: + ${CP} ${FILESDIR}/data-.config ${WRKSRC}/.config + cd ${WRKSRC} && ${GMAKE} oldconfig + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin + +.include <bsd.port.mk> diff --git a/sysutils/busybox/distinfo b/sysutils/busybox/distinfo new file mode 100644 index 000000000000..8f867e4c80ac --- /dev/null +++ b/sysutils/busybox/distinfo @@ -0,0 +1,3 @@ +MD5 (busybox-1.11.1.tar.bz2) = c64bbb5c0c3e19f12892941a0ae86c48 +SHA256 (busybox-1.11.1.tar.bz2) = bf2fb5be14cb509af1153af15b8a14c143d61fc46fb50cfbcf3cf10764f3740f +SIZE (busybox-1.11.1.tar.bz2) = 1924234 diff --git a/sysutils/busybox/files/patch-002 b/sysutils/busybox/files/patch-002 new file mode 100644 index 000000000000..c2008d6e4ef2 --- /dev/null +++ b/sysutils/busybox/files/patch-002 @@ -0,0 +1,174 @@ +diff -ubwr ../../work.base/busybox-1.8.2/include/libbb.h ./include/libbb.h +--- ../../work.base/busybox-1.8.2/include/libbb.h 2007-11-10 02:40:53.000000000 +0100 ++++ ./include/libbb.h 2008-08-18 22:30:39.000000000 +0200 +@@ -31,7 +33,11 @@ + #include <sys/ioctl.h> + #include <sys/mman.h> + #include <sys/socket.h> ++#if defined __FreeBSD__ ++#include <netinet/in.h> ++#include <arpa/inet.h> ++#endif + #include <sys/stat.h> + #include <sys/time.h> + #include <sys/types.h> + #include <sys/wait.h> +@@ -90,1 +90,3 @@ ++#if !defined __FreeBSD__ + int setgroups(size_t n, const gid_t *groups); ++#endif +@@ -182,1 +182,3 @@ ++#if !defined __FreeBSD__ + char *dirname(char *path); ++#endif +diff -ubwr ../../work.base/busybox-1.8.2/include/platform.h ./include/platform.h +--- ../../work.base/busybox-1.8.2/include/platform.h 2007-11-10 02:40:53.000000000 +0100 ++++ ./include/platform.h 2008-08-18 22:30:39.000000000 +0200 +@@ -102,6 +102,14 @@ + # include <sex.h> + # define __BIG_ENDIAN__ (BYTE_ORDER == BIG_ENDIAN) + # define __BYTE_ORDER BYTE_ORDER ++#elif defined __FreeBSD__ ++char *strchrnul(const char *s, int c); ++# include <sys/resource.h> // rlimit ++# include <machine/endian.h> ++# define bswap_64 __bswap64 ++# define bswap_32 __bswap32 ++# define bswap_16 __bswap16 ++# define __BIG_ENDIAN__ (_BYTE_ORDER == _BIG_ENDIAN) + #elif !defined __APPLE__ + # include <byteswap.h> + # include <endian.h> +@@ -142,1 +145,1 @@ +-# ifndef __socklen_t_defined ++# if !defined(__socklen_t_defined) && !defined(_SOCKLEN_T_DECLARED) +@@ -168,2 +168,2 @@ +-#if (defined __digital__ && defined __unix__) || defined __APPLE__ ++#if (defined __digital__ && defined __unix__) || defined __APPLE__ || defined __FreeBSD__ + # undef HAVE_MNTENT_H +diff -ubwr ../../work.base/busybox-1.8.2/libbb/bb_askpass.c ./libbb/bb_askpass.c +--- ../../work.base/busybox-1.8.2/libbb/bb_askpass.c 2007-11-10 02:40:52.000000000 +0100 ++++ ./libbb/bb_askpass.c 2008-08-18 22:30:39.000000000 +0200 +@@ -35,6 +35,9 @@ + tcgetattr(STDIN_FILENO, &oldtio); + tcflush(STDIN_FILENO, TCIFLUSH); + tio = oldtio; ++#if !defined IUCLC ++#define IUCLC 0 ++#endif + tio.c_iflag &= ~(IUCLC|IXON|IXOFF|IXANY); + tio.c_lflag &= ~(ECHO|ECHOE|ECHOK|ECHONL|TOSTOP); + tcsetattr(STDIN_FILENO, TCSANOW, &tio); +diff -ubwr ../../work.base/busybox-1.8.2/libbb/lineedit.c ./libbb/lineedit.c +--- ../../work.base/busybox-1.8.2/libbb/lineedit.c 2007-11-10 02:40:52.000000000 +0100 ++++ ./libbb/lineedit.c 2008-08-18 22:30:39.000000000 +0200 +@@ -1213,3 +1213,4 @@ + #if ENABLE_FEATURE_GETUSERNAME_AND_HOMEDIR + static const char null_str[] ALIGN1 = ""; + #endif ++typedef void (*sighandler_t)(int signum); +diff -ubwr ../../work.base/busybox-1.8.2/libbb/makedev.c ./libbb/makedev.c +--- ../../work.base/busybox-1.8.2/libbb/makedev.c 2007-11-10 02:40:52.000000000 +0100 ++++ ./libbb/makedev.c 2008-08-18 22:30:39.000000000 +0200 +@@ -5,7 +5,7 @@ + * + * Licensed under GPL version 2, see file LICENSE in this tarball for details. + */ +- ++#if !defined __FreeBSD__ + /* We do not include libbb.h - #define makedev() is there! */ + #include <features.h> + #include <sys/sysmacros.h> +@@ -21,3 +21,4 @@ + return makedev(major, minor); + } + #endif ++#endif /* !__FreeBSD__ */ +diff -ubwr ../../work.base/busybox-1.8.2/libbb/match_fstype.c ./libbb/match_fstype.c +--- ../../work.base/busybox-1.8.2/libbb/match_fstype.c 2007-11-10 02:40:52.000000000 +0100 ++++ ./libbb/match_fstype.c 2008-08-18 22:30:39.000000000 +0200 +@@ -10,6 +10,7 @@ + * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. + */ + ++#if !defined __FreeBSD__ + #include "libbb.h" + + int match_fstype(const struct mntent *mt, const char *fstype) +@@ -42,3 +43,4 @@ + + return -(no + 1); + } ++#endif /* !__FreeBSD__ */ +diff -ubwr ../../work.base/busybox-1.8.2/libbb/xfuncs.c ./libbb/xfuncs.c +--- libbb/xfuncs.c.orig 2007-11-10 02:40:52.000000000 +0100 ++++ libbb/xfuncs.c 2008-08-19 14:08:54.000000000 +0200 +@@ -428,8 +428,9 @@ + long size; + + // If the ioctl works for this, return it. +- ++#if !defined __FreeBSD__ + if (ioctl(fd, BLKGETSIZE, &size) >= 0) return size*512; ++#endif + + // FIXME: explain why lseek(SEEK_END) is not used here! + +diff -ubwr ../../work.base/busybox-1.8.2/libbb/xfuncs_printf.c ./libbb/xfuncs_printf.c +--- libbb/xfuncs_printf.c 2007-11-10 02:40:52.000000000 +0100 ++++ libbb/xfuncs_printf.c 2008-08-19 14:08:54.000000000 +0200 +@@ -498,7 +499,7 @@ + return string_ptr; + } + +-#if 0 /* If we will ever meet a libc which hasn't [f]dprintf... */ ++#if defined(__FreeBSD__) /* If we will ever meet a libc which hasn't [f]dprintf... */ + int fdprintf(int fd, const char *format, ...) + { + va_list p; +@@ -529,6 +530,32 @@ + } + return r; + } ++ ++char *strchrnul(const char *s, int c) ++{ ++ char *r = strchr(s, c); ++ if (r == NULL) ++ r = (char *)s + strlen(s); ++ return r; ++} ++ ++void *memrchr(const void *s, int c, size_t n) ++{ ++ const char *p = s; ++ for (p += n - 1; p != s; p--) ++ if (*p == c) break; ++ return (*p == c ? p : NULL); ++} ++ ++size_t strnlen(const char *s, size_t maxlen) ++{ ++ size_t i; ++ for (i = 0; i < maxlen; i++) { ++ if (s[i] == '\0') ++ break; ++ } ++ return i; ++} + #endif + + // Die with an error message if we can't copy an entire FILE * to stdout, then +diff -ubwr ../../work.base/busybox-1.8.2/libpwdgrp/pwd_grp.c ./libpwdgrp/pwd_grp.c +--- ../../work.base/busybox-1.8.2/libpwdgrp/pwd_grp.c 2007-11-10 02:40:53.000000000 +0100 ++++ ./libpwdgrp/pwd_grp.c 2008-08-18 22:30:39.000000000 +0200 +@@ -19,7 +19,9 @@ + */ + + #include "libbb.h" ++#if !defined __FreeBSD__ + #include <features.h> ++#endif + #include <assert.h> + + #ifndef _PATH_SHADOW diff --git a/sysutils/busybox/files/patch-networking b/sysutils/busybox/files/patch-networking new file mode 100644 index 000000000000..60b1387cf31e --- /dev/null +++ b/sysutils/busybox/files/patch-networking @@ -0,0 +1,51 @@ +diff -ubwr ../../work.base/busybox-1.8.2/networking/telnetd.c networking/telnetd.c +--- ../../work.base/busybox-1.8.2/networking/telnetd.c 2007-11-10 02:54:22.000000000 +0100 ++++ networking/telnetd.c 2008-08-19 13:05:36.000000000 +0200 +@@ -297,6 +297,9 @@ + * cooked mode, and with XTABS CRMOD enabled (see tty(4)). */ + tcgetattr(0, &termbuf); + termbuf.c_lflag |= ECHO; /* if we use readline we dont want this */ ++#if defined (__FreeBSD__) && !defined(XTABS) ++#define XTABS OXTABS ++#endif + termbuf.c_oflag |= ONLCR | XTABS; + termbuf.c_iflag |= ICRNL; + termbuf.c_iflag &= ~IXOFF; +Only in networking/: telnetd.o +Only in networking/: tftp.o +diff -ubwr ../../work.base/busybox-1.8.2/networking/traceroute.c networking/traceroute.c +--- ../../work.base/busybox-1.8.2/networking/traceroute.c 2007-11-10 02:40:47.000000000 +0100 ++++ networking/traceroute.c 2008-08-19 13:08:50.000000000 +0200 +@@ -207,7 +207,18 @@ + //#undef CONFIG_FEATURE_TRACEROUTE_USE_ICMP + //#define CONFIG_FEATURE_TRACEROUTE_USE_ICMP + +- ++#if defined(__FreeBSD__) ++#include <sys/socket.h> ++#include <sys/types.h> ++#include <netinet/in_systm.h> ++struct udphdr { ++ u_short source; ++ u_short dest; ++ u_short len; ++ u_short check; ++}; ++#define _NETINET_UDP_H_ // prevent inclusion of the real thing ++#endif + #include <net/if.h> + #include <arpa/inet.h> + #include <netinet/in.h> +--- networking/nslookup.c.orig 2008-06-25 14:51:14.000000000 +0200 ++++ networking/nslookup.c 2008-08-19 17:05:31.000000000 +0200 +@@ -11,6 +11,10 @@ + * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. + */ + ++#if defined __FreeBSD__ ++#include <sys/types.h> ++#include <netinet/in.h> ++#endif + #include <resolv.h> + #include "libbb.h" + diff --git a/sysutils/busybox/pkg-descr b/sysutils/busybox/pkg-descr new file mode 100644 index 000000000000..5c35f87e6138 --- /dev/null +++ b/sysutils/busybox/pkg-descr @@ -0,0 +1,5 @@ +busybox is a set of common utilities built as a single +crunched binary, and sometimes stripped down in features +to fit the needs of embedded systems. + +WWW: http://www.busybox.net/ |