diff options
30 files changed, 273 insertions, 60 deletions
@@ -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) |