summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2012-09-03 19:33:25 (GMT)
committer Peter Korsgaard <jacmet@sunsite.dk>2012-09-03 19:59:03 (GMT)
commit32a0454d3c495b12824ef4a0d0341237302d148a (patch)
tree9acc870d089b0028cecdfb1846b828ae4bd38910
parentf9686563b4fd3eed22e26105f7c440f0b74fcac1 (diff)
parentdafa32b3bd75e9d155d075c796fa5b0ecbb9b11b (diff)
downloadbuildroot-32a0454d3c495b12824ef4a0d0341237302d148a.tar.gz
buildroot-32a0454d3c495b12824ef4a0d0341237302d148a.tar.bz2
Merge branch 'next'
Conflicts: package/e2fsprogs/e2fsprogs.mk package/libfuse/libfuse.mk package/multimedia/mpd/mpd.mk package/smartmontools/smartmontools.mk Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-rw-r--r--board/calao/qil-a9260/at91bootstrap-1.16-qil-a9260.patch603
-rw-r--r--board/calao/qil-a9260/barebox-2012.07.0-qil-a9260.patch36
-rw-r--r--board/calao/qil-a9260/linux-3.4.7.config111
-rw-r--r--board/calao/qil-a9260/linux-3.4.7.patch27
-rw-r--r--boot/Config.in1
-rw-r--r--boot/at91bootstrap3/Config.in53
-rw-r--r--boot/at91bootstrap3/at91bootstrap3-u-boot-relocation-fix.patch747
-rw-r--r--boot/at91bootstrap3/at91bootstrap3.mk67
-rw-r--r--boot/uboot/Config.in8
-rw-r--r--boot/uboot/uboot.mk3
-rw-r--r--configs/calao_qil_a9260_defconfig17
-rw-r--r--linux/Config.in4
-rw-r--r--package/Config.in11
-rwxr-xr-xpackage/acpid/S02acpid22
-rw-r--r--package/acpid/acpid.mk1
-rw-r--r--package/cairo/Config.in3
-rw-r--r--package/cairo/cairo.mk6
-rw-r--r--package/cifs-utils/cifs-utils.mk4
-rw-r--r--package/connman/connman.mk2
-rw-r--r--package/conntrack-tools/conntrack-tools.mk4
-rw-r--r--package/coreutils/coreutils.mk2
-rw-r--r--package/cpuload/Config.in8
-rw-r--r--package/cpuload/cpuload.mk13
-rw-r--r--package/e2fsprogs/e2fsprogs.mk2
-rw-r--r--package/erlang/Config.in17
-rw-r--r--package/erlang/erlang-build-fix.patch13
-rw-r--r--package/erlang/erlang.mk57
-rw-r--r--package/ethtool/ethtool.mk4
-rw-r--r--package/flashrom/flashrom.mk2
-rw-r--r--package/gdk-pixbuf/gdk-pixbuf.mk5
-rw-r--r--package/gsl/Config.in10
-rw-r--r--package/gsl/gsl.mk13
-rw-r--r--package/iproute2/iproute2.mk4
-rw-r--r--package/iptables/iptables.mk4
-rw-r--r--package/iw/iw.mk2
-rw-r--r--package/libfuse/libfuse.mk4
-rw-r--r--package/liblo/Config.in11
-rw-r--r--package/liblo/liblo.mk14
-rw-r--r--package/libnspr/libnspr.mk16
-rw-r--r--package/libnspr/nspr.pc.in10
-rw-r--r--package/libnss/libnss.mk8
-rw-r--r--package/libnss/nss.pc.in11
-rw-r--r--package/linux-pam/Config.in15
-rw-r--r--package/linux-pam/linux-pam-configure.patch20
-rw-r--r--package/linux-pam/linux-pam-doc-makefile-am.patch33
-rw-r--r--package/linux-pam/linux-pam-group.patch26
-rw-r--r--package/linux-pam/linux-pam-rhosts.patch24
-rw-r--r--package/linux-pam/linux-pam-succeed.patch31
-rw-r--r--package/linux-pam/linux-pam-time.patch26
-rw-r--r--package/linux-pam/linux-pam.mk27
-rw-r--r--package/microperl/microperl.mk2
-rw-r--r--package/mtdev/Config.in8
-rw-r--r--package/mtdev/mtdev.mk14
-rw-r--r--package/mtdev2tuio/Config.in13
-rw-r--r--package/mtdev2tuio/mtdev2tuio.mk29
-rw-r--r--package/multimedia/mpd/mpd.mk4
-rw-r--r--package/multimedia/mpg123/mpg123.mk4
-rw-r--r--package/multimedia/mplayer/mplayer-1.1-disable-install-strip.patch (renamed from package/multimedia/mplayer/mplayer-1.0rc3-disable-install-strip.patch)0
-rw-r--r--package/multimedia/mplayer/mplayer-1.1-fix-cc-parsing.patch (renamed from package/multimedia/mplayer/mplayer-1.0rc3-fix-cc-parsing.patch)0
-rw-r--r--package/multimedia/mplayer/mplayer-theora-fix.patch374
-rw-r--r--package/multimedia/mplayer/mplayer.mk19
-rw-r--r--package/openssl/openssl.mk2
-rw-r--r--package/opkg/opkg.mk6
-rw-r--r--package/python-meld3/Config.in8
-rw-r--r--package/python-meld3/python-meld3.mk22
-rw-r--r--package/sam-ba/sam-ba.mk2
-rw-r--r--package/samba/Config.in7
-rw-r--r--package/samba/samba.mk5
-rw-r--r--package/smartmontools/smartmontools.mk4
-rw-r--r--package/sudo/sudo-1.8.5p2-backport-commit-8209:0c4e3f68b2f5-from-upstream.patch (renamed from package/sudo/sudo-1.8.5p1-backport-commit-8209:0c4e3f68b2f5-from-upstream.patch)0
-rw-r--r--package/sudo/sudo.mk2
-rw-r--r--package/supervisor/Config.in13
-rwxr-xr-xpackage/supervisor/S99supervisord29
-rw-r--r--package/supervisor/supervisor.mk26
-rw-r--r--package/supervisor/supervisord.conf18
-rw-r--r--package/usb_modeswitch/usb_modeswitch-makefile.patch50
-rw-r--r--package/usb_modeswitch/usb_modeswitch.mk23
-rw-r--r--package/usb_modeswitch_data/Config.in12
-rw-r--r--package/usb_modeswitch_data/usb_modeswitch_data-fix-parallel-install.patch17
-rw-r--r--package/usb_modeswitch_data/usb_modeswitch_data-makefile.patch27
-rw-r--r--package/usb_modeswitch_data/usb_modeswitch_data.mk24
-rw-r--r--package/wget/wget.mk4
-rw-r--r--package/yasm/Config.in10
-rw-r--r--package/yasm/yasm.mk20
84 files changed, 2518 insertions, 442 deletions
diff --git a/board/calao/qil-a9260/at91bootstrap-1.16-qil-a9260.patch b/board/calao/qil-a9260/at91bootstrap-1.16-qil-a9260.patch
new file mode 100644
index 0000000..eb9de2a
--- /dev/null
+++ b/board/calao/qil-a9260/at91bootstrap-1.16-qil-a9260.patch
@@ -0,0 +1,603 @@
+From a3e08beea8bf5e96e1237eef4a82f4a2fdd5286b Mon Sep 17 00:00:00 2001
+From: Gregory Hermant <gregory.hermant@calao-systems.com>
+Date: Thu, 19 Jul 2012 14:19:59 +0200
+Subject: [PATCH] Add support for the Calao-systems QIL-A9260
+
+
+Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
+---
+ board/qil_a9260/nandflash/Makefile | 122 ++++++++++++++
+ board/qil_a9260/nandflash/qil-a9260.h | 109 ++++++++++++
+ board/qil_a9260/qil_a9260.c | 298 +++++++++++++++++++++++++++++++++
+ crt0_gnu.S | 7 +
+ include/part.h | 6 +-
+ 5 files changed, 541 insertions(+), 1 deletions(-)
+ create mode 100644 board/qil_a9260/nandflash/Makefile
+ create mode 100644 board/qil_a9260/nandflash/qil-a9260.h
+ create mode 100644 board/qil_a9260/qil_a9260.c
+
+diff --git a/board/qil_a9260/nandflash/Makefile b/board/qil_a9260/nandflash/Makefile
+new file mode 100644
+index 0000000..209a25f
+--- /dev/null
++++ b/board/qil_a9260/nandflash/Makefile
+@@ -0,0 +1,122 @@
++# TODO: set this appropriately for your local toolchain
++ifndef ERASE_FCT
++ERASE_FCT=rm -f
++endif
++ifndef CROSS_COMPILE
++CROSS_COMPILE=arm-elf-
++endif
++
++TOOLCHAIN=gcc
++
++BOOTSTRAP_PATH=../../..
++
++# NandFlashBoot Configuration for QIL-A9260
++
++# Target name (case sensitive!!!)
++TARGET=AT91SAM9260
++# Board name (case sensitive!!!)
++BOARD=qil_a9260
++# Link Address and Top_of_Memory
++LINK_ADDR=0x200000
++TOP_OF_MEMORY=0x301000
++# Name of current directory
++PROJECT=nandflash
++
++ifndef BOOT_NAME
++BOOT_NAME=$(PROJECT)_$(BOARD)
++endif
++
++INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT)
++
++ifeq ($(TOOLCHAIN), gcc)
++
++AS=$(CROSS_COMPILE)gcc
++CC=$(CROSS_COMPILE)gcc
++LD=$(CROSS_COMPILE)gcc
++NM= $(CROSS_COMPILE)nm
++SIZE=$(CROSS_COMPILE)size
++OBJCOPY=$(CROSS_COMPILE)objcopy
++OBJDUMP=$(CROSS_COMPILE)objdump
++CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
++ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
++
++# Linker flags.
++# -Wl,...: tell GCC to pass this to linker.
++# -Map: create map file
++# --cref: add cross reference to map file
++LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref
++LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR)
++OBJS=crt0_gnu.o
++
++endif
++
++OBJS+=\
++ $(BOARD).o \
++ main.o \
++ gpio.o \
++ pmc.o \
++ debug.o \
++ sdramc.o \
++ nandflash.o \
++ _udivsi3.o \
++ _umodsi3.o \
++ div0.o \
++ udiv.o \
++ string.o
++
++
++rebuild: clean all
++
++all: $(BOOT_NAME)
++
++ifeq ($(TOOLCHAIN), gcc)
++$(BOOT_NAME): $(OBJS)
++ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS)
++ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin
++endif
++
++
++$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c
++ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o
++
++main.o: $(BOOTSTRAP_PATH)/main.c
++ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o
++
++gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c
++ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o
++
++pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c
++ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o
++
++debug.o: $(BOOTSTRAP_PATH)/driver/debug.c
++ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o
++
++sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c
++ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o
++
++dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c
++ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o
++
++nandflash.o: $(BOOTSTRAP_PATH)/driver/nandflash.c
++ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/nandflash.c -o nandflash.o
++
++crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S
++ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o
++
++div0.o: $(BOOTSTRAP_PATH)/lib/div0.c
++ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o
++
++string.o: $(BOOTSTRAP_PATH)/lib/string.c
++ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o
++
++udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c
++ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o
++
++_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S
++ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o
++
++_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S
++ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o
++
++clean:
++ $(ERASE_FCT) *.o *.bin *.elf *.map
+diff --git a/board/qil_a9260/nandflash/qil-a9260.h b/board/qil_a9260/nandflash/qil-a9260.h
+new file mode 100644
+index 0000000..c87002e
+--- /dev/null
++++ b/board/qil_a9260/nandflash/qil-a9260.h
+@@ -0,0 +1,109 @@
++/* ----------------------------------------------------------------------------
++ * ATMEL Microcontroller Software Support - ROUSSET -
++ * ----------------------------------------------------------------------------
++ * Copyright (c) 2006, Atmel Corporation
++
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions are met:
++ *
++ * - Redistributions of source code must retain the above copyright notice,
++ * this list of conditions and the disclaimer below.
++ *
++ * Atmel's name may not be used to endorse or promote products derived from
++ * this software without specific prior written permission.
++ *
++ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
++ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
++ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
++ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
++ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ----------------------------------------------------------------------------
++ * File Name : qil-a9260.h
++ * Object :
++ * Creation : GH July 19th 2012
++ *-----------------------------------------------------------------------------
++ */
++#ifndef _QIL_A9260_H
++#define _QIL_A9260_H
++
++/* ******************************************************************* */
++/* PMC Settings */
++/* */
++/* The main oscillator is enabled as soon as possible in the c_startup */
++/* and MCK is switched on the main oscillator. */
++/* PLL initialization is done later in the hw_init() function */
++/* ******************************************************************* */
++#define MASTER_CLOCK (180000000/2)
++#define PLL_LOCK_TIMEOUT 1000000
++
++#define PLLA_SETTINGS 0x20593F06
++#define PLLB_SETTINGS 0x10483F0E
++
++/* Switch MCK on PLLA output PCK = PLLA = 2 * MCK */
++#define MCKR_SETTINGS (AT91C_PMC_PRES_CLK | AT91C_PMC_MDIV_2)
++#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS)
++
++/* ******************************************************************* */
++/* NandFlash Settings */
++/* */
++/* ******************************************************************* */
++#define AT91C_SMARTMEDIA_BASE 0x40000000
++
++#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */
++#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */
++
++#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_SODR = AT91C_PIO_PC14;} while(0)
++#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_CODR = AT91C_PIO_PC14;} while(0)
++
++#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOC_PDSR & AT91C_PIO_PC13))
++
++
++/* ******************************************************************** */
++/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 90000000.*/
++/* Please refer to SMC section in AT91SAM datasheet to learn how */
++/* to generate these values. */
++/* ******************************************************************** */
++#define AT91C_SM_NWE_SETUP (1 << 0)
++#define AT91C_SM_NCS_WR_SETUP (0 << 8)
++#define AT91C_SM_NRD_SETUP (1 << 16)
++#define AT91C_SM_NCS_RD_SETUP (0 << 24)
++
++#define AT91C_SM_NWE_PULSE (3 << 0)
++#define AT91C_SM_NCS_WR_PULSE (3 << 8)
++#define AT91C_SM_NRD_PULSE (3 << 16)
++#define AT91C_SM_NCS_RD_PULSE (3 << 24)
++
++#define AT91C_SM_NWE_CYCLE (5 << 0)
++#define AT91C_SM_NRD_CYCLE (5 << 16)
++#define AT91C_SM_TDF (2 << 16)
++
++/* ******************************************************************* */
++/* BootStrap Settings */
++/* */
++/* ******************************************************************* */
++#define IMG_ADDRESS 0x20000 /* Image Address in NandFlash */
++#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
++
++#define MACH_TYPE 0x6AF /* QIL-A9260 */
++#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
++
++/* ******************************************************************* */
++/* Application Settings */
++/* ******************************************************************* */
++#undef CFG_DEBUG
++#undef CFG_DATAFLASH
++
++#define CFG_NANDFLASH
++#undef NANDFLASH_SMALL_BLOCKS /* NANDFLASH_LARGE_BLOCKS used instead */
++
++#define CFG_HW_INIT
++#define CFG_SDRAM
++
++#endif /* _QIL_A9260_H */
+diff --git a/board/qil_a9260/qil_a9260.c b/board/qil_a9260/qil_a9260.c
+new file mode 100644
+index 0000000..ae122e7
+--- /dev/null
++++ b/board/qil_a9260/qil_a9260.c
+@@ -0,0 +1,298 @@
++/* ----------------------------------------------------------------------------
++ * ATMEL Microcontroller Software Support - ROUSSET -
++ * ----------------------------------------------------------------------------
++ * Copyright (c) 2006, Atmel Corporation
++
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions are met:
++ *
++ * - Redistributions of source code must retain the above copyright notice,
++ * this list of conditions and the disclaiimer below.
++ *
++ * Atmel's name may not be used to endorse or promote products derived from
++ * this software without specific prior written permission.
++ *
++ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
++ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
++ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
++ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
++ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ----------------------------------------------------------------------------
++ * File Name : qil_a9260.c
++ * Object :
++ * Creation : GH July 19th 2012
++ *-----------------------------------------------------------------------------
++ */
++#include "../../include/part.h"
++#include "../../include/gpio.h"
++#include "../../include/pmc.h"
++#include "../../include/debug.h"
++#include "../../include/sdramc.h"
++#include "../../include/main.h"
++#ifdef CFG_NANDFLASH
++#include "../../include/nandflash.h"
++#endif
++#ifdef CFG_DATAFLASH
++#include "../../include/dataflash.h"
++#endif
++
++static inline unsigned int get_cp15(void)
++{
++ unsigned int value;
++ __asm__("mrc p15, 0, %0, c1, c0, 0" : "=r" (value));
++ return value;
++}
++
++static inline void set_cp15(unsigned int value)
++{
++ __asm__("mcr p15, 0, %0, c1, c0, 0" : : "r" (value));
++}
++
++#ifdef CFG_HW_INIT
++/*----------------------------------------------------------------------------*/
++/* \fn hw_init */
++/* \brief This function performs very low level HW initialization */
++/* This function is invoked as soon as possible during the c_startup */
++/* The bss segment must be initialized */
++/*----------------------------------------------------------------------------*/
++void hw_init(void)
++{
++ unsigned int cp15;
++
++ /* Configure PIOs */
++ const struct pio_desc hw_pio[] = {
++#ifdef CFG_DEBUG
++ {"RXD", AT91C_PIN_PB(14), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"TXD", AT91C_PIN_PB(15), 0, PIO_DEFAULT, PIO_PERIPH_A},
++#endif
++ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
++ };
++
++ /* Disable watchdog */
++ writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR);
++
++ /* At this stage the main oscillator is supposed to be enabled
++ * PCK = MCK = MOSC */
++
++ /* Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA */
++ pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT);
++
++ /* PCK = PLLA = 2 * MCK */
++ pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT);
++ /* Switch MCK on PLLA output */
++ pmc_cfg_mck(MCKR_CSS_SETTINGS, PLL_LOCK_TIMEOUT);
++
++ /* Configure PLLB */
++ pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT);
++
++ /* Configure CP15 */
++ cp15 = get_cp15();
++ cp15 |= I_CACHE;
++ set_cp15(cp15);
++
++ /* Configure the PIO controller */
++ pio_setup(hw_pio);
++
++ /* Configure the EBI Slave Slot Cycle to 64 */
++ writel( (readl((AT91C_BASE_MATRIX + MATRIX_SCFG3)) & ~0xFF) | 0x40, (AT91C_BASE_MATRIX + MATRIX_SCFG3));
++
++#ifdef CFG_DEBUG
++ /* Enable Debug messages on the DBGU */
++ dbg_init(BAUDRATE(MASTER_CLOCK, 115200));
++
++ dbg_print("Start AT91Bootstrap...\n\r");
++#endif /* CFG_DEBUG */
++
++#ifdef CFG_SDRAM
++ /* Initialize the matrix */
++ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS1A_SDRAMC, AT91C_BASE_CCFG + CCFG_EBICSA);
++
++ /* Configure SDRAM Controller */
++ sdram_init( AT91C_SDRAMC_NC_9 |
++ AT91C_SDRAMC_NR_13 |
++ AT91C_SDRAMC_CAS_2 |
++ AT91C_SDRAMC_NB_4_BANKS |
++ AT91C_SDRAMC_DBW_32_BITS |
++ AT91C_SDRAMC_TWR_2 |
++ AT91C_SDRAMC_TRC_7 |
++ AT91C_SDRAMC_TRP_2 |
++ AT91C_SDRAMC_TRCD_2 |
++ AT91C_SDRAMC_TRAS_5 |
++ AT91C_SDRAMC_TXSR_8, /* Control Register */
++ (MASTER_CLOCK * 7)/1000000, /* Refresh Timer Register */
++ AT91C_SDRAMC_MD_SDRAM); /* SDRAM (no low power) */
++
++
++#endif /* CFG_SDRAM */
++}
++#endif /* CFG_HW_INIT */
++
++#ifdef CFG_SDRAM
++/*------------------------------------------------------------------------------*/
++/* \fn sdramc_hw_init */
++/* \brief This function performs SDRAMC HW initialization */
++/*------------------------------------------------------------------------------*/
++void sdramc_hw_init(void)
++{
++ /* Configure PIOs */
++/* const struct pio_desc sdramc_pio[] = {
++ {"D16", AT91C_PIN_PC(16), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D17", AT91C_PIN_PC(17), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D18", AT91C_PIN_PC(18), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D19", AT91C_PIN_PC(19), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D20", AT91C_PIN_PC(20), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D21", AT91C_PIN_PC(21), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D22", AT91C_PIN_PC(22), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D23", AT91C_PIN_PC(23), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D24", AT91C_PIN_PC(24), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D25", AT91C_PIN_PC(25), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D26", AT91C_PIN_PC(26), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D27", AT91C_PIN_PC(27), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D28", AT91C_PIN_PC(28), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D29", AT91C_PIN_PC(29), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D30", AT91C_PIN_PC(30), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D31", AT91C_PIN_PC(31), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
++ };
++*/
++ /* Configure the SDRAMC PIO controller to output PCK0 */
++/* pio_setup(sdramc_pio); */
++
++ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_ASR(0));
++ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_PDR(0));
++
++}
++#endif /* CFG_SDRAM */
++
++#ifdef CFG_DATAFLASH
++
++/*------------------------------------------------------------------------------*/
++/* \fn df_recovery */
++/* \brief This function erases DataFlash Page 0 if USR PB is pressed */
++/* during boot sequence */
++/*------------------------------------------------------------------------------*/
++void df_recovery(AT91PS_DF pDf)
++{
++#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH)
++ /* Configure PIOs */
++ const struct pio_desc usrpb_pio[] = {
++ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT},
++ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
++ };
++
++ /* Configure the PIO controller */
++ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
++ pio_setup(usrpb_pio);
++
++ /* If USR PB is pressed during Boot sequence */
++ /* Erase DataFlash Page 0*/
++ if ( !pio_get_value(AT91C_PIN_PB(10)) )
++ df_page_erase(pDf, 0);
++#endif
++}
++
++/*------------------------------------------------------------------------------*/
++/* \fn df_hw_init */
++/* \brief This function performs DataFlash HW initialization */
++/*------------------------------------------------------------------------------*/
++void df_hw_init(void)
++{
++ /* Configure PIOs */
++ const struct pio_desc df_pio[] = {
++ {"MISO", AT91C_PIN_PA(0), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"MOSI", AT91C_PIN_PA(1), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"SPCK", AT91C_PIN_PA(2), 0, PIO_DEFAULT, PIO_PERIPH_A},
++#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH)
++ {"NPCS0", AT91C_PIN_PA(3), 0, PIO_DEFAULT, PIO_PERIPH_A},
++#endif
++ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
++ };
++
++ /* Configure the PIO controller */
++ pio_setup(df_pio);
++}
++#endif /* CFG_DATAFLASH */
++
++
++
++#ifdef CFG_NANDFLASH
++/*------------------------------------------------------------------------------*/
++/* \fn nand_recovery */
++/* \brief This function erases NandFlash Block 0 if USR PB is pressed */
++/* during boot sequence */
++/*------------------------------------------------------------------------------*/
++static void nand_recovery(void)
++{
++ /* Configure PIOs */
++ const struct pio_desc usrpb_pio[] = {
++ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT},
++ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
++ };
++
++ /* Configure the PIO controller */
++ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
++ pio_setup(usrpb_pio);
++
++ /* If USR PB is pressed during Boot sequence */
++ /* Erase NandFlash block 0*/
++ if (!pio_get_value(AT91C_PIN_PB(10)) )
++ AT91F_NandEraseBlock0();
++}
++
++/*------------------------------------------------------------------------------*/
++/* \fn nandflash_hw_init */
++/* \brief NandFlash HW init */
++/*------------------------------------------------------------------------------*/
++void nandflash_hw_init(void)
++{
++ /* Configure PIOs */
++ const struct pio_desc nand_pio[] = {
++ {"RDY_BSY", AT91C_PIN_PC(13), 0, PIO_PULLUP, PIO_INPUT},
++ {"NANDCS", AT91C_PIN_PC(14), 0, PIO_PULLUP, PIO_OUTPUT},
++ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
++ };
++
++ /* Setup Smart Media, first enable the address range of CS3 in HMATRIX user interface */
++ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS3A_SM, AT91C_BASE_CCFG + CCFG_EBICSA);
++
++ /* Configure SMC CS3 */
++ writel((AT91C_SM_NWE_SETUP | AT91C_SM_NCS_WR_SETUP | AT91C_SM_NRD_SETUP | AT91C_SM_NCS_RD_SETUP), AT91C_BASE_SMC + SMC_SETUP3);
++ writel((AT91C_SM_NWE_PULSE | AT91C_SM_NCS_WR_PULSE | AT91C_SM_NRD_PULSE | AT91C_SM_NCS_RD_PULSE), AT91C_BASE_SMC + SMC_PULSE3);
++ writel((AT91C_SM_NWE_CYCLE | AT91C_SM_NRD_CYCLE) , AT91C_BASE_SMC + SMC_CYCLE3);
++ writel((AT91C_SMC_READMODE | AT91C_SMC_WRITEMODE | AT91C_SMC_NWAITM_NWAIT_DISABLE |
++ AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS | AT91C_SM_TDF) , AT91C_BASE_SMC + SMC_CTRL3);
++
++ /* Configure the PIO controller */
++ writel((1 << AT91C_ID_PIOC), PMC_PCER + AT91C_BASE_PMC);
++ pio_setup(nand_pio);
++
++ nand_recovery();
++}
++
++/*------------------------------------------------------------------------------*/
++/* \fn nandflash_cfg_16bits_dbw_init */
++/* \brief Configure SMC in 16 bits mode */
++/*------------------------------------------------------------------------------*/
++void nandflash_cfg_16bits_dbw_init(void)
++{
++ writel(readl(AT91C_BASE_SMC + SMC_CTRL3) | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS, AT91C_BASE_SMC + SMC_CTRL3);
++}
++
++/*------------------------------------------------------------------------------*/
++/* \fn nandflash_cfg_8bits_dbw_init */
++/* \brief Configure SMC in 8 bits mode */
++/*------------------------------------------------------------------------------*/
++void nandflash_cfg_8bits_dbw_init(void)
++{
++ writel((readl(AT91C_BASE_SMC + SMC_CTRL3) & ~(AT91C_SMC_DBW)) | AT91C_SMC_DBW_WIDTH_EIGTH_BITS, AT91C_BASE_SMC + SMC_CTRL3);
++}
++
++
++#endif /* #ifdef CFG_NANDFLASH */
+diff --git a/crt0_gnu.S b/crt0_gnu.S
+index 042b617..002feef 100644
+--- a/crt0_gnu.S
++++ b/crt0_gnu.S
+@@ -106,6 +106,13 @@ _relocate_to_sram:
+ #endif /* CFG_NORFLASH */
+
+ _setup_clocks:
++/* Test if main osc is bypassed */
++ ldr r0,=AT91C_PMC_MOR
++ ldr r1, [r0]
++ ldr r2,=AT91C_CKGR_OSCBYPASS
++ ands r1, r1, r2
++ bne _init_data /* branch if OSCBYPASS=1 */
++
+ /* Test if main oscillator is enabled */
+ ldr r0,=AT91C_PMC_SR
+ ldr r1, [r0]
+diff --git a/include/part.h b/include/part.h
+index ba5985a..bbd33fe 100644
+--- a/include/part.h
++++ b/include/part.h
+@@ -35,7 +35,11 @@
+
+ #ifdef AT91SAM9260
+ #include "AT91SAM9260_inc.h"
+-#include "at91sam9260ek.h"
++ #ifdef at91sam9260ek
++ #include "at91sam9260ek.h"
++ #elif qil_a9260
++ #include "qil-a9260.h"
++ #endif
+ #endif
+
+ #ifdef AT91SAM9XE
+--
+1.5.6.3
+
diff --git a/board/calao/qil-a9260/barebox-2012.07.0-qil-a9260.patch b/board/calao/qil-a9260/barebox-2012.07.0-qil-a9260.patch
new file mode 100644
index 0000000..a74e657
--- /dev/null
+++ b/board/calao/qil-a9260/barebox-2012.07.0-qil-a9260.patch
@@ -0,0 +1,36 @@
+From d076aa6182dc6df6bb311e60bbddb03573b9483b Mon Sep 17 00:00:00 2001
+From: Gregory Hermant <gregory.hermant@calao-systems.com>
+Date: Fri, 3 Aug 2012 11:25:49 +0200
+Subject: [PATCH] Enable pull-up on Rx serial ports for the CALAO MB-QIL-A9260
+
+
+Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
+---
+ arch/arm/boards/qil-a9260/init.c | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/boards/qil-a9260/init.c b/arch/arm/boards/qil-a9260/init.c
+index 305d733..b43cace 100644
+--- a/arch/arm/boards/qil-a9260/init.c
++++ b/arch/arm/boards/qil-a9260/init.c
+@@ -196,11 +196,17 @@ device_initcall(qil_a9260_devices_init);
+ static int qil_a9260_console_init(void)
+ {
+ at91_register_uart(0, 0);
++ at91_set_A_periph(AT91_PIN_PB14, 1); /* Enable pull-up on DRXD */
++
+ at91_register_uart(1, ATMEL_UART_CTS | ATMEL_UART_RTS
+ | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD
+ | ATMEL_UART_RI);
++
+ at91_register_uart(2, ATMEL_UART_CTS | ATMEL_UART_RTS);
++ at91_set_A_periph(AT91_PIN_PB7, 1); /* Enable pull-up on RXD1 */
++
+ at91_register_uart(3, ATMEL_UART_CTS | ATMEL_UART_RTS);
++ at91_set_A_periph(AT91_PIN_PB9, 1); /* Enable pull-up on RXD2 */
+
+ return 0;
+ }
+--
+1.5.6.3
+
diff --git a/board/calao/qil-a9260/linux-3.4.7.config b/board/calao/qil-a9260/linux-3.4.7.config
new file mode 100644
index 0000000..105d760
--- /dev/null
+++ b/board/calao/qil-a9260/linux-3.4.7.config
@@ -0,0 +1,111 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_SLAB=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_IOSCHED_DEADLINE is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_ARCH_AT91=y
+CONFIG_ARCH_AT91SAM9260=y
+CONFIG_MACH_QIL_A9260=y
+CONFIG_AT91_SLOW_CLOCK=y
+CONFIG_AT91_EARLY_USART0=y
+# CONFIG_ARM_THUMB is not set
+CONFIG_AEABI=y
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="mem=64M console=ttyS1,115200"
+CONFIG_FPE_NWFPE=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+# CONFIG_INET_DIAG is not set
+# CONFIG_IPV6 is not set
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_ATMEL=y
+CONFIG_MTD_NAND_ATMEL_ECC_SOFT=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_NETDEVICES=y
+CONFIG_MII=y
+CONFIG_MACB=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_SERIO is not set
+CONFIG_SERIAL_ATMEL=y
+CONFIG_SERIAL_ATMEL_CONSOLE=y
+CONFIG_HW_RANDOM=y
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_SPI=y
+CONFIG_SPI_ATMEL=y
+# CONFIG_HWMON is not set
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_NOWAYOUT=y
+# CONFIG_USB_HID is not set
+CONFIG_USB=y
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_MON=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_ETH=m
+CONFIG_MMC=y
+CONFIG_MMC_AT91=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_M41T94=y
+CONFIG_EXT2_FS=y
+CONFIG_FUSE_FS=m
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_JFFS2_FS=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_XATTR=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_ROOT_NFS=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_850=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_DEBUG_USER=y
+CONFIG_DEBUG_LL=y
diff --git a/board/calao/qil-a9260/linux-3.4.7.patch b/board/calao/qil-a9260/linux-3.4.7.patch
new file mode 100644
index 0000000..5d355d2
--- /dev/null
+++ b/board/calao/qil-a9260/linux-3.4.7.patch
@@ -0,0 +1,27 @@
+From fe6432a9728b62bce3db73c5a4efe026018fd495 Mon Sep 17 00:00:00 2001
+From: Gregory Hermant <gregory.hermant@calao-systems.com>
+Date: Fri, 3 Aug 2012 16:45:37 +0200
+Subject: [PATCH] QIL-A9260: rtc modalias m41t48 renamed to rtc-m41t48
+
+
+Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
+---
+ arch/arm/mach-at91/board-qil-a9260.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/mach-at91/board-qil-a9260.c b/arch/arm/mach-at91/board-qil-a9260.c
+index bf351e2..c0df05c 100644
+--- a/arch/arm/mach-at91/board-qil-a9260.c
++++ b/arch/arm/mach-at91/board-qil-a9260.c
+@@ -78,7 +78,7 @@ static struct at91_udc_data __initdata ek_udc_data = {
+ static struct spi_board_info ek_spi_devices[] = {
+ #if defined(CONFIG_RTC_DRV_M41T94)
+ { /* M41T94 RTC */
+- .modalias = "m41t94",
++ .modalias = "rtc-m41t94",
+ .chip_select = 0,
+ .max_speed_hz = 1 * 1000 * 1000,
+ .bus_num = 0,
+--
+1.5.6.3
+
diff --git a/boot/Config.in b/boot/Config.in
index 5252a49..a55139b 100644
--- a/boot/Config.in
+++ b/boot/Config.in
@@ -1,6 +1,7 @@
menu "Bootloaders"
source "boot/at91bootstrap/Config.in"
+source "boot/at91bootstrap3/Config.in"
source "boot/at91dataflashboot/Config.in"
source "boot/barebox/Config.in"
source "boot/grub/Config.in"
diff --git a/boot/at91bootstrap3/Config.in b/boot/at91bootstrap3/Config.in
new file mode 100644
index 0000000..110f808
--- /dev/null
+++ b/boot/at91bootstrap3/Config.in
@@ -0,0 +1,53 @@
+config BR2_TARGET_AT91BOOTSTRAP3
+ depends on BR2_arm926t
+ bool "AT91 Bootstrap 3"
+ help
+ AT91Bootstrap is a first level bootloader for the Atmel AT91
+ devices. It integrates algorithms for:
+ - Device initialization such as clock configuration, PIO settings...
+ - Peripheral drivers such as PIO, PMC or SDRAMC...
+ - Physical media algorithm such as DataFlash, NandFlash, NOR Flash...
+
+if BR2_TARGET_AT91BOOTSTRAP3
+
+config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_PATCH_DIR
+ string "custom patch dir"
+ help
+ If your board requires custom patches, add the path to the
+ directory containing the patches here. The patches must be
+ named at91bootstrap3-<something>.patch.
+
+ Most users may leave this empty
+
+#
+# Configuration selection
+#
+
+choice
+ prompt "AT91 Bootstrap 3 configuration"
+ default BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG
+
+config BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG
+ bool "Using a defconfig"
+
+config BR2_TARGET_AT91BOOTSTRAP3_USE_CUSTOM_CONFIG
+ bool "Using a custom config file"
+
+endchoice
+
+config BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG
+ string "Defconfig name"
+ depends on BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG
+ help
+ Name of the at91bootstrap3 defconfig file to use, without the
+ trailing _defconfig. The defconfig is located at
+ board/<processor>/<board>_defconfig in the at91bootstrap3
+ tree.
+
+config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE
+ string "Configuration file path"
+ depends on BR2_TARGET_AT91BOOTSTRAP3_USE_CUSTOM_CONFIG
+ help
+ Path to the at91bootstrap3 configuration file
+
+endif # BR2_TARGET_AT91BOOTSTRAP3
diff --git a/boot/at91bootstrap3/at91bootstrap3-u-boot-relocation-fix.patch b/boot/at91bootstrap3/at91bootstrap3-u-boot-relocation-fix.patch
new file mode 100644
index 0000000..62bbd2a
--- /dev/null
+++ b/boot/at91bootstrap3/at91bootstrap3-u-boot-relocation-fix.patch
@@ -0,0 +1,747 @@
+Every AT91SAM plaforms were broken between 2010.12 and 2011.03 because
+of the relocation changes.
+
+We have to get JUMP_ADDR consistent with what is used by u-boot
+(CONFIG_SYS_TEXT_BASE).
+
+I also chose to "repartition" the dataflash. u-boot is now living at
+0x4000, letting 16kB for the bootstrap. We also have to increase the
+IMG_SIZE as u-boot as grown larger than the default value.
+As requested on the u-boot ML, we assume that it could be up to 512kB
+big.
+
+It means that now, you have to flash your kernel at 0x0008C000 instead
+of 0x00042000. And so you also have to load it from that address from
+u-boot.
+
+Then, remember that you could decrease IMG_SIZE to boot faster.
+
+Signed-off-by: Alexandre Belloni <alexandre.belloni@piout.net>
+Signed-off-by: Simon Dawson <spdawson@gmail.com>
+
+diff -Nurp a/board/afeb9260/afeb9260_defconfig b/board/afeb9260/afeb9260_defconfig
+--- a/board/afeb9260/afeb9260_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/afeb9260/afeb9260_defconfig 2012-07-25 20:52:17.967694276 +0100
+@@ -97,9 +97,9 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_ADDRESS="0x00004000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_APP_CHECK=y
+ # CONFIG_LONG_TEST is not set
+ # CONFIG_DEBUG is not set
+diff -Nurp a/board/at91cap9adk/at91cap9adk_defconfig b/board/at91cap9adk/at91cap9adk_defconfig
+--- a/board/at91cap9adk/at91cap9adk_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91cap9adk/at91cap9adk_defconfig 2012-07-25 20:52:30.603693814 +0100
+@@ -96,8 +96,8 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_ADDRESS="0x00004000"
++CONFIG_IMG_SIZE="0x00080000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+ CONFIG_APP_CHECK=y
+ # CONFIG_LONG_TEST is not set
+diff -Nurp a/board/at91cap9adk/at91cap9df_defconfig b/board/at91cap9adk/at91cap9df_defconfig
+--- a/board/at91cap9adk/at91cap9df_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91cap9adk/at91cap9df_defconfig 2012-07-25 20:52:23.807694041 +0100
+@@ -96,8 +96,8 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_ADDRESS="0x00004000"
++CONFIG_IMG_SIZE="0x00080000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+ CONFIG_APP_CHECK=y
+ # CONFIG_LONG_TEST is not set
+diff -Nurp a/board/at91cap9adk/at91cap9f_defconfig b/board/at91cap9adk/at91cap9f_defconfig
+--- a/board/at91cap9adk/at91cap9f_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91cap9adk/at91cap9f_defconfig 2012-07-25 21:25:20.839605245 +0100
+@@ -72,7 +72,7 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+ CONFIG_IMG_ADDRESS="0x00008000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00080000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+ CONFIG_APP_CHECK=y
+ # CONFIG_LONG_TEST is not set
+diff -Nurp a/board/at91cap9stk/at91cap9stk_defconfig b/board/at91cap9stk/at91cap9stk_defconfig
+--- a/board/at91cap9stk/at91cap9stk_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91cap9stk/at91cap9stk_defconfig 2012-07-25 20:52:59.663692456 +0100
+@@ -96,8 +96,8 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_ADDRESS="0x00004000"
++CONFIG_IMG_SIZE="0x00080000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+ CONFIG_APP_CHECK=y
+ # CONFIG_LONG_TEST is not set
+diff -Nurp a/board/at91cap9stk/at91cap9stkdf_defconfig b/board/at91cap9stk/at91cap9stkdf_defconfig
+--- a/board/at91cap9stk/at91cap9stkdf_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91cap9stk/at91cap9stkdf_defconfig 2012-07-25 20:52:52.255692671 +0100
+@@ -96,8 +96,8 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_ADDRESS="0x00004000"
++CONFIG_IMG_SIZE="0x00080000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+ CONFIG_APP_CHECK=y
+ # CONFIG_LONG_TEST is not set
+diff -Nurp a/board/at91cap9stk/at91cap9stkf_defconfig b/board/at91cap9stk/at91cap9stkf_defconfig
+--- a/board/at91cap9stk/at91cap9stkf_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91cap9stk/at91cap9stkf_defconfig 2012-07-25 21:25:35.235605140 +0100
+@@ -72,7 +72,7 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+ CONFIG_IMG_ADDRESS="0x00008000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00080000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+ CONFIG_APP_CHECK=y
+ # CONFIG_LONG_TEST is not set
+diff -Nurp a/board/at91sam9260ek/at91sam9260dfc_defconfig b/board/at91sam9260ek/at91sam9260dfc_defconfig
+--- a/board/at91sam9260ek/at91sam9260dfc_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9260ek/at91sam9260dfc_defconfig 2012-07-25 20:35:23.259739521 +0100
+@@ -97,9 +97,9 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_ADDRESS="0x00004000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_APP_CHECK=y
+ # CONFIG_LONG_TEST is not set
+ # CONFIG_DEBUG is not set
+diff -Nurp a/board/at91sam9260ek/at91sam9260df_defconfig b/board/at91sam9260ek/at91sam9260df_defconfig
+--- a/board/at91sam9260ek/at91sam9260df_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9260ek/at91sam9260df_defconfig 2012-07-25 20:34:19.231742964 +0100
+@@ -102,11 +102,11 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ # CONFIG_DEBUG is not set
+diff -Nurp a/board/at91sam9260ek/at91sam9260ek_defconfig b/board/at91sam9260ek/at91sam9260ek_defconfig
+--- a/board/at91sam9260ek/at91sam9260ek_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9260ek/at91sam9260ek_defconfig 2012-07-25 20:32:17.711747794 +0100
+@@ -102,11 +102,11 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ # CONFIG_DEBUG is not set
+diff -Nurp a/board/at91sam9260ek/at91sam9260nf_defconfig b/board/at91sam9260ek/at91sam9260nf_defconfig
+--- a/board/at91sam9260ek/at91sam9260nf_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9260ek/at91sam9260nf_defconfig 2012-07-25 21:25:57.079604719 +0100
+@@ -87,8 +87,8 @@ CONFIG_LOAD_UBOOT=y
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ # CONFIG_DEBUG is not set
+diff -Nurp a/board/at91sam9261ek/at91sam9261dfc_defconfig b/board/at91sam9261ek/at91sam9261dfc_defconfig
+--- a/board/at91sam9261ek/at91sam9261dfc_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9261ek/at91sam9261dfc_defconfig 2012-07-25 20:37:07.515735228 +0100
+@@ -97,9 +97,9 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_ADDRESS="0x00004000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_APP_CHECK=y
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9261ek/at91sam9261df_defconfig b/board/at91sam9261ek/at91sam9261df_defconfig
+--- a/board/at91sam9261ek/at91sam9261df_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9261ek/at91sam9261df_defconfig 2012-07-25 20:36:44.351735615 +0100
+@@ -102,11 +102,11 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9261ek/at91sam9261ek_defconfig b/board/at91sam9261ek/at91sam9261ek_defconfig
+--- a/board/at91sam9261ek/at91sam9261ek_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9261ek/at91sam9261ek_defconfig 2012-07-25 20:36:09.111737459 +0100
+@@ -102,11 +102,11 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9261ek/at91sam9261nf_defconfig b/board/at91sam9261ek/at91sam9261nf_defconfig
+--- a/board/at91sam9261ek/at91sam9261nf_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9261ek/at91sam9261nf_defconfig 2012-07-25 21:24:45.843607437 +0100
+@@ -86,8 +86,8 @@ CONFIG_LOAD_UBOOT=y
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9263ek/at91sam9263dfc_defconfig b/board/at91sam9263ek/at91sam9263dfc_defconfig
+--- a/board/at91sam9263ek/at91sam9263dfc_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9263ek/at91sam9263dfc_defconfig 2012-07-25 20:38:55.555730059 +0100
+@@ -100,9 +100,9 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_ADDRESS="0x00004000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_APP_CHECK=y
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9263ek/at91sam9263df_defconfig b/board/at91sam9263ek/at91sam9263df_defconfig
+--- a/board/at91sam9263ek/at91sam9263df_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9263ek/at91sam9263df_defconfig 2012-07-25 20:38:37.395730195 +0100
+@@ -105,11 +105,11 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x2006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9263ek/at91sam9263ek_defconfig b/board/at91sam9263ek/at91sam9263ek_defconfig
+--- a/board/at91sam9263ek/at91sam9263ek_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9263ek/at91sam9263ek_defconfig 2012-07-25 20:38:08.379732395 +0100
+@@ -105,11 +105,11 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x2006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9263ek/at91sam9263nf_defconfig b/board/at91sam9263ek/at91sam9263nf_defconfig
+--- a/board/at91sam9263ek/at91sam9263nf_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9263ek/at91sam9263nf_defconfig 2012-07-25 21:25:39.195605069 +0100
+@@ -89,8 +89,8 @@ CONFIG_LOAD_UBOOT=y
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x2006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9g10ek/at91sam9g10df_defconfig b/board/at91sam9g10ek/at91sam9g10df_defconfig
+--- a/board/at91sam9g10ek/at91sam9g10df_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9g10ek/at91sam9g10df_defconfig 2012-07-25 20:40:18.087726292 +0100
+@@ -102,11 +102,11 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x20068000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9g10ek/at91sam9g10ek_defconfig b/board/at91sam9g10ek/at91sam9g10ek_defconfig
+--- a/board/at91sam9g10ek/at91sam9g10ek_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9g10ek/at91sam9g10ek_defconfig 2012-07-25 20:39:53.543727636 +0100
+@@ -102,11 +102,11 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x20068000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9g10ek/at91sam9g10nf_defconfig b/board/at91sam9g10ek/at91sam9g10nf_defconfig
+--- a/board/at91sam9g10ek/at91sam9g10nf_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9g10ek/at91sam9g10nf_defconfig 2012-07-25 21:25:28.975605503 +0100
+@@ -86,8 +86,8 @@ CONFIG_LOAD_UBOOT=y
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x20068000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9g20ek/at91sam9g20dfc_defconfig b/board/at91sam9g20ek/at91sam9g20dfc_defconfig
+--- a/board/at91sam9g20ek/at91sam9g20dfc_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9g20ek/at91sam9g20dfc_defconfig 2012-07-25 20:41:48.275722343 +0100
+@@ -97,9 +97,9 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_ADDRESS="0x00004000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_APP_CHECK=y
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9g20ek/at91sam9g20df_defconfig b/board/at91sam9g20ek/at91sam9g20df_defconfig
+--- a/board/at91sam9g20ek/at91sam9g20df_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9g20ek/at91sam9g20df_defconfig 2012-07-25 20:42:07.091721310 +0100
+@@ -102,11 +102,11 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9g20ek/at91sam9g20ek_defconfig b/board/at91sam9g20ek/at91sam9g20ek_defconfig
+--- a/board/at91sam9g20ek/at91sam9g20ek_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9g20ek/at91sam9g20ek_defconfig 2012-07-25 20:41:23.179723541 +0100
+@@ -102,11 +102,11 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9g20ek/at91sam9g20nf_defconfig b/board/at91sam9g20ek/at91sam9g20nf_defconfig
+--- a/board/at91sam9g20ek/at91sam9g20nf_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9g20ek/at91sam9g20nf_defconfig 2012-07-25 21:25:49.291603975 +0100
+@@ -87,8 +87,8 @@ CONFIG_LOAD_UBOOT=y
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9g45ek/at91sam9g45df_defconfig b/board/at91sam9g45ek/at91sam9g45df_defconfig
+--- a/board/at91sam9g45ek/at91sam9g45df_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9g45ek/at91sam9g45df_defconfig 2012-07-25 20:47:46.055707221 +0100
+@@ -102,10 +102,10 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00080000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+diff -Nurp a/board/at91sam9g45ek/at91sam9g45ek_defconfig b/board/at91sam9g45ek/at91sam9g45ek_defconfig
+--- a/board/at91sam9g45ek/at91sam9g45ek_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9g45ek/at91sam9g45ek_defconfig 2012-07-25 20:47:02.303708341 +0100
+@@ -102,10 +102,10 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00080000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+diff -Nurp a/board/at91sam9g45ek/at91sam9g45nf_defconfig b/board/at91sam9g45ek/at91sam9g45nf_defconfig
+--- a/board/at91sam9g45ek/at91sam9g45nf_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9g45ek/at91sam9g45nf_defconfig 2012-07-25 21:25:24.547605601 +0100
+@@ -86,7 +86,7 @@ CONFIG_LOAD_UBOOT=y
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00080000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+diff -Nurp a/board/at91sam9g45ekes/at91sam9g45dfes_defconfig b/board/at91sam9g45ekes/at91sam9g45dfes_defconfig
+--- a/board/at91sam9g45ekes/at91sam9g45dfes_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9g45ekes/at91sam9g45dfes_defconfig 2012-07-25 20:47:33.895706968 +0100
+@@ -102,10 +102,10 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00080000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+diff -Nurp a/board/at91sam9g45ekes/at91sam9g45ekes_defconfig b/board/at91sam9g45ekes/at91sam9g45ekes_defconfig
+--- a/board/at91sam9g45ekes/at91sam9g45ekes_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9g45ekes/at91sam9g45ekes_defconfig 2012-07-25 20:46:49.043708951 +0100
+@@ -102,10 +102,10 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00080000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+diff -Nurp a/board/at91sam9g45ekes/at91sam9g45nfes_defconfig b/board/at91sam9g45ekes/at91sam9g45nfes_defconfig
+--- a/board/at91sam9g45ekes/at91sam9g45nfes_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9g45ekes/at91sam9g45nfes_defconfig 2012-07-25 21:25:44.823604805 +0100
+@@ -86,7 +86,7 @@ CONFIG_LOAD_UBOOT=y
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00080000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+diff -Nurp a/board/at91sam9m10ek/at91sam9m10df_defconfig b/board/at91sam9m10ek/at91sam9m10df_defconfig
+--- a/board/at91sam9m10ek/at91sam9m10df_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9m10ek/at91sam9m10df_defconfig 2012-07-25 20:44:34.975714928 +0100
+@@ -102,10 +102,10 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00080000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+diff -Nurp a/board/at91sam9m10ek/at91sam9m10ek_defconfig b/board/at91sam9m10ek/at91sam9m10ek_defconfig
+--- a/board/at91sam9m10ek/at91sam9m10ek_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9m10ek/at91sam9m10ek_defconfig 2012-07-25 20:43:34.543717453 +0100
+@@ -102,10 +102,10 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00080000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+diff -Nurp a/board/at91sam9m10ek/at91sam9m10nf_defconfig b/board/at91sam9m10ek/at91sam9m10nf_defconfig
+--- a/board/at91sam9m10ek/at91sam9m10nf_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9m10ek/at91sam9m10nf_defconfig 2012-07-25 21:21:40.419615800 +0100
+@@ -86,7 +86,7 @@ CONFIG_LOAD_UBOOT=y
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00080000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+diff -Nurp a/board/at91sam9m10ekes/at91sam9m10dfes_defconfig b/board/at91sam9m10ekes/at91sam9m10dfes_defconfig
+--- a/board/at91sam9m10ekes/at91sam9m10dfes_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9m10ekes/at91sam9m10dfes_defconfig 2012-07-25 20:44:18.687715650 +0100
+@@ -102,10 +102,10 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00080000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+diff -Nurp a/board/at91sam9m10ekes/at91sam9m10ekes_defconfig b/board/at91sam9m10ekes/at91sam9m10ekes_defconfig
+--- a/board/at91sam9m10ekes/at91sam9m10ekes_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9m10ekes/at91sam9m10ekes_defconfig 2012-07-25 20:43:57.255716814 +0100
+@@ -102,10 +102,10 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00080000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+diff -Nurp a/board/at91sam9m10ekes/at91sam9m10nfes_defconfig b/board/at91sam9m10ekes/at91sam9m10nfes_defconfig
+--- a/board/at91sam9m10ekes/at91sam9m10nfes_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9m10ekes/at91sam9m10nfes_defconfig 2012-07-25 21:26:10.179603831 +0100
+@@ -86,7 +86,7 @@ CONFIG_LOAD_UBOOT=y
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00080000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+diff -Nurp a/board/at91sam9n12ek/at91sam9n12df_defconfig b/board/at91sam9n12ek/at91sam9n12df_defconfig
+--- a/board/at91sam9n12ek/at91sam9n12df_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9n12ek/at91sam9n12df_defconfig 2012-07-25 20:52:40.675693207 +0100
+@@ -107,7 +107,7 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+ CONFIG_IMG_SIZE="0x00050000"
+diff -Nurp a/board/at91sam9rlek/at91sam9rldf_defconfig b/board/at91sam9rlek/at91sam9rldf_defconfig
+--- a/board/at91sam9rlek/at91sam9rldf_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9rlek/at91sam9rldf_defconfig 2012-07-25 20:48:53.183703493 +0100
+@@ -102,11 +102,11 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x2006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9rlek/at91sam9rlek_defconfig b/board/at91sam9rlek/at91sam9rlek_defconfig
+--- a/board/at91sam9rlek/at91sam9rlek_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9rlek/at91sam9rlek_defconfig 2012-07-25 20:48:29.659704460 +0100
+@@ -102,11 +102,11 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x2006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9rlek/at91sam9rlnf_defconfig b/board/at91sam9rlek/at91sam9rlnf_defconfig
+--- a/board/at91sam9rlek/at91sam9rlnf_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9rlek/at91sam9rlnf_defconfig 2012-07-25 21:24:49.335607485 +0100
+@@ -85,8 +85,8 @@ CONFIG_LOAD_UBOOT=y
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x2006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9x5ek/at91sam9x5df_defconfig b/board/at91sam9x5ek/at91sam9x5df_defconfig
+--- a/board/at91sam9x5ek/at91sam9x5df_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9x5ek/at91sam9x5df_defconfig 2012-07-25 20:52:45.375693059 +0100
+@@ -106,7 +106,7 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+ CONFIG_IMG_SIZE="0x00050000"
+diff -Nurp a/board/at91sam9xeek/at91sam9xedfc_defconfig b/board/at91sam9xeek/at91sam9xedfc_defconfig
+--- a/board/at91sam9xeek/at91sam9xedfc_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9xeek/at91sam9xedfc_defconfig 2012-07-25 20:50:10.643699991 +0100
+@@ -96,9 +96,9 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_ADDRESS="0x00004000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_APP_CHECK=y
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9xeek/at91sam9xedf_defconfig b/board/at91sam9xeek/at91sam9xedf_defconfig
+--- a/board/at91sam9xeek/at91sam9xedf_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9xeek/at91sam9xedf_defconfig 2012-07-25 20:50:26.967699568 +0100
+@@ -103,11 +103,11 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x23F00000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9xeek/at91sam9xeek_defconfig b/board/at91sam9xeek/at91sam9xeek_defconfig
+--- a/board/at91sam9xeek/at91sam9xeek_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9xeek/at91sam9xeek_defconfig 2012-07-25 20:49:46.131699600 +0100
+@@ -103,11 +103,11 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+-CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_IMG_ADDRESS="0x00004000"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x23F00000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff -Nurp a/board/at91sam9xeek/at91sam9xenf_defconfig b/board/at91sam9xeek/at91sam9xenf_defconfig
+--- a/board/at91sam9xeek/at91sam9xenf_defconfig 2011-11-18 08:13:09.000000000 +0000
++++ b/board/at91sam9xeek/at91sam9xenf_defconfig 2012-07-25 21:26:05.627603826 +0100
+@@ -88,8 +88,8 @@ CONFIG_LOAD_UBOOT=y
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_IMG_SIZE="0x00080000"
++CONFIG_JUMP_ADDR="0x21F00000"
+ CONFIG_GLBDRV_ADDR="0x23F00000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
diff --git a/boot/at91bootstrap3/at91bootstrap3.mk b/boot/at91bootstrap3/at91bootstrap3.mk
new file mode 100644
index 0000000..74f08e8
--- /dev/null
+++ b/boot/at91bootstrap3/at91bootstrap3.mk
@@ -0,0 +1,67 @@
+#############################################################
+#
+# at91bootstrap3
+#
+#############################################################
+AT91BOOTSTRAP3_VERSION = 3.2
+AT91BOOTSTRAP3_SITE = \
+ ftp://www.at91.com/pub/at91bootstrap/AT91Bootstrap$(AT91BOOTSTRAP3_VERSION)
+AT91BOOTSTRAP3_SOURCE = at91bootstrap_9n12.tar.gz
+
+AT91BOOTSTRAP3_INSTALL_IMAGES = YES
+AT91BOOTSTRAP3_INSTALL_TARGET = NO
+
+AT91BOOTSTRAP3_DEFCONFIG = \
+ $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG))
+AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE = \
+ $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE))
+AT91BOOTSTRAP3_CUSTOM_PATCH_DIR = \
+ $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_PATCH_DIR))
+
+AT91BOOTSTRAP3_MAKE_OPT = CROSS_COMPILE=$(TARGET_CROSS) DESTDIR=$(BINARIES_DIR)
+
+ifneq ($(AT91BOOTSTRAP3_CUSTOM_PATCH_DIR),)
+define AT91BOOTSTRAP3_APPLY_CUSTOM_PATCHES
+ support/scripts/apply-patches.sh $(@D) $(AT91BOOTSTRAP3_CUSTOM_PATCH_DIR) \
+ at91bootstrap3-\*.patch
+endef
+
+AT91BOOTSTRAP3_POST_PATCH_HOOKS += AT91BOOTSTRAP3_APPLY_CUSTOM_PATCHES
+endif
+
+ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG),y)
+AT91BOOTSTRAP3_SOURCE_CONFIG = \
+ $(@D)/board/*/$(AT91BOOTSTRAP3_DEFCONFIG)_defconfig
+else ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_CUSTOM_CONFIG),y)
+AT91BOOTSTRAP3_SOURCE_CONFIG = $(AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE)
+endif
+
+define AT91BOOTSTRAP3_CONFIGURE_CMDS
+ cp $(AT91BOOTSTRAP3_SOURCE_CONFIG) $(@D)/.config
+ $(SED) 's/image.bin/uImage/' $(@D)/.config
+endef
+
+define AT91BOOTSTRAP3_BUILD_CMDS
+ $(MAKE) $(AT91BOOTSTRAP3_MAKE_OPT) -C $(@D) boot
+endef
+
+define AT91BOOTSTRAP3_INSTALL_IMAGES_CMDS
+ $(MAKE) $(AT91BOOTSTRAP3_MAKE_OPT) -C $(@D) bootstrap
+endef
+
+$(eval $(generic-package))
+
+# Checks to give errors that the user can understand
+ifeq ($(filter source,$(MAKECMDGOALS)),)
+ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG),y)
+ifeq ($(AT91BOOTSTRAP3_DEFCONFIG),)
+$(error No at91bootstrap3 defconfig name specified, check your BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG setting)
+endif
+endif
+
+ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_CUSTOM_CONFIG),y)
+ifeq ($(AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE),)
+$(error No at91bootstrap3 configuration file specified, check your BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE setting)
+endif
+endif
+endif
diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
index afc2f91..900fac7 100644
--- a/boot/uboot/Config.in
+++ b/boot/uboot/Config.in
@@ -79,6 +79,14 @@ endif
choice
prompt "U-Boot binary format"
+ default BR2_TARGET_UBOOT_FORMAT_BIN
+
+config BR2_TARGET_UBOOT_FORMAT_AIS
+ bool "u-boot.ais"
+ help
+ AIS (Application Image Script) is a format defined by TI.
+ It is required to load code/data on OMAP-L1 processors.
+ u-boot.ais contains U-Boot with the SPL support.
config BR2_TARGET_UBOOT_FORMAT_BIN
bool "u-boot.bin"
diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index f3810c2..619f2e1 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -28,6 +28,9 @@ endif
ifeq ($(BR2_TARGET_UBOOT_FORMAT_KWB),y)
UBOOT_BIN = u-boot.kwb
UBOOT_MAKE_TARGET = $(UBOOT_BIN)
+else ifeq ($(BR2_TARGET_UBOOT_FORMAT_AIS),y)
+UBOOT_BIN = u-boot.ais
+UBOOT_MAKE_TARGET = $(UBOOT_BIN)
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_LDR),y)
UBOOT_BIN = u-boot.ldr
else ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND_BIN),y)
diff --git a/configs/calao_qil_a9260_defconfig b/configs/calao_qil_a9260_defconfig
new file mode 100644
index 0000000..f05e95c
--- /dev/null
+++ b/configs/calao_qil_a9260_defconfig
@@ -0,0 +1,17 @@
+BR2_arm=y
+BR2_arm926t=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttyS1"
+BR2_PACKAGE_HOST_SAM_BA=y
+BR2_TARGET_ROOTFS_UBIFS=y
+BR2_TARGET_AT91BOOTSTRAP=y
+BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR="board/calao/qil-a9260/"
+BR2_TARGET_AT91BOOTSTRAP_BOARD="qil_a9260"
+BR2_TARGET_AT91BOOTSTRAP_NANDFLASH=y
+BR2_TARGET_BAREBOX=y
+BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR="board/calao/qil-a9260/"
+BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="qil_a9260"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_PATCH="board/calao/qil-a9260/linux-3.4.7.patch"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/calao/qil-a9260/linux-3.4.7.config"
+BR2_LINUX_KERNEL_ZIMAGE=y
diff --git a/linux/Config.in b/linux/Config.in
index 9c63215..0306348 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -22,7 +22,7 @@ choice
default BR2_LINUX_KERNEL_3_4
config BR2_LINUX_KERNEL_3_4
- bool "3.4.7"
+ bool "3.4.8"
config BR2_LINUX_KERNEL_SAME_AS_HEADERS
bool "Same as toolchain kernel headers"
@@ -77,7 +77,7 @@ config BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION
config BR2_LINUX_KERNEL_VERSION
string
- default "3.4.7" if BR2_LINUX_KERNEL_3_4
+ default "3.4.8" if BR2_LINUX_KERNEL_3_4
default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE if BR2_LINUX_KERNEL_CUSTOM_VERSION
default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
diff --git a/package/Config.in b/package/Config.in
index f308de7..e129522 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -91,6 +91,7 @@ source "package/sstrip/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/tar/Config.in"
endif
+source "package/yasm/Config.in"
endmenu
menu "Games"
@@ -238,6 +239,7 @@ source "package/uboot-tools/Config.in"
source "package/udev/Config.in"
source "package/unionfs/Config.in"
source "package/usb_modeswitch/Config.in"
+source "package/usb_modeswitch_data/Config.in"
source "package/usbmount/Config.in"
source "package/usbutils/Config.in"
source "package/wipe/Config.in"
@@ -245,6 +247,7 @@ source "package/xfsprogs/Config.in"
endmenu
menu "Interpreter languages and scripting"
+source "package/erlang/Config.in"
source "package/haserl/Config.in"
source "package/lua/Config.in"
source "package/luajit/Config.in"
@@ -270,6 +273,7 @@ menu "external python modules"
source "package/python-dpkt/Config.in"
source "package/python-id3/Config.in"
source "package/python-mad/Config.in"
+source "package/python-meld3/Config.in"
source "package/python-netifaces/Config.in"
source "package/python-nfc/Config.in"
source "package/python-pygame/Config.in"
@@ -291,6 +295,7 @@ source "package/libcdaudio/Config.in"
source "package/libcue/Config.in"
source "package/libcuefile/Config.in"
source "package/libid3tag/Config.in"
+source "package/liblo/Config.in"
source "package/libmad/Config.in"
source "package/libmpd/Config.in"
source "package/libreplaygain/Config.in"
@@ -383,6 +388,7 @@ source "package/libnfc-llcp/Config.in"
source "package/libusb/Config.in"
source "package/libusb-compat/Config.in"
source "package/libv4l/Config.in"
+source "package/mtdev/Config.in"
endmenu
menu "Javascript"
@@ -454,13 +460,16 @@ source "package/libelf/Config.in"
source "package/libevent/Config.in"
source "package/libev/Config.in"
source "package/libffi/Config.in"
+source "package/gsl/Config.in"
source "package/libglib2/Config.in"
source "package/libical/Config.in"
source "package/libnspr/Config.in"
source "package/libsigc/Config.in"
source "package/libtpl/Config.in"
source "package/liburcu/Config.in"
+source "package/linux-pam/Config.in"
source "package/lttng-libust/Config.in"
+source "package/mtdev2tuio/Config.in"
source "package/orc/Config.in"
source "package/poco/Config.in"
source "package/protobuf/Config.in"
@@ -663,6 +672,7 @@ if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/bootutils/Config.in"
endif
source "package/bwm-ng/Config.in"
+source "package/cpuload/Config.in"
source "package/htop/Config.in"
source "package/kmod/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
@@ -679,6 +689,7 @@ source "package/rsyslog/Config.in"
source "package/sysklogd/Config.in"
source "package/sysvinit/Config.in"
endif
+source "package/supervisor/Config.in"
source "package/systemd/Config.in"
source "package/util-linux/Config.in"
source "package/dsp-tools/Config.in"
diff --git a/package/acpid/S02acpid b/package/acpid/S02acpid
new file mode 100755
index 0000000..ec686d8
--- /dev/null
+++ b/package/acpid/S02acpid
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+case "$1" in
+ start)
+ echo -n "Starting acpid: "
+ start-stop-daemon -S -q -m -b -p /var/run/acpid.pid --exec /usr/sbin/acpid -- -n
+ echo "done"
+ ;;
+ stop)
+ echo -n "Stopping acpid: "
+ start-stop-daemon -K -q -p /var/run/acpid.pid
+ echo "done"
+ ;;
+ restart)
+ "$0" stop
+ sleep 1
+ "$0" start
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ ;;
+esac
diff --git a/package/acpid/acpid.mk b/package/acpid/acpid.mk
index cacfb27..56f671d 100644
--- a/package/acpid/acpid.mk
+++ b/package/acpid/acpid.mk
@@ -18,6 +18,7 @@ define ACPID_INSTALL_TARGET_CMDS
install -D -m 644 $(@D)/acpi_listen.8 $(TARGET_DIR)/usr/share/man/man8/acpi_listen.8
mkdir -p $(TARGET_DIR)/etc/acpi/events
/bin/echo -e "event=button[ /]power\naction=/sbin/poweroff" > $(TARGET_DIR)/etc/acpi/events/powerbtn
+ $(INSTALL) -D -m 0755 package/acpid/S02acpid $(TARGET_DIR)/etc/init.d/S02acpid
endef
define ACPID_UNINSTALL_TARGET_CMDS
diff --git a/package/cairo/Config.in b/package/cairo/Config.in
index 19c4723..398e47f 100644
--- a/package/cairo/Config.in
+++ b/package/cairo/Config.in
@@ -32,4 +32,7 @@ config BR2_PACKAGE_CAIRO_SVG
select BR2_PACKAGE_CAIRO_PNG
select BR2_PACKAGE_CAIRO_PDF
+config BR2_PACKAGE_CAIRO_TEE
+ bool "tee support"
endif
+
diff --git a/package/cairo/cairo.mk b/package/cairo/cairo.mk
index 6b456dd..eedb28d 100644
--- a/package/cairo/cairo.mk
+++ b/package/cairo/cairo.mk
@@ -77,4 +77,10 @@ else
CAIRO_CONF_OPT += --disable-svg
endif
+ifeq ($(BR2_PACKAGE_CAIRO_TEE),y)
+ CAIRO_CONF_OPT += --enable-tee
+else
+ CAIRO_CONF_OPT += --disable-tee
+endif
+
$(eval $(autotools-package))
diff --git a/package/cifs-utils/cifs-utils.mk b/package/cifs-utils/cifs-utils.mk
index e2530c0..cfa2b91 100644
--- a/package/cifs-utils/cifs-utils.mk
+++ b/package/cifs-utils/cifs-utils.mk
@@ -1,6 +1,8 @@
-CIFS_UTILS_VERSION = 5.5
+CIFS_UTILS_VERSION = 5.6
CIFS_UTILS_SOURCE = cifs-utils-$(CIFS_UTILS_VERSION).tar.bz2
CIFS_UTILS_SITE = http://ftp.samba.org/pub/linux-cifs/cifs-utils
+CIFS_UTILS_LICENSE = GPLv3
+CIFS_UTILS_LICENSE_FILES = COPYING
define CIFS_UTILS_NO_WERROR
$(SED) 's/-Werror//' $(@D)/Makefile.in
diff --git a/package/connman/connman.mk b/package/connman/connman.mk
index 726cb73..ed83ebc 100644
--- a/package/connman/connman.mk
+++ b/package/connman/connman.mk
@@ -4,7 +4,7 @@
#
#######################################################
-CONNMAN_VERSION = 1.4
+CONNMAN_VERSION = 1.6
CONNMAN_SITE = $(BR2_KERNEL_MIRROR)/linux/network/connman/
CONNMAN_DEPENDENCIES = libglib2 dbus iptables gnutls
CONNMAN_INSTALL_STAGING = YES
diff --git a/package/conntrack-tools/conntrack-tools.mk b/package/conntrack-tools/conntrack-tools.mk
index 8f1159b..6f438fc 100644
--- a/package/conntrack-tools/conntrack-tools.mk
+++ b/package/conntrack-tools/conntrack-tools.mk
@@ -4,10 +4,12 @@
#
#############################################################
-CONNTRACK_TOOLS_VERSION = 1.2.1
+CONNTRACK_TOOLS_VERSION = 1.2.2
CONNTRACK_TOOLS_SOURCE = conntrack-tools-$(CONNTRACK_TOOLS_VERSION).tar.bz2
CONNTRACK_TOOLS_SITE = http://www.netfilter.org/projects/conntrack-tools/files
CONNTRACK_TOOLS_DEPENDENCIES = host-pkg-config \
libnetfilter_conntrack libnetfilter_cttimeout
+CONNTRACK_TOOLS_LICENSE = GPLv2
+CONNTRACK_TOOLS_LICENSE_FILES = COPYING
$(eval $(autotools-package))
diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk
index e64dd5a..d7d0779 100644
--- a/package/coreutils/coreutils.mk
+++ b/package/coreutils/coreutils.mk
@@ -4,7 +4,7 @@
#
#############################################################
-COREUTILS_VERSION = 8.16
+COREUTILS_VERSION = 8.18
COREUTILS_SITE = $(BR2_GNU_MIRROR)/coreutils
COREUTILS_SOURCE = coreutils-$(COREUTILS_VERSION).tar.xz
diff --git a/package/cpuload/Config.in b/package/cpuload/Config.in
new file mode 100644
index 0000000..82bc450
--- /dev/null
+++ b/package/cpuload/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_CPULOAD
+ bool "cpuload"
+ help
+ cpuload is a simple tool to obtain intuitive vision of CPU load
+ (including total, user, system, irq and softirq) within a certain
+ time, which is especially useful for embedded system without GUI.
+
+ https://github.com/kelvincheung/cpuload
diff --git a/package/cpuload/cpuload.mk b/package/cpuload/cpuload.mk
new file mode 100644
index 0000000..d25c504
--- /dev/null
+++ b/package/cpuload/cpuload.mk
@@ -0,0 +1,13 @@
+#############################################################
+#
+# cpuload
+#
+#############################################################
+
+CPULOAD_VERSION = v0.3
+CPULOAD_SITE = git://github.com/kelvincheung/cpuload.git
+CPULOAD_LICENSE = GPLv2
+CPULOAD_LICENSE_FILES = COPYING
+
+
+$(eval $(autotools-package))
diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk
index 9f2a5f7..e074640 100644
--- a/package/e2fsprogs/e2fsprogs.mk
+++ b/package/e2fsprogs/e2fsprogs.mk
@@ -4,7 +4,7 @@
#
#############################################################
-E2FSPROGS_VERSION = 1.42.4
+E2FSPROGS_VERSION = 1.42.5
E2FSPROGS_SITE = http://downloads.sourceforge.net/project/e2fsprogs/e2fsprogs/$(E2FSPROGS_VERSION)
E2FSPROGS_CONF_OPT = \
diff --git a/package/erlang/Config.in b/package/erlang/Config.in
new file mode 100644
index 0000000..6dd5a39
--- /dev/null
+++ b/package/erlang/Config.in
@@ -0,0 +1,17 @@
+config BR2_PACKAGE_ERLANG
+ bool "erlang"
+ help
+ Erlang is a programming language used to build massively scalable
+ soft real-time systems with requirements on high availability.
+ Some of its uses are in telecoms, banking, e-commerce, computer
+ telephony and instant messaging. Erlang's runtime system has
+ built-in support for concurrency, distribution and fault tolerance.
+
+config BR2_PACKAGE_ERLANG_MEGACO
+ bool "install megaco application"
+ depends on BR2_PACKAGE_ERLANG
+ help
+ The Megaco application is a framework for building applications
+ on top of the Megaco/H.248 protocol. It is approximately 14MB in
+ size so if you do not need it then it is recommended not to
+ enable it.
diff --git a/package/erlang/erlang-build-fix.patch b/package/erlang/erlang-build-fix.patch
new file mode 100644
index 0000000..ff821c9
--- /dev/null
+++ b/package/erlang/erlang-build-fix.patch
@@ -0,0 +1,13 @@
+apply-patches.sh deletes this file from the source directory.
+
+--- erlang-R15B01.old/lib/tools/emacs/Makefile 2012-04-04
++++ erlang-R15B01/lib/tools/emacs/Makefile 2012-04-04 15:55:16.978957307 +0100
+@@ -51,7 +51,7 @@
+
+ ELC_FILES = $(EMACS_FILES:%=%.elc)
+
+-TEST_FILES = test.erl.indented test.erl.orig
++TEST_FILES = test.erl.indented
+
+ # ----------------------------------------------------
+ # Targets
diff --git a/package/erlang/erlang.mk b/package/erlang/erlang.mk
new file mode 100644
index 0000000..6b90627
--- /dev/null
+++ b/package/erlang/erlang.mk
@@ -0,0 +1,57 @@
+#############################################################
+#
+# erlang
+#
+#############################################################
+
+ERLANG_VERSION = R15B01
+ERLANG_SITE = http://www.erlang.org/download
+ERLANG_SOURCE = otp_src_$(ERLANG_VERSION).tar.gz
+ERLANG_DEPENDENCIES = host-erlang
+
+ERLANG_LICENSE = EPL
+ERLANG_LICENSE_FILES = EPLICENCE
+
+# The configure checks for these functions fail incorrectly
+ERLANG_CONF_ENV = ac_cv_func_isnan=yes ac_cv_func_isinf=yes
+
+ERLANG_CONF_OPT = --without-javac
+
+ifeq ($(BR2_PACKAGE_NCURSES),y)
+ERLANG_CONF_OPT += --with-termcap
+ERLANG_DEPENDENCIES += ncurses
+else
+ERLANG_CONF_OPT += --without-termcap
+endif
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+ERLANG_CONF_OPT += --with-ssl
+ERLANG_DEPENDENCIES += openssl
+else
+ERLANG_CONF_OPT += --without-ssl
+endif
+
+ifeq ($(BR2_PACKAGE_ZLIB),y)
+ERLANG_CONF_OPT += --enable-shared-zlib
+ERLANG_DEPENDENCIES += zlib
+endif
+
+# Remove source, example, gs and wx files from the target
+ERLANG_REMOVE_PACKAGES = gs wx
+
+ifneq ($(BR2_PACKAGE_ERLANG_MEGACO),y)
+ERLANG_REMOVE_PACKAGES += megaco
+endif
+
+define ERLANG_REMOVE_UNUSED
+ find $(TARGET_DIR)/usr/lib/erlang -type d -name src -prune -exec rm -rf {} \;
+ find $(TARGET_DIR)/usr/lib/erlang -type d -name examples -prune -exec rm -rf {} \;
+ for package in $(ERLANG_REMOVE_PACKAGES); do \
+ rm -rf $(TARGET_DIR)/usr/lib/erlang/lib/$${package}-*; \
+ done
+endef
+
+ERLANG_POST_INSTALL_TARGET_HOOKS += ERLANG_REMOVE_UNUSED
+
+$(eval $(autotools-package))
+$(eval $(host-autotools-package))
diff --git a/package/ethtool/ethtool.mk b/package/ethtool/ethtool.mk
index 63a8d54..30d0a47 100644
--- a/package/ethtool/ethtool.mk
+++ b/package/ethtool/ethtool.mk
@@ -4,7 +4,9 @@
#
#############################################################
-ETHTOOL_VERSION = 3.4.1
+ETHTOOL_VERSION = 3.5
ETHTOOL_SITE = $(BR2_KERNEL_MIRROR)/software/network/ethtool
+ETHTOOL_LICENSE = GPLv2
+ETHTOOL_LICENSE_FILE = COPYING
$(eval $(autotools-package))
diff --git a/package/flashrom/flashrom.mk b/package/flashrom/flashrom.mk
index 4b310ef..675cc6e 100644
--- a/package/flashrom/flashrom.mk
+++ b/package/flashrom/flashrom.mk
@@ -3,7 +3,7 @@
# flashrom
#
#############################################################
-FLASHROM_VERSION = 0.9.3
+FLASHROM_VERSION = 0.9.6.1
FLASHROM_SOURCE = flashrom-$(FLASHROM_VERSION).tar.bz2
FLASHROM_SITE = http://download.flashrom.org/releases
diff --git a/package/gdk-pixbuf/gdk-pixbuf.mk b/package/gdk-pixbuf/gdk-pixbuf.mk
index 751f499..0d9e206 100644
--- a/package/gdk-pixbuf/gdk-pixbuf.mk
+++ b/package/gdk-pixbuf/gdk-pixbuf.mk
@@ -34,6 +34,11 @@ else
GDK_PIXBUF_DEPENDENCIES += tiff
endif
+ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
+GDK_PIXBUF_CONF_OPT += --with-x11
+GDK_PIXBUF_DEPENDENCIES += xlib_libX11
+endif
+
GDK_PIXBUF_DEPENDENCIES += \
$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) \
$(if $(BR2_ENABLE_LOCALE),,libiconv) \
diff --git a/package/gsl/Config.in b/package/gsl/Config.in
new file mode 100644
index 0000000..aa431d1
--- /dev/null
+++ b/package/gsl/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_GSL
+ bool "gsl"
+ help
+ The GNU Scientific Library (GSL) is a numerical library for
+ C and C++ programmers. The library provides a wide range of
+ mathematical routines such as random number generators,
+ special functions and least-squares fitting. There are over
+ 1000 functions in total with an extensive test suite.
+
+ http://www.gnu.org/software/gsl
diff --git a/package/gsl/gsl.mk b/package/gsl/gsl.mk
new file mode 100644
index 0000000..7196859
--- /dev/null
+++ b/package/gsl/gsl.mk
@@ -0,0 +1,13 @@
+#############################################################
+#
+# gnu gsl
+#
+#############################################################
+GSL_VERSION = 1.15
+GSL_SOURCE = gsl-$(GSL_VERSION).tar.gz
+GSL_SITE = $(BR2_GNU_MIRROR)/gsl
+GSL_INSTALL_STAGING = YES
+GSL_LICENSE = GPLv3
+GSL_LICENSE_FILES = COPYING
+
+$(eval $(autotools-package))
diff --git a/package/iproute2/iproute2.mk b/package/iproute2/iproute2.mk
index 27bc56f..c671e44 100644
--- a/package/iproute2/iproute2.mk
+++ b/package/iproute2/iproute2.mk
@@ -4,9 +4,11 @@
#
#############################################################
-IPROUTE2_VERSION = 3.4.0
+IPROUTE2_VERSION = 3.5.0
IPROUTE2_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/net/iproute2
IPROUTE2_TARGET_SBINS = ctstat genl ifstat ip lnstat nstat routef routel rtacct rtmon rtpr rtstat ss tc
+IPROUTE2_LICENSE = GPLv2
+IPROUTE2_LICENSE_FILES = COPYING
# If both iproute2 and busybox are selected, make certain we win
# the fight over who gets to have their utils actually installed.
diff --git a/package/iptables/iptables.mk b/package/iptables/iptables.mk
index a5ec6a7..bdef575 100644
--- a/package/iptables/iptables.mk
+++ b/package/iptables/iptables.mk
@@ -4,11 +4,13 @@
#
#############################################################
-IPTABLES_VERSION = 1.4.14
+IPTABLES_VERSION = 1.4.15
IPTABLES_SOURCE = iptables-$(IPTABLES_VERSION).tar.bz2
IPTABLES_SITE = http://ftp.netfilter.org/pub/iptables
IPTABLES_INSTALL_STAGING = YES
IPTABLES_DEPENDENCIES = host-pkg-config
+IPTABLES_LICENSE = GPLv2
+IPTABLES_LICENSE_FILES = COPYING
IPTABLES_CONF_OPT = --libexecdir=/usr/lib --with-kernel=$(LINUX_HEADERS_DIR)
diff --git a/package/iw/iw.mk b/package/iw/iw.mk
index bf23520..9c68093 100644
--- a/package/iw/iw.mk
+++ b/package/iw/iw.mk
@@ -4,7 +4,7 @@
#
#############################################################
-IW_VERSION = 3.5
+IW_VERSION = 3.6
IW_SOURCE = iw-$(IW_VERSION).tar.bz2
IW_SITE = http://wireless.kernel.org/download/iw
IW_DEPENDENCIES = host-pkg-config libnl
diff --git a/package/libfuse/libfuse.mk b/package/libfuse/libfuse.mk
index 246697f..c8c0130 100644
--- a/package/libfuse/libfuse.mk
+++ b/package/libfuse/libfuse.mk
@@ -4,9 +4,11 @@
#
#############################################################
-LIBFUSE_VERSION = 2.9.0
+LIBFUSE_VERSION = 2.9.1
LIBFUSE_SOURCE = fuse-$(LIBFUSE_VERSION).tar.gz
LIBFUSE_SITE = http://downloads.sourceforge.net/project/fuse/fuse-2.X/$(LIBFUSE_VERSION)
+LIBFUSE_LICENSE = GPLv2 LGPLv2.1
+LIBFUSE_LICENSE_FILES = COPYING COPYING.LIB
LIBFUSE_INSTALL_STAGING = YES
LIBFUSE_CONF_OPT= --disable-nls \
diff --git a/package/liblo/Config.in b/package/liblo/Config.in
new file mode 100644
index 0000000..4c2d719
--- /dev/null
+++ b/package/liblo/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_LIBLO
+ bool "liblo"
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ help
+ liblo is an implementation of the Open Sound Control
+ protocol for POSIX systems
+
+ http://liblo.sourceforge.net/
+
+comment "liblo requires thread support in toolchain"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/liblo/liblo.mk b/package/liblo/liblo.mk
new file mode 100644
index 0000000..924c3a7
--- /dev/null
+++ b/package/liblo/liblo.mk
@@ -0,0 +1,14 @@
+#############################################################
+#
+# liblo
+#
+#############################################################
+LIBLO_VERSION = 0.26
+LIBLO_SOURCE = liblo-$(LIBLO_VERSION).tar.gz
+LIBLO_SITE = http://downloads.sourceforge.net/project/liblo/liblo/$(LIBLO_VERSION)
+
+LIBLO_LICENSE = LGPLv2.1+
+LIBLO_LICENSE_FILES = COPYING
+LIBLO_INSTALL_STAGING = YES
+
+$(eval $(autotools-package))
diff --git a/package/libnspr/libnspr.mk b/package/libnspr/libnspr.mk
index 689caa4..736984d 100644
--- a/package/libnspr/libnspr.mk
+++ b/package/libnspr/libnspr.mk
@@ -16,4 +16,20 @@ LIBNSPR_CONF_OPT = --host=$(GNU_HOST_NAME)
LIBNSPR_CONF_OPT += --$(if $(BR2_ARCH_IS_64),en,dis)able-64bit
LIBNSPR_CONF_OPT += --$(if $(BR2_INET_IPV6),en,dis)able-ipv6
+define LIBNSPR_INSTALL_STAGING_PC
+ $(INSTALL) -D -m 0644 $(TOPDIR)/package/libnspr/nspr.pc.in \
+ $(STAGING_DIR)/usr/lib/pkgconfig/nspr.pc
+ $(SED) 's/@VERSION@/$(LIBNSPR_VERSION)/g;' \
+ $(STAGING_DIR)/usr/lib/pkgconfig/nspr.pc
+endef
+LIBNSPR_POST_INSTALL_STAGING_HOOKS += LIBNSPR_INSTALL_STAGING_PC
+
+define LIBNSPR_INSTALL_TARGET_PC
+ $(INSTALL) -D -m 0644 $(TOPDIR)/package/libnspr/nspr.pc.in \
+ $(TARGET_DIR)/usr/lib/pkgconfig/nspr.pc
+ $(SED) 's/@VERSION@/$(LIBNSPR_VERSION)/g;' \
+ $(TARGET_DIR)/usr/lib/pkgconfig/nspr.pc
+endef
+LIBNSPR_POST_INSTALL_TARGET_HOOKS += LIBNSPR_INSTALL_TARGET_PC
+
$(eval $(autotools-package))
diff --git a/package/libnspr/nspr.pc.in b/package/libnspr/nspr.pc.in
new file mode 100644
index 0000000..44873d2
--- /dev/null
+++ b/package/libnspr/nspr.pc.in
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include/nspr
+
+Name: NSPR
+Description: The Netscape Portable Runtime
+Version: @VERSION@
+Libs: -L${exec_prefix}/lib -lplds4 -lplc4 -lnspr4 -lpthread -ldl
+Cflags: -I${prefix}/include/nspr
diff --git a/package/libnss/libnss.mk b/package/libnss/libnss.mk
index f7fd682..84fc149 100644
--- a/package/libnss/libnss.mk
+++ b/package/libnss/libnss.mk
@@ -49,6 +49,10 @@ define LIBNSS_INSTALL_STAGING_CMDS
$(@D)/$(LIBNSS_DISTDIR)/public/nss/*
$(INSTALL) -m 755 -t $(STAGING_DIR)/usr/lib/ \
$(@D)/$(LIBNSS_DISTDIR)/lib/*.a
+ $(INSTALL) -D -m 0644 $(TOPDIR)/package/libnss/nss.pc.in \
+ $(STAGING_DIR)/usr/lib/pkgconfig/nss.pc
+ $(SED) 's/@VERSION@/$(LIBNSS_VERSION)/g;' \
+ $(STAGING_DIR)/usr/lib/pkgconfig/nss.pc
endef
define LIBNSS_INSTALL_TARGET_CMDS
@@ -59,6 +63,10 @@ define LIBNSS_INSTALL_TARGET_CMDS
$(@D)/$(LIBNSS_DISTDIR)/public/nss/*
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/lib/ \
$(@D)/$(LIBNSS_DISTDIR)/lib/*.a
+ $(INSTALL) -D -m 0644 $(TOPDIR)/package/libnss/nss.pc.in \
+ $(TARGET_DIR)/usr/lib/pkgconfig/nss.pc
+ $(SED) 's/@VERSION@/$(LIBNSS_VERSION)/g;' \
+ $(TARGET_DIR)/usr/lib/pkgconfig/nss.pc
endef
define LIBNSS_CLEAN_CMDS
diff --git a/package/libnss/nss.pc.in b/package/libnss/nss.pc.in
new file mode 100644
index 0000000..e27783f
--- /dev/null
+++ b/package/libnss/nss.pc.in
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include/nss
+
+Name: NSS
+Description: Mozilla Network Security Services
+Version: @VERSION@
+Requires: nspr
+Libs: -L${libdir} -lnss3 -lnssutil3 -lsmime3 -lssl3
+Cflags: -I${includedir}
diff --git a/package/linux-pam/Config.in b/package/linux-pam/Config.in
new file mode 100644
index 0000000..722b875
--- /dev/null
+++ b/package/linux-pam/Config.in
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_LINUX_PAM
+ bool "linux-pam"
+ select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
+ select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
+ select BR2_PACKAGE_FLEX
+ select BR2_PACKAGE_FLEX_LIBFL
+ depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR)
+ help
+ A Security Framework that Provides Authentication for Applications
+
+ http://linux-pam.org
+
+comment "linux-pam requires a toolchain with WCHAR and locale support"
+ depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR)
+
diff --git a/package/linux-pam/linux-pam-configure.patch b/package/linux-pam/linux-pam-configure.patch
new file mode 100644
index 0000000..0b2326b
--- /dev/null
+++ b/package/linux-pam/linux-pam-configure.patch
@@ -0,0 +1,20 @@
+Add check for ruserok
+
+ruserok is not available/functional in uclibc, provide conditions for compilation
+where needed.
+
+Signed-off-by: Dmitry Golubovsky <golubovsky@gmail.com>
+
+Index: linux-pam-1.1.4/configure.in
+============================================================================
+--- linux-pam-1.1.4/configure.in 2011-06-24 06:46:33.000000000 -0400
++++ linux-pam-1.1.4/configure.in 2012-08-09 21:14:11.000000000 -0400
+@@ -522,7 +522,7 @@
+ AC_CHECK_FUNCS(strcspn strdup strspn strstr strtol uname)
+ AC_CHECK_FUNCS(getutent_r getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r)
+ AC_CHECK_FUNCS(getgrouplist getline getdelim)
+-AC_CHECK_FUNCS(inet_ntop inet_pton innetgr ruserok_af)
++AC_CHECK_FUNCS(inet_ntop inet_pton innetgr ruserok_af ruserok)
+
+ AC_CHECK_FUNCS(unshare, [UNSHARE=yes], [UNSHARE=no])
+ AM_CONDITIONAL([HAVE_UNSHARE], [test "$UNSHARE" = yes])
diff --git a/package/linux-pam/linux-pam-doc-makefile-am.patch b/package/linux-pam/linux-pam-doc-makefile-am.patch
new file mode 100644
index 0000000..f08d349
--- /dev/null
+++ b/package/linux-pam/linux-pam-doc-makefile-am.patch
@@ -0,0 +1,33 @@
+Disable generation of documentation
+
+Generation of documentation is not necessary in Buildroot, disable it completely.
+
+Signed-off-by: Dmitry Golubovsky <golubovsky@gmail.com>
+
+Index: linux-pam-1.1.4/doc/Makefile.am
+============================================================================
+--- linux-pam-1.1.4/doc/Makefile.am 2011-06-21 05:04:56.000000000 -0400
++++ linux-pam-1.1.4/doc/Makefile.am 2012-08-09 05:59:23.000000000 -0400
+@@ -2,8 +2,6 @@
+ # Copyright (c) 2005, 2006 Thorsten Kukuk <kukuk@suse.de>
+ #
+
+-SUBDIRS = man specs sag adg mwg
+-
+ CLEANFILES = *~
+
+ dist_html_DATA = index.html
+@@ -11,12 +9,4 @@
+ #######################################################
+
+ releasedocs: all
+- $(mkinstalldirs) $(top_builddir)/Linux-PAM-$(VERSION)/doc/specs
+- cp -av specs/draft-morgan-pam-current.txt \
+- $(top_builddir)/Linux-PAM-$(VERSION)/doc/specs/
+- cp -av $(srcdir)/specs/rfc86.0.txt \
+- $(top_builddir)/Linux-PAM-$(VERSION)/doc/specs/
+- make -C sag releasedocs
+- make -C adg releasedocs
+- make -C mwg releasedocs
+-
++ /bin/true
diff --git a/package/linux-pam/linux-pam-group.patch b/package/linux-pam/linux-pam-group.patch
new file mode 100644
index 0000000..a94cf9e
--- /dev/null
+++ b/package/linux-pam/linux-pam-group.patch
@@ -0,0 +1,26 @@
+Conditionally compile per innetgr availability
+
+innetgr is not available/functional in uclibc, provide conditions for compilation.
+
+Signed-off-by: Dmitry Golubovsky <golubovsky@gmail.com>
+
+Index: linux-pam-1.1.4/modules/pam_group/pam_group.c
+============================================================================
+--- linux-pam-1.1.4/modules/pam_group/pam_group.c 2011-06-21 05:04:56.000000000 -0400
++++ linux-pam-1.1.4/modules/pam_group/pam_group.c 2012-08-09 21:35:06.000000000 -0400
+@@ -655,8 +655,14 @@
+ continue;
+ }
+ /* If buffer starts with @, we are using netgroups */
+- if (buffer[0] == '@')
++ if (buffer[0] == '@') {
++#ifdef HAVE_INNETGR
+ good &= innetgr (&buffer[1], NULL, user, NULL);
++#else
++ good = 0;
++ pam_syslog (pamh, LOG_ERR, "pam_group does not have netgroup support");
++#endif /* HAVE_INNETGR */
++ }
+ /* otherwise, if the buffer starts with %, it's a UNIX group */
+ else if (buffer[0] == '%')
+ good &= pam_modutil_user_in_group_nam_nam(pamh, user, &buffer[1]);
diff --git a/package/linux-pam/linux-pam-rhosts.patch b/package/linux-pam/linux-pam-rhosts.patch
new file mode 100644
index 0000000..58f9adb
--- /dev/null
+++ b/package/linux-pam/linux-pam-rhosts.patch
@@ -0,0 +1,24 @@
+Conditionally compile per ruserok availability
+
+ruserok is not available/functional in uclibc, provide conditions for compilation.
+
+Signed-off-by: Dmitry Golubovsky <golubovsky@gmail.com>
+
+Index: linux-pam-1.1.4/modules/pam_rhosts/pam_rhosts.c
+============================================================================
+--- linux-pam-1.1.4/modules/pam_rhosts/pam_rhosts.c 2011-06-21 05:04:56.000000000 -0400
++++ linux-pam-1.1.4/modules/pam_rhosts/pam_rhosts.c 2012-08-09 21:19:34.000000000 -0400
+@@ -114,8 +114,12 @@
+ #ifdef HAVE_RUSEROK_AF
+ retval = ruserok_af (rhost, as_root, ruser, luser, PF_UNSPEC);
+ #else
++ #ifdef HAVE_RUSEROK
+ retval = ruserok (rhost, as_root, ruser, luser);
+-#endif
++ #else
++ retval = -1;
++ #endif /* HAVE_RUSEROK */
++#endif /*HAVE_RUSEROK_AF */
+ if (retval != 0) {
+ if (!opt_silent || opt_debug)
+ pam_syslog(pamh, LOG_WARNING, "denied access to %s@%s as %s",
diff --git a/package/linux-pam/linux-pam-succeed.patch b/package/linux-pam/linux-pam-succeed.patch
new file mode 100644
index 0000000..8a675ef
--- /dev/null
+++ b/package/linux-pam/linux-pam-succeed.patch
@@ -0,0 +1,31 @@
+Conditionally compile per innetgr availability
+
+innetgr is not available/functional in uclibc, provide conditions for compilation.
+
+Signed-off-by: Dmitry Golubovsky <golubovsky@gmail.com>
+
+Index: linux-pam-1.1.4/modules/pam_succeed_if/pam_succeed_if.c
+============================================================================
+--- linux-pam-1.1.4/modules/pam_succeed_if/pam_succeed_if.c 2011-06-21 05:04:56.000000000 -0400
++++ linux-pam-1.1.4/modules/pam_succeed_if/pam_succeed_if.c 2012-08-09 21:05:02.000000000 -0400
+@@ -233,16 +233,20 @@
+ static int
+ evaluate_innetgr(const char *host, const char *user, const char *group)
+ {
++#ifdef HAVE_INNETGR
+ if (innetgr(group, host, user, NULL) == 1)
+ return PAM_SUCCESS;
++#endif /* HAVE_INNETGR */
+ return PAM_AUTH_ERR;
+ }
+ /* Return PAM_SUCCESS if the (host,user) is NOT in the netgroup. */
+ static int
+ evaluate_notinnetgr(const char *host, const char *user, const char *group)
+ {
++#ifdef HAVE_INNETGR
+ if (innetgr(group, host, user, NULL) == 0)
+ return PAM_SUCCESS;
++#endif /* HAVE_INNETGR */
+ return PAM_AUTH_ERR;
+ }
+
diff --git a/package/linux-pam/linux-pam-time.patch b/package/linux-pam/linux-pam-time.patch
new file mode 100644
index 0000000..58d7c9f
--- /dev/null
+++ b/package/linux-pam/linux-pam-time.patch
@@ -0,0 +1,26 @@
+Conditionally compile per innetgr availability
+
+innetgr is not available/functional in uclibc, provide conditions for compilation.
+
+Signed-off-by: Dmitry Golubovsky <golubovsky@gmail.com>
+
+Index: linux-pam-1.1.4/modules/pam_time/pam_time.c
+============================================================================
+--- linux-pam-1.1.4/modules/pam_time/pam_time.c 2011-06-21 05:04:56.000000000 -0400
++++ linux-pam-1.1.4/modules/pam_time/pam_time.c 2012-08-09 21:02:29.000000000 -0400
+@@ -554,8 +554,14 @@
+ continue;
+ }
+ /* If buffer starts with @, we are using netgroups */
+- if (buffer[0] == '@')
++ if (buffer[0] == '@') {
++#ifdef HAVE_INNETGR
+ good &= innetgr (&buffer[1], NULL, user, NULL);
++#else
++ good = 0;
++ pam_syslog (pamh, LOG_ERR, "pam_time does not have netgroup support");
++#endif /* HAVE_INNETGR */
++ }
+ else
+ good &= logic_field(pamh, user, buffer, count, is_same);
+ D(("with user: %s", good ? "passes":"fails" ));
diff --git a/package/linux-pam/linux-pam.mk b/package/linux-pam/linux-pam.mk
new file mode 100644
index 0000000..48cb073
--- /dev/null
+++ b/package/linux-pam/linux-pam.mk
@@ -0,0 +1,27 @@
+############################################
+#
+# linux-pam
+#
+############################################
+
+LINUX_PAM_VERSION = 1.1.4
+LINUX_PAM_SOURCE = Linux-PAM-$(LINUX_PAM_VERSION).tar.bz2
+LINUX_PAM_SITE = http://linux-pam.org/library/
+LINUX_PAM_INSTALL_STAGING = YES
+LINUX_PAM_CONF_OPT = \
+ --disable-prelude \
+ --disable-isadir \
+ --disable-nis \
+ --disable-regenerate-docu \
+ --enable-securedir=/lib/security \
+ --libdir=/lib
+LINUX_PAM_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) flex
+LINUX_PAM_AUTORECONF = YES
+LINUX_PAM_LICENSE = BSD-3c
+LINUX_PAM_LICENSE_FILES = Copyright
+
+ifeq ($(BR2_PACKAGE_LIBINTL),y)
+ LINUX_PAM_MAKE_OPT += LIBS=-lintl
+endif
+
+$(eval $(autotools-package))
diff --git a/package/microperl/microperl.mk b/package/microperl/microperl.mk
index fbf319c..b2a912a 100644
--- a/package/microperl/microperl.mk
+++ b/package/microperl/microperl.mk
@@ -7,6 +7,8 @@
MICROPERL_VERSION = 5.12.4
MICROPERL_SITE = http://www.cpan.org/src/5.0
MICROPERL_SOURCE = perl-$(MICROPERL_VERSION).tar.bz2
+MICROPERL_LICENSE = Artistic
+MICROPERL_LICENSE_FILES = Artistic
MICROPERL_DEPENDENCIES = host-microperl
MICROPERL_MODS_DIR = /usr/lib/perl5/$(MICROPERL_VERSION)
MICROPERL_ARCH_DIR = $(MICROPERL_MODS_DIR)/$(GNU_TARGET_NAME)
diff --git a/package/mtdev/Config.in b/package/mtdev/Config.in
new file mode 100644
index 0000000..3419903
--- /dev/null
+++ b/package/mtdev/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_MTDEV
+ bool "mtdev"
+ help
+ The mtdev is a stand-alone library which transforms all
+ variants of kernel MT events to the slotted type B protocol.
+
+ http://bitmath.org/code/mtdev/
+
diff --git a/package/mtdev/mtdev.mk b/package/mtdev/mtdev.mk
new file mode 100644
index 0000000..09f76f2
--- /dev/null
+++ b/package/mtdev/mtdev.mk
@@ -0,0 +1,14 @@
+#############################################################
+#
+# mtdev
+#
+#############################################################
+MTDEV_VERSION = 1.1.3
+MTDEV_SOURCE = mtdev-$(MTDEV_VERSION).tar.bz2
+MTDEV_SITE = http://bitmath.org/code/mtdev/
+
+MTDEV_LICENSE = MIT
+MTDEV_LICENSE_FILES = COPYING
+MTDEV_INSTALL_STAGING = YES
+
+$(eval $(autotools-package))
diff --git a/package/mtdev2tuio/Config.in b/package/mtdev2tuio/Config.in
new file mode 100644
index 0000000..74453c4
--- /dev/null
+++ b/package/mtdev2tuio/Config.in
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_MTDEV2TUIO
+ bool "mtdev2tuio"
+ select BR2_PACKAGE_LIBLO
+ select BR2_PACKAGE_MTDEV
+ depends on BR2_TOOLCHAIN_HAS_THREADS # liblo
+ help
+ mtdev2tuio is a simple application for converting touch
+ events captured from libmtdev to TUIO 1.1
+
+ https://github.com/olivopaolo/mtdev2tuio
+
+comment "mtdev2tuio requires thread support in toolchain"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/mtdev2tuio/mtdev2tuio.mk b/package/mtdev2tuio/mtdev2tuio.mk
new file mode 100644
index 0000000..a86c0bf
--- /dev/null
+++ b/package/mtdev2tuio/mtdev2tuio.mk
@@ -0,0 +1,29 @@
+#############################################################
+#
+# mtdev2tuio
+#
+#############################################################
+MTDEV2TUIO_VERSION = e1e7378d86
+MTDEV2TUIO_SITE = git://github.com/olivopaolo/mtdev2tuio.git
+MTDEV2TUIO_DEPENDENCIES = mtdev liblo
+MTDEV2TUIO_LICENSE = GPLv3+
+MTDEV2TUIO_LICENSE_FILES = COPYING
+
+# mtdev2tuio Makefile misuses $(LD) as gcc, so we need to override LD
+# here.
+define MTDEV2TUIO_BUILD_CMDS
+ $(MAKE) \
+ $(TARGET_CONFIGURE_OPTS) \
+ LD="$(TARGET_CC)" \
+ -C $(@D)
+endef
+
+define MTDEV2TUIO_INSTALL_TARGET_CMDS
+ $(INSTALL) -D -m 0755 $(@D)/mtdev2tuio $(TARGET_DIR)/usr/bin/mtdev2tuio
+endef
+
+define MTDEV2TUIO_CLEAN_CMDS
+ $(MAKE) -C $(@D) clean
+endef
+
+$(eval $(generic-package))
diff --git a/package/multimedia/mpd/mpd.mk b/package/multimedia/mpd/mpd.mk
index 7c88b9c..28cb4d2 100644
--- a/package/multimedia/mpd/mpd.mk
+++ b/package/multimedia/mpd/mpd.mk
@@ -4,9 +4,11 @@
#
#############################################################
-MPD_VERSION = 0.16.8
+MPD_VERSION = 0.17.1
MPD_SITE = http://downloads.sourceforge.net/project/musicpd/mpd/$(MPD_VERSION)
MPD_DEPENDENCIES = host-pkg-config libglib2
+MPD_LICENSE = GPLv2
+MPD_LICENSE_FILES = COPYING
# Some options need an explicit --disable or --enable
diff --git a/package/multimedia/mpg123/mpg123.mk b/package/multimedia/mpg123/mpg123.mk
index 5ed43a1..415fc24 100644
--- a/package/multimedia/mpg123/mpg123.mk
+++ b/package/multimedia/mpg123/mpg123.mk
@@ -4,11 +4,13 @@
#
#############################################################
-MPG123_VERSION = 1.14.2
+MPG123_VERSION = 1.14.4
MPG123_SOURCE = mpg123-$(MPG123_VERSION).tar.bz2
MPG123_SITE = http://downloads.sourceforge.net/project/mpg123/mpg123/$(MPG123_VERSION)
MPG123_CONF_OPT = --with-optimization=0 --disable-lfs-alias
MPG123_INSTALL_STAGING = YES
+MPG123_LICENSE = LGPLv2.1
+MPG123_LICENSE_FILES = COPYING
MPG123_CPU = $(if $(BR2_SOFT_FLOAT),generic_nofpu,generic_fpu)
diff --git a/package/multimedia/mplayer/mplayer-1.0rc3-disable-install-strip.patch b/package/multimedia/mplayer/mplayer-1.1-disable-install-strip.patch
index 644d292..644d292 100644
--- a/package/multimedia/mplayer/mplayer-1.0rc3-disable-install-strip.patch
+++ b/package/multimedia/mplayer/mplayer-1.1-disable-install-strip.patch
diff --git a/package/multimedia/mplayer/mplayer-1.0rc3-fix-cc-parsing.patch b/package/multimedia/mplayer/mplayer-1.1-fix-cc-parsing.patch
index a3ba03f..a3ba03f 100644
--- a/package/multimedia/mplayer/mplayer-1.0rc3-fix-cc-parsing.patch
+++ b/package/multimedia/mplayer/mplayer-1.1-fix-cc-parsing.patch
diff --git a/package/multimedia/mplayer/mplayer-theora-fix.patch b/package/multimedia/mplayer/mplayer-theora-fix.patch
deleted file mode 100644
index 08bb29b..0000000
--- a/package/multimedia/mplayer/mplayer-theora-fix.patch
+++ /dev/null
@@ -1,374 +0,0 @@
-[PATCH] fix libtheora linking issue with modern theora versions
-
-This is a squash/backport of upstream r34498 (configure: Simplify
-Theora check) and r34503 (Port libtheora glue code to Theora 1.0 API).
-
-Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
----
- configure | 56 ++++--------------------------------
- libmpcodecs/vd_theora.c | 74 +++++++++++++++++++++++++-----------------------
- libmpdemux/demux_ogg.c | 54 ++++++++++++++++++-----------------
- 3 files changed, 74 insertions(+), 110 deletions(-)
-
-Index: mplayer-32726/configure
-===================================================================
---- mplayer-32726.orig/configure
-+++ mplayer-32726/configure
-@@ -6404,57 +6404,15 @@
- echocheck "OggTheora support"
- if test "$_theora" = auto ; then
- _theora=no
-- cat > $TMPC << EOF
--#include <theora/theora.h>
--#include <string.h>
--int main(void) {
-- /* Theora is in flux, make sure that all interface routines and datatypes
-- * exist and work the way we expect it, so we don't break MPlayer. */
-- ogg_packet op;
-- theora_comment tc;
-- theora_info inf;
-- theora_state st;
-- yuv_buffer yuv;
-- int r;
-- double t;
--
-- theora_info_init(&inf);
-- theora_comment_init(&tc);
--
-- return 0;
--
-- /* we don't want to execute this kind of nonsense; just for making sure
-- * that compilation works... */
-- memset(&op, 0, sizeof(op));
-- r = theora_decode_header(&inf, &tc, &op);
-- r = theora_decode_init(&st, &inf);
-- t = theora_granule_time(&st, op.granulepos);
-- r = theora_decode_packetin(&st, &op);
-- r = theora_decode_YUVout(&st, &yuv);
-- theora_clear(&st);
--
-- return 0;
--}
--EOF
-- _ld_theora=$($_pkg_config --silence-errors --libs theora)
-- _inc_theora=$($_pkg_config --silence-errors --cflags theora)
-- cc_check $_inc_theora $_ld_theora && extra_ldflags="$extra_ldflags $_ld_theora" &&
-- extra_cflags="$extra_cflags $_inc_theora" && _theora=yes
-+ ld_theora="-ltheoradec -logg"
-+ statement_check theora/theoradec.h 'theora_info_init(NULL)' $ld_theora &&
-+ extra_ldflags="$extra_ldflags $ld_theora" && _theora=yes
- if test _theora = no; then
-- _ld_theora="-ltheora -logg"
-- cc_check $_ld_theora && extra_ldflags="$extra_ldflags $_ld_theora" && _theora=yes
-- fi
-- if test "$_theora" = no && test "$_tremor_internal" = yes; then
-- _ld_theora=$($_pkg_config --silence-errors --libs theora)
-- _inc_theora=$($_pkg_config --silence-errors --cflags theora)
-- cc_check tremor/bitwise.c $_inc_theora $_ld_theora &&
-+ _ld_theora=$($_pkg_config --silence-errors --libs theoradec)
-+ _inc_theora=$($_pkg_config --silence-errors --cflags theoradec)
-+ statement_check theora/theoradec.h 'theora_info_init(NULL)' $inc_theora $ld_theora &&
- extra_ldflags="$extra_ldflags $_ld_theora" &&
- extra_cflags="$extra_cflags $_inc_theora" && _theora=yes
-- if test _theora = no; then
-- _ld_theora="-ltheora -logg"
-- cc_check tremor/bitwise.c $_ld_theora &&
-- extra_ldflags="$extra_ldflags $_ld_theora" && _theora=yes
-- fi
- fi
- fi
- if test "$_theora" = yes ; then
-@@ -6462,7 +6420,7 @@
- codecmodules="libtheora $codecmodules"
- # when --enable-theora is forced, we'd better provide a probably sane
- # $_ld_theora than nothing
-- test -z "$_ld_theora" && extra_ldflags="$extra_ldflags -ltheora -logg"
-+ test -z "$_ld_theora" && extra_ldflags="$extra_ldflags -ltheoradec -logg"
- else
- def_theora='#undef CONFIG_OGGTHEORA'
- nocodecmodules="libtheora $nocodecmodules"
-Index: mplayer-32726/libmpcodecs/vd_theora.c
-===================================================================
---- mplayer-32726.orig/libmpcodecs/vd_theora.c
-+++ mplayer-32726/libmpcodecs/vd_theora.c
-@@ -39,22 +39,23 @@
-
- LIBVD_EXTERN(theora)
-
--#include <theora/theora.h>
-+#include <theora/theoradec.h>
-
- #define THEORA_NUM_HEADER_PACKETS 3
-
- typedef struct theora_struct_st {
-- theora_state st;
-- theora_comment cc;
-- theora_info inf;
-+ th_setup_info *tsi;
-+ th_dec_ctx *tctx;
-+ th_comment tc;
-+ th_info ti;
- } theora_struct_t;
-
- /** Convert Theora pixelformat to the corresponding IMGFMT_ */
--static uint32_t theora_pixelformat2imgfmt(theora_pixelformat fmt){
-+static uint32_t theora_pixelformat2imgfmt(th_pixel_fmt fmt){
- switch(fmt) {
-- case OC_PF_420: return IMGFMT_YV12;
-- case OC_PF_422: return IMGFMT_422P;
-- case OC_PF_444: return IMGFMT_444P;
-+ case TH_PF_420: return IMGFMT_YV12;
-+ case TH_PF_422: return IMGFMT_422P;
-+ case TH_PF_444: return IMGFMT_444P;
- }
- return 0;
- }
-@@ -64,7 +65,7 @@
- theora_struct_t *context = sh->context;
- switch(cmd) {
- case VDCTRL_QUERY_FORMAT:
-- if (*(int*)arg == theora_pixelformat2imgfmt(context->inf.pixelformat))
-+ if (*(int*)arg == theora_pixelformat2imgfmt(context->ti.pixel_fmt))
- return CONTROL_TRUE;
- return CONTROL_FALSE;
- }
-@@ -88,8 +89,9 @@
- if (!context)
- goto err_out;
-
-- theora_info_init(&context->inf);
-- theora_comment_init(&context->cc);
-+ th_info_init(&context->ti);
-+ th_comment_init(&context->tc);
-+ context->tsi = NULL;
-
- /* Read all header packets, pass them to theora_decode_header. */
- for (i = 0; i < THEORA_NUM_HEADER_PACKETS; i++)
-@@ -109,7 +111,7 @@
- op.b_o_s = 1;
- }
-
-- if ( (errorCode = theora_decode_header (&context->inf, &context->cc, &op)) )
-+ if ( (errorCode = th_decode_headerin (&context->ti, &context->tc, &context->tsi, &op)) < 0)
- {
- mp_msg(MSGT_DECVIDEO, MSGL_ERR, "Broken Theora header; errorCode=%i!\n", errorCode);
- goto err_out;
-@@ -117,23 +119,25 @@
- }
-
- /* now init codec */
-- errorCode = theora_decode_init (&context->st, &context->inf);
-- if (errorCode)
-+ context->tctx = th_decode_alloc (&context->ti, context->tsi);
-+ if (!context->tctx)
- {
-- mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Theora decode init failed: %i \n", errorCode);
-+ mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Theora decode init failed\n");
- goto err_out;
- }
-+ /* free memory used for decoder setup information */
-+ th_setup_free(context->tsi);
-
-- if(sh->aspect==0.0 && context->inf.aspect_denominator!=0)
-+ if(sh->aspect==0.0 && context->ti.aspect_denominator!=0)
- {
-- sh->aspect = ((double)context->inf.aspect_numerator * context->inf.width)/
-- ((double)context->inf.aspect_denominator * context->inf.height);
-+ sh->aspect = ((double)context->ti.aspect_numerator * context->ti.frame_width)/
-+ ((double)context->ti.aspect_denominator * context->ti.frame_height);
- }
-
- mp_msg(MSGT_DECVIDEO,MSGL_V,"INFO: Theora video init ok!\n");
-- mp_msg(MSGT_DECVIDEO,MSGL_INFO,"Frame: %dx%d, Picture %dx%d, Offset [%d,%d]\n", context->inf.width, context->inf.height, context->inf.frame_width, context->inf.frame_height, context->inf.offset_x, context->inf.offset_y);
-+ mp_msg(MSGT_DECVIDEO,MSGL_INFO,"Frame: %dx%d, Picture %dx%d, Offset [%d,%d]\n", context->ti.frame_width, context->ti.frame_height, context->ti.pic_width, context->ti.pic_height, context->ti.pic_x, context->ti.pic_y);
-
-- return mpcodecs_config_vo (sh,context->inf.width,context->inf.height,theora_pixelformat2imgfmt(context->inf.pixelformat));
-+ return mpcodecs_config_vo (sh,context->ti.frame_width,context->ti.frame_height,theora_pixelformat2imgfmt(context->ti.pixel_fmt));
-
- err_out:
- free(context);
-@@ -150,9 +154,9 @@
-
- if (context)
- {
-- theora_info_clear(&context->inf);
-- theora_comment_clear(&context->cc);
-- theora_clear (&context->st);
-+ th_info_clear(&context->ti);
-+ th_comment_clear(&context->tc);
-+ th_decode_free (context->tctx);
- free (context);
- }
- }
-@@ -165,7 +169,7 @@
- theora_struct_t *context = sh->context;
- int errorCode = 0;
- ogg_packet op;
-- yuv_buffer yuv;
-+ th_ycbcr_buffer ycbcrbuf;
- mp_image_t* mpi;
-
- // no delayed frames
-@@ -177,31 +181,31 @@
- op.packet = data;
- op.granulepos = -1;
-
-- errorCode = theora_decode_packetin (&context->st, &op);
-- if (errorCode)
-+ errorCode = th_decode_packetin (context->tctx, &op, NULL);
-+ if (errorCode < 0)
- {
- mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Theora decode packetin failed: %i \n",
- errorCode);
- return NULL;
- }
-
-- errorCode = theora_decode_YUVout (&context->st, &yuv);
-- if (errorCode)
-+ errorCode = th_decode_ycbcr_out (context->tctx, ycbcrbuf);
-+ if (errorCode < 0)
- {
- mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Theora decode YUVout failed: %i \n",
- errorCode);
- return NULL;
- }
-
-- mpi = mpcodecs_get_image(sh, MP_IMGTYPE_EXPORT, 0, yuv.y_width, yuv.y_height);
-+ mpi = mpcodecs_get_image(sh, MP_IMGTYPE_EXPORT, 0, ycbcrbuf[0].width, ycbcrbuf[0].height);
- if(!mpi) return NULL;
-
-- mpi->planes[0]=yuv.y;
-- mpi->stride[0]=yuv.y_stride;
-- mpi->planes[1]=yuv.u;
-- mpi->stride[1]=yuv.uv_stride;
-- mpi->planes[2]=yuv.v;
-- mpi->stride[2]=yuv.uv_stride;
-+ mpi->planes[0]=ycbcrbuf[0].data;
-+ mpi->stride[0]=ycbcrbuf[0].stride;
-+ mpi->planes[1]=ycbcrbuf[1].data;
-+ mpi->stride[1]=ycbcrbuf[1].stride;
-+ mpi->planes[2]=ycbcrbuf[2].data;
-+ mpi->stride[2]=ycbcrbuf[2].stride;
-
- return mpi;
- }
-Index: mplayer-32726/libmpdemux/demux_ogg.c
-===================================================================
---- mplayer-32726.orig/libmpdemux/demux_ogg.c
-+++ mplayer-32726/libmpdemux/demux_ogg.c
-@@ -49,21 +49,21 @@
- #endif
-
- #ifdef CONFIG_OGGTHEORA
--#include <theora/theora.h>
--int _ilog (unsigned int); /* defined in many places in theora/lib/ */
-+#include <theora/theoradec.h>
- #endif
-
- #define BLOCK_SIZE 4096
-
- /* Theora decoder context : we won't be able to interpret granule positions
-- * without using theora_granule_time with the theora_state of the stream.
-+ * without using th_granule_time with the th_dec_ctx of the stream.
- * This is duplicated in `vd_theora.c'; put this in a common header?
- */
- #ifdef CONFIG_OGGTHEORA
- typedef struct theora_struct_st {
-- theora_state st;
-- theora_comment cc;
-- theora_info inf;
-+ th_setup_info *tsi;
-+ th_dec_ctx *tctx;
-+ th_comment tc;
-+ th_info ti;
- } theora_struct_t;
- #endif
-
-@@ -116,7 +116,7 @@
- float samplerate; /// granulpos 2 time
- int64_t lastpos;
- int32_t lastsize;
-- int keyframe_frequency_force;
-+ int keyframe_granule_shift;
-
- // Logical stream state
- ogg_stream_state stream;
-@@ -299,11 +299,10 @@
- have theora_state st, until all header packets were passed to the
- decoder. */
- if (!pack->bytes || !(*data&0x80)) {
-- int keyframe_granule_shift = _ilog(os->keyframe_frequency_force - 1);
-- int64_t iframemask = (1 << keyframe_granule_shift) - 1;
-+ int64_t iframemask = (1 << os->keyframe_granule_shift) - 1;
-
- if (pack->granulepos >= 0) {
-- os->lastpos = pack->granulepos >> keyframe_granule_shift;
-+ os->lastpos = pack->granulepos >> os->keyframe_granule_shift;
- os->lastpos += pack->granulepos & iframemask;
- *flags = (pack->granulepos & iframemask) == 0;
- } else {
-@@ -892,14 +891,15 @@
- #ifdef CONFIG_OGGTHEORA
- } else if (pack.bytes >= 7 && !strncmp (&pack.packet[1], "theora", 6)) {
- int errorCode = 0;
-- theora_info inf;
-- theora_comment cc;
-+ th_info ti;
-+ th_comment tc;
-+ th_setup_info *tsi = NULL;
-
-- theora_info_init (&inf);
-- theora_comment_init (&cc);
-+ th_info_init (&ti);
-+ th_comment_init (&tc);
-
-- errorCode = theora_decode_header (&inf, &cc, &pack);
-- if (errorCode) {
-+ errorCode = th_decode_headerin(&ti, &tc, &tsi, &pack);
-+ if (errorCode < 0) {
- mp_msg(MSGT_DEMUX, MSGL_ERR,
- "Theora header parsing failed: %i \n", errorCode);
- } else {
-@@ -908,30 +908,32 @@
- sh_v->bih = calloc(1, sizeof(*sh_v->bih));
- sh_v->bih->biSize = sizeof(*sh_v->bih);
- sh_v->bih->biCompression = sh_v->format = FOURCC_THEORA;
-- sh_v->fps = ((double)inf.fps_numerator) / (double)inf.fps_denominator;
-- sh_v->frametime = ((double)inf.fps_denominator) / (double)inf.fps_numerator;
-- sh_v->disp_w = sh_v->bih->biWidth = inf.frame_width;
-- sh_v->disp_h = sh_v->bih->biHeight = inf.frame_height;
-+ sh_v->fps = ((double)ti.fps_numerator) / (double)ti.fps_denominator;
-+ sh_v->frametime = ((double)ti.fps_denominator) / (double)ti.fps_numerator;
-+ sh_v->i_bps = ti.target_bitrate / 8;
-+ sh_v->disp_w = sh_v->bih->biWidth = ti.frame_width;
-+ sh_v->disp_h = sh_v->bih->biHeight = ti.frame_height;
- sh_v->bih->biBitCount = 24;
- sh_v->bih->biPlanes = 3;
- sh_v->bih->biSizeImage = ((sh_v->bih->biBitCount / 8) * sh_v->bih->biWidth * sh_v->bih->biHeight);
- ogg_d->subs[ogg_d->num_sub].samplerate = sh_v->fps;
- ogg_d->subs[ogg_d->num_sub].theora = 1;
-- ogg_d->subs[ogg_d->num_sub].keyframe_frequency_force = inf.keyframe_frequency_force;
-+ ogg_d->subs[ogg_d->num_sub].keyframe_granule_shift = ti.keyframe_granule_shift;
- ogg_d->subs[ogg_d->num_sub].id = n_video;
- n_video++;
- mp_msg(MSGT_DEMUX, MSGL_INFO,
- "[Ogg] stream %d: video (Theora v%d.%d.%d), -vid %d\n",
- ogg_d->num_sub,
-- (int)inf.version_major,
-- (int)inf.version_minor,
-- (int)inf.version_subminor,
-+ (int)ti.version_major,
-+ (int)ti.version_minor,
-+ (int)ti.version_subminor,
- n_video - 1);
- if (mp_msg_test(MSGT_HEADER, MSGL_V))
- print_video_header(sh_v->bih, MSGL_V);
- }
-- theora_comment_clear(&cc);
-- theora_info_clear(&inf);
-+ th_comment_clear(&tc);
-+ th_info_clear(&ti);
-+ th_setup_free(tsi);
- #endif /* CONFIG_OGGTHEORA */
- } else if (pack.bytes >= 4 && !strncmp (&pack.packet[0], "fLaC", 4)) {
- sh_a = new_sh_audio_aid(demuxer, ogg_d->num_sub, n_audio, NULL);
diff --git a/package/multimedia/mplayer/mplayer.mk b/package/multimedia/mplayer/mplayer.mk
index f4fedf4..05120bf 100644
--- a/package/multimedia/mplayer/mplayer.mk
+++ b/package/multimedia/mplayer/mplayer.mk
@@ -3,10 +3,9 @@
# mplayer
#
#############################################################
-MPLAYER_VERSION = 32726
-# MPLAYER_SOURCE = MPlayer-$(MPLAYER_VERSION).tar.bz2
-# MPLAYER_SITE = http://www.mplayerhq.hu/MPlayer/releases
-MPLAYER_SITE = svn://svn.mplayerhq.hu/mplayer/trunk
+MPLAYER_VERSION = 1.1
+MPLAYER_SOURCE = MPlayer-$(MPLAYER_VERSION).tar.xz
+MPLAYER_SITE = http://www.mplayerhq.hu/MPlayer/releases
MPLAYER_CFLAGS = $(TARGET_CFLAGS)
MPLAYER_LDFLAGS = $(TARGET_LDFLAGS)
@@ -25,18 +24,6 @@ else
MPLAYER_CONF_OPTS += --disable-big-endian
endif
-# mplayer unfortunately uses --disable-largefiles, so we cannot use
-# DISABLE_LARGEFILE
-ifeq ($(BR2_LARGEFILE),y)
-MPLAYER_CONF_OPTS += --enable-largefiles
-else
-# dvdread/dvdcss requires largefile support
-MPLAYER_CONF_OPTS += \
- --disable-largefiles \
- --disable-dvdread-internal \
- --disable-libdvdcss-internal
-endif
-
ifeq ($(BR2_PACKAGE_SDL),y)
MPLAYER_CONF_OPTS += \
--enable-sdl \
diff --git a/package/openssl/openssl.mk b/package/openssl/openssl.mk
index 4ae65b1..0917344 100644
--- a/package/openssl/openssl.mk
+++ b/package/openssl/openssl.mk
@@ -4,7 +4,7 @@
#
#############################################################
-OPENSSL_VERSION = 1.0.0j
+OPENSSL_VERSION = 1.0.1c
OPENSSL_SITE = http://www.openssl.org/source
OPENSSL_LICENSE = OpenSSL or SSLeay
OPENSSL_LICENSE_FILES = LICENSE
diff --git a/package/opkg/opkg.mk b/package/opkg/opkg.mk
index be67f8e..3ba61ae 100644
--- a/package/opkg/opkg.mk
+++ b/package/opkg/opkg.mk
@@ -4,11 +4,13 @@
#
#############################################################
-OPKG_VERSION = 0.1.8
+OPKG_VERSION = 635
OPKG_SOURCE = opkg-$(OPKG_VERSION).tar.gz
-OPKG_SITE = http://opkg.googlecode.com/files
+OPKG_SITE = http://opkg.googlecode.com/svn/trunk/
+OPKG_SITE_METHOD = svn
OPKG_INSTALL_STAGING = YES
OPKG_CONF_OPT = --disable-curl --disable-gpg
+OPKG_AUTORECONF = YES
# Ensure directory for lockfile exists
define OPKG_CREATE_LOCKDIR
diff --git a/package/python-meld3/Config.in b/package/python-meld3/Config.in
new file mode 100644
index 0000000..8dee723
--- /dev/null
+++ b/package/python-meld3/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_PYTHON_MELD3
+ bool "python-meld3"
+ depends on BR2_PACKAGE_PYTHON
+ select BR2_PACKAGE_PYTHON_PYEXPAT
+ help
+ A HTML/XML templating system.
+
+ https://github.com/supervisor/meld3
diff --git a/package/python-meld3/python-meld3.mk b/package/python-meld3/python-meld3.mk
new file mode 100644
index 0000000..de83b28
--- /dev/null
+++ b/package/python-meld3/python-meld3.mk
@@ -0,0 +1,22 @@
+#############################################################
+#
+# python-meld3
+#
+#############################################################
+
+PYTHON_MELD3_VERSION = 0.6.8
+PYTHON_MELD3_SOURCE = meld3-$(PYTHON_MELD3_VERSION).tar.gz
+PYTHON_MELD3_SITE = http://pypi.python.org/packages/source/m/meld3/
+PYTHON_MELD3_DEPENDENCIES = python
+PYTHON_MELD3_LICENSE = ZPLv2.1
+PYTHON_MELD3_LICENSE_FILES = COPYRIGHT.txt LICENSE.txt
+
+define PYTHON_MELD3_BUILD_CMDS
+ (cd $(@D); $(HOST_DIR)/usr/bin/python setup.py build)
+endef
+
+define PYTHON_MELD3_INSTALL_TARGET_CMDS
+ (cd $(@D); $(HOST_DIR)/usr/bin/python setup.py install --prefix=$(TARGET_DIR)/usr)
+endef
+
+$(eval $(generic-package))
diff --git a/package/sam-ba/sam-ba.mk b/package/sam-ba/sam-ba.mk
index 9f39347..067bdf1 100644
--- a/package/sam-ba/sam-ba.mk
+++ b/package/sam-ba/sam-ba.mk
@@ -1,5 +1,5 @@
SAM_BA_SITE = http://www.atmel.com/dyn/resources/prod_documents/
-SAM_BA_VERSION = 2.11
+SAM_BA_VERSION = 2.12
SAM_BA_SOURCE = sam-ba_$(SAM_BA_VERSION).zip
define HOST_SAM_BA_EXTRACT_CMDS
diff --git a/package/samba/Config.in b/package/samba/Config.in
index e88b360..928b40b 100644
--- a/package/samba/Config.in
+++ b/package/samba/Config.in
@@ -168,6 +168,13 @@ config BR2_PACKAGE_SAMBA_SWAT
help
Samba Web Administration Tool
+config BR2_PACKAGE_SAMBA_SMBTA_UTIL
+ bool "smbta-util"
+ default y
+ help
+ Tool to ease the configuration of the vfs_smb_traffic_analyzer
+ module regarding data encryption.
+
config BR2_PACKAGE_SAMBA_SMBTAR
bool "smbtar"
default y
diff --git a/package/samba/samba.mk b/package/samba/samba.mk
index 6b9a082..75e3173 100644
--- a/package/samba/samba.mk
+++ b/package/samba/samba.mk
@@ -4,10 +4,12 @@
#
#############################################################
-SAMBA_VERSION = 3.6.6
+SAMBA_VERSION = 3.6.7
SAMBA_SITE = http://ftp.samba.org/pub/samba/stable
SAMBA_SUBDIR = source3
SAMBA_INSTALL_STAGING = YES
+SAMBA_LICENSE = GPLv3+
+SAMBA_LICENSE_FILES = COPYING
SAMBA_DEPENDENCIES = popt \
$(if $(BR2_PACKAGE_SAMBA_RPCCLIENT),readline) \
@@ -104,6 +106,7 @@ SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBPASSWD) += usr/bin/smbpasswd
SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBSHARESEC) += usr/bin/sharesec
SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBSPOOL) += usr/bin/smbspool
SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBSTATUS) += usr/bin/smbstatus
+SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBTA_UTIL) += usr/bin/smbta-util
SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SMBTREE) += usr/bin/smbtree
SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_SWAT) += usr/sbin/swat
SAMBA_BINTARGETS_$(BR2_PACKAGE_SAMBA_TDB) += usr/bin/tdbbackup
diff --git a/package/smartmontools/smartmontools.mk b/package/smartmontools/smartmontools.mk
index ad3bc18..7b4c7f9 100644
--- a/package/smartmontools/smartmontools.mk
+++ b/package/smartmontools/smartmontools.mk
@@ -4,7 +4,9 @@
#
#############################################################
-SMARTMONTOOLS_VERSION = 5.42
+SMARTMONTOOLS_VERSION = 5.43
SMARTMONTOOLS_SITE = http://downloads.sourceforge.net/project/smartmontools/smartmontools/$(SMARTMONTOOLS_VERSION)
+SMARTMONTOOLS_LICENSE = GPLv2+
+SMARTMONTOOLS_LICENSE_FILES = COPYING
$(eval $(autotools-package))
diff --git a/package/sudo/sudo-1.8.5p1-backport-commit-8209:0c4e3f68b2f5-from-upstream.patch b/package/sudo/sudo-1.8.5p2-backport-commit-8209:0c4e3f68b2f5-from-upstream.patch
index 69512b0..69512b0 100644
--- a/package/sudo/sudo-1.8.5p1-backport-commit-8209:0c4e3f68b2f5-from-upstream.patch
+++ b/package/sudo/sudo-1.8.5p2-backport-commit-8209:0c4e3f68b2f5-from-upstream.patch
diff --git a/package/sudo/sudo.mk b/package/sudo/sudo.mk
index 15e06fa..3e548ef 100644
--- a/package/sudo/sudo.mk
+++ b/package/sudo/sudo.mk
@@ -4,7 +4,7 @@
#
#############################################################
-SUDO_VERSION = 1.8.5p1
+SUDO_VERSION = 1.8.5p2
SUDO_SITE = http://www.sudo.ws/sudo/dist
SUDO_CONF_OPT = \
--without-lecture \
diff --git a/package/supervisor/Config.in b/package/supervisor/Config.in
new file mode 100644
index 0000000..5340181
--- /dev/null
+++ b/package/supervisor/Config.in
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_SUPERVISOR
+ bool "supervisor"
+ depends on BR2_PACKAGE_PYTHON
+ select BR2_PACKAGE_PYTHON_SETUPTOOLS
+ select BR2_PACKAGE_PYTHON_MELD3
+ help
+ A client/server system that allows its users to control a
+ number of processes on UNIX-like operating systems.
+
+ http://supervisord.org/
+
+comment "supervisor needs the python interpreter"
+ depends on !BR2_PACKAGE_PYTHON
diff --git a/package/supervisor/S99supervisord b/package/supervisor/S99supervisord
new file mode 100755
index 0000000..0856d65
--- /dev/null
+++ b/package/supervisor/S99supervisord
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+mkdir -p /var/log/supervisor
+
+case "$1" in
+ start)
+ echo -n "Starting supervisord: "
+ start-stop-daemon -S -q -p /var/run/supervisord.pid --exec /usr/bin/supervisord
+ echo "done"
+ ;;
+ stop)
+ echo -n "Stopping supervisord: "
+ start-stop-daemon -K -q -p /var/run/supervisord.pid
+ echo "done"
+ ;;
+ restart)
+ "$0" stop
+ sleep 5
+ "$0" start
+ ;;
+ reload)
+ start-stop-daemon -K -q -p /var/run/supervisord.pid -s HUP
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|reload}"
+ exit 1
+esac
+
+exit $?
diff --git a/package/supervisor/supervisor.mk b/package/supervisor/supervisor.mk
new file mode 100644
index 0000000..26afff3
--- /dev/null
+++ b/package/supervisor/supervisor.mk
@@ -0,0 +1,26 @@
+#############################################################
+#
+# python-supervisor
+#
+#############################################################
+
+SUPERVISOR_VERSION = 3.0a12
+SUPERVISOR_SOURCE = supervisor-$(SUPERVISOR_VERSION).tar.gz
+SUPERVISOR_SITE = http://pypi.python.org/packages/source/s/supervisor/
+SUPERVISOR_LICENSE_FILES = LICENSES.txt
+
+SUPERVISOR_DEPENDENCIES = python host-python-setuptools
+
+define SUPERVISOR_BUILD_CMDS
+ (cd $(@D); $(HOST_DIR)/usr/bin/python setup.py build)
+endef
+
+define SUPERVISOR_INSTALL_TARGET_CMDS
+ (cd $(@D); $(HOST_DIR)/usr/bin/python setup.py install --prefix=/usr --root=$(TARGET_DIR))
+ sed -i '1s|#!.*python.*|#!/usr/bin/env python|' $(TARGET_DIR)/usr/bin/{echo_supervisord_conf,pidproxy,supervisorctl,supervisord}
+ $(INSTALL) -d -m 755 $(TARGET_DIR)/etc/supervisor.d
+ $(INSTALL) -D -m 644 package/supervisor/supervisord.conf $(TARGET_DIR)/etc/supervisord.conf
+ $(INSTALL) -m 755 package/supervisor/S99supervisord $(TARGET_DIR)/etc/init.d/S99supervisord
+endef
+
+$(eval $(generic-package))
diff --git a/package/supervisor/supervisord.conf b/package/supervisor/supervisord.conf
new file mode 100644
index 0000000..1372a68
--- /dev/null
+++ b/package/supervisor/supervisord.conf
@@ -0,0 +1,18 @@
+[unix_http_server]
+file = /var/run/supervisor.sock
+
+[supervisord]
+logfile = /var/log/supervisor/supervisord.log
+logfile_maxbytes = 200KB
+logfile_backups = 1
+pidfile = /var/run/supervisord.pid
+childlogdir = /var/log/supervisor
+
+[rpcinterface:supervisor]
+supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
+
+[supervisorctl]
+serverurl = unix:///var/run/supervisor.sock
+
+[include]
+files = /etc/supervisor.d/*.conf
diff --git a/package/usb_modeswitch/usb_modeswitch-makefile.patch b/package/usb_modeswitch/usb_modeswitch-makefile.patch
index 918200b..b792741 100644
--- a/package/usb_modeswitch/usb_modeswitch-makefile.patch
+++ b/package/usb_modeswitch/usb_modeswitch-makefile.patch
@@ -1,23 +1,31 @@
-diff -Nura usb-modeswitch-1.1.2.orig/Makefile usb-modeswitch-1.1.2/Makefile
---- usb-modeswitch-1.1.2.orig/Makefile 2010-04-17 15:27:11.000000000 -0300
-+++ usb-modeswitch-1.1.2/Makefile 2010-04-22 15:05:32.363471807 -0300
-@@ -1,6 +1,6 @@
- PROG = usb_modeswitch
- VERS = 1.1.2
--CC = gcc
-+CC ?= gcc
- CFLAGS += -Wall -l usb
- RM = /bin/rm -f
- OBJS = usb_modeswitch.c
-@@ -23,8 +23,9 @@
- install: all
- install -d $(SBINDIR)
- install --mode=755 usb_modeswitch $(SBINDIR)/usb_modeswitch
-- install --mode=755 usb_modeswitch.tcl $(UDEVDIR)/usb_modeswitch
-- install --mode=644 usb_modeswitch.conf $(ETCDIR)/usb_modeswitch.conf
-+ #install --mode=755 usb_modeswitch.tcl $(UDEVDIR)/usb_modeswitch
-+ #install --mode=644 usb_modeswitch.conf $(ETCDIR)/usb_modeswitch.conf
-+ install -d $(MANDIR)
- install --mode=644 usb_modeswitch.1 $(MANDIR)/usb_modeswitch.1
+Removed the -s from the install command. Without this, usb_modeswitch would
+fail to install.
+
+Signed-off-by: J.C. Woltz <jwoltz@gmail.com>
+
+Index: b/Makefile
+===================================================================
+--- a/Makefile
++++ b/Makefile
+@@ -46,7 +46,7 @@
+ cd jim && $(MAKE) distclean
+ install-common: all
+- install -D -s --mode=755 usb_modeswitch $(SBINDIR)/usb_modeswitch
++ install -D --mode=755 usb_modeswitch $(SBINDIR)/usb_modeswitch
+ install -D --mode=755 usb_modeswitch.sh $(UDEVDIR)/usb_modeswitch
+ install -D --mode=644 usb_modeswitch.conf $(ETCDIR)/usb_modeswitch.conf
+ install -D --mode=644 usb_modeswitch.1 $(MANDIR)/usb_modeswitch.1
+@@ -67,10 +67,10 @@
+ install: install-common install-script
+ install-shared: dispatcher-dynamic install-common
+- install -D -s --mode=755 usb_modeswitch_dispatcher $(SBINDIR)/usb_modeswitch_dispatcher
++ install -D --mode=755 usb_modeswitch_dispatcher $(SBINDIR)/usb_modeswitch_dispatcher
+
+ install-static: dispatcher-static install-common
+- install -D -s --mode=755 usb_modeswitch_dispatcher $(SBINDIR)/usb_modeswitch_dispatcher
++ install -D --mode=755 usb_modeswitch_dispatcher $(SBINDIR)/usb_modeswitch_dispatcher
+
+ uninstall:
+ $(RM) $(SBINDIR)/usb_modeswitch
diff --git a/package/usb_modeswitch/usb_modeswitch.mk b/package/usb_modeswitch/usb_modeswitch.mk
index 5f20f30..c517991 100644
--- a/package/usb_modeswitch/usb_modeswitch.mk
+++ b/package/usb_modeswitch/usb_modeswitch.mk
@@ -4,26 +4,33 @@
#
#############################################################
-USB_MODESWITCH_VERSION = 1.1.2
+USB_MODESWITCH_VERSION = 1.2.4
USB_MODESWITCH_SOURCE = usb-modeswitch-$(USB_MODESWITCH_VERSION).tar.bz2
USB_MODESWITCH_SITE = http://www.draisberghof.de/usb_modeswitch
USB_MODESWITCH_DEPENDENCIES = libusb-compat
+USB_MODESWITCH_LICENSE = GPLv2+
+USB_MODESWITCH_LICENSE_FILES = COPYING
define USB_MODESWITCH_BUILD_CMDS
- $(TARGET_CONFIGURE_OPTS) $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+ $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
endef
define USB_MODESWITCH_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
- $(INSTALL) -D $(@D)/usb_modeswitch.setup -m 0644 \
- $(TARGET_DIR)/etc/usb_modeswitch.setup
endef
+
define USB_MODESWITCH_CLEAN_CMDS
- rm -f $(TARGET_DIR)/usr/sbin/usb_modeswitch
- rm -f $(TARGET_DIR)/etc/usb_modeswitch.setup
- rm -f $(TARGET_DIR)/usr/share/man/man1/usb_modeswitch.1
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) clean
endef
-$(eval $(generic-package))
+define USB_MODESWITCH_UNINSTALL_CMDS
+ $(RM) -f $(TARGET_DIR)/usr/sbin/usb_modeswitch
+ $(RM) -f $(TARGET_DIR)/lib/udev/usb_modeswitch
+ $(RM) -f $(TARGET_DIR)/etc/usb_modeswitch.setup
+ $(RM) -f $(TARGET_DIR)/usr/share/man/man1/usb_modeswitch.1
+ $(RM) -rf $(TARGET_DIR)/var/lib/usb_modeswitch
+ $(RM) -f $(TARGET_DIR)/usr/sbin/usb_modeswitch_dispatcher
+endef
+$(eval $(generic-package))
diff --git a/package/usb_modeswitch_data/Config.in b/package/usb_modeswitch_data/Config.in
new file mode 100644
index 0000000..8698bb6
--- /dev/null
+++ b/package/usb_modeswitch_data/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_USB_MODESWITCH_DATA
+ bool "usb_modeswitch_data"
+ select BR2_PACKAGE_USB_MODESWITCH
+ # tcl is a runtime dependency
+ select BR2_PACKAGE_TCL
+ select BR2_PACKAGE_TCL_TCLSH
+ help
+ USB mode switch data
+ Contains udev rules and events to allow usb_modeswitch to
+ function automatically
+
+ http://www.draisberghof.de/usb_modeswitch/
diff --git a/package/usb_modeswitch_data/usb_modeswitch_data-fix-parallel-install.patch b/package/usb_modeswitch_data/usb_modeswitch_data-fix-parallel-install.patch
new file mode 100644
index 0000000..ba30499
--- /dev/null
+++ b/package/usb_modeswitch_data/usb_modeswitch_data-fix-parallel-install.patch
@@ -0,0 +1,17 @@
+Properly create the directory before creating it so that parallel
+install work fine.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/Makefile
+===================================================================
+--- a/Makefile
++++ b/Makefile
+@@ -22,6 +22,7 @@
+ install -D --mode=644 40-usb_modeswitch.rules $(RULESDIR)/40-usb_modeswitch.rules
+
+ db-install:
++ install -d $(PREFIX)/share/usb_modeswitch
+ install --mode=644 -t $(PREFIX)/share/usb_modeswitch ./usb_modeswitch.d/*
+
+ db-install-packed:
diff --git a/package/usb_modeswitch_data/usb_modeswitch_data-makefile.patch b/package/usb_modeswitch_data/usb_modeswitch_data-makefile.patch
new file mode 100644
index 0000000..769e514
--- /dev/null
+++ b/package/usb_modeswitch_data/usb_modeswitch_data-makefile.patch
@@ -0,0 +1,27 @@
+Fixed Makefile install sections to not reload udev rules. In a
+cross-compiler environment, it is not wanted to reload the host udev rules.
+
+Signed-off-by: J.C. Woltz <jwoltz@gmail.com>
+--- usb_modeswitch_data-20120120.orig/Makefile 2012-01-20 17:25:32.000000000 -0500
++++ usb_modeswitch_data-20120120/Makefile 2012-02-06 14:20:47.000000000 -0500
+@@ -12,9 +12,9 @@
+
+ clean:
+
+-install: files-install db-install rules-reload
++install: files-install db-install
+
+-install-packed: files-install db-install-packed rules-reload
++install-packed: files-install db-install-packed
+
+ files-install:
+ install -d $(PREFIX)/share/usb_modeswitch
+@@ -50,7 +50,7 @@
+ fi \
+ fi
+
+-uninstall: files-uninstall rules-reload
++uninstall: files-uninstall
+
+ files-uninstall:
+ $(RM) $(RULESDIR)/40-usb_modeswitch.rules
diff --git a/package/usb_modeswitch_data/usb_modeswitch_data.mk b/package/usb_modeswitch_data/usb_modeswitch_data.mk
new file mode 100644
index 0000000..d493144
--- /dev/null
+++ b/package/usb_modeswitch_data/usb_modeswitch_data.mk
@@ -0,0 +1,24 @@
+#############################################################
+#
+# usb_modeswitch_data
+#
+#############################################################
+
+USB_MODESWITCH_DATA_VERSION = 20120812
+USB_MODESWITCH_DATA_SOURCE = usb-modeswitch-data-$(USB_MODESWITCH_DATA_VERSION).tar.bz2
+USB_MODESWITCH_DATA_SITE = http://www.draisberghof.de/usb_modeswitch
+USB_MODESWITCH_DATA_DEPENDENCIES = usb_modeswitch
+USB_MODESWITCH_DATA_LICENSE = GPLv2+
+USB_MODESWITCH_DATA_LICENSE_FILES = COPYING
+
+# Nothing to build, it is a pure data package
+
+define USB_MODESWITCH_DATA_INSTALL_TARGET_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
+endef
+
+define USB_MODESWITCH_DATA_CLEAN_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) clean
+endef
+
+$(eval $(generic-package))
diff --git a/package/wget/wget.mk b/package/wget/wget.mk
index a15111c..01ebcb6 100644
--- a/package/wget/wget.mk
+++ b/package/wget/wget.mk
@@ -4,8 +4,10 @@
#
#############################################################
-WGET_VERSION = 1.13.4
+WGET_VERSION = 1.14
WGET_SITE = $(BR2_GNU_MIRROR)/wget
+WGET_LICENSE = GPLv3+
+WGET_LICENSE_FILES = COPYING
# Prefer full-blown wget over busybox
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
diff --git a/package/yasm/Config.in b/package/yasm/Config.in
new file mode 100644
index 0000000..2dc25aa
--- /dev/null
+++ b/package/yasm/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_YASM
+ bool "yasm"
+ depends on BR2_i386 || BR2_x86_64
+ help
+ Yasm is a complete rewrite of the NASM-2.10.01 assembler.
+ It supports the x86 and AMD64 instruction sets, accepts NASM
+ and GAS assembler syntaxes and outputs binary, ELF32 and ELF64
+ object formats.
+
+ http://www.tortall.net/projects/yasm/
diff --git a/package/yasm/yasm.mk b/package/yasm/yasm.mk
new file mode 100644
index 0000000..fafd1ec
--- /dev/null
+++ b/package/yasm/yasm.mk
@@ -0,0 +1,20 @@
+#############################################################
+#
+# yasm
+#
+#############################################################
+YASM_VERSION = 1.2.0
+YASM_SOURCE = yasm-$(YASM_VERSION).tar.gz
+YASM_SITE = http://www.tortall.net/projects/yasm/releases/
+
+define YASM_PRE_CONFIGURE_FIXUP
+# This sed prevents it compiling 2 programs (vsyasm and ytasm)
+# that are only of use on Microsoft Windows.
+ sed -i 's#) ytasm.*#)#' $(@D)/Makefile.in
+endef
+
+YASM_PRE_CONFIGURE_HOOKS += YASM_PRE_CONFIGURE_FIXUP
+HOST_YASM_PRE_CONFIGURE_HOOKS += YASM_PRE_CONFIGURE_FIXUP
+
+$(eval $(autotools-package))
+$(eval $(host-autotools-package))