summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Config.in18
-rw-r--r--mk/image.mk43
-rw-r--r--mk/package.mk7
-rw-r--r--package/aircrack-ng/Makefile4
-rw-r--r--package/aircrack-ng/patches/patch-src_osdep_linux_c26
-rw-r--r--package/base-files/Makefile4
-rwxr-xr-xpackage/base-files/src/init1
-rw-r--r--package/bash/Makefile11
-rw-r--r--package/ca-certificates/Makefile22
-rw-r--r--package/ca-certificates/extra/cert.pem (renamed from package/ca-certificates/cert.pem)0
-rw-r--r--package/ca-certificates/extra/update-ca-certificates (renamed from package/ca-certificates/src/update-ca-certificates)0
-rw-r--r--package/dropbear/Makefile12
-rw-r--r--package/ethtool/Makefile4
-rw-r--r--package/findutils/Makefile3
-rw-r--r--package/gdb/Makefile2
-rw-r--r--package/hostapd/patches/001-fix-bssid-generation.patch141
-rw-r--r--package/oprofile/Makefile3
-rw-r--r--package/ppp/Makefile6
-rw-r--r--target/arm/Makefile2
-rw-r--r--target/avr32/Makefile2
-rw-r--r--target/cris/Makefile2
-rw-r--r--target/mips/Makefile2
-rw-r--r--target/native/Makefile2
-rw-r--r--target/ppc/Makefile2
-rw-r--r--target/ppc64/Makefile2
-rw-r--r--target/sh/Makefile2
-rw-r--r--target/sparc/Makefile2
-rw-r--r--target/sparc64/Makefile2
-rw-r--r--target/x86/Makefile2
-rw-r--r--target/x86_64/Makefile4
30 files changed, 273 insertions, 60 deletions
diff --git a/Config.in b/Config.in
index 1b3868d6b..8febb3313 100644
--- a/Config.in
+++ b/Config.in
@@ -45,9 +45,26 @@ endmenu
menu "Package selection"
depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_KERNEL && !ADK_CHOOSE_TARGET_SYSTEM
+config ADK_LEAVE_ETC_ALONE
+ boolean "do not install anything into /etc"
+ default n
+ help
+ Enabling this option will prevent the ADK from installing anything
+ into /etc. This is useful for highly customised setups with custom
+ base-files packages.
+
+ Package Makefiles can override this setting by passing "force_etc" to
+ the package-template. to a non-empty value. This is useful for
+ packages traditionally installing non-config stuff into /etc, like
+ e.g. ca-certificates.
+
+ Note that without further customisation, turning this option
+ on will almost certainly render the resulting system unusable.
+
config ADK_INSTALL_PACKAGE_INIT_SCRIPTS
boolean "ship custom init-scripts along with packages"
default y
+ depends on !ADK_LEAVE_ETC_ALONE
help
Turning this option to false will prevent the ADK from
installing init-scripts (i.e. files in /etc/init.d) for
@@ -59,6 +76,7 @@ config ADK_INSTALL_PACKAGE_INIT_SCRIPTS
config ADK_INSTALL_PACKAGE_NETWORK_SCRIPTS
boolean "ship custom network-scripts along with packages"
default y
+ depends on !ADK_LEAVE_ETC_ALONE
help
Turning this option to false will prevent the ADK from
installing network-scripts (i.e. files in /etc/network/) for
diff --git a/mk/image.mk b/mk/image.mk
index e6dd06a82..4ea8ab235 100644
--- a/mk/image.mk
+++ b/mk/image.mk
@@ -71,14 +71,12 @@ INITRAMFS= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}
ROOTFSSQUASHFS= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.img
ROOTFSTARBALL= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}+kernel.tar.gz
ROOTFSUSERTARBALL= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.tar.gz
-INITRAMFS_PIGGYBACK= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.cpio
else
TARGET_KERNEL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_FS}-kernel
INITRAMFS= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}
ROOTFSSQUASHFS= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.img
ROOTFSTARBALL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}+kernel.tar.gz
ROOTFSUSERTARBALL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.tar.gz
-INITRAMFS_PIGGYBACK= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.cpio
endif
${BIN_DIR}/${ROOTFSTARBALL}: ${TARGET_DIR} kernel-package
@@ -91,29 +89,38 @@ ${BIN_DIR}/${ROOTFSUSERTARBALL}: ${TARGET_DIR}
sed "s#\(.*\)#:0:0::::::\1#" | sort | \
${TOOLS_DIR}/cpio -o -Hustar -P | gzip -n9 >$@
-${BIN_DIR}/${INITRAMFS}: ${TARGET_DIR}
- cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | \
- sed "s#\(.*\)#:0:0::::::\1#" | sort | \
- ${TOOLS_DIR}/cpio -o -C512 -Hnewc -P | \
- xz -C crc32 >$@ 2>/dev/null
+${BIN_DIR}/${INITRAMFS}_list: ${TARGET_DIR}
+ sh ${LINUX_DIR}/scripts/gen_initramfs_list.sh -u squash -g squash \
+ ${TARGET_DIR}/ >$@
+ ( \
+ echo "nod /dev/console 0644 0 0 c 5 1"; \
+ echo "nod /dev/tty 0644 0 0 c 5 0"; \
+ for i in 0 1 2 3 4; do \
+ echo "nod /dev/tty$$i 0644 0 0 c 4 $i"; \
+ done \
+ echo "nod /dev/systty 0644 0 0 c 4 0"; \
+ echo "nod /dev/null 0644 0 0 c 1 3"; \
+ echo "nod /dev/ram 0655 0 0 b 1 1"; \
+ ) >>$@
-${BUILD_DIR}/${INITRAMFS_PIGGYBACK}: ${TARGET_DIR}
- ${SED} 's/.*CONFIG_(BLK_DEV_INITRD|INITRAMFS_SOURCE).*//' \
- ${LINUX_DIR}/.config
- echo "CONFIG_BLK_DEV_INITRD=y" >> ${LINUX_DIR}/.config
- echo 'CONFIG_INITRAMFS_SOURCE="${BUILD_DIR}/${INITRAMFS_PIGGYBACK}"' >> \
- ${LINUX_DIR}/.config
- cp $(TOPDIR)/scripts/dev.cpio $@
- cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | \
- sed "s#\(.*\)#:0:0::::::\1#" | sort | \
- ${TOOLS_DIR}/cpio -o -C512 -Hnewc -A -P -O $@ 2>/dev/null
+${BIN_DIR}/${INITRAMFS}: ${BIN_DIR}/${INITRAMFS}_list
+ sh ${LINUX_DIR}/usr/gen_init_cpio ${BIN_DIR}/${INITRAMFS}_list | \
+ gzip -9 -c >$@
${BUILD_DIR}/root.squashfs: ${TARGET_DIR}
${STAGING_HOST_DIR}/bin/mksquashfs ${TARGET_DIR} \
${BUILD_DIR}/root.squashfs \
-nopad -noappend -root-owned $(MAKE_TRACE)
-createinitramfs:
+createinitramfs: ${BIN_DIR}/${INITRAMFS}_list
+ ${SED} 's/.*CONFIG_(BLK_DEV_INITRD|INITRAMFS_SOURCE).*//' \
+ ${LINUX_DIR}/.config
+ ( \
+ echo "CONFIG_BLK_DEV_INITRD=y"; \
+ echo 'CONFIG_INITRAMFS_SOURCE="${BIN_DIR}/${INITRAMFS}_list"'; \
+ echo "CONFIG_INITRAMFS_COMPRESSION_GZIP=y"; \
+ ) >> ${LINUX_DIR}/.config
+
@-rm $(LINUX_DIR)/usr/initramfs_data.cpio* $(MAKE_TRACE)
echo N | \
$(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE="$(TARGET_CROSS)" \
diff --git a/mk/package.mk b/mk/package.mk
index 07f53aa34..e69b7866f 100644
--- a/mk/package.mk
+++ b/mk/package.mk
@@ -159,6 +159,9 @@ endif
ifeq ($(ADK_DEBUG_STRIP),y)
$${RSTRIP} $${IDIR_$(1)} $(MAKE_TRACE)
endif
+ifeq (${ADK_LEAVE_ETC_ALONE}$(filter force_etc,$(7)),y)
+ -rm -rf $${IDIR_$(1)}/etc
+else
ifeq (${ADK_INSTALL_PACKAGE_INIT_SCRIPTS},y)
@for file in $$$$(ls ./files/*.init 2>/dev/null); do \
fname=$$$$(echo $$$$file| sed -e "s#.*/##" -e "s#.init##"); \
@@ -172,6 +175,10 @@ ifeq (${ADK_INSTALL_PACKAGE_INIT_SCRIPTS},y)
chmod 0755 "$$$$script"; \
done
endif
+ifneq (${ADK_INSTALL_PACKAGE_NETWORK_SCRIPTS},y)
+ -rm -rf $${IDIR_$(1)}/etc/network
+endif
+endif
@mkdir -p $${PACKAGE_DIR} '$${STAGING_PKG_DIR}' \
'$${STAGING_DIR}/scripts'
ifeq (,$(filter noremove,$(7)))
diff --git a/package/aircrack-ng/Makefile b/package/aircrack-ng/Makefile
index 7bc5ec29e..76f536c68 100644
--- a/package/aircrack-ng/Makefile
+++ b/package/aircrack-ng/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= aircrack-ng
PKG_VERSION:= 1.1
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= f7a24ed8fad122c4187d06bfd6f998b4
PKG_DESCR:= set of tools for auditing wireless networks
PKG_SECTION:= wifi
@@ -13,6 +13,8 @@ PKG_DEPENDS:= libpthread libopenssl libpcap
PKG_BUILDDEP:= openssl libpcap
PKG_URL:= http://www.aircrack-ng.org/
PKG_SITES:= http://download.aircrack-ng.org/
+# do not build parallel, otherwise libosdep.a may not be ready when compiling airtun-ng
+PKG_NOPARALLEL:= 1
include $(TOPDIR)/mk/package.mk
diff --git a/package/aircrack-ng/patches/patch-src_osdep_linux_c b/package/aircrack-ng/patches/patch-src_osdep_linux_c
new file mode 100644
index 000000000..84b816e13
--- /dev/null
+++ b/package/aircrack-ng/patches/patch-src_osdep_linux_c
@@ -0,0 +1,26 @@
+ When search for wireless-tools, also check $PATH
+--- aircrack-ng-1.1.orig/src/osdep/linux.c 2009-07-25 03:48:40.000000000 +0200
++++ aircrack-ng-1.1/src/osdep/linux.c 2012-01-12 16:22:05.772390762 +0100
+@@ -244,6 +244,7 @@ static char * wiToolsPath(const char * t
+ "/usr/local/bin",
+ "/tmp"
+ };
++ char *envpath, *token;
+
+ nbelems = sizeof(paths) / sizeof(char *);
+
+@@ -254,6 +255,14 @@ static char * wiToolsPath(const char * t
+ return path;
+ }
+
++ /* search again in $PATH */
++ for (envpath = getenv("PATH"); ; envpath = NULL) {
++ if ((token = strtok(envpath, ":")) == NULL)
++ break;
++ if ((path = searchInside(token, tool)) != NULL)
++ return path;
++ }
++
+ return NULL;
+ }
+
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index cb2b2430b..d7a3f38ea 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -15,7 +15,7 @@ NO_DISTFILES:= 1
include $(TOPDIR)/mk/package.mk
-$(eval $(call PKG_template,BASE_FILES,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,BASE_FILES,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},force_etc))
CONFIG_STYLE:= manual
BUILD_STYLE:= manual
@@ -45,9 +45,7 @@ endif
mkdir -p $(IDIR_BASE_FILES)/usr/lib/ipkg/lists
mkdir -p $(IDIR_BASE_FILES)/etc/crontabs
mkdir -p $(IDIR_BASE_FILES)/{dev,boot,root,sys,proc,tmp,mnt}
-ifeq (${ADK_INSTALL_PACKAGE_NETWORK_SCRIPTS},y)
mkdir -p $(IDIR_BASE_FILES)/etc/network/{if-pre-up.d,if-up.d,if-down.d,if-post-down.d}
-endif
mkdir -p $(IDIR_BASE_FILES)/usr/{lib,bin}
chmod 755 $(IDIR_BASE_FILES)/lib/mdev/init
chmod 600 $(IDIR_BASE_FILES)/etc/shadow
diff --git a/package/base-files/src/init b/package/base-files/src/init
index 98d24c834..537a65352 100755
--- a/package/base-files/src/init
+++ b/package/base-files/src/init
@@ -14,7 +14,6 @@ mount -o remount,nosuid,size=128k,mode=0755 -t tmpfs mdev /dev
[ -d /dev/shm ] || mkdir /dev/shm
mount -o nosuid,noexec -t tmpfs tmpfs /dev/shm
mount -o nosuid,noexec -t devpts devpts /dev/pts
-exec 0<>/dev/console >&0 2>&0
echo >/dev/mdev.seq
echo "/sbin/mdev" >/proc/sys/kernel/hotplug
mdev -s
diff --git a/package/bash/Makefile b/package/bash/Makefile
index 7b3767db9..dc5c5b911 100644
--- a/package/bash/Makefile
+++ b/package/bash/Makefile
@@ -5,13 +5,19 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= bash
PKG_VERSION:= 4.2
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= 3fb927c7c33022f1c327f14a81c0d4b0
PKG_DESCR:= Bourne-Again SHell
PKG_SECTION:= shells
PKG_URL:= http://www.gnu.org/software/bash/
PKG_SITES:= http://ftp.gnu.org/gnu/bash/
+PKG_CHOICES_BASH:= WITH_CURSES WITH_TERMCAP
+PKGCD_WITH_CURSES:= use curses library instead of termcap
+PKGCS_WITH_CURSES:= libncurses
+PKGCB_WITH_CURSES:= ncurses
+PKGCD_WITH_TERMCAP:= use termcap library instead of curses
+
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,BASH,bash,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
@@ -22,6 +28,9 @@ CONFIGURE_ARGS+= --disable-rpath \
--cache-file=/dev/null \
--enable-job-control \
--enable-history
+ifneq (${ADK_PACKAGE_BASH_WITH_CURSES},)
+CONFIGURE_ARGS+= --with-curses
+endif
XAKE_FLAGS+= LIBS_FOR_BUILD=''
bash-install:
diff --git a/package/ca-certificates/Makefile b/package/ca-certificates/Makefile
index 60716f194..8c327aabd 100644
--- a/package/ca-certificates/Makefile
+++ b/package/ca-certificates/Makefile
@@ -20,22 +20,22 @@ PKGFD_SMALL:= Minimal set of CA certificates
include $(TOPDIR)/mk/package.mk
-$(eval $(call PKG_template,CA_CERTS,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,CA_CERTIFICATES,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},force_etc))
CONFIG_STYLE:= manual
post-install:
-ifeq (${ADK_PACKAGE_CA_CERTS_SMALL},n)
- $(INSTALL_DIR) $(IDIR_CA_CERTS)/{etc/ssl/certs,usr/share,usr/sbin}
- $(CP) $(WRKINST)/usr/share/ca-certificates $(IDIR_CA_CERTS)/usr/share/
- ( cd ${IDIR_CA_CERTS}/usr/share/ca-certificates && \
- ls */*.crt >${IDIR_CA_CERTS}/etc/ca-certificates.conf \
- )
- ${INSTALL_BIN} ./extra/update-ca-certificates ${IDIR_CA_CERTS}/usr/sbin/
- -DESTDIR=${IDIR_CA_CERTS} ${BASH} ./extra/update-ca-certificates
+ifeq (${ADK_PACKAGE_CA_CERTIFICATES_SMALL},y)
+ ${INSTALL_DIR} ${IDIR_CA_CERTIFICATES}/etc/ssl
+ ${INSTALL_DATA} ./extra/cert.pem ${IDIR_CA_CERTIFICATES}/etc/ssl/
else
- ${INSTALL_DIR} ${IDIR_CA_CERTS}/etc/ssl
- ${INSTALL_DATA} ./cert.pem ${IDIR_CA_CERTS}/etc/ssl/
+ $(INSTALL_DIR) $(IDIR_CA_CERTIFICATES)/{etc/ssl/certs,usr/share,usr/sbin}
+ $(CP) $(WRKINST)/usr/share/ca-certificates $(IDIR_CA_CERTIFICATES)/usr/share/
+ ( cd ${IDIR_CA_CERTIFICATES}/usr/share/ca-certificates && \
+ ls */*.crt >${IDIR_CA_CERTIFICATES}/etc/ca-certificates.conf \
+ )
+ ${INSTALL_BIN} ./extra/update-ca-certificates ${IDIR_CA_CERTIFICATES}/usr/sbin/
+ -DESTDIR=${IDIR_CA_CERTIFICATES} ${BASH} ./extra/update-ca-certificates
endif
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/ca-certificates/cert.pem b/package/ca-certificates/extra/cert.pem
index 345629503..345629503 100644
--- a/package/ca-certificates/cert.pem
+++ b/package/ca-certificates/extra/cert.pem
diff --git a/package/ca-certificates/src/update-ca-certificates b/package/ca-certificates/extra/update-ca-certificates
index c86f7676f..c86f7676f 100644
--- a/package/ca-certificates/src/update-ca-certificates
+++ b/package/ca-certificates/extra/update-ca-certificates
diff --git a/package/dropbear/Makefile b/package/dropbear/Makefile
index 07dc414b3..1fdab9501 100644
--- a/package/dropbear/Makefile
+++ b/package/dropbear/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= dropbear
PKG_VERSION:= 0.53.1
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= 6b8d901859d9b8a18e2f6bfe0a892a03
PKG_DESCR:= SSH 2 server/client designed for embedded systems
PKG_SECTION:= net/security
@@ -16,6 +16,9 @@ PKG_DFLT_DROPBEAR:= y if !ADK_TOOLCHAIN_ONLY
PKG_SUBPKGS:= DROPBEAR DBCONVERT
PKGSD_DBCONVERT:= Utility for converting SSH private keys
+PKG_FLAVOURS_DROPBEAR:= WITH_UTMP
+PKGFD_WITH_UTMP:= support writing /var/run/utmp
+
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,DROPBEAR,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
@@ -28,14 +31,17 @@ CONFIGURE_ARGS+= --disable-pam \
--enable-syslog \
--enable-shadow \
--disable-lastlog \
- --disable-utmp \
--disable-utmpx \
--disable-wtmp \
--disable-wtmpx \
--disable-loginfunc \
- --disable-pututline \
--disable-pututxline \
--disable-zlib
+ifeq (${ADK_PACKAGE_DROPBEAR_WITH_UTMP},)
+CONFIGURE_ARGS+= --disable-utmp --disable-pututline
+else
+CONFIGURE_ENV+= conf_utmp_location=/var/run/utmp
+endif
pre-configure:
$(SED) 's,^/\* #define PKG_MULTI.*,#define PKG_MULTI,g' $(WRKBUILD)/options.h
diff --git a/package/ethtool/Makefile b/package/ethtool/Makefile
index dd9aafb7d..f920293e9 100644
--- a/package/ethtool/Makefile
+++ b/package/ethtool/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= ethtool
-PKG_VERSION:= 6
+PKG_VERSION:= 2.6.36
PKG_RELEASE:= 1
-PKG_MD5SUM:= 3b721ec27f17ebf320ba8c505cf66d9c
+PKG_MD5SUM:= 3b2322695e9ee7bf447ebcdb85f93e83
PKG_DESCR:= Display or change ethernet card settings
PKG_SECTION:= net
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=gkernel/}
diff --git a/package/findutils/Makefile b/package/findutils/Makefile
index 0f905d67b..0651d91b3 100644
--- a/package/findutils/Makefile
+++ b/package/findutils/Makefile
@@ -21,7 +21,8 @@ include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,FINDUTILS,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,LOCATE,locate,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LOCATE},${PKG_SECTION}))
-CONFIGURE_ENV+= gl_cv_func_wcwidth_works=yes
+CONFIGURE_ENV+= gl_cv_func_wcwidth_works=yes \
+ ac_cv_func_working_mktime=yes
post-install:
$(INSTALL_DIR) $(IDIR_FINDUTILS)/usr/bin
diff --git a/package/gdb/Makefile b/package/gdb/Makefile
index 0d91b5600..223d603d8 100644
--- a/package/gdb/Makefile
+++ b/package/gdb/Makefile
@@ -33,5 +33,7 @@ pre-build:
post-install:
${INSTALL_DIR} ${IDIR_GDB}/usr/bin
${INSTALL_BIN} ${WRKINST}/usr/bin/gdb ${IDIR_GDB}/usr/bin/
+ # shipped libbfd conflicts with system wide one
+ rm -f ${WRKINST}/usr/lib/libbfd*
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/hostapd/patches/001-fix-bssid-generation.patch b/package/hostapd/patches/001-fix-bssid-generation.patch
new file mode 100644
index 000000000..ca328e5aa
--- /dev/null
+++ b/package/hostapd/patches/001-fix-bssid-generation.patch
@@ -0,0 +1,141 @@
+Modified algorithm for generating BSSIDs. Always set locally
+administered bit. Calculate the mask after calculating the
+BSSIDs. This eliminates the "Invalid BSSID mask" caused when
+addr & mask != addr.
+
+Signed-off-by: Bill Jordan <bjordan <at> rajant.com>
+---
+Taken from http://permalink.gmane.org/gmane.linux.drivers.hostap/22207
+---
+ src/ap/hostapd.c | 74 ++++++------------------------------------------------
+ 1 files changed, 8 insertions(+), 66 deletions(-)
+
+diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
+index f4517f8..1dc6b66 100644
+--- a/src/ap/hostapd.c
++++ b/src/ap/hostapd.c
+@@ -360,70 +360,26 @@ static int hostapd_validate_bssid_configuration(struct hostapd_iface *iface)
+ {
+ u8 mask[ETH_ALEN] = { 0 };
+ struct hostapd_data *hapd = iface->bss[0];
+- unsigned int i = iface->conf->num_bss, bits = 0, j;
++ unsigned int i, j;
+ int res;
+- int auto_addr = 0;
+
+ if (hostapd_drv_none(hapd))
+ return 0;
+
+ /* Generate BSSID mask that is large enough to cover the BSSIDs. */
+
+- /* Determine the bits necessary to cover the number of BSSIDs. */
+- for (i--; i; i >>= 1)
+- bits++;
+-
+ /* Determine the bits necessary to any configured BSSIDs,
+ if they are higher than the number of BSSIDs. */
+ for (j = 0; j < iface->conf->num_bss; j++) {
+- if (hostapd_mac_comp_empty(iface->conf->bss[j].bssid) == 0) {
+- if (j)
+- auto_addr++;
+- continue;
+- }
+-
+ for (i = 0; i < ETH_ALEN; i++) {
+ mask[i] |=
+- iface->conf->bss[j].bssid[i] ^
++ iface->bss[j]->conf->bssid[i] ^
+ hapd->own_addr[i];
+ }
+ }
+
+- if (!auto_addr)
+- goto skip_mask_ext;
+-
+- for (i = 0; i < ETH_ALEN && mask[i] == 0; i++)
+- ;
+- j = 0;
+- if (i < ETH_ALEN) {
+- j = (5 - i) * 8;
+-
+- while (mask[i] != 0) {
+- mask[i] >>= 1;
+- j++;
+- }
+- }
+-
+- if (bits < j)
+- bits = j;
+-
+- if (bits > 40) {
+- wpa_printf(MSG_ERROR, "Too many bits in the BSSID mask (%u)",
+- bits);
+- return -1;
+- }
+-
+- os_memset(mask, 0xff, ETH_ALEN);
+- j = bits / 8;
+- for (i = 5; i > 5 - j; i--)
+- mask[i] = 0;
+- j = bits % 8;
+- while (j--)
+- mask[i] <<= 1;
+-
+-skip_mask_ext:
+- wpa_printf(MSG_DEBUG, "BSS count %lu, BSSID mask " MACSTR " (%d bits)",
+- (unsigned long) iface->conf->num_bss, MAC2STR(mask), bits);
++ wpa_printf(MSG_DEBUG, "BSS count %lu, BSSID mask " MACSTR ,
++ (unsigned long) iface->conf->num_bss, MAC2STR(mask));
+
+ res = hostapd_valid_bss_mask(hapd, hapd->own_addr, mask);
+ if (res == 0)
+@@ -436,21 +392,6 @@ skip_mask_ext:
+ return -1;
+ }
+
+- if (!auto_addr)
+- return 0;
+-
+- for (i = 0; i < ETH_ALEN; i++) {
+- if ((hapd->own_addr[i] & mask[i]) != hapd->own_addr[i]) {
+- wpa_printf(MSG_ERROR, "Invalid BSSID mask " MACSTR
+- " for start address " MACSTR ".",
+- MAC2STR(mask), MAC2STR(hapd->own_addr));
+- wpa_printf(MSG_ERROR, "Start address must be the "
+- "first address in the block (i.e., addr "
+- "AND mask == addr).");
+- return -1;
+- }
+- }
+-
+ return 0;
+ }
+
+@@ -492,6 +433,7 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first)
+ if (!first) {
+ if (hostapd_mac_comp_empty(hapd->conf->bssid) == 0) {
+ /* Allocate the next available BSSID. */
++ hapd->own_addr[0] |= 2; /* locally administered address */
+ do {
+ inc_byte_array(hapd->own_addr, ETH_ALEN);
+ } while (mac_in_conf(hapd->iconf, hapd->own_addr));
+@@ -672,9 +614,6 @@ static int setup_interface(struct hostapd_iface *iface)
+ iface->bss[i]->drv_priv = hapd->drv_priv;
+ }
+
+- if (hostapd_validate_bssid_configuration(iface))
+- return -1;
+-
+ if (hapd->iconf->country[0] && hapd->iconf->country[1]) {
+ os_memcpy(country, hapd->iconf->country, 3);
+ country[3] = '\0';
+@@ -774,6 +713,9 @@ int hostapd_setup_interface_complete(struct hostapd_iface *iface, int err)
+ prev_addr = hapd->own_addr;
+ }
+
++ if (hostapd_validate_bssid_configuration(iface))
++ return -1;
++
+ hostapd_tx_queue_params(iface);
+
+ ap_list_init(iface);
diff --git a/package/oprofile/Makefile b/package/oprofile/Makefile
index e3ff2f6e7..c5dbef626 100644
--- a/package/oprofile/Makefile
+++ b/package/oprofile/Makefile
@@ -25,10 +25,11 @@ $(eval $(call PKG_template,OPROFILE,${PKG_NAME},$(PKG_VERSION)-${PKG_RELEASE},${
CONFIGURE_ARGS+= --with-kernel-support
post-install:
- $(INSTALL_DIR) $(IDIR_OPROFILE)/usr/bin
+ $(INSTALL_DIR) $(IDIR_OPROFILE)/usr/{bin,share}
$(INSTALL_BIN) $(WRKINST)/usr/bin/opcontrol $(IDIR_OPROFILE)/usr/bin/
$(INSTALL_BIN) $(WRKINST)/usr/bin/ophelp $(IDIR_OPROFILE)/usr/bin/
$(INSTALL_BIN) $(WRKINST)/usr/bin/opreport $(IDIR_OPROFILE)/usr/bin/
$(INSTALL_BIN) $(WRKINST)/usr/bin/oprofiled $(IDIR_OPROFILE)/usr/bin/
+ ${CP} ${WRKINST}/usr/share/oprofile ${IDIR_OPROFILE}/usr/share/
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/ppp/Makefile b/package/ppp/Makefile
index 250089b4b..2a71e5962 100644
--- a/package/ppp/Makefile
+++ b/package/ppp/Makefile
@@ -32,7 +32,7 @@ $(eval $(call PKG_template,PPP_MOD_PPPSTATS,ppp-mod-pppstats,${PKG_VERSION}-${PK
$(eval $(call PKG_template,PPP_MOD_PPPUMTS,ppp-mod-pppumts,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_PPP_MOD_PPPUMTS},${PKG_DESCR},${PKG_SECTION}))
CONFIG_STYLE:= minimal
-CONFIGURE_ARGS+= --system=Linux
+CONFIGURE_ARGS+= --system=Linux --prefix="/usr"
CONFIGURE_ENV+= UNAME_S="Linux"
TARGET_LDFLAGS+= -lcrypt
XAKE_FLAGS+= STAGING_TARGET_DIR=${STAGING_TARGET_DIR} \
@@ -57,11 +57,9 @@ post-install:
${INSTALL_BIN} ./files/pon ${IDIR_PPP}/usr/sbin/
${INSTALL_BIN} ./files/poff ${IDIR_PPP}/usr/sbin/
${INSTALL_DIR} ${IDIR_PPP}/etc/ppp/peers
-ifeq (${ADK_INSTALL_PACKAGE_NETWORK_SCRIPTS},y)
$(INSTALL_DIR) ${IDIR_PPP}/etc/network/if-pre-up.d
$(INSTALL_BIN) ./files/ppp.pre-up \
${IDIR_PPP}/etc/network/if-pre-up.d/05-ppp
-endif
ppp-mod-radius-install:
${INSTALL_DIR} ${IDIR_PPP_MOD_RADIUS}/etc/radiusclient
@@ -104,13 +102,11 @@ ppp-mod-pppumts-install:
${INSTALL_DIR} ${IDIR_PPP_MOD_PPPUMTS}/etc/ppp/templates
${INSTALL_DATA} ./files/etc/ppp/templates/umts \
${IDIR_PPP_MOD_PPPUMTS}/etc/ppp/templates/
-ifeq (${ADK_INSTALL_PACKAGE_NETWORK_SCRIPTS},y)
$(INSTALL_DIR) ${IDIR_PPP_MOD_PPPUMTS}/etc/network/if-pre-up.d
$(INSTALL_DIR) ${IDIR_PPP_MOD_PPPUMTS}/etc/network/if-post-down.d
$(INSTALL_BIN) ./files/hso.if-up \
${IDIR_PPP_MOD_PPPUMTS}/etc/network/if-pre-up.d/06-hso
$(INSTALL_BIN) ./files/hso.if-down \
${IDIR_PPP_MOD_PPPUMTS}/etc/network/if-post-down.d/06-hso
-endif
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/target/arm/Makefile b/target/arm/Makefile
index 9a0fb2459..0da655e9f 100644
--- a/target/arm/Makefile
+++ b/target/arm/Makefile
@@ -74,7 +74,7 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y)
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
-imageinstall: ${BUILD_DIR}/${INITRAMFS_PIGGYBACK} createinitramfs
+imageinstall: createinitramfs
@cp $(KERNEL) $(BIN_DIR)/$(TARGET_KERNEL)
@echo 'The kernel+initramfs file is: $(BIN_DIR)/${TARGET_KERNEL}'
ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y)
diff --git a/target/avr32/Makefile b/target/avr32/Makefile
index c1ba25591..f33b0d854 100644
--- a/target/avr32/Makefile
+++ b/target/avr32/Makefile
@@ -22,7 +22,7 @@ imageinstall: $(BIN_DIR)/$(INITRAMFS)
@echo 'The initramfs image is: ${BIN_DIR}/${INITRAMFS}'
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
-imageinstall: ${BUILD_DIR}/${INITRAMFS_PIGGYBACK} createinitramfs
+imageinstall: createinitramfs
@cp $(KERNEL) $(BIN_DIR)/${TARGET_KERNEL}
@echo 'The kernel+initramfs file is: $(BIN_DIR)/${TARGET_KERNEL}'
endif
diff --git a/target/cris/Makefile b/target/cris/Makefile
index 21cf33c85..34e5ce542 100644
--- a/target/cris/Makefile
+++ b/target/cris/Makefile
@@ -66,7 +66,7 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_CRIS),y)
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
-imageinstall: ${BUILD_DIR}/${INITRAMFS_PIGGYBACK} createinitramfs
+imageinstall: createinitramfs
@cp $(KERNEL) $(BIN_DIR)/${TARGET_KERNEL}
@echo 'The kernel+initramfs file is: $(BIN_DIR)/${TARGET_KERNEL}'
ifeq ($(ADK_TARGET_SYSTEM_QEMU_CRIS),y)
diff --git a/target/mips/Makefile b/target/mips/Makefile
index 215bb8e01..876c39352 100644
--- a/target/mips/Makefile
+++ b/target/mips/Makefile
@@ -131,7 +131,7 @@ ifneq ($(ADK_HARDWARE_QEMU),)
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
-imageinstall: ${BUILD_DIR}/${INITRAMFS_PIGGYBACK} createinitramfs
+imageinstall: createinitramfs
@cp $(KERNEL) $(BIN_DIR)/$(TARGET_KERNEL)
@echo 'The kernel+initramfs file is: $(BIN_DIR)/${TARGET_KERNEL}'
ifneq ($(ADK_HARDWARE_QEMU),)
diff --git a/target/native/Makefile b/target/native/Makefile
index a36e26bb8..7d267a292 100644
--- a/target/native/Makefile
+++ b/target/native/Makefile
@@ -21,7 +21,7 @@ imageinstall: $(BIN_DIR)/$(INITRAMFS)
@echo 'The initramfs image is: ${BIN_DIR}/${INITRAMFS}'
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
-imageinstall: ${BUILD_DIR}/${INITRAMFS_PIGGYBACK} createinitramfs
+imageinstall: createinitramfs
@cp $(KERNEL) $(BIN_DIR)/${TARGET_KERNEL}
@echo 'The kernel+initramfs file is: ${BIN_DIR}/${TARGET_KERNEL}'
endif
diff --git a/target/ppc/Makefile b/target/ppc/Makefile
index 47a4b7df1..bbf95008f 100644
--- a/target/ppc/Makefile
+++ b/target/ppc/Makefile
@@ -33,7 +33,7 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_PPC),y)
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
-imageinstall: ${BUILD_DIR}/${INITRAMFS_PIGGYBACK} createinitramfs
+imageinstall: createinitramfs
@cp $(KERNEL) $(BIN_DIR)/${TARGET_KERNEL}
@echo 'The kernel+initramfs file is: $(BIN_DIR)/${TARGET_KERNEL}'
ifeq ($(ADK_TARGET_SYSTEM_QEMU_PPC),y)
diff --git a/target/ppc64/Makefile b/target/ppc64/Makefile
index 0e9ac9547..7f84cbfe4 100644
--- a/target/ppc64/Makefile
+++ b/target/ppc64/Makefile
@@ -26,7 +26,7 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_PPC64),y)
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
-imageinstall: ${BUILD_DIR}/${INITRAMFS_PIGGYBACK} createinitramfs
+imageinstall: createinitramfs
@cp $(KERNEL) $(BIN_DIR)/${TARGET_KERNEL}
@echo 'The kernel+initramfs file is: $(BIN_DIR)/${TARGET_KERNEL}'
ifeq ($(ADK_TARGET_SYSTEM_QEMU_PPC64),y)
diff --git a/target/sh/Makefile b/target/sh/Makefile
index 63a237839..86570eaeb 100644
--- a/target/sh/Makefile
+++ b/target/sh/Makefile
@@ -26,7 +26,7 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_SH),y)
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
-imageinstall: ${BUILD_DIR}/${INITRAMFS_PIGGYBACK} createinitramfs
+imageinstall: createinitramfs
@cp $(KERNEL) $(BIN_DIR)/${TARGET_KERNEL}
@echo 'The kernel+initramfs file is: $(BIN_DIR)/${TARGET_KERNEL}'
ifeq ($(ADK_TARGET_SYSTEM_QEMU_SH),y)
diff --git a/target/sparc/Makefile b/target/sparc/Makefile
index 7a19300b4..010f6e3d7 100644
--- a/target/sparc/Makefile
+++ b/target/sparc/Makefile
@@ -32,7 +32,7 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_SPARC),y)
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
-imageinstall: ${BUILD_DIR}/${INITRAMFS_PIGGYBACK} createinitramfs
+imageinstall: createinitramfs
@cp $(KERNEL) $(BIN_DIR)/${TARGET_KERNEL}
@echo 'The kernel+initramfs file is: $(BIN_DIR)/${TARGET_KERNEL}'
ifeq ($(ADK_TARGET_SYSTEM_QEMU_SPARC),y)
diff --git a/target/sparc64/Makefile b/target/sparc64/Makefile
index d3d46d571..d61633f6a 100644
--- a/target/sparc64/Makefile
+++ b/target/sparc64/Makefile
@@ -32,7 +32,7 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_SPARC64),y)
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
-imageinstall: ${BUILD_DIR}/${INITRAMFS_PIGGYBACK} createinitramfs
+imageinstall: createinitramfs
@cp $(KERNEL) $(BIN_DIR)/${TARGET_KERNEL}
@echo 'The kernel+initramfs file is: $(BIN_DIR)/${TARGET_KERNEL}'
ifeq ($(ADK_TARGET_SYSTEM_QEMU_SPARC64),y)
diff --git a/target/x86/Makefile b/target/x86/Makefile
index dc17f0756..aa5bdc2d7 100644
--- a/target/x86/Makefile
+++ b/target/x86/Makefile
@@ -47,7 +47,7 @@ ifeq ($(ADK_HARDWARE_QEMU),y)
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
-imageinstall: ${BUILD_DIR}/${INITRAMFS_PIGGYBACK} createinitramfs
+imageinstall: createinitramfs
@cp $(KERNEL) $(BIN_DIR)/${TARGET_KERNEL}
@echo 'The kernel+initramfs file is: $(BIN_DIR)/${TARGET_KERNEL}'
ifeq ($(ADK_HARDWARE_QEMU),y)
diff --git a/target/x86_64/Makefile b/target/x86_64/Makefile
index 3361ed1cc..c5e488943 100644
--- a/target/x86_64/Makefile
+++ b/target/x86_64/Makefile
@@ -28,7 +28,7 @@ endif
ifeq ($(ADK_TARGET_FS),initramfs)
imageinstall: $(BIN_DIR)/$(INITRAMFS)
@cp $(KERNEL) $(BIN_DIR)/$(TARGET_KERNEL)
- @echo 'The kernel file is: $(BIN_DIR)/${TARGET_KERNEL}
+ @echo 'The kernel file is: $(BIN_DIR)/${TARGET_KERNEL}'
@echo 'The initramfs image is: ${BIN_DIR}/${INITRAMFS}'
ifeq ($(ADK_TARGET_SYSTEM_QEMU_X86_64),y)
@echo "Start qemu with following command line:"
@@ -36,7 +36,7 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_X86_64),y)
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
-imageinstall: ${BUILD_DIR}/${INITRAMFS_PIGGYBACK} createinitramfs
+imageinstall: createinitramfs
@cp $(KERNEL) $(BIN_DIR)/$(TARGET_KERNEL)
@echo 'The kernel file is: $(BIN_DIR)/${TARGET_KERNEL}'
ifeq ($(ADK_TARGET_SYSTEM_QEMU_X86_64),y)