From: hschang Date: Thu, 3 Jul 2014 02:35:44 +0000 (+0900) Subject: Merge remote-tracking branch 'OE-2.1/master' into vuplus-3.0 X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_openvuplus_3.0;a=commitdiff_plain;h=c363a61977d38b355867dbb58ff9c6c9710d53b5;hp=b511fc405539ac22003d55795780d98d0e4ef010 Merge remote-tracking branch 'OE-2.1/master' into vuplus-3.0 --- diff --git a/.gitmodules b/.gitmodules index 5f3029f..1f9f97e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,9 @@ [submodule "openembedded-core"] path = openembedded-core - url = git://git.openembedded.org/openembedded-core-contrib + url = http://192.168.102.71/openembedded-core-daisy [submodule "meta-openembedded"] path = meta-openembedded - url = git://git.openembedded.org/meta-openembedded-contrib + url = http://192.168.102.71/meta-openembedded-daisy [submodule "bitbake"] path = bitbake url = git://git.openembedded.org/bitbake diff --git a/Makefile b/Makefile index 08d1e6d..08ef637 100644 --- a/Makefile +++ b/Makefile @@ -60,6 +60,9 @@ BBLAYERS ?= \ $(CURDIR)/meta-bsp/common \ $(CURDIR)/meta-openvuplus \ $(CURDIR)/meta-openembedded/meta-oe \ + $(CURDIR)/meta-openembedded/meta-networking \ + $(CURDIR)/meta-openembedded/meta-multimedia \ + $(CURDIR)/meta-openembedded/meta-filesystems \ $(CURDIR)/openembedded-core/meta CONFFILES = \ diff --git a/bitbake b/bitbake index 270a05b..ef2bf63 160000 --- a/bitbake +++ b/bitbake @@ -1 +1 @@ -Subproject commit 270a05b0b4ba0959fe0624d2a4885d7b70426da5 +Subproject commit ef2bf63e56b87e19d1a9059dd2d81a9a1a537254 diff --git a/meta-bsp/bm750/recipes/linux/linux-vuplus_3.1.1.bbappend b/meta-bsp/bm750/recipes/linux/linux-vuplus_3.1.1.bbappend index 049d83c..f9ceacd 100644 --- a/meta-bsp/bm750/recipes/linux/linux-vuplus_3.1.1.bbappend +++ b/meta-bsp/bm750/recipes/linux/linux-vuplus_3.1.1.bbappend @@ -3,6 +3,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" PR .= "-bsp12" SRC_URI += "\ - file://linux_3.1.1_bm750.patch;patch=1;pnum=1 \ - file://linux-sata_brcm.patch;patch=1;pnum=1 \ + file://linux_3.1.1_bm750.patch \ + file://linux-sata_brcm.patch \ " diff --git a/meta-bsp/common/conf/machine/include/vuplus.inc b/meta-bsp/common/conf/machine/include/vuplus.inc index 4234382..e4653e6 100644 --- a/meta-bsp/common/conf/machine/include/vuplus.inc +++ b/meta-bsp/common/conf/machine/include/vuplus.inc @@ -7,6 +7,8 @@ MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "vuplus-bootlogo" MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "vuplus-dvb-modules" MACHINE_FEATURES += "kernel26 alsa pci wifi" +MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc" + PREFERRED_PROVIDER_virtual/kernel = "linux-vuplus" PREFERRED_VERSION_linux-vuplus = "${VUPLUS_KERNEL_VERSION}" diff --git a/meta-bsp/common/recipes/linux/linux-vuplus-3.1.1/kernel_miscompilation_with_gcc_4_8.patch b/meta-bsp/common/recipes/linux/linux-vuplus-3.1.1/kernel_miscompilation_with_gcc_4_8.patch new file mode 100644 index 0000000..013384b --- /dev/null +++ b/meta-bsp/common/recipes/linux/linux-vuplus-3.1.1/kernel_miscompilation_with_gcc_4_8.patch @@ -0,0 +1,251 @@ +commit 8511b7b083db01ad0538bea6a8af79f88fe02a8b +Author: hschang +Date: Wed Jan 8 20:32:42 2014 +0900 + + MIPS: Refactor 'clear_page' and 'copy_page' functions. + + Remove usage of the '__attribute__((alias("...")))' hack that aliased + to integer arrays containing micro-assembled instructions. This hack + breaks when building a microMIPS kernel. It also makes the code much + easier to understand. + + [ralf@linux-mips.org: Added back export of the clear_page and copy_page + symbols so certain modules will work again. Also fixed build with + CONFIG_SIBYTE_DMA_PAGEOPS enabled.] + + Signed-off-by: Steven J. Hill + Cc: linux-mips@linux-mips.org + Patchwork: https://patchwork.linux-mips.org/patch/3866/ + Acked-by: David Daney + Signed-off-by: Ralf Baechle + +diff --git a/arch/mips/kernel/mips_ksyms.c b/arch/mips/kernel/mips_ksyms.c +index 1d04807..17160bf 100644 +--- a/arch/mips/kernel/mips_ksyms.c ++++ b/arch/mips/kernel/mips_ksyms.c +@@ -5,7 +5,7 @@ + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * +- * Copyright (C) 1996, 97, 98, 99, 2000, 01, 03, 04, 05 by Ralf Baechle ++ * Copyright (C) 1996, 97, 98, 99, 2000, 01, 03, 04, 05, 12 by Ralf Baechle + * Copyright (C) 1999, 2000, 01 Silicon Graphics, Inc. + */ + #include +@@ -35,6 +35,13 @@ EXPORT_SYMBOL(memmove); + EXPORT_SYMBOL(kernel_thread); + + /* ++ * Functions that operate on entire pages. Mostly used by memory management. ++ */ ++ ++EXPORT_SYMBOL(clear_page); ++EXPORT_SYMBOL(copy_page); ++ ++/* + * Userspace access stuff. + */ + EXPORT_SYMBOL(__copy_user); +diff --git a/arch/mips/mm/Makefile b/arch/mips/mm/Makefile +index 95e5ccb..2f2dc25 100644 +--- a/arch/mips/mm/Makefile ++++ b/arch/mips/mm/Makefile +@@ -4,7 +4,7 @@ + + obj-y += cache.o dma-default.o extable.o fault.o \ + init.o mmap.o tlbex.o tlbex-fault.o uasm.o \ +- page.o ++ page.o page-funcs.o + + obj-$(CONFIG_32BIT) += ioremap.o pgtable-32.o + obj-$(CONFIG_64BIT) += pgtable-64.o +diff --git a/arch/mips/mm/page-funcs.S b/arch/mips/mm/page-funcs.S +new file mode 100644 +index 0000000..48a6b38 +--- /dev/null ++++ b/arch/mips/mm/page-funcs.S +@@ -0,0 +1,50 @@ ++/* ++ * This file is subject to the terms and conditions of the GNU General Public ++ * License. See the file "COPYING" in the main directory of this archive ++ * for more details. ++ * ++ * Micro-assembler generated clear_page/copy_page functions. ++ * ++ * Copyright (C) 2012 MIPS Technologies, Inc. ++ * Copyright (C) 2012 Ralf Baechle ++ */ ++#include ++#include ++ ++#ifdef CONFIG_SIBYTE_DMA_PAGEOPS ++#define cpu_clear_page_function_name clear_page_cpu ++#define cpu_copy_page_function_name copy_page_cpu ++#else ++#define cpu_clear_page_function_name clear_page ++#define cpu_copy_page_function_name copy_page ++#endif ++ ++/* ++ * Maximum sizes: ++ * ++ * R4000 128 bytes S-cache: 0x058 bytes ++ * R4600 v1.7: 0x05c bytes ++ * R4600 v2.0: 0x060 bytes ++ * With prefetching, 16 word strides 0x120 bytes ++ */ ++EXPORT(__clear_page_start) ++LEAF(cpu_clear_page_function_name) ++1: j 1b /* Dummy, will be replaced. */ ++ .space 288 ++END(cpu_clear_page_function_name) ++EXPORT(__clear_page_end) ++ ++/* ++ * Maximum sizes: ++ * ++ * R4000 128 bytes S-cache: 0x11c bytes ++ * R4600 v1.7: 0x080 bytes ++ * R4600 v2.0: 0x07c bytes ++ * With prefetching, 16 word strides 0x540 bytes ++ */ ++EXPORT(__copy_page_start) ++LEAF(cpu_copy_page_function_name) ++1: j 1b /* Dummy, will be replaced. */ ++ .space 1344 ++END(cpu_copy_page_function_name) ++EXPORT(__copy_page_end) +diff --git a/arch/mips/mm/page.c b/arch/mips/mm/page.c +index 36272f7..a22bd40 100644 +--- a/arch/mips/mm/page.c ++++ b/arch/mips/mm/page.c +@@ -6,6 +6,7 @@ + * Copyright (C) 2003, 04, 05 Ralf Baechle (ralf@linux-mips.org) + * Copyright (C) 2007 Maciej W. Rozycki + * Copyright (C) 2008 Thiemo Seufer ++ * Copyright (C) 2012 MIPS Technologies, Inc. + */ + #include + #include +@@ -72,45 +73,6 @@ static struct uasm_reloc __cpuinitdata relocs[5]; + #define cpu_is_r4600_v1_x() ((read_c0_prid() & 0xfffffff0) == 0x00002010) + #define cpu_is_r4600_v2_x() ((read_c0_prid() & 0xfffffff0) == 0x00002020) + +-/* +- * Maximum sizes: +- * +- * R4000 128 bytes S-cache: 0x058 bytes +- * R4600 v1.7: 0x05c bytes +- * R4600 v2.0: 0x060 bytes +- * With prefetching, 16 word strides 0x120 bytes +- */ +- +-static u32 clear_page_array[0x120 / 4]; +- +-#ifdef CONFIG_SIBYTE_DMA_PAGEOPS +-void clear_page_cpu(void *page) __attribute__((alias("clear_page_array"))); +-#else +-void clear_page(void *page) __attribute__((alias("clear_page_array"))); +-#endif +- +-EXPORT_SYMBOL(clear_page); +- +-/* +- * Maximum sizes: +- * +- * R4000 128 bytes S-cache: 0x11c bytes +- * R4600 v1.7: 0x080 bytes +- * R4600 v2.0: 0x07c bytes +- * With prefetching, 16 word strides 0x540 bytes +- */ +-static u32 copy_page_array[0x540 / 4]; +- +-#ifdef CONFIG_SIBYTE_DMA_PAGEOPS +-void +-copy_page_cpu(void *to, void *from) __attribute__((alias("copy_page_array"))); +-#else +-void copy_page(void *to, void *from) __attribute__((alias("copy_page_array"))); +-#endif +- +-EXPORT_SYMBOL(copy_page); +- +- + static int pref_bias_clear_store __cpuinitdata; + static int pref_bias_copy_load __cpuinitdata; + static int pref_bias_copy_store __cpuinitdata; +@@ -283,10 +245,15 @@ static inline void __cpuinit build_clear_pref(u32 **buf, int off) + } + } + ++extern u32 __clear_page_start; ++extern u32 __clear_page_end; ++extern u32 __copy_page_start; ++extern u32 __copy_page_end; ++ + void __cpuinit build_clear_page(void) + { + int off; +- u32 *buf = (u32 *)&clear_page_array; ++ u32 *buf = &__clear_page_start; + struct uasm_label *l = labels; + struct uasm_reloc *r = relocs; + int i; +@@ -357,17 +324,17 @@ void __cpuinit build_clear_page(void) + uasm_i_jr(&buf, RA); + uasm_i_nop(&buf); + +- BUG_ON(buf > clear_page_array + ARRAY_SIZE(clear_page_array)); ++ BUG_ON(buf > &__clear_page_end); + + uasm_resolve_relocs(relocs, labels); + + pr_debug("Synthesized clear page handler (%u instructions).\n", +- (u32)(buf - clear_page_array)); ++ (u32)(buf - &__clear_page_start)); + + pr_debug("\t.set push\n"); + pr_debug("\t.set noreorder\n"); +- for (i = 0; i < (buf - clear_page_array); i++) +- pr_debug("\t.word 0x%08x\n", clear_page_array[i]); ++ for (i = 0; i < (buf - &__clear_page_start); i++) ++ pr_debug("\t.word 0x%08x\n", (&__clear_page_start)[i]); + pr_debug("\t.set pop\n"); + } + +@@ -428,7 +395,7 @@ static inline void build_copy_store_pref(u32 **buf, int off) + void __cpuinit build_copy_page(void) + { + int off; +- u32 *buf = (u32 *)©_page_array; ++ u32 *buf = &__copy_page_start; + struct uasm_label *l = labels; + struct uasm_reloc *r = relocs; + int i; +@@ -596,21 +563,23 @@ void __cpuinit build_copy_page(void) + uasm_i_jr(&buf, RA); + uasm_i_nop(&buf); + +- BUG_ON(buf > copy_page_array + ARRAY_SIZE(copy_page_array)); ++ BUG_ON(buf > &__copy_page_end); + + uasm_resolve_relocs(relocs, labels); + + pr_debug("Synthesized copy page handler (%u instructions).\n", +- (u32)(buf - copy_page_array)); ++ (u32)(buf - &__copy_page_start)); + + pr_debug("\t.set push\n"); + pr_debug("\t.set noreorder\n"); +- for (i = 0; i < (buf - copy_page_array); i++) +- pr_debug("\t.word 0x%08x\n", copy_page_array[i]); ++ for (i = 0; i < (buf - &__copy_page_start); i++) ++ pr_debug("\t.word 0x%08x\n", (&__copy_page_start)[i]); + pr_debug("\t.set pop\n"); + } + + #ifdef CONFIG_SIBYTE_DMA_PAGEOPS ++extern void clear_page_cpu(void *page); ++extern void copy_page_cpu(void *to, void *from); + + /* + * Pad descriptors to cacheline, since each is exclusively owned by a diff --git a/meta-bsp/common/recipes/linux/linux-vuplus-3.3.8/kernel_miscompilation_with_gcc_4_8.patch b/meta-bsp/common/recipes/linux/linux-vuplus-3.3.8/kernel_miscompilation_with_gcc_4_8.patch new file mode 100644 index 0000000..ba69abe --- /dev/null +++ b/meta-bsp/common/recipes/linux/linux-vuplus-3.3.8/kernel_miscompilation_with_gcc_4_8.patch @@ -0,0 +1,252 @@ +commit c022630633624a75b3b58f43dd3c6cc896a56cff +Author: Steven J. Hill +Date: Fri Jul 6 21:56:01 2012 +0200 + + MIPS: Refactor 'clear_page' and 'copy_page' functions. + + Remove usage of the '__attribute__((alias("...")))' hack that aliased + to integer arrays containing micro-assembled instructions. This hack + breaks when building a microMIPS kernel. It also makes the code much + easier to understand. + + [ralf@linux-mips.org: Added back export of the clear_page and copy_page + symbols so certain modules will work again. Also fixed build with + CONFIG_SIBYTE_DMA_PAGEOPS enabled.] + + Signed-off-by: Steven J. Hill + Cc: linux-mips@linux-mips.org + Patchwork: https://patchwork.linux-mips.org/patch/3866/ + Acked-by: David Daney + Signed-off-by: Ralf Baechle + +diff --git a/arch/mips/kernel/mips_ksyms.c b/arch/mips/kernel/mips_ksyms.c +index 57ba13e..3fc1691 100644 +--- a/arch/mips/kernel/mips_ksyms.c ++++ b/arch/mips/kernel/mips_ksyms.c +@@ -5,7 +5,7 @@ + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * +- * Copyright (C) 1996, 97, 98, 99, 2000, 01, 03, 04, 05 by Ralf Baechle ++ * Copyright (C) 1996, 97, 98, 99, 2000, 01, 03, 04, 05, 12 by Ralf Baechle + * Copyright (C) 1999, 2000, 01 Silicon Graphics, Inc. + */ + #include +@@ -35,6 +35,12 @@ EXPORT_SYMBOL(memmove); + EXPORT_SYMBOL(kernel_thread); + + /* ++ * Functions that operate on entire pages. Mostly used by memory management. ++ */ ++EXPORT_SYMBOL(clear_page); ++EXPORT_SYMBOL(copy_page); ++ ++/* + * Userspace access stuff. + */ + EXPORT_SYMBOL(__copy_user); +diff --git a/arch/mips/mm/Makefile b/arch/mips/mm/Makefile +index 4aa2028..fd6203f 100644 +--- a/arch/mips/mm/Makefile ++++ b/arch/mips/mm/Makefile +@@ -3,8 +3,8 @@ + # + + obj-y += cache.o dma-default.o extable.o fault.o \ +- gup.o init.o mmap.o page.o tlbex.o \ +- tlbex-fault.o uasm.o ++ gup.o init.o mmap.o page.o page-funcs.o \ ++ tlbex.o tlbex-fault.o uasm.o + + obj-$(CONFIG_32BIT) += ioremap.o pgtable-32.o + obj-$(CONFIG_64BIT) += pgtable-64.o +diff --git a/arch/mips/mm/page-funcs.S b/arch/mips/mm/page-funcs.S +new file mode 100644 +index 0000000..48a6b38 +--- /dev/null ++++ b/arch/mips/mm/page-funcs.S +@@ -0,0 +1,50 @@ ++/* ++ * This file is subject to the terms and conditions of the GNU General Public ++ * License. See the file "COPYING" in the main directory of this archive ++ * for more details. ++ * ++ * Micro-assembler generated clear_page/copy_page functions. ++ * ++ * Copyright (C) 2012 MIPS Technologies, Inc. ++ * Copyright (C) 2012 Ralf Baechle ++ */ ++#include ++#include ++ ++#ifdef CONFIG_SIBYTE_DMA_PAGEOPS ++#define cpu_clear_page_function_name clear_page_cpu ++#define cpu_copy_page_function_name copy_page_cpu ++#else ++#define cpu_clear_page_function_name clear_page ++#define cpu_copy_page_function_name copy_page ++#endif ++ ++/* ++ * Maximum sizes: ++ * ++ * R4000 128 bytes S-cache: 0x058 bytes ++ * R4600 v1.7: 0x05c bytes ++ * R4600 v2.0: 0x060 bytes ++ * With prefetching, 16 word strides 0x120 bytes ++ */ ++EXPORT(__clear_page_start) ++LEAF(cpu_clear_page_function_name) ++1: j 1b /* Dummy, will be replaced. */ ++ .space 288 ++END(cpu_clear_page_function_name) ++EXPORT(__clear_page_end) ++ ++/* ++ * Maximum sizes: ++ * ++ * R4000 128 bytes S-cache: 0x11c bytes ++ * R4600 v1.7: 0x080 bytes ++ * R4600 v2.0: 0x07c bytes ++ * With prefetching, 16 word strides 0x540 bytes ++ */ ++EXPORT(__copy_page_start) ++LEAF(cpu_copy_page_function_name) ++1: j 1b /* Dummy, will be replaced. */ ++ .space 1344 ++END(cpu_copy_page_function_name) ++EXPORT(__copy_page_end) +diff --git a/arch/mips/mm/page.c b/arch/mips/mm/page.c +index cc0b626..98f530e 100644 +--- a/arch/mips/mm/page.c ++++ b/arch/mips/mm/page.c +@@ -6,6 +6,7 @@ + * Copyright (C) 2003, 04, 05 Ralf Baechle (ralf@linux-mips.org) + * Copyright (C) 2007 Maciej W. Rozycki + * Copyright (C) 2008 Thiemo Seufer ++ * Copyright (C) 2012 MIPS Technologies, Inc. + */ + #include + #include +@@ -71,45 +72,6 @@ static struct uasm_reloc __cpuinitdata relocs[5]; + #define cpu_is_r4600_v1_x() ((read_c0_prid() & 0xfffffff0) == 0x00002010) + #define cpu_is_r4600_v2_x() ((read_c0_prid() & 0xfffffff0) == 0x00002020) + +-/* +- * Maximum sizes: +- * +- * R4000 128 bytes S-cache: 0x058 bytes +- * R4600 v1.7: 0x05c bytes +- * R4600 v2.0: 0x060 bytes +- * With prefetching, 16 word strides 0x120 bytes +- */ +- +-static u32 clear_page_array[0x120 / 4]; +- +-#ifdef CONFIG_SIBYTE_DMA_PAGEOPS +-void clear_page_cpu(void *page) __attribute__((alias("clear_page_array"))); +-#else +-void clear_page(void *page) __attribute__((alias("clear_page_array"))); +-#endif +- +-EXPORT_SYMBOL(clear_page); +- +-/* +- * Maximum sizes: +- * +- * R4000 128 bytes S-cache: 0x11c bytes +- * R4600 v1.7: 0x080 bytes +- * R4600 v2.0: 0x07c bytes +- * With prefetching, 16 word strides 0x540 bytes +- */ +-static u32 copy_page_array[0x540 / 4]; +- +-#ifdef CONFIG_SIBYTE_DMA_PAGEOPS +-void +-copy_page_cpu(void *to, void *from) __attribute__((alias("copy_page_array"))); +-#else +-void copy_page(void *to, void *from) __attribute__((alias("copy_page_array"))); +-#endif +- +-EXPORT_SYMBOL(copy_page); +- +- + static int pref_bias_clear_store __cpuinitdata; + static int pref_bias_copy_load __cpuinitdata; + static int pref_bias_copy_store __cpuinitdata; +@@ -282,10 +244,15 @@ static inline void __cpuinit build_clear_pref(u32 **buf, int off) + } + } + ++extern u32 __clear_page_start; ++extern u32 __clear_page_end; ++extern u32 __copy_page_start; ++extern u32 __copy_page_end; ++ + void __cpuinit build_clear_page(void) + { + int off; +- u32 *buf = (u32 *)&clear_page_array; ++ u32 *buf = &__clear_page_start; + struct uasm_label *l = labels; + struct uasm_reloc *r = relocs; + int i; +@@ -356,17 +323,17 @@ void __cpuinit build_clear_page(void) + uasm_i_jr(&buf, RA); + uasm_i_nop(&buf); + +- BUG_ON(buf > clear_page_array + ARRAY_SIZE(clear_page_array)); ++ BUG_ON(buf > &__clear_page_end); + + uasm_resolve_relocs(relocs, labels); + + pr_debug("Synthesized clear page handler (%u instructions).\n", +- (u32)(buf - clear_page_array)); ++ (u32)(buf - &__clear_page_start)); + + pr_debug("\t.set push\n"); + pr_debug("\t.set noreorder\n"); +- for (i = 0; i < (buf - clear_page_array); i++) +- pr_debug("\t.word 0x%08x\n", clear_page_array[i]); ++ for (i = 0; i < (buf - &__clear_page_start); i++) ++ pr_debug("\t.word 0x%08x\n", (&__clear_page_start)[i]); + pr_debug("\t.set pop\n"); + } + +@@ -427,7 +394,7 @@ static inline void build_copy_store_pref(u32 **buf, int off) + void __cpuinit build_copy_page(void) + { + int off; +- u32 *buf = (u32 *)©_page_array; ++ u32 *buf = &__copy_page_start; + struct uasm_label *l = labels; + struct uasm_reloc *r = relocs; + int i; +@@ -595,21 +562,23 @@ void __cpuinit build_copy_page(void) + uasm_i_jr(&buf, RA); + uasm_i_nop(&buf); + +- BUG_ON(buf > copy_page_array + ARRAY_SIZE(copy_page_array)); ++ BUG_ON(buf > &__copy_page_end); + + uasm_resolve_relocs(relocs, labels); + + pr_debug("Synthesized copy page handler (%u instructions).\n", +- (u32)(buf - copy_page_array)); ++ (u32)(buf - &__copy_page_start)); + + pr_debug("\t.set push\n"); + pr_debug("\t.set noreorder\n"); +- for (i = 0; i < (buf - copy_page_array); i++) +- pr_debug("\t.word 0x%08x\n", copy_page_array[i]); ++ for (i = 0; i < (buf - &__copy_page_start); i++) ++ pr_debug("\t.word 0x%08x\n", (&__copy_page_start)[i]); + pr_debug("\t.set pop\n"); + } + + #ifdef CONFIG_SIBYTE_DMA_PAGEOPS ++extern void clear_page_cpu(void *page); ++extern void copy_page_cpu(void *to, void *from); + + /* + * Pad descriptors to cacheline, since each is exclusively owned by a diff --git a/meta-bsp/common/recipes/linux/linux-vuplus_2.6.37.bb b/meta-bsp/common/recipes/linux/linux-vuplus_2.6.37.bb index e816bef..68e059e 100644 --- a/meta-bsp/common/recipes/linux/linux-vuplus_2.6.37.bb +++ b/meta-bsp/common/recipes/linux/linux-vuplus_2.6.37.bb @@ -11,11 +11,11 @@ SRCREV = "" MODULE = "linux-2.6.37" SRC_URI += " http://archive.vuplus.com/download/kernel/stblinux-2.6.37-3.1.tar.bz2 \ - file://dvb-core.patch;patch=1;pnum=1 \ - file://fix_cpu_proc.patch;patch=1;pnum=1 \ - file://brcm_disable_enet1.patch;patch=1;pnum=1 \ - file://bcmgenet_oobctrl.patch;patch=1;pnum=1 \ - file://brcm_mtd_mac.patch;patch=1;pnum=1 \ + file://dvb-core.patch \ + file://fix_cpu_proc.patch \ + file://brcm_disable_enet1.patch \ + file://bcmgenet_oobctrl.patch \ + file://brcm_mtd_mac.patch \ file://${MACHINE}_defconfig \ " diff --git a/meta-bsp/common/recipes/linux/linux-vuplus_3.1.1.bb b/meta-bsp/common/recipes/linux/linux-vuplus_3.1.1.bb index cd98980..853fc55 100644 --- a/meta-bsp/common/recipes/linux/linux-vuplus_3.1.1.bb +++ b/meta-bsp/common/recipes/linux/linux-vuplus_3.1.1.bb @@ -10,10 +10,11 @@ SRCREV = "r2" MODULE = "linux-3.1.1" SRC_URI += "http://archive.vuplus.com/download/kernel/linux-${KV}_${SRCREV}.tar.bz2 \ - file://fix_cpu_proc.patch;patch=1;pnum=1 \ + file://fix_cpu_proc.patch \ + file://igmp.patch \ + file://rt5372_kernel_3.1.1.patch \ + file://kernel_miscompilation_with_gcc_4_8.patch \ file://${MACHINE}_defconfig \ - file://igmp.patch;patch=1;pnum=1 \ - file://rt5372_kernel_3.1.1.patch \ " SRC_URI[md5sum] = "4dc3ac322453abbfaade7020cddea205" diff --git a/meta-bsp/common/recipes/linux/linux-vuplus_3.3.6.bb b/meta-bsp/common/recipes/linux/linux-vuplus_3.3.6.bb index 9555656..a6acaf7 100644 --- a/meta-bsp/common/recipes/linux/linux-vuplus_3.3.6.bb +++ b/meta-bsp/common/recipes/linux/linux-vuplus_3.3.6.bb @@ -11,11 +11,11 @@ SRCREV = "" MODULE = "linux-3.3.6" SRC_URI += "http://archive.vuplus.com/download/kernel/stblinux-3.3.6-1.2.tar.bz2 \ - file://brcm_3.3.patch;patch=1;pnum=1 \ - file://fix_cpu_proc.patch;patch=1;pnum=1 \ - file://brcm_mtd_mac.patch;patch=1;pnum=1 \ - file://dvb_core_5.5.patch;patch=1;pnum=1 \ - file://brcm_remove_entire_mtd.patch;patch=1;pnum=1 \ + file://brcm_3.3.patch \ + file://fix_cpu_proc.patch \ + file://brcm_mtd_mac.patch \ + file://dvb_core_5.5.patch \ + file://brcm_remove_entire_mtd.patch \ file://${MACHINE}_defconfig \ " diff --git a/meta-bsp/common/recipes/linux/linux-vuplus_3.3.8.bb b/meta-bsp/common/recipes/linux/linux-vuplus_3.3.8.bb index 1c60f38..14f5462 100644 --- a/meta-bsp/common/recipes/linux/linux-vuplus_3.3.8.bb +++ b/meta-bsp/common/recipes/linux/linux-vuplus_3.3.8.bb @@ -11,15 +11,16 @@ SRCREV = "" MODULE = "linux-3.3.8" SRC_URI += "http://archive.vuplus.com/download/kernel/stblinux-3.3.6-2.0.tar.bz2 \ - file://brcm_3.3.patch;patch=1;pnum=1 \ - file://fix_cpu_proc.patch;patch=1;pnum=1 \ - file://brcm_mtd_mac.patch;patch=1;pnum=1 \ - file://dvb_core_5.5.patch;patch=1;pnum=1 \ - file://dvb_backport.patch;patch=1;pnum=1 \ - file://bmips-no-array-bounds.patch;patch=1;pnum=1 \ + file://brcm_3.3.patch \ + file://fix_cpu_proc.patch \ + file://brcm_mtd_mac.patch \ + file://dvb_core_5.5.patch \ + file://dvb_backport.patch \ + file://bmips-no-array-bounds.patch \ file://${MACHINE}_defconfig \ file://rt5372_kernel_3.3.8.patch \ - " + file://kernel_miscompilation_with_gcc_4_8.patch \ +" S = "${WORKDIR}/linux" diff --git a/meta-bsp/vuduo2/recipes/linux/linux-vuplus_2.6.37.bbappend b/meta-bsp/vuduo2/recipes/linux/linux-vuplus_2.6.37.bbappend index 669c3c1..bf4b79c 100644 --- a/meta-bsp/vuduo2/recipes/linux/linux-vuplus_2.6.37.bbappend +++ b/meta-bsp/vuduo2/recipes/linux/linux-vuplus_2.6.37.bbappend @@ -2,5 +2,5 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" PR .= "-bsp9" -SRC_URI += "file://bmips-no-array-bounds.patch;patch=1;pnum=1 " +SRC_URI += "file://bmips-no-array-bounds.patch " diff --git a/meta-bsp/vuduo2/recipes/linux/linux-vuplus_3.3.8.bbappend b/meta-bsp/vuduo2/recipes/linux/linux-vuplus_3.3.8.bbappend index 16bf74d..181af9d 100644 --- a/meta-bsp/vuduo2/recipes/linux/linux-vuplus_3.3.8.bbappend +++ b/meta-bsp/vuduo2/recipes/linux/linux-vuplus_3.3.8.bbappend @@ -2,7 +2,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" PR .= "-bsp4" -SRC_URI += "file://remove_genet1.patch;patch=1;pnum=1 \ - file://nand_base.patch;patch=1;pnum=1 \ - file://brcm_s3_wol.patch;patch=1;pnum=1 \ +SRC_URI += "file://remove_genet1.patch \ + file://nand_base.patch \ + file://brcm_s3_wol.patch \ " diff --git a/meta-bsp/vusolo/recipes/linux/linux-vuplus_3.1.1.bbappend b/meta-bsp/vusolo/recipes/linux/linux-vuplus_3.1.1.bbappend index 7422a02..6afbf47 100644 --- a/meta-bsp/vusolo/recipes/linux/linux-vuplus_3.1.1.bbappend +++ b/meta-bsp/vusolo/recipes/linux/linux-vuplus_3.1.1.bbappend @@ -3,6 +3,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" PR .= "-bsp9" SRC_URI += "\ - file://linux_3.1.1_vusolo.patch;patch=1;pnum=1 \ - file://fix_cpu_proc_solo.patch;patch=1;pnum=1 \ + file://linux_3.1.1_vusolo.patch \ + file://fix_cpu_proc_solo.patch \ " diff --git a/meta-bsp/vusolo/recipes/vuplus/enigma2.bbappend b/meta-bsp/vusolo/recipes/vuplus/enigma2.bbappend index d8dc1ec..46baf36 100644 --- a/meta-bsp/vusolo/recipes/vuplus/enigma2.bbappend +++ b/meta-bsp/vusolo/recipes/vuplus/enigma2.bbappend @@ -1,3 +1,3 @@ PR.= "-bsp1" -SRC_URI_append = " file://enigma2_vuplus_misc.patch;patch=1;pnum=1" +SRC_URI_append = " file://enigma2_vuplus_misc.patch" diff --git a/meta-bsp/vusolo2/recipes/linux/linux-vuplus_3.3.6.bbappend b/meta-bsp/vusolo2/recipes/linux/linux-vuplus_3.3.6.bbappend index 66faca5..596685f 100644 --- a/meta-bsp/vusolo2/recipes/linux/linux-vuplus_3.3.6.bbappend +++ b/meta-bsp/vusolo2/recipes/linux/linux-vuplus_3.3.6.bbappend @@ -2,5 +2,5 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" PR .= "-bsp10" -SRC_URI += "file://bmips-no-array-bounds.patch;patch=1;pnum=1 " -SRC_URI += "file://dvb_backport.patch;patch=1;pnum=1 " +SRC_URI += "file://bmips-no-array-bounds.patch " +SRC_URI += "file://dvb_backport.patch " diff --git a/meta-bsp/vuultimo/recipes/linux/linux-vuplus_3.1.1.bbappend b/meta-bsp/vuultimo/recipes/linux/linux-vuplus_3.1.1.bbappend index 5b4429c..0e0b7c8 100644 --- a/meta-bsp/vuultimo/recipes/linux/linux-vuplus_3.1.1.bbappend +++ b/meta-bsp/vuultimo/recipes/linux/linux-vuplus_3.1.1.bbappend @@ -3,6 +3,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" PR .= "-bsp0" SRC_URI += "\ - file://linux-sata_brcm.patch;patch=1;pnum=1 \ + file://linux-sata_brcm.patch \ " diff --git a/meta-bsp/vuuno/recipes/linux/linux-vuplus_3.1.1.bbappend b/meta-bsp/vuuno/recipes/linux/linux-vuplus_3.1.1.bbappend index 6628b1f..faac025 100644 --- a/meta-bsp/vuuno/recipes/linux/linux-vuplus_3.1.1.bbappend +++ b/meta-bsp/vuuno/recipes/linux/linux-vuplus_3.1.1.bbappend @@ -3,6 +3,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" PR .= "-bsp11" SRC_URI += "\ - file://linux_3.1.1_vuuno.patch;patch=1;pnum=1 \ - file://linux-sata_brcm.patch;patch=1;pnum=1 \ + file://linux_3.1.1_vuuno.patch \ + file://linux-sata_brcm.patch \ " diff --git a/meta-openembedded b/meta-openembedded index 835745d..6434d97 160000 --- a/meta-openembedded +++ b/meta-openembedded @@ -1 +1 @@ -Subproject commit 835745de3fc9ad367d82a79983ca22f8694cf7ce +Subproject commit 6434d97ee958e7f597b9cf358db0275315a33c47 diff --git a/meta-openvuplus/classes/autotools.bbclass b/meta-openvuplus/classes/autotools.bbclass deleted file mode 100644 index 658ae66..0000000 --- a/meta-openvuplus/classes/autotools.bbclass +++ /dev/null @@ -1,192 +0,0 @@ -def autotools_dep_prepend(d): - if d.getVar('INHIBIT_AUTOTOOLS_DEPS', True): - return '' - - pn = d.getVar('PN', True) - deps = '' - - if pn in ['autoconf-native', 'automake-native', 'help2man-native']: - return deps - deps += 'autoconf-native automake-native ' - - if not pn in ['libtool', 'libtool-native'] and not pn.endswith("libtool-cross"): - deps += 'libtool-native ' - if not bb.data.inherits_class('native', d) \ - and not bb.data.inherits_class('nativesdk', d) \ - and not bb.data.inherits_class('cross', d) \ - and not d.getVar('INHIBIT_DEFAULT_DEPS', True): - deps += 'libtool-cross ' - - return deps + 'gnu-config-native ' - -EXTRA_OEMAKE = "" - -DEPENDS_prepend = "${@autotools_dep_prepend(d)}" - -inherit siteinfo - -# Space separated list of shell scripts with variables defined to supply test -# results for autoconf tests we cannot run at build time. -export CONFIG_SITE = "${@siteinfo_get_files(d)}" - -acpaths = "default" -EXTRA_AUTORECONF = "--exclude=autopoint" - -export lt_cv_sys_lib_dlsearch_path_spec = "${libdir} ${base_libdir}" - -def autotools_set_crosscompiling(d): - if not bb.data.inherits_class('native', d): - return " cross_compiling=yes" - return "" - -def append_libtool_sysroot(d): - # Only supply libtool sysroot option for non-native packages - if not bb.data.inherits_class('native', d): - return '--with-libtool-sysroot=${STAGING_DIR_HOST}' - return "" - -# EXTRA_OECONF_append = "${@autotools_set_crosscompiling(d)}" - -CONFIGUREOPTS = " --build=${BUILD_SYS} \ - --host=${HOST_SYS} \ - --target=${TARGET_SYS} \ - --prefix=${prefix} \ - --exec_prefix=${exec_prefix} \ - --bindir=${bindir} \ - --sbindir=${sbindir} \ - --libexecdir=${libexecdir} \ - --datadir=${datadir} \ - --sysconfdir=${sysconfdir} \ - --sharedstatedir=${sharedstatedir} \ - --localstatedir=${localstatedir} \ - --libdir=${libdir} \ - --includedir=${includedir} \ - --oldincludedir=${oldincludedir} \ - --infodir=${infodir} \ - --mandir=${mandir} \ - --disable-silent-rules \ - ${CONFIGUREOPT_DEPTRACK} \ - ${@append_libtool_sysroot(d)}" -CONFIGUREOPT_DEPTRACK = "--disable-dependency-tracking" - - -oe_runconf () { - cfgscript="${S}/configure" - if [ -x "$cfgscript" ] ; then - bbnote "Running $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} $@" - ${CACHED_CONFIGUREVARS} $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} "$@" || bbfatal "oe_runconf failed" - else - bbfatal "no configure script found at $cfgscript" - fi -} - -AUTOTOOLS_AUXDIR ?= "${S}" - -autotools_do_configure() { - case ${PN} in - autoconf*) - ;; - automake*) - ;; - *) - # WARNING: gross hack follows: - # An autotools built package generally needs these scripts, however only - # automake or libtoolize actually install the current versions of them. - # This is a problem in builds that do not use libtool or automake, in the case - # where we -need- the latest version of these scripts. e.g. running a build - # for a package whose autotools are old, on an x86_64 machine, which the old - # config.sub does not support. Work around this by installing them manually - # regardless. - ( for ac in `find ${S} -name configure.in -o -name configure.ac`; do - rm -f `dirname $ac`/configure - done ) - if [ -e ${S}/configure.in -o -e ${S}/configure.ac ]; then - olddir=`pwd` - cd ${S} - # Remove any previous copy of the m4 macros - rm -rf ${B}/aclocal-copy/ - if [ x"${acpaths}" = xdefault ]; then - acpaths= - for i in `find ${S} -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \ - grep -v 'acinclude.m4' | sed -e 's,\(.*/\).*$,\1,'|sort -u`; do - acpaths="$acpaths -I $i" - done - else - acpaths="${acpaths}" - fi - AUTOV=`automake --version |head -n 1 |sed "s/.* //;s/\.[0-9]\+$//"` - automake --version - echo "AUTOV is $AUTOV" - if [ -d ${STAGING_DATADIR_NATIVE}/aclocal-$AUTOV ]; then - acpaths="$acpaths -I${STAGING_DATADIR_NATIVE}/aclocal-$AUTOV" - fi - # The aclocal directory could get modified by other processes - # uninstalling data from the sysroot. See Yocto #861 for details. - # We avoid this by taking a copy here and then files cannot disappear. - if [ -d ${STAGING_DATADIR}/aclocal ]; then - mkdir -p ${B}/aclocal-copy/ - # for scratch build this directory can be empty - # so avoid cp's no files to copy error - cp -r ${STAGING_DATADIR}/aclocal/. ${B}/aclocal-copy/ - acpaths="$acpaths -I ${B}/aclocal-copy/" - fi - # autoreconf is too shy to overwrite aclocal.m4 if it doesn't look - # like it was auto-generated. Work around this by blowing it away - # by hand, unless the package specifically asked not to run aclocal. - if ! echo ${EXTRA_AUTORECONF} | grep -q "aclocal"; then - rm -f aclocal.m4 - fi - if [ -e configure.in ]; then - CONFIGURE_AC=configure.in - else - CONFIGURE_AC=configure.ac - fi - if ! echo ${EXTRA_OECONF} | grep -q "\-\-disable-nls"; then - if grep "^[[:space:]]*AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then - if grep "sed.*POTFILES" $CONFIGURE_AC >/dev/null; then - : do nothing -- we still have an old unmodified configure.ac - else - bbnote Executing glib-gettextize --force --copy - echo "no" | glib-gettextize --force --copy - fi - else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then - # We'd call gettextize here if it wasn't so broken... - cp ${STAGING_DATADIR}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/ - if [ -d ${S}/po/ -a ! -e ${S}/po/Makefile.in.in ]; then - cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/ - if [ ! -e ${S}/po/remove-potcdate.sin ]; then - cp ${STAGING_DATADIR_NATIVE}/gettext/po/remove-potcdate.sin ${S}/po/ - fi - fi - fi - fi - fi - mkdir -p m4 - if grep "^[[:space:]]*[AI][CT]_PROG_INTLTOOL" $CONFIGURE_AC >/dev/null; then - bbnote Executing intltoolize --copy --force --automake - intltoolize --copy --force --automake - fi - bbnote Executing autoreconf --verbose --install --force ${EXTRA_AUTORECONF} $acpaths - autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed." - cd $olddir - fi - ;; - esac - if [ -e ${S}/configure ]; then - oe_runconf - else - bbnote "nothing to configure" - fi -} - -autotools_do_install() { - oe_runmake 'DESTDIR=${D}' install - # Info dir listing isn't interesting at this point so remove it if it exists. - if [ -e "${D}${infodir}/dir" ]; then - rm -f ${D}${infodir}/dir - fi -} - -inherit siteconfig - -EXPORT_FUNCTIONS do_configure do_install diff --git a/meta-openvuplus/conf/distro/vuplus.conf b/meta-openvuplus/conf/distro/vuplus.conf index 129303a..c0f4753 100644 --- a/meta-openvuplus/conf/distro/vuplus.conf +++ b/meta-openvuplus/conf/distro/vuplus.conf @@ -2,15 +2,15 @@ #@NAME: OpenVuplus #@DESCRIPTION: Distribution configuration for OpenVuplus -QA_LOG = "1" +QA_LOGFILE = "${TMPDIR}/qa.log" #USER_CLASSES += "image-prelink" SANITY_REQUIRED_UTILITIES = "patch diffstat texi2html makeinfo svn bzip2 tar gzip gawk chrpath wget cpio sshpass" -INHERIT += "buildhistory recipe_sanity testlab" +INHERIT += "buildhistory recipe_sanity" BUILDHISTORY_COMMIT = "1" DISTRO = "vuplus" DISTRO_NAME = "vuplus" -DISTRO_VERSION = "2.1.0" +DISTRO_VERSION = "3.0.0" DISTRO_PR ?= "" # meta/conf/distro/include/default-distrovars.inc @@ -32,7 +32,7 @@ IMAGE_FSTYPES =+ "tar.bz2" # package versions PREFERRED_VERSION_pango ?= "1.28.4" -PREFERRED_VERSION_wpa-supplicant ?= "0.7.3" +PREFERRED_VERSION_wpa-supplicant ?= "2.1" PREFERRED_VERSION_linux-libc-headers ?= "${LINUXLIBCVERSION}" PREFERRED_VERSION_linux-libc-headers-nativesdk ?= "${LINUXLIBCVERSION}" @@ -41,6 +41,9 @@ PREFERRED_VERSION_linux-libc-headers-nativesdk ?= "${LINUXLIBCVERSION}" #PREFERRED_VERSION_linux-libc-headers = "3.1.1" #PREFERRED_VERSION_linux-libc-headers-nativesdk = "3.1.1" +PREFERRED_VERSION_orc ?= "0.4.14" +PREFERRED_VERSION_freetype ?= "2.4.12" + # chang : udev_182 is not working with linux-libc-headers_2.6.31. PREFERRED_VERSION_udev ?= "124" @@ -53,7 +56,7 @@ PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-inter PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc:gcc-cross" PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}g++:gcc-cross" -LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly commercial_lame commercial_libmad commercial_mpeg2dec" +LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly commercial_lame commercial_libmad commercial_mpeg2dec commercial_libav" COMMERCIAL_AUDIO_PLUGINS ?= "gst-plugins-ugly-mad gst-plugins-ugly-mpegaudioparse" COMMERCIAL_VIDEO_PLUGINS ?= "gst-plugins-ugly-mpeg2dec gst-plugins-ugly-mpegstream gst-plugins-bad-mpegvideoparse" diff --git a/meta-openvuplus/recipes-connectivity/autofs/autofs_4.1.4.bb b/meta-openvuplus/recipes-connectivity/autofs/autofs_4.1.4.bb index f8d9bff..9357907 100644 --- a/meta-openvuplus/recipes-connectivity/autofs/autofs_4.1.4.bb +++ b/meta-openvuplus/recipes-connectivity/autofs/autofs_4.1.4.bb @@ -50,7 +50,7 @@ SRC_URI[sha256sum] = "e25caa0e9639ea54dd7c4f21e8146ac9859a61fa126f397edf874b5fdc S = "${WORKDIR}/${BP}" -inherit autotools update-rc.d +inherit autotools-brokensep update-rc.d do_configure_prepend () { if [ ! -e acinclude.m4 ]; then diff --git a/meta-openvuplus/recipes-connectivity/hostap/hostap-daemon-0.7.3/defconfig b/meta-openvuplus/recipes-connectivity/hostap/hostap-daemon-0.7.3/defconfig deleted file mode 100644 index 1f3c6f4..0000000 --- a/meta-openvuplus/recipes-connectivity/hostap/hostap-daemon-0.7.3/defconfig +++ /dev/null @@ -1,145 +0,0 @@ -# Example hostapd build time configuration -# -# This file lists the configuration options that are used when building the -# hostapd binary. All lines starting with # are ignored. Configuration option -# lines must be commented out complete, if they are not to be included, i.e., -# just setting VARIABLE=n is not disabling that variable. -# -# This file is included in Makefile, so variables like CFLAGS and LIBS can also -# be modified from here. In most cass, these lines should use += in order not -# to override previous values of the variables. - -# Driver interface for Host AP driver -CONFIG_DRIVER_HOSTAP=y - -# Driver interface for wired authenticator -CONFIG_DRIVER_WIRED=y - -# Driver interface for madwifi driver -#CONFIG_DRIVER_MADWIFI=y -#CFLAGS += -I../../madwifi # change to the madwifi source directory - -# Driver interface for Prism54 driver -CONFIG_DRIVER_PRISM54=y - -# Driver interface for drivers using the nl80211 kernel interface -CONFIG_DRIVER_NL80211=y -CONFIG_LIBNL20=y -# driver_nl80211.c requires a rather new libnl (version 1.1) which may not be -# shipped with your distribution yet. If that is the case, you need to build -# newer libnl version and point the hostapd build to use it. -#LIBNL=/usr/src/libnl -#CFLAGS += -I$(LIBNL)/include -#LIBS += -L$(LIBNL)/lib - -# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver) -#CONFIG_DRIVER_BSD=y -#CFLAGS += -I/usr/local/include -#LIBS += -L/usr/local/lib - -# Driver interface for no driver (e.g., RADIUS server only) -#CONFIG_DRIVER_NONE=y - -# IEEE 802.11F/IAPP -CONFIG_IAPP=y - -# WPA2/IEEE 802.11i RSN pre-authentication -CONFIG_RSN_PREAUTH=y - -# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS) -CONFIG_PEERKEY=y - -# IEEE 802.11w (management frame protection) -# This version is an experimental implementation based on IEEE 802.11w/D1.0 -# draft and is subject to change since the standard has not yet been finalized. -# Driver support is also needed for IEEE 802.11w. -#CONFIG_IEEE80211W=y - -# Integrated EAP server -CONFIG_EAP=y - -# EAP-MD5 for the integrated EAP server -CONFIG_EAP_MD5=y - -# EAP-TLS for the integrated EAP server -CONFIG_EAP_TLS=y - -# EAP-MSCHAPv2 for the integrated EAP server -CONFIG_EAP_MSCHAPV2=y - -# EAP-PEAP for the integrated EAP server -CONFIG_EAP_PEAP=y - -# EAP-GTC for the integrated EAP server -CONFIG_EAP_GTC=y - -# EAP-TTLS for the integrated EAP server -CONFIG_EAP_TTLS=y - -# EAP-SIM for the integrated EAP server -#CONFIG_EAP_SIM=y - -# EAP-AKA for the integrated EAP server -#CONFIG_EAP_AKA=y - -# EAP-AKA' for the integrated EAP server -# This requires CONFIG_EAP_AKA to be enabled, too. -#CONFIG_EAP_AKA_PRIME=y - -# EAP-PAX for the integrated EAP server -#CONFIG_EAP_PAX=y - -# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK) -#CONFIG_EAP_PSK=y - -# EAP-SAKE for the integrated EAP server -#CONFIG_EAP_SAKE=y - -# EAP-GPSK for the integrated EAP server -#CONFIG_EAP_GPSK=y -# Include support for optional SHA256 cipher suite in EAP-GPSK -#CONFIG_EAP_GPSK_SHA256=y - -# EAP-FAST for the integrated EAP server -# Note: Default OpenSSL package does not include support for all the -# functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL, -# the OpenSSL library must be patched (openssl-0.9.9-session-ticket.patch) -# to add the needed functions. -#CONFIG_EAP_FAST=y - -# Wi-Fi Protected Setup (WPS) -CONFIG_WPS=y -# Enable UPnP support for external WPS Registrars -#CONFIG_WPS_UPNP=y - -# EAP-IKEv2 -#CONFIG_EAP_IKEV2=y - -# Trusted Network Connect (EAP-TNC) -#CONFIG_EAP_TNC=y - -# PKCS#12 (PFX) support (used to read private key and certificate file from -# a file that usually has extension .p12 or .pfx) -CONFIG_PKCS12=y - -# RADIUS authentication server. This provides access to the integrated EAP -# server from external hosts using RADIUS. -CONFIG_RADIUS_SERVER=y - -# Build IPv6 support for RADIUS operations -CONFIG_IPV6=y - -# IEEE Std 802.11r-2008 (Fast BSS Transition) -#CONFIG_IEEE80211R=y - -# Use the hostapd's IEEE 802.11 authentication (ACL), but without -# the IEEE 802.11 Management capability (e.g., madwifi or FreeBSD/net80211) -CONFIG_DRIVER_RADIUS_ACL=y - -# IEEE 802.11n (High Throughput) support -CONFIG_IEEE80211N=y - -# Remove debugging code that is printing out debug messages to stdout. -# This can be used to reduce the size of the hostapd considerably if debugging -# code is not needed. -#CONFIG_NO_STDOUT_DEBUG=y diff --git a/meta-openvuplus/recipes-connectivity/hostap/hostap-daemon-0.7.3/init b/meta-openvuplus/recipes-connectivity/hostap/hostap-daemon-0.7.3/init deleted file mode 100644 index 79f74b6..0000000 --- a/meta-openvuplus/recipes-connectivity/hostap/hostap-daemon-0.7.3/init +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh -DAEMON=/usr/sbin/hostapd -NAME=hostapd -DESC="HOSTAP Daemon" -ARGS="/etc/hostapd.conf -B" - -test -f $DAEMON || exit 0 - -set -e - -case "$1" in - start) - echo -n "Starting $DESC: " - start-stop-daemon -S -x $DAEMON -- $ARGS - echo "$NAME." - ;; - stop) - echo -n "Stopping $DESC: " - start-stop-daemon -K -x $DAEMON - echo "$NAME." - ;; - restart) - $0 stop - $0 start - ;; - reload) - echo -n "Reloading $DESC: " - killall -HUP $(basename ${DAEMON}) - echo "$NAME." - ;; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 - ;; -esac - -exit 0 diff --git a/meta-openvuplus/recipes-connectivity/hostap/hostap-daemon-0.7.inc b/meta-openvuplus/recipes-connectivity/hostap/hostap-daemon-0.7.inc deleted file mode 100644 index 0eb678a..0000000 --- a/meta-openvuplus/recipes-connectivity/hostap/hostap-daemon-0.7.inc +++ /dev/null @@ -1,25 +0,0 @@ -HOMEPAGE = "http://hostap.epitest.fi" -SECTION = "kernel/userland" -PRIORITY = "optional" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://${WORKDIR}/hostapd-0.7.3/COPYING;md5=c54ce9345727175ff66d17b67ff51f58" -DEPENDS = "libnl openssl" - -inherit update-rc.d -INITSCRIPT_NAME="hostapd" - -do_configure() { - install -m 0644 ${WORKDIR}/defconfig ${S}/.config -} - -do_compile() { - make -} - -do_install() { - install -d ${D}${sbindir} ${D}${sysconfdir}/init.d - install -m 0755 ${S}/hostapd ${D}${sbindir} - install -m 0755 ${S}/hostapd_cli ${D}${sbindir} - install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/hostapd -} - diff --git a/meta-openvuplus/recipes-connectivity/hostap/hostap-daemon_0.7.3.bb b/meta-openvuplus/recipes-connectivity/hostap/hostap-daemon_0.7.3.bb deleted file mode 100644 index 99297a9..0000000 --- a/meta-openvuplus/recipes-connectivity/hostap/hostap-daemon_0.7.3.bb +++ /dev/null @@ -1,17 +0,0 @@ -DESCRIPTION = "User space daemon for extended IEEE 802.11 management" - -require hostap-daemon-0.7.inc - -PR = "r4" - -DEFAULT_PREFERENCE = "-1" - -SRC_URI = "http://hostap.epitest.fi/releases/hostapd-${PV}.tar.gz \ - file://defconfig \ - file://init" -SRC_URI[md5sum] = "91a7c8d0f090b7104152d3455a84c112" -SRC_URI[sha256sum] = "31eb2781f37e1a4c27969d1594f8019c0ca87779349c099ab812833289961567" - -S = "${WORKDIR}/hostapd-${PV}/hostapd" - - diff --git a/meta-openvuplus/recipes-connectivity/minidlna/minidlna_cvs.bb b/meta-openvuplus/recipes-connectivity/minidlna/minidlna_cvs.bb index 49f8d86..dd0498b 100644 --- a/meta-openvuplus/recipes-connectivity/minidlna/minidlna_cvs.bb +++ b/meta-openvuplus/recipes-connectivity/minidlna/minidlna_cvs.bb @@ -15,7 +15,7 @@ SRC_URI = "cvs://anonymous@minidlna.cvs.sourceforge.net/cvsroot/minidlna;module= S = "${WORKDIR}/${PN}" -inherit autotools gettext +inherit autotools-brokensep gettext PACKAGES =+ "${PN}-utils" diff --git a/meta-openvuplus/recipes-connectivity/openssl/openssl_0.9.8x.bb b/meta-openvuplus/recipes-connectivity/openssl/openssl_0.9.8x.bb index b341267..b84085e 100644 --- a/meta-openvuplus/recipes-connectivity/openssl/openssl_0.9.8x.bb +++ b/meta-openvuplus/recipes-connectivity/openssl/openssl_0.9.8x.bb @@ -1,6 +1,6 @@ require recipes-connectivity/openssl/openssl.inc -PR = "${INC_PR}.1" +PR .= "-vuplus0" LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8" diff --git a/meta-openvuplus/recipes-connectivity/packagegroups/packagegroup-vuplus-wlan.bb b/meta-openvuplus/recipes-connectivity/packagegroups/packagegroup-vuplus-wlan.bb new file mode 100644 index 0000000..dba0e47 --- /dev/null +++ b/meta-openvuplus/recipes-connectivity/packagegroups/packagegroup-vuplus-wlan.bb @@ -0,0 +1,57 @@ +DESCRIPTION = "Vuplus: W-LAN package group for the Vuplus Distribution" +SECTION = "vuplus/base" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +PR = "r15" + +inherit packagegroup + +DEPENDS_${PN} = "enigma2" +RDEPENDS_${PN} = "\ + enigma2-plugin-systemplugins-wirelesslansetup \ + wireless-tools \ + wpa-supplicant \ +" + +WIFI_FIRMWARES = "\ + rt73-firmware \ + zd1211-firmware \ + firmware-htc9271 \ + firmware-rt2561 \ + firmware-rtl8721u \ + firmware-rt3070 \ +" + +KERNEL_WIFI_MODULES = " \ + kernel-module-ath9k-htc \ + kernel-module-carl9170 \ + kernel-module-prism2-usb \ + kernel-module-rt73usb \ + kernel-module-rt2500usb \ + kernel-module-rtl8187 \ + kernel-module-r8712u \ + kernel-module-w35und \ + kernel-module-zd1211rw \ + kernel-module-llc \ + kernel-module-stp \ + kernel-module-bridge \ + kernel-module-hostap \ + ${@base_contains('VUPLUS_FEATURES', 'ralink-kmod', 'kernel-module-rt2800usb', ' ', d)} \ +" + +KERNEL_WIFI_MODULES += "${@base_version_less_or_equal('VUPLUS_KERNEL_VERSION', '3.1.1', 'kernel-module-r8192u-usb', '', d)}" + +LEGACY_MODULES = " \ + ${@base_contains('VUPLUS_FEATURES', 'ralink-legacy', 'rt3070', ' ', d)} \ + r8192cu \ +" + +RDEPENDS_${PN}_append = "\ + ${WIFI_FIRMWARES} \ + ${KERNEL_WIFI_MODULES} \ + ${LEGACY_MODULES} \ + rt2870sta \ +" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + diff --git a/meta-openvuplus/recipes-connectivity/ppp/ppp_2.4.5.bbappend b/meta-openvuplus/recipes-connectivity/ppp/ppp_2.4.5.bbappend deleted file mode 100644 index e6587d2..0000000 --- a/meta-openvuplus/recipes-connectivity/ppp/ppp_2.4.5.bbappend +++ /dev/null @@ -1,8 +0,0 @@ -PR .= "-vuplus0" - -do_install_append() { - rm ${D}/${sysconfdir}/ppp/options - rm ${D}/${sysconfdir}/ppp/pap-secrets -} - -CONFFILES_${PN} = "${sysconfdir}/ppp/chap-secrets" diff --git a/meta-openvuplus/recipes-connectivity/ppp/ppp_2.4.6.bbappend b/meta-openvuplus/recipes-connectivity/ppp/ppp_2.4.6.bbappend new file mode 100644 index 0000000..e6587d2 --- /dev/null +++ b/meta-openvuplus/recipes-connectivity/ppp/ppp_2.4.6.bbappend @@ -0,0 +1,8 @@ +PR .= "-vuplus0" + +do_install_append() { + rm ${D}/${sysconfdir}/ppp/options + rm ${D}/${sysconfdir}/ppp/pap-secrets +} + +CONFFILES_${PN} = "${sysconfdir}/ppp/chap-secrets" diff --git a/meta-openvuplus/recipes-connectivity/realtek/r8192cu_3.1.2590.20110922.bb b/meta-openvuplus/recipes-connectivity/realtek/r8192cu_3.1.2590.20110922.bb index 9079bb7..efcd711 100644 --- a/meta-openvuplus/recipes-connectivity/realtek/r8192cu_3.1.2590.20110922.bb +++ b/meta-openvuplus/recipes-connectivity/realtek/r8192cu_3.1.2590.20110922.bb @@ -7,8 +7,8 @@ inherit module SRC_URI = " \ file://rtl8192_8188CU_linux_v3.1.2590.20110922.tar.gz \ - file://makefile.patch;patch=1 \ - file://linux_3.1.patch;patch=1 \ + file://makefile.patch \ + file://linux_3.1.patch \ " S = "${WORKDIR}/rtl8192_8188CU_linux_v${PV}" diff --git a/meta-openvuplus/recipes-connectivity/rt73-firmware/rt73-firmware_1.8.bb b/meta-openvuplus/recipes-connectivity/rt73-firmware/rt73-firmware_1.8.bb index 70c5760..d7e4440 100644 --- a/meta-openvuplus/recipes-connectivity/rt73-firmware/rt73-firmware_1.8.bb +++ b/meta-openvuplus/recipes-connectivity/rt73-firmware/rt73-firmware_1.8.bb @@ -15,3 +15,6 @@ do_install() { FILES_${PN} = "${base_libdir}/firmware/" PACKAGE_ARCH = "all" + +SRC_URI[md5sum] = "0612338acc553d6809fed0632ab6619d" +SRC_URI[sha256sum] = "5e075817e70db189674ef725502b7e6ac31426b0ac6066773438cc7bb7fff930" diff --git a/meta-openvuplus/recipes-connectivity/samba/samba-basic.inc b/meta-openvuplus/recipes-connectivity/samba/samba-basic.inc new file mode 100644 index 0000000..f0a9bd7 --- /dev/null +++ b/meta-openvuplus/recipes-connectivity/samba/samba-basic.inc @@ -0,0 +1,20 @@ +SRC_URI += "file://config-lfs.patch \ + file://quota.patch;striplevel=0 \ + " + +EXTRA_OECONF += "\ + --without-ads \ + --without-winbind \ + --without-ldap \ + --without-krb5" + +PACKAGES =+ "libnetapi libtdb libsmbsharemodes libsmbclient libsmbclient-dev cifs cifs-doc swat" + +FILES_libnetapi = "${libdir}/libnetapi.so.*" +FILES_libsmbsharemodes = "${libdir}/libsmbsharemodes.so.*" +FILES_libtdb = "${libdir}/libtdb.so.*" +FILES_cifs = "${base_sbindir}/mount.cifs ${base_sbindir}/umount.cifs" +FILES_cifs-doc = "${mandir}/man8/mount.cifs.8 ${mandir}/man8/umount.cifs.8" +FILES_libsmbclient = "${libdir}/libsmbclient.so.*" +FILES_libsmbclient-dev = "${libdir}/libsmbclient.so ${includedir}" +FILES_swat = "${sbindir}/swat ${datadir}/swat ${libdir}/*.msg" diff --git a/meta-openvuplus/recipes-connectivity/samba/samba.inc b/meta-openvuplus/recipes-connectivity/samba/samba.inc new file mode 100644 index 0000000..d3ff384 --- /dev/null +++ b/meta-openvuplus/recipes-connectivity/samba/samba.inc @@ -0,0 +1,89 @@ +SECTION = "console/network" +LICENSE = "GPL" +DEPENDS = "readline virtual/libiconv talloc" + +SRC_URI = "http://samba.org/samba/ftp/stable/samba-${PV}.tar.gz \ + file://volatiles.03_samba \ + file://smb.conf \ + file://init \ + file://tdb.pc \ + " + +S = "${WORKDIR}/samba-${PV}/source" + +inherit autotools-brokensep update-rc.d + +FILES_${PN} += "${libdir}/vfs/*.so ${libdir}/charset/*.so ${libdir}/*.dat \ + ${libdir}/auth/*.so ${libdir}/security/*.so" +FILES_${PN}-dbg += "${libdir}/vfs/.debug/*.so ${libdir}/charset/.debug/*.so \ + ${libdir}/auth/.debug/*.so ${libdir}/security/.debug/*.so" + +SAMBAMMAP = "no" +SAMBAMMAP_libc-glibc = "yes" + +# The file system settings --foodir=dirfoo and overridden unconditionally +# in the samba config by --with-foodir=dirfoo - even if the --with is not +# specified! Fix that here. Set the privatedir to /etc/samba/private. +EXTRA_OECONF='--disable-cups \ + --with-readline=${STAGING_LIBDIR}/.. \ + --with-libiconv=${STAGING_LIBDIR}/.. \ + --without-automount \ + --with-configdir=${sysconfdir}/samba \ + --with-privatedir=${sysconfdir}/samba/private \ + --with-lockdir=${localstatedir}/lock \ + --with-piddir=${localstatedir}/run \ + --with-logfilebase=${localstatedir}/log \ + --with-libdir=${libdir} \ + --with-mandir=${mandir} \ + --with-swatdir=${datadir}/swat \ + --with-aio-support \ + --without-libtalloc \ + samba_cv_struct_timespec=yes \ + libreplace_cv_HAVE_MMAP=${SAMBAMMAP}' + +INITSCRIPT_NAME = "samba" +# No dependencies, goes in at level 20 (NOTE: take care with the +# level, later levels put the shutdown later too - see the links +# in rc6.d, the shutdown must precede network shutdown). +INITSCRIPT_PARAMS = "defaults" +CONFFILES_${PN} = "${sysconfdir}/samba/smb.conf" + +do_configure_prepend () { + ./script/mkversion.sh + if [ ! -e acinclude.m4 ]; then + touch aclocal.m4 + cat aclocal.m4 > acinclude.m4 + fi +} + +do_compile () { + oe_runmake proto_exists + base_do_compile +} + +do_install_append() { + install -d ${D}${libdir}/pkgconfig/ + cp ${WORKDIR}/tdb.pc ${D}${libdir}/pkgconfig/ + mv ${D}${libdir}/libsmbclient.so ${D}${libdir}/libsmbclient.so.0 || true + ln -sf libsmbclient.so.0 ${D}${libdir}/libsmbclient.so + mkdir -p ${D}${base_sbindir} + rm -f ${D}${bindir}/*.old + rm -f ${D}${sbindir}/*.old + [ -f ${D}${sbindir}/mount.cifs ] && mv ${D}${sbindir}/mount.cifs ${D}${base_sbindir}/ + [ -f ${D}${sbindir}/umount.cifs ] && mv ${D}${sbindir}/umount.cifs ${D}${base_sbindir}/ + + # This is needed for < 3.2.4 + rm -f ${D}${sbindir}/mount.smbfs ${D}${base_sbindir}/mount.smbfs + if [ -f ${D}${bindir}/smbmount ]; then + ln -sf ${bindir}/smbmount ${D}${base_sbindir}/mount.smb + ln -sf ${bindir}/smbmount ${D}${base_sbindir}/mount.smbfs + fi + + install -D -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/samba + install -D -m 644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf + install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/volatiles.03_samba + install -d ${D}/var/log/samba + install -d ${D}/var/spool/samba + rmdir ${D}/var/run +} + diff --git a/meta-openvuplus/recipes-connectivity/samba/samba_3.0.37.bb b/meta-openvuplus/recipes-connectivity/samba/samba_3.0.37.bb index eb05c71..13949da 100644 --- a/meta-openvuplus/recipes-connectivity/samba/samba_3.0.37.bb +++ b/meta-openvuplus/recipes-connectivity/samba/samba_3.0.37.bb @@ -1,5 +1,5 @@ -require recipes-connectivity/samba/samba.inc -require recipes-connectivity/samba/samba-basic.inc +require samba.inc +require samba-basic.inc LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://../COPYING;md5=8ca43cbc842c2336e835926c2166c28b" PR = "r2" diff --git a/meta-openvuplus/recipes-connectivity/samba/samba_3.0.37.bbappend b/meta-openvuplus/recipes-connectivity/samba/samba_3.0.37.bbappend index bbbfc66..77f43ba 100644 --- a/meta-openvuplus/recipes-connectivity/samba/samba_3.0.37.bbappend +++ b/meta-openvuplus/recipes-connectivity/samba/samba_3.0.37.bbappend @@ -1,4 +1,4 @@ -PR .= "-vuplus3" +PR .= "-vuplus0" SRC_URI += " \ file://01samba-kill \ diff --git a/meta-openvuplus/recipes-connectivity/tasks/task-vuplus-wlan.bb b/meta-openvuplus/recipes-connectivity/tasks/task-vuplus-wlan.bb deleted file mode 100644 index 00b16e5..0000000 --- a/meta-openvuplus/recipes-connectivity/tasks/task-vuplus-wlan.bb +++ /dev/null @@ -1,57 +0,0 @@ -DESCRIPTION = "Vuplus: W-LAN Task for the Vuplus Distribution" -SECTION = "vuplus/base" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" -PR = "r15" - -inherit task - -DEPENDS_${PN} = "enigma2-plugins" -RDEPENDS_${PN} = "\ - ${@base_contains("VUPLUS_FEATURES", "vuwlan", "enigma2-plugin-systemplugins-wirelesslansetup", "enigma2-plugin-systemplugins-wirelesslan", d)} \ - wireless-tools \ - wpa-supplicant \ -" - -WIFI_FIRMWARES = "\ - rt73-firmware \ - zd1211-firmware \ - firmware-htc9271 \ - firmware-rt2561 \ - firmware-rtl8721u \ - firmware-rt3070 \ -" - -KERNEL_WIFI_MODULES = " \ - kernel-module-ath9k-htc \ - kernel-module-carl9170 \ - kernel-module-prism2-usb \ - kernel-module-rt73usb \ - kernel-module-rt2500usb \ - kernel-module-rtl8187 \ - kernel-module-r8712u \ - kernel-module-w35und \ - kernel-module-zd1211rw \ - kernel-module-llc \ - kernel-module-stp \ - kernel-module-bridge \ - kernel-module-hostap \ - ${@base_contains('VUPLUS_FEATURES', 'ralink-kmod', 'kernel-module-rt2800usb', ' ', d)} \ -" - -KERNEL_WIFI_MODULES += "${@base_version_less_or_equal('VUPLUS_KERNEL_VERSION', '3.1.1', 'kernel-module-r8192u-usb', '', d)}" - -LEGACY_MODULES = " \ - ${@base_contains('VUPLUS_FEATURES', 'ralink-legacy', 'rt3070', ' ', d)} \ - r8192cu \ -" - -RDEPENDS_${PN}_append = "\ - ${WIFI_FIRMWARES} \ - ${KERNEL_WIFI_MODULES} \ - ${LEGACY_MODULES} \ - rt2870sta \ -" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - diff --git a/meta-openvuplus/recipes-connectivity/usb-modeswitch/usb-modeswitch-data_20121109.bb b/meta-openvuplus/recipes-connectivity/usb-modeswitch/usb-modeswitch-data_20121109.bb index d4e42ec..2a5b582 100644 --- a/meta-openvuplus/recipes-connectivity/usb-modeswitch/usb-modeswitch-data_20121109.bb +++ b/meta-openvuplus/recipes-connectivity/usb-modeswitch/usb-modeswitch-data_20121109.bb @@ -7,7 +7,7 @@ PR = "r1" inherit allarch SRC_URI = "http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-data-${PV}.tar.bz2 \ - file://usb-modeswitch-data_20120215.patch;patch=1;pnum=1 \ + file://usb-modeswitch-data_20120215.patch \ " do_install() { diff --git a/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.3/action_wpa.sh b/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.3/action_wpa.sh deleted file mode 100644 index 6d90fa6..0000000 --- a/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.3/action_wpa.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh - -# Action script to enable/disable wpa-roam interfaces in reaction to -# ifplugd events. -# -# Copyright: Copyright (c) 2008-2010, Kel Modderman -# License: GPL-2 -# - -PATH=/sbin:/usr/sbin:/bin:/usr/bin - -if [ ! -x /usr/sbin/wpa_action ]; then - exit 0 -fi - -# ifplugd(8) - -# -# If an ifplugd managed interface is brought up, disconnect any -# wpa-roam managed interfaces so that only one "roaming" interface -# remains active on the system. - -IFPLUGD_IFACE="${1}" - -case "${2}" in - up) - COMMAND=disconnect - ;; - down) - COMMAND=reconnect - ;; - *) - echo "$0: unknown arguments: ${@}" >&2 - exit 1 - ;; -esac - -for CTRL in /var/run/wpa_supplicant/*; do - [ -S "${CTRL}" ] || continue - - IFACE="${CTRL#/var/run/wpa_supplicant/}" - - # skip if ifplugd is managing this interface - if [ "${IFPLUGD_IFACE}" = "${IFACE}" ]; then - continue - fi - - if wpa_action "${IFACE}" check; then - wpa_cli -i "${IFACE}" "${COMMAND}" - fi -done diff --git a/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.3/functions.sh b/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.3/functions.sh deleted file mode 100644 index b9e0eb2..0000000 --- a/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.3/functions.sh +++ /dev/null @@ -1,1015 +0,0 @@ -#!/bin/sh - -##################################################################### -## Purpose -# This file contains common shell functions used by scripts of the -# wpasupplicant package to allow ifupdown to manage wpa_supplicant. -# It also contains some functions used by wpa_action(8) that allow -# ifupdown to be managed by wpa_cli(8) action events. -# -# This file is provided by the wpasupplicant package. - -##################################################################### -# Copyright (C) 2006 - 2009 Debian/Ubuntu wpasupplicant Maintainers -# -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# On Debian GNU/Linux systems, the text of the GPL license, -# version 2, can be found in /usr/share/common-licenses/GPL-2. - -##################################################################### -## global variables -# wpa_supplicant variables -WPA_SUP_BIN="/usr/sbin/wpa_supplicant" -WPA_SUP_PNAME="wpa_supplicant" -WPA_SUP_PIDFILE="/var/run/wpa_supplicant.${WPA_IFACE}.pid" - -# wpa_cli variables -WPA_CLI_BIN="/usr/sbin/wpa_cli" -WPA_CLI_PNAME="wpa_cli" -WPA_CLI_PIDFILE="/var/run/wpa_action.${WPA_IFACE}.pid" -WPA_CLI_TIMESTAMP="/var/run/wpa_action.${WPA_IFACE}.timestamp" -WPA_CLI_IFUPDOWN="/var/run/wpa_action.${WPA_IFACE}.ifupdown" - -# sendsigs omission interface, present in initscripts (>= 2.86.ds1-48) -if [ -d /lib/init/rw/sendsigs.omit.d/ ]; then - # Debian - WPA_SUP_OMIT_PIDFILE="/lib/init/rw/sendsigs.omit.d/wpasupplicant.wpa_supplicant.${WPA_IFACE}.pid" -elif [ -d /var/run/sendsigs.omit.d/ ]; then - # Ubuntu, see https://launchpad.net/bugs/181541 for status - WPA_SUP_OMIT_PIDFILE="/var/run/sendsigs.omit.d/wpasupplicant.wpa_supplicant.${WPA_IFACE}.pid" -else - WPA_SUP_OMIT_PIDFILE= -fi - -# default ctrl_interface socket directory -if [ -z "$WPA_CTRL_DIR" ]; then - WPA_CTRL_DIR="/var/run/wpa_supplicant" -fi - -# verbosity variables -if [ -n "$IF_WPA_VERBOSITY" ] || [ "$VERBOSITY" = "1" ]; then - TO_NULL="/dev/stdout" - DAEMON_VERBOSITY="--verbose" -else - TO_NULL="/dev/null" - DAEMON_VERBOSITY="--quiet" -fi - -##################################################################### -## wpa_cli wrapper -# Path to common ctrl_interface socket and iface supplied. -# NB: WPA_CTRL_DIR cannot be used for interactive commands, it is -# set only in the environment that wpa_cli provides when processing -# action events. -# -wpa_cli () { - "$WPA_CLI_BIN" -p "$WPA_CTRL_DIR" -i "$WPA_IFACE" "$@" - - return "$?" -} - -##################################################################### -## verbose and stderr message wrapper -# Ensures a standard and easily identifiable message is printed by -# scripts using this function library. -# -# log Log a message to syslog when called non-interactively -# by wpa_action -# -# verbose To stdout when IF_WPA_VERBOSITY or VERBOSITY is true -# -# action Same as verbose but without newline -# Useful for allowing wpa_cli commands to echo result -# value of 'OK' or 'FAILED' -# -# stderr Echo warning or error messages to stderr -# -# NB: when called by wpa_action, there is no redirection (verbose) -# -wpa_msg () { - if [ "$1" = "log" ]; then - shift - case "$WPA_ACTION" in - "CONNECTED"|"DISCONNECTED") - [ -x /usr/bin/logger ] || return - if [ "$#" -gt 0 ]; then - logger -t "wpa_action" "$@" - else - logger -t "wpa_action" - fi - ;; - *) - [ "$#" -gt 0 ] && echo "wpa_action: $@" - ;; - esac - return - fi - - case "$1" in - "verbose") - shift - echo "$WPA_SUP_PNAME: $@" >$TO_NULL - ;; - "action") - shift - echo -n "$WPA_SUP_PNAME: $@ -- " >$TO_NULL - ;; - "stderr") - shift - echo "$WPA_SUP_PNAME: $@" >/dev/stderr - ;; - *) - ;; - esac -} - -##################################################################### -## validate daemon pid files -# Test daemon process ID files via start-stop-daemon with a signal 0 -# given the exec binary and pidfile location. -# -# $1 daemon -# $2 pidfile -# -# Returns true when pidfile exists, the process ID exists _and_ was -# created by the exec binary. -# -# If the test fails, but the pidfile exists, it is stale -# -test_daemon_pidfile () { - local DAEMON - local PIDFILE - - if [ -n "$1" ]; then - DAEMON="$1" - fi - - if [ -f "$2" ]; then - PIDFILE="$2" - fi - - if [ -n "$DAEMON" ] && [ -f "$PIDFILE" ]; then - if start-stop-daemon --stop --quiet --signal 0 \ - --exec "$DAEMON" --pidfile "$PIDFILE"; then - return 0 - else - rm -f "$PIDFILE" - return 1 - fi - else - return 1 - fi -} - -# validate wpa_supplicant pidfile -test_wpa_supplicant () { - test_daemon_pidfile "$WPA_SUP_BIN" "$WPA_SUP_PIDFILE" -} - -# validate wpa_cli pidfile -test_wpa_cli () { - test_daemon_pidfile "$WPA_CLI_BIN" "$WPA_CLI_PIDFILE" -} - -##################################################################### -## daemonize wpa_supplicant -# Start wpa_supplicant via start-stop-dameon with all required -# options. Will start if environment variable WPA_SUP_CONF is present -# -# Default options: -# -B dameonize/background process -# -D driver backend ('wext' if none given) -# -P process ID file -# -C path to ctrl_interface socket directory -# -s log to syslog -# -# Conditional options: -# -c configuration file -# -W wait for wpa_cli to attach to ctrl_interface socket -# -b bridge interface name -# -f path to log file -# -init_wpa_supplicant () { - [ -n "$WPA_SUP_CONF" ] || return 0 - - local WPA_SUP_OPTIONS - WPA_SUP_OPTIONS="-s -B -P $WPA_SUP_PIDFILE -i $WPA_IFACE" - - if [ -n "$WPA_ACTION_SCRIPT" ]; then - if [ -x "$WPA_ACTION_SCRIPT" ]; then - WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -W" - wpa_msg verbose "wait for wpa_cli to attach" - else - wpa_msg stderr "action script \"$WPA_ACTION_SCRIPT\" not executable" - return 1 - fi - fi - - if [ -n "$IF_WPA_BRIDGE" ]; then - WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -b $IF_WPA_BRIDGE" - wpa_msg verbose "wpa-bridge $IF_WPA_BRIDGE" - fi - - if [ -n "$IF_WPA_DRIVER" ]; then - wpa_msg verbose "wpa-driver $IF_WPA_DRIVER" - case "$IF_WPA_DRIVER" in - hostap|ipw|madwifi|ndiswrapper) - WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -D nl80211,wext" - wpa_msg stderr "\"$IF_WPA_DRIVER\" wpa-driver is unsupported" - wpa_msg stderr "using \"nl80211,wext\" wpa-driver instead ..." - ;; - *) - WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -D $IF_WPA_DRIVER" - ;; - esac - else - WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -D nl80211,wext" - wpa_msg verbose "wpa-driver nl80211,wext (default)" - fi - - if [ -n "$IF_WPA_DEBUG_LEVEL" ]; then - case "$IF_WPA_DEBUG_LEVEL" in - 3) - WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -t -ddd" - ;; - 2) - WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -t -dd" - ;; - 1) - WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -t -d" - ;; - 0) - # wpa_supplicant default verbosity - ;; - -1) - WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -q" - ;; - -2) - WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -qq" - ;; - esac - wpa_msg verbose "using debug level: $IF_WPA_DEBUG_LEVEL" - fi - - if [ -n "$IF_WPA_LOGFILE" ]; then - # custom log file - WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -f $IF_WPA_LOGFILE" - WPA_SUP_LOGFILE="$IF_WPA_LOGFILE" - wpa_msg verbose "logging to $IF_WPA_LOGFILE" - fi - - wpa_msg verbose "$WPA_SUP_BIN $WPA_SUP_OPTIONS $WPA_SUP_CONF" - - start-stop-daemon --start --oknodo $DAEMON_VERBOSITY \ - --name $WPA_SUP_PNAME --startas $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE \ - -- $WPA_SUP_OPTIONS $WPA_SUP_CONF - - if [ "$?" -ne 0 ]; then - wpa_msg stderr "$WPA_SUP_BIN daemon failed to start" - return 1 - fi - - if [ -n "$WPA_SUP_OMIT_PIDFILE" ]; then - local WPA_PIDFILE_WAIT - local MAX_WPA_PIDFILE_WAIT - WPA_PIDFILE_WAIT="0" - MAX_WPA_PIDFILE_WAIT="5" - until [ -s "$WPA_SUP_PIDFILE" ]; do - if [ "$WPA_PIDFILE_WAIT" -ge "$MAX_WPA_PIDFILE_WAIT" ]; then - wpa_msg stderr "timed out waiting for creation of $WPA_SUP_PIDFILE" - return 1 - else - wpa_msg verbose "waiting for \"$WPA_SUP_PIDFILE\": " \ - "$WPA_PIDFILE_WAIT (max. $MAX_WPA_PIDFILE_WAIT)" - fi - - WPA_PIDFILE_WAIT=$(($WPA_PIDFILE_WAIT + 1)) - sleep 1 - done - wpa_msg verbose "creating sendsigs omission pidfile: $WPA_SUP_OMIT_PIDFILE" - cat "$WPA_SUP_PIDFILE" > "$WPA_SUP_OMIT_PIDFILE" - else - wpa_msg verbose "sendsigs omission pidfile not created" - fi - - local WPA_SOCKET_WAIT - local MAX_WPA_SOCKET_WAIT - WPA_SOCKET_WAIT="0" - MAX_WPA_SOCKET_WAIT="5" - until [ -S "$WPA_CTRL_DIR/$WPA_IFACE" ]; do - if [ "$WPA_SOCKET_WAIT" -ge "$MAX_WPA_SOCKET_WAIT" ]; then - wpa_msg stderr "ctrl_interface socket not found at $WPA_CTRL_DIR/$WPA_IFACE" - return 1 - else - wpa_msg verbose "waiting for \"$WPA_CTRL_DIR/$WPA_IFACE\": " \ - "$WPA_SOCKET_WAIT (max. $MAX_WPA_SOCKET_WAIT)" - fi - - WPA_SOCKET_WAIT=$(($WPA_SOCKET_WAIT + 1)) - sleep 1 - done - - wpa_msg verbose "ctrl_interface socket located at $WPA_CTRL_DIR/$WPA_IFACE" -} - -##################################################################### -## stop wpa_supplicant process -# Kill wpa_supplicant via start-stop-daemon, given the location of -# the pidfile or ctrl_interface socket path and interface name -# -kill_wpa_supplicant () { - test_wpa_supplicant || return 0 - - wpa_msg verbose "terminating $WPA_SUP_PNAME daemon via pidfile $WPA_SUP_PIDFILE" - - start-stop-daemon --stop --oknodo $DAEMON_VERBOSITY \ - --exec $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE - - if [ -f "$WPA_SUP_PIDFILE" ]; then - rm -f "$WPA_SUP_PIDFILE" - fi - - if [ -f "$WPA_SUP_OMIT_PIDFILE" ]; then - wpa_msg verbose "removing $WPA_SUP_OMIT_PIDFILE" - rm -f "$WPA_SUP_OMIT_PIDFILE" - fi -} - -##################################################################### -## reload wpa_supplicant process -# Sending a HUP signal causes wpa_supplicant to reparse its -# configuration file -# -reload_wpa_supplicant () { - if test_wpa_supplicant; then - wpa_msg verbose "reloading wpa_supplicant configuration file via HUP signal" - start-stop-daemon --stop --signal HUP \ - --name "$WPA_SUP_PNAME" --pidfile "$WPA_SUP_PIDFILE" - else - wpa_msg verbose "cannot $WPA_ACTION, $WPA_SUP_PIDFILE does not exist" - fi -} - -##################################################################### -## daemonize wpa_cli and action script -# If environment variable WPA_ACTION_SCRIPT is present, wpa_cli will -# be spawned via start-stop-daemon -# -# Required options: -# -a action script => wpa_action -# -P process ID file -# -B background process -# -init_wpa_cli () { - [ -n "$WPA_ACTION_SCRIPT" ] || return 0 - - local WPA_CLI_OPTIONS - WPA_CLI_OPTIONS="-B -P $WPA_CLI_PIDFILE -i $WPA_IFACE" - - wpa_msg verbose "$WPA_CLI_BIN $WPA_CLI_OPTIONS -p $WPA_CTRL_DIR -a $WPA_ACTION_SCRIPT" - - start-stop-daemon --start --oknodo $DAEMON_VERBOSITY \ - --name $WPA_CLI_PNAME --startas $WPA_CLI_BIN --pidfile $WPA_CLI_PIDFILE \ - -- $WPA_CLI_OPTIONS -p $WPA_CTRL_DIR -a $WPA_ACTION_SCRIPT - - if [ "$?" -ne 0 ]; then - wpa_msg stderr "$WPA_CLI_BIN daemon failed to start" - return 1 - fi -} - -##################################################################### -## stop wpa_cli process -# Kill wpa_cli via start-stop-daemon, given the location of the -# pidfile -# -kill_wpa_cli () { - test_wpa_cli || return 0 - - wpa_msg verbose "terminating $WPA_CLI_PNAME daemon via pidfile $WPA_CLI_PIDFILE" - - start-stop-daemon --stop --oknodo $DAEMON_VERBOSITY \ - --exec $WPA_CLI_BIN --pidfile $WPA_CLI_PIDFILE - - if [ -f "$WPA_CLI_PIDFILE" ]; then - rm -f "$WPA_CLI_PIDFILE" - fi - - if [ -f "$WPA_CLI_TIMESTAMP" ]; then - rm -f "$WPA_CLI_TIMESTAMP" - fi - - if [ -L "$WPA_CLI_IFUPDOWN" ]; then - rm -f "$WPA_CLI_IFUPDOWN" - fi -} - -##################################################################### -## higher level wpa_cli wrapper for variable and set_network commands -# wpa_cli_do [set_network variable] -# -# $1 envorinment variable -# $2 data type of variable {raw|ascii} -# $3 wpa_cli variable, if $3 is set_network, shift and take -# set_network subvariable -# $4 wpa-* string as it would appear in interfaces file, enhances -# verbose messages -# -wpa_cli_do () { - if [ -z "$1" ]; then - return 0 - fi - - local WPACLISET_VALUE - local WPACLISET_VARIABLE - local WPACLISET_DESC - - case "$2" in - ascii) - # Double quote - WPACLISET_VALUE="\"$1\"" - ;; - raw|*) - # Provide raw value - WPACLISET_VALUE="$1" - ;; - esac - - case "$3" in - set_network) - if [ -z "$WPA_ID" ]; then - return 1 - fi - shift - WPACLISET_VARIABLE="set_network $WPA_ID $3" - ;; - *) - WPACLISET_VARIABLE="$3" - ;; - esac - - case "$4" in - *-psk|*-passphrase|*-passwd*|*-wep-key*) - WPACLISET_DESC="$4 *****" - ;; - *) - WPACLISET_DESC="$4 $WPACLISET_VALUE" - ;; - esac - - wpa_msg action "$WPACLISET_DESC" - - wpa_cli $WPACLISET_VARIABLE "$WPACLISET_VALUE" >$TO_NULL - - if [ "$?" -ne 0 ]; then - wpa_msg stderr "$WPACLISET_DESC failed!" - fi -} - -##################################################################### -## check value data type in plaintext or hex -# returns 0 if input consists of hexadecimal digits only, 1 otherwise -# -ishex () { - if [ -z "$1" ]; then - return 0 - fi - - case "$1" in - *[!0-9a-fA-F]*) - # plaintext - return 1 - ;; - *) - # hexadecimal - return 0 - ;; - esac -} - -##################################################################### -## sanity check and set psk|passphrase -# Warn about strange psk|passphrase values -# -# $1 psk or passphrase value -# -# If psk is surrounded by quotes strip them. -# -# If psk contains all hexadecimal characters and string length is 64: -# is 256bit hexadecimal -# else: -# is plaintext -# -# plaintext passphrases must be 8 - 63 characters in length -# 256-bit hexadecimal key must be 64 characters in length -# -wpa_key_check_and_set () { - if [ "$#" -ne 3 ]; then - return 0 - fi - - local KEY - local KEY_LEN - local KEY_TYPE - local ENC_TYPE - - case "$1" in - '"'*'"') - # Strip surrounding quotation marks - KEY=$(echo -n "$1" | sed 's/^"//;s/"$//') - ;; - *) - KEY="$1" - ;; - esac - - KEY_LEN="${#KEY}" - - case "$2" in - wep_key*) - ENC_TYPE="WEP" - ;; - psk) - ENC_TYPE="WPA" - ;; - *) - return 0 - ;; - esac - - if [ "$ENC_TYPE" = "WEP" ]; then - if ishex "$KEY"; then - case "$KEY_LEN" in - 10|26|32|58) - # 64/128/152/256-bit WEP - KEY_TYPE="raw" - ;; - *) - KEY_TYPE="ascii" - ;; - esac - else - KEY_TYPE="ascii" - fi - - if [ "$KEY_TYPE" = "ascii" ]; then - if [ "$KEY_LEN" -lt "5" ]; then - wpa_msg stderr "WARNING: plaintext or ascii WEP key has $KEY_LEN characters," - wpa_msg stderr "it must have at least 5 to be valid." - fi - fi - elif [ "$ENC_TYPE" = "WPA" ]; then - if ishex "$KEY"; then - case "$KEY_LEN" in - 64) - # 256-bit WPA - KEY_TYPE="raw" - ;; - *) - KEY_TYPE="ascii" - ;; - esac - else - KEY_TYPE="ascii" - fi - - if [ "$KEY_TYPE" = "ascii" ]; then - if [ "$KEY_LEN" -lt "8" ] || [ "$KEY_LEN" -gt "63" ]; then - wpa_msg stderr "WARNING: plaintext or ascii WPA key has $KEY_LEN characters," - wpa_msg stderr "it must have between 8 and 63 to be valid." - wpa_msg stderr "If the WPA key is a 256-bit hexadecimal key, it must have" - wpa_msg stderr "exactly 64 characters." - fi - fi - fi - - wpa_cli_do "$KEY" "$KEY_TYPE" set_network "$2" "$3" -} - -##################################################################### -## formulate a usable configuration from interfaces(5) wpa- lines -# A series of wpa_cli commands corresponding to environment variables -# created as a result of wpa- lines in an interfaces stanza. -# -# NB: no-act when roaming daemon is used (to avoid prematurely -# attaching to ctrl_interface socket) -# -conf_wpa_supplicant () { - if [ -n "$WPA_ACTION_SCRIPT" ]; then - return 0 - fi - - if [ "$IF_WPA_DRIVER" = "wired" ]; then - IF_WPA_AP_SCAN="0" - wpa_msg verbose "forcing ap_scan=0 (required for wired IEEE8021X auth)" - fi - - if [ -n "$IF_WPA_ESSID" ]; then - # #403316, be similar to wireless tools - IF_WPA_SSID="$IF_WPA_ESSID" - fi - - wpa_cli_do "$IF_WPA_AP_SCAN" raw \ - ap_scan wpa-ap-scan - - wpa_cli_do "$IF_WPA_PREAUTHENTICATE" raw \ - preauthenticate wpa-preauthenticate - - if [ -n "$IF_WPA_SSID" ] || [ "$IF_WPA_DRIVER" = "wired" ] || \ - [ -n "$IF_WPA_KEY_MGMT" ]; then - - case "$IF_WPA_SSID" in - '"'*'"') - IF_WPA_SSID=$(echo -n "$IF_WPA_SSID" | sed 's/^"//;s/"$//') - ;; - *) - ;; - esac - - WPA_ID=$(wpa_cli add_network) - - wpa_msg verbose "configuring network block -- $WPA_ID" - - wpa_cli_do "$IF_WPA_SSID" ascii \ - set_network ssid wpa-ssid - - wpa_cli_do "$IF_WPA_PRIORITY" raw \ - set_network priority wpa-priority - - wpa_cli_do "$IF_WPA_BSSID" raw \ - set_network bssid wpa-bssid - - if [ -s "$IF_WPA_PSK_FILE" ]; then - IF_WPA_PSK=$(cat "$IF_WPA_PSK_FILE") - fi - - # remain compat with wpa-passphrase-file - if [ -s "$IF_WPA_PASSPHRASE_FILE" ]; then - IF_WPA_PSK=$(cat "$IF_WPA_PASSPHRASE_FILE") - fi - - # remain compat with wpa-passphrase - if [ -n "$IF_WPA_PASSPHRASE" ]; then - IF_WPA_PSK="$IF_WPA_PASSPHRASE" - fi - - if [ -n "$IF_WPA_PSK" ]; then - wpa_key_check_and_set "$IF_WPA_PSK" \ - psk wpa-psk - fi - - wpa_cli_do "$IF_WPA_PAIRWISE" raw \ - set_network pairwise wpa-pairwise - - wpa_cli_do "$IF_WPA_GROUP" raw \ - set_network group wpa-group - - wpa_cli_do "$IF_WPA_MODE" raw \ - set_network mode wpa-mode - - wpa_cli_do "$IF_WPA_FREQUENCY" raw \ - set_network frequency wpa-frequency - - wpa_cli_do "$IF_WPA_SCAN_FREQ" raw \ - set_network scan_freq wpa-scan-freq - - wpa_cli_do "$IF_WPA_FREQ_LIST" raw \ - set_network freq_list wpa-freq-list - - wpa_cli_do "$IF_WPA_KEY_MGMT" raw \ - set_network key_mgmt wpa-key-mgmt - - wpa_cli_do "$IF_WPA_PROTO" raw \ - set_network proto wpa-proto - - wpa_cli_do "$IF_WPA_AUTH_ALG" raw \ - set_network auth_alg wpa-auth-alg - - wpa_cli_do "$IF_WPA_SCAN_SSID" raw \ - set_network scan_ssid wpa-scan-ssid - - wpa_cli_do "$IF_WPA_IDENTITY" ascii \ - set_network identity wpa-identity - - wpa_cli_do "$IF_WPA_ANONYMOUS_IDENTITY" ascii \ - set_network anonymous_identity wpa-anonymous-identity - - wpa_cli_do "$IF_WPA_EAP" raw \ - set_network eap wpa-eap - - wpa_cli_do "$IF_WPA_EAPPSK" raw \ - set_network eappsk wpa-eappsk - - wpa_cli_do "$IF_WPA_NAI" ascii \ - set_network nai wpa-nai - - wpa_cli_do "$IF_WPA_PASSWORD" ascii \ - set_network password wpa-password - - wpa_cli_do "$IF_WPA_CA_CERT" ascii \ - set_network ca_cert wpa-ca-cert - - wpa_cli_do "$IF_WPA_CA_PATH" ascii \ - set_network ca_path wpa-ca-path - - wpa_cli_do "$IF_WPA_CLIENT_CERT" ascii \ - set_network client_cert wpa-client-cert - - wpa_cli_do "$IF_WPA_PRIVATE_KEY" ascii \ - set_network private_key wpa-private-key - - wpa_cli_do "$IF_WPA_PRIVATE_KEY_PASSWD" ascii \ - set_network private_key_passwd wpa-private-key-passwd - - wpa_cli_do "$IF_WPA_DH_FILE" ascii \ - set_network dh_file wpa-dh-file - - wpa_cli_do "$IF_WPA_SUBJECT_MATCH" ascii \ - set_network subject_match wpa-subject-match - - wpa_cli_do "$IF_WPA_ALTSUBJECT_MATCH" ascii \ - set_network altsubject_match wpa-altsubject-match - - wpa_cli_do "$IF_WPA_CA_CERT2" ascii \ - set_network ca_cert2 wpa-ca-cert2 - - wpa_cli_do "$IF_WPA_CA_PATH2" ascii \ - set_network ca_path2 wpa-ca-path2 - - wpa_cli_do "$IF_WPA_CLIENT_CERT2" ascii \ - set_network client_cert2 wpa-client-cert2 - - wpa_cli_do "$IF_WPA_PRIVATE_KEY2" ascii \ - set_network private_key2 wpa-private-key2 - - wpa_cli_do "$IF_WPA_PRIVATE_KEY_PASSWD2" ascii \ - set_network private_key_passwd2 wpa-private-key-passwd2 - - wpa_cli_do "$IF_WPA_DH_FILE2" ascii \ - set_network dh_file2 wpa-dh-file2 - - wpa_cli_do "$IF_WPA_SUBJECT_MATCH2" ascii \ - set_network subject_match2 wpa-subject-match2 - - wpa_cli_do "$IF_WPA_ALTSUBJECT_MATCH2" ascii \ - set_network altsubject_match2 wpa-altsubject-match2 - - wpa_cli_do "$IF_WPA_EAP_METHODS" raw \ - set_network eap_methods wpa-eap-methods - - wpa_cli_do "$IF_WPA_PHASE1" ascii \ - set_network phase1 wpa-phase1 - - wpa_cli_do "$IF_WPA_PHASE2" ascii \ - set_network phase2 wpa-phase2 - - wpa_cli_do "$IF_WPA_PCSC" raw \ - set_network pcsc wpa-pcsc - - wpa_cli_do "$IF_WPA_PIN" ascii \ - set_network pin wpa-pin - - wpa_cli_do "$IF_WPA_ENGINE" raw \ - set_network engine wpa-engine - - wpa_cli_do "$IF_WPA_ENGINE_ID" ascii \ - set_network engine_id wpa-engine-id - - wpa_cli_do "$IF_WPA_KEY_ID" ascii \ - set_network key_id wpa-key-id - - wpa_cli_do "$IF_WPA_EAPOL_FLAGS" raw \ - set_network eapol_flags wpa-eapol-flags - - if [ -n "$IF_WPA_WEP_KEY0" ]; then - wpa_key_check_and_set "$IF_WPA_WEP_KEY0" \ - wep_key0 wpa-wep-key0 - fi - - if [ -n "$IF_WPA_WEP_KEY1" ]; then - wpa_key_check_and_set "$IF_WPA_WEP_KEY1" \ - wep_key1 wpa-wep-key1 - fi - - if [ -n "$IF_WPA_WEP_KEY2" ]; then - wpa_key_check_and_set "$IF_WPA_WEP_KEY2" \ - wep_key2 wpa-wep-key2 - fi - - if [ -n "$IF_WPA_WEP_KEY3" ]; then - wpa_key_check_and_set "$IF_WPA_WEP_KEY3" \ - wep_key3 wpa-wep-key3 - fi - - wpa_cli_do "$IF_WPA_WEP_TX_KEYIDX" raw \ - set_network wep_tx_keyidx wpa-wep-tx-keyidx - - wpa_cli_do "$IF_WPA_PROACTIVE_KEY_CACHING" raw \ - set_network proactive_key_caching wpa-proactive-key-caching - - wpa_cli_do "$IF_WPA_PAC_FILE" ascii \ - set_network pac_file wpa-pac-file - - wpa_cli_do "$IF_WPA_PEERKEY" raw \ - set_network peerkey wpa-peerkey - - wpa_cli_do "$IF_FRAGMENT_SIZE" raw \ - set_network fragment_size wpa-fragment-size - - wpa_cli_do "$IF_WPA_ID_STR" ascii \ - set_network id_str wpa-id-str - - wpa_cli_do "$WPA_ID" raw \ - enable_network "enabling network block" - fi -} - -##################################################################### -## Log wpa_cli environment variables -wpa_log_env () { - wpa_msg log "WPA_IFACE=$WPA_IFACE WPA_ACTION=$WPA_ACTION" - wpa_msg log "WPA_ID=$WPA_ID WPA_ID_STR=$WPA_ID_STR WPA_CTRL_DIR=$WPA_CTRL_DIR" -} - -##################################################################### -## hysteresis checking -# Networking tools such as dhcp clients used with ifupdown can -# synthesize artificial ACTION events, particuarly just after a -# DISCONNECTED/CONNECTED events are experienced in quick succession. -# This can lead to infinite event loops, and in extreme cases has the -# potential to cause system instability. -# -wpa_hysteresis_event () { - echo "$(date +%s)" > "$WPA_CLI_TIMESTAMP" 2>/dev/null -} - -wpa_hysteresis_check () { - if [ -f "$WPA_CLI_TIMESTAMP" ]; then - local TIME - local TIMESTAMP - local TIMEWAIT - TIME=$(date +%s) - # current time minus 4 second event buffer - TIMEWAIT=$(($TIME-4)) - # get time of last event - TIMESTAMP=$(cat $WPA_CLI_TIMESTAMP) - # compare values, allowing new action to be processed - # only if last action was more than 4 seconds ago - if [ "$TIMEWAIT" -le "$TIMESTAMP" ]; then - wpa_msg log "$WPA_ACTION event blocked by hysteresis check" - return 1 - fi - fi - - return 0 -} - -##################################################################### -## ifupdown locking functions -# A collection of rudimentary locking functions to lock ifup/ifdown -# actions. -# - -ifupdown_lock () { - ln -s lock "$WPA_CLI_IFUPDOWN" -} - -ifupdown_locked () { - [ -L "$WPA_CLI_IFUPDOWN" ] && return 0 - - return 1 -} - -ifupdown_unlock () { - rm -f "$WPA_CLI_IFUPDOWN" -} - -##################################################################### -## apply mapping logic and ifup logical interface -# Apply mapping logic via id_str or external mapping script, check -# state of IFACE with respect to ifupdown and ifup logical interaface -# -ifup () { - local INTERFACES_FILE - local IFSTATE_FILE - local IFUP_RETVAL - local WPA_LOGICAL_IFACE - - if [ -e /etc/network/interfaces ]; then - INTERFACES_FILE="/etc/network/interfaces" - else - wpa_msg log "/etc/network/interfaces does not exist, $WPA_IFACE will not be configured" - return 1 - fi - - if [ -e /etc/network/run/ifstate ]; then - # debian's ifupdown - IFSTATE_FILE="/etc/network/run/ifstate" - elif [ -e /var/run/network/ifstate ]; then - # ubuntu's - IFSTATE_FILE="/var/run/network/ifstate" - else - unset IFSTATE_FILE - fi - - if [ -z "$IF_WPA_MAPPING_SCRIPT_PRIORITY" ] && [ -n "$WPA_ID_STR" ]; then - WPA_LOGICAL_IFACE="$WPA_ID_STR" - fi - - if [ -z "$WPA_LOGICAL_IFACE" ] && [ -n "$IF_WPA_MAPPING_SCRIPT" ]; then - local WPA_MAP_STDIN - - WPA_MAP_STDIN=$(set | sed -n 's/^\(IF_WPA_MAP[0-9]*\)=.*/echo \$\1/p') - - if [ -n "$WPA_MAP_STDIN" ]; then - WPA_LOGICAL_IFACE=$(eval "$WPA_MAP_STDIN" | "$IF_WPA_MAPPING_SCRIPT" "$WPA_IFACE") - else - WPA_LOGICAL_IFACE=$("$IF_WPA_MAPPING_SCRIPT" "$WPA_IFACE") - fi - - if [ -n "$WPA_LOGICAL_IFACE" ]; then - wpa_msg log "mapping script result: $WPA_LOGICAL_IFACE" - else - wpa_msg log "mapping script failed." - fi - fi - - if [ -z "$WPA_LOGICAL_IFACE" ]; then - if [ -n "$IF_WPA_ROAM_DEFAULT_IFACE" ]; then - WPA_LOGICAL_IFACE="$IF_WPA_ROAM_DEFAULT_IFACE" - else - WPA_LOGICAL_IFACE="default" - fi - fi - - if [ -n "$WPA_LOGICAL_IFACE" ]; then - if egrep -q "^iface[[:space:]]+${WPA_LOGICAL_IFACE}[[:space:]]+inet" "$INTERFACES_FILE"; then - : # logical network is defined - else - wpa_msg log "network settings not defined for $WPA_LOGICAL_IFACE in $INTERFACES_FILE" - WPA_LOGICAL_IFACE="default" - fi - - wpa_msg log "ifup $WPA_IFACE=$WPA_LOGICAL_IFACE" - - ifupdown_lock - - if [ -n "$IFSTATE_FILE" ] && grep -q "^$WPA_IFACE=$WPA_IFACE" "$IFSTATE_FILE"; then - # Force settings over the unconfigured "master" IFACE - /sbin/ifup -v --force "$WPA_IFACE=$WPA_LOGICAL_IFACE" - else - /sbin/ifup -v "$WPA_IFACE=$WPA_LOGICAL_IFACE" - fi - IFUP_RETVAL="$?" - - ifupdown_unlock - fi - - wpa_msg log "creating sendsigs omission pidfile: $WPA_SUP_OMIT_PIDFILE" - cat "$WPA_SUP_PIDFILE" > "$WPA_SUP_OMIT_PIDFILE" - - return "$IFUP_RETVAL" -} - -##################################################################### -## ifdown IFACE -# Check IFACE state and ifdown as requested. -# -ifdown () { - wpa_msg log "ifdown $WPA_IFACE" - - ifupdown_lock - - /sbin/ifdown -v "$WPA_IFACE" - - ifupdown_unlock - - wpa_msg log "removing sendsigs omission pidfile: $WPA_SUP_OMIT_PIDFILE" - rm -f "$WPA_SUP_OMIT_PIDFILE" -} - -##################################################################### -## keep IFACE scanning -# After ifdown, the IFACE may be left "down", and inhibits -# wpa_supplicant's ability to continue roaming. -# -# NB: use iproute if present, flushing the IFACE first -# -if_post_down_up () { - if [ -x /bin/ip ]; then - ip addr flush dev "$WPA_IFACE" 2>/dev/null - ip link set "$WPA_IFACE" up - else - ifconfig "$WPA_IFACE" up - fi -} diff --git a/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.3/ifupdown.sh b/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.3/ifupdown.sh deleted file mode 100644 index 9dab925..0000000 --- a/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.3/ifupdown.sh +++ /dev/null @@ -1,172 +0,0 @@ -#!/bin/sh - -##################################################################### -## Purpose -# This file is executed by ifupdown in pre-up, post-up, pre-down and -# post-down phases of network interface configuration. It allows -# ifup(8), and ifdown(8) to manage wpa_supplicant(8) and wpa_cli(8) -# processes running in daemon mode. -# -# /etc/wpa_supplicant/functions.sh is sourced by this file. -# -# This file is provided by the wpasupplicant package. - -##################################################################### -# Copyright (C) 2006 - 2009 Debian/Ubuntu wpasupplicant Maintainers -# -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# On Debian GNU/Linux systems, the text of the GPL license, -# version 2, can be found in /usr/share/common-licenses/GPL-2. - -if [ -n "$IF_WPA_MAINT_DEBUG" ]; then - set -x -fi - -# quit if we're called for the loopback -if [ "$IFACE" = lo ]; then - exit 0 -fi - -# allow wpa_supplicant interface to be specified via wpa-iface -# useful for starting wpa_supplicant on one interface of a bridge -if [ -n "$IF_WPA_IFACE" ]; then - WPA_IFACE="$IF_WPA_IFACE" -else - WPA_IFACE="$IFACE" -fi - -# source functions -if [ -f /etc/wpa_supplicant/functions.sh ]; then - . /etc/wpa_supplicant/functions.sh -else - exit 0 -fi - -# quit if executables are not installed -if [ ! -x "$WPA_SUP_BIN" ] || [ ! -x "$WPA_CLI_BIN" ]; then - exit 0 -fi - -do_start () { - if test_wpa_cli; then - # if wpa_action is active for this IFACE, do nothing - ifupdown_locked && exit 0 - - # if the administrator is calling ifup, say something useful - if [ "$PHASE" = "pre-up" ]; then - wpa_msg stderr "wpa_action is managing ifup/ifdown state of $WPA_IFACE" - wpa_msg stderr "execute \`ifdown --force $WPA_IFACE' to stop wpa_action" - fi - exit 1 - elif ! set | grep -q "^IF_WPA"; then - # no wpa- option defined for IFACE, do nothing - exit 0 - fi - - # ensure stale ifupdown_lock marker is purged - ifupdown_unlock - - # preliminary sanity checks for roaming daemon - if [ -n "$IF_WPA_ROAM" ]; then - if [ "$METHOD" != "manual" ]; then - wpa_msg stderr "wpa-roam can only be used with the \"manual\" inet METHOD" - exit 1 - fi - if [ -n "$IF_WPA_MAPPING_SCRIPT" ]; then - if ! type "$IF_WPA_MAPPING_SCRIPT" >/dev/null; then - wpa_msg stderr "wpa-mapping-script \"$IF_WPA_MAPPING_SCRIPT\" is not valid" - exit 1 - fi - fi - if [ -n "$IF_WPA_MAPPING_SCRIPT_PRIORITY" ] && [ -z "$IF_WPA_MAPPING_SCRIPT" ]; then - wpa_msg stderr "\"wpa-mapping-script-priority 1\" is invalid without a wpa-mapping-script" - exit 1 - fi - IF_WPA_CONF="$IF_WPA_ROAM" - WPA_ACTION_SCRIPT="/usr/sbin/wpa_action" - fi - - # master function; determines if ifupdown.sh should do something or not - if [ -n "$IF_WPA_CONF" ] && [ "$IF_WPA_CONF" != "managed" ]; then - if [ ! -s "$IF_WPA_CONF" ]; then - wpa_msg stderr "cannot read contents of $IF_WPA_CONF" - exit 1 - fi - WPA_SUP_CONF_CTRL_DIR=$(sed -n -e 's/[[:space:]]*#.*//g' -e 's/[[:space:]]\+.*$//g' \ - -e 's/^ctrl_interface=\(DIR=\)\?\(.*\)/\2/p' "$IF_WPA_CONF") - if [ -n "$WPA_SUP_CONF_CTRL_DIR" ]; then - WPA_CTRL_DIR="$WPA_SUP_CONF_CTRL_DIR" - WPA_SUP_CONF="-c $IF_WPA_CONF" - else - # specify the default ctrl_interface since none was defined in - # the given IF_WPA_CONF - WPA_SUP_CONF="-c $IF_WPA_CONF -C $WPA_CTRL_DIR" - fi - else - # specify the default ctrl_interface - WPA_SUP_CONF="-C $WPA_CTRL_DIR" - fi -} - -do_stop () { - if test_wpa_cli; then - # if wpa_action is active for this IFACE and calling ifdown, - # do nothing - ifupdown_locked && exit 0 - elif test_wpa_supplicant; then - # wpa_supplicant process exists for this IFACE, but wpa_cli - # process does not. Allow stop mode to kill this process. - : - else - exit 0 - fi -} - -case "$MODE" in - start) - do_start - case "$PHASE" in - pre-up) - kill_wpa_supplicant - init_wpa_supplicant || exit 1 - conf_wpa_supplicant || { kill_wpa_supplicant; exit 1; } - ;; - post-up) - init_wpa_cli || { kill_wpa_supplicant; exit 1; } - ;; - esac - ;; - - stop) - do_stop - case "$PHASE" in - pre-down) - kill_wpa_cli - ;; - post-down) - kill_wpa_supplicant - ;; - *) - wpa_msg stderr "unknown phase: \"$PHASE\"" - exit 1 - ;; - esac - ;; - - *) - wpa_msg stderr "unknown mode: \"$MODE\"" - exit 1 - ;; -esac - -exit 0 diff --git a/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.3/wpa_action b/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.3/wpa_action deleted file mode 100644 index 7ef57ac..0000000 --- a/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.3/wpa_action +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2006 - 2009 Debian/Ubuntu wpasupplicant Maintainers -# -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# On Debian GNU/Linux systems, the text of the GPL license, -# version 2, can be found in /usr/share/common-licenses/GPL-2. - -if [ -n "$IF_WPA_ROAM_MAINT_DEBUG" ]; then - set -x -fi - -if [ -z "$1" ] || [ -z "$2" ]; then - echo "Usage: $0 IFACE ACTION" - exit 1 -fi - -# network interface -WPA_IFACE="$1" -# [CONNECTED|DISCONNECTED|stop|reload|check] -WPA_ACTION="$2" - -if [ -f /etc/wpa_supplicant/functions.sh ]; then - . /etc/wpa_supplicant/functions.sh -else - exit 0 -fi - -case "$WPA_ACTION" in - "CONNECTED") - wpa_log_env - wpa_hysteresis_check || exit 1 - wpa_hysteresis_event - if ifup; then - wpa_cli status | wpa_msg log - else - wpa_cli status | wpa_msg log - wpa_cli reassociate - fi - ;; - - "DISCONNECTED") - wpa_log_env - wpa_hysteresis_check || exit 1 - ifdown - if_post_down_up - ;; - - "stop"|"down") - test_wpa_cli && kill_wpa_cli - ifdown - test_wpa_supplicant && kill_wpa_supplicant - ;; - - "restart"|"reload") - test_wpa_supplicant || exit 1 - reload_wpa_supplicant - ;; - - "check") - test_wpa_supplicant || exit 1 - test_wpa_cli || exit 1 - ;; - - *) - echo "Unknown action: \"$WPA_ACTION\"" - exit 1 - ;; -esac - -exit 0 diff --git a/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.3/wpa_action.8 b/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.3/wpa_action.8 deleted file mode 100644 index e8f1b28..0000000 --- a/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.3/wpa_action.8 +++ /dev/null @@ -1,148 +0,0 @@ -.TH WPA_ACTION "8" "26 May 2006" "" "" -.SH NAME -wpa_action \- wpa_cli action script -.SH SYNOPSIS -\fBwpa_action\fR \fIIFACE ACTION\fR -.SH "DESCRIPTION" -\fBwpa_action\fR is a shell script designed to control the \fBifupdown\fR -framework according to \fIACTION\fR events received from \fBwpa_supplicant\fR. -\fBwpa_cli\fR receives \fICONNECTED\fR and \fIDISCONNECTED\fR events from -\fBwpa_supplicant\fR via the crtl_iface socket and gives the \fIACTION\fR event -to the \fBwpa_action\fR script as an argument, along with the \fIIFACE\fR to be -acted upon. -.PP -\fBwpa_action\fR also receives an environment variable from \fBwpa_cli\fR, -\fIWPA_ID_STR\fR, containing an alphanumeric identification string for the -\fICURRENT\fR network block. \fIWPA_ID_STR\fR is provided by the 'id_str' -network block option of \fBwpa_supplicant.conf\fR, and provides a means to map -the \fIACTION\fR to a \fILOGICAL\fR interface configured in the \fBinterfaces\fR -file. -.PP -If either the ifupdown \fBinterfaces\fR or \fIifstate\fR file cannot be found, -\fBwpa_action\fR will exit silently (status 0). \fBwpa_action\fR will search -the following locations for their existance: -.nf - /etc/network/run/ifstate - /var/run/network/ifstate - /etc/network/interfaces -.fi -.PP -.SH IFACE -Network interface to be acted upon, for example 'eth1' or 'wlan0'. -.SH ACTION -An \fIACTION\fR to be performed on the \fIIFACE\fR. -.TP -\fBCONNECTED\fR -\fBwpa_supplicant\fR has completed authentication. -\fBifup\fR \fIIFACE=WPA_ID_STR\fR is invoked and the action is logged to -syslog. Network settings for the \fILOGICAL\fR interface \fIWPA_ID_STR\fR -are applied. -.TP -\fBDISCONNECTED\fR -\fBwpa_supplicant\fR has detected disconnection. -\fBifdown\fR \fIIFACE=WPA_ID_STR\fR is invoked and the action is logged to -syslog. Network settings for the \fILOGICAL\fR interface \fIWPA_ID_STR\fR -are undone. -.TP -\fBstop\fR -The 'stop' \fIACTION\fR is a called manually by the user, to stop the -\fBwpa_cli\fR daemon, invoke \fBifdown\fR \fIIFACE\fR (if the \fIIFACE\fR is -present in the \fIifstate\fR file) and stop the \fBwpa_supplicant\fR daemon. -.TP -\fBreload\fR -The 'reload' \fIACTION\fR can be used to reload the \fBwpa_supplicant\fR -configuration file specified by \fIwpa-roam\fR . 'restart' is a synonym -for 'reload' and can be used equally. The action is logged to -\fI/var/log/wpa_action.log\fR. -.SH ENVIRONMENT -An alphanumeric identification string provided by the 'id_str' network block -option of \fBwpa_supplicant.conf\fR is exported to \fBwpa_action\fR as an -environment variable, \fIWPA_ID_STR\fR. When 'id_str' is not configured for the -\fICURRENT\fR network block, 'default' is substituted for the absent -\fIWPA_ID_STR\fR environment variable. -.PP -A unique network identifier, \fIWPA_ID\fR, is exported to \fBwpa_action\fR. It -is the number assigned to the \fICURRENT\fR \fBwpa_supplicant\fR network block -(network_id). -.SH USAGE -The only reasons for \fBwpa_action\fR to be explicitly executed by the user is -to stop \fBwpa_cli\fR from controlling \fBifupdown\fR or reload the -\fIwpa_supplicant.conf\fR file after editing. -.PP -.RS -\fBwpa_action\fR \fIeth1 stop\fR -.RE -.PP -Otherwise, \fBwpa_action\fR is given as an argument to a \fBwpa_cli\fR -daemon. -.PP -.RS -\fBwpa_cli\fR \fI-i eth1 -a /sbin/wpa_action -B\fR -.RE -.PP -This can be done by using the \fIwpa-roam\fR option in the \fBinterfaces\fR -file. \fIwpa-roam\fR takes one argument, a user provided -\fBwpa_supplicant.conf\fR file. -.PP -The inet \fIMETHOD\fR must be 'manual' for this interface, as it will -be configured according to \fBwpa_cli\fR action events. Also supply a 'default' -\fBinterfaces\fR stanza using the dhcp inet \fIMETHOD\fR so that networks -without an 'id_str' option can fallback to attempting to receive an ip via -dhcp. If one or more networks requires additional network configuration, -provide an unique 'id_str' for each network, and an \fBinterfaces\fR stanza -using the 'id_str' value as a \fILOGICAL\fR interface. The following interfaces -file is configured to use dhcp for any network without an 'id_str', a static ip -for the network with an 'id_str' of 'home_static' and dhcp plus an additional -post-up command for the network with an 'id_str' of 'uni'. -.PP -An example wpa_supplicant.conf configured to roam between 3 different networks: -.PP -.RS -.nf -network={ - ssid="foo" - id_str="uni" - key_mgmt=NONE -} - -network={ - ssid="bar" - id_str="home_static" - psk=123456789... -} - -network={ - ssid="" - key_mgmt=NONE -} -.fi -.RE -.PP -The corresponding \fBinterfaces\fR file would contain \fILOGICAL\fR interfaces, -that correlate to each unique 'id_str' provided by the configuration file: -.PP -.RS -.nf -iface eth1 inet manual - wpa-driver wext - wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf - -iface default inet dhcp - -iface uni inet dhcp - -iface home_static inet static - address 192.168.0.20 - netmask 255.255.255.0 - network 192.168.0.0 - broadcast 192.168.0.255 - gateway 192.168.0.1 -.fi -.RE -.PP -.SH SEE ALSO -\fBwpa_cli(8)\fR, \fBwpa_supplicant(8)\fR, \fBwpa_supplicant.conf(5)\fR, -\fBifup(8)\fR, \fBinterfaces(5)\fR -.SH AUTHOR -This manual page was written by Kel Modderman for -the Debian GNU system (but may be used by others). diff --git a/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-2.1/action_wpa.sh b/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-2.1/action_wpa.sh new file mode 100644 index 0000000..6d90fa6 --- /dev/null +++ b/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-2.1/action_wpa.sh @@ -0,0 +1,50 @@ +#!/bin/sh + +# Action script to enable/disable wpa-roam interfaces in reaction to +# ifplugd events. +# +# Copyright: Copyright (c) 2008-2010, Kel Modderman +# License: GPL-2 +# + +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +if [ ! -x /usr/sbin/wpa_action ]; then + exit 0 +fi + +# ifplugd(8) - +# +# If an ifplugd managed interface is brought up, disconnect any +# wpa-roam managed interfaces so that only one "roaming" interface +# remains active on the system. + +IFPLUGD_IFACE="${1}" + +case "${2}" in + up) + COMMAND=disconnect + ;; + down) + COMMAND=reconnect + ;; + *) + echo "$0: unknown arguments: ${@}" >&2 + exit 1 + ;; +esac + +for CTRL in /var/run/wpa_supplicant/*; do + [ -S "${CTRL}" ] || continue + + IFACE="${CTRL#/var/run/wpa_supplicant/}" + + # skip if ifplugd is managing this interface + if [ "${IFPLUGD_IFACE}" = "${IFACE}" ]; then + continue + fi + + if wpa_action "${IFACE}" check; then + wpa_cli -i "${IFACE}" "${COMMAND}" + fi +done diff --git a/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-2.1/functions.sh b/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-2.1/functions.sh new file mode 100644 index 0000000..b9e0eb2 --- /dev/null +++ b/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-2.1/functions.sh @@ -0,0 +1,1015 @@ +#!/bin/sh + +##################################################################### +## Purpose +# This file contains common shell functions used by scripts of the +# wpasupplicant package to allow ifupdown to manage wpa_supplicant. +# It also contains some functions used by wpa_action(8) that allow +# ifupdown to be managed by wpa_cli(8) action events. +# +# This file is provided by the wpasupplicant package. + +##################################################################### +# Copyright (C) 2006 - 2009 Debian/Ubuntu wpasupplicant Maintainers +# +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# On Debian GNU/Linux systems, the text of the GPL license, +# version 2, can be found in /usr/share/common-licenses/GPL-2. + +##################################################################### +## global variables +# wpa_supplicant variables +WPA_SUP_BIN="/usr/sbin/wpa_supplicant" +WPA_SUP_PNAME="wpa_supplicant" +WPA_SUP_PIDFILE="/var/run/wpa_supplicant.${WPA_IFACE}.pid" + +# wpa_cli variables +WPA_CLI_BIN="/usr/sbin/wpa_cli" +WPA_CLI_PNAME="wpa_cli" +WPA_CLI_PIDFILE="/var/run/wpa_action.${WPA_IFACE}.pid" +WPA_CLI_TIMESTAMP="/var/run/wpa_action.${WPA_IFACE}.timestamp" +WPA_CLI_IFUPDOWN="/var/run/wpa_action.${WPA_IFACE}.ifupdown" + +# sendsigs omission interface, present in initscripts (>= 2.86.ds1-48) +if [ -d /lib/init/rw/sendsigs.omit.d/ ]; then + # Debian + WPA_SUP_OMIT_PIDFILE="/lib/init/rw/sendsigs.omit.d/wpasupplicant.wpa_supplicant.${WPA_IFACE}.pid" +elif [ -d /var/run/sendsigs.omit.d/ ]; then + # Ubuntu, see https://launchpad.net/bugs/181541 for status + WPA_SUP_OMIT_PIDFILE="/var/run/sendsigs.omit.d/wpasupplicant.wpa_supplicant.${WPA_IFACE}.pid" +else + WPA_SUP_OMIT_PIDFILE= +fi + +# default ctrl_interface socket directory +if [ -z "$WPA_CTRL_DIR" ]; then + WPA_CTRL_DIR="/var/run/wpa_supplicant" +fi + +# verbosity variables +if [ -n "$IF_WPA_VERBOSITY" ] || [ "$VERBOSITY" = "1" ]; then + TO_NULL="/dev/stdout" + DAEMON_VERBOSITY="--verbose" +else + TO_NULL="/dev/null" + DAEMON_VERBOSITY="--quiet" +fi + +##################################################################### +## wpa_cli wrapper +# Path to common ctrl_interface socket and iface supplied. +# NB: WPA_CTRL_DIR cannot be used for interactive commands, it is +# set only in the environment that wpa_cli provides when processing +# action events. +# +wpa_cli () { + "$WPA_CLI_BIN" -p "$WPA_CTRL_DIR" -i "$WPA_IFACE" "$@" + + return "$?" +} + +##################################################################### +## verbose and stderr message wrapper +# Ensures a standard and easily identifiable message is printed by +# scripts using this function library. +# +# log Log a message to syslog when called non-interactively +# by wpa_action +# +# verbose To stdout when IF_WPA_VERBOSITY or VERBOSITY is true +# +# action Same as verbose but without newline +# Useful for allowing wpa_cli commands to echo result +# value of 'OK' or 'FAILED' +# +# stderr Echo warning or error messages to stderr +# +# NB: when called by wpa_action, there is no redirection (verbose) +# +wpa_msg () { + if [ "$1" = "log" ]; then + shift + case "$WPA_ACTION" in + "CONNECTED"|"DISCONNECTED") + [ -x /usr/bin/logger ] || return + if [ "$#" -gt 0 ]; then + logger -t "wpa_action" "$@" + else + logger -t "wpa_action" + fi + ;; + *) + [ "$#" -gt 0 ] && echo "wpa_action: $@" + ;; + esac + return + fi + + case "$1" in + "verbose") + shift + echo "$WPA_SUP_PNAME: $@" >$TO_NULL + ;; + "action") + shift + echo -n "$WPA_SUP_PNAME: $@ -- " >$TO_NULL + ;; + "stderr") + shift + echo "$WPA_SUP_PNAME: $@" >/dev/stderr + ;; + *) + ;; + esac +} + +##################################################################### +## validate daemon pid files +# Test daemon process ID files via start-stop-daemon with a signal 0 +# given the exec binary and pidfile location. +# +# $1 daemon +# $2 pidfile +# +# Returns true when pidfile exists, the process ID exists _and_ was +# created by the exec binary. +# +# If the test fails, but the pidfile exists, it is stale +# +test_daemon_pidfile () { + local DAEMON + local PIDFILE + + if [ -n "$1" ]; then + DAEMON="$1" + fi + + if [ -f "$2" ]; then + PIDFILE="$2" + fi + + if [ -n "$DAEMON" ] && [ -f "$PIDFILE" ]; then + if start-stop-daemon --stop --quiet --signal 0 \ + --exec "$DAEMON" --pidfile "$PIDFILE"; then + return 0 + else + rm -f "$PIDFILE" + return 1 + fi + else + return 1 + fi +} + +# validate wpa_supplicant pidfile +test_wpa_supplicant () { + test_daemon_pidfile "$WPA_SUP_BIN" "$WPA_SUP_PIDFILE" +} + +# validate wpa_cli pidfile +test_wpa_cli () { + test_daemon_pidfile "$WPA_CLI_BIN" "$WPA_CLI_PIDFILE" +} + +##################################################################### +## daemonize wpa_supplicant +# Start wpa_supplicant via start-stop-dameon with all required +# options. Will start if environment variable WPA_SUP_CONF is present +# +# Default options: +# -B dameonize/background process +# -D driver backend ('wext' if none given) +# -P process ID file +# -C path to ctrl_interface socket directory +# -s log to syslog +# +# Conditional options: +# -c configuration file +# -W wait for wpa_cli to attach to ctrl_interface socket +# -b bridge interface name +# -f path to log file +# +init_wpa_supplicant () { + [ -n "$WPA_SUP_CONF" ] || return 0 + + local WPA_SUP_OPTIONS + WPA_SUP_OPTIONS="-s -B -P $WPA_SUP_PIDFILE -i $WPA_IFACE" + + if [ -n "$WPA_ACTION_SCRIPT" ]; then + if [ -x "$WPA_ACTION_SCRIPT" ]; then + WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -W" + wpa_msg verbose "wait for wpa_cli to attach" + else + wpa_msg stderr "action script \"$WPA_ACTION_SCRIPT\" not executable" + return 1 + fi + fi + + if [ -n "$IF_WPA_BRIDGE" ]; then + WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -b $IF_WPA_BRIDGE" + wpa_msg verbose "wpa-bridge $IF_WPA_BRIDGE" + fi + + if [ -n "$IF_WPA_DRIVER" ]; then + wpa_msg verbose "wpa-driver $IF_WPA_DRIVER" + case "$IF_WPA_DRIVER" in + hostap|ipw|madwifi|ndiswrapper) + WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -D nl80211,wext" + wpa_msg stderr "\"$IF_WPA_DRIVER\" wpa-driver is unsupported" + wpa_msg stderr "using \"nl80211,wext\" wpa-driver instead ..." + ;; + *) + WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -D $IF_WPA_DRIVER" + ;; + esac + else + WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -D nl80211,wext" + wpa_msg verbose "wpa-driver nl80211,wext (default)" + fi + + if [ -n "$IF_WPA_DEBUG_LEVEL" ]; then + case "$IF_WPA_DEBUG_LEVEL" in + 3) + WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -t -ddd" + ;; + 2) + WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -t -dd" + ;; + 1) + WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -t -d" + ;; + 0) + # wpa_supplicant default verbosity + ;; + -1) + WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -q" + ;; + -2) + WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -qq" + ;; + esac + wpa_msg verbose "using debug level: $IF_WPA_DEBUG_LEVEL" + fi + + if [ -n "$IF_WPA_LOGFILE" ]; then + # custom log file + WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -f $IF_WPA_LOGFILE" + WPA_SUP_LOGFILE="$IF_WPA_LOGFILE" + wpa_msg verbose "logging to $IF_WPA_LOGFILE" + fi + + wpa_msg verbose "$WPA_SUP_BIN $WPA_SUP_OPTIONS $WPA_SUP_CONF" + + start-stop-daemon --start --oknodo $DAEMON_VERBOSITY \ + --name $WPA_SUP_PNAME --startas $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE \ + -- $WPA_SUP_OPTIONS $WPA_SUP_CONF + + if [ "$?" -ne 0 ]; then + wpa_msg stderr "$WPA_SUP_BIN daemon failed to start" + return 1 + fi + + if [ -n "$WPA_SUP_OMIT_PIDFILE" ]; then + local WPA_PIDFILE_WAIT + local MAX_WPA_PIDFILE_WAIT + WPA_PIDFILE_WAIT="0" + MAX_WPA_PIDFILE_WAIT="5" + until [ -s "$WPA_SUP_PIDFILE" ]; do + if [ "$WPA_PIDFILE_WAIT" -ge "$MAX_WPA_PIDFILE_WAIT" ]; then + wpa_msg stderr "timed out waiting for creation of $WPA_SUP_PIDFILE" + return 1 + else + wpa_msg verbose "waiting for \"$WPA_SUP_PIDFILE\": " \ + "$WPA_PIDFILE_WAIT (max. $MAX_WPA_PIDFILE_WAIT)" + fi + + WPA_PIDFILE_WAIT=$(($WPA_PIDFILE_WAIT + 1)) + sleep 1 + done + wpa_msg verbose "creating sendsigs omission pidfile: $WPA_SUP_OMIT_PIDFILE" + cat "$WPA_SUP_PIDFILE" > "$WPA_SUP_OMIT_PIDFILE" + else + wpa_msg verbose "sendsigs omission pidfile not created" + fi + + local WPA_SOCKET_WAIT + local MAX_WPA_SOCKET_WAIT + WPA_SOCKET_WAIT="0" + MAX_WPA_SOCKET_WAIT="5" + until [ -S "$WPA_CTRL_DIR/$WPA_IFACE" ]; do + if [ "$WPA_SOCKET_WAIT" -ge "$MAX_WPA_SOCKET_WAIT" ]; then + wpa_msg stderr "ctrl_interface socket not found at $WPA_CTRL_DIR/$WPA_IFACE" + return 1 + else + wpa_msg verbose "waiting for \"$WPA_CTRL_DIR/$WPA_IFACE\": " \ + "$WPA_SOCKET_WAIT (max. $MAX_WPA_SOCKET_WAIT)" + fi + + WPA_SOCKET_WAIT=$(($WPA_SOCKET_WAIT + 1)) + sleep 1 + done + + wpa_msg verbose "ctrl_interface socket located at $WPA_CTRL_DIR/$WPA_IFACE" +} + +##################################################################### +## stop wpa_supplicant process +# Kill wpa_supplicant via start-stop-daemon, given the location of +# the pidfile or ctrl_interface socket path and interface name +# +kill_wpa_supplicant () { + test_wpa_supplicant || return 0 + + wpa_msg verbose "terminating $WPA_SUP_PNAME daemon via pidfile $WPA_SUP_PIDFILE" + + start-stop-daemon --stop --oknodo $DAEMON_VERBOSITY \ + --exec $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE + + if [ -f "$WPA_SUP_PIDFILE" ]; then + rm -f "$WPA_SUP_PIDFILE" + fi + + if [ -f "$WPA_SUP_OMIT_PIDFILE" ]; then + wpa_msg verbose "removing $WPA_SUP_OMIT_PIDFILE" + rm -f "$WPA_SUP_OMIT_PIDFILE" + fi +} + +##################################################################### +## reload wpa_supplicant process +# Sending a HUP signal causes wpa_supplicant to reparse its +# configuration file +# +reload_wpa_supplicant () { + if test_wpa_supplicant; then + wpa_msg verbose "reloading wpa_supplicant configuration file via HUP signal" + start-stop-daemon --stop --signal HUP \ + --name "$WPA_SUP_PNAME" --pidfile "$WPA_SUP_PIDFILE" + else + wpa_msg verbose "cannot $WPA_ACTION, $WPA_SUP_PIDFILE does not exist" + fi +} + +##################################################################### +## daemonize wpa_cli and action script +# If environment variable WPA_ACTION_SCRIPT is present, wpa_cli will +# be spawned via start-stop-daemon +# +# Required options: +# -a action script => wpa_action +# -P process ID file +# -B background process +# +init_wpa_cli () { + [ -n "$WPA_ACTION_SCRIPT" ] || return 0 + + local WPA_CLI_OPTIONS + WPA_CLI_OPTIONS="-B -P $WPA_CLI_PIDFILE -i $WPA_IFACE" + + wpa_msg verbose "$WPA_CLI_BIN $WPA_CLI_OPTIONS -p $WPA_CTRL_DIR -a $WPA_ACTION_SCRIPT" + + start-stop-daemon --start --oknodo $DAEMON_VERBOSITY \ + --name $WPA_CLI_PNAME --startas $WPA_CLI_BIN --pidfile $WPA_CLI_PIDFILE \ + -- $WPA_CLI_OPTIONS -p $WPA_CTRL_DIR -a $WPA_ACTION_SCRIPT + + if [ "$?" -ne 0 ]; then + wpa_msg stderr "$WPA_CLI_BIN daemon failed to start" + return 1 + fi +} + +##################################################################### +## stop wpa_cli process +# Kill wpa_cli via start-stop-daemon, given the location of the +# pidfile +# +kill_wpa_cli () { + test_wpa_cli || return 0 + + wpa_msg verbose "terminating $WPA_CLI_PNAME daemon via pidfile $WPA_CLI_PIDFILE" + + start-stop-daemon --stop --oknodo $DAEMON_VERBOSITY \ + --exec $WPA_CLI_BIN --pidfile $WPA_CLI_PIDFILE + + if [ -f "$WPA_CLI_PIDFILE" ]; then + rm -f "$WPA_CLI_PIDFILE" + fi + + if [ -f "$WPA_CLI_TIMESTAMP" ]; then + rm -f "$WPA_CLI_TIMESTAMP" + fi + + if [ -L "$WPA_CLI_IFUPDOWN" ]; then + rm -f "$WPA_CLI_IFUPDOWN" + fi +} + +##################################################################### +## higher level wpa_cli wrapper for variable and set_network commands +# wpa_cli_do [set_network variable] +# +# $1 envorinment variable +# $2 data type of variable {raw|ascii} +# $3 wpa_cli variable, if $3 is set_network, shift and take +# set_network subvariable +# $4 wpa-* string as it would appear in interfaces file, enhances +# verbose messages +# +wpa_cli_do () { + if [ -z "$1" ]; then + return 0 + fi + + local WPACLISET_VALUE + local WPACLISET_VARIABLE + local WPACLISET_DESC + + case "$2" in + ascii) + # Double quote + WPACLISET_VALUE="\"$1\"" + ;; + raw|*) + # Provide raw value + WPACLISET_VALUE="$1" + ;; + esac + + case "$3" in + set_network) + if [ -z "$WPA_ID" ]; then + return 1 + fi + shift + WPACLISET_VARIABLE="set_network $WPA_ID $3" + ;; + *) + WPACLISET_VARIABLE="$3" + ;; + esac + + case "$4" in + *-psk|*-passphrase|*-passwd*|*-wep-key*) + WPACLISET_DESC="$4 *****" + ;; + *) + WPACLISET_DESC="$4 $WPACLISET_VALUE" + ;; + esac + + wpa_msg action "$WPACLISET_DESC" + + wpa_cli $WPACLISET_VARIABLE "$WPACLISET_VALUE" >$TO_NULL + + if [ "$?" -ne 0 ]; then + wpa_msg stderr "$WPACLISET_DESC failed!" + fi +} + +##################################################################### +## check value data type in plaintext or hex +# returns 0 if input consists of hexadecimal digits only, 1 otherwise +# +ishex () { + if [ -z "$1" ]; then + return 0 + fi + + case "$1" in + *[!0-9a-fA-F]*) + # plaintext + return 1 + ;; + *) + # hexadecimal + return 0 + ;; + esac +} + +##################################################################### +## sanity check and set psk|passphrase +# Warn about strange psk|passphrase values +# +# $1 psk or passphrase value +# +# If psk is surrounded by quotes strip them. +# +# If psk contains all hexadecimal characters and string length is 64: +# is 256bit hexadecimal +# else: +# is plaintext +# +# plaintext passphrases must be 8 - 63 characters in length +# 256-bit hexadecimal key must be 64 characters in length +# +wpa_key_check_and_set () { + if [ "$#" -ne 3 ]; then + return 0 + fi + + local KEY + local KEY_LEN + local KEY_TYPE + local ENC_TYPE + + case "$1" in + '"'*'"') + # Strip surrounding quotation marks + KEY=$(echo -n "$1" | sed 's/^"//;s/"$//') + ;; + *) + KEY="$1" + ;; + esac + + KEY_LEN="${#KEY}" + + case "$2" in + wep_key*) + ENC_TYPE="WEP" + ;; + psk) + ENC_TYPE="WPA" + ;; + *) + return 0 + ;; + esac + + if [ "$ENC_TYPE" = "WEP" ]; then + if ishex "$KEY"; then + case "$KEY_LEN" in + 10|26|32|58) + # 64/128/152/256-bit WEP + KEY_TYPE="raw" + ;; + *) + KEY_TYPE="ascii" + ;; + esac + else + KEY_TYPE="ascii" + fi + + if [ "$KEY_TYPE" = "ascii" ]; then + if [ "$KEY_LEN" -lt "5" ]; then + wpa_msg stderr "WARNING: plaintext or ascii WEP key has $KEY_LEN characters," + wpa_msg stderr "it must have at least 5 to be valid." + fi + fi + elif [ "$ENC_TYPE" = "WPA" ]; then + if ishex "$KEY"; then + case "$KEY_LEN" in + 64) + # 256-bit WPA + KEY_TYPE="raw" + ;; + *) + KEY_TYPE="ascii" + ;; + esac + else + KEY_TYPE="ascii" + fi + + if [ "$KEY_TYPE" = "ascii" ]; then + if [ "$KEY_LEN" -lt "8" ] || [ "$KEY_LEN" -gt "63" ]; then + wpa_msg stderr "WARNING: plaintext or ascii WPA key has $KEY_LEN characters," + wpa_msg stderr "it must have between 8 and 63 to be valid." + wpa_msg stderr "If the WPA key is a 256-bit hexadecimal key, it must have" + wpa_msg stderr "exactly 64 characters." + fi + fi + fi + + wpa_cli_do "$KEY" "$KEY_TYPE" set_network "$2" "$3" +} + +##################################################################### +## formulate a usable configuration from interfaces(5) wpa- lines +# A series of wpa_cli commands corresponding to environment variables +# created as a result of wpa- lines in an interfaces stanza. +# +# NB: no-act when roaming daemon is used (to avoid prematurely +# attaching to ctrl_interface socket) +# +conf_wpa_supplicant () { + if [ -n "$WPA_ACTION_SCRIPT" ]; then + return 0 + fi + + if [ "$IF_WPA_DRIVER" = "wired" ]; then + IF_WPA_AP_SCAN="0" + wpa_msg verbose "forcing ap_scan=0 (required for wired IEEE8021X auth)" + fi + + if [ -n "$IF_WPA_ESSID" ]; then + # #403316, be similar to wireless tools + IF_WPA_SSID="$IF_WPA_ESSID" + fi + + wpa_cli_do "$IF_WPA_AP_SCAN" raw \ + ap_scan wpa-ap-scan + + wpa_cli_do "$IF_WPA_PREAUTHENTICATE" raw \ + preauthenticate wpa-preauthenticate + + if [ -n "$IF_WPA_SSID" ] || [ "$IF_WPA_DRIVER" = "wired" ] || \ + [ -n "$IF_WPA_KEY_MGMT" ]; then + + case "$IF_WPA_SSID" in + '"'*'"') + IF_WPA_SSID=$(echo -n "$IF_WPA_SSID" | sed 's/^"//;s/"$//') + ;; + *) + ;; + esac + + WPA_ID=$(wpa_cli add_network) + + wpa_msg verbose "configuring network block -- $WPA_ID" + + wpa_cli_do "$IF_WPA_SSID" ascii \ + set_network ssid wpa-ssid + + wpa_cli_do "$IF_WPA_PRIORITY" raw \ + set_network priority wpa-priority + + wpa_cli_do "$IF_WPA_BSSID" raw \ + set_network bssid wpa-bssid + + if [ -s "$IF_WPA_PSK_FILE" ]; then + IF_WPA_PSK=$(cat "$IF_WPA_PSK_FILE") + fi + + # remain compat with wpa-passphrase-file + if [ -s "$IF_WPA_PASSPHRASE_FILE" ]; then + IF_WPA_PSK=$(cat "$IF_WPA_PASSPHRASE_FILE") + fi + + # remain compat with wpa-passphrase + if [ -n "$IF_WPA_PASSPHRASE" ]; then + IF_WPA_PSK="$IF_WPA_PASSPHRASE" + fi + + if [ -n "$IF_WPA_PSK" ]; then + wpa_key_check_and_set "$IF_WPA_PSK" \ + psk wpa-psk + fi + + wpa_cli_do "$IF_WPA_PAIRWISE" raw \ + set_network pairwise wpa-pairwise + + wpa_cli_do "$IF_WPA_GROUP" raw \ + set_network group wpa-group + + wpa_cli_do "$IF_WPA_MODE" raw \ + set_network mode wpa-mode + + wpa_cli_do "$IF_WPA_FREQUENCY" raw \ + set_network frequency wpa-frequency + + wpa_cli_do "$IF_WPA_SCAN_FREQ" raw \ + set_network scan_freq wpa-scan-freq + + wpa_cli_do "$IF_WPA_FREQ_LIST" raw \ + set_network freq_list wpa-freq-list + + wpa_cli_do "$IF_WPA_KEY_MGMT" raw \ + set_network key_mgmt wpa-key-mgmt + + wpa_cli_do "$IF_WPA_PROTO" raw \ + set_network proto wpa-proto + + wpa_cli_do "$IF_WPA_AUTH_ALG" raw \ + set_network auth_alg wpa-auth-alg + + wpa_cli_do "$IF_WPA_SCAN_SSID" raw \ + set_network scan_ssid wpa-scan-ssid + + wpa_cli_do "$IF_WPA_IDENTITY" ascii \ + set_network identity wpa-identity + + wpa_cli_do "$IF_WPA_ANONYMOUS_IDENTITY" ascii \ + set_network anonymous_identity wpa-anonymous-identity + + wpa_cli_do "$IF_WPA_EAP" raw \ + set_network eap wpa-eap + + wpa_cli_do "$IF_WPA_EAPPSK" raw \ + set_network eappsk wpa-eappsk + + wpa_cli_do "$IF_WPA_NAI" ascii \ + set_network nai wpa-nai + + wpa_cli_do "$IF_WPA_PASSWORD" ascii \ + set_network password wpa-password + + wpa_cli_do "$IF_WPA_CA_CERT" ascii \ + set_network ca_cert wpa-ca-cert + + wpa_cli_do "$IF_WPA_CA_PATH" ascii \ + set_network ca_path wpa-ca-path + + wpa_cli_do "$IF_WPA_CLIENT_CERT" ascii \ + set_network client_cert wpa-client-cert + + wpa_cli_do "$IF_WPA_PRIVATE_KEY" ascii \ + set_network private_key wpa-private-key + + wpa_cli_do "$IF_WPA_PRIVATE_KEY_PASSWD" ascii \ + set_network private_key_passwd wpa-private-key-passwd + + wpa_cli_do "$IF_WPA_DH_FILE" ascii \ + set_network dh_file wpa-dh-file + + wpa_cli_do "$IF_WPA_SUBJECT_MATCH" ascii \ + set_network subject_match wpa-subject-match + + wpa_cli_do "$IF_WPA_ALTSUBJECT_MATCH" ascii \ + set_network altsubject_match wpa-altsubject-match + + wpa_cli_do "$IF_WPA_CA_CERT2" ascii \ + set_network ca_cert2 wpa-ca-cert2 + + wpa_cli_do "$IF_WPA_CA_PATH2" ascii \ + set_network ca_path2 wpa-ca-path2 + + wpa_cli_do "$IF_WPA_CLIENT_CERT2" ascii \ + set_network client_cert2 wpa-client-cert2 + + wpa_cli_do "$IF_WPA_PRIVATE_KEY2" ascii \ + set_network private_key2 wpa-private-key2 + + wpa_cli_do "$IF_WPA_PRIVATE_KEY_PASSWD2" ascii \ + set_network private_key_passwd2 wpa-private-key-passwd2 + + wpa_cli_do "$IF_WPA_DH_FILE2" ascii \ + set_network dh_file2 wpa-dh-file2 + + wpa_cli_do "$IF_WPA_SUBJECT_MATCH2" ascii \ + set_network subject_match2 wpa-subject-match2 + + wpa_cli_do "$IF_WPA_ALTSUBJECT_MATCH2" ascii \ + set_network altsubject_match2 wpa-altsubject-match2 + + wpa_cli_do "$IF_WPA_EAP_METHODS" raw \ + set_network eap_methods wpa-eap-methods + + wpa_cli_do "$IF_WPA_PHASE1" ascii \ + set_network phase1 wpa-phase1 + + wpa_cli_do "$IF_WPA_PHASE2" ascii \ + set_network phase2 wpa-phase2 + + wpa_cli_do "$IF_WPA_PCSC" raw \ + set_network pcsc wpa-pcsc + + wpa_cli_do "$IF_WPA_PIN" ascii \ + set_network pin wpa-pin + + wpa_cli_do "$IF_WPA_ENGINE" raw \ + set_network engine wpa-engine + + wpa_cli_do "$IF_WPA_ENGINE_ID" ascii \ + set_network engine_id wpa-engine-id + + wpa_cli_do "$IF_WPA_KEY_ID" ascii \ + set_network key_id wpa-key-id + + wpa_cli_do "$IF_WPA_EAPOL_FLAGS" raw \ + set_network eapol_flags wpa-eapol-flags + + if [ -n "$IF_WPA_WEP_KEY0" ]; then + wpa_key_check_and_set "$IF_WPA_WEP_KEY0" \ + wep_key0 wpa-wep-key0 + fi + + if [ -n "$IF_WPA_WEP_KEY1" ]; then + wpa_key_check_and_set "$IF_WPA_WEP_KEY1" \ + wep_key1 wpa-wep-key1 + fi + + if [ -n "$IF_WPA_WEP_KEY2" ]; then + wpa_key_check_and_set "$IF_WPA_WEP_KEY2" \ + wep_key2 wpa-wep-key2 + fi + + if [ -n "$IF_WPA_WEP_KEY3" ]; then + wpa_key_check_and_set "$IF_WPA_WEP_KEY3" \ + wep_key3 wpa-wep-key3 + fi + + wpa_cli_do "$IF_WPA_WEP_TX_KEYIDX" raw \ + set_network wep_tx_keyidx wpa-wep-tx-keyidx + + wpa_cli_do "$IF_WPA_PROACTIVE_KEY_CACHING" raw \ + set_network proactive_key_caching wpa-proactive-key-caching + + wpa_cli_do "$IF_WPA_PAC_FILE" ascii \ + set_network pac_file wpa-pac-file + + wpa_cli_do "$IF_WPA_PEERKEY" raw \ + set_network peerkey wpa-peerkey + + wpa_cli_do "$IF_FRAGMENT_SIZE" raw \ + set_network fragment_size wpa-fragment-size + + wpa_cli_do "$IF_WPA_ID_STR" ascii \ + set_network id_str wpa-id-str + + wpa_cli_do "$WPA_ID" raw \ + enable_network "enabling network block" + fi +} + +##################################################################### +## Log wpa_cli environment variables +wpa_log_env () { + wpa_msg log "WPA_IFACE=$WPA_IFACE WPA_ACTION=$WPA_ACTION" + wpa_msg log "WPA_ID=$WPA_ID WPA_ID_STR=$WPA_ID_STR WPA_CTRL_DIR=$WPA_CTRL_DIR" +} + +##################################################################### +## hysteresis checking +# Networking tools such as dhcp clients used with ifupdown can +# synthesize artificial ACTION events, particuarly just after a +# DISCONNECTED/CONNECTED events are experienced in quick succession. +# This can lead to infinite event loops, and in extreme cases has the +# potential to cause system instability. +# +wpa_hysteresis_event () { + echo "$(date +%s)" > "$WPA_CLI_TIMESTAMP" 2>/dev/null +} + +wpa_hysteresis_check () { + if [ -f "$WPA_CLI_TIMESTAMP" ]; then + local TIME + local TIMESTAMP + local TIMEWAIT + TIME=$(date +%s) + # current time minus 4 second event buffer + TIMEWAIT=$(($TIME-4)) + # get time of last event + TIMESTAMP=$(cat $WPA_CLI_TIMESTAMP) + # compare values, allowing new action to be processed + # only if last action was more than 4 seconds ago + if [ "$TIMEWAIT" -le "$TIMESTAMP" ]; then + wpa_msg log "$WPA_ACTION event blocked by hysteresis check" + return 1 + fi + fi + + return 0 +} + +##################################################################### +## ifupdown locking functions +# A collection of rudimentary locking functions to lock ifup/ifdown +# actions. +# + +ifupdown_lock () { + ln -s lock "$WPA_CLI_IFUPDOWN" +} + +ifupdown_locked () { + [ -L "$WPA_CLI_IFUPDOWN" ] && return 0 + + return 1 +} + +ifupdown_unlock () { + rm -f "$WPA_CLI_IFUPDOWN" +} + +##################################################################### +## apply mapping logic and ifup logical interface +# Apply mapping logic via id_str or external mapping script, check +# state of IFACE with respect to ifupdown and ifup logical interaface +# +ifup () { + local INTERFACES_FILE + local IFSTATE_FILE + local IFUP_RETVAL + local WPA_LOGICAL_IFACE + + if [ -e /etc/network/interfaces ]; then + INTERFACES_FILE="/etc/network/interfaces" + else + wpa_msg log "/etc/network/interfaces does not exist, $WPA_IFACE will not be configured" + return 1 + fi + + if [ -e /etc/network/run/ifstate ]; then + # debian's ifupdown + IFSTATE_FILE="/etc/network/run/ifstate" + elif [ -e /var/run/network/ifstate ]; then + # ubuntu's + IFSTATE_FILE="/var/run/network/ifstate" + else + unset IFSTATE_FILE + fi + + if [ -z "$IF_WPA_MAPPING_SCRIPT_PRIORITY" ] && [ -n "$WPA_ID_STR" ]; then + WPA_LOGICAL_IFACE="$WPA_ID_STR" + fi + + if [ -z "$WPA_LOGICAL_IFACE" ] && [ -n "$IF_WPA_MAPPING_SCRIPT" ]; then + local WPA_MAP_STDIN + + WPA_MAP_STDIN=$(set | sed -n 's/^\(IF_WPA_MAP[0-9]*\)=.*/echo \$\1/p') + + if [ -n "$WPA_MAP_STDIN" ]; then + WPA_LOGICAL_IFACE=$(eval "$WPA_MAP_STDIN" | "$IF_WPA_MAPPING_SCRIPT" "$WPA_IFACE") + else + WPA_LOGICAL_IFACE=$("$IF_WPA_MAPPING_SCRIPT" "$WPA_IFACE") + fi + + if [ -n "$WPA_LOGICAL_IFACE" ]; then + wpa_msg log "mapping script result: $WPA_LOGICAL_IFACE" + else + wpa_msg log "mapping script failed." + fi + fi + + if [ -z "$WPA_LOGICAL_IFACE" ]; then + if [ -n "$IF_WPA_ROAM_DEFAULT_IFACE" ]; then + WPA_LOGICAL_IFACE="$IF_WPA_ROAM_DEFAULT_IFACE" + else + WPA_LOGICAL_IFACE="default" + fi + fi + + if [ -n "$WPA_LOGICAL_IFACE" ]; then + if egrep -q "^iface[[:space:]]+${WPA_LOGICAL_IFACE}[[:space:]]+inet" "$INTERFACES_FILE"; then + : # logical network is defined + else + wpa_msg log "network settings not defined for $WPA_LOGICAL_IFACE in $INTERFACES_FILE" + WPA_LOGICAL_IFACE="default" + fi + + wpa_msg log "ifup $WPA_IFACE=$WPA_LOGICAL_IFACE" + + ifupdown_lock + + if [ -n "$IFSTATE_FILE" ] && grep -q "^$WPA_IFACE=$WPA_IFACE" "$IFSTATE_FILE"; then + # Force settings over the unconfigured "master" IFACE + /sbin/ifup -v --force "$WPA_IFACE=$WPA_LOGICAL_IFACE" + else + /sbin/ifup -v "$WPA_IFACE=$WPA_LOGICAL_IFACE" + fi + IFUP_RETVAL="$?" + + ifupdown_unlock + fi + + wpa_msg log "creating sendsigs omission pidfile: $WPA_SUP_OMIT_PIDFILE" + cat "$WPA_SUP_PIDFILE" > "$WPA_SUP_OMIT_PIDFILE" + + return "$IFUP_RETVAL" +} + +##################################################################### +## ifdown IFACE +# Check IFACE state and ifdown as requested. +# +ifdown () { + wpa_msg log "ifdown $WPA_IFACE" + + ifupdown_lock + + /sbin/ifdown -v "$WPA_IFACE" + + ifupdown_unlock + + wpa_msg log "removing sendsigs omission pidfile: $WPA_SUP_OMIT_PIDFILE" + rm -f "$WPA_SUP_OMIT_PIDFILE" +} + +##################################################################### +## keep IFACE scanning +# After ifdown, the IFACE may be left "down", and inhibits +# wpa_supplicant's ability to continue roaming. +# +# NB: use iproute if present, flushing the IFACE first +# +if_post_down_up () { + if [ -x /bin/ip ]; then + ip addr flush dev "$WPA_IFACE" 2>/dev/null + ip link set "$WPA_IFACE" up + else + ifconfig "$WPA_IFACE" up + fi +} diff --git a/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-2.1/ifupdown.sh b/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-2.1/ifupdown.sh new file mode 100644 index 0000000..9dab925 --- /dev/null +++ b/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-2.1/ifupdown.sh @@ -0,0 +1,172 @@ +#!/bin/sh + +##################################################################### +## Purpose +# This file is executed by ifupdown in pre-up, post-up, pre-down and +# post-down phases of network interface configuration. It allows +# ifup(8), and ifdown(8) to manage wpa_supplicant(8) and wpa_cli(8) +# processes running in daemon mode. +# +# /etc/wpa_supplicant/functions.sh is sourced by this file. +# +# This file is provided by the wpasupplicant package. + +##################################################################### +# Copyright (C) 2006 - 2009 Debian/Ubuntu wpasupplicant Maintainers +# +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# On Debian GNU/Linux systems, the text of the GPL license, +# version 2, can be found in /usr/share/common-licenses/GPL-2. + +if [ -n "$IF_WPA_MAINT_DEBUG" ]; then + set -x +fi + +# quit if we're called for the loopback +if [ "$IFACE" = lo ]; then + exit 0 +fi + +# allow wpa_supplicant interface to be specified via wpa-iface +# useful for starting wpa_supplicant on one interface of a bridge +if [ -n "$IF_WPA_IFACE" ]; then + WPA_IFACE="$IF_WPA_IFACE" +else + WPA_IFACE="$IFACE" +fi + +# source functions +if [ -f /etc/wpa_supplicant/functions.sh ]; then + . /etc/wpa_supplicant/functions.sh +else + exit 0 +fi + +# quit if executables are not installed +if [ ! -x "$WPA_SUP_BIN" ] || [ ! -x "$WPA_CLI_BIN" ]; then + exit 0 +fi + +do_start () { + if test_wpa_cli; then + # if wpa_action is active for this IFACE, do nothing + ifupdown_locked && exit 0 + + # if the administrator is calling ifup, say something useful + if [ "$PHASE" = "pre-up" ]; then + wpa_msg stderr "wpa_action is managing ifup/ifdown state of $WPA_IFACE" + wpa_msg stderr "execute \`ifdown --force $WPA_IFACE' to stop wpa_action" + fi + exit 1 + elif ! set | grep -q "^IF_WPA"; then + # no wpa- option defined for IFACE, do nothing + exit 0 + fi + + # ensure stale ifupdown_lock marker is purged + ifupdown_unlock + + # preliminary sanity checks for roaming daemon + if [ -n "$IF_WPA_ROAM" ]; then + if [ "$METHOD" != "manual" ]; then + wpa_msg stderr "wpa-roam can only be used with the \"manual\" inet METHOD" + exit 1 + fi + if [ -n "$IF_WPA_MAPPING_SCRIPT" ]; then + if ! type "$IF_WPA_MAPPING_SCRIPT" >/dev/null; then + wpa_msg stderr "wpa-mapping-script \"$IF_WPA_MAPPING_SCRIPT\" is not valid" + exit 1 + fi + fi + if [ -n "$IF_WPA_MAPPING_SCRIPT_PRIORITY" ] && [ -z "$IF_WPA_MAPPING_SCRIPT" ]; then + wpa_msg stderr "\"wpa-mapping-script-priority 1\" is invalid without a wpa-mapping-script" + exit 1 + fi + IF_WPA_CONF="$IF_WPA_ROAM" + WPA_ACTION_SCRIPT="/usr/sbin/wpa_action" + fi + + # master function; determines if ifupdown.sh should do something or not + if [ -n "$IF_WPA_CONF" ] && [ "$IF_WPA_CONF" != "managed" ]; then + if [ ! -s "$IF_WPA_CONF" ]; then + wpa_msg stderr "cannot read contents of $IF_WPA_CONF" + exit 1 + fi + WPA_SUP_CONF_CTRL_DIR=$(sed -n -e 's/[[:space:]]*#.*//g' -e 's/[[:space:]]\+.*$//g' \ + -e 's/^ctrl_interface=\(DIR=\)\?\(.*\)/\2/p' "$IF_WPA_CONF") + if [ -n "$WPA_SUP_CONF_CTRL_DIR" ]; then + WPA_CTRL_DIR="$WPA_SUP_CONF_CTRL_DIR" + WPA_SUP_CONF="-c $IF_WPA_CONF" + else + # specify the default ctrl_interface since none was defined in + # the given IF_WPA_CONF + WPA_SUP_CONF="-c $IF_WPA_CONF -C $WPA_CTRL_DIR" + fi + else + # specify the default ctrl_interface + WPA_SUP_CONF="-C $WPA_CTRL_DIR" + fi +} + +do_stop () { + if test_wpa_cli; then + # if wpa_action is active for this IFACE and calling ifdown, + # do nothing + ifupdown_locked && exit 0 + elif test_wpa_supplicant; then + # wpa_supplicant process exists for this IFACE, but wpa_cli + # process does not. Allow stop mode to kill this process. + : + else + exit 0 + fi +} + +case "$MODE" in + start) + do_start + case "$PHASE" in + pre-up) + kill_wpa_supplicant + init_wpa_supplicant || exit 1 + conf_wpa_supplicant || { kill_wpa_supplicant; exit 1; } + ;; + post-up) + init_wpa_cli || { kill_wpa_supplicant; exit 1; } + ;; + esac + ;; + + stop) + do_stop + case "$PHASE" in + pre-down) + kill_wpa_cli + ;; + post-down) + kill_wpa_supplicant + ;; + *) + wpa_msg stderr "unknown phase: \"$PHASE\"" + exit 1 + ;; + esac + ;; + + *) + wpa_msg stderr "unknown mode: \"$MODE\"" + exit 1 + ;; +esac + +exit 0 diff --git a/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-2.1/wpa_action b/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-2.1/wpa_action new file mode 100644 index 0000000..7ef57ac --- /dev/null +++ b/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-2.1/wpa_action @@ -0,0 +1,81 @@ +#!/bin/sh + +# Copyright (C) 2006 - 2009 Debian/Ubuntu wpasupplicant Maintainers +# +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# On Debian GNU/Linux systems, the text of the GPL license, +# version 2, can be found in /usr/share/common-licenses/GPL-2. + +if [ -n "$IF_WPA_ROAM_MAINT_DEBUG" ]; then + set -x +fi + +if [ -z "$1" ] || [ -z "$2" ]; then + echo "Usage: $0 IFACE ACTION" + exit 1 +fi + +# network interface +WPA_IFACE="$1" +# [CONNECTED|DISCONNECTED|stop|reload|check] +WPA_ACTION="$2" + +if [ -f /etc/wpa_supplicant/functions.sh ]; then + . /etc/wpa_supplicant/functions.sh +else + exit 0 +fi + +case "$WPA_ACTION" in + "CONNECTED") + wpa_log_env + wpa_hysteresis_check || exit 1 + wpa_hysteresis_event + if ifup; then + wpa_cli status | wpa_msg log + else + wpa_cli status | wpa_msg log + wpa_cli reassociate + fi + ;; + + "DISCONNECTED") + wpa_log_env + wpa_hysteresis_check || exit 1 + ifdown + if_post_down_up + ;; + + "stop"|"down") + test_wpa_cli && kill_wpa_cli + ifdown + test_wpa_supplicant && kill_wpa_supplicant + ;; + + "restart"|"reload") + test_wpa_supplicant || exit 1 + reload_wpa_supplicant + ;; + + "check") + test_wpa_supplicant || exit 1 + test_wpa_cli || exit 1 + ;; + + *) + echo "Unknown action: \"$WPA_ACTION\"" + exit 1 + ;; +esac + +exit 0 diff --git a/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-2.1/wpa_action.8 b/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-2.1/wpa_action.8 new file mode 100644 index 0000000..e8f1b28 --- /dev/null +++ b/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant-2.1/wpa_action.8 @@ -0,0 +1,148 @@ +.TH WPA_ACTION "8" "26 May 2006" "" "" +.SH NAME +wpa_action \- wpa_cli action script +.SH SYNOPSIS +\fBwpa_action\fR \fIIFACE ACTION\fR +.SH "DESCRIPTION" +\fBwpa_action\fR is a shell script designed to control the \fBifupdown\fR +framework according to \fIACTION\fR events received from \fBwpa_supplicant\fR. +\fBwpa_cli\fR receives \fICONNECTED\fR and \fIDISCONNECTED\fR events from +\fBwpa_supplicant\fR via the crtl_iface socket and gives the \fIACTION\fR event +to the \fBwpa_action\fR script as an argument, along with the \fIIFACE\fR to be +acted upon. +.PP +\fBwpa_action\fR also receives an environment variable from \fBwpa_cli\fR, +\fIWPA_ID_STR\fR, containing an alphanumeric identification string for the +\fICURRENT\fR network block. \fIWPA_ID_STR\fR is provided by the 'id_str' +network block option of \fBwpa_supplicant.conf\fR, and provides a means to map +the \fIACTION\fR to a \fILOGICAL\fR interface configured in the \fBinterfaces\fR +file. +.PP +If either the ifupdown \fBinterfaces\fR or \fIifstate\fR file cannot be found, +\fBwpa_action\fR will exit silently (status 0). \fBwpa_action\fR will search +the following locations for their existance: +.nf + /etc/network/run/ifstate + /var/run/network/ifstate + /etc/network/interfaces +.fi +.PP +.SH IFACE +Network interface to be acted upon, for example 'eth1' or 'wlan0'. +.SH ACTION +An \fIACTION\fR to be performed on the \fIIFACE\fR. +.TP +\fBCONNECTED\fR +\fBwpa_supplicant\fR has completed authentication. +\fBifup\fR \fIIFACE=WPA_ID_STR\fR is invoked and the action is logged to +syslog. Network settings for the \fILOGICAL\fR interface \fIWPA_ID_STR\fR +are applied. +.TP +\fBDISCONNECTED\fR +\fBwpa_supplicant\fR has detected disconnection. +\fBifdown\fR \fIIFACE=WPA_ID_STR\fR is invoked and the action is logged to +syslog. Network settings for the \fILOGICAL\fR interface \fIWPA_ID_STR\fR +are undone. +.TP +\fBstop\fR +The 'stop' \fIACTION\fR is a called manually by the user, to stop the +\fBwpa_cli\fR daemon, invoke \fBifdown\fR \fIIFACE\fR (if the \fIIFACE\fR is +present in the \fIifstate\fR file) and stop the \fBwpa_supplicant\fR daemon. +.TP +\fBreload\fR +The 'reload' \fIACTION\fR can be used to reload the \fBwpa_supplicant\fR +configuration file specified by \fIwpa-roam\fR . 'restart' is a synonym +for 'reload' and can be used equally. The action is logged to +\fI/var/log/wpa_action.log\fR. +.SH ENVIRONMENT +An alphanumeric identification string provided by the 'id_str' network block +option of \fBwpa_supplicant.conf\fR is exported to \fBwpa_action\fR as an +environment variable, \fIWPA_ID_STR\fR. When 'id_str' is not configured for the +\fICURRENT\fR network block, 'default' is substituted for the absent +\fIWPA_ID_STR\fR environment variable. +.PP +A unique network identifier, \fIWPA_ID\fR, is exported to \fBwpa_action\fR. It +is the number assigned to the \fICURRENT\fR \fBwpa_supplicant\fR network block +(network_id). +.SH USAGE +The only reasons for \fBwpa_action\fR to be explicitly executed by the user is +to stop \fBwpa_cli\fR from controlling \fBifupdown\fR or reload the +\fIwpa_supplicant.conf\fR file after editing. +.PP +.RS +\fBwpa_action\fR \fIeth1 stop\fR +.RE +.PP +Otherwise, \fBwpa_action\fR is given as an argument to a \fBwpa_cli\fR +daemon. +.PP +.RS +\fBwpa_cli\fR \fI-i eth1 -a /sbin/wpa_action -B\fR +.RE +.PP +This can be done by using the \fIwpa-roam\fR option in the \fBinterfaces\fR +file. \fIwpa-roam\fR takes one argument, a user provided +\fBwpa_supplicant.conf\fR file. +.PP +The inet \fIMETHOD\fR must be 'manual' for this interface, as it will +be configured according to \fBwpa_cli\fR action events. Also supply a 'default' +\fBinterfaces\fR stanza using the dhcp inet \fIMETHOD\fR so that networks +without an 'id_str' option can fallback to attempting to receive an ip via +dhcp. If one or more networks requires additional network configuration, +provide an unique 'id_str' for each network, and an \fBinterfaces\fR stanza +using the 'id_str' value as a \fILOGICAL\fR interface. The following interfaces +file is configured to use dhcp for any network without an 'id_str', a static ip +for the network with an 'id_str' of 'home_static' and dhcp plus an additional +post-up command for the network with an 'id_str' of 'uni'. +.PP +An example wpa_supplicant.conf configured to roam between 3 different networks: +.PP +.RS +.nf +network={ + ssid="foo" + id_str="uni" + key_mgmt=NONE +} + +network={ + ssid="bar" + id_str="home_static" + psk=123456789... +} + +network={ + ssid="" + key_mgmt=NONE +} +.fi +.RE +.PP +The corresponding \fBinterfaces\fR file would contain \fILOGICAL\fR interfaces, +that correlate to each unique 'id_str' provided by the configuration file: +.PP +.RS +.nf +iface eth1 inet manual + wpa-driver wext + wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf + +iface default inet dhcp + +iface uni inet dhcp + +iface home_static inet static + address 192.168.0.20 + netmask 255.255.255.0 + network 192.168.0.0 + broadcast 192.168.0.255 + gateway 192.168.0.1 +.fi +.RE +.PP +.SH SEE ALSO +\fBwpa_cli(8)\fR, \fBwpa_supplicant(8)\fR, \fBwpa_supplicant.conf(5)\fR, +\fBifup(8)\fR, \fBinterfaces(5)\fR +.SH AUTHOR +This manual page was written by Kel Modderman for +the Debian GNU system (but may be used by others). diff --git a/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant_0.7.3.bbappend b/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant_0.7.3.bbappend deleted file mode 100644 index 8ad898b..0000000 --- a/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant_0.7.3.bbappend +++ /dev/null @@ -1,40 +0,0 @@ -DEPENDS += "openssl" -PR .= "-vuplus0" - -SRC_URI += " \ - file://action_wpa.sh \ - file://functions.sh \ - file://ifupdown.sh \ - file://wpa_action \ - file://wpa_action.8 \ -" - -do_configure_append() { - sed -e '/^CONFIG_TLS = gnutls/d' -i .config - echo "CONFIG_DEBUG_SYSLOG=y" >> .config -} -do_install_append() { - rm -rf ${D}${sysconfdir}/network/if-*.d - - install -d ${D}${sysconfdir}/wpa_supplicant - install -m 755 ${WORKDIR}/action_wpa.sh ${D}${sysconfdir}/wpa_supplicant - install -m 755 ${WORKDIR}/functions.sh ${D}${sysconfdir}/wpa_supplicant - install -m 755 ${WORKDIR}/ifupdown.sh ${D}${sysconfdir}/wpa_supplicant - - install -d ${D}${sbindir} - install -m 755 ${WORKDIR}/wpa_action ${D}${sbindir} - - install -d ${D}${mandir}/man8 - install -m 755 ${WORKDIR}/wpa_action.8 ${D}${mandir}/man8 - - install -d ${D}${sysconfdir}/network/if-down.d - install -d ${D}${sysconfdir}/network/if-post-down.d - install -d ${D}${sysconfdir}/network/if-pre-up.d - install -d ${D}${sysconfdir}/network/if-up.d - ln -s ../../wpa_supplicant/ifupdown.sh ${D}${sysconfdir}/network/if-down.d/${PN} - ln -s ../../wpa_supplicant/ifupdown.sh ${D}${sysconfdir}/network/if-post-down.d/${PN} - ln -s ../../wpa_supplicant/ifupdown.sh ${D}${sysconfdir}/network/if-pre-up.d/${PN} - ln -s ../../wpa_supplicant/ifupdown.sh ${D}${sysconfdir}/network/if-up.d/${PN} -} - -FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" diff --git a/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.1.bbappend b/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.1.bbappend new file mode 100644 index 0000000..8920c9b --- /dev/null +++ b/meta-openvuplus/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.1.bbappend @@ -0,0 +1,40 @@ +DEPENDS += "openssl" +PR .= "-vuplus0" + +SRC_URI += " \ + file://action_wpa.sh \ + file://functions.sh \ + file://ifupdown.sh \ + file://wpa_action \ + file://wpa_action.8 \ +" + +do_configure_append() { + sed -e '/^CONFIG_TLS = gnutls/d' -i wpa_supplicant/.config + echo "CONFIG_DEBUG_SYSLOG=y" >> wpa_supplicant/.config +} +do_install_append() { + rm -rf ${D}${sysconfdir}/network/if-*.d + + install -d ${D}${sysconfdir}/wpa_supplicant + install -m 755 ${WORKDIR}/action_wpa.sh ${D}${sysconfdir}/wpa_supplicant + install -m 755 ${WORKDIR}/functions.sh ${D}${sysconfdir}/wpa_supplicant + install -m 755 ${WORKDIR}/ifupdown.sh ${D}${sysconfdir}/wpa_supplicant + + install -d ${D}${sbindir} + install -m 755 ${WORKDIR}/wpa_action ${D}${sbindir} + + install -d ${D}${mandir}/man8 + install -m 755 ${WORKDIR}/wpa_action.8 ${D}${mandir}/man8 + + install -d ${D}${sysconfdir}/network/if-down.d + install -d ${D}${sysconfdir}/network/if-post-down.d + install -d ${D}${sysconfdir}/network/if-pre-up.d + install -d ${D}${sysconfdir}/network/if-up.d + ln -s ../../wpa_supplicant/ifupdown.sh ${D}${sysconfdir}/network/if-down.d/${PN} + ln -s ../../wpa_supplicant/ifupdown.sh ${D}${sysconfdir}/network/if-post-down.d/${PN} + ln -s ../../wpa_supplicant/ifupdown.sh ${D}${sysconfdir}/network/if-pre-up.d/${PN} + ln -s ../../wpa_supplicant/ifupdown.sh ${D}${sysconfdir}/network/if-up.d/${PN} +} + +FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" diff --git a/meta-openvuplus/recipes-connectivity/wvdial/wvdial-1.60/wvdial_fileselect.patch b/meta-openvuplus/recipes-connectivity/wvdial/wvdial-1.60/wvdial_fileselect.patch new file mode 100644 index 0000000..467cbec --- /dev/null +++ b/meta-openvuplus/recipes-connectivity/wvdial/wvdial-1.60/wvdial_fileselect.patch @@ -0,0 +1,22 @@ +diff --git a/wvmodemscan.cc b/wvmodemscan.cc +index ef5ab87..f97581e 100644 +--- a/wvmodemscan.cc ++++ b/wvmodemscan.cc +@@ -503,11 +503,16 @@ static int fileselect(const struct dirent *e) + #endif + } + +- ++#if defined(__GLIBC__) && __GLIBC_PREREQ(2, 10) ++static int filesort(const struct dirent **e1, const struct dirent **e2) ++#else + static int filesort(const void *_e1, const void *_e2) ++#endif + { ++#if !(defined(__GLIBC__) && __GLIBC_PREREQ(2, 10)) + dirent const * const *e1 = (dirent const * const *)_e1; + dirent const * const *e2 = (dirent const * const *)_e2; ++#endif + const char *p1, *p2; + int diff; + diff --git a/meta-openvuplus/recipes-connectivity/wvdial/wvdial_1.60.bb b/meta-openvuplus/recipes-connectivity/wvdial/wvdial_1.60.bb index 7b20c5d..86e82c1 100644 --- a/meta-openvuplus/recipes-connectivity/wvdial/wvdial_1.60.bb +++ b/meta-openvuplus/recipes-connectivity/wvdial/wvdial_1.60.bb @@ -8,13 +8,14 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605" SRC_URI = "\ http://www.alumnit.ca/download/wvdial-1.60.tar.gz \ - file://wvdial-vuplus_001.patch;patch=1 \ + file://wvdial-vuplus_001.patch \ + file://wvdial_fileselect.patch \ " DEPENDS = "wvstreams ppp" RDEPENDS_${PN} = "ppp wvstreams" -inherit autotools pkgconfig +inherit autotools-brokensep pkgconfig CFLAGS += " -Wno-write-strings " LDFLAGS = " -L ${CROSS_DIR}/${TARGET_SYS}/usr/lib -luniconf -lwvstreams -lwvbase -lwvutils " diff --git a/meta-openvuplus/recipes-connectivity/wvstream/wvstreams-4.6/vuplus-wvstreams-build-fix_getuid.patch b/meta-openvuplus/recipes-connectivity/wvstream/wvstreams-4.6/vuplus-wvstreams-build-fix_getuid.patch new file mode 100644 index 0000000..8ef08de --- /dev/null +++ b/meta-openvuplus/recipes-connectivity/wvstream/wvstreams-4.6/vuplus-wvstreams-build-fix_getuid.patch @@ -0,0 +1,12 @@ +diff --git a/utils/wvuid.cc b/utils/wvuid.cc +index 7fa1035..709a484 100644 +--- a/utils/wvuid.cc ++++ b/utils/wvuid.cc +@@ -33,6 +33,7 @@ wvuid_t wvgetuid() + + #else // not WIN32 + ++#include + + WvString wv_username_from_uid(wvuid_t uid) + { diff --git a/meta-openvuplus/recipes-connectivity/wvstream/wvstreams_4.6.bb b/meta-openvuplus/recipes-connectivity/wvstream/wvstreams_4.6.bb index 01afd5d..d941fb4 100644 --- a/meta-openvuplus/recipes-connectivity/wvstream/wvstreams_4.6.bb +++ b/meta-openvuplus/recipes-connectivity/wvstream/wvstreams_4.6.bb @@ -7,10 +7,11 @@ DESCRIPTION = "WvStreams is a network programming library in C++" DEPENDS = "zlib openssl (>= 0.9.8)" SRC_URI = "http://wvstreams.googlecode.com/files/${PN}-${PV}.tar.gz \ - file://vuplus-wvstreams-build-fix.patch;patch=1;pnum=1 \ + file://vuplus-wvstreams-build-fix.patch \ + file://vuplus-wvstreams-build-fix_getuid.patch \ " -inherit autotools pkgconfig +inherit autotools-brokensep pkgconfig LDFLAGS_append = " -Wl,-rpath-link,${CROSS_DIR}/${TARGET_SYS}/lib" EXTRA_OECONF = " --without-tcl --without-qt --without-pam " diff --git a/meta-openvuplus/recipes-connectivity/zeroconf/zeroconf_0.9.bbappend b/meta-openvuplus/recipes-connectivity/zeroconf/zeroconf_0.9.bbappend deleted file mode 100644 index 5ee8d24..0000000 --- a/meta-openvuplus/recipes-connectivity/zeroconf/zeroconf_0.9.bbappend +++ /dev/null @@ -1,5 +0,0 @@ -PR .= "-vuplus0" - -do_install_append() { - sed -e 's,^#FALLBACK=yes,FALLBACK=yes,' -i ${D}${sysconfdir}/default/zeroconf -} diff --git a/meta-openvuplus/recipes-core/base-files/base-files/issue b/meta-openvuplus/recipes-core/base-files/base-files/issue deleted file mode 100644 index e69de29..0000000 diff --git a/meta-openvuplus/recipes-core/base-files/base-files/issue.net b/meta-openvuplus/recipes-core/base-files/base-files/issue.net deleted file mode 100644 index e69de29..0000000 diff --git a/meta-openvuplus/recipes-core/base-files/base-files_3.0.14.bbappend b/meta-openvuplus/recipes-core/base-files/base-files_3.0.14.bbappend index c013b36..485253e 100644 --- a/meta-openvuplus/recipes-core/base-files/base-files_3.0.14.bbappend +++ b/meta-openvuplus/recipes-core/base-files/base-files_3.0.14.bbappend @@ -1,14 +1,13 @@ -PR .= "-vuplus6" +PR .= "-vuplus0" do_install_append() { - ln -s media/hdd ${D}/hdd + rm -rf ${D}/hdd + rm -rf ${D}/mnt + ln -sf media/hdd ${D}/hdd + ln -sf media ${D}/mnt - rm -r ${D}/mnt - ln -s media ${D}/mnt - - ln -s var/run ${D}/run + ln -sf var/run ${D}/run } FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0001-ifupdown-support-post-up-pre-down-hooks.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0001-ifupdown-support-post-up-pre-down-hooks.patch deleted file mode 100644 index ae78e6d..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0001-ifupdown-support-post-up-pre-down-hooks.patch +++ /dev/null @@ -1,60 +0,0 @@ -From b58a1a06ca695aed6a4f6e5039e2de0e5a3df111 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Wed, 19 Oct 2011 02:35:54 +0200 -Subject: [PATCH 01/10] ifupdown: support post-up / pre-down hooks - -function old new delta -set_environ 330 371 +41 -ifupdown_main 2156 2194 +38 -iface_up 97 113 +16 -iface_down 97 113 +16 ------------------------------------------------------------------------------- -(add/remove: 0/0 grow/shrink: 4/0 up/down: 111/0) Total: 111 bytes - -Signed-off-by: Peter Korsgaard -Signed-off-by: Denys Vlasenko ---- - networking/ifupdown.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/networking/ifupdown.c b/networking/ifupdown.c -index 3820330..abc6b58 100644 ---- a/networking/ifupdown.c -+++ b/networking/ifupdown.c -@@ -891,6 +891,8 @@ static struct interfaces_file_t *read_interfaces(const char *filename) - if (strcmp(first_word, "up") != 0 - && strcmp(first_word, "down") != 0 - && strcmp(first_word, "pre-up") != 0 -+ && strcmp(first_word, "pre-down") != 0 -+ && strcmp(first_word, "post-up") != 0 - && strcmp(first_word, "post-down") != 0 - ) { - int i; -@@ -987,6 +989,8 @@ static void set_environ(struct interface_defn_t *iface, const char *mode) - if (strcmp(iface->option[i].name, "up") == 0 - || strcmp(iface->option[i].name, "down") == 0 - || strcmp(iface->option[i].name, "pre-up") == 0 -+ || strcmp(iface->option[i].name, "pre-down") == 0 -+ || strcmp(iface->option[i].name, "post-up") == 0 - || strcmp(iface->option[i].name, "post-down") == 0 - ) { - continue; -@@ -1056,6 +1060,7 @@ static int iface_up(struct interface_defn_t *iface) - if (!execute_all(iface, "pre-up")) return 0; - if (!iface->method->up(iface, doit)) return 0; - if (!execute_all(iface, "up")) return 0; -+ if (!execute_all(iface, "post-up")) return 0; - return 1; - } - -@@ -1063,6 +1068,7 @@ static int iface_down(struct interface_defn_t *iface) - { - if (!iface->method->down(iface,check)) return -1; - set_environ(iface, "stop"); -+ if (!execute_all(iface, "pre-down")) return 0; - if (!execute_all(iface, "down")) return 0; - if (!iface->method->down(iface, doit)) return 0; - if (!execute_all(iface, "post-down")) return 0; --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0001-work-around-linux-ext2_fs.h-breakage.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0001-work-around-linux-ext2_fs.h-breakage.patch deleted file mode 100644 index fa2e237..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0001-work-around-linux-ext2_fs.h-breakage.patch +++ /dev/null @@ -1,50 +0,0 @@ -From caf5768154301697430f0a3718838967d0f55f95 Mon Sep 17 00:00:00 2001 -From: Denys Vlasenko -Date: Thu, 12 Apr 2012 14:01:10 +0200 -Subject: [PATCH 01/33] work around linux/ext2_fs.h breakage - -See https://bugzilla.kernel.org/show_bug.cgi?id=42986 - -Signed-off-by: Denys Vlasenko ---- - e2fsprogs/tune2fs.c | 6 ++++++ - util-linux/mkfs_ext2.c | 6 ++++++ - 2 files changed, 12 insertions(+) - -diff --git a/e2fsprogs/tune2fs.c b/e2fsprogs/tune2fs.c -index 020bdaa..8da7432 100644 ---- a/e2fsprogs/tune2fs.c -+++ b/e2fsprogs/tune2fs.c -@@ -8,6 +8,12 @@ - */ - #include "libbb.h" - #include -+/* -+ * Work around linux/ext2_fs.h breakage. -+ * See https://bugzilla.kernel.org/show_bug.cgi?id=42986. -+ */ -+typedef mode_t bb__umode_t; -+#define umode_t bb__umode_t - #include - - // storage helpers -diff --git a/util-linux/mkfs_ext2.c b/util-linux/mkfs_ext2.c -index 6cbbe0e..759bb0a 100644 ---- a/util-linux/mkfs_ext2.c -+++ b/util-linux/mkfs_ext2.c -@@ -48,6 +48,12 @@ - - #include "libbb.h" - #include -+/* -+ * Work around linux/ext2_fs.h breakage. -+ * See https://bugzilla.kernel.org/show_bug.cgi?id=42986. -+ */ -+typedef mode_t bb__umode_t; -+#define umode_t bb__umode_t - #include - - #define ENABLE_FEATURE_MKFS_EXT2_RESERVED_GDT 0 --- -1.7.9.5 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0002-Create-and-use-our-own-copy-of-linux-ext2_fs.h.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0002-Create-and-use-our-own-copy-of-linux-ext2_fs.h.patch deleted file mode 100644 index f9de87f..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0002-Create-and-use-our-own-copy-of-linux-ext2_fs.h.patch +++ /dev/null @@ -1,607 +0,0 @@ -From 0b2b0f31a38d77ebfb2a6416011562687ef58191 Mon Sep 17 00:00:00 2001 -From: Denys Vlasenko -Date: Fri, 13 Apr 2012 16:39:18 +0200 -Subject: [PATCH 01/32] Create and use our own copy of linux/ext2_fs.h - -Signed-off-by: Denys Vlasenko ---- - e2fsprogs/tune2fs.c | 8 +- - include/bb_linux_ext2_fs.h | 547 ++++++++++++++++++++++++++++++++++++++++++++ - util-linux/mkfs_ext2.c | 8 +- - 3 files changed, 549 insertions(+), 14 deletions(-) - create mode 100644 include/bb_linux_ext2_fs.h - -diff --git a/e2fsprogs/tune2fs.c b/e2fsprogs/tune2fs.c -index 8da7432..841d58a 100644 ---- a/e2fsprogs/tune2fs.c -+++ b/e2fsprogs/tune2fs.c -@@ -8,13 +8,7 @@ - */ - #include "libbb.h" - #include --/* -- * Work around linux/ext2_fs.h breakage. -- * See https://bugzilla.kernel.org/show_bug.cgi?id=42986. -- */ --typedef mode_t bb__umode_t; --#define umode_t bb__umode_t --#include -+#include "bb_linux_ext2_fs.h" - - // storage helpers - char BUG_wrong_field_size(void); -diff --git a/include/bb_linux_ext2_fs.h b/include/bb_linux_ext2_fs.h -new file mode 100644 -index 0000000..fdc470b ---- /dev/null -+++ b/include/bb_linux_ext2_fs.h -@@ -0,0 +1,547 @@ -+/* -+ * Work around linux/ext2_fs.h breakage. -+ * linux/ext2_fs.h might be removed from future kernel header distribution. -+ * See https://bugzilla.kernel.org/show_bug.cgi?id=42986 -+ * -+ * Licensed under GPLv2, see file LICENSE in this source tree. -+ */ -+#ifndef BB_LINUX_EXT2_FS_H -+#define BB_LINUX_EXT2_FS_H -+ -+/* -+ * From linux/magic.h -+ */ -+ -+#define EXT2_SUPER_MAGIC 0xEF53 -+#define EXT3_SUPER_MAGIC 0xEF53 -+#define EXT4_SUPER_MAGIC 0xEF53 -+ -+/* -+ * From linux/ext2_fs.h, with minor changes. -+ */ -+ -+/* -+ * Copyright (C) 1992, 1993, 1994, 1995 -+ * Remy Card (card@masi.ibp.fr) -+ * Laboratoire MASI - Institut Blaise Pascal -+ * Universite Pierre et Marie Curie (Paris VI) -+ * -+ * from -+ * -+ * linux/include/linux/minix_fs.h -+ * -+ * Copyright (C) 1991, 1992 Linus Torvalds -+ */ -+ -+/* -+ * The second extended filesystem constants/structures -+ */ -+ -+/* -+ * Define EXT2_RESERVATION to reserve data blocks for expanding files -+ */ -+#define EXT2_DEFAULT_RESERVE_BLOCKS 8 -+/*max window size: 1024(direct blocks) + 3([t,d]indirect blocks) */ -+#define EXT2_MAX_RESERVE_BLOCKS 1027 -+#define EXT2_RESERVE_WINDOW_NOT_ALLOCATED 0 -+ -+/* -+ * Special inode numbers -+ */ -+#define EXT2_BAD_INO 1 /* Bad blocks inode */ -+#define EXT2_ROOT_INO 2 /* Root inode */ -+#define EXT2_BOOT_LOADER_INO 5 /* Boot loader inode */ -+#define EXT2_UNDEL_DIR_INO 6 /* Undelete directory inode */ -+ -+/* First non-reserved inode for old ext2 filesystems */ -+#define EXT2_GOOD_OLD_FIRST_INO 11 -+ -+/* Assume that user mode programs are passing in an ext2fs superblock, not -+ * a kernel struct super_block. This will allow us to call the feature-test -+ * macros from user land. */ -+#define EXT2_SB(sb) (sb) -+ -+/* -+ * Maximal count of links to a file -+ */ -+#define EXT2_LINK_MAX 32000 -+ -+/* -+ * Macro-instructions used to manage several block sizes -+ */ -+#define EXT2_MIN_BLOCK_SIZE 1024 -+#define EXT2_MAX_BLOCK_SIZE 4096 -+#define EXT2_MIN_BLOCK_LOG_SIZE 10 -+# define EXT2_BLOCK_SIZE(s) (EXT2_MIN_BLOCK_SIZE << (s)->s_log_block_size) -+#define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (uint32_t)) -+# define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10) -+#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ -+ EXT2_GOOD_OLD_INODE_SIZE : \ -+ (s)->s_inode_size) -+#define EXT2_FIRST_INO(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ -+ EXT2_GOOD_OLD_FIRST_INO : \ -+ (s)->s_first_ino) -+ -+/* -+ * Macro-instructions used to manage fragments -+ */ -+#define EXT2_MIN_FRAG_SIZE 1024 -+#define EXT2_MAX_FRAG_SIZE 4096 -+#define EXT2_MIN_FRAG_LOG_SIZE 10 -+# define EXT2_FRAG_SIZE(s) (EXT2_MIN_FRAG_SIZE << (s)->s_log_frag_size) -+# define EXT2_FRAGS_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / EXT2_FRAG_SIZE(s)) -+ -+/* -+ * Structure of a blocks group descriptor -+ */ -+struct ext2_group_desc -+{ -+ uint32_t bg_block_bitmap; /* Blocks bitmap block */ -+ uint32_t bg_inode_bitmap; /* Inodes bitmap block */ -+ uint32_t bg_inode_table; /* Inodes table block */ -+ uint16_t bg_free_blocks_count; /* Free blocks count */ -+ uint16_t bg_free_inodes_count; /* Free inodes count */ -+ uint16_t bg_used_dirs_count; /* Directories count */ -+ uint16_t bg_pad; -+ uint32_t bg_reserved[3]; -+}; -+ -+/* -+ * Macro-instructions used to manage group descriptors -+ */ -+# define EXT2_BLOCKS_PER_GROUP(s) ((s)->s_blocks_per_group) -+# define EXT2_DESC_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc)) -+# define EXT2_INODES_PER_GROUP(s) ((s)->s_inodes_per_group) -+ -+/* -+ * Constants relative to the data blocks -+ */ -+#define EXT2_NDIR_BLOCKS 12 -+#define EXT2_IND_BLOCK EXT2_NDIR_BLOCKS -+#define EXT2_DIND_BLOCK (EXT2_IND_BLOCK + 1) -+#define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1) -+#define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1) -+ -+/* -+ * Inode flags (GETFLAGS/SETFLAGS) -+ */ -+#define EXT2_SECRM_FL FS_SECRM_FL /* Secure deletion */ -+#define EXT2_UNRM_FL FS_UNRM_FL /* Undelete */ -+#define EXT2_COMPR_FL FS_COMPR_FL /* Compress file */ -+#define EXT2_SYNC_FL FS_SYNC_FL /* Synchronous updates */ -+#define EXT2_IMMUTABLE_FL FS_IMMUTABLE_FL /* Immutable file */ -+#define EXT2_APPEND_FL FS_APPEND_FL /* writes to file may only append */ -+#define EXT2_NODUMP_FL FS_NODUMP_FL /* do not dump file */ -+#define EXT2_NOATIME_FL FS_NOATIME_FL /* do not update atime */ -+/* Reserved for compression usage... */ -+#define EXT2_DIRTY_FL FS_DIRTY_FL -+#define EXT2_COMPRBLK_FL FS_COMPRBLK_FL /* One or more compressed clusters */ -+#define EXT2_NOCOMP_FL FS_NOCOMP_FL /* Don't compress */ -+#define EXT2_ECOMPR_FL FS_ECOMPR_FL /* Compression error */ -+/* End compression flags --- maybe not all used */ -+#define EXT2_BTREE_FL FS_BTREE_FL /* btree format dir */ -+#define EXT2_INDEX_FL FS_INDEX_FL /* hash-indexed directory */ -+#define EXT2_IMAGIC_FL FS_IMAGIC_FL /* AFS directory */ -+#define EXT2_JOURNAL_DATA_FL FS_JOURNAL_DATA_FL /* Reserved for ext3 */ -+#define EXT2_NOTAIL_FL FS_NOTAIL_FL /* file tail should not be merged */ -+#define EXT2_DIRSYNC_FL FS_DIRSYNC_FL /* dirsync behaviour (directories only) */ -+#define EXT2_TOPDIR_FL FS_TOPDIR_FL /* Top of directory hierarchies*/ -+#define EXT2_RESERVED_FL FS_RESERVED_FL /* reserved for ext2 lib */ -+ -+#define EXT2_FL_USER_VISIBLE FS_FL_USER_VISIBLE /* User visible flags */ -+#define EXT2_FL_USER_MODIFIABLE FS_FL_USER_MODIFIABLE /* User modifiable flags */ -+ -+/* Flags that should be inherited by new inodes from their parent. */ -+#define EXT2_FL_INHERITED (EXT2_SECRM_FL | EXT2_UNRM_FL | EXT2_COMPR_FL |\ -+ EXT2_SYNC_FL | EXT2_IMMUTABLE_FL | EXT2_APPEND_FL |\ -+ EXT2_NODUMP_FL | EXT2_NOATIME_FL | EXT2_COMPRBLK_FL|\ -+ EXT2_NOCOMP_FL | EXT2_JOURNAL_DATA_FL |\ -+ EXT2_NOTAIL_FL | EXT2_DIRSYNC_FL) -+ -+/* Flags that are appropriate for regular files (all but dir-specific ones). */ -+#define EXT2_REG_FLMASK (~(EXT2_DIRSYNC_FL | EXT2_TOPDIR_FL)) -+ -+/* Flags that are appropriate for non-directories/regular files. */ -+#define EXT2_OTHER_FLMASK (EXT2_NODUMP_FL | EXT2_NOATIME_FL) -+ -+/* Mask out flags that are inappropriate for the given type of inode. */ -+static inline uint32_t ext2_mask_flags(mode_t mode, uint32_t flags) -+{ -+ if (S_ISDIR(mode)) -+ return flags; -+ else if (S_ISREG(mode)) -+ return flags & EXT2_REG_FLMASK; -+ else -+ return flags & EXT2_OTHER_FLMASK; -+} -+ -+/* -+ * ioctl commands -+ */ -+#define EXT2_IOC_GETFLAGS FS_IOC_GETFLAGS -+#define EXT2_IOC_SETFLAGS FS_IOC_SETFLAGS -+#define EXT2_IOC_GETVERSION FS_IOC_GETVERSION -+#define EXT2_IOC_SETVERSION FS_IOC_SETVERSION -+#define EXT2_IOC_GETRSVSZ _IOR('f', 5, long) -+#define EXT2_IOC_SETRSVSZ _IOW('f', 6, long) -+ -+/* -+ * ioctl commands in 32 bit emulation -+ */ -+#define EXT2_IOC32_GETFLAGS FS_IOC32_GETFLAGS -+#define EXT2_IOC32_SETFLAGS FS_IOC32_SETFLAGS -+#define EXT2_IOC32_GETVERSION FS_IOC32_GETVERSION -+#define EXT2_IOC32_SETVERSION FS_IOC32_SETVERSION -+ -+/* -+ * Structure of an inode on the disk -+ */ -+struct ext2_inode { -+ uint16_t i_mode; /* File mode */ -+ uint16_t i_uid; /* Low 16 bits of Owner Uid */ -+ uint32_t i_size; /* Size in bytes */ -+ uint32_t i_atime; /* Access time */ -+ uint32_t i_ctime; /* Creation time */ -+ uint32_t i_mtime; /* Modification time */ -+ uint32_t i_dtime; /* Deletion Time */ -+ uint16_t i_gid; /* Low 16 bits of Group Id */ -+ uint16_t i_links_count; /* Links count */ -+ uint32_t i_blocks; /* Blocks count */ -+ uint32_t i_flags; /* File flags */ -+ union { -+ struct { -+ uint32_t l_i_reserved1; -+ } linux1; -+ struct { -+ uint32_t h_i_translator; -+ } hurd1; -+ struct { -+ uint32_t m_i_reserved1; -+ } masix1; -+ } osd1; /* OS dependent 1 */ -+ uint32_t i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ -+ uint32_t i_generation; /* File version (for NFS) */ -+ uint32_t i_file_acl; /* File ACL */ -+ uint32_t i_dir_acl; /* Directory ACL */ -+ uint32_t i_faddr; /* Fragment address */ -+ union { -+ struct { -+ uint8_t l_i_frag; /* Fragment number */ -+ uint8_t l_i_fsize; /* Fragment size */ -+ uint16_t i_pad1; -+ uint16_t l_i_uid_high; /* these 2 fields */ -+ uint16_t l_i_gid_high; /* were reserved2[0] */ -+ uint32_t l_i_reserved2; -+ } linux2; -+ struct { -+ uint8_t h_i_frag; /* Fragment number */ -+ uint8_t h_i_fsize; /* Fragment size */ -+ uint16_t h_i_mode_high; -+ uint16_t h_i_uid_high; -+ uint16_t h_i_gid_high; -+ uint32_t h_i_author; -+ } hurd2; -+ struct { -+ uint8_t m_i_frag; /* Fragment number */ -+ uint8_t m_i_fsize; /* Fragment size */ -+ uint16_t m_pad1; -+ uint32_t m_i_reserved2[2]; -+ } masix2; -+ } osd2; /* OS dependent 2 */ -+}; -+ -+#define i_size_high i_dir_acl -+ -+#if defined(__KERNEL__) || defined(__linux__) -+#define i_reserved1 osd1.linux1.l_i_reserved1 -+#define i_frag osd2.linux2.l_i_frag -+#define i_fsize osd2.linux2.l_i_fsize -+#define i_uid_low i_uid -+#define i_gid_low i_gid -+#define i_uid_high osd2.linux2.l_i_uid_high -+#define i_gid_high osd2.linux2.l_i_gid_high -+#define i_reserved2 osd2.linux2.l_i_reserved2 -+#endif -+ -+#ifdef __hurd__ -+#define i_translator osd1.hurd1.h_i_translator -+#define i_frag osd2.hurd2.h_i_frag -+#define i_fsize osd2.hurd2.h_i_fsize -+#define i_uid_high osd2.hurd2.h_i_uid_high -+#define i_gid_high osd2.hurd2.h_i_gid_high -+#define i_author osd2.hurd2.h_i_author -+#endif -+ -+#ifdef __masix__ -+#define i_reserved1 osd1.masix1.m_i_reserved1 -+#define i_frag osd2.masix2.m_i_frag -+#define i_fsize osd2.masix2.m_i_fsize -+#define i_reserved2 osd2.masix2.m_i_reserved2 -+#endif -+ -+/* -+ * File system states -+ */ -+#define EXT2_VALID_FS 0x0001 /* Unmounted cleanly */ -+#define EXT2_ERROR_FS 0x0002 /* Errors detected */ -+ -+/* -+ * Mount flags -+ */ -+#define EXT2_MOUNT_CHECK 0x000001 /* Do mount-time checks */ -+#define EXT2_MOUNT_OLDALLOC 0x000002 /* Don't use the new Orlov allocator */ -+#define EXT2_MOUNT_GRPID 0x000004 /* Create files with directory's group */ -+#define EXT2_MOUNT_DEBUG 0x000008 /* Some debugging messages */ -+#define EXT2_MOUNT_ERRORS_CONT 0x000010 /* Continue on errors */ -+#define EXT2_MOUNT_ERRORS_RO 0x000020 /* Remount fs ro on errors */ -+#define EXT2_MOUNT_ERRORS_PANIC 0x000040 /* Panic on errors */ -+#define EXT2_MOUNT_MINIX_DF 0x000080 /* Mimics the Minix statfs */ -+#define EXT2_MOUNT_NOBH 0x000100 /* No buffer_heads */ -+#define EXT2_MOUNT_NO_UID32 0x000200 /* Disable 32-bit UIDs */ -+#define EXT2_MOUNT_XATTR_USER 0x004000 /* Extended user attributes */ -+#define EXT2_MOUNT_POSIX_ACL 0x008000 /* POSIX Access Control Lists */ -+#define EXT2_MOUNT_XIP 0x010000 /* Execute in place */ -+#define EXT2_MOUNT_USRQUOTA 0x020000 /* user quota */ -+#define EXT2_MOUNT_GRPQUOTA 0x040000 /* group quota */ -+#define EXT2_MOUNT_RESERVATION 0x080000 /* Preallocation */ -+ -+ -+#define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt -+#define set_opt(o, opt) o |= EXT2_MOUNT_##opt -+#define test_opt(sb, opt) (EXT2_SB(sb)->s_mount_opt & \ -+ EXT2_MOUNT_##opt) -+/* -+ * Maximal mount counts between two filesystem checks -+ */ -+#define EXT2_DFL_MAX_MNT_COUNT 20 /* Allow 20 mounts */ -+#define EXT2_DFL_CHECKINTERVAL 0 /* Don't use interval check */ -+ -+/* -+ * Behaviour when detecting errors -+ */ -+#define EXT2_ERRORS_CONTINUE 1 /* Continue execution */ -+#define EXT2_ERRORS_RO 2 /* Remount fs read-only */ -+#define EXT2_ERRORS_PANIC 3 /* Panic */ -+#define EXT2_ERRORS_DEFAULT EXT2_ERRORS_CONTINUE -+ -+/* -+ * Structure of the super block -+ */ -+struct ext2_super_block { -+ uint32_t s_inodes_count; /* Inodes count */ -+ uint32_t s_blocks_count; /* Blocks count */ -+ uint32_t s_r_blocks_count; /* Reserved blocks count */ -+ uint32_t s_free_blocks_count; /* Free blocks count */ -+ uint32_t s_free_inodes_count; /* Free inodes count */ -+ uint32_t s_first_data_block; /* First Data Block */ -+ uint32_t s_log_block_size; /* Block size */ -+ uint32_t s_log_frag_size; /* Fragment size */ -+ uint32_t s_blocks_per_group; /* # Blocks per group */ -+ uint32_t s_frags_per_group; /* # Fragments per group */ -+ uint32_t s_inodes_per_group; /* # Inodes per group */ -+ uint32_t s_mtime; /* Mount time */ -+ uint32_t s_wtime; /* Write time */ -+ uint16_t s_mnt_count; /* Mount count */ -+ uint16_t s_max_mnt_count; /* Maximal mount count */ -+ uint16_t s_magic; /* Magic signature */ -+ uint16_t s_state; /* File system state */ -+ uint16_t s_errors; /* Behaviour when detecting errors */ -+ uint16_t s_minor_rev_level; /* minor revision level */ -+ uint32_t s_lastcheck; /* time of last check */ -+ uint32_t s_checkinterval; /* max. time between checks */ -+ uint32_t s_creator_os; /* OS */ -+ uint32_t s_rev_level; /* Revision level */ -+ uint16_t s_def_resuid; /* Default uid for reserved blocks */ -+ uint16_t s_def_resgid; /* Default gid for reserved blocks */ -+ /* -+ * These fields are for EXT2_DYNAMIC_REV superblocks only. -+ * -+ * Note: the difference between the compatible feature set and -+ * the incompatible feature set is that if there is a bit set -+ * in the incompatible feature set that the kernel doesn't -+ * know about, it should refuse to mount the filesystem. -+ * -+ * e2fsck's requirements are more strict; if it doesn't know -+ * about a feature in either the compatible or incompatible -+ * feature set, it must abort and not try to meddle with -+ * things it doesn't understand... -+ */ -+ uint32_t s_first_ino; /* First non-reserved inode */ -+ uint16_t s_inode_size; /* size of inode structure */ -+ uint16_t s_block_group_nr; /* block group # of this superblock */ -+ uint32_t s_feature_compat; /* compatible feature set */ -+ uint32_t s_feature_incompat; /* incompatible feature set */ -+ uint32_t s_feature_ro_compat; /* readonly-compatible feature set */ -+ uint8_t s_uuid[16]; /* 128-bit uuid for volume */ -+ char s_volume_name[16]; /* volume name */ -+ char s_last_mounted[64]; /* directory where last mounted */ -+ uint32_t s_algorithm_usage_bitmap; /* For compression */ -+ /* -+ * Performance hints. Directory preallocation should only -+ * happen if the EXT2_COMPAT_PREALLOC flag is on. -+ */ -+ uint8_t s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ -+ uint8_t s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ -+ uint16_t s_padding1; -+ /* -+ * Journaling support valid if EXT3_FEATURE_COMPAT_HAS_JOURNAL set. -+ */ -+ uint8_t s_journal_uuid[16]; /* uuid of journal superblock */ -+ uint32_t s_journal_inum; /* inode number of journal file */ -+ uint32_t s_journal_dev; /* device number of journal file */ -+ uint32_t s_last_orphan; /* start of list of inodes to delete */ -+ uint32_t s_hash_seed[4]; /* HTREE hash seed */ -+ uint8_t s_def_hash_version; /* Default hash version to use */ -+ uint8_t s_reserved_char_pad; -+ uint16_t s_reserved_word_pad; -+ uint32_t s_default_mount_opts; -+ uint32_t s_first_meta_bg; /* First metablock block group */ -+ uint32_t s_reserved[190]; /* Padding to the end of the block */ -+}; -+ -+/* -+ * Codes for operating systems -+ */ -+#define EXT2_OS_LINUX 0 -+#define EXT2_OS_HURD 1 -+#define EXT2_OS_MASIX 2 -+#define EXT2_OS_FREEBSD 3 -+#define EXT2_OS_LITES 4 -+ -+/* -+ * Revision levels -+ */ -+#define EXT2_GOOD_OLD_REV 0 /* The good old (original) format */ -+#define EXT2_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */ -+ -+#define EXT2_CURRENT_REV EXT2_GOOD_OLD_REV -+#define EXT2_MAX_SUPP_REV EXT2_DYNAMIC_REV -+ -+#define EXT2_GOOD_OLD_INODE_SIZE 128 -+ -+/* -+ * Feature set definitions -+ */ -+ -+#define EXT2_HAS_COMPAT_FEATURE(sb,mask) \ -+ ( EXT2_SB(sb)->s_es->s_feature_compat & cpu_to_le32(mask) ) -+#define EXT2_HAS_RO_COMPAT_FEATURE(sb,mask) \ -+ ( EXT2_SB(sb)->s_es->s_feature_ro_compat & cpu_to_le32(mask) ) -+#define EXT2_HAS_INCOMPAT_FEATURE(sb,mask) \ -+ ( EXT2_SB(sb)->s_es->s_feature_incompat & cpu_to_le32(mask) ) -+#define EXT2_SET_COMPAT_FEATURE(sb,mask) \ -+ EXT2_SB(sb)->s_es->s_feature_compat |= cpu_to_le32(mask) -+#define EXT2_SET_RO_COMPAT_FEATURE(sb,mask) \ -+ EXT2_SB(sb)->s_es->s_feature_ro_compat |= cpu_to_le32(mask) -+#define EXT2_SET_INCOMPAT_FEATURE(sb,mask) \ -+ EXT2_SB(sb)->s_es->s_feature_incompat |= cpu_to_le32(mask) -+#define EXT2_CLEAR_COMPAT_FEATURE(sb,mask) \ -+ EXT2_SB(sb)->s_es->s_feature_compat &= ~cpu_to_le32(mask) -+#define EXT2_CLEAR_RO_COMPAT_FEATURE(sb,mask) \ -+ EXT2_SB(sb)->s_es->s_feature_ro_compat &= ~cpu_to_le32(mask) -+#define EXT2_CLEAR_INCOMPAT_FEATURE(sb,mask) \ -+ EXT2_SB(sb)->s_es->s_feature_incompat &= ~cpu_to_le32(mask) -+ -+#define EXT2_FEATURE_COMPAT_DIR_PREALLOC 0x0001 -+#define EXT2_FEATURE_COMPAT_IMAGIC_INODES 0x0002 -+#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004 -+#define EXT2_FEATURE_COMPAT_EXT_ATTR 0x0008 -+#define EXT2_FEATURE_COMPAT_RESIZE_INO 0x0010 -+#define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020 -+#define EXT2_FEATURE_COMPAT_ANY 0xffffffff -+ -+#define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001 -+#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 -+#define EXT2_FEATURE_RO_COMPAT_BTREE_DIR 0x0004 -+#define EXT2_FEATURE_RO_COMPAT_ANY 0xffffffff -+ -+#define EXT2_FEATURE_INCOMPAT_COMPRESSION 0x0001 -+#define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002 -+#define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004 -+#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008 -+#define EXT2_FEATURE_INCOMPAT_META_BG 0x0010 -+#define EXT2_FEATURE_INCOMPAT_ANY 0xffffffff -+ -+#define EXT2_FEATURE_COMPAT_SUPP EXT2_FEATURE_COMPAT_EXT_ATTR -+#define EXT2_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE| \ -+ EXT2_FEATURE_INCOMPAT_META_BG) -+#define EXT2_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \ -+ EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \ -+ EXT2_FEATURE_RO_COMPAT_BTREE_DIR) -+#define EXT2_FEATURE_RO_COMPAT_UNSUPPORTED ~EXT2_FEATURE_RO_COMPAT_SUPP -+#define EXT2_FEATURE_INCOMPAT_UNSUPPORTED ~EXT2_FEATURE_INCOMPAT_SUPP -+ -+/* -+ * Default values for user and/or group using reserved blocks -+ */ -+#define EXT2_DEF_RESUID 0 -+#define EXT2_DEF_RESGID 0 -+ -+/* -+ * Default mount options -+ */ -+#define EXT2_DEFM_DEBUG 0x0001 -+#define EXT2_DEFM_BSDGROUPS 0x0002 -+#define EXT2_DEFM_XATTR_USER 0x0004 -+#define EXT2_DEFM_ACL 0x0008 -+#define EXT2_DEFM_UID16 0x0010 -+ /* Not used by ext2, but reserved for use by ext3 */ -+#define EXT3_DEFM_JMODE 0x0060 -+#define EXT3_DEFM_JMODE_DATA 0x0020 -+#define EXT3_DEFM_JMODE_ORDERED 0x0040 -+#define EXT3_DEFM_JMODE_WBACK 0x0060 -+ -+/* -+ * Structure of a directory entry -+ */ -+#define EXT2_NAME_LEN 255 -+ -+struct ext2_dir_entry { -+ uint32_t inode; /* Inode number */ -+ uint16_t rec_len; /* Directory entry length */ -+ uint16_t name_len; /* Name length */ -+ char name[EXT2_NAME_LEN]; /* File name */ -+}; -+ -+/* -+ * The new version of the directory entry. Since EXT2 structures are -+ * stored in intel byte order, and the name_len field could never be -+ * bigger than 255 chars, it's safe to reclaim the extra byte for the -+ * file_type field. -+ */ -+struct ext2_dir_entry_2 { -+ uint32_t inode; /* Inode number */ -+ uint16_t rec_len; /* Directory entry length */ -+ uint8_t name_len; /* Name length */ -+ uint8_t file_type; -+ char name[EXT2_NAME_LEN]; /* File name */ -+}; -+ -+/* -+ * Ext2 directory file types. Only the low 3 bits are used. The -+ * other bits are reserved for now. -+ */ -+enum { -+ EXT2_FT_UNKNOWN = 0, -+ EXT2_FT_REG_FILE = 1, -+ EXT2_FT_DIR = 2, -+ EXT2_FT_CHRDEV = 3, -+ EXT2_FT_BLKDEV = 4, -+ EXT2_FT_FIFO = 5, -+ EXT2_FT_SOCK = 6, -+ EXT2_FT_SYMLINK = 7, -+ EXT2_FT_MAX -+}; -+ -+/* -+ * EXT2_DIR_PAD defines the directory entries boundaries -+ * -+ * NOTE: It must be a multiple of 4 -+ */ -+#define EXT2_DIR_PAD 4 -+#define EXT2_DIR_ROUND (EXT2_DIR_PAD - 1) -+#define EXT2_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT2_DIR_ROUND) & \ -+ ~EXT2_DIR_ROUND) -+#define EXT2_MAX_REC_LEN ((1<<16)-1) -+ -+#endif -diff --git a/util-linux/mkfs_ext2.c b/util-linux/mkfs_ext2.c -index 759bb0a..2d9d720 100644 ---- a/util-linux/mkfs_ext2.c -+++ b/util-linux/mkfs_ext2.c -@@ -48,13 +48,7 @@ - - #include "libbb.h" - #include --/* -- * Work around linux/ext2_fs.h breakage. -- * See https://bugzilla.kernel.org/show_bug.cgi?id=42986. -- */ --typedef mode_t bb__umode_t; --#define umode_t bb__umode_t --#include -+#include "bb_linux_ext2_fs.h" - - #define ENABLE_FEATURE_MKFS_EXT2_RESERVED_GDT 0 - #define ENABLE_FEATURE_MKFS_EXT2_DIR_INDEX 1 --- -1.7.9.5 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0002-ifupdown-code-shrink.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0002-ifupdown-code-shrink.patch deleted file mode 100644 index 2d9d695..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0002-ifupdown-code-shrink.patch +++ /dev/null @@ -1,122 +0,0 @@ -From e5221a142e8ee4509734c17584f898a1f4ac86cc Mon Sep 17 00:00:00 2001 -From: Denys Vlasenko -Date: Wed, 19 Oct 2011 02:37:08 +0200 -Subject: [PATCH 02/10] ifupdown: code shrink - -function old new delta -keywords_up_down - 43 +43 -set_environ 371 259 -112 -ifupdown_main 2194 2073 -121 ------------------------------------------------------------------------------- -(add/remove: 1/0 grow/shrink: 0/2 up/down: 43/-233) Total: -190 bytes - -Signed-off-by: Denys Vlasenko ---- - networking/ifupdown.c | 42 +++++++++++++++--------------------------- - 1 file changed, 15 insertions(+), 27 deletions(-) - -diff --git a/networking/ifupdown.c b/networking/ifupdown.c -index abc6b58..5946323 100644 ---- a/networking/ifupdown.c -+++ b/networking/ifupdown.c -@@ -87,7 +87,6 @@ struct mapping_defn_t { - - char *script; - -- int max_mappings; - int n_mappings; - char **mapping; - }; -@@ -102,7 +101,6 @@ struct interface_defn_t { - const struct method_t *method; - - char *iface; -- int max_options; - int n_options; - struct variable_t *option; - }; -@@ -138,6 +136,16 @@ struct globals { - #define INIT_G() do { } while (0) - - -+static const char keywords_up_down[] ALIGN1 = -+ "up\0" -+ "down\0" -+ "pre-up\0" -+ "pre-down\0" -+ "post-up\0" -+ "post-down\0" -+; -+ -+ - #if ENABLE_FEATURE_IFUPDOWN_IPV4 || ENABLE_FEATURE_IFUPDOWN_IPV6 - - static void addstr(char **bufp, const char *str, size_t str_length) -@@ -803,7 +811,6 @@ static struct interfaces_file_t *read_interfaces(const char *filename) - currmap->match = xrealloc_vector(currmap->match, 4, currmap->n_matches); - currmap->match[currmap->n_matches++] = xstrdup(first_word); - } -- /*currmap->max_mappings = 0; - done by xzalloc */ - /*currmap->n_mappings = 0;*/ - /*currmap->mapping = NULL;*/ - /*currmap->script = NULL;*/ -@@ -888,25 +895,16 @@ static struct interfaces_file_t *read_interfaces(const char *filename) - if (rest_of_line[0] == '\0') - bb_error_msg_and_die("option with empty value \"%s\"", buf); - -- if (strcmp(first_word, "up") != 0 -- && strcmp(first_word, "down") != 0 -- && strcmp(first_word, "pre-up") != 0 -- && strcmp(first_word, "pre-down") != 0 -- && strcmp(first_word, "post-up") != 0 -- && strcmp(first_word, "post-down") != 0 -- ) { -+ /* If not one of "up", "down",... words... */ -+ if (index_in_strings(keywords_up_down, first_word) < 0) { - int i; - for (i = 0; i < currif->n_options; i++) { - if (strcmp(currif->option[i].name, first_word) == 0) - bb_error_msg_and_die("duplicate option \"%s\"", buf); - } - } -- if (currif->n_options >= currif->max_options) { -- currif->max_options += 10; -- currif->option = xrealloc(currif->option, -- sizeof(*currif->option) * currif->max_options); -- } - debug_noise("\t%s=%s\n", first_word, rest_of_line); -+ currif->option = xrealloc_vector(currif->option, 4, currif->n_options); - currif->option[currif->n_options].name = xstrdup(first_word); - currif->option[currif->n_options].value = xstrdup(rest_of_line); - currif->n_options++; -@@ -918,11 +916,7 @@ static struct interfaces_file_t *read_interfaces(const char *filename) - bb_error_msg_and_die("duplicate script in mapping \"%s\"", buf); - currmap->script = xstrdup(next_word(&rest_of_line)); - } else if (strcmp(first_word, "map") == 0) { -- if (currmap->n_mappings >= currmap->max_mappings) { -- currmap->max_mappings = currmap->max_mappings * 2 + 1; -- currmap->mapping = xrealloc(currmap->mapping, -- sizeof(char *) * currmap->max_mappings); -- } -+ currmap->mapping = xrealloc_vector(currmap->mapping, 2, currmap->n_mappings); - currmap->mapping[currmap->n_mappings] = xstrdup(next_word(&rest_of_line)); - currmap->n_mappings++; - } else { -@@ -986,13 +980,7 @@ static void set_environ(struct interface_defn_t *iface, const char *mode) - pp = G.my_environ; - - for (i = 0; i < iface->n_options; i++) { -- if (strcmp(iface->option[i].name, "up") == 0 -- || strcmp(iface->option[i].name, "down") == 0 -- || strcmp(iface->option[i].name, "pre-up") == 0 -- || strcmp(iface->option[i].name, "pre-down") == 0 -- || strcmp(iface->option[i].name, "post-up") == 0 -- || strcmp(iface->option[i].name, "post-down") == 0 -- ) { -+ if (index_in_strings(keywords_up_down, iface->option[i].name) >= 0) { - continue; - } - *pp++ = setlocalenv("IF_%s=%s", iface->option[i].name, iface->option[i].value); --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0003-Drop-include-bb_linux_ext2_fs.h-use-existing-e2fspro.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0003-Drop-include-bb_linux_ext2_fs.h-use-existing-e2fspro.patch deleted file mode 100644 index 2a3b21b..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0003-Drop-include-bb_linux_ext2_fs.h-use-existing-e2fspro.patch +++ /dev/null @@ -1,1877 +0,0 @@ -From 176bc344751dfc41e87976182381ae0560c94f22 Mon Sep 17 00:00:00 2001 -From: Denys Vlasenko -Date: Tue, 17 Apr 2012 15:06:55 +0200 -Subject: [PATCH 04/32] Drop include/bb_linux_ext2_fs.h, use existing - e2fsprogs/e2fs_defs.h - -Signed-off-by: Denys Vlasenko ---- - e2fsprogs/e2fs_defs.h | 561 --------------------------- - e2fsprogs/e2fs_lib.h | 2 +- - e2fsprogs/old_e2fsprogs/e2fsck.c | 6 +- - e2fsprogs/old_e2fsprogs/e2p/feature.c | 2 +- - e2fsprogs/old_e2fsprogs/ext2fs/ext2_fs.h | 2 +- - e2fsprogs/old_e2fsprogs/ext2fs/ext2fs.h | 2 +- - e2fsprogs/old_e2fsprogs/ext2fs/initialize.c | 2 +- - e2fsprogs/old_e2fsprogs/mke2fs.c | 8 +- - e2fsprogs/tune2fs.c | 2 +- - include/bb_e2fs_defs.h | 561 +++++++++++++++++++++++++++ - include/bb_linux_ext2_fs.h | 547 -------------------------- - util-linux/mkfs_ext2.c | 2 +- - 12 files changed, 575 insertions(+), 1122 deletions(-) - delete mode 100644 e2fsprogs/e2fs_defs.h - create mode 100644 include/bb_e2fs_defs.h - delete mode 100644 include/bb_linux_ext2_fs.h - -diff --git a/e2fsprogs/e2fs_defs.h b/e2fsprogs/e2fs_defs.h -deleted file mode 100644 -index 379640e..0000000 ---- a/e2fsprogs/e2fs_defs.h -+++ /dev/null -@@ -1,561 +0,0 @@ --/* vi: set sw=4 ts=4: */ --/* -- * linux/include/linux/ext2_fs.h -- * -- * Copyright (C) 1992, 1993, 1994, 1995 -- * Remy Card (card@masi.ibp.fr) -- * Laboratoire MASI - Institut Blaise Pascal -- * Universite Pierre et Marie Curie (Paris VI) -- * -- * Copyright (C) 1991, 1992 Linus Torvalds -- */ -- --#ifndef LINUX_EXT2_FS_H --#define LINUX_EXT2_FS_H 1 -- --/* -- * Special inode numbers -- */ --#define EXT2_BAD_INO 1 /* Bad blocks inode */ --#define EXT2_ROOT_INO 2 /* Root inode */ --#define EXT2_ACL_IDX_INO 3 /* ACL inode */ --#define EXT2_ACL_DATA_INO 4 /* ACL inode */ --#define EXT2_BOOT_LOADER_INO 5 /* Boot loader inode */ --#define EXT2_UNDEL_DIR_INO 6 /* Undelete directory inode */ --#define EXT2_RESIZE_INO 7 /* Reserved group descriptors inode */ --#define EXT2_JOURNAL_INO 8 /* Journal inode */ -- --/* First non-reserved inode for old ext2 filesystems */ --#define EXT2_GOOD_OLD_FIRST_INO 11 -- --/* -- * The second extended file system magic number -- */ --#define EXT2_SUPER_MAGIC 0xEF53 -- --/* Assume that user mode programs are passing in an ext2fs superblock, not -- * a kernel struct super_block. This will allow us to call the feature-test -- * macros from user land. */ --#define EXT2_SB(sb) (sb) -- --/* -- * Maximal count of links to a file -- */ --#define EXT2_LINK_MAX 32000 -- --/* -- * Macro-instructions used to manage several block sizes -- */ --#define EXT2_MIN_BLOCK_LOG_SIZE 10 /* 1024 */ --#define EXT2_MAX_BLOCK_LOG_SIZE 16 /* 65536 */ --#define EXT2_MIN_BLOCK_SIZE (1 << EXT2_MIN_BLOCK_LOG_SIZE) --#define EXT2_MAX_BLOCK_SIZE (1 << EXT2_MAX_BLOCK_LOG_SIZE) --#define EXT2_BLOCK_SIZE(s) (EXT2_MIN_BLOCK_SIZE << (s)->s_log_block_size) --#define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10) --#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ -- EXT2_GOOD_OLD_INODE_SIZE : (s)->s_inode_size) --#define EXT2_FIRST_INO(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ -- EXT2_GOOD_OLD_FIRST_INO : (s)->s_first_ino) --#define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof(uint32_t)) -- --/* -- * Macro-instructions used to manage fragments -- */ --#define EXT2_MIN_FRAG_SIZE EXT2_MIN_BLOCK_SIZE --#define EXT2_MAX_FRAG_SIZE EXT2_MAX_BLOCK_SIZE --#define EXT2_MIN_FRAG_LOG_SIZE EXT2_MIN_BLOCK_LOG_SIZE --#define EXT2_FRAG_SIZE(s) (EXT2_MIN_FRAG_SIZE << (s)->s_log_frag_size) --#define EXT2_FRAGS_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / EXT2_FRAG_SIZE(s)) -- --/* -- * ACL structures -- */ --struct ext2_acl_header { /* Header of Access Control Lists */ -- uint32_t aclh_size; -- uint32_t aclh_file_count; -- uint32_t aclh_acle_count; -- uint32_t aclh_first_acle; --}; -- --struct ext2_acl_entry { /* Access Control List Entry */ -- uint32_t acle_size; -- uint16_t acle_perms; /* Access permissions */ -- uint16_t acle_type; /* Type of entry */ -- uint16_t acle_tag; /* User or group identity */ -- uint16_t acle_pad1; -- uint32_t acle_next; /* Pointer on next entry for the */ -- /* same inode or on next free entry */ --}; -- --/* -- * Structure of a blocks group descriptor -- */ --struct ext2_group_desc { -- uint32_t bg_block_bitmap; /* Blocks bitmap block */ -- uint32_t bg_inode_bitmap; /* Inodes bitmap block */ -- uint32_t bg_inode_table; /* Inodes table block */ -- uint16_t bg_free_blocks_count; /* Free blocks count */ -- uint16_t bg_free_inodes_count; /* Free inodes count */ -- uint16_t bg_used_dirs_count; /* Directories count */ -- uint16_t bg_pad; -- uint32_t bg_reserved[3]; --}; -- --/* -- * Data structures used by the directory indexing feature -- * -- * Note: all of the multibyte integer fields are little endian. -- */ -- --/* -- * Note: dx_root_info is laid out so that if it should somehow get -- * overlaid by a dirent the two low bits of the hash version will be -- * zero. Therefore, the hash version mod 4 should never be 0. -- * Sincerely, the paranoia department. -- */ --struct ext2_dx_root_info { -- uint32_t reserved_zero; -- uint8_t hash_version; /* 0 now, 1 at release */ -- uint8_t info_length; /* 8 */ -- uint8_t indirect_levels; -- uint8_t unused_flags; --}; -- --#define EXT2_HASH_LEGACY 0 --#define EXT2_HASH_HALF_MD4 1 --#define EXT2_HASH_TEA 2 -- --#define EXT2_HASH_FLAG_INCOMPAT 0x1 -- --struct ext2_dx_entry { -- uint32_t hash; -- uint32_t block; --}; -- --struct ext2_dx_countlimit { -- uint16_t limit; -- uint16_t count; --}; -- -- --/* -- * Macro-instructions used to manage group descriptors -- */ --#define EXT2_BLOCKS_PER_GROUP(s) (EXT2_SB(s)->s_blocks_per_group) --#define EXT2_INODES_PER_GROUP(s) (EXT2_SB(s)->s_inodes_per_group) --#define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s)) --/* limits imposed by 16-bit value gd_free_{blocks,inode}_count */ --#define EXT2_MAX_BLOCKS_PER_GROUP(s) ((1 << 16) - 8) --#define EXT2_MAX_INODES_PER_GROUP(s) ((1 << 16) - EXT2_INODES_PER_BLOCK(s)) --#define EXT2_DESC_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc)) -- --/* -- * Constants relative to the data blocks -- */ --#define EXT2_NDIR_BLOCKS 12 --#define EXT2_IND_BLOCK EXT2_NDIR_BLOCKS --#define EXT2_DIND_BLOCK (EXT2_IND_BLOCK + 1) --#define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1) --#define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1) -- --/* -- * Inode flags -- */ --#define EXT2_SECRM_FL 0x00000001 /* Secure deletion */ --#define EXT2_UNRM_FL 0x00000002 /* Undelete */ --#define EXT2_COMPR_FL 0x00000004 /* Compress file */ --#define EXT2_SYNC_FL 0x00000008 /* Synchronous updates */ --#define EXT2_IMMUTABLE_FL 0x00000010 /* Immutable file */ --#define EXT2_APPEND_FL 0x00000020 /* writes to file may only append */ --#define EXT2_NODUMP_FL 0x00000040 /* do not dump file */ --#define EXT2_NOATIME_FL 0x00000080 /* do not update atime */ --/* Reserved for compression usage... */ --#define EXT2_DIRTY_FL 0x00000100 --#define EXT2_COMPRBLK_FL 0x00000200 /* One or more compressed clusters */ --#define EXT2_NOCOMPR_FL 0x00000400 /* Access raw compressed data */ --#define EXT2_ECOMPR_FL 0x00000800 /* Compression error */ --/* End compression flags --- maybe not all used */ --#define EXT2_BTREE_FL 0x00001000 /* btree format dir */ --#define EXT2_INDEX_FL 0x00001000 /* hash-indexed directory */ --#define EXT2_IMAGIC_FL 0x00002000 --#define EXT3_JOURNAL_DATA_FL 0x00004000 /* file data should be journaled */ --#define EXT2_NOTAIL_FL 0x00008000 /* file tail should not be merged */ --#define EXT2_DIRSYNC_FL 0x00010000 /* Synchronous directory modifications */ --#define EXT2_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/ --#define EXT3_EXTENTS_FL 0x00080000 /* Inode uses extents */ --#define EXT2_RESERVED_FL 0x80000000 /* reserved for ext2 lib */ -- --#define EXT2_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */ --#define EXT2_FL_USER_MODIFIABLE 0x000080FF /* User modifiable flags */ -- --/* -- * ioctl commands -- */ --#define EXT2_IOC_GETFLAGS _IOR('f', 1, long) --#define EXT2_IOC_SETFLAGS _IOW('f', 2, long) --#define EXT2_IOC_GETVERSION _IOR('v', 1, long) --#define EXT2_IOC_SETVERSION _IOW('v', 2, long) -- --/* -- * Structure of an inode on the disk -- */ --struct ext2_inode { -- uint16_t i_mode; /* File mode */ -- uint16_t i_uid; /* Low 16 bits of Owner Uid */ -- uint32_t i_size; /* Size in bytes */ -- uint32_t i_atime; /* Access time */ -- uint32_t i_ctime; /* Creation time */ -- uint32_t i_mtime; /* Modification time */ -- uint32_t i_dtime; /* Deletion Time */ -- uint16_t i_gid; /* Low 16 bits of Group Id */ -- uint16_t i_links_count; /* Links count */ -- uint32_t i_blocks; /* Blocks count */ -- uint32_t i_flags; /* File flags */ -- union { -- struct { -- uint32_t l_i_reserved1; -- } linux1; -- struct { -- uint32_t h_i_translator; -- } hurd1; -- struct { -- uint32_t m_i_reserved1; -- } masix1; -- } osd1; /* OS dependent 1 */ -- uint32_t i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ -- uint32_t i_generation; /* File version (for NFS) */ -- uint32_t i_file_acl; /* File ACL */ -- uint32_t i_dir_acl; /* Directory ACL */ -- uint32_t i_faddr; /* Fragment address */ -- union { -- struct { -- uint8_t l_i_frag; /* Fragment number */ -- uint8_t l_i_fsize; /* Fragment size */ -- uint16_t i_pad1; -- uint16_t l_i_uid_high; /* these 2 fields */ -- uint16_t l_i_gid_high; /* were reserved2[0] */ -- uint32_t l_i_reserved2; -- } linux2; -- struct { -- uint8_t h_i_frag; /* Fragment number */ -- uint8_t h_i_fsize; /* Fragment size */ -- uint16_t h_i_mode_high; -- uint16_t h_i_uid_high; -- uint16_t h_i_gid_high; -- uint32_t h_i_author; -- } hurd2; -- struct { -- uint8_t m_i_frag; /* Fragment number */ -- uint8_t m_i_fsize; /* Fragment size */ -- uint16_t m_pad1; -- uint32_t m_i_reserved2[2]; -- } masix2; -- } osd2; /* OS dependent 2 */ --}; -- --/* -- * Permanent part of an large inode on the disk -- */ --struct ext2_inode_large { -- uint16_t i_mode; /* File mode */ -- uint16_t i_uid; /* Low 16 bits of Owner Uid */ -- uint32_t i_size; /* Size in bytes */ -- uint32_t i_atime; /* Access time */ -- uint32_t i_ctime; /* Creation time */ -- uint32_t i_mtime; /* Modification time */ -- uint32_t i_dtime; /* Deletion Time */ -- uint16_t i_gid; /* Low 16 bits of Group Id */ -- uint16_t i_links_count; /* Links count */ -- uint32_t i_blocks; /* Blocks count */ -- uint32_t i_flags; /* File flags */ -- union { -- struct { -- uint32_t l_i_reserved1; -- } linux1; -- struct { -- uint32_t h_i_translator; -- } hurd1; -- struct { -- uint32_t m_i_reserved1; -- } masix1; -- } osd1; /* OS dependent 1 */ -- uint32_t i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ -- uint32_t i_generation; /* File version (for NFS) */ -- uint32_t i_file_acl; /* File ACL */ -- uint32_t i_dir_acl; /* Directory ACL */ -- uint32_t i_faddr; /* Fragment address */ -- union { -- struct { -- uint8_t l_i_frag; /* Fragment number */ -- uint8_t l_i_fsize; /* Fragment size */ -- uint16_t i_pad1; -- uint16_t l_i_uid_high; /* these 2 fields */ -- uint16_t l_i_gid_high; /* were reserved2[0] */ -- uint32_t l_i_reserved2; -- } linux2; -- struct { -- uint8_t h_i_frag; /* Fragment number */ -- uint8_t h_i_fsize; /* Fragment size */ -- uint16_t h_i_mode_high; -- uint16_t h_i_uid_high; -- uint16_t h_i_gid_high; -- uint32_t h_i_author; -- } hurd2; -- struct { -- uint8_t m_i_frag; /* Fragment number */ -- uint8_t m_i_fsize; /* Fragment size */ -- uint16_t m_pad1; -- uint32_t m_i_reserved2[2]; -- } masix2; -- } osd2; /* OS dependent 2 */ -- uint16_t i_extra_isize; -- uint16_t i_pad1; --}; -- --#define i_size_high i_dir_acl -- --/* -- * File system states -- */ --#define EXT2_VALID_FS 0x0001 /* Unmounted cleanly */ --#define EXT2_ERROR_FS 0x0002 /* Errors detected */ -- --/* -- * Mount flags -- */ --#define EXT2_MOUNT_CHECK 0x0001 /* Do mount-time checks */ --#define EXT2_MOUNT_GRPID 0x0004 /* Create files with directory's group */ --#define EXT2_MOUNT_DEBUG 0x0008 /* Some debugging messages */ --#define EXT2_MOUNT_ERRORS_CONT 0x0010 /* Continue on errors */ --#define EXT2_MOUNT_ERRORS_RO 0x0020 /* Remount fs ro on errors */ --#define EXT2_MOUNT_ERRORS_PANIC 0x0040 /* Panic on errors */ --#define EXT2_MOUNT_MINIX_DF 0x0080 /* Mimics the Minix statfs */ --#define EXT2_MOUNT_NO_UID32 0x0200 /* Disable 32-bit UIDs */ -- --#define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt --#define set_opt(o, opt) o |= EXT2_MOUNT_##opt --#define test_opt(sb, opt) (EXT2_SB(sb)->s_mount_opt & \ -- EXT2_MOUNT_##opt) --/* -- * Maximal mount counts between two filesystem checks -- */ --#define EXT2_DFL_MAX_MNT_COUNT 20 /* Allow 20 mounts */ --#define EXT2_DFL_CHECKINTERVAL 0 /* Don't use interval check */ -- --/* -- * Behaviour when detecting errors -- */ --#define EXT2_ERRORS_CONTINUE 1 /* Continue execution */ --#define EXT2_ERRORS_RO 2 /* Remount fs read-only */ --#define EXT2_ERRORS_PANIC 3 /* Panic */ --#define EXT2_ERRORS_DEFAULT EXT2_ERRORS_CONTINUE -- --/* -- * Structure of the super block -- */ --struct ext2_super_block { -- uint32_t s_inodes_count; /* Inodes count */ -- uint32_t s_blocks_count; /* Blocks count */ -- uint32_t s_r_blocks_count; /* Reserved blocks count */ -- uint32_t s_free_blocks_count; /* Free blocks count */ -- uint32_t s_free_inodes_count; /* Free inodes count */ -- uint32_t s_first_data_block; /* First Data Block */ -- uint32_t s_log_block_size; /* Block size */ -- int32_t s_log_frag_size; /* Fragment size */ -- uint32_t s_blocks_per_group; /* # Blocks per group */ -- uint32_t s_frags_per_group; /* # Fragments per group */ -- uint32_t s_inodes_per_group; /* # Inodes per group */ -- uint32_t s_mtime; /* Mount time */ -- uint32_t s_wtime; /* Write time */ -- uint16_t s_mnt_count; /* Mount count */ -- int16_t s_max_mnt_count; /* Maximal mount count */ -- uint16_t s_magic; /* Magic signature */ -- uint16_t s_state; /* File system state */ -- uint16_t s_errors; /* Behaviour when detecting errors */ -- uint16_t s_minor_rev_level; /* minor revision level */ -- uint32_t s_lastcheck; /* time of last check */ -- uint32_t s_checkinterval; /* max. time between checks */ -- uint32_t s_creator_os; /* OS */ -- uint32_t s_rev_level; /* Revision level */ -- uint16_t s_def_resuid; /* Default uid for reserved blocks */ -- uint16_t s_def_resgid; /* Default gid for reserved blocks */ -- /* -- * These fields are for EXT2_DYNAMIC_REV superblocks only. -- * -- * Note: the difference between the compatible feature set and -- * the incompatible feature set is that if there is a bit set -- * in the incompatible feature set that the kernel doesn't -- * know about, it should refuse to mount the filesystem. -- * -- * e2fsck's requirements are more strict; if it doesn't know -- * about a feature in either the compatible or incompatible -- * feature set, it must abort and not try to meddle with -- * things it doesn't understand... -- */ -- uint32_t s_first_ino; /* First non-reserved inode */ -- uint16_t s_inode_size; /* size of inode structure */ -- uint16_t s_block_group_nr; /* block group # of this superblock */ -- uint32_t s_feature_compat; /* compatible feature set */ -- uint32_t s_feature_incompat; /* incompatible feature set */ -- uint32_t s_feature_ro_compat; /* readonly-compatible feature set */ -- uint8_t s_uuid[16]; /* 128-bit uuid for volume */ -- char s_volume_name[16]; /* volume name */ -- char s_last_mounted[64]; /* directory where last mounted */ -- uint32_t s_algorithm_usage_bitmap; /* For compression */ -- /* -- * Performance hints. Directory preallocation should only -- * happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on. -- */ -- uint8_t s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ -- uint8_t s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ -- uint16_t s_reserved_gdt_blocks; /* Per group table for online growth */ -- /* -- * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set. -- */ -- uint8_t s_journal_uuid[16]; /* uuid of journal superblock */ -- uint32_t s_journal_inum; /* inode number of journal file */ -- uint32_t s_journal_dev; /* device number of journal file */ -- uint32_t s_last_orphan; /* start of list of inodes to delete */ -- uint32_t s_hash_seed[4]; /* HTREE hash seed */ -- uint8_t s_def_hash_version; /* Default hash version to use */ -- uint8_t s_jnl_backup_type; /* Default type of journal backup */ -- uint16_t s_reserved_word_pad; -- uint32_t s_default_mount_opts; -- uint32_t s_first_meta_bg; /* First metablock group */ -- uint32_t s_mkfs_time; /* When the filesystem was created */ -- uint32_t s_jnl_blocks[17]; /* Backup of the journal inode */ -- uint32_t s_reserved[172]; /* Padding to the end of the block */ --}; -- --/* -- * Codes for operating systems -- */ --#define EXT2_OS_LINUX 0 --#define EXT2_OS_HURD 1 --#define EXT2_OS_MASIX 2 --#define EXT2_OS_FREEBSD 3 --#define EXT2_OS_LITES 4 -- --/* -- * Revision levels -- */ --#define EXT2_GOOD_OLD_REV 0 /* The good old (original) format */ --#define EXT2_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */ -- --#define EXT2_CURRENT_REV EXT2_GOOD_OLD_REV --#define EXT2_MAX_SUPP_REV EXT2_DYNAMIC_REV -- --#define EXT2_GOOD_OLD_INODE_SIZE 128 -- --/* -- * Journal inode backup types -- */ --#define EXT3_JNL_BACKUP_BLOCKS 1 -- --/* -- * Feature set definitions -- */ -- --#define EXT2_HAS_COMPAT_FEATURE(sb,mask) \ -- ( EXT2_SB(sb)->s_feature_compat & (mask) ) --#define EXT2_HAS_RO_COMPAT_FEATURE(sb,mask) \ -- ( EXT2_SB(sb)->s_feature_ro_compat & (mask) ) --#define EXT2_HAS_INCOMPAT_FEATURE(sb,mask) \ -- ( EXT2_SB(sb)->s_feature_incompat & (mask) ) -- --#define EXT2_FEATURE_COMPAT_DIR_PREALLOC 0x0001 --#define EXT2_FEATURE_COMPAT_IMAGIC_INODES 0x0002 --#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004 --#define EXT2_FEATURE_COMPAT_EXT_ATTR 0x0008 --#define EXT2_FEATURE_COMPAT_RESIZE_INODE 0x0010 --#define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020 -- --#define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001 --#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 --/* #define EXT2_FEATURE_RO_COMPAT_BTREE_DIR 0x0004 not used */ -- --#define EXT2_FEATURE_INCOMPAT_COMPRESSION 0x0001 --#define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002 --#define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004 /* Needs recovery */ --#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008 /* Journal device */ --#define EXT2_FEATURE_INCOMPAT_META_BG 0x0010 --#define EXT3_FEATURE_INCOMPAT_EXTENTS 0x0040 -- -- --#define EXT2_FEATURE_COMPAT_SUPP 0 --#define EXT2_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE) --#define EXT2_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \ -- EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \ -- EXT2_FEATURE_RO_COMPAT_BTREE_DIR) -- --/* -- * Default values for user and/or group using reserved blocks -- */ --#define EXT2_DEF_RESUID 0 --#define EXT2_DEF_RESGID 0 -- --/* -- * Default mount options -- */ --#define EXT2_DEFM_DEBUG 0x0001 --#define EXT2_DEFM_BSDGROUPS 0x0002 --#define EXT2_DEFM_XATTR_USER 0x0004 --#define EXT2_DEFM_ACL 0x0008 --#define EXT2_DEFM_UID16 0x0010 --#define EXT3_DEFM_JMODE 0x0060 --#define EXT3_DEFM_JMODE_DATA 0x0020 --#define EXT3_DEFM_JMODE_ORDERED 0x0040 --#define EXT3_DEFM_JMODE_WBACK 0x0060 -- --/* -- * Structure of a directory entry -- */ --#define EXT2_NAME_LEN 255 -- --struct ext2_dir_entry { -- uint32_t inode; /* Inode number */ -- uint16_t rec_len; /* Directory entry length */ -- uint16_t name_len; /* Name length */ -- char name[EXT2_NAME_LEN]; /* File name */ --}; -- --/* -- * The new version of the directory entry. Since EXT2 structures are -- * stored in intel byte order, and the name_len field could never be -- * bigger than 255 chars, it's safe to reclaim the extra byte for the -- * file_type field. -- */ --struct ext2_dir_entry_2 { -- uint32_t inode; /* Inode number */ -- uint16_t rec_len; /* Directory entry length */ -- uint8_t name_len; /* Name length */ -- uint8_t file_type; -- char name[EXT2_NAME_LEN]; /* File name */ --}; -- --/* -- * Ext2 directory file types. Only the low 3 bits are used. The -- * other bits are reserved for now. -- */ --#define EXT2_FT_UNKNOWN 0 --#define EXT2_FT_REG_FILE 1 --#define EXT2_FT_DIR 2 --#define EXT2_FT_CHRDEV 3 --#define EXT2_FT_BLKDEV 4 --#define EXT2_FT_FIFO 5 --#define EXT2_FT_SOCK 6 --#define EXT2_FT_SYMLINK 7 -- --#define EXT2_FT_MAX 8 -- --/* -- * EXT2_DIR_PAD defines the directory entries boundaries -- * -- * NOTE: It must be a multiple of 4 -- */ --#define EXT2_DIR_PAD 4 --#define EXT2_DIR_ROUND (EXT2_DIR_PAD - 1) --#define EXT2_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT2_DIR_ROUND) & \ -- ~EXT2_DIR_ROUND) -- --#endif -diff --git a/e2fsprogs/e2fs_lib.h b/e2fsprogs/e2fs_lib.h -index 3905ee7..f2ae56f 100644 ---- a/e2fsprogs/e2fs_lib.h -+++ b/e2fsprogs/e2fs_lib.h -@@ -7,7 +7,7 @@ - */ - - /* Constants and structures */ --#include "e2fs_defs.h" -+#include "bb_e2fs_defs.h" - - PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN - -diff --git a/e2fsprogs/old_e2fsprogs/e2fsck.c b/e2fsprogs/old_e2fsprogs/e2fsck.c -index 8fffa7f..373e8ce 100644 ---- a/e2fsprogs/old_e2fsprogs/e2fsck.c -+++ b/e2fsprogs/old_e2fsprogs/e2fsck.c -@@ -11577,7 +11577,7 @@ static void check_resize_inode(e2fsck_t ctx) - * s_reserved_gdt_blocks must be zero. - */ - if (!(fs->super->s_feature_compat & -- EXT2_FEATURE_COMPAT_RESIZE_INODE)) { -+ EXT2_FEATURE_COMPAT_RESIZE_INO)) { - if (fs->super->s_reserved_gdt_blocks) { - pctx.num = fs->super->s_reserved_gdt_blocks; - if (fix_problem(ctx, PR_0_NONZERO_RESERVED_GDT_BLOCKS, -@@ -11593,7 +11593,7 @@ static void check_resize_inode(e2fsck_t ctx) - retval = ext2fs_read_inode(fs, EXT2_RESIZE_INO, &inode); - if (retval) { - if (fs->super->s_feature_compat & -- EXT2_FEATURE_COMPAT_RESIZE_INODE) -+ EXT2_FEATURE_COMPAT_RESIZE_INO) - ctx->flags |= E2F_FLAG_RESIZE_INODE; - return; - } -@@ -11603,7 +11603,7 @@ static void check_resize_inode(e2fsck_t ctx) - * the resize inode is cleared; then we're done. - */ - if (!(fs->super->s_feature_compat & -- EXT2_FEATURE_COMPAT_RESIZE_INODE)) { -+ EXT2_FEATURE_COMPAT_RESIZE_INO)) { - for (i=0; i < EXT2_N_BLOCKS; i++) { - if (inode.i_block[i]) - break; -diff --git a/e2fsprogs/old_e2fsprogs/e2p/feature.c b/e2fsprogs/old_e2fsprogs/e2p/feature.c -index b45754f..2102ed8 100644 ---- a/e2fsprogs/old_e2fsprogs/e2p/feature.c -+++ b/e2fsprogs/old_e2fsprogs/e2p/feature.c -@@ -34,7 +34,7 @@ static const struct feature feature_list[] = { - "ext_attr" }, - { E2P_FEATURE_COMPAT, EXT2_FEATURE_COMPAT_DIR_INDEX, - "dir_index" }, -- { E2P_FEATURE_COMPAT, EXT2_FEATURE_COMPAT_RESIZE_INODE, -+ { E2P_FEATURE_COMPAT, EXT2_FEATURE_COMPAT_RESIZE_INO, - "resize_inode" }, - { E2P_FEATURE_RO_INCOMPAT, EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER, - "sparse_super" }, -diff --git a/e2fsprogs/old_e2fsprogs/ext2fs/ext2_fs.h b/e2fsprogs/old_e2fsprogs/ext2fs/ext2_fs.h -index 6f4f708..80ea2cb 100644 ---- a/e2fsprogs/old_e2fsprogs/ext2fs/ext2_fs.h -+++ b/e2fsprogs/old_e2fsprogs/ext2fs/ext2_fs.h -@@ -475,7 +475,7 @@ struct ext2_super_block { - #define EXT2_FEATURE_COMPAT_IMAGIC_INODES 0x0002 - #define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004 - #define EXT2_FEATURE_COMPAT_EXT_ATTR 0x0008 --#define EXT2_FEATURE_COMPAT_RESIZE_INODE 0x0010 -+#define EXT2_FEATURE_COMPAT_RESIZE_INO 0x0010 - #define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020 - - #define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001 -diff --git a/e2fsprogs/old_e2fsprogs/ext2fs/ext2fs.h b/e2fsprogs/old_e2fsprogs/ext2fs/ext2fs.h -index 9f77201..39fb116 100644 ---- a/e2fsprogs/old_e2fsprogs/ext2fs/ext2fs.h -+++ b/e2fsprogs/old_e2fsprogs/ext2fs/ext2fs.h -@@ -383,7 +383,7 @@ typedef struct ext2_icount *ext2_icount_t; - #define EXT2_LIB_FEATURE_COMPAT_SUPP (EXT2_FEATURE_COMPAT_DIR_PREALLOC|\ - EXT2_FEATURE_COMPAT_IMAGIC_INODES|\ - EXT3_FEATURE_COMPAT_HAS_JOURNAL|\ -- EXT2_FEATURE_COMPAT_RESIZE_INODE|\ -+ EXT2_FEATURE_COMPAT_RESIZE_INO|\ - EXT2_FEATURE_COMPAT_DIR_INDEX|\ - EXT2_FEATURE_COMPAT_EXT_ATTR) - -diff --git a/e2fsprogs/old_e2fsprogs/ext2fs/initialize.c b/e2fsprogs/old_e2fsprogs/ext2fs/initialize.c -index ef1d343..da2d151 100644 ---- a/e2fsprogs/old_e2fsprogs/ext2fs/initialize.c -+++ b/e2fsprogs/old_e2fsprogs/ext2fs/initialize.c -@@ -284,7 +284,7 @@ retry: - /* - * check the number of reserved group descriptor table blocks - */ -- if (super->s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INODE) -+ if (super->s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INO) - rsv_gdt = calc_reserved_gdt_blocks(fs); - else - rsv_gdt = 0; -diff --git a/e2fsprogs/old_e2fsprogs/mke2fs.c b/e2fsprogs/old_e2fsprogs/mke2fs.c -index 7555650..35d717a 100644 ---- a/e2fsprogs/old_e2fsprogs/mke2fs.c -+++ b/e2fsprogs/old_e2fsprogs/mke2fs.c -@@ -757,7 +757,7 @@ static void parse_extended_opts(struct ext2_super_block *sb_param, - - if (rsv_gdb > 0) { - sb_param->s_feature_compat |= -- EXT2_FEATURE_COMPAT_RESIZE_INODE; -+ EXT2_FEATURE_COMPAT_RESIZE_INO; - - sb_param->s_reserved_gdt_blocks = rsv_gdb; - } -@@ -778,7 +778,7 @@ static void parse_extended_opts(struct ext2_super_block *sb_param, - - static __u32 ok_features[3] = { - EXT3_FEATURE_COMPAT_HAS_JOURNAL | -- EXT2_FEATURE_COMPAT_RESIZE_INODE | -+ EXT2_FEATURE_COMPAT_RESIZE_INO | - EXT2_FEATURE_COMPAT_DIR_INDEX, /* Compat */ - EXT2_FEATURE_INCOMPAT_FILETYPE| /* Incompat */ - EXT3_FEATURE_INCOMPAT_JOURNAL_DEV| -@@ -1123,7 +1123,7 @@ static int PRS(int argc, char **argv) - /* Since sparse_super is the default, we would only have a problem - * here if it was explicitly disabled. - */ -- if ((param.s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INODE) && -+ if ((param.s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INO) && - !(param.s_feature_ro_compat&EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER)) { - bb_error_msg_and_die("reserved online resize blocks not supported " - "on non-sparse filesystem"); -@@ -1312,7 +1312,7 @@ int mke2fs_main (int argc, char **argv) - reserve_inodes(fs); - create_bad_block_inode(fs, bb_list); - if (fs->super->s_feature_compat & -- EXT2_FEATURE_COMPAT_RESIZE_INODE) { -+ EXT2_FEATURE_COMPAT_RESIZE_INO) { - retval = ext2fs_create_resize_inode(fs); - mke2fs_error_msg_and_die(retval, "reserve blocks for online resize"); - } -diff --git a/e2fsprogs/tune2fs.c b/e2fsprogs/tune2fs.c -index 841d58a..46a745e 100644 ---- a/e2fsprogs/tune2fs.c -+++ b/e2fsprogs/tune2fs.c -@@ -8,7 +8,7 @@ - */ - #include "libbb.h" - #include --#include "bb_linux_ext2_fs.h" -+#include "bb_e2fs_defs.h" - - // storage helpers - char BUG_wrong_field_size(void); -diff --git a/include/bb_e2fs_defs.h b/include/bb_e2fs_defs.h -new file mode 100644 -index 0000000..7974497 ---- /dev/null -+++ b/include/bb_e2fs_defs.h -@@ -0,0 +1,561 @@ -+/* vi: set sw=4 ts=4: */ -+/* -+ * linux/include/linux/ext2_fs.h -+ * -+ * Copyright (C) 1992, 1993, 1994, 1995 -+ * Remy Card (card@masi.ibp.fr) -+ * Laboratoire MASI - Institut Blaise Pascal -+ * Universite Pierre et Marie Curie (Paris VI) -+ * -+ * Copyright (C) 1991, 1992 Linus Torvalds -+ */ -+ -+#ifndef LINUX_EXT2_FS_H -+#define LINUX_EXT2_FS_H 1 -+ -+/* -+ * Special inode numbers -+ */ -+#define EXT2_BAD_INO 1 /* Bad blocks inode */ -+#define EXT2_ROOT_INO 2 /* Root inode */ -+#define EXT2_ACL_IDX_INO 3 /* ACL inode */ -+#define EXT2_ACL_DATA_INO 4 /* ACL inode */ -+#define EXT2_BOOT_LOADER_INO 5 /* Boot loader inode */ -+#define EXT2_UNDEL_DIR_INO 6 /* Undelete directory inode */ -+#define EXT2_RESIZE_INO 7 /* Reserved group descriptors inode */ -+#define EXT2_JOURNAL_INO 8 /* Journal inode */ -+ -+/* First non-reserved inode for old ext2 filesystems */ -+#define EXT2_GOOD_OLD_FIRST_INO 11 -+ -+/* -+ * The second extended file system magic number -+ */ -+#define EXT2_SUPER_MAGIC 0xEF53 -+ -+/* Assume that user mode programs are passing in an ext2fs superblock, not -+ * a kernel struct super_block. This will allow us to call the feature-test -+ * macros from user land. */ -+#define EXT2_SB(sb) (sb) -+ -+/* -+ * Maximal count of links to a file -+ */ -+#define EXT2_LINK_MAX 32000 -+ -+/* -+ * Macro-instructions used to manage several block sizes -+ */ -+#define EXT2_MIN_BLOCK_LOG_SIZE 10 /* 1024 */ -+#define EXT2_MAX_BLOCK_LOG_SIZE 16 /* 65536 */ -+#define EXT2_MIN_BLOCK_SIZE (1 << EXT2_MIN_BLOCK_LOG_SIZE) -+#define EXT2_MAX_BLOCK_SIZE (1 << EXT2_MAX_BLOCK_LOG_SIZE) -+#define EXT2_BLOCK_SIZE(s) (EXT2_MIN_BLOCK_SIZE << (s)->s_log_block_size) -+#define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10) -+#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ -+ EXT2_GOOD_OLD_INODE_SIZE : (s)->s_inode_size) -+#define EXT2_FIRST_INO(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ -+ EXT2_GOOD_OLD_FIRST_INO : (s)->s_first_ino) -+#define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof(uint32_t)) -+ -+/* -+ * Macro-instructions used to manage fragments -+ */ -+#define EXT2_MIN_FRAG_SIZE EXT2_MIN_BLOCK_SIZE -+#define EXT2_MAX_FRAG_SIZE EXT2_MAX_BLOCK_SIZE -+#define EXT2_MIN_FRAG_LOG_SIZE EXT2_MIN_BLOCK_LOG_SIZE -+#define EXT2_FRAG_SIZE(s) (EXT2_MIN_FRAG_SIZE << (s)->s_log_frag_size) -+#define EXT2_FRAGS_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / EXT2_FRAG_SIZE(s)) -+ -+/* -+ * ACL structures -+ */ -+struct ext2_acl_header { /* Header of Access Control Lists */ -+ uint32_t aclh_size; -+ uint32_t aclh_file_count; -+ uint32_t aclh_acle_count; -+ uint32_t aclh_first_acle; -+}; -+ -+struct ext2_acl_entry { /* Access Control List Entry */ -+ uint32_t acle_size; -+ uint16_t acle_perms; /* Access permissions */ -+ uint16_t acle_type; /* Type of entry */ -+ uint16_t acle_tag; /* User or group identity */ -+ uint16_t acle_pad1; -+ uint32_t acle_next; /* Pointer on next entry for the */ -+ /* same inode or on next free entry */ -+}; -+ -+/* -+ * Structure of a blocks group descriptor -+ */ -+struct ext2_group_desc { -+ uint32_t bg_block_bitmap; /* Blocks bitmap block */ -+ uint32_t bg_inode_bitmap; /* Inodes bitmap block */ -+ uint32_t bg_inode_table; /* Inodes table block */ -+ uint16_t bg_free_blocks_count; /* Free blocks count */ -+ uint16_t bg_free_inodes_count; /* Free inodes count */ -+ uint16_t bg_used_dirs_count; /* Directories count */ -+ uint16_t bg_pad; -+ uint32_t bg_reserved[3]; -+}; -+ -+/* -+ * Data structures used by the directory indexing feature -+ * -+ * Note: all of the multibyte integer fields are little endian. -+ */ -+ -+/* -+ * Note: dx_root_info is laid out so that if it should somehow get -+ * overlaid by a dirent the two low bits of the hash version will be -+ * zero. Therefore, the hash version mod 4 should never be 0. -+ * Sincerely, the paranoia department. -+ */ -+struct ext2_dx_root_info { -+ uint32_t reserved_zero; -+ uint8_t hash_version; /* 0 now, 1 at release */ -+ uint8_t info_length; /* 8 */ -+ uint8_t indirect_levels; -+ uint8_t unused_flags; -+}; -+ -+#define EXT2_HASH_LEGACY 0 -+#define EXT2_HASH_HALF_MD4 1 -+#define EXT2_HASH_TEA 2 -+ -+#define EXT2_HASH_FLAG_INCOMPAT 0x1 -+ -+struct ext2_dx_entry { -+ uint32_t hash; -+ uint32_t block; -+}; -+ -+struct ext2_dx_countlimit { -+ uint16_t limit; -+ uint16_t count; -+}; -+ -+ -+/* -+ * Macro-instructions used to manage group descriptors -+ */ -+#define EXT2_BLOCKS_PER_GROUP(s) (EXT2_SB(s)->s_blocks_per_group) -+#define EXT2_INODES_PER_GROUP(s) (EXT2_SB(s)->s_inodes_per_group) -+#define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s)) -+/* limits imposed by 16-bit value gd_free_{blocks,inode}_count */ -+#define EXT2_MAX_BLOCKS_PER_GROUP(s) ((1 << 16) - 8) -+#define EXT2_MAX_INODES_PER_GROUP(s) ((1 << 16) - EXT2_INODES_PER_BLOCK(s)) -+#define EXT2_DESC_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc)) -+ -+/* -+ * Constants relative to the data blocks -+ */ -+#define EXT2_NDIR_BLOCKS 12 -+#define EXT2_IND_BLOCK EXT2_NDIR_BLOCKS -+#define EXT2_DIND_BLOCK (EXT2_IND_BLOCK + 1) -+#define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1) -+#define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1) -+ -+/* -+ * Inode flags -+ */ -+#define EXT2_SECRM_FL 0x00000001 /* Secure deletion */ -+#define EXT2_UNRM_FL 0x00000002 /* Undelete */ -+#define EXT2_COMPR_FL 0x00000004 /* Compress file */ -+#define EXT2_SYNC_FL 0x00000008 /* Synchronous updates */ -+#define EXT2_IMMUTABLE_FL 0x00000010 /* Immutable file */ -+#define EXT2_APPEND_FL 0x00000020 /* writes to file may only append */ -+#define EXT2_NODUMP_FL 0x00000040 /* do not dump file */ -+#define EXT2_NOATIME_FL 0x00000080 /* do not update atime */ -+/* Reserved for compression usage... */ -+#define EXT2_DIRTY_FL 0x00000100 -+#define EXT2_COMPRBLK_FL 0x00000200 /* One or more compressed clusters */ -+#define EXT2_NOCOMPR_FL 0x00000400 /* Access raw compressed data */ -+#define EXT2_ECOMPR_FL 0x00000800 /* Compression error */ -+/* End compression flags --- maybe not all used */ -+#define EXT2_BTREE_FL 0x00001000 /* btree format dir */ -+#define EXT2_INDEX_FL 0x00001000 /* hash-indexed directory */ -+#define EXT2_IMAGIC_FL 0x00002000 -+#define EXT3_JOURNAL_DATA_FL 0x00004000 /* file data should be journaled */ -+#define EXT2_NOTAIL_FL 0x00008000 /* file tail should not be merged */ -+#define EXT2_DIRSYNC_FL 0x00010000 /* Synchronous directory modifications */ -+#define EXT2_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/ -+#define EXT3_EXTENTS_FL 0x00080000 /* Inode uses extents */ -+#define EXT2_RESERVED_FL 0x80000000 /* reserved for ext2 lib */ -+ -+#define EXT2_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */ -+#define EXT2_FL_USER_MODIFIABLE 0x000080FF /* User modifiable flags */ -+ -+/* -+ * ioctl commands -+ */ -+#define EXT2_IOC_GETFLAGS _IOR('f', 1, long) -+#define EXT2_IOC_SETFLAGS _IOW('f', 2, long) -+#define EXT2_IOC_GETVERSION _IOR('v', 1, long) -+#define EXT2_IOC_SETVERSION _IOW('v', 2, long) -+ -+/* -+ * Structure of an inode on the disk -+ */ -+struct ext2_inode { -+ uint16_t i_mode; /* File mode */ -+ uint16_t i_uid; /* Low 16 bits of Owner Uid */ -+ uint32_t i_size; /* Size in bytes */ -+ uint32_t i_atime; /* Access time */ -+ uint32_t i_ctime; /* Creation time */ -+ uint32_t i_mtime; /* Modification time */ -+ uint32_t i_dtime; /* Deletion Time */ -+ uint16_t i_gid; /* Low 16 bits of Group Id */ -+ uint16_t i_links_count; /* Links count */ -+ uint32_t i_blocks; /* Blocks count */ -+ uint32_t i_flags; /* File flags */ -+ union { -+ struct { -+ uint32_t l_i_reserved1; -+ } linux1; -+ struct { -+ uint32_t h_i_translator; -+ } hurd1; -+ struct { -+ uint32_t m_i_reserved1; -+ } masix1; -+ } osd1; /* OS dependent 1 */ -+ uint32_t i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ -+ uint32_t i_generation; /* File version (for NFS) */ -+ uint32_t i_file_acl; /* File ACL */ -+ uint32_t i_dir_acl; /* Directory ACL */ -+ uint32_t i_faddr; /* Fragment address */ -+ union { -+ struct { -+ uint8_t l_i_frag; /* Fragment number */ -+ uint8_t l_i_fsize; /* Fragment size */ -+ uint16_t i_pad1; -+ uint16_t l_i_uid_high; /* these 2 fields */ -+ uint16_t l_i_gid_high; /* were reserved2[0] */ -+ uint32_t l_i_reserved2; -+ } linux2; -+ struct { -+ uint8_t h_i_frag; /* Fragment number */ -+ uint8_t h_i_fsize; /* Fragment size */ -+ uint16_t h_i_mode_high; -+ uint16_t h_i_uid_high; -+ uint16_t h_i_gid_high; -+ uint32_t h_i_author; -+ } hurd2; -+ struct { -+ uint8_t m_i_frag; /* Fragment number */ -+ uint8_t m_i_fsize; /* Fragment size */ -+ uint16_t m_pad1; -+ uint32_t m_i_reserved2[2]; -+ } masix2; -+ } osd2; /* OS dependent 2 */ -+}; -+ -+/* -+ * Permanent part of an large inode on the disk -+ */ -+struct ext2_inode_large { -+ uint16_t i_mode; /* File mode */ -+ uint16_t i_uid; /* Low 16 bits of Owner Uid */ -+ uint32_t i_size; /* Size in bytes */ -+ uint32_t i_atime; /* Access time */ -+ uint32_t i_ctime; /* Creation time */ -+ uint32_t i_mtime; /* Modification time */ -+ uint32_t i_dtime; /* Deletion Time */ -+ uint16_t i_gid; /* Low 16 bits of Group Id */ -+ uint16_t i_links_count; /* Links count */ -+ uint32_t i_blocks; /* Blocks count */ -+ uint32_t i_flags; /* File flags */ -+ union { -+ struct { -+ uint32_t l_i_reserved1; -+ } linux1; -+ struct { -+ uint32_t h_i_translator; -+ } hurd1; -+ struct { -+ uint32_t m_i_reserved1; -+ } masix1; -+ } osd1; /* OS dependent 1 */ -+ uint32_t i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ -+ uint32_t i_generation; /* File version (for NFS) */ -+ uint32_t i_file_acl; /* File ACL */ -+ uint32_t i_dir_acl; /* Directory ACL */ -+ uint32_t i_faddr; /* Fragment address */ -+ union { -+ struct { -+ uint8_t l_i_frag; /* Fragment number */ -+ uint8_t l_i_fsize; /* Fragment size */ -+ uint16_t i_pad1; -+ uint16_t l_i_uid_high; /* these 2 fields */ -+ uint16_t l_i_gid_high; /* were reserved2[0] */ -+ uint32_t l_i_reserved2; -+ } linux2; -+ struct { -+ uint8_t h_i_frag; /* Fragment number */ -+ uint8_t h_i_fsize; /* Fragment size */ -+ uint16_t h_i_mode_high; -+ uint16_t h_i_uid_high; -+ uint16_t h_i_gid_high; -+ uint32_t h_i_author; -+ } hurd2; -+ struct { -+ uint8_t m_i_frag; /* Fragment number */ -+ uint8_t m_i_fsize; /* Fragment size */ -+ uint16_t m_pad1; -+ uint32_t m_i_reserved2[2]; -+ } masix2; -+ } osd2; /* OS dependent 2 */ -+ uint16_t i_extra_isize; -+ uint16_t i_pad1; -+}; -+ -+#define i_size_high i_dir_acl -+ -+/* -+ * File system states -+ */ -+#define EXT2_VALID_FS 0x0001 /* Unmounted cleanly */ -+#define EXT2_ERROR_FS 0x0002 /* Errors detected */ -+ -+/* -+ * Mount flags -+ */ -+#define EXT2_MOUNT_CHECK 0x0001 /* Do mount-time checks */ -+#define EXT2_MOUNT_GRPID 0x0004 /* Create files with directory's group */ -+#define EXT2_MOUNT_DEBUG 0x0008 /* Some debugging messages */ -+#define EXT2_MOUNT_ERRORS_CONT 0x0010 /* Continue on errors */ -+#define EXT2_MOUNT_ERRORS_RO 0x0020 /* Remount fs ro on errors */ -+#define EXT2_MOUNT_ERRORS_PANIC 0x0040 /* Panic on errors */ -+#define EXT2_MOUNT_MINIX_DF 0x0080 /* Mimics the Minix statfs */ -+#define EXT2_MOUNT_NO_UID32 0x0200 /* Disable 32-bit UIDs */ -+ -+#define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt -+#define set_opt(o, opt) o |= EXT2_MOUNT_##opt -+#define test_opt(sb, opt) (EXT2_SB(sb)->s_mount_opt & \ -+ EXT2_MOUNT_##opt) -+/* -+ * Maximal mount counts between two filesystem checks -+ */ -+#define EXT2_DFL_MAX_MNT_COUNT 20 /* Allow 20 mounts */ -+#define EXT2_DFL_CHECKINTERVAL 0 /* Don't use interval check */ -+ -+/* -+ * Behaviour when detecting errors -+ */ -+#define EXT2_ERRORS_CONTINUE 1 /* Continue execution */ -+#define EXT2_ERRORS_RO 2 /* Remount fs read-only */ -+#define EXT2_ERRORS_PANIC 3 /* Panic */ -+#define EXT2_ERRORS_DEFAULT EXT2_ERRORS_CONTINUE -+ -+/* -+ * Structure of the super block -+ */ -+struct ext2_super_block { -+ uint32_t s_inodes_count; /* Inodes count */ -+ uint32_t s_blocks_count; /* Blocks count */ -+ uint32_t s_r_blocks_count; /* Reserved blocks count */ -+ uint32_t s_free_blocks_count; /* Free blocks count */ -+ uint32_t s_free_inodes_count; /* Free inodes count */ -+ uint32_t s_first_data_block; /* First Data Block */ -+ uint32_t s_log_block_size; /* Block size */ -+ int32_t s_log_frag_size; /* Fragment size */ -+ uint32_t s_blocks_per_group; /* # Blocks per group */ -+ uint32_t s_frags_per_group; /* # Fragments per group */ -+ uint32_t s_inodes_per_group; /* # Inodes per group */ -+ uint32_t s_mtime; /* Mount time */ -+ uint32_t s_wtime; /* Write time */ -+ uint16_t s_mnt_count; /* Mount count */ -+ int16_t s_max_mnt_count; /* Maximal mount count */ -+ uint16_t s_magic; /* Magic signature */ -+ uint16_t s_state; /* File system state */ -+ uint16_t s_errors; /* Behaviour when detecting errors */ -+ uint16_t s_minor_rev_level; /* minor revision level */ -+ uint32_t s_lastcheck; /* time of last check */ -+ uint32_t s_checkinterval; /* max. time between checks */ -+ uint32_t s_creator_os; /* OS */ -+ uint32_t s_rev_level; /* Revision level */ -+ uint16_t s_def_resuid; /* Default uid for reserved blocks */ -+ uint16_t s_def_resgid; /* Default gid for reserved blocks */ -+ /* -+ * These fields are for EXT2_DYNAMIC_REV superblocks only. -+ * -+ * Note: the difference between the compatible feature set and -+ * the incompatible feature set is that if there is a bit set -+ * in the incompatible feature set that the kernel doesn't -+ * know about, it should refuse to mount the filesystem. -+ * -+ * e2fsck's requirements are more strict; if it doesn't know -+ * about a feature in either the compatible or incompatible -+ * feature set, it must abort and not try to meddle with -+ * things it doesn't understand... -+ */ -+ uint32_t s_first_ino; /* First non-reserved inode */ -+ uint16_t s_inode_size; /* size of inode structure */ -+ uint16_t s_block_group_nr; /* block group # of this superblock */ -+ uint32_t s_feature_compat; /* compatible feature set */ -+ uint32_t s_feature_incompat; /* incompatible feature set */ -+ uint32_t s_feature_ro_compat; /* readonly-compatible feature set */ -+ uint8_t s_uuid[16]; /* 128-bit uuid for volume */ -+ char s_volume_name[16]; /* volume name */ -+ char s_last_mounted[64]; /* directory where last mounted */ -+ uint32_t s_algorithm_usage_bitmap; /* For compression */ -+ /* -+ * Performance hints. Directory preallocation should only -+ * happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on. -+ */ -+ uint8_t s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ -+ uint8_t s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ -+ uint16_t s_reserved_gdt_blocks; /* Per group table for online growth */ -+ /* -+ * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set. -+ */ -+ uint8_t s_journal_uuid[16]; /* uuid of journal superblock */ -+ uint32_t s_journal_inum; /* inode number of journal file */ -+ uint32_t s_journal_dev; /* device number of journal file */ -+ uint32_t s_last_orphan; /* start of list of inodes to delete */ -+ uint32_t s_hash_seed[4]; /* HTREE hash seed */ -+ uint8_t s_def_hash_version; /* Default hash version to use */ -+ uint8_t s_jnl_backup_type; /* Default type of journal backup */ -+ uint16_t s_reserved_word_pad; -+ uint32_t s_default_mount_opts; -+ uint32_t s_first_meta_bg; /* First metablock group */ -+ uint32_t s_mkfs_time; /* When the filesystem was created */ -+ uint32_t s_jnl_blocks[17]; /* Backup of the journal inode */ -+ uint32_t s_reserved[172]; /* Padding to the end of the block */ -+}; -+ -+/* -+ * Codes for operating systems -+ */ -+#define EXT2_OS_LINUX 0 -+#define EXT2_OS_HURD 1 -+#define EXT2_OS_MASIX 2 -+#define EXT2_OS_FREEBSD 3 -+#define EXT2_OS_LITES 4 -+ -+/* -+ * Revision levels -+ */ -+#define EXT2_GOOD_OLD_REV 0 /* The good old (original) format */ -+#define EXT2_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */ -+ -+#define EXT2_CURRENT_REV EXT2_GOOD_OLD_REV -+#define EXT2_MAX_SUPP_REV EXT2_DYNAMIC_REV -+ -+#define EXT2_GOOD_OLD_INODE_SIZE 128 -+ -+/* -+ * Journal inode backup types -+ */ -+#define EXT3_JNL_BACKUP_BLOCKS 1 -+ -+/* -+ * Feature set definitions -+ */ -+ -+#define EXT2_HAS_COMPAT_FEATURE(sb,mask) \ -+ ( EXT2_SB(sb)->s_feature_compat & (mask) ) -+#define EXT2_HAS_RO_COMPAT_FEATURE(sb,mask) \ -+ ( EXT2_SB(sb)->s_feature_ro_compat & (mask) ) -+#define EXT2_HAS_INCOMPAT_FEATURE(sb,mask) \ -+ ( EXT2_SB(sb)->s_feature_incompat & (mask) ) -+ -+#define EXT2_FEATURE_COMPAT_DIR_PREALLOC 0x0001 -+#define EXT2_FEATURE_COMPAT_IMAGIC_INODES 0x0002 -+#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004 -+#define EXT2_FEATURE_COMPAT_EXT_ATTR 0x0008 -+#define EXT2_FEATURE_COMPAT_RESIZE_INO 0x0010 -+#define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020 -+ -+#define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001 -+#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 -+/* #define EXT2_FEATURE_RO_COMPAT_BTREE_DIR 0x0004 not used */ -+ -+#define EXT2_FEATURE_INCOMPAT_COMPRESSION 0x0001 -+#define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002 -+#define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004 /* Needs recovery */ -+#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008 /* Journal device */ -+#define EXT2_FEATURE_INCOMPAT_META_BG 0x0010 -+#define EXT3_FEATURE_INCOMPAT_EXTENTS 0x0040 -+ -+ -+#define EXT2_FEATURE_COMPAT_SUPP 0 -+#define EXT2_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE) -+#define EXT2_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \ -+ EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \ -+ EXT2_FEATURE_RO_COMPAT_BTREE_DIR) -+ -+/* -+ * Default values for user and/or group using reserved blocks -+ */ -+#define EXT2_DEF_RESUID 0 -+#define EXT2_DEF_RESGID 0 -+ -+/* -+ * Default mount options -+ */ -+#define EXT2_DEFM_DEBUG 0x0001 -+#define EXT2_DEFM_BSDGROUPS 0x0002 -+#define EXT2_DEFM_XATTR_USER 0x0004 -+#define EXT2_DEFM_ACL 0x0008 -+#define EXT2_DEFM_UID16 0x0010 -+#define EXT3_DEFM_JMODE 0x0060 -+#define EXT3_DEFM_JMODE_DATA 0x0020 -+#define EXT3_DEFM_JMODE_ORDERED 0x0040 -+#define EXT3_DEFM_JMODE_WBACK 0x0060 -+ -+/* -+ * Structure of a directory entry -+ */ -+#define EXT2_NAME_LEN 255 -+ -+struct ext2_dir_entry { -+ uint32_t inode; /* Inode number */ -+ uint16_t rec_len; /* Directory entry length */ -+ uint16_t name_len; /* Name length */ -+ char name[EXT2_NAME_LEN]; /* File name */ -+}; -+ -+/* -+ * The new version of the directory entry. Since EXT2 structures are -+ * stored in intel byte order, and the name_len field could never be -+ * bigger than 255 chars, it's safe to reclaim the extra byte for the -+ * file_type field. -+ */ -+struct ext2_dir_entry_2 { -+ uint32_t inode; /* Inode number */ -+ uint16_t rec_len; /* Directory entry length */ -+ uint8_t name_len; /* Name length */ -+ uint8_t file_type; -+ char name[EXT2_NAME_LEN]; /* File name */ -+}; -+ -+/* -+ * Ext2 directory file types. Only the low 3 bits are used. The -+ * other bits are reserved for now. -+ */ -+#define EXT2_FT_UNKNOWN 0 -+#define EXT2_FT_REG_FILE 1 -+#define EXT2_FT_DIR 2 -+#define EXT2_FT_CHRDEV 3 -+#define EXT2_FT_BLKDEV 4 -+#define EXT2_FT_FIFO 5 -+#define EXT2_FT_SOCK 6 -+#define EXT2_FT_SYMLINK 7 -+ -+#define EXT2_FT_MAX 8 -+ -+/* -+ * EXT2_DIR_PAD defines the directory entries boundaries -+ * -+ * NOTE: It must be a multiple of 4 -+ */ -+#define EXT2_DIR_PAD 4 -+#define EXT2_DIR_ROUND (EXT2_DIR_PAD - 1) -+#define EXT2_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT2_DIR_ROUND) & \ -+ ~EXT2_DIR_ROUND) -+ -+#endif -diff --git a/include/bb_linux_ext2_fs.h b/include/bb_linux_ext2_fs.h -deleted file mode 100644 -index fdc470b..0000000 ---- a/include/bb_linux_ext2_fs.h -+++ /dev/null -@@ -1,547 +0,0 @@ --/* -- * Work around linux/ext2_fs.h breakage. -- * linux/ext2_fs.h might be removed from future kernel header distribution. -- * See https://bugzilla.kernel.org/show_bug.cgi?id=42986 -- * -- * Licensed under GPLv2, see file LICENSE in this source tree. -- */ --#ifndef BB_LINUX_EXT2_FS_H --#define BB_LINUX_EXT2_FS_H -- --/* -- * From linux/magic.h -- */ -- --#define EXT2_SUPER_MAGIC 0xEF53 --#define EXT3_SUPER_MAGIC 0xEF53 --#define EXT4_SUPER_MAGIC 0xEF53 -- --/* -- * From linux/ext2_fs.h, with minor changes. -- */ -- --/* -- * Copyright (C) 1992, 1993, 1994, 1995 -- * Remy Card (card@masi.ibp.fr) -- * Laboratoire MASI - Institut Blaise Pascal -- * Universite Pierre et Marie Curie (Paris VI) -- * -- * from -- * -- * linux/include/linux/minix_fs.h -- * -- * Copyright (C) 1991, 1992 Linus Torvalds -- */ -- --/* -- * The second extended filesystem constants/structures -- */ -- --/* -- * Define EXT2_RESERVATION to reserve data blocks for expanding files -- */ --#define EXT2_DEFAULT_RESERVE_BLOCKS 8 --/*max window size: 1024(direct blocks) + 3([t,d]indirect blocks) */ --#define EXT2_MAX_RESERVE_BLOCKS 1027 --#define EXT2_RESERVE_WINDOW_NOT_ALLOCATED 0 -- --/* -- * Special inode numbers -- */ --#define EXT2_BAD_INO 1 /* Bad blocks inode */ --#define EXT2_ROOT_INO 2 /* Root inode */ --#define EXT2_BOOT_LOADER_INO 5 /* Boot loader inode */ --#define EXT2_UNDEL_DIR_INO 6 /* Undelete directory inode */ -- --/* First non-reserved inode for old ext2 filesystems */ --#define EXT2_GOOD_OLD_FIRST_INO 11 -- --/* Assume that user mode programs are passing in an ext2fs superblock, not -- * a kernel struct super_block. This will allow us to call the feature-test -- * macros from user land. */ --#define EXT2_SB(sb) (sb) -- --/* -- * Maximal count of links to a file -- */ --#define EXT2_LINK_MAX 32000 -- --/* -- * Macro-instructions used to manage several block sizes -- */ --#define EXT2_MIN_BLOCK_SIZE 1024 --#define EXT2_MAX_BLOCK_SIZE 4096 --#define EXT2_MIN_BLOCK_LOG_SIZE 10 --# define EXT2_BLOCK_SIZE(s) (EXT2_MIN_BLOCK_SIZE << (s)->s_log_block_size) --#define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (uint32_t)) --# define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10) --#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ -- EXT2_GOOD_OLD_INODE_SIZE : \ -- (s)->s_inode_size) --#define EXT2_FIRST_INO(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ -- EXT2_GOOD_OLD_FIRST_INO : \ -- (s)->s_first_ino) -- --/* -- * Macro-instructions used to manage fragments -- */ --#define EXT2_MIN_FRAG_SIZE 1024 --#define EXT2_MAX_FRAG_SIZE 4096 --#define EXT2_MIN_FRAG_LOG_SIZE 10 --# define EXT2_FRAG_SIZE(s) (EXT2_MIN_FRAG_SIZE << (s)->s_log_frag_size) --# define EXT2_FRAGS_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / EXT2_FRAG_SIZE(s)) -- --/* -- * Structure of a blocks group descriptor -- */ --struct ext2_group_desc --{ -- uint32_t bg_block_bitmap; /* Blocks bitmap block */ -- uint32_t bg_inode_bitmap; /* Inodes bitmap block */ -- uint32_t bg_inode_table; /* Inodes table block */ -- uint16_t bg_free_blocks_count; /* Free blocks count */ -- uint16_t bg_free_inodes_count; /* Free inodes count */ -- uint16_t bg_used_dirs_count; /* Directories count */ -- uint16_t bg_pad; -- uint32_t bg_reserved[3]; --}; -- --/* -- * Macro-instructions used to manage group descriptors -- */ --# define EXT2_BLOCKS_PER_GROUP(s) ((s)->s_blocks_per_group) --# define EXT2_DESC_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc)) --# define EXT2_INODES_PER_GROUP(s) ((s)->s_inodes_per_group) -- --/* -- * Constants relative to the data blocks -- */ --#define EXT2_NDIR_BLOCKS 12 --#define EXT2_IND_BLOCK EXT2_NDIR_BLOCKS --#define EXT2_DIND_BLOCK (EXT2_IND_BLOCK + 1) --#define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1) --#define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1) -- --/* -- * Inode flags (GETFLAGS/SETFLAGS) -- */ --#define EXT2_SECRM_FL FS_SECRM_FL /* Secure deletion */ --#define EXT2_UNRM_FL FS_UNRM_FL /* Undelete */ --#define EXT2_COMPR_FL FS_COMPR_FL /* Compress file */ --#define EXT2_SYNC_FL FS_SYNC_FL /* Synchronous updates */ --#define EXT2_IMMUTABLE_FL FS_IMMUTABLE_FL /* Immutable file */ --#define EXT2_APPEND_FL FS_APPEND_FL /* writes to file may only append */ --#define EXT2_NODUMP_FL FS_NODUMP_FL /* do not dump file */ --#define EXT2_NOATIME_FL FS_NOATIME_FL /* do not update atime */ --/* Reserved for compression usage... */ --#define EXT2_DIRTY_FL FS_DIRTY_FL --#define EXT2_COMPRBLK_FL FS_COMPRBLK_FL /* One or more compressed clusters */ --#define EXT2_NOCOMP_FL FS_NOCOMP_FL /* Don't compress */ --#define EXT2_ECOMPR_FL FS_ECOMPR_FL /* Compression error */ --/* End compression flags --- maybe not all used */ --#define EXT2_BTREE_FL FS_BTREE_FL /* btree format dir */ --#define EXT2_INDEX_FL FS_INDEX_FL /* hash-indexed directory */ --#define EXT2_IMAGIC_FL FS_IMAGIC_FL /* AFS directory */ --#define EXT2_JOURNAL_DATA_FL FS_JOURNAL_DATA_FL /* Reserved for ext3 */ --#define EXT2_NOTAIL_FL FS_NOTAIL_FL /* file tail should not be merged */ --#define EXT2_DIRSYNC_FL FS_DIRSYNC_FL /* dirsync behaviour (directories only) */ --#define EXT2_TOPDIR_FL FS_TOPDIR_FL /* Top of directory hierarchies*/ --#define EXT2_RESERVED_FL FS_RESERVED_FL /* reserved for ext2 lib */ -- --#define EXT2_FL_USER_VISIBLE FS_FL_USER_VISIBLE /* User visible flags */ --#define EXT2_FL_USER_MODIFIABLE FS_FL_USER_MODIFIABLE /* User modifiable flags */ -- --/* Flags that should be inherited by new inodes from their parent. */ --#define EXT2_FL_INHERITED (EXT2_SECRM_FL | EXT2_UNRM_FL | EXT2_COMPR_FL |\ -- EXT2_SYNC_FL | EXT2_IMMUTABLE_FL | EXT2_APPEND_FL |\ -- EXT2_NODUMP_FL | EXT2_NOATIME_FL | EXT2_COMPRBLK_FL|\ -- EXT2_NOCOMP_FL | EXT2_JOURNAL_DATA_FL |\ -- EXT2_NOTAIL_FL | EXT2_DIRSYNC_FL) -- --/* Flags that are appropriate for regular files (all but dir-specific ones). */ --#define EXT2_REG_FLMASK (~(EXT2_DIRSYNC_FL | EXT2_TOPDIR_FL)) -- --/* Flags that are appropriate for non-directories/regular files. */ --#define EXT2_OTHER_FLMASK (EXT2_NODUMP_FL | EXT2_NOATIME_FL) -- --/* Mask out flags that are inappropriate for the given type of inode. */ --static inline uint32_t ext2_mask_flags(mode_t mode, uint32_t flags) --{ -- if (S_ISDIR(mode)) -- return flags; -- else if (S_ISREG(mode)) -- return flags & EXT2_REG_FLMASK; -- else -- return flags & EXT2_OTHER_FLMASK; --} -- --/* -- * ioctl commands -- */ --#define EXT2_IOC_GETFLAGS FS_IOC_GETFLAGS --#define EXT2_IOC_SETFLAGS FS_IOC_SETFLAGS --#define EXT2_IOC_GETVERSION FS_IOC_GETVERSION --#define EXT2_IOC_SETVERSION FS_IOC_SETVERSION --#define EXT2_IOC_GETRSVSZ _IOR('f', 5, long) --#define EXT2_IOC_SETRSVSZ _IOW('f', 6, long) -- --/* -- * ioctl commands in 32 bit emulation -- */ --#define EXT2_IOC32_GETFLAGS FS_IOC32_GETFLAGS --#define EXT2_IOC32_SETFLAGS FS_IOC32_SETFLAGS --#define EXT2_IOC32_GETVERSION FS_IOC32_GETVERSION --#define EXT2_IOC32_SETVERSION FS_IOC32_SETVERSION -- --/* -- * Structure of an inode on the disk -- */ --struct ext2_inode { -- uint16_t i_mode; /* File mode */ -- uint16_t i_uid; /* Low 16 bits of Owner Uid */ -- uint32_t i_size; /* Size in bytes */ -- uint32_t i_atime; /* Access time */ -- uint32_t i_ctime; /* Creation time */ -- uint32_t i_mtime; /* Modification time */ -- uint32_t i_dtime; /* Deletion Time */ -- uint16_t i_gid; /* Low 16 bits of Group Id */ -- uint16_t i_links_count; /* Links count */ -- uint32_t i_blocks; /* Blocks count */ -- uint32_t i_flags; /* File flags */ -- union { -- struct { -- uint32_t l_i_reserved1; -- } linux1; -- struct { -- uint32_t h_i_translator; -- } hurd1; -- struct { -- uint32_t m_i_reserved1; -- } masix1; -- } osd1; /* OS dependent 1 */ -- uint32_t i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ -- uint32_t i_generation; /* File version (for NFS) */ -- uint32_t i_file_acl; /* File ACL */ -- uint32_t i_dir_acl; /* Directory ACL */ -- uint32_t i_faddr; /* Fragment address */ -- union { -- struct { -- uint8_t l_i_frag; /* Fragment number */ -- uint8_t l_i_fsize; /* Fragment size */ -- uint16_t i_pad1; -- uint16_t l_i_uid_high; /* these 2 fields */ -- uint16_t l_i_gid_high; /* were reserved2[0] */ -- uint32_t l_i_reserved2; -- } linux2; -- struct { -- uint8_t h_i_frag; /* Fragment number */ -- uint8_t h_i_fsize; /* Fragment size */ -- uint16_t h_i_mode_high; -- uint16_t h_i_uid_high; -- uint16_t h_i_gid_high; -- uint32_t h_i_author; -- } hurd2; -- struct { -- uint8_t m_i_frag; /* Fragment number */ -- uint8_t m_i_fsize; /* Fragment size */ -- uint16_t m_pad1; -- uint32_t m_i_reserved2[2]; -- } masix2; -- } osd2; /* OS dependent 2 */ --}; -- --#define i_size_high i_dir_acl -- --#if defined(__KERNEL__) || defined(__linux__) --#define i_reserved1 osd1.linux1.l_i_reserved1 --#define i_frag osd2.linux2.l_i_frag --#define i_fsize osd2.linux2.l_i_fsize --#define i_uid_low i_uid --#define i_gid_low i_gid --#define i_uid_high osd2.linux2.l_i_uid_high --#define i_gid_high osd2.linux2.l_i_gid_high --#define i_reserved2 osd2.linux2.l_i_reserved2 --#endif -- --#ifdef __hurd__ --#define i_translator osd1.hurd1.h_i_translator --#define i_frag osd2.hurd2.h_i_frag --#define i_fsize osd2.hurd2.h_i_fsize --#define i_uid_high osd2.hurd2.h_i_uid_high --#define i_gid_high osd2.hurd2.h_i_gid_high --#define i_author osd2.hurd2.h_i_author --#endif -- --#ifdef __masix__ --#define i_reserved1 osd1.masix1.m_i_reserved1 --#define i_frag osd2.masix2.m_i_frag --#define i_fsize osd2.masix2.m_i_fsize --#define i_reserved2 osd2.masix2.m_i_reserved2 --#endif -- --/* -- * File system states -- */ --#define EXT2_VALID_FS 0x0001 /* Unmounted cleanly */ --#define EXT2_ERROR_FS 0x0002 /* Errors detected */ -- --/* -- * Mount flags -- */ --#define EXT2_MOUNT_CHECK 0x000001 /* Do mount-time checks */ --#define EXT2_MOUNT_OLDALLOC 0x000002 /* Don't use the new Orlov allocator */ --#define EXT2_MOUNT_GRPID 0x000004 /* Create files with directory's group */ --#define EXT2_MOUNT_DEBUG 0x000008 /* Some debugging messages */ --#define EXT2_MOUNT_ERRORS_CONT 0x000010 /* Continue on errors */ --#define EXT2_MOUNT_ERRORS_RO 0x000020 /* Remount fs ro on errors */ --#define EXT2_MOUNT_ERRORS_PANIC 0x000040 /* Panic on errors */ --#define EXT2_MOUNT_MINIX_DF 0x000080 /* Mimics the Minix statfs */ --#define EXT2_MOUNT_NOBH 0x000100 /* No buffer_heads */ --#define EXT2_MOUNT_NO_UID32 0x000200 /* Disable 32-bit UIDs */ --#define EXT2_MOUNT_XATTR_USER 0x004000 /* Extended user attributes */ --#define EXT2_MOUNT_POSIX_ACL 0x008000 /* POSIX Access Control Lists */ --#define EXT2_MOUNT_XIP 0x010000 /* Execute in place */ --#define EXT2_MOUNT_USRQUOTA 0x020000 /* user quota */ --#define EXT2_MOUNT_GRPQUOTA 0x040000 /* group quota */ --#define EXT2_MOUNT_RESERVATION 0x080000 /* Preallocation */ -- -- --#define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt --#define set_opt(o, opt) o |= EXT2_MOUNT_##opt --#define test_opt(sb, opt) (EXT2_SB(sb)->s_mount_opt & \ -- EXT2_MOUNT_##opt) --/* -- * Maximal mount counts between two filesystem checks -- */ --#define EXT2_DFL_MAX_MNT_COUNT 20 /* Allow 20 mounts */ --#define EXT2_DFL_CHECKINTERVAL 0 /* Don't use interval check */ -- --/* -- * Behaviour when detecting errors -- */ --#define EXT2_ERRORS_CONTINUE 1 /* Continue execution */ --#define EXT2_ERRORS_RO 2 /* Remount fs read-only */ --#define EXT2_ERRORS_PANIC 3 /* Panic */ --#define EXT2_ERRORS_DEFAULT EXT2_ERRORS_CONTINUE -- --/* -- * Structure of the super block -- */ --struct ext2_super_block { -- uint32_t s_inodes_count; /* Inodes count */ -- uint32_t s_blocks_count; /* Blocks count */ -- uint32_t s_r_blocks_count; /* Reserved blocks count */ -- uint32_t s_free_blocks_count; /* Free blocks count */ -- uint32_t s_free_inodes_count; /* Free inodes count */ -- uint32_t s_first_data_block; /* First Data Block */ -- uint32_t s_log_block_size; /* Block size */ -- uint32_t s_log_frag_size; /* Fragment size */ -- uint32_t s_blocks_per_group; /* # Blocks per group */ -- uint32_t s_frags_per_group; /* # Fragments per group */ -- uint32_t s_inodes_per_group; /* # Inodes per group */ -- uint32_t s_mtime; /* Mount time */ -- uint32_t s_wtime; /* Write time */ -- uint16_t s_mnt_count; /* Mount count */ -- uint16_t s_max_mnt_count; /* Maximal mount count */ -- uint16_t s_magic; /* Magic signature */ -- uint16_t s_state; /* File system state */ -- uint16_t s_errors; /* Behaviour when detecting errors */ -- uint16_t s_minor_rev_level; /* minor revision level */ -- uint32_t s_lastcheck; /* time of last check */ -- uint32_t s_checkinterval; /* max. time between checks */ -- uint32_t s_creator_os; /* OS */ -- uint32_t s_rev_level; /* Revision level */ -- uint16_t s_def_resuid; /* Default uid for reserved blocks */ -- uint16_t s_def_resgid; /* Default gid for reserved blocks */ -- /* -- * These fields are for EXT2_DYNAMIC_REV superblocks only. -- * -- * Note: the difference between the compatible feature set and -- * the incompatible feature set is that if there is a bit set -- * in the incompatible feature set that the kernel doesn't -- * know about, it should refuse to mount the filesystem. -- * -- * e2fsck's requirements are more strict; if it doesn't know -- * about a feature in either the compatible or incompatible -- * feature set, it must abort and not try to meddle with -- * things it doesn't understand... -- */ -- uint32_t s_first_ino; /* First non-reserved inode */ -- uint16_t s_inode_size; /* size of inode structure */ -- uint16_t s_block_group_nr; /* block group # of this superblock */ -- uint32_t s_feature_compat; /* compatible feature set */ -- uint32_t s_feature_incompat; /* incompatible feature set */ -- uint32_t s_feature_ro_compat; /* readonly-compatible feature set */ -- uint8_t s_uuid[16]; /* 128-bit uuid for volume */ -- char s_volume_name[16]; /* volume name */ -- char s_last_mounted[64]; /* directory where last mounted */ -- uint32_t s_algorithm_usage_bitmap; /* For compression */ -- /* -- * Performance hints. Directory preallocation should only -- * happen if the EXT2_COMPAT_PREALLOC flag is on. -- */ -- uint8_t s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ -- uint8_t s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ -- uint16_t s_padding1; -- /* -- * Journaling support valid if EXT3_FEATURE_COMPAT_HAS_JOURNAL set. -- */ -- uint8_t s_journal_uuid[16]; /* uuid of journal superblock */ -- uint32_t s_journal_inum; /* inode number of journal file */ -- uint32_t s_journal_dev; /* device number of journal file */ -- uint32_t s_last_orphan; /* start of list of inodes to delete */ -- uint32_t s_hash_seed[4]; /* HTREE hash seed */ -- uint8_t s_def_hash_version; /* Default hash version to use */ -- uint8_t s_reserved_char_pad; -- uint16_t s_reserved_word_pad; -- uint32_t s_default_mount_opts; -- uint32_t s_first_meta_bg; /* First metablock block group */ -- uint32_t s_reserved[190]; /* Padding to the end of the block */ --}; -- --/* -- * Codes for operating systems -- */ --#define EXT2_OS_LINUX 0 --#define EXT2_OS_HURD 1 --#define EXT2_OS_MASIX 2 --#define EXT2_OS_FREEBSD 3 --#define EXT2_OS_LITES 4 -- --/* -- * Revision levels -- */ --#define EXT2_GOOD_OLD_REV 0 /* The good old (original) format */ --#define EXT2_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */ -- --#define EXT2_CURRENT_REV EXT2_GOOD_OLD_REV --#define EXT2_MAX_SUPP_REV EXT2_DYNAMIC_REV -- --#define EXT2_GOOD_OLD_INODE_SIZE 128 -- --/* -- * Feature set definitions -- */ -- --#define EXT2_HAS_COMPAT_FEATURE(sb,mask) \ -- ( EXT2_SB(sb)->s_es->s_feature_compat & cpu_to_le32(mask) ) --#define EXT2_HAS_RO_COMPAT_FEATURE(sb,mask) \ -- ( EXT2_SB(sb)->s_es->s_feature_ro_compat & cpu_to_le32(mask) ) --#define EXT2_HAS_INCOMPAT_FEATURE(sb,mask) \ -- ( EXT2_SB(sb)->s_es->s_feature_incompat & cpu_to_le32(mask) ) --#define EXT2_SET_COMPAT_FEATURE(sb,mask) \ -- EXT2_SB(sb)->s_es->s_feature_compat |= cpu_to_le32(mask) --#define EXT2_SET_RO_COMPAT_FEATURE(sb,mask) \ -- EXT2_SB(sb)->s_es->s_feature_ro_compat |= cpu_to_le32(mask) --#define EXT2_SET_INCOMPAT_FEATURE(sb,mask) \ -- EXT2_SB(sb)->s_es->s_feature_incompat |= cpu_to_le32(mask) --#define EXT2_CLEAR_COMPAT_FEATURE(sb,mask) \ -- EXT2_SB(sb)->s_es->s_feature_compat &= ~cpu_to_le32(mask) --#define EXT2_CLEAR_RO_COMPAT_FEATURE(sb,mask) \ -- EXT2_SB(sb)->s_es->s_feature_ro_compat &= ~cpu_to_le32(mask) --#define EXT2_CLEAR_INCOMPAT_FEATURE(sb,mask) \ -- EXT2_SB(sb)->s_es->s_feature_incompat &= ~cpu_to_le32(mask) -- --#define EXT2_FEATURE_COMPAT_DIR_PREALLOC 0x0001 --#define EXT2_FEATURE_COMPAT_IMAGIC_INODES 0x0002 --#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004 --#define EXT2_FEATURE_COMPAT_EXT_ATTR 0x0008 --#define EXT2_FEATURE_COMPAT_RESIZE_INO 0x0010 --#define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020 --#define EXT2_FEATURE_COMPAT_ANY 0xffffffff -- --#define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001 --#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 --#define EXT2_FEATURE_RO_COMPAT_BTREE_DIR 0x0004 --#define EXT2_FEATURE_RO_COMPAT_ANY 0xffffffff -- --#define EXT2_FEATURE_INCOMPAT_COMPRESSION 0x0001 --#define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002 --#define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004 --#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008 --#define EXT2_FEATURE_INCOMPAT_META_BG 0x0010 --#define EXT2_FEATURE_INCOMPAT_ANY 0xffffffff -- --#define EXT2_FEATURE_COMPAT_SUPP EXT2_FEATURE_COMPAT_EXT_ATTR --#define EXT2_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE| \ -- EXT2_FEATURE_INCOMPAT_META_BG) --#define EXT2_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \ -- EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \ -- EXT2_FEATURE_RO_COMPAT_BTREE_DIR) --#define EXT2_FEATURE_RO_COMPAT_UNSUPPORTED ~EXT2_FEATURE_RO_COMPAT_SUPP --#define EXT2_FEATURE_INCOMPAT_UNSUPPORTED ~EXT2_FEATURE_INCOMPAT_SUPP -- --/* -- * Default values for user and/or group using reserved blocks -- */ --#define EXT2_DEF_RESUID 0 --#define EXT2_DEF_RESGID 0 -- --/* -- * Default mount options -- */ --#define EXT2_DEFM_DEBUG 0x0001 --#define EXT2_DEFM_BSDGROUPS 0x0002 --#define EXT2_DEFM_XATTR_USER 0x0004 --#define EXT2_DEFM_ACL 0x0008 --#define EXT2_DEFM_UID16 0x0010 -- /* Not used by ext2, but reserved for use by ext3 */ --#define EXT3_DEFM_JMODE 0x0060 --#define EXT3_DEFM_JMODE_DATA 0x0020 --#define EXT3_DEFM_JMODE_ORDERED 0x0040 --#define EXT3_DEFM_JMODE_WBACK 0x0060 -- --/* -- * Structure of a directory entry -- */ --#define EXT2_NAME_LEN 255 -- --struct ext2_dir_entry { -- uint32_t inode; /* Inode number */ -- uint16_t rec_len; /* Directory entry length */ -- uint16_t name_len; /* Name length */ -- char name[EXT2_NAME_LEN]; /* File name */ --}; -- --/* -- * The new version of the directory entry. Since EXT2 structures are -- * stored in intel byte order, and the name_len field could never be -- * bigger than 255 chars, it's safe to reclaim the extra byte for the -- * file_type field. -- */ --struct ext2_dir_entry_2 { -- uint32_t inode; /* Inode number */ -- uint16_t rec_len; /* Directory entry length */ -- uint8_t name_len; /* Name length */ -- uint8_t file_type; -- char name[EXT2_NAME_LEN]; /* File name */ --}; -- --/* -- * Ext2 directory file types. Only the low 3 bits are used. The -- * other bits are reserved for now. -- */ --enum { -- EXT2_FT_UNKNOWN = 0, -- EXT2_FT_REG_FILE = 1, -- EXT2_FT_DIR = 2, -- EXT2_FT_CHRDEV = 3, -- EXT2_FT_BLKDEV = 4, -- EXT2_FT_FIFO = 5, -- EXT2_FT_SOCK = 6, -- EXT2_FT_SYMLINK = 7, -- EXT2_FT_MAX --}; -- --/* -- * EXT2_DIR_PAD defines the directory entries boundaries -- * -- * NOTE: It must be a multiple of 4 -- */ --#define EXT2_DIR_PAD 4 --#define EXT2_DIR_ROUND (EXT2_DIR_PAD - 1) --#define EXT2_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT2_DIR_ROUND) & \ -- ~EXT2_DIR_ROUND) --#define EXT2_MAX_REC_LEN ((1<<16)-1) -- --#endif -diff --git a/util-linux/mkfs_ext2.c b/util-linux/mkfs_ext2.c -index 2d9d720..69b25c9 100644 ---- a/util-linux/mkfs_ext2.c -+++ b/util-linux/mkfs_ext2.c -@@ -48,7 +48,7 @@ - - #include "libbb.h" - #include --#include "bb_linux_ext2_fs.h" -+#include "bb_e2fs_defs.h" - - #define ENABLE_FEATURE_MKFS_EXT2_RESERVED_GDT 0 - #define ENABLE_FEATURE_MKFS_EXT2_DIR_INDEX 1 --- -1.7.9.5 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0003-ifupdown-remove-interface-from-state_list-if-iface_u.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0003-ifupdown-remove-interface-from-state_list-if-iface_u.patch deleted file mode 100644 index 2f96179..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0003-ifupdown-remove-interface-from-state_list-if-iface_u.patch +++ /dev/null @@ -1,31 +0,0 @@ -From a7b406ba64b7a4d9c9610726cb72568fc9848f5d Mon Sep 17 00:00:00 2001 -From: Lauri Hintsala -Date: Wed, 14 Dec 2011 16:49:58 +0200 -Subject: [PATCH 03/10] ifupdown: remove interface from state_list if iface_up - fails - -Fix the issue where interface is set to the configured state even if -configuration has failed. Add error check to state setting logic. - -Signed-off-by: Lauri Hintsala -Signed-off-by: Denys Vlasenko ---- - networking/ifupdown.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/networking/ifupdown.c b/networking/ifupdown.c -index 5946323..9c2cad2 100644 ---- a/networking/ifupdown.c -+++ b/networking/ifupdown.c -@@ -1311,7 +1311,7 @@ int ifupdown_main(int argc UNUSED_PARAM, char **argv) - llist_t *state_list = read_iface_state(); - llist_t *iface_state = find_iface_state(state_list, iface); - -- if (cmds == iface_up) { -+ if (cmds == iface_up && !any_failures) { - char * const newiface = xasprintf("%s=%s", iface, liface); - if (iface_state == NULL) { - llist_add_to_end(&state_list, newiface); --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0004-ifupdown-support-metric-for-static-default-gw.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0004-ifupdown-support-metric-for-static-default-gw.patch deleted file mode 100644 index d9c14aa..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0004-ifupdown-support-metric-for-static-default-gw.patch +++ /dev/null @@ -1,64 +0,0 @@ -From fecb0cbff5ca703f8fc00a8e0e93f1f2e3ae942b Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Fri, 17 Feb 2012 19:36:26 +0000 -Subject: [PATCH 04/10] ifupdown: support metric for static default gw - -This is useful when you have multiple ISPs with failover. It allows -setting the priority of the static gateway and makes it possible -to specify multiple static gateways. - -The ubuntu ifupdown supports it. - -function old new delta -.rodata 116725 116797 +72 ------------------------------------------------------------------------------- -(add/remove: 0/0 grow/shrink: 1/0 up/down: 72/0) Total: 72 bytes - text data bss dec hex filename - 953343 7313 8984 969640 ecba8 busybox_old - 953415 7313 8984 969712 ecbf0 busybox_unstripped - -Signed-off-by: Natanael Copa -Signed-off-by: Denys Vlasenko ---- - networking/ifupdown.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/networking/ifupdown.c b/networking/ifupdown.c -index 9c2cad2..9f49619 100644 ---- a/networking/ifupdown.c -+++ b/networking/ifupdown.c -@@ -403,11 +403,11 @@ static int FAST_FUNC static_up6(struct interface_defn_t *ifd, execfn *exec) - result = execute("ip addr add %address%/%netmask% dev %iface%[[ label %label%]]", ifd, exec); - result += execute("ip link set[[ mtu %mtu%]][[ addr %hwaddress%]] %iface% up", ifd, exec); - /* Was: "[[ ip ....%gateway% ]]". Removed extra spaces w/o checking */ -- result += execute("[[ip route add ::/0 via %gateway%]]", ifd, exec); -+ result += execute("[[ip route add ::/0 via %gateway%]][[ prio %metric%]]", ifd, exec); - # else - result = execute("ifconfig %iface%[[ media %media%]][[ hw %hwaddress%]][[ mtu %mtu%]] up", ifd, exec); - result += execute("ifconfig %iface% add %address%/%netmask%", ifd, exec); -- result += execute("[[route -A inet6 add ::/0 gw %gateway%]]", ifd, exec); -+ result += execute("[[route -A inet6 add ::/0 gw %gateway%[[ metric %metric%]]]]", ifd, exec); - # endif - return ((result == 3) ? 3 : 0); - } -@@ -490,7 +490,7 @@ static int FAST_FUNC static_up(struct interface_defn_t *ifd, execfn *exec) - result = execute("ip addr add %address%/%bnmask%[[ broadcast %broadcast%]] " - "dev %iface%[[ peer %pointopoint%]][[ label %label%]]", ifd, exec); - result += execute("ip link set[[ mtu %mtu%]][[ addr %hwaddress%]] %iface% up", ifd, exec); -- result += execute("[[ip route add default via %gateway% dev %iface%]]", ifd, exec); -+ result += execute("[[ip route add default via %gateway% dev %iface%[[ prio %metric%]]]]", ifd, exec); - return ((result == 3) ? 3 : 0); - # else - /* ifconfig said to set iface up before it processes hw %hwaddress%, -@@ -500,7 +500,7 @@ static int FAST_FUNC static_up(struct interface_defn_t *ifd, execfn *exec) - result += execute("ifconfig %iface% %address% netmask %netmask%" - "[[ broadcast %broadcast%]][[ pointopoint %pointopoint%]] ", - ifd, exec); -- result += execute("[[route add default gw %gateway% %iface%]]", ifd, exec); -+ result += execute("[[route add default gw %gateway%[[ metric %metric%]] %iface%]]", ifd, exec); - return ((result == 3) ? 3 : 0); - # endif - } --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0005-ifupdown-improve-compatibility-with-Debian.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0005-ifupdown-improve-compatibility-with-Debian.patch deleted file mode 100644 index ae1f725..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0005-ifupdown-improve-compatibility-with-Debian.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 7ec30bf273cbdf5f0ae335684939a883182e493e Mon Sep 17 00:00:00 2001 -From: Andreas Oberritter -Date: Mon, 23 Apr 2012 22:08:39 +0200 -Subject: [PATCH 05/10] ifupdown: improve compatibility with Debian - -Set environment variable 'PHASE'. -Treat post-up and pre-down as aliases for up and down. -Uses the same logic as ifupdown.nw from ifupdown-0.6.16. -Makes it possible to execute Debian's ifupdown script for -wpa-supplicant. - -Signed-off-by: Andreas Oberritter -Signed-off-by: Denys Vlasenko ---- - networking/ifupdown.c | 20 ++++++++++++-------- - 1 file changed, 12 insertions(+), 8 deletions(-) - -diff --git a/networking/ifupdown.c b/networking/ifupdown.c -index 9f49619..5c3dcec 100644 ---- a/networking/ifupdown.c -+++ b/networking/ifupdown.c -@@ -140,8 +140,6 @@ static const char keywords_up_down[] ALIGN1 = - "up\0" - "down\0" - "pre-up\0" -- "pre-down\0" -- "post-up\0" - "post-down\0" - ; - -@@ -895,6 +893,11 @@ static struct interfaces_file_t *read_interfaces(const char *filename) - if (rest_of_line[0] == '\0') - bb_error_msg_and_die("option with empty value \"%s\"", buf); - -+ if (strcmp(first_word, "post-up") == 0) -+ first_word += 5; /* "up" */ -+ else if (strcmp(first_word, "pre-down") == 0) -+ first_word += 4; /* "down" */ -+ - /* If not one of "up", "down",... words... */ - if (index_in_strings(keywords_up_down, first_word) < 0) { - int i; -@@ -963,7 +966,7 @@ static char *setlocalenv(const char *format, const char *name, const char *value - return result; - } - --static void set_environ(struct interface_defn_t *iface, const char *mode) -+static void set_environ(struct interface_defn_t *iface, const char *mode, const char *opt) - { - int i; - char **pp; -@@ -976,7 +979,7 @@ static void set_environ(struct interface_defn_t *iface, const char *mode) - } - - /* note: last element will stay NULL: */ -- G.my_environ = xzalloc(sizeof(char *) * (iface->n_options + 6)); -+ G.my_environ = xzalloc(sizeof(char *) * (iface->n_options + 7)); - pp = G.my_environ; - - for (i = 0; i < iface->n_options; i++) { -@@ -990,6 +993,7 @@ static void set_environ(struct interface_defn_t *iface, const char *mode) - *pp++ = setlocalenv("%s=%s", "ADDRFAM", iface->address_family->name); - *pp++ = setlocalenv("%s=%s", "METHOD", iface->method->name); - *pp++ = setlocalenv("%s=%s", "MODE", mode); -+ *pp++ = setlocalenv("%s=%s", "PHASE", opt); - if (G.startup_PATH) - *pp++ = setlocalenv("%s=%s", "PATH", G.startup_PATH); - } -@@ -1044,21 +1048,21 @@ static int check(char *str) - static int iface_up(struct interface_defn_t *iface) - { - if (!iface->method->up(iface, check)) return -1; -- set_environ(iface, "start"); -+ set_environ(iface, "start", "pre-up"); - if (!execute_all(iface, "pre-up")) return 0; - if (!iface->method->up(iface, doit)) return 0; -+ set_environ(iface, "start", "post-up"); - if (!execute_all(iface, "up")) return 0; -- if (!execute_all(iface, "post-up")) return 0; - return 1; - } - - static int iface_down(struct interface_defn_t *iface) - { - if (!iface->method->down(iface,check)) return -1; -- set_environ(iface, "stop"); -- if (!execute_all(iface, "pre-down")) return 0; -+ set_environ(iface, "stop", "pre-down"); - if (!execute_all(iface, "down")) return 0; - if (!iface->method->down(iface, doit)) return 0; -+ set_environ(iface, "stop", "post-down"); - if (!execute_all(iface, "post-down")) return 0; - return 1; - } --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0006-get_linux_version_code-don-t-fail-on-3.0-foo.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0006-get_linux_version_code-don-t-fail-on-3.0-foo.patch deleted file mode 100644 index f061814..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0006-get_linux_version_code-don-t-fail-on-3.0-foo.patch +++ /dev/null @@ -1,43 +0,0 @@ -From c011ab2fb52c2ee03aa9544b0d242683ee4362e1 Mon Sep 17 00:00:00 2001 -From: Andreas Oberritter -Date: Fri, 27 Apr 2012 01:40:25 +0200 -Subject: [PATCH 06/10] get_linux_version_code: don't fail on 3.0-foo - -Fixes segmentation fault in mount (nfs): - - #0 __GI_____strtol_l_internal (nptr=0x0, endptr=0x0, base=10, group=, loc=0x77f6f3c8) at strtol_l.c:298 - #1 __GI_strtol (nptr=, endptr=, base=) at strtol.c:110 - #2 get_linux_version_code () at libbb/kernel_version.c:34 - #3 find_kernel_nfs_mount_version () at util-linux/mount.c:979 - -Signed-off-by: Andreas Oberritter ---- - libbb/kernel_version.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/libbb/kernel_version.c b/libbb/kernel_version.c -index a168a1e..12f1146 100644 ---- a/libbb/kernel_version.c -+++ b/libbb/kernel_version.c -@@ -20,7 +20,7 @@ - int FAST_FUNC get_linux_version_code(void) - { - struct utsname name; -- char *s; -+ char *s, *t; - int i, r; - - if (uname(&name) == -1) { -@@ -31,7 +31,8 @@ int FAST_FUNC get_linux_version_code(void) - s = name.release; - r = 0; - for (i = 0; i < 3; i++) { -- r = r * 256 + atoi(strtok(s, ".")); -+ t = strtok(s, "."); -+ r = r * 256 + (t ? atoi(t) : 0); - s = NULL; - } - return r; --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0007-ifplugd-move-read_pid-to-libbb-pidfile.c-and-rename-.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0007-ifplugd-move-read_pid-to-libbb-pidfile.c-and-rename-.patch deleted file mode 100644 index 742e79b..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0007-ifplugd-move-read_pid-to-libbb-pidfile.c-and-rename-.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 4119652f74ce6f8f370df3c80076792d509bc941 Mon Sep 17 00:00:00 2001 -From: Andreas Oberritter -Date: Mon, 14 May 2012 16:15:50 +0200 -Subject: [PATCH 07/10] ifplugd: move read_pid to libbb/pidfile.c and rename - it to read_pidfile - -Signed-off-by: Andreas Oberritter ---- - include/libbb.h | 2 ++ - libbb/pidfile.c | 14 ++++++++++++++ - networking/ifplugd.c | 18 +----------------- - 3 files changed, 17 insertions(+), 17 deletions(-) - -diff --git a/include/libbb.h b/include/libbb.h -index 63d0419..e9538e7 100644 ---- a/include/libbb.h -+++ b/include/libbb.h -@@ -1031,10 +1031,12 @@ llist_t *llist_find_str(llist_t *first, const char *str) FAST_FUNC; - #if ENABLE_FEATURE_PIDFILE || defined(WANT_PIDFILE) - /* True only if we created pidfile which is *file*, not /dev/null etc */ - extern smallint wrote_pidfile; -+pid_t read_pidfile(const char *path) FAST_FUNC; - void write_pidfile(const char *path) FAST_FUNC; - #define remove_pidfile(path) do { if (wrote_pidfile) unlink(path); } while (0) - #else - enum { wrote_pidfile = 0 }; -+#define read_pidfile(path) ((void)0) - #define write_pidfile(path) ((void)0) - #define remove_pidfile(path) ((void)0) - #endif -diff --git a/libbb/pidfile.c b/libbb/pidfile.c -index a48dfc3..6734a2d 100644 ---- a/libbb/pidfile.c -+++ b/libbb/pidfile.c -@@ -13,6 +13,20 @@ - - smallint wrote_pidfile; - -+pid_t FAST_FUNC read_pidfile(const char *filename) -+{ -+ int len; -+ char buf[128]; -+ -+ len = open_read_close(filename, buf, 127); -+ if (len > 0) { -+ buf[len] = '\0'; -+ /* returns ULONG_MAX on error => -1 */ -+ return bb_strtoul(buf, NULL, 10); -+ } -+ return 0; -+} -+ - void FAST_FUNC write_pidfile(const char *path) - { - int pid_fd; -diff --git a/networking/ifplugd.c b/networking/ifplugd.c -index d8358cd..9a15576 100644 ---- a/networking/ifplugd.c -+++ b/networking/ifplugd.c -@@ -510,22 +510,6 @@ static NOINLINE int check_existence_through_netlink(void) - return G.iface_exists; - } - --#if ENABLE_FEATURE_PIDFILE --static NOINLINE pid_t read_pid(const char *filename) --{ -- int len; -- char buf[128]; -- -- len = open_read_close(filename, buf, 127); -- if (len > 0) { -- buf[len] = '\0'; -- /* returns ULONG_MAX on error => -1 */ -- return bb_strtoul(buf, NULL, 10); -- } -- return 0; --} --#endif -- - int ifplugd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; - int ifplugd_main(int argc UNUSED_PARAM, char **argv) - { -@@ -552,7 +536,7 @@ int ifplugd_main(int argc UNUSED_PARAM, char **argv) - - #if ENABLE_FEATURE_PIDFILE - pidfile_name = xasprintf(_PATH_VARRUN"ifplugd.%s.pid", G.iface); -- pid_from_pidfile = read_pid(pidfile_name); -+ pid_from_pidfile = read_pidfile(pidfile_name); - - if (opts & FLAG_KILL) { - if (pid_from_pidfile > 0) --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0008-ifupdown-dhcp_down-wait-until-udhcpc-has-been-killed.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0008-ifupdown-dhcp_down-wait-until-udhcpc-has-been-killed.patch deleted file mode 100644 index 3b43d3d..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0008-ifupdown-dhcp_down-wait-until-udhcpc-has-been-killed.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 517f8da0345752d3cc5e2c99b8acd88c60355373 Mon Sep 17 00:00:00 2001 -From: Andreas Oberritter -Date: Mon, 14 May 2012 16:20:36 +0200 -Subject: [PATCH 08/10] ifupdown: dhcp_down: wait until udhcpc has been killed - -* Otherwise there's a race condition between ifdown and udhcpc, - which executes deconfig scripts in /etc/udhcpc.d. - -Signed-off-by: Andreas Oberritter ---- - networking/ifupdown.c | 23 +++++++++++++++++------ - 1 file changed, 17 insertions(+), 6 deletions(-) - -diff --git a/networking/ifupdown.c b/networking/ifupdown.c -index 5c3dcec..35e5035 100644 ---- a/networking/ifupdown.c -+++ b/networking/ifupdown.c -@@ -618,18 +618,29 @@ static int FAST_FUNC dhcp_down(struct interface_defn_t *ifd, execfn *exec) - static int FAST_FUNC dhcp_down(struct interface_defn_t *ifd, execfn *exec) - { - int result; -- result = execute( -- "test -f /var/run/udhcpc.%iface%.pid && " -- "kill `cat /var/run/udhcpc.%iface%.pid` 2>/dev/null", -- ifd, exec); -+ char *pidfile_name; -+ pid_t pid_from_pidfile; -+ -+ pidfile_name = xasprintf(_PATH_VARRUN "udhcpc.%s.pid", ifd->iface); -+ pid_from_pidfile = read_pidfile(pidfile_name); -+ result = (pid_from_pidfile > 0); - /* Also bring the hardware interface down since - killing the dhcp client alone doesn't do it. - This enables consecutive ifup->ifdown->ifup */ - /* Sleep a bit, otherwise static_down tries to bring down interface too soon, - and it may come back up because udhcpc is still shutting down */ -- usleep(100000); -+ if (result && kill(pid_from_pidfile, SIGTERM) == 0) { -+ unsigned int i; -+ for (i = 0; i < 100; i++) { -+ if (kill(pid_from_pidfile, 0) < 0) { -+ result++; -+ break; -+ } -+ usleep(100000); -+ } -+ } - result += static_down(ifd, exec); -- return ((result == 3) ? 3 : 0); -+ return ((result == 4) ? 4 : 0); - } - # else - static int FAST_FUNC dhcp_down(struct interface_defn_t *ifd UNUSED_PARAM, --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0009-udhcpc-calculate-broadcast-address-if-not-given-by-s.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0009-udhcpc-calculate-broadcast-address-if-not-given-by-s.patch deleted file mode 100644 index b623e3f..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0009-udhcpc-calculate-broadcast-address-if-not-given-by-s.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 7f3d0f0e58602e8d96988736d80ba28d31338ea2 Mon Sep 17 00:00:00 2001 -From: Andreas Oberritter -Date: Mon, 14 May 2012 17:32:16 +0200 -Subject: [PATCH 09/10] udhcpc: calculate broadcast address if not given by - server - -* This is more efficient than doing it in the scripts - -Signed-off-by: Andreas Oberritter ---- - networking/udhcp/common.h | 2 +- - networking/udhcp/dhcpc.c | 16 ++++++++++++++++ - 2 files changed, 17 insertions(+), 1 deletion(-) - -diff --git a/networking/udhcp/common.h b/networking/udhcp/common.h -index ad6991c..1517498 100644 ---- a/networking/udhcp/common.h -+++ b/networking/udhcp/common.h -@@ -122,7 +122,7 @@ enum { - //#define DHCP_ROOT_PATH 0x11 - //#define DHCP_IP_TTL 0x17 - //#define DHCP_MTU 0x1a --//#define DHCP_BROADCAST 0x1c -+#define DHCP_BROADCAST 0x1c - //#define DHCP_ROUTES 0x21 - //#define DHCP_NIS_DOMAIN 0x28 - //#define DHCP_NIS_SERVER 0x29 -diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c -index 4d755e6..9fbd3b3 100644 ---- a/networking/udhcp/dhcpc.c -+++ b/networking/udhcp/dhcpc.c -@@ -399,6 +399,22 @@ static char **fill_envp(struct dhcp_packet *packet) - } - i++; - } -+ /* Calculate the broadcast address, if it wasn't provided -+ * by the server, but a subnet mask of /30 or lower was given. -+ */ -+ if (udhcp_get_option(packet, DHCP_BROADCAST) == NULL) { -+ temp = udhcp_get_option(packet, DHCP_SUBNET); -+ if (temp) { -+ uint32_t subnet; -+ move_from_unaligned32(subnet, temp); -+ if (ntohl(subnet) <= 0xfffffffc) { -+ uint32_t broadcast = packet->yiaddr | ~subnet; -+ *curr = xmalloc(sizeof("broadcast=255.255.255.255")); -+ sprint_nip(*curr, "broadcast=", (uint8_t *)&broadcast); -+ putenv(*curr++); -+ } -+ } -+ } - return envp; - } - --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0010-udhcpc-obtain-hostname-from-OS-by-default.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0010-udhcpc-obtain-hostname-from-OS-by-default.patch deleted file mode 100644 index 489c735..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0010-udhcpc-obtain-hostname-from-OS-by-default.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 2b4773b6ae48fee56c60fb4a1835672cbca78aee Mon Sep 17 00:00:00 2001 -From: Andreas Oberritter -Date: Tue, 15 Jan 2013 17:33:53 +0100 -Subject: [PATCH 10/10] udhcpc: obtain hostname from OS by default - -* Doesn't require the 'hostname' option in /etc/network/interfaces, - and thus makes udhcpc behave like other clients. - -Signed-off-by: Andreas Oberritter ---- - networking/udhcp/dhcpc.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c -index 9fbd3b3..ec9f25d 100644 ---- a/networking/udhcp/dhcpc.c -+++ b/networking/udhcp/dhcpc.c -@@ -1117,6 +1117,13 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) - ); - if (opt & (OPT_h|OPT_H)) - client_config.hostname = alloc_dhcp_option(DHCP_HOST_NAME, str_h, 0); -+ else { -+ char hostname[256]; /* SUSv2: hostnames are <= 255 bytes */ -+ if (gethostname(hostname, sizeof(hostname)) == 0) { -+ hostname[sizeof(hostname) - 1] = '\0'; -+ client_config.hostname = alloc_dhcp_option(DHCP_HOST_NAME, hostname, 0); -+ } -+ } - if (opt & OPT_F) { - /* FQDN option format: [0x51][len][flags][0][0] */ - client_config.fqdn = alloc_dhcp_option(DHCP_FQDN, str_F, 3); --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0011-mount-don-t-pass-option-auto-to-kernel.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0011-mount-don-t-pass-option-auto-to-kernel.patch deleted file mode 100644 index b25d587..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0011-mount-don-t-pass-option-auto-to-kernel.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 7c462943dd3c283314e68e945d544dfbaaa4cb25 Mon Sep 17 00:00:00 2001 -From: Andreas Oberritter -Date: Mon, 22 Apr 2013 10:40:36 +0200 -Subject: [PATCH 11/11] mount: don't pass option "auto" to kernel - -Fixes the following error if "auto" is set in fs options: -| EXT3-fs (sda1): error: unrecognized mount option "auto" or missing value -| EXT4-fs (sda1): Unrecognized mount option "auto" or missing value -| XFS (sda1): unknown mount option [auto]. - -Signed-off-by: Andreas Oberritter ---- - util-linux/mount.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/util-linux/mount.c b/util-linux/mount.c -index 05e532c..670935d 100644 ---- a/util-linux/mount.c -+++ b/util-linux/mount.c -@@ -212,6 +212,7 @@ static const int32_t mount_options[] = { - IF_FEATURE_MOUNT_FSTAB( - /* "defaults" */ 0, - /* "quiet" 0 - do not filter out, vfat wants to see it */ -+ /* "auto" */ 0, - /* "noauto" */ MOUNT_NOAUTO, - /* "sw" */ MOUNT_SWAP, - /* "swap" */ MOUNT_SWAP, -@@ -269,6 +270,7 @@ static const char mount_option_str[] = - IF_FEATURE_MOUNT_FSTAB( - "defaults\0" - // "quiet\0" - do not filter out, vfat wants to see it -+ "auto\0" - "noauto\0" - "sw\0" - "swap\0" --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/change-passwd-default-algorithm.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/change-passwd-default-algorithm.patch deleted file mode 100644 index 43bbb8c..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/change-passwd-default-algorithm.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/loginutils/passwd.c b/loginutils/passwd.c -index 1cfafae..3231b23 100644 ---- a/loginutils/passwd.c -+++ b/loginutils/passwd.c -@@ -94,7 +94,7 @@ int passwd_main(int argc UNUSED_PARAM, char **argv) - }; - unsigned opt; - int rc; -- const char *opt_a = "d"; /* des */ -+ const char *opt_a = "sha512"; /* sha512 */ - const char *filename; - char *myname; - char *name; diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/defconfig b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/defconfig deleted file mode 100644 index 25e9b3b..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/defconfig +++ /dev/null @@ -1,1013 +0,0 @@ -# -# Automatically generated make config: don't edit -# Busybox version: 1.19.4 -# Tue Jan 29 14:06:37 2013 -# -CONFIG_HAVE_DOT_CONFIG=y - -# -# Busybox Settings -# - -# -# General Configuration -# -# CONFIG_DESKTOP is not set -# CONFIG_EXTRA_COMPAT is not set -# CONFIG_INCLUDE_SUSv2 is not set -# CONFIG_USE_PORTABLE_CODE is not set -CONFIG_PLATFORM_LINUX=y -CONFIG_FEATURE_BUFFERS_USE_MALLOC=y -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set -CONFIG_SHOW_USAGE=y -CONFIG_FEATURE_VERBOSE_USAGE=y -CONFIG_FEATURE_COMPRESS_USAGE=y -# CONFIG_FEATURE_INSTALLER is not set -# CONFIG_INSTALL_NO_USR is not set -# CONFIG_LOCALE_SUPPORT is not set -CONFIG_UNICODE_SUPPORT=y -# CONFIG_UNICODE_USING_LOCALE is not set -CONFIG_FEATURE_CHECK_UNICODE_IN_ENV=y -CONFIG_SUBST_WCHAR=0 -CONFIG_LAST_SUPPORTED_WCHAR=0 -# CONFIG_UNICODE_COMBINING_WCHARS is not set -# CONFIG_UNICODE_WIDE_WCHARS is not set -# CONFIG_UNICODE_BIDI_SUPPORT is not set -# CONFIG_UNICODE_NEUTRAL_TABLE is not set -# CONFIG_UNICODE_PRESERVE_BROKEN is not set -CONFIG_LONG_OPTS=y -CONFIG_FEATURE_DEVPTS=y -# CONFIG_FEATURE_CLEAN_UP is not set -CONFIG_FEATURE_UTMP=y -CONFIG_FEATURE_WTMP=y -CONFIG_FEATURE_PIDFILE=y -CONFIG_FEATURE_SUID=y -CONFIG_FEATURE_SUID_CONFIG=y -CONFIG_FEATURE_SUID_CONFIG_QUIET=y -# CONFIG_SELINUX is not set -# CONFIG_FEATURE_PREFER_APPLETS is not set -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" -CONFIG_FEATURE_SYSLOG=y -CONFIG_FEATURE_HAVE_RPC=y - -# -# Build Options -# -# CONFIG_STATIC is not set -# CONFIG_PIE is not set -# CONFIG_NOMMU is not set -# CONFIG_BUILD_LIBBUSYBOX is not set -# CONFIG_FEATURE_INDIVIDUAL is not set -# CONFIG_FEATURE_SHARED_BUSYBOX is not set -CONFIG_LFS=y -CONFIG_CROSS_COMPILER_PREFIX="mipsel-oe-linux-" -CONFIG_EXTRA_CFLAGS=" -Os -pipe -g -feliminate-unused-debug-types" - -# -# Debugging Options -# -# CONFIG_DEBUG is not set -# CONFIG_DEBUG_PESSIMIZE is not set -# CONFIG_WERROR is not set -CONFIG_NO_DEBUG_LIB=y -# CONFIG_DMALLOC is not set -# CONFIG_EFENCE is not set - -# -# Installation Options ("make install" behavior) -# -CONFIG_INSTALL_APPLET_SYMLINKS=y -# CONFIG_INSTALL_APPLET_HARDLINKS is not set -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set -# CONFIG_INSTALL_APPLET_DONT is not set -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set -CONFIG_PREFIX="./_install" - -# -# Busybox Library Tuning -# -CONFIG_FEATURE_SYSTEMD=y -CONFIG_FEATURE_RTMINMAX=y -CONFIG_PASSWORD_MINLEN=6 -CONFIG_MD5_SIZE_VS_SPEED=2 -CONFIG_FEATURE_FAST_TOP=y -# CONFIG_FEATURE_ETC_NETWORKS is not set -CONFIG_FEATURE_USE_TERMIOS=y -CONFIG_FEATURE_EDITING=y -CONFIG_FEATURE_EDITING_MAX_LEN=1024 -CONFIG_FEATURE_EDITING_VI=y -CONFIG_FEATURE_EDITING_HISTORY=63 -CONFIG_FEATURE_EDITING_SAVEHISTORY=y -CONFIG_FEATURE_REVERSE_SEARCH=y -CONFIG_FEATURE_TAB_COMPLETION=y -# CONFIG_FEATURE_USERNAME_COMPLETION is not set -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y -CONFIG_FEATURE_EDITING_ASK_TERMINAL=y -# CONFIG_FEATURE_NON_POSIX_CP is not set -CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y -CONFIG_FEATURE_COPYBUF_KB=64 -CONFIG_FEATURE_SKIP_ROOTFS=y -CONFIG_MONOTONIC_SYSCALL=y -CONFIG_IOCTL_HEX2STR_ERROR=y -# CONFIG_FEATURE_HWIB is not set - -# -# Applets -# - -# -# Archival Utilities -# -CONFIG_FEATURE_SEAMLESS_XZ=y -CONFIG_FEATURE_SEAMLESS_LZMA=y -CONFIG_FEATURE_SEAMLESS_BZ2=y -CONFIG_FEATURE_SEAMLESS_GZ=y -CONFIG_FEATURE_SEAMLESS_Z=y -CONFIG_AR=y -# CONFIG_FEATURE_AR_LONG_FILENAMES is not set -# CONFIG_FEATURE_AR_CREATE is not set -CONFIG_BUNZIP2=y -CONFIG_BZIP2=y -CONFIG_CPIO=y -# CONFIG_FEATURE_CPIO_O is not set -# CONFIG_FEATURE_CPIO_P is not set -# CONFIG_DPKG is not set -# CONFIG_DPKG_DEB is not set -# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set -CONFIG_GUNZIP=y -CONFIG_GZIP=y -# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set -# CONFIG_LZOP is not set -# CONFIG_LZOP_COMPR_HIGH is not set -# CONFIG_RPM2CPIO is not set -# CONFIG_RPM is not set -CONFIG_TAR=y -CONFIG_FEATURE_TAR_CREATE=y -CONFIG_FEATURE_TAR_AUTODETECT=y -CONFIG_FEATURE_TAR_FROM=y -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y -# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y -# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set -# CONFIG_FEATURE_TAR_TO_COMMAND is not set -# CONFIG_FEATURE_TAR_UNAME_GNAME is not set -# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set -# CONFIG_FEATURE_TAR_SELINUX is not set -# CONFIG_UNCOMPRESS is not set -CONFIG_UNLZMA=y -# CONFIG_FEATURE_LZMA_FAST is not set -# CONFIG_LZMA is not set -CONFIG_UNXZ=y -# CONFIG_XZ is not set -CONFIG_UNZIP=y - -# -# Coreutils -# -CONFIG_BASENAME=y -CONFIG_CAT=y -CONFIG_DATE=y -CONFIG_FEATURE_DATE_ISOFMT=y -# CONFIG_FEATURE_DATE_NANO is not set -CONFIG_FEATURE_DATE_COMPAT=y -CONFIG_ID=y -CONFIG_GROUPS=y -CONFIG_TEST=y -CONFIG_FEATURE_TEST_64=y -CONFIG_TOUCH=y -CONFIG_TR=y -CONFIG_FEATURE_TR_CLASSES=y -# CONFIG_FEATURE_TR_EQUIV is not set -CONFIG_BASE64=y -CONFIG_WHO=y -CONFIG_USERS=y -# CONFIG_CAL is not set -# CONFIG_CATV is not set -CONFIG_CHGRP=y -CONFIG_CHMOD=y -CONFIG_CHOWN=y -# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set -CONFIG_CHROOT=y -# CONFIG_CKSUM is not set -# CONFIG_COMM is not set -CONFIG_CP=y -# CONFIG_FEATURE_CP_LONG_OPTIONS is not set -CONFIG_CUT=y -CONFIG_DD=y -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y -CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y -CONFIG_FEATURE_DD_IBS_OBS=y -CONFIG_DF=y -CONFIG_FEATURE_DF_FANCY=y -CONFIG_DIRNAME=y -CONFIG_DOS2UNIX=y -CONFIG_UNIX2DOS=y -CONFIG_DU=y -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y -CONFIG_ECHO=y -CONFIG_FEATURE_FANCY_ECHO=y -CONFIG_ENV=y -CONFIG_FEATURE_ENV_LONG_OPTIONS=y -# CONFIG_EXPAND is not set -# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set -CONFIG_EXPR=y -CONFIG_EXPR_MATH_SUPPORT_64=y -CONFIG_FALSE=y -# CONFIG_FOLD is not set -# CONFIG_FSYNC is not set -CONFIG_HEAD=y -# CONFIG_FEATURE_FANCY_HEAD is not set -# CONFIG_HOSTID is not set -# CONFIG_INSTALL is not set -# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set -CONFIG_LN=y -CONFIG_LOGNAME=y -CONFIG_LS=y -CONFIG_FEATURE_LS_FILETYPES=y -CONFIG_FEATURE_LS_FOLLOWLINKS=y -CONFIG_FEATURE_LS_RECURSIVE=y -CONFIG_FEATURE_LS_SORTFILES=y -CONFIG_FEATURE_LS_TIMESTAMPS=y -CONFIG_FEATURE_LS_USERNAME=y -CONFIG_FEATURE_LS_COLOR=y -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y -CONFIG_MD5SUM=y -CONFIG_MKDIR=y -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y -CONFIG_MKFIFO=y -CONFIG_MKNOD=y -CONFIG_MV=y -# CONFIG_FEATURE_MV_LONG_OPTIONS is not set -CONFIG_NICE=y -CONFIG_NOHUP=y -CONFIG_OD=y -# CONFIG_PRINTENV is not set -CONFIG_PRINTF=y -CONFIG_PWD=y -CONFIG_READLINK=y -CONFIG_FEATURE_READLINK_FOLLOW=y -CONFIG_REALPATH=y -CONFIG_RM=y -CONFIG_RMDIR=y -# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set -CONFIG_SEQ=y -CONFIG_SHA1SUM=y -CONFIG_SHA256SUM=y -CONFIG_SHA512SUM=y -CONFIG_SLEEP=y -CONFIG_FEATURE_FANCY_SLEEP=y -CONFIG_FEATURE_FLOAT_SLEEP=y -CONFIG_SORT=y -CONFIG_FEATURE_SORT_BIG=y -# CONFIG_SPLIT is not set -# CONFIG_FEATURE_SPLIT_FANCY is not set -# CONFIG_STAT is not set -# CONFIG_FEATURE_STAT_FORMAT is not set -CONFIG_STTY=y -# CONFIG_SUM is not set -CONFIG_SYNC=y -# CONFIG_TAC is not set -CONFIG_TAIL=y -CONFIG_FEATURE_FANCY_TAIL=y -CONFIG_TEE=y -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y -CONFIG_TRUE=y -CONFIG_TTY=y -CONFIG_UNAME=y -# CONFIG_UNEXPAND is not set -# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set -CONFIG_UNIQ=y -CONFIG_USLEEP=y -CONFIG_UUDECODE=y -CONFIG_UUENCODE=y -CONFIG_WC=y -# CONFIG_FEATURE_WC_LARGE is not set -CONFIG_WHOAMI=y -CONFIG_YES=y - -# -# Common options for cp and mv -# -CONFIG_FEATURE_PRESERVE_HARDLINKS=y - -# -# Common options for ls, more and telnet -# -CONFIG_FEATURE_AUTOWIDTH=y - -# -# Common options for df, du, ls -# -CONFIG_FEATURE_HUMAN_READABLE=y - -# -# Common options for md5sum, sha1sum, sha256sum, sha512sum -# -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y - -# -# Console Utilities -# -CONFIG_CHVT=y -# CONFIG_FGCONSOLE is not set -CONFIG_CLEAR=y -CONFIG_DEALLOCVT=y -CONFIG_DUMPKMAP=y -CONFIG_KBD_MODE=y -CONFIG_LOADFONT=y -CONFIG_LOADKMAP=y -CONFIG_OPENVT=y -CONFIG_RESET=y -# CONFIG_RESIZE is not set -# CONFIG_FEATURE_RESIZE_PRINT is not set -CONFIG_SETCONSOLE=y -# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set -CONFIG_SETFONT=y -# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set -CONFIG_DEFAULT_SETFONT_DIR="" -CONFIG_SETKEYCODES=y -CONFIG_SETLOGCONS=y -CONFIG_SHOWKEY=y - -# -# Common options for loadfont and setfont -# -# CONFIG_FEATURE_LOADFONT_PSF2 is not set -# CONFIG_FEATURE_LOADFONT_RAW is not set - -# -# Debian Utilities -# -CONFIG_MKTEMP=y -# CONFIG_PIPE_PROGRESS is not set -CONFIG_RUN_PARTS=y -CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y -# CONFIG_FEATURE_RUN_PARTS_FANCY is not set -CONFIG_START_STOP_DAEMON=y -CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y -CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y -CONFIG_WHICH=y - -# -# Editors -# -CONFIG_PATCH=y -CONFIG_VI=y -CONFIG_FEATURE_VI_MAX_LEN=4096 -CONFIG_FEATURE_VI_8BIT=y -CONFIG_FEATURE_VI_COLON=y -CONFIG_FEATURE_VI_YANKMARK=y -CONFIG_FEATURE_VI_SEARCH=y -CONFIG_FEATURE_VI_REGEX_SEARCH=y -CONFIG_FEATURE_VI_USE_SIGNALS=y -CONFIG_FEATURE_VI_DOT_CMD=y -CONFIG_FEATURE_VI_READONLY=y -CONFIG_FEATURE_VI_SETOPTS=y -CONFIG_FEATURE_VI_SET=y -CONFIG_FEATURE_VI_WIN_RESIZE=y -CONFIG_FEATURE_VI_ASK_TERMINAL=y -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y -CONFIG_AWK=y -# CONFIG_FEATURE_AWK_LIBM is not set -CONFIG_CMP=y -CONFIG_DIFF=y -# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set -CONFIG_FEATURE_DIFF_DIR=y -# CONFIG_ED is not set -CONFIG_SED=y -CONFIG_FEATURE_ALLOW_EXEC=y - -# -# Finding Utilities -# -CONFIG_FIND=y -CONFIG_FEATURE_FIND_PRINT0=y -CONFIG_FEATURE_FIND_MTIME=y -CONFIG_FEATURE_FIND_MMIN=y -CONFIG_FEATURE_FIND_PERM=y -CONFIG_FEATURE_FIND_TYPE=y -CONFIG_FEATURE_FIND_XDEV=y -CONFIG_FEATURE_FIND_MAXDEPTH=y -CONFIG_FEATURE_FIND_NEWER=y -CONFIG_FEATURE_FIND_INUM=y -CONFIG_FEATURE_FIND_EXEC=y -CONFIG_FEATURE_FIND_USER=y -CONFIG_FEATURE_FIND_GROUP=y -CONFIG_FEATURE_FIND_NOT=y -CONFIG_FEATURE_FIND_DEPTH=y -CONFIG_FEATURE_FIND_PAREN=y -CONFIG_FEATURE_FIND_SIZE=y -CONFIG_FEATURE_FIND_PRUNE=y -CONFIG_FEATURE_FIND_DELETE=y -CONFIG_FEATURE_FIND_PATH=y -CONFIG_FEATURE_FIND_REGEX=y -# CONFIG_FEATURE_FIND_CONTEXT is not set -CONFIG_FEATURE_FIND_LINKS=y -CONFIG_GREP=y -CONFIG_FEATURE_GREP_EGREP_ALIAS=y -CONFIG_FEATURE_GREP_FGREP_ALIAS=y -CONFIG_FEATURE_GREP_CONTEXT=y -CONFIG_XARGS=y -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y - -# -# Init Utilities -# -# CONFIG_BOOTCHARTD is not set -# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set -# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set -# CONFIG_HALT is not set -# CONFIG_FEATURE_CALL_TELINIT is not set -CONFIG_TELINIT_PATH="" -# CONFIG_INIT is not set -# CONFIG_FEATURE_USE_INITTAB is not set -# CONFIG_FEATURE_KILL_REMOVED is not set -CONFIG_FEATURE_KILL_DELAY=0 -# CONFIG_FEATURE_INIT_SCTTY is not set -# CONFIG_FEATURE_INIT_SYSLOG is not set -# CONFIG_FEATURE_EXTRA_QUIET is not set -# CONFIG_FEATURE_INIT_COREDUMPS is not set -# CONFIG_FEATURE_INITRD is not set -CONFIG_INIT_TERMINAL_TYPE="" -# CONFIG_MESG is not set -# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set - -# -# Login/Password Management Utilities -# -# CONFIG_ADD_SHELL is not set -# CONFIG_REMOVE_SHELL is not set -CONFIG_FEATURE_SHADOWPASSWDS=y -# CONFIG_USE_BB_PWD_GRP is not set -# CONFIG_USE_BB_SHADOW is not set -CONFIG_USE_BB_CRYPT=y -CONFIG_USE_BB_CRYPT_SHA=y -# CONFIG_ADDUSER is not set -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set -# CONFIG_FEATURE_CHECK_NAMES is not set -CONFIG_FIRST_SYSTEM_ID=0 -CONFIG_LAST_SYSTEM_ID=0 -# CONFIG_ADDGROUP is not set -# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set -# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set -# CONFIG_DELUSER is not set -# CONFIG_DELGROUP is not set -# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set -CONFIG_GETTY=y -CONFIG_LOGIN=y -# CONFIG_PAM is not set -CONFIG_LOGIN_SCRIPTS=y -CONFIG_FEATURE_NOLOGIN=y -CONFIG_FEATURE_SECURETTY=y -CONFIG_PASSWD=y -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y -# CONFIG_CRYPTPW is not set -# CONFIG_CHPASSWD is not set -# CONFIG_SU is not set -# CONFIG_FEATURE_SU_SYSLOG is not set -# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set -CONFIG_SULOGIN=y -# CONFIG_VLOCK is not set - -# -# Linux Ext2 FS Progs -# -CONFIG_CHATTR=y -# CONFIG_FSCK is not set -CONFIG_LSATTR=y -CONFIG_TUNE2FS=y - -# -# Linux Module Utilities -# -CONFIG_MODINFO=y -# CONFIG_MODPROBE_SMALL is not set -# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set -# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set -CONFIG_INSMOD=y -CONFIG_RMMOD=y -CONFIG_LSMOD=y -CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y -CONFIG_MODPROBE=y -CONFIG_FEATURE_MODPROBE_BLACKLIST=y -# CONFIG_DEPMOD is not set - -# -# Options common to multiple modutils -# -# CONFIG_FEATURE_2_4_MODULES is not set -# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set -CONFIG_FEATURE_CHECK_TAINTED_MODULE=y -CONFIG_FEATURE_MODUTILS_ALIAS=y -CONFIG_FEATURE_MODUTILS_SYMBOLS=y -CONFIG_DEFAULT_MODULES_DIR="/lib/modules" -CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" - -# -# Linux System Utilities -# -# CONFIG_BLOCKDEV is not set -# CONFIG_REV is not set -# CONFIG_ACPID is not set -# CONFIG_FEATURE_ACPID_COMPAT is not set -# CONFIG_BLKID is not set -# CONFIG_FEATURE_BLKID_TYPE is not set -CONFIG_DMESG=y -CONFIG_FEATURE_DMESG_PRETTY=y -CONFIG_FBSET=y -CONFIG_FEATURE_FBSET_FANCY=y -CONFIG_FEATURE_FBSET_READMODE=y -# CONFIG_FDFLUSH is not set -# CONFIG_FDFORMAT is not set -CONFIG_FDISK=y -# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set -CONFIG_FEATURE_FDISK_WRITABLE=y -# CONFIG_FEATURE_AIX_LABEL is not set -# CONFIG_FEATURE_SGI_LABEL is not set -# CONFIG_FEATURE_SUN_LABEL is not set -# CONFIG_FEATURE_OSF_LABEL is not set -CONFIG_FEATURE_GPT_LABEL=y -CONFIG_FEATURE_FDISK_ADVANCED=y -CONFIG_FINDFS=y -CONFIG_FLOCK=y -# CONFIG_FREERAMDISK is not set -# CONFIG_FSCK_MINIX is not set -# CONFIG_MKFS_EXT2 is not set -# CONFIG_MKFS_MINIX is not set -# CONFIG_FEATURE_MINIX2 is not set -# CONFIG_MKFS_REISER is not set -CONFIG_MKFS_VFAT=y -CONFIG_GETOPT=y -CONFIG_FEATURE_GETOPT_LONG=y -CONFIG_HEXDUMP=y -# CONFIG_FEATURE_HEXDUMP_REVERSE is not set -CONFIG_HD=y -# CONFIG_HWCLOCK is not set -# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set -# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set -# CONFIG_IPCRM is not set -# CONFIG_IPCS is not set -CONFIG_LOSETUP=y -CONFIG_LSPCI=y -CONFIG_LSUSB=y -# CONFIG_MDEV is not set -# CONFIG_FEATURE_MDEV_CONF is not set -# CONFIG_FEATURE_MDEV_RENAME is not set -# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set -# CONFIG_FEATURE_MDEV_EXEC is not set -# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set -CONFIG_MKSWAP=y -CONFIG_FEATURE_MKSWAP_UUID=y -CONFIG_MORE=y -CONFIG_MOUNT=y -# CONFIG_FEATURE_MOUNT_FAKE is not set -# CONFIG_FEATURE_MOUNT_VERBOSE is not set -CONFIG_FEATURE_MOUNT_HELPERS=y -CONFIG_FEATURE_MOUNT_LABEL=y -CONFIG_FEATURE_MOUNT_NFS=y -CONFIG_FEATURE_MOUNT_CIFS=y -CONFIG_FEATURE_MOUNT_FLAGS=y -CONFIG_FEATURE_MOUNT_FSTAB=y -# CONFIG_PIVOT_ROOT is not set -CONFIG_RDATE=y -CONFIG_RDEV=y -CONFIG_READPROFILE=y -# CONFIG_RTCWAKE is not set -# CONFIG_SCRIPT is not set -# CONFIG_SCRIPTREPLAY is not set -# CONFIG_SETARCH is not set -CONFIG_SWAPONOFF=y -# CONFIG_FEATURE_SWAPON_PRI is not set -CONFIG_SWITCH_ROOT=y -CONFIG_UMOUNT=y -CONFIG_FEATURE_UMOUNT_ALL=y - -# -# Common options for mount/umount -# -CONFIG_FEATURE_MOUNT_LOOP=y -CONFIG_FEATURE_MOUNT_LOOP_CREATE=y -# CONFIG_FEATURE_MTAB_SUPPORT is not set -CONFIG_VOLUMEID=y - -# -# Filesystem/Volume identification -# -CONFIG_FEATURE_VOLUMEID_EXT=y -CONFIG_FEATURE_VOLUMEID_BTRFS=y -CONFIG_FEATURE_VOLUMEID_REISERFS=y -CONFIG_FEATURE_VOLUMEID_FAT=y -CONFIG_FEATURE_VOLUMEID_HFS=y -CONFIG_FEATURE_VOLUMEID_JFS=y -CONFIG_FEATURE_VOLUMEID_XFS=y -CONFIG_FEATURE_VOLUMEID_NTFS=y -CONFIG_FEATURE_VOLUMEID_ISO9660=y -CONFIG_FEATURE_VOLUMEID_UDF=y -CONFIG_FEATURE_VOLUMEID_LUKS=y -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y -CONFIG_FEATURE_VOLUMEID_CRAMFS=y -CONFIG_FEATURE_VOLUMEID_ROMFS=y -CONFIG_FEATURE_VOLUMEID_SYSV=y -CONFIG_FEATURE_VOLUMEID_OCFS2=y -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y - -# -# Miscellaneous Utilities -# -# CONFIG_CONSPY is not set -CONFIG_LESS=y -CONFIG_FEATURE_LESS_MAXLINES=9999999 -CONFIG_FEATURE_LESS_BRACKETS=y -CONFIG_FEATURE_LESS_FLAGS=y -# CONFIG_FEATURE_LESS_MARKS is not set -CONFIG_FEATURE_LESS_REGEXP=y -CONFIG_FEATURE_LESS_WINCH=y -CONFIG_FEATURE_LESS_ASK_TERMINAL=y -# CONFIG_FEATURE_LESS_DASHCMD is not set -# CONFIG_FEATURE_LESS_LINENUMS is not set -# CONFIG_NANDWRITE is not set -# CONFIG_NANDDUMP is not set -CONFIG_SETSERIAL=y -# CONFIG_UBIATTACH is not set -# CONFIG_UBIDETACH is not set -# CONFIG_UBIMKVOL is not set -# CONFIG_UBIRMVOL is not set -# CONFIG_UBIRSVOL is not set -# CONFIG_UBIUPDATEVOL is not set -# CONFIG_ADJTIMEX is not set -CONFIG_BBCONFIG=y -CONFIG_FEATURE_COMPRESS_BBCONFIG=y -# CONFIG_BEEP is not set -CONFIG_FEATURE_BEEP_FREQ=0 -CONFIG_FEATURE_BEEP_LENGTH_MS=0 -# CONFIG_CHAT is not set -# CONFIG_FEATURE_CHAT_NOFAIL is not set -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set -# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set -CONFIG_CHRT=y -CONFIG_CROND=y -# CONFIG_FEATURE_CROND_D is not set -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set -CONFIG_FEATURE_CROND_DIR="/etc/cron" -CONFIG_CRONTAB=y -CONFIG_DC=y -# CONFIG_FEATURE_DC_LIBM is not set -# CONFIG_DEVFSD is not set -# CONFIG_DEVFSD_MODLOAD is not set -# CONFIG_DEVFSD_FG_NP is not set -# CONFIG_DEVFSD_VERBOSE is not set -# CONFIG_FEATURE_DEVFS is not set -CONFIG_DEVMEM=y -CONFIG_EJECT=y -CONFIG_FEATURE_EJECT_SCSI=y -CONFIG_FBSPLASH=y -# CONFIG_FLASHCP is not set -# CONFIG_FLASH_LOCK is not set -# CONFIG_FLASH_UNLOCK is not set -# CONFIG_FLASH_ERASEALL is not set -CONFIG_IONICE=y -CONFIG_INOTIFYD=y -# CONFIG_LAST is not set -# CONFIG_FEATURE_LAST_SMALL is not set -# CONFIG_FEATURE_LAST_FANCY is not set -# CONFIG_HDPARM is not set -# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set -# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set -# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set -# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set -# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set -# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set -# CONFIG_MAKEDEVS is not set -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set -# CONFIG_FEATURE_MAKEDEVS_TABLE is not set -# CONFIG_MAN is not set -CONFIG_MICROCOM=y -# CONFIG_MOUNTPOINT is not set -# CONFIG_MT is not set -# CONFIG_RAIDAUTORUN is not set -CONFIG_READAHEAD=y -# CONFIG_RFKILL is not set -# CONFIG_RUNLEVEL is not set -# CONFIG_RX is not set -CONFIG_SETSID=y -CONFIG_STRINGS=y -CONFIG_TASKSET=y -CONFIG_FEATURE_TASKSET_FANCY=y -CONFIG_TIME=y -CONFIG_TIMEOUT=y -# CONFIG_TTYSIZE is not set -CONFIG_VOLNAME=y -# CONFIG_WALL is not set -# CONFIG_WATCHDOG is not set - -# -# Networking Utilities -# -CONFIG_NAMEIF=y -CONFIG_FEATURE_NAMEIF_EXTENDED=y -CONFIG_NBDCLIENT=y -CONFIG_NC=y -CONFIG_NC_SERVER=y -CONFIG_NC_EXTRA=y -# CONFIG_NC_110_COMPAT is not set -CONFIG_PING=y -CONFIG_PING6=y -CONFIG_FEATURE_FANCY_PING=y -CONFIG_WHOIS=y -CONFIG_FEATURE_IPV6=y -# CONFIG_FEATURE_UNIX_LOCAL is not set -CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set -CONFIG_ARP=y -# CONFIG_ARPING is not set -CONFIG_BRCTL=y -CONFIG_FEATURE_BRCTL_FANCY=y -CONFIG_FEATURE_BRCTL_SHOW=y -# CONFIG_DNSD is not set -CONFIG_ETHER_WAKE=y -# CONFIG_FAKEIDENTD is not set -# CONFIG_FTPD is not set -# CONFIG_FEATURE_FTP_WRITE is not set -# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set -# CONFIG_FTPGET is not set -# CONFIG_FTPPUT is not set -# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set -CONFIG_HOSTNAME=y -# CONFIG_HTTPD is not set -# CONFIG_FEATURE_HTTPD_RANGES is not set -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set -# CONFIG_FEATURE_HTTPD_SETUID is not set -# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set -# CONFIG_FEATURE_HTTPD_CGI is not set -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set -# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set -# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set -# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set -# CONFIG_FEATURE_HTTPD_PROXY is not set -# CONFIG_FEATURE_HTTPD_GZIP is not set -CONFIG_IFCONFIG=y -CONFIG_FEATURE_IFCONFIG_STATUS=y -# CONFIG_FEATURE_IFCONFIG_SLIP is not set -# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set -CONFIG_FEATURE_IFCONFIG_HW=y -# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set -# CONFIG_IFENSLAVE is not set -# CONFIG_IFPLUGD is not set -CONFIG_IFUPDOWN=y -CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" -CONFIG_FEATURE_IFUPDOWN_IP=y -CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set -CONFIG_FEATURE_IFUPDOWN_IPV4=y -CONFIG_FEATURE_IFUPDOWN_IPV6=y -CONFIG_FEATURE_IFUPDOWN_MAPPING=y -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set -CONFIG_INETD=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y -CONFIG_FEATURE_INETD_RPC=y -CONFIG_IP=y -CONFIG_FEATURE_IP_ADDRESS=y -CONFIG_FEATURE_IP_LINK=y -CONFIG_FEATURE_IP_ROUTE=y -CONFIG_FEATURE_IP_TUNNEL=y -CONFIG_FEATURE_IP_RULE=y -# CONFIG_FEATURE_IP_SHORT_FORMS is not set -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set -# CONFIG_IPADDR is not set -# CONFIG_IPLINK is not set -# CONFIG_IPROUTE is not set -# CONFIG_IPTUNNEL is not set -# CONFIG_IPRULE is not set -# CONFIG_IPCALC is not set -# CONFIG_FEATURE_IPCALC_FANCY is not set -# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set -CONFIG_NETSTAT=y -CONFIG_FEATURE_NETSTAT_WIDE=y -CONFIG_FEATURE_NETSTAT_PRG=y -CONFIG_NSLOOKUP=y -# CONFIG_NTPD is not set -# CONFIG_FEATURE_NTPD_SERVER is not set -# CONFIG_PSCAN is not set -CONFIG_ROUTE=y -# CONFIG_SLATTACH is not set -# CONFIG_TCPSVD is not set -CONFIG_TELNET=y -CONFIG_FEATURE_TELNET_TTYPE=y -CONFIG_FEATURE_TELNET_AUTOLOGIN=y -CONFIG_TELNETD=y -# CONFIG_FEATURE_TELNETD_STANDALONE is not set -# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set -CONFIG_TFTP=y -# CONFIG_TFTPD is not set - -# -# Common options for tftp/tftpd -# -CONFIG_FEATURE_TFTP_GET=y -CONFIG_FEATURE_TFTP_PUT=y -# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set -# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set -# CONFIG_TFTP_DEBUG is not set -CONFIG_TRACEROUTE=y -CONFIG_TRACEROUTE6=y -CONFIG_FEATURE_TRACEROUTE_VERBOSE=y -# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set -CONFIG_FEATURE_TRACEROUTE_USE_ICMP=y -CONFIG_TUNCTL=y -CONFIG_FEATURE_TUNCTL_UG=y -# CONFIG_UDHCPD is not set -# CONFIG_DHCPRELAY is not set -# CONFIG_DUMPLEASES is not set -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set -# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set -CONFIG_DHCPD_LEASES_FILE="" -CONFIG_UDHCPC=y -CONFIG_FEATURE_UDHCPC_ARPING=y -# CONFIG_FEATURE_UDHCP_PORT is not set -CONFIG_UDHCP_DEBUG=0 -# CONFIG_FEATURE_UDHCP_RFC3397 is not set -CONFIG_FEATURE_UDHCP_8021Q=y -CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -b -T3 -A10" -# CONFIG_UDPSVD is not set -CONFIG_VCONFIG=y -CONFIG_WGET=y -CONFIG_FEATURE_WGET_STATUSBAR=y -CONFIG_FEATURE_WGET_AUTHENTICATION=y -CONFIG_FEATURE_WGET_LONG_OPTIONS=y -CONFIG_FEATURE_WGET_TIMEOUT=y -# CONFIG_ZCIP is not set - -# -# Print Utilities -# -# CONFIG_LPD is not set -# CONFIG_LPR is not set -# CONFIG_LPQ is not set - -# -# Mail Utilities -# -# CONFIG_MAKEMIME is not set -CONFIG_FEATURE_MIME_CHARSET="us-ascii" -# CONFIG_POPMAILDIR is not set -# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set -# CONFIG_REFORMIME is not set -# CONFIG_FEATURE_REFORMIME_COMPAT is not set -CONFIG_SENDMAIL=y - -# -# Process Utilities -# -CONFIG_IOSTAT=y -CONFIG_MPSTAT=y -CONFIG_NMETER=y -# CONFIG_PMAP is not set -CONFIG_POWERTOP=y -# CONFIG_PSTREE is not set -# CONFIG_PWDX is not set -CONFIG_SMEMCAP=y -# CONFIG_UPTIME is not set -# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set -# CONFIG_FREE is not set -# CONFIG_FUSER is not set -# CONFIG_KILL is not set -# CONFIG_KILLALL is not set -# CONFIG_KILLALL5 is not set -# CONFIG_PGREP is not set -CONFIG_PIDOF=y -CONFIG_FEATURE_PIDOF_SINGLE=y -CONFIG_FEATURE_PIDOF_OMIT=y -# CONFIG_PKILL is not set -# CONFIG_PS is not set -# CONFIG_FEATURE_PS_WIDE is not set -# CONFIG_FEATURE_PS_TIME is not set -# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set -CONFIG_RENICE=y -# CONFIG_BB_SYSCTL is not set -# CONFIG_TOP is not set -# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set -# CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set -# CONFIG_FEATURE_TOP_SMP_CPU is not set -# CONFIG_FEATURE_TOP_DECIMALS is not set -# CONFIG_FEATURE_TOP_SMP_PROCESS is not set -# CONFIG_FEATURE_TOPMEM is not set -# CONFIG_FEATURE_SHOW_THREADS is not set -# CONFIG_WATCH is not set - -# -# Runit Utilities -# -# CONFIG_RUNSV is not set -# CONFIG_RUNSVDIR is not set -# CONFIG_FEATURE_RUNSVDIR_LOG is not set -# CONFIG_SV is not set -CONFIG_SV_DEFAULT_SERVICE_DIR="" -# CONFIG_SVLOGD is not set -# CONFIG_CHPST is not set -# CONFIG_SETUIDGID is not set -# CONFIG_ENVUIDGID is not set -# CONFIG_ENVDIR is not set -# CONFIG_SOFTLIMIT is not set -# CONFIG_CHCON is not set -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set -# CONFIG_GETENFORCE is not set -# CONFIG_GETSEBOOL is not set -# CONFIG_LOAD_POLICY is not set -# CONFIG_MATCHPATHCON is not set -# CONFIG_RESTORECON is not set -# CONFIG_RUNCON is not set -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set -# CONFIG_SELINUXENABLED is not set -# CONFIG_SETENFORCE is not set -# CONFIG_SETFILES is not set -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set -# CONFIG_SETSEBOOL is not set -# CONFIG_SESTATUS is not set - -# -# Shells -# -CONFIG_ASH=y -CONFIG_ASH_BASH_COMPAT=y -CONFIG_ASH_IDLE_TIMEOUT=y -CONFIG_ASH_JOB_CONTROL=y -CONFIG_ASH_ALIAS=y -CONFIG_ASH_GETOPTS=y -CONFIG_ASH_BUILTIN_ECHO=y -CONFIG_ASH_BUILTIN_PRINTF=y -CONFIG_ASH_BUILTIN_TEST=y -# CONFIG_ASH_CMDCMD is not set -# CONFIG_ASH_MAIL is not set -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y -CONFIG_ASH_RANDOM_SUPPORT=y -CONFIG_ASH_EXPAND_PRMT=y -# CONFIG_CTTYHACK is not set -# CONFIG_HUSH is not set -# CONFIG_HUSH_BASH_COMPAT is not set -# CONFIG_HUSH_BRACE_EXPANSION is not set -# CONFIG_HUSH_HELP is not set -# CONFIG_HUSH_INTERACTIVE is not set -# CONFIG_HUSH_SAVEHISTORY is not set -# CONFIG_HUSH_JOB is not set -# CONFIG_HUSH_TICK is not set -# CONFIG_HUSH_IF is not set -# CONFIG_HUSH_LOOPS is not set -# CONFIG_HUSH_CASE is not set -# CONFIG_HUSH_FUNCTIONS is not set -# CONFIG_HUSH_LOCAL is not set -# CONFIG_HUSH_RANDOM_SUPPORT is not set -# CONFIG_HUSH_EXPORT_N is not set -# CONFIG_HUSH_MODE_X is not set -# CONFIG_MSH is not set -CONFIG_FEATURE_SH_IS_ASH=y -# CONFIG_FEATURE_SH_IS_HUSH is not set -# CONFIG_FEATURE_SH_IS_NONE is not set -CONFIG_FEATURE_BASH_IS_ASH=y -# CONFIG_FEATURE_BASH_IS_HUSH is not set -# CONFIG_FEATURE_BASH_IS_NONE is not set -CONFIG_SH_MATH_SUPPORT=y -# CONFIG_SH_MATH_SUPPORT_64 is not set -CONFIG_FEATURE_SH_EXTRA_QUIET=y -# CONFIG_FEATURE_SH_STANDALONE is not set -# CONFIG_FEATURE_SH_NOFORK is not set -CONFIG_FEATURE_SH_HISTFILESIZE=y - -# -# System Logging Utilities -# -CONFIG_SYSLOGD=y -CONFIG_FEATURE_ROTATE_LOGFILE=y -CONFIG_FEATURE_REMOTE_LOG=y -CONFIG_FEATURE_SYSLOGD_DUP=y -CONFIG_FEATURE_SYSLOGD_CFG=y -CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 -CONFIG_FEATURE_IPC_SYSLOG=y -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 -CONFIG_LOGREAD=y -CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y -CONFIG_KLOGD=y -CONFIG_FEATURE_KLOGD_KLOGCTL=y -CONFIG_LOGGER=y diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/inetd b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/inetd deleted file mode 100755 index cf50bcd..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/inetd +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh -# -# start/stop inetd super server. - -if ! [ -x /usr/sbin/inetd ]; then - exit 0 -fi - -case "$1" in - start) - echo -n "Starting internet superserver:" - echo -n " inetd" ; start-stop-daemon -S -x /usr/sbin/inetd > /dev/null - echo "." - ;; - stop) - echo -n "Stopping internet superserver:" - echo -n " inetd" ; start-stop-daemon -K -x /usr/sbin/inetd > /dev/null - echo "." - ;; - restart) - echo -n "Restarting internet superserver:" - echo -n " inetd " - killall -HUP inetd - echo "." - ;; - *) - echo "Usage: /etc/init.d/inetd {start|stop|restart}" - exit 1 - ;; -esac - -exit 0 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/inetd.conf b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/inetd.conf deleted file mode 100644 index bafaf40..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/inetd.conf +++ /dev/null @@ -1,23 +0,0 @@ -# /etc/inetd.conf: see inetd(8) for further informations. -# -# Internet server configuration database -# -# If you want to disable an entry so it isn't touched during -# package updates just comment it out with a single '#' character. -# -# -# -#:INTERNAL: Internal services -#echo stream tcp nowait root internal -#echo dgram udp wait root internal -#chargen stream tcp nowait root internal -#chargen dgram udp wait root internal -#discard stream tcp nowait root internal -#discard dgram udp wait root internal -#daytime stream tcp nowait root internal -#daytime dgram udp wait root internal -#time stream tcp nowait root internal -#time dgram udp wait root internal -ftp stream tcp nowait root /usr/sbin/vsftpd vsftpd -telnet stream tcp nowait root /usr/sbin/telnetd telnetd -8001 stream tcp nowait root /usr/bin/streamproxy streamproxy diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/mount_single_uuid.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/mount_single_uuid.patch deleted file mode 100644 index 9577c07..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/mount_single_uuid.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: busybox-1.18.5/util-linux/mount.c -=================================================================== ---- busybox-1.18.5.orig/util-linux/mount.c -+++ busybox-1.18.5/util-linux/mount.c -@@ -1934,6 +1934,8 @@ int mount_main(int argc UNUSED_PARAM, ch - // "proc") or a full path from root - if (argv[0]) { - -+ // Check for UUID= or LABEL= entries too -+ resolve_mount_spec(&mtcur->mnt_fsname); - // Is this what we're looking for? - if (strcmp(argv[0], mtcur->mnt_fsname) != 0 - && strcmp(storage_path, mtcur->mnt_fsname) != 0 diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/0011-mount-don-t-pass-option-auto-to-kernel.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/0011-mount-don-t-pass-option-auto-to-kernel.patch new file mode 100644 index 0000000..b25d587 --- /dev/null +++ b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/0011-mount-don-t-pass-option-auto-to-kernel.patch @@ -0,0 +1,38 @@ +From 7c462943dd3c283314e68e945d544dfbaaa4cb25 Mon Sep 17 00:00:00 2001 +From: Andreas Oberritter +Date: Mon, 22 Apr 2013 10:40:36 +0200 +Subject: [PATCH 11/11] mount: don't pass option "auto" to kernel + +Fixes the following error if "auto" is set in fs options: +| EXT3-fs (sda1): error: unrecognized mount option "auto" or missing value +| EXT4-fs (sda1): Unrecognized mount option "auto" or missing value +| XFS (sda1): unknown mount option [auto]. + +Signed-off-by: Andreas Oberritter +--- + util-linux/mount.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/util-linux/mount.c b/util-linux/mount.c +index 05e532c..670935d 100644 +--- a/util-linux/mount.c ++++ b/util-linux/mount.c +@@ -212,6 +212,7 @@ static const int32_t mount_options[] = { + IF_FEATURE_MOUNT_FSTAB( + /* "defaults" */ 0, + /* "quiet" 0 - do not filter out, vfat wants to see it */ ++ /* "auto" */ 0, + /* "noauto" */ MOUNT_NOAUTO, + /* "sw" */ MOUNT_SWAP, + /* "swap" */ MOUNT_SWAP, +@@ -269,6 +270,7 @@ static const char mount_option_str[] = + IF_FEATURE_MOUNT_FSTAB( + "defaults\0" + // "quiet\0" - do not filter out, vfat wants to see it ++ "auto\0" + "noauto\0" + "sw\0" + "swap\0" +-- +1.7.10.4 + diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/defconfig b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/defconfig new file mode 100644 index 0000000..e81bdc7 --- /dev/null +++ b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/defconfig @@ -0,0 +1,1038 @@ +# +# Automatically generated make config: don't edit +# Busybox version: 1.22.1 +# Thu Jun 19 14:19:41 2014 +# +CONFIG_HAVE_DOT_CONFIG=y + +# +# Busybox Settings +# + +# +# General Configuration +# +# CONFIG_DESKTOP is not set +# CONFIG_EXTRA_COMPAT is not set +# CONFIG_INCLUDE_SUSv2 is not set +# CONFIG_USE_PORTABLE_CODE is not set +CONFIG_PLATFORM_LINUX=y +CONFIG_FEATURE_BUFFERS_USE_MALLOC=y +# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set +# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set +CONFIG_SHOW_USAGE=y +CONFIG_FEATURE_VERBOSE_USAGE=y +CONFIG_FEATURE_COMPRESS_USAGE=y +# CONFIG_FEATURE_INSTALLER is not set +# CONFIG_INSTALL_NO_USR is not set +# CONFIG_LOCALE_SUPPORT is not set +CONFIG_UNICODE_SUPPORT=y +# CONFIG_UNICODE_USING_LOCALE is not set +CONFIG_FEATURE_CHECK_UNICODE_IN_ENV=y +CONFIG_SUBST_WCHAR=0 +CONFIG_LAST_SUPPORTED_WCHAR=0 +# CONFIG_UNICODE_COMBINING_WCHARS is not set +# CONFIG_UNICODE_WIDE_WCHARS is not set +# CONFIG_UNICODE_BIDI_SUPPORT is not set +# CONFIG_UNICODE_NEUTRAL_TABLE is not set +# CONFIG_UNICODE_PRESERVE_BROKEN is not set +CONFIG_LONG_OPTS=y +CONFIG_FEATURE_DEVPTS=y +# CONFIG_FEATURE_CLEAN_UP is not set +CONFIG_FEATURE_UTMP=y +CONFIG_FEATURE_WTMP=y +CONFIG_FEATURE_PIDFILE=y +CONFIG_PID_FILE_PATH="/var/run" +CONFIG_FEATURE_SUID=y +CONFIG_FEATURE_SUID_CONFIG=y +CONFIG_FEATURE_SUID_CONFIG_QUIET=y +# CONFIG_SELINUX is not set +# CONFIG_FEATURE_PREFER_APPLETS is not set +CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" +CONFIG_FEATURE_SYSLOG=y +CONFIG_FEATURE_HAVE_RPC=y + +# +# Build Options +# +# CONFIG_STATIC is not set +# CONFIG_PIE is not set +# CONFIG_NOMMU is not set +# CONFIG_BUILD_LIBBUSYBOX is not set +# CONFIG_FEATURE_INDIVIDUAL is not set +# CONFIG_FEATURE_SHARED_BUSYBOX is not set +CONFIG_LFS=y +CONFIG_CROSS_COMPILER_PREFIX="mipsel-oe-linux-" +CONFIG_SYSROOT="" +CONFIG_EXTRA_CFLAGS=" -Os -pipe -g -feliminate-unused-debug-types" +CONFIG_EXTRA_LDFLAGS="" +CONFIG_EXTRA_LDLIBS="" + +# +# Debugging Options +# +# CONFIG_DEBUG is not set +# CONFIG_DEBUG_PESSIMIZE is not set +# CONFIG_WERROR is not set +CONFIG_NO_DEBUG_LIB=y +# CONFIG_DMALLOC is not set +# CONFIG_EFENCE is not set + +# +# Installation Options ("make install" behavior) +# +CONFIG_INSTALL_APPLET_SYMLINKS=y +# CONFIG_INSTALL_APPLET_HARDLINKS is not set +# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set +# CONFIG_INSTALL_APPLET_DONT is not set +# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set +# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set +# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set +CONFIG_PREFIX="./_install" + +# +# Busybox Library Tuning +# +CONFIG_FEATURE_SYSTEMD=y +CONFIG_FEATURE_RTMINMAX=y +CONFIG_PASSWORD_MINLEN=6 +CONFIG_MD5_SMALL=1 +CONFIG_SHA3_SMALL=1 +CONFIG_FEATURE_FAST_TOP=y +# CONFIG_FEATURE_ETC_NETWORKS is not set +CONFIG_FEATURE_USE_TERMIOS=y +CONFIG_FEATURE_EDITING=y +CONFIG_FEATURE_EDITING_MAX_LEN=1024 +CONFIG_FEATURE_EDITING_VI=y +CONFIG_FEATURE_EDITING_HISTORY=63 +CONFIG_FEATURE_EDITING_SAVEHISTORY=y +# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set +CONFIG_FEATURE_REVERSE_SEARCH=y +CONFIG_FEATURE_TAB_COMPLETION=y +# CONFIG_FEATURE_USERNAME_COMPLETION is not set +CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +CONFIG_FEATURE_EDITING_ASK_TERMINAL=y +# CONFIG_FEATURE_NON_POSIX_CP is not set +CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y +CONFIG_FEATURE_COPYBUF_KB=64 +CONFIG_FEATURE_SKIP_ROOTFS=y +CONFIG_MONOTONIC_SYSCALL=y +CONFIG_IOCTL_HEX2STR_ERROR=y +# CONFIG_FEATURE_HWIB is not set + +# +# Applets +# + +# +# Archival Utilities +# +CONFIG_FEATURE_SEAMLESS_XZ=y +CONFIG_FEATURE_SEAMLESS_LZMA=y +CONFIG_FEATURE_SEAMLESS_BZ2=y +CONFIG_FEATURE_SEAMLESS_GZ=y +CONFIG_FEATURE_SEAMLESS_Z=y +CONFIG_AR=y +# CONFIG_FEATURE_AR_LONG_FILENAMES is not set +# CONFIG_FEATURE_AR_CREATE is not set +# CONFIG_UNCOMPRESS is not set +CONFIG_GUNZIP=y +CONFIG_BUNZIP2=y +CONFIG_UNLZMA=y +# CONFIG_FEATURE_LZMA_FAST is not set +# CONFIG_LZMA is not set +CONFIG_UNXZ=y +# CONFIG_XZ is not set +CONFIG_BZIP2=y +CONFIG_CPIO=y +# CONFIG_FEATURE_CPIO_O is not set +# CONFIG_FEATURE_CPIO_P is not set +# CONFIG_DPKG is not set +# CONFIG_DPKG_DEB is not set +# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set +CONFIG_GZIP=y +# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set +CONFIG_GZIP_FAST=0 +# CONFIG_LZOP is not set +# CONFIG_LZOP_COMPR_HIGH is not set +# CONFIG_RPM is not set +# CONFIG_RPM2CPIO is not set +CONFIG_TAR=y +CONFIG_FEATURE_TAR_CREATE=y +CONFIG_FEATURE_TAR_AUTODETECT=y +CONFIG_FEATURE_TAR_FROM=y +CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y +# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set +CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y +# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set +# CONFIG_FEATURE_TAR_TO_COMMAND is not set +# CONFIG_FEATURE_TAR_UNAME_GNAME is not set +# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set +# CONFIG_FEATURE_TAR_SELINUX is not set +CONFIG_UNZIP=y + +# +# Coreutils +# +CONFIG_BASENAME=y +CONFIG_CAT=y +CONFIG_DATE=y +CONFIG_FEATURE_DATE_ISOFMT=y +# CONFIG_FEATURE_DATE_NANO is not set +CONFIG_FEATURE_DATE_COMPAT=y +# CONFIG_HOSTID is not set +CONFIG_ID=y +CONFIG_GROUPS=y +CONFIG_TEST=y +CONFIG_FEATURE_TEST_64=y +CONFIG_TOUCH=y +CONFIG_FEATURE_TOUCH_NODEREF=y +CONFIG_FEATURE_TOUCH_SUSV3=y +CONFIG_TR=y +CONFIG_FEATURE_TR_CLASSES=y +# CONFIG_FEATURE_TR_EQUIV is not set +CONFIG_BASE64=y +CONFIG_WHO=y +CONFIG_USERS=y +# CONFIG_CAL is not set +# CONFIG_CATV is not set +CONFIG_CHGRP=y +CONFIG_CHMOD=y +CONFIG_CHOWN=y +# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set +CONFIG_CHROOT=y +# CONFIG_CKSUM is not set +# CONFIG_COMM is not set +CONFIG_CP=y +# CONFIG_FEATURE_CP_LONG_OPTIONS is not set +CONFIG_CUT=y +CONFIG_DD=y +CONFIG_FEATURE_DD_SIGNAL_HANDLING=y +CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y +CONFIG_FEATURE_DD_IBS_OBS=y +CONFIG_DF=y +CONFIG_FEATURE_DF_FANCY=y +CONFIG_DIRNAME=y +CONFIG_DOS2UNIX=y +CONFIG_UNIX2DOS=y +CONFIG_DU=y +CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y +CONFIG_ECHO=y +CONFIG_FEATURE_FANCY_ECHO=y +CONFIG_ENV=y +CONFIG_FEATURE_ENV_LONG_OPTIONS=y +# CONFIG_EXPAND is not set +# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set +CONFIG_EXPR=y +CONFIG_EXPR_MATH_SUPPORT_64=y +CONFIG_FALSE=y +# CONFIG_FOLD is not set +# CONFIG_FSYNC is not set +CONFIG_HEAD=y +# CONFIG_FEATURE_FANCY_HEAD is not set +# CONFIG_INSTALL is not set +# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set +CONFIG_LN=y +CONFIG_LOGNAME=y +CONFIG_LS=y +CONFIG_FEATURE_LS_FILETYPES=y +CONFIG_FEATURE_LS_FOLLOWLINKS=y +CONFIG_FEATURE_LS_RECURSIVE=y +CONFIG_FEATURE_LS_SORTFILES=y +CONFIG_FEATURE_LS_TIMESTAMPS=y +CONFIG_FEATURE_LS_USERNAME=y +CONFIG_FEATURE_LS_COLOR=y +CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y +CONFIG_MD5SUM=y +CONFIG_MKDIR=y +CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y +CONFIG_MKFIFO=y +CONFIG_MKNOD=y +CONFIG_MV=y +# CONFIG_FEATURE_MV_LONG_OPTIONS is not set +CONFIG_NICE=y +CONFIG_NOHUP=y +CONFIG_OD=y +# CONFIG_PRINTENV is not set +CONFIG_PRINTF=y +CONFIG_PWD=y +CONFIG_READLINK=y +CONFIG_FEATURE_READLINK_FOLLOW=y +CONFIG_REALPATH=y +CONFIG_RM=y +CONFIG_RMDIR=y +# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set +CONFIG_SEQ=y +CONFIG_SHA1SUM=y +CONFIG_SHA256SUM=y +CONFIG_SHA512SUM=y +CONFIG_SHA3SUM=y +CONFIG_SLEEP=y +CONFIG_FEATURE_FANCY_SLEEP=y +CONFIG_FEATURE_FLOAT_SLEEP=y +CONFIG_SORT=y +CONFIG_FEATURE_SORT_BIG=y +# CONFIG_SPLIT is not set +# CONFIG_FEATURE_SPLIT_FANCY is not set +# CONFIG_STAT is not set +# CONFIG_FEATURE_STAT_FORMAT is not set +CONFIG_STTY=y +# CONFIG_SUM is not set +CONFIG_SYNC=y +# CONFIG_TAC is not set +CONFIG_TAIL=y +CONFIG_FEATURE_FANCY_TAIL=y +CONFIG_TEE=y +CONFIG_FEATURE_TEE_USE_BLOCK_IO=y +CONFIG_TRUE=y +CONFIG_TTY=y +CONFIG_UNAME=y +# CONFIG_UNEXPAND is not set +# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set +CONFIG_UNIQ=y +CONFIG_USLEEP=y +CONFIG_UUDECODE=y +CONFIG_UUENCODE=y +CONFIG_WC=y +# CONFIG_FEATURE_WC_LARGE is not set +CONFIG_WHOAMI=y +CONFIG_YES=y + +# +# Common options for cp and mv +# +CONFIG_FEATURE_PRESERVE_HARDLINKS=y + +# +# Common options for ls, more and telnet +# +CONFIG_FEATURE_AUTOWIDTH=y + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y + +# +# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum +# +CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y + +# +# Console Utilities +# +CONFIG_CHVT=y +# CONFIG_FGCONSOLE is not set +CONFIG_CLEAR=y +CONFIG_DEALLOCVT=y +CONFIG_DUMPKMAP=y +CONFIG_KBD_MODE=y +CONFIG_LOADFONT=y +CONFIG_LOADKMAP=y +CONFIG_OPENVT=y +CONFIG_RESET=y +# CONFIG_RESIZE is not set +# CONFIG_FEATURE_RESIZE_PRINT is not set +CONFIG_SETCONSOLE=y +# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set +CONFIG_SETFONT=y +# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set +CONFIG_DEFAULT_SETFONT_DIR="" +CONFIG_SETKEYCODES=y +CONFIG_SETLOGCONS=y +CONFIG_SHOWKEY=y + +# +# Common options for loadfont and setfont +# +# CONFIG_FEATURE_LOADFONT_PSF2 is not set +# CONFIG_FEATURE_LOADFONT_RAW is not set + +# +# Debian Utilities +# +CONFIG_MKTEMP=y +# CONFIG_PIPE_PROGRESS is not set +CONFIG_RUN_PARTS=y +CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y +# CONFIG_FEATURE_RUN_PARTS_FANCY is not set +CONFIG_START_STOP_DAEMON=y +CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y +CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y +CONFIG_WHICH=y + +# +# Editors +# +CONFIG_AWK=y +# CONFIG_FEATURE_AWK_LIBM is not set +CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y +CONFIG_CMP=y +CONFIG_DIFF=y +# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set +CONFIG_FEATURE_DIFF_DIR=y +# CONFIG_ED is not set +CONFIG_PATCH=y +CONFIG_SED=y +CONFIG_VI=y +CONFIG_FEATURE_VI_MAX_LEN=4096 +CONFIG_FEATURE_VI_8BIT=y +CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_YANKMARK=y +CONFIG_FEATURE_VI_SEARCH=y +CONFIG_FEATURE_VI_REGEX_SEARCH=y +CONFIG_FEATURE_VI_USE_SIGNALS=y +CONFIG_FEATURE_VI_DOT_CMD=y +CONFIG_FEATURE_VI_READONLY=y +CONFIG_FEATURE_VI_SETOPTS=y +CONFIG_FEATURE_VI_SET=y +CONFIG_FEATURE_VI_WIN_RESIZE=y +CONFIG_FEATURE_VI_ASK_TERMINAL=y +CONFIG_FEATURE_ALLOW_EXEC=y + +# +# Finding Utilities +# +CONFIG_FIND=y +CONFIG_FEATURE_FIND_PRINT0=y +CONFIG_FEATURE_FIND_MTIME=y +CONFIG_FEATURE_FIND_MMIN=y +CONFIG_FEATURE_FIND_PERM=y +CONFIG_FEATURE_FIND_TYPE=y +CONFIG_FEATURE_FIND_XDEV=y +CONFIG_FEATURE_FIND_MAXDEPTH=y +CONFIG_FEATURE_FIND_NEWER=y +CONFIG_FEATURE_FIND_INUM=y +CONFIG_FEATURE_FIND_EXEC=y +CONFIG_FEATURE_FIND_USER=y +CONFIG_FEATURE_FIND_GROUP=y +CONFIG_FEATURE_FIND_NOT=y +CONFIG_FEATURE_FIND_DEPTH=y +CONFIG_FEATURE_FIND_PAREN=y +CONFIG_FEATURE_FIND_SIZE=y +CONFIG_FEATURE_FIND_PRUNE=y +CONFIG_FEATURE_FIND_DELETE=y +CONFIG_FEATURE_FIND_PATH=y +CONFIG_FEATURE_FIND_REGEX=y +# CONFIG_FEATURE_FIND_CONTEXT is not set +CONFIG_FEATURE_FIND_LINKS=y +CONFIG_GREP=y +CONFIG_FEATURE_GREP_EGREP_ALIAS=y +CONFIG_FEATURE_GREP_FGREP_ALIAS=y +CONFIG_FEATURE_GREP_CONTEXT=y +CONFIG_XARGS=y +CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y +CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y +CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y +CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y + +# +# Init Utilities +# +# CONFIG_BOOTCHARTD is not set +# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set +# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set +# CONFIG_HALT is not set +# CONFIG_FEATURE_CALL_TELINIT is not set +CONFIG_TELINIT_PATH="" +# CONFIG_INIT is not set +# CONFIG_FEATURE_USE_INITTAB is not set +# CONFIG_FEATURE_KILL_REMOVED is not set +CONFIG_FEATURE_KILL_DELAY=0 +# CONFIG_FEATURE_INIT_SCTTY is not set +# CONFIG_FEATURE_INIT_SYSLOG is not set +# CONFIG_FEATURE_EXTRA_QUIET is not set +# CONFIG_FEATURE_INIT_COREDUMPS is not set +# CONFIG_FEATURE_INITRD is not set +CONFIG_INIT_TERMINAL_TYPE="" +# CONFIG_MESG is not set +# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set + +# +# Login/Password Management Utilities +# +# CONFIG_ADD_SHELL is not set +# CONFIG_REMOVE_SHELL is not set +CONFIG_FEATURE_SHADOWPASSWDS=y +# CONFIG_USE_BB_PWD_GRP is not set +# CONFIG_USE_BB_SHADOW is not set +CONFIG_USE_BB_CRYPT=y +CONFIG_USE_BB_CRYPT_SHA=y +# CONFIG_ADDUSER is not set +# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set +# CONFIG_FEATURE_CHECK_NAMES is not set +CONFIG_FIRST_SYSTEM_ID=0 +CONFIG_LAST_SYSTEM_ID=0 +# CONFIG_ADDGROUP is not set +# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set +# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set +# CONFIG_DELUSER is not set +# CONFIG_DELGROUP is not set +# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set +CONFIG_GETTY=y +CONFIG_LOGIN=y +# CONFIG_LOGIN_SESSION_AS_CHILD is not set +# CONFIG_PAM is not set +CONFIG_LOGIN_SCRIPTS=y +CONFIG_FEATURE_NOLOGIN=y +CONFIG_FEATURE_SECURETTY=y +CONFIG_PASSWD=y +CONFIG_FEATURE_PASSWD_WEAK_CHECK=y +# CONFIG_CRYPTPW is not set +# CONFIG_CHPASSWD is not set +CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="sha512" +# CONFIG_SU is not set +# CONFIG_FEATURE_SU_SYSLOG is not set +# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set +CONFIG_SULOGIN=y +# CONFIG_VLOCK is not set + +# +# Linux Ext2 FS Progs +# +CONFIG_CHATTR=y +# CONFIG_FSCK is not set +CONFIG_LSATTR=y +CONFIG_TUNE2FS=y + +# +# Linux Module Utilities +# +CONFIG_MODINFO=y +# CONFIG_MODPROBE_SMALL is not set +# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set +CONFIG_INSMOD=y +CONFIG_RMMOD=y +CONFIG_LSMOD=y +CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y +CONFIG_MODPROBE=y +CONFIG_FEATURE_MODPROBE_BLACKLIST=y +# CONFIG_DEPMOD is not set + +# +# Options common to multiple modutils +# +# CONFIG_FEATURE_2_4_MODULES is not set +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set +# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set +# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set +# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set +CONFIG_FEATURE_CHECK_TAINTED_MODULE=y +CONFIG_FEATURE_MODUTILS_ALIAS=y +CONFIG_FEATURE_MODUTILS_SYMBOLS=y +CONFIG_DEFAULT_MODULES_DIR="/lib/modules" +CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" + +# +# Linux System Utilities +# +# CONFIG_BLOCKDEV is not set +CONFIG_FSTRIM=y +# CONFIG_MDEV is not set +# CONFIG_FEATURE_MDEV_CONF is not set +# CONFIG_FEATURE_MDEV_RENAME is not set +# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set +# CONFIG_FEATURE_MDEV_EXEC is not set +# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set +# CONFIG_REV is not set +# CONFIG_ACPID is not set +# CONFIG_FEATURE_ACPID_COMPAT is not set +# CONFIG_BLKID is not set +# CONFIG_FEATURE_BLKID_TYPE is not set +CONFIG_DMESG=y +CONFIG_FEATURE_DMESG_PRETTY=y +CONFIG_FBSET=y +CONFIG_FEATURE_FBSET_FANCY=y +CONFIG_FEATURE_FBSET_READMODE=y +# CONFIG_FDFLUSH is not set +# CONFIG_FDFORMAT is not set +CONFIG_FDISK=y +# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set +CONFIG_FEATURE_FDISK_WRITABLE=y +# CONFIG_FEATURE_AIX_LABEL is not set +# CONFIG_FEATURE_SGI_LABEL is not set +# CONFIG_FEATURE_SUN_LABEL is not set +# CONFIG_FEATURE_OSF_LABEL is not set +CONFIG_FEATURE_GPT_LABEL=y +CONFIG_FEATURE_FDISK_ADVANCED=y +CONFIG_FINDFS=y +CONFIG_FLOCK=y +# CONFIG_FREERAMDISK is not set +# CONFIG_FSCK_MINIX is not set +# CONFIG_MKFS_EXT2 is not set +# CONFIG_MKFS_MINIX is not set +# CONFIG_FEATURE_MINIX2 is not set +# CONFIG_MKFS_REISER is not set +CONFIG_MKFS_VFAT=y +CONFIG_GETOPT=y +CONFIG_FEATURE_GETOPT_LONG=y +CONFIG_HEXDUMP=y +# CONFIG_FEATURE_HEXDUMP_REVERSE is not set +CONFIG_HD=y +# CONFIG_HWCLOCK is not set +# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set +# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set +# CONFIG_IPCRM is not set +# CONFIG_IPCS is not set +CONFIG_LOSETUP=y +CONFIG_LSPCI=y +CONFIG_LSUSB=y +CONFIG_MKSWAP=y +CONFIG_FEATURE_MKSWAP_UUID=y +CONFIG_MORE=y +CONFIG_MOUNT=y +# CONFIG_FEATURE_MOUNT_FAKE is not set +# CONFIG_FEATURE_MOUNT_VERBOSE is not set +CONFIG_FEATURE_MOUNT_HELPERS=y +CONFIG_FEATURE_MOUNT_LABEL=y +CONFIG_FEATURE_MOUNT_NFS=y +CONFIG_FEATURE_MOUNT_CIFS=y +CONFIG_FEATURE_MOUNT_FLAGS=y +CONFIG_FEATURE_MOUNT_FSTAB=y +# CONFIG_PIVOT_ROOT is not set +CONFIG_RDATE=y +CONFIG_RDEV=y +CONFIG_READPROFILE=y +# CONFIG_RTCWAKE is not set +# CONFIG_SCRIPT is not set +# CONFIG_SCRIPTREPLAY is not set +# CONFIG_SETARCH is not set +CONFIG_SWAPONOFF=y +# CONFIG_FEATURE_SWAPON_PRI is not set +CONFIG_SWITCH_ROOT=y +CONFIG_UMOUNT=y +CONFIG_FEATURE_UMOUNT_ALL=y + +# +# Common options for mount/umount +# +CONFIG_FEATURE_MOUNT_LOOP=y +CONFIG_FEATURE_MOUNT_LOOP_CREATE=y +# CONFIG_FEATURE_MTAB_SUPPORT is not set +CONFIG_VOLUMEID=y + +# +# Filesystem/Volume identification +# +CONFIG_FEATURE_VOLUMEID_BTRFS=y +CONFIG_FEATURE_VOLUMEID_CRAMFS=y +CONFIG_FEATURE_VOLUMEID_EXFAT=y +CONFIG_FEATURE_VOLUMEID_EXT=y +CONFIG_FEATURE_VOLUMEID_F2FS=y +CONFIG_FEATURE_VOLUMEID_FAT=y +CONFIG_FEATURE_VOLUMEID_HFS=y +CONFIG_FEATURE_VOLUMEID_ISO9660=y +CONFIG_FEATURE_VOLUMEID_JFS=y +CONFIG_FEATURE_VOLUMEID_LINUXRAID=y +CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y +CONFIG_FEATURE_VOLUMEID_LUKS=y +CONFIG_FEATURE_VOLUMEID_NILFS=y +CONFIG_FEATURE_VOLUMEID_NTFS=y +CONFIG_FEATURE_VOLUMEID_OCFS2=y +CONFIG_FEATURE_VOLUMEID_REISERFS=y +CONFIG_FEATURE_VOLUMEID_ROMFS=y +# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set +CONFIG_FEATURE_VOLUMEID_SYSV=y +CONFIG_FEATURE_VOLUMEID_UDF=y +CONFIG_FEATURE_VOLUMEID_XFS=y + +# +# Miscellaneous Utilities +# +# CONFIG_CONSPY is not set +CONFIG_LESS=y +CONFIG_FEATURE_LESS_MAXLINES=9999999 +CONFIG_FEATURE_LESS_BRACKETS=y +CONFIG_FEATURE_LESS_FLAGS=y +# CONFIG_FEATURE_LESS_MARKS is not set +CONFIG_FEATURE_LESS_REGEXP=y +CONFIG_FEATURE_LESS_WINCH=y +CONFIG_FEATURE_LESS_ASK_TERMINAL=y +# CONFIG_FEATURE_LESS_DASHCMD is not set +# CONFIG_FEATURE_LESS_LINENUMS is not set +# CONFIG_NANDWRITE is not set +# CONFIG_NANDDUMP is not set +# CONFIG_RFKILL is not set +CONFIG_SETSERIAL=y +# CONFIG_UBIATTACH is not set +# CONFIG_UBIDETACH is not set +# CONFIG_UBIMKVOL is not set +# CONFIG_UBIRMVOL is not set +# CONFIG_UBIRSVOL is not set +# CONFIG_UBIUPDATEVOL is not set +# CONFIG_WALL is not set +# CONFIG_ADJTIMEX is not set +CONFIG_BBCONFIG=y +CONFIG_FEATURE_COMPRESS_BBCONFIG=y +# CONFIG_BEEP is not set +CONFIG_FEATURE_BEEP_FREQ=0 +CONFIG_FEATURE_BEEP_LENGTH_MS=0 +# CONFIG_CHAT is not set +# CONFIG_FEATURE_CHAT_NOFAIL is not set +# CONFIG_FEATURE_CHAT_TTY_HIFI is not set +# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set +# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set +# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set +# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set +# CONFIG_FEATURE_CHAT_CLR_ABORT is not set +CONFIG_CHRT=y +CONFIG_CROND=y +# CONFIG_FEATURE_CROND_D is not set +# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set +CONFIG_FEATURE_CROND_DIR="/etc/cron" +CONFIG_CRONTAB=y +CONFIG_DC=y +# CONFIG_FEATURE_DC_LIBM is not set +# CONFIG_DEVFSD is not set +# CONFIG_DEVFSD_MODLOAD is not set +# CONFIG_DEVFSD_FG_NP is not set +# CONFIG_DEVFSD_VERBOSE is not set +# CONFIG_FEATURE_DEVFS is not set +CONFIG_DEVMEM=y +CONFIG_EJECT=y +CONFIG_FEATURE_EJECT_SCSI=y +CONFIG_FBSPLASH=y +# CONFIG_FLASHCP is not set +# CONFIG_FLASH_LOCK is not set +# CONFIG_FLASH_UNLOCK is not set +# CONFIG_FLASH_ERASEALL is not set +CONFIG_IONICE=y +CONFIG_INOTIFYD=y +# CONFIG_LAST is not set +# CONFIG_FEATURE_LAST_SMALL is not set +# CONFIG_FEATURE_LAST_FANCY is not set +# CONFIG_HDPARM is not set +# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set +# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set +# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set +# CONFIG_MAKEDEVS is not set +# CONFIG_FEATURE_MAKEDEVS_LEAF is not set +# CONFIG_FEATURE_MAKEDEVS_TABLE is not set +# CONFIG_MAN is not set +CONFIG_MICROCOM=y +# CONFIG_MOUNTPOINT is not set +# CONFIG_MT is not set +# CONFIG_RAIDAUTORUN is not set +CONFIG_READAHEAD=y +# CONFIG_RUNLEVEL is not set +# CONFIG_RX is not set +CONFIG_SETSID=y +CONFIG_STRINGS=y +CONFIG_TASKSET=y +CONFIG_FEATURE_TASKSET_FANCY=y +CONFIG_TIME=y +CONFIG_TIMEOUT=y +# CONFIG_TTYSIZE is not set +CONFIG_VOLNAME=y +# CONFIG_WATCHDOG is not set + +# +# Networking Utilities +# +CONFIG_NAMEIF=y +CONFIG_FEATURE_NAMEIF_EXTENDED=y +CONFIG_NBDCLIENT=y +CONFIG_NC=y +CONFIG_NC_SERVER=y +CONFIG_NC_EXTRA=y +# CONFIG_NC_110_COMPAT is not set +CONFIG_PING=y +CONFIG_PING6=y +CONFIG_FEATURE_FANCY_PING=y +CONFIG_WHOIS=y +CONFIG_FEATURE_IPV6=y +# CONFIG_FEATURE_UNIX_LOCAL is not set +CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y +# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set +CONFIG_ARP=y +# CONFIG_ARPING is not set +CONFIG_BRCTL=y +CONFIG_FEATURE_BRCTL_FANCY=y +CONFIG_FEATURE_BRCTL_SHOW=y +# CONFIG_DNSD is not set +CONFIG_ETHER_WAKE=y +# CONFIG_FAKEIDENTD is not set +# CONFIG_FTPD is not set +# CONFIG_FEATURE_FTP_WRITE is not set +# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set +# CONFIG_FTPGET is not set +# CONFIG_FTPPUT is not set +# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set +CONFIG_HOSTNAME=y +# CONFIG_HTTPD is not set +# CONFIG_FEATURE_HTTPD_RANGES is not set +# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set +# CONFIG_FEATURE_HTTPD_SETUID is not set +# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set +# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set +# CONFIG_FEATURE_HTTPD_CGI is not set +# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set +# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set +# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set +# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set +# CONFIG_FEATURE_HTTPD_PROXY is not set +# CONFIG_FEATURE_HTTPD_GZIP is not set +CONFIG_IFCONFIG=y +CONFIG_FEATURE_IFCONFIG_STATUS=y +# CONFIG_FEATURE_IFCONFIG_SLIP is not set +# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set +CONFIG_FEATURE_IFCONFIG_HW=y +# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set +# CONFIG_IFENSLAVE is not set +# CONFIG_IFPLUGD is not set +CONFIG_IFUPDOWN=y +CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" +CONFIG_FEATURE_IFUPDOWN_IP=y +CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y +# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set +CONFIG_FEATURE_IFUPDOWN_IPV4=y +CONFIG_FEATURE_IFUPDOWN_IPV6=y +CONFIG_FEATURE_IFUPDOWN_MAPPING=y +# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set +CONFIG_INETD=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y +CONFIG_FEATURE_INETD_RPC=y +CONFIG_IP=y +CONFIG_FEATURE_IP_ADDRESS=y +CONFIG_FEATURE_IP_LINK=y +CONFIG_FEATURE_IP_ROUTE=y +CONFIG_FEATURE_IP_TUNNEL=y +CONFIG_FEATURE_IP_RULE=y +# CONFIG_FEATURE_IP_SHORT_FORMS is not set +# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set +# CONFIG_IPADDR is not set +# CONFIG_IPLINK is not set +# CONFIG_IPROUTE is not set +# CONFIG_IPTUNNEL is not set +# CONFIG_IPRULE is not set +# CONFIG_IPCALC is not set +# CONFIG_FEATURE_IPCALC_FANCY is not set +# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set +CONFIG_NETSTAT=y +CONFIG_FEATURE_NETSTAT_WIDE=y +CONFIG_FEATURE_NETSTAT_PRG=y +CONFIG_NSLOOKUP=y +# CONFIG_NTPD is not set +# CONFIG_FEATURE_NTPD_SERVER is not set +# CONFIG_PSCAN is not set +CONFIG_ROUTE=y +# CONFIG_SLATTACH is not set +# CONFIG_TCPSVD is not set +CONFIG_TELNET=y +CONFIG_FEATURE_TELNET_TTYPE=y +CONFIG_FEATURE_TELNET_AUTOLOGIN=y +CONFIG_TELNETD=y +# CONFIG_FEATURE_TELNETD_STANDALONE is not set +# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set +CONFIG_TFTP=y +# CONFIG_TFTPD is not set + +# +# Common options for tftp/tftpd +# +CONFIG_FEATURE_TFTP_GET=y +CONFIG_FEATURE_TFTP_PUT=y +# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set +# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set +# CONFIG_TFTP_DEBUG is not set +CONFIG_TRACEROUTE=y +CONFIG_TRACEROUTE6=y +CONFIG_FEATURE_TRACEROUTE_VERBOSE=y +# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set +CONFIG_FEATURE_TRACEROUTE_USE_ICMP=y +CONFIG_TUNCTL=y +CONFIG_FEATURE_TUNCTL_UG=y +# CONFIG_UDHCPC6 is not set +# CONFIG_UDHCPD is not set +# CONFIG_DHCPRELAY is not set +# CONFIG_DUMPLEASES is not set +# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set +# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set +CONFIG_DHCPD_LEASES_FILE="" +CONFIG_UDHCPC=y +CONFIG_FEATURE_UDHCPC_ARPING=y +# CONFIG_FEATURE_UDHCP_PORT is not set +CONFIG_UDHCP_DEBUG=0 +# CONFIG_FEATURE_UDHCP_RFC3397 is not set +CONFIG_FEATURE_UDHCP_8021Q=y +CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -b -T3 -A10" +# CONFIG_UDPSVD is not set +CONFIG_VCONFIG=y +CONFIG_WGET=y +CONFIG_FEATURE_WGET_STATUSBAR=y +CONFIG_FEATURE_WGET_AUTHENTICATION=y +CONFIG_FEATURE_WGET_LONG_OPTIONS=y +CONFIG_FEATURE_WGET_TIMEOUT=y +# CONFIG_ZCIP is not set + +# +# Print Utilities +# +# CONFIG_LPD is not set +# CONFIG_LPR is not set +# CONFIG_LPQ is not set + +# +# Mail Utilities +# +# CONFIG_MAKEMIME is not set +CONFIG_FEATURE_MIME_CHARSET="us-ascii" +# CONFIG_POPMAILDIR is not set +# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set +# CONFIG_REFORMIME is not set +# CONFIG_FEATURE_REFORMIME_COMPAT is not set +CONFIG_SENDMAIL=y + +# +# Process Utilities +# +CONFIG_IOSTAT=y +CONFIG_LSOF=y +CONFIG_MPSTAT=y +CONFIG_NMETER=y +# CONFIG_PMAP is not set +CONFIG_POWERTOP=y +# CONFIG_PSTREE is not set +# CONFIG_PWDX is not set +CONFIG_SMEMCAP=y +# CONFIG_TOP is not set +# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set +# CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set +# CONFIG_FEATURE_TOP_SMP_CPU is not set +# CONFIG_FEATURE_TOP_DECIMALS is not set +# CONFIG_FEATURE_TOP_SMP_PROCESS is not set +# CONFIG_FEATURE_TOPMEM is not set +# CONFIG_UPTIME is not set +# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set +# CONFIG_FREE is not set +# CONFIG_FUSER is not set +# CONFIG_KILL is not set +# CONFIG_KILLALL is not set +# CONFIG_KILLALL5 is not set +# CONFIG_PGREP is not set +CONFIG_PIDOF=y +CONFIG_FEATURE_PIDOF_SINGLE=y +CONFIG_FEATURE_PIDOF_OMIT=y +# CONFIG_PKILL is not set +# CONFIG_PS is not set +# CONFIG_FEATURE_PS_WIDE is not set +# CONFIG_FEATURE_PS_LONG is not set +# CONFIG_FEATURE_PS_TIME is not set +# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set +# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set +CONFIG_RENICE=y +# CONFIG_BB_SYSCTL is not set +# CONFIG_FEATURE_SHOW_THREADS is not set +# CONFIG_WATCH is not set + +# +# Runit Utilities +# +# CONFIG_RUNSV is not set +# CONFIG_RUNSVDIR is not set +# CONFIG_FEATURE_RUNSVDIR_LOG is not set +# CONFIG_SV is not set +CONFIG_SV_DEFAULT_SERVICE_DIR="" +# CONFIG_SVLOGD is not set +# CONFIG_CHPST is not set +# CONFIG_SETUIDGID is not set +# CONFIG_ENVUIDGID is not set +# CONFIG_ENVDIR is not set +# CONFIG_SOFTLIMIT is not set +# CONFIG_CHCON is not set +# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set +# CONFIG_GETENFORCE is not set +# CONFIG_GETSEBOOL is not set +# CONFIG_LOAD_POLICY is not set +# CONFIG_MATCHPATHCON is not set +# CONFIG_RESTORECON is not set +# CONFIG_RUNCON is not set +# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set +# CONFIG_SELINUXENABLED is not set +# CONFIG_SETENFORCE is not set +# CONFIG_SETFILES is not set +# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_SETSEBOOL is not set +# CONFIG_SESTATUS is not set + +# +# Shells +# +CONFIG_ASH=y +CONFIG_ASH_BASH_COMPAT=y +CONFIG_ASH_IDLE_TIMEOUT=y +CONFIG_ASH_JOB_CONTROL=y +CONFIG_ASH_ALIAS=y +CONFIG_ASH_GETOPTS=y +CONFIG_ASH_BUILTIN_ECHO=y +CONFIG_ASH_BUILTIN_PRINTF=y +CONFIG_ASH_BUILTIN_TEST=y +# CONFIG_ASH_CMDCMD is not set +# CONFIG_ASH_MAIL is not set +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y +CONFIG_ASH_RANDOM_SUPPORT=y +CONFIG_ASH_EXPAND_PRMT=y +# CONFIG_CTTYHACK is not set +# CONFIG_HUSH is not set +# CONFIG_HUSH_BASH_COMPAT is not set +# CONFIG_HUSH_BRACE_EXPANSION is not set +# CONFIG_HUSH_HELP is not set +# CONFIG_HUSH_INTERACTIVE is not set +# CONFIG_HUSH_SAVEHISTORY is not set +# CONFIG_HUSH_JOB is not set +# CONFIG_HUSH_TICK is not set +# CONFIG_HUSH_IF is not set +# CONFIG_HUSH_LOOPS is not set +# CONFIG_HUSH_CASE is not set +# CONFIG_HUSH_FUNCTIONS is not set +# CONFIG_HUSH_LOCAL is not set +# CONFIG_HUSH_RANDOM_SUPPORT is not set +# CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_MODE_X is not set +# CONFIG_MSH is not set +CONFIG_FEATURE_SH_IS_ASH=y +# CONFIG_FEATURE_SH_IS_HUSH is not set +# CONFIG_FEATURE_SH_IS_NONE is not set +CONFIG_FEATURE_BASH_IS_ASH=y +# CONFIG_FEATURE_BASH_IS_HUSH is not set +# CONFIG_FEATURE_BASH_IS_NONE is not set +CONFIG_SH_MATH_SUPPORT=y +# CONFIG_SH_MATH_SUPPORT_64 is not set +CONFIG_FEATURE_SH_EXTRA_QUIET=y +# CONFIG_FEATURE_SH_STANDALONE is not set +# CONFIG_FEATURE_SH_NOFORK is not set +CONFIG_FEATURE_SH_HISTFILESIZE=y + +# +# System Logging Utilities +# +CONFIG_SYSLOGD=y +CONFIG_FEATURE_ROTATE_LOGFILE=y +CONFIG_FEATURE_REMOTE_LOG=y +CONFIG_FEATURE_SYSLOGD_DUP=y +CONFIG_FEATURE_SYSLOGD_CFG=y +CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 +CONFIG_FEATURE_IPC_SYSLOG=y +CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 +CONFIG_LOGREAD=y +CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y +CONFIG_FEATURE_KMSG_SYSLOG=y +CONFIG_KLOGD=y + +# +# klogd should not be used together with syslog to kernel printk buffer +# +CONFIG_FEATURE_KLOGD_KLOGCTL=y +CONFIG_LOGGER=y diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/inetd b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/inetd new file mode 100755 index 0000000..cf50bcd --- /dev/null +++ b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/inetd @@ -0,0 +1,33 @@ +#!/bin/sh +# +# start/stop inetd super server. + +if ! [ -x /usr/sbin/inetd ]; then + exit 0 +fi + +case "$1" in + start) + echo -n "Starting internet superserver:" + echo -n " inetd" ; start-stop-daemon -S -x /usr/sbin/inetd > /dev/null + echo "." + ;; + stop) + echo -n "Stopping internet superserver:" + echo -n " inetd" ; start-stop-daemon -K -x /usr/sbin/inetd > /dev/null + echo "." + ;; + restart) + echo -n "Restarting internet superserver:" + echo -n " inetd " + killall -HUP inetd + echo "." + ;; + *) + echo "Usage: /etc/init.d/inetd {start|stop|restart}" + exit 1 + ;; +esac + +exit 0 + diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/inetd.conf b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/inetd.conf new file mode 100644 index 0000000..bafaf40 --- /dev/null +++ b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/inetd.conf @@ -0,0 +1,23 @@ +# /etc/inetd.conf: see inetd(8) for further informations. +# +# Internet server configuration database +# +# If you want to disable an entry so it isn't touched during +# package updates just comment it out with a single '#' character. +# +# +# +#:INTERNAL: Internal services +#echo stream tcp nowait root internal +#echo dgram udp wait root internal +#chargen stream tcp nowait root internal +#chargen dgram udp wait root internal +#discard stream tcp nowait root internal +#discard dgram udp wait root internal +#daytime stream tcp nowait root internal +#daytime dgram udp wait root internal +#time stream tcp nowait root internal +#time dgram udp wait root internal +ftp stream tcp nowait root /usr/sbin/vsftpd vsftpd +telnet stream tcp nowait root /usr/sbin/telnetd telnetd +8001 stream tcp nowait root /usr/bin/streamproxy streamproxy diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/mount_single_uuid.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/mount_single_uuid.patch new file mode 100644 index 0000000..9577c07 --- /dev/null +++ b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/mount_single_uuid.patch @@ -0,0 +1,13 @@ +Index: busybox-1.18.5/util-linux/mount.c +=================================================================== +--- busybox-1.18.5.orig/util-linux/mount.c ++++ busybox-1.18.5/util-linux/mount.c +@@ -1934,6 +1934,8 @@ int mount_main(int argc UNUSED_PARAM, ch + // "proc") or a full path from root + if (argv[0]) { + ++ // Check for UUID= or LABEL= entries too ++ resolve_mount_spec(&mtcur->mnt_fsname); + // Is this what we're looking for? + if (strcmp(argv[0], mtcur->mnt_fsname) != 0 + && strcmp(storage_path, mtcur->mnt_fsname) != 0 diff --git a/meta-openvuplus/recipes-core/busybox/busybox_1.19.4.bbappend b/meta-openvuplus/recipes-core/busybox/busybox_1.19.4.bbappend deleted file mode 100644 index cf4cd40..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox_1.19.4.bbappend +++ /dev/null @@ -1,42 +0,0 @@ -PR .= "-vuplus11" - -SRC_URI += " \ - file://0001-ifupdown-support-post-up-pre-down-hooks.patch \ - file://0002-ifupdown-code-shrink.patch \ - file://0003-ifupdown-remove-interface-from-state_list-if-iface_u.patch \ - file://0004-ifupdown-support-metric-for-static-default-gw.patch \ - file://0005-ifupdown-improve-compatibility-with-Debian.patch \ - file://0006-get_linux_version_code-don-t-fail-on-3.0-foo.patch \ - file://0007-ifplugd-move-read_pid-to-libbb-pidfile.c-and-rename-.patch \ - file://0009-udhcpc-calculate-broadcast-address-if-not-given-by-s.patch \ - file://0010-udhcpc-obtain-hostname-from-OS-by-default.patch \ - file://0011-mount-don-t-pass-option-auto-to-kernel.patch \ - file://0001-work-around-linux-ext2_fs.h-breakage.patch \ - file://0002-Create-and-use-our-own-copy-of-linux-ext2_fs.h.patch \ - file://0003-Drop-include-bb_linux_ext2_fs.h-use-existing-e2fspro.patch \ - file://mount_single_uuid.patch \ - file://change-passwd-default-algorithm.patch \ - file://inetd \ - file://inetd.conf \ -" -# 0008-ifupdown-dhcp_down-wait-until-udhcpc-has-been-killed.patch is removed. if patched, postdown is not working.(/etc/network/interfaces) - -DEPENDS += "mtd-utils" - -PACKAGES =+ "${PN}-inetd" -INITSCRIPT_PACKAGES += "${PN}-inetd" -INITSCRIPT_NAME_${PN}-inetd = "inetd.${BPN}" -CONFFILES_${PN}-inetd = "${sysconfdir}/inetd.conf" -FILES_${PN}-inetd = "${sysconfdir}/init.d/inetd.${BPN} ${sysconfdir}/inetd.conf" -RDEPENDS_${PN}-inetd += "${PN}" - -RRECOMMENDS_${PN} += "${PN}-inetd" - -do_install_append() { - if grep -q "CONFIG_CRONTAB=y" ${WORKDIR}/defconfig; then - install -d ${D}${sysconfdir}/cron/crontabs - fi -} - -FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" - diff --git a/meta-openvuplus/recipes-core/busybox/busybox_1.22.1.bbappend b/meta-openvuplus/recipes-core/busybox/busybox_1.22.1.bbappend new file mode 100644 index 0000000..52c9f78 --- /dev/null +++ b/meta-openvuplus/recipes-core/busybox/busybox_1.22.1.bbappend @@ -0,0 +1,28 @@ +PR .= "-vuplus0" + +SRC_URI += " \ + file://0011-mount-don-t-pass-option-auto-to-kernel.patch \ + file://mount_single_uuid.patch \ + file://inetd \ + file://inetd.conf \ +" + +DEPENDS += "mtd-utils" + +PACKAGES =+ "${PN}-inetd" +INITSCRIPT_PACKAGES += "${PN}-inetd" +INITSCRIPT_NAME_${PN}-inetd = "inetd.${BPN}" +CONFFILES_${PN}-inetd = "${sysconfdir}/inetd.conf" +FILES_${PN}-inetd = "${sysconfdir}/init.d/inetd.${BPN} ${sysconfdir}/inetd.conf" +RDEPENDS_${PN}-inetd += "${PN}" + +RRECOMMENDS_${PN} += "${PN}-inetd" + +do_install_append() { + if grep -q "CONFIG_CRONTAB=y" ${WORKDIR}/defconfig; then + install -d ${D}${sysconfdir}/cron/crontabs + fi +} + +FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" + diff --git a/meta-openvuplus/recipes-core/dbus/dbus-1.4.16/compile-under-c++11.patch b/meta-openvuplus/recipes-core/dbus/dbus-1.4.16/compile-under-c++11.patch deleted file mode 100644 index 38ab7e2..0000000 --- a/meta-openvuplus/recipes-core/dbus/dbus-1.4.16/compile-under-c++11.patch +++ /dev/null @@ -1,34 +0,0 @@ -From a942d1543f4d87db821c5836986129dea79a173d Mon Sep 17 00:00:00 2001 -From: Marc Mutz -Date: Thu, 16 Feb 2012 08:43:40 +0100 -Subject: [PATCH] dbus-protocol.h: compile under C++11 - -C++11 compilers have a feature called 'user-defined string literals' which -allow arbitrary string suffixes to have user-defined meaning. - -This makes code that concatenates macros with string literals without -intervening whitespace illegal under C++11. Fortunately, string literal -concatenation has allowed intervening whitespace since the dawn of time, -so the solution is to simply pad with spaces. - -Tested (header) with GCC 4.7 (trunk). ---- - dbus/dbus-protocol.h | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/dbus/dbus-protocol.h b/dbus/dbus-protocol.h -index 8aa15e5..60605ab 100644 ---- a/dbus/dbus-protocol.h -+++ b/dbus/dbus-protocol.h -@@ -456,7 +456,7 @@ extern "C" { - /** XML system identifier of the introspection format version 1.0 */ - #define DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd" - /** XML document type declaration of the introspection format version 1.0 */ --#define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "\n" -+#define DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "\n" - - /** @} */ - --- -1.7.2.3 - diff --git a/meta-openvuplus/recipes-core/dbus/dbus_1.4.16.bbappend b/meta-openvuplus/recipes-core/dbus/dbus_1.4.16.bbappend deleted file mode 100644 index ff7200c..0000000 --- a/meta-openvuplus/recipes-core/dbus/dbus_1.4.16.bbappend +++ /dev/null @@ -1,5 +0,0 @@ -PR .= "-dream1" - -SRC_URI += "file://compile-under-c++11.patch" - -FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" diff --git a/meta-openvuplus/recipes-core/gettext/gettext/gettext_remove_gets.patch b/meta-openvuplus/recipes-core/gettext/gettext/gettext_remove_gets.patch deleted file mode 100644 index ac0d5b5..0000000 --- a/meta-openvuplus/recipes-core/gettext/gettext/gettext_remove_gets.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff --git a/gettext-runtime/gnulib-lib/stdio.in.h b/gettext-runtime/gnulib-lib/stdio.in.h -index c43848e..38e0b53 100644 ---- a/gettext-runtime/gnulib-lib/stdio.in.h -+++ b/gettext-runtime/gnulib-lib/stdio.in.h -@@ -140,8 +140,10 @@ _GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - " - /* It is very rare that the developer ever has full control of stdin, - so any use of gets warrants an unconditional warning. Assume it is - always declared, since it is required by C89. */ -+#ifdef gets - #undef gets - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); -+#endif - - #if @GNULIB_FOPEN@ - # if @REPLACE_FOPEN@ -diff --git a/gettext-tools/gnulib-lib/stdio.in.h b/gettext-tools/gnulib-lib/stdio.in.h -index c43848e..38e0b53 100644 ---- a/gettext-tools/gnulib-lib/stdio.in.h -+++ b/gettext-tools/gnulib-lib/stdio.in.h -@@ -140,8 +140,10 @@ _GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - " - /* It is very rare that the developer ever has full control of stdin, - so any use of gets warrants an unconditional warning. Assume it is - always declared, since it is required by C89. */ -+#ifdef gets - #undef gets - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); -+#endif - - #if @GNULIB_FOPEN@ - # if @REPLACE_FOPEN@ -diff --git a/gettext-tools/libgettextpo/stdio.in.h b/gettext-tools/libgettextpo/stdio.in.h -index c43848e..38e0b53 100644 ---- a/gettext-tools/libgettextpo/stdio.in.h -+++ b/gettext-tools/libgettextpo/stdio.in.h -@@ -140,8 +140,10 @@ _GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - " - /* It is very rare that the developer ever has full control of stdin, - so any use of gets warrants an unconditional warning. Assume it is - always declared, since it is required by C89. */ -+#ifdef gets - #undef gets - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); -+#endif - - #if @GNULIB_FOPEN@ - # if @REPLACE_FOPEN@ diff --git a/meta-openvuplus/recipes-core/gettext/gettext_0.18.1.1.bbappend b/meta-openvuplus/recipes-core/gettext/gettext_0.18.1.1.bbappend deleted file mode 100644 index 1fdc44f..0000000 --- a/meta-openvuplus/recipes-core/gettext/gettext_0.18.1.1.bbappend +++ /dev/null @@ -1,7 +0,0 @@ -PR .= "-vuplus1" - -SRC_URI += " \ - file://gettext_remove_gets.patch \ -" - -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-openvuplus/recipes-core/init-ifupdown/init-ifupdown/interfaces b/meta-openvuplus/recipes-core/init-ifupdown/init-ifupdown/interfaces new file mode 100644 index 0000000..673618f --- /dev/null +++ b/meta-openvuplus/recipes-core/init-ifupdown/init-ifupdown/interfaces @@ -0,0 +1,10 @@ +# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) + +# The loopback interface +auto lo +iface lo inet loopback + +# Ethernet +auto eth0 +iface eth0 inet dhcp + diff --git a/meta-openvuplus/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend b/meta-openvuplus/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend new file mode 100644 index 0000000..3728583 --- /dev/null +++ b/meta-openvuplus/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend @@ -0,0 +1,4 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +PR .= "-vuplus0" + diff --git a/meta-openvuplus/recipes-core/initscripts/initscripts-1.0/bootmisc.sh b/meta-openvuplus/recipes-core/initscripts/initscripts-1.0/bootmisc.sh new file mode 100644 index 0000000..4f76cb4 --- /dev/null +++ b/meta-openvuplus/recipes-core/initscripts/initscripts-1.0/bootmisc.sh @@ -0,0 +1,78 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: bootmisc +# Required-Start: $local_fs mountvirtfs +# Required-Stop: $local_fs +# Default-Start: S +# Default-Stop: 0 6 +# Short-Description: Misc and other. +### END INIT INFO + +. /etc/default/rcS +# +# Put a nologin file in /etc to prevent people from logging in before +# system startup is complete. +# +if test "$DELAYLOGIN" = yes +then + echo "System bootup in progress - please wait" > /etc/nologin + cp /etc/nologin /etc/nologin.boot +fi + +# +# Set pseudo-terminal access permissions. +# +if test -c /dev/ttyp0 +then + chmod 666 /dev/tty[p-za-e][0-9a-f] + chown root:tty /dev/tty[p-za-e][0-9a-f] +fi + +# +# Apply /proc settings if defined +# +SYSCTL_CONF="/etc/sysctl.conf" +if [ -f "${SYSCTL_CONF}" ] +then + if [ -x "/sbin/sysctl" ] + then + /sbin/sysctl -p "${SYSCTL_CONF}" + else + echo "To have ${SYSCTL_CONF} applied during boot, install package ." + fi +fi + +# +# Update /etc/motd. +# +if test "$EDITMOTD" != no +then + uname -a > /etc/motd.tmp + sed 1d /etc/motd >> /etc/motd.tmp + mv /etc/motd.tmp /etc/motd +fi + +# +# This is as good a place as any for a sanity check +# /tmp should be a symlink to /var/tmp to cut down on the number +# of mounted ramdisks. +if test ! -L /tmp && test -d /var/tmp +then + rm -rf /tmp + ln -sf /var/tmp /tmp +fi + +# Set the system clock from hardware clock +# If the timestamp is more recent than the current time, +# use the timestamp instead. +test -x /etc/init.d/hwclock.sh && /etc/init.d/hwclock.sh start +if test -e /etc/timestamp +then + SYSTEMDATE=`date -u +%4Y%2m%2d%2H%2M` + read TIMESTAMP < /etc/timestamp + if [ ${TIMESTAMP} -gt $SYSTEMDATE ]; then + date -u ${TIMESTAMP#????}${TIMESTAMP%????????} + test -x /etc/init.d/hwclock.sh && /etc/init.d/hwclock.sh stop + fi +fi +: exit 0 diff --git a/meta-openvuplus/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh b/meta-openvuplus/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh index c618629..442321a 100755 --- a/meta-openvuplus/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh +++ b/meta-openvuplus/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh @@ -8,165 +8,186 @@ # Short-Description: Populate the volatile filesystem ### END INIT INFO -. /etc/default/rcS - -CFGDIR="/etc/default/volatiles" -TMPROOT="/var/tmp" +# Get ROOT_DIR +DIRNAME=`dirname $0` +ROOT_DIR=`echo $DIRNAME | sed -ne 's:/etc/.*::p'` + +[ -e ${ROOT_DIR}/etc/default/rcS ] && . ${ROOT_DIR}/etc/default/rcS +# When running populate-volatile.sh at rootfs time, disable cache. +[ -n "$ROOT_DIR" ] && VOLATILE_ENABLE_CACHE=no +# If rootfs is read-only, disable cache. +[ "$ROOTFS_READ_ONLY" = "yes" ] && VOLATILE_ENABLE_CACHE=no + +CFGDIR="${ROOT_DIR}/etc/default/volatiles" +TMPROOT="${ROOT_DIR}/var/volatile/tmp" COREDEF="00_core" [ "${VERBOSE}" != "no" ] && echo "Populating volatile Filesystems." create_file() { - EXEC=" - touch \"$1\"; - chown ${TUSER}.${TGROUP} $1 || echo \"Failed to set owner -${TUSER}- for -$1-.\" >/dev/ttyS0 2>&1; - chmod ${TMODE} $1 || echo \"Failed to set mode -${TMODE}- for -$1-.\" >/dev/ttyS0 2>&1 " + EXEC=" + touch \"$1\"; + chown ${TUSER}.${TGROUP} $1 || echo \"Failed to set owner -${TUSER}- for -$1-.\" >/dev/ttyS0 2>&1; + chmod ${TMODE} $1 || echo \"Failed to set mode -${TMODE}- for -$1-.\" >/dev/ttyS0 2>&1 " test "$VOLATILE_ENABLE_CACHE" = yes && echo "$EXEC" >> /etc/volatile.cache.build [ -e "$1" ] && { - [ "${VERBOSE}" != "no" ] && echo "Target already exists. Skipping." + [ "${VERBOSE}" != "no" ] && echo "Target already exists. Skipping." } || { - eval $EXEC & + if [ -z "$ROOT_DIR" ]; then + eval $EXEC & + else + # Creating some files at rootfs time may fail and should fail, + # but these failures should not be logged to make sure the do_rootfs + # process doesn't fail. This does no harm, as this script will + # run on target to set up the correct files and directories. + eval $EXEC > /dev/null 2>&1 + fi } } mk_dir() { - EXEC=" - mkdir -p \"$1\"; - chown ${TUSER}.${TGROUP} $1 || echo \"Failed to set owner -${TUSER}- for -$1-.\" >/dev/ttyS0 2>&1; + EXEC=" + mkdir -p \"$1\"; + chown ${TUSER}.${TGROUP} $1 || echo \"Failed to set owner -${TUSER}- for -$1-.\" >/dev/ttyS0 2>&1; chmod ${TMODE} $1 || echo \"Failed to set mode -${TMODE}- for -$1-.\" >/dev/ttyS0 2>&1 " test "$VOLATILE_ENABLE_CACHE" = yes && echo "$EXEC" >> /etc/volatile.cache.build - [ -e "$1" ] && { - [ "${VERBOSE}" != "no" ] && echo "Target already exists. Skipping." + [ "${VERBOSE}" != "no" ] && echo "Target already exists. Skipping." } || { - eval $EXEC & + if [ -z "$ROOT_DIR" ]; then + eval $EXEC + else + # For the same reason with create_file(), failures should + # not be logged. + eval $EXEC > /dev/null 2>&1 + fi } } link_file() { - EXEC="test -e \"$2\" -o -L $2 || ln -s \"$1\" \"$2\" >/dev/ttyS0 2>&1" + EXEC=" + if [ -L \"$2\" ]; then + [ \"\$(readlink -f \"$2\")\" != \"\$(readlink -f \"$1\")\" ] && { rm -f \"$2\"; ln -sf \"$1\" \"$2\"; }; + elif [ -d \"$2\" ]; then + cp -a $2/* $1 2>/dev/null; + cp -a $2/.[!.]* $1 2>/dev/null; + rm -rf \"$2\"; + ln -sf \"$1\" \"$2\"; + else + ln -sf \"$1\" \"$2\"; + fi + " test "$VOLATILE_ENABLE_CACHE" = yes && echo " $EXEC" >> /etc/volatile.cache.build - - [ -e "$2" ] && { - echo "Cannot create link over existing -${TNAME}-." >&2 - } || { - eval $EXEC & - } + + if [ -z "$ROOT_DIR" ]; then + eval $EXEC & + else + # For the same reason with create_file(), failures should + # not be logged. + eval $EXEC > /dev/null 2>&1 + fi } check_requirements() { + cleanup() { + rm "${TMP_INTERMED}" + rm "${TMP_DEFINED}" + rm "${TMP_COMBINED}" + } - cleanup() { - rm "${TMP_INTERMED}" - rm "${TMP_DEFINED}" - rm "${TMP_COMBINED}" - } - - CFGFILE="$1" - - [ `basename "${CFGFILE}"` = "${COREDEF}" ] && return 0 - - TMP_INTERMED="${TMPROOT}/tmp.$$" - TMP_DEFINED="${TMPROOT}/tmpdefined.$$" - TMP_COMBINED="${TMPROOT}/tmpcombined.$$" - + CFGFILE="$1" + [ `basename "${CFGFILE}"` = "${COREDEF}" ] && return 0 - cat /etc/passwd | sed 's@\(^:\)*:.*@\1@' | sort | uniq > "${TMP_DEFINED}" - cat ${CFGFILE} | grep -v "^#" | cut -d " " -f 2 > "${TMP_INTERMED}" - cat "${TMP_DEFINED}" "${TMP_INTERMED}" | sort | uniq > "${TMP_COMBINED}" + TMP_INTERMED="${TMPROOT}/tmp.$$" + TMP_DEFINED="${TMPROOT}/tmpdefined.$$" + TMP_COMBINED="${TMPROOT}/tmpcombined.$$" - NR_DEFINED_USERS="`cat "${TMP_DEFINED}" | wc -l`" - NR_COMBINED_USERS="`cat "${TMP_COMBINED}" | wc -l`" + sed 's@\(^:\)*:.*@\1@' ${ROOT_DIR}/etc/passwd | sort | uniq > "${TMP_DEFINED}" + cat ${CFGFILE} | grep -v "^#" | cut -s -d " " -f 2 > "${TMP_INTERMED}" + cat "${TMP_DEFINED}" "${TMP_INTERMED}" | sort | uniq > "${TMP_COMBINED}" + NR_DEFINED_USERS="`cat "${TMP_DEFINED}" | wc -l`" + NR_COMBINED_USERS="`cat "${TMP_COMBINED}" | wc -l`" - [ "${NR_DEFINED_USERS}" -ne "${NR_COMBINED_USERS}" ] && { - echo "Undefined users:" - diff "${TMP_DEFINED}" "${TMP_COMBINED}" | grep "^>" - cleanup - return 1 - } + [ "${NR_DEFINED_USERS}" -ne "${NR_COMBINED_USERS}" ] && { + echo "Undefined users:" + diff "${TMP_DEFINED}" "${TMP_COMBINED}" | grep "^>" + cleanup + return 1 + } - cat /etc/group | sed 's@\(^:\)*:.*@\1@' | sort | uniq > "${TMP_DEFINED}" - cat ${CFGFILE} | grep -v "^#" | cut -d " " -f 3 > "${TMP_INTERMED}" - cat "${TMP_DEFINED}" "${TMP_INTERMED}" | sort | uniq > "${TMP_COMBINED}" + sed 's@\(^:\)*:.*@\1@' ${ROOT_DIR}/etc/group | sort | uniq > "${TMP_DEFINED}" + cat ${CFGFILE} | grep -v "^#" | cut -s -d " " -f 3 > "${TMP_INTERMED}" + cat "${TMP_DEFINED}" "${TMP_INTERMED}" | sort | uniq > "${TMP_COMBINED}" - NR_DEFINED_GROUPS="`cat "${TMP_DEFINED}" | wc -l`" - NR_COMBINED_GROUPS="`cat "${TMP_COMBINED}" | wc -l`" + NR_DEFINED_GROUPS="`cat "${TMP_DEFINED}" | wc -l`" + NR_COMBINED_GROUPS="`cat "${TMP_COMBINED}" | wc -l`" - [ "${NR_DEFINED_GROUPS}" -ne "${NR_COMBINED_GROUPS}" ] && { - echo "Undefined groups:" - diff "${TMP_DEFINED}" "${TMP_COMBINED}" | grep "^>" - cleanup - return 1 - } + [ "${NR_DEFINED_GROUPS}" -ne "${NR_COMBINED_GROUPS}" ] && { + echo "Undefined groups:" + diff "${TMP_DEFINED}" "${TMP_COMBINED}" | grep "^>" + cleanup + return 1 + } - # Add checks for required directories here + # Add checks for required directories here - cleanup - return 0 - } + cleanup + return 0 +} apply_cfgfile() { + CFGFILE="$1" - CFGFILE="$1" - - check_requirements "${CFGFILE}" || { - echo "Skipping ${CFGFILE}" - return 1 - } - - cat ${CFGFILE} | grep -v "^#" | \ - while read LINE; do - - eval `echo "$LINE" | sed -n "s/\(.*\)\ \(.*\) \(.*\)\ \(.*\)\ \(.*\)\ \(.*\)/TTYPE=\1 ; TUSER=\2; TGROUP=\3; TMODE=\4; TNAME=\5 TLTARGET=\6/p"` - - [ "${VERBOSE}" != "no" ] && echo "Checking for -${TNAME}-." - - - [ "${TTYPE}" = "l" ] && { - TSOURCE="$TLTARGET" - [ -L "${TNAME}" ] || { - [ "${VERBOSE}" != "no" ] && echo "Creating link -${TNAME}- pointing to -${TSOURCE}-." - link_file "${TSOURCE}" "${TNAME}" & - } - continue - } - - [ -L "${TNAME}" ] && { - [ "${VERBOSE}" != "no" ] && echo "Found link." - NEWNAME=`ls -l "${TNAME}" | sed -e 's/^.*-> \(.*\)$/\1/'` - echo ${NEWNAME} | grep -v "^/" >/dev/null && { - TNAME="`echo ${TNAME} | sed -e 's@\(.*\)/.*@\1@'`/${NEWNAME}" - [ "${VERBOSE}" != "no" ] && echo "Converted relative linktarget to absolute path -${TNAME}-." - } || { - TNAME="${NEWNAME}" - [ "${VERBOSE}" != "no" ] && echo "Using absolute link target -${TNAME}-." - } - } - - case "${TTYPE}" in - "f") [ "${VERBOSE}" != "no" ] && echo "Creating file -${TNAME}-." - create_file "${TNAME}" & - ;; - "d") [ "${VERBOSE}" != "no" ] && echo "Creating directory -${TNAME}-." - mk_dir "${TNAME}" & - # Add check to see if there's an entry in fstab to mount. - ;; - *) [ "${VERBOSE}" != "no" ] && echo "Invalid type -${TTYPE}-." - continue - ;; - esac - - - done - - return 0 + check_requirements "${CFGFILE}" || { + echo "Skipping ${CFGFILE}" + return 1 + } - } + cat ${CFGFILE} | grep -v "^#" | \ + while read LINE; do + eval `echo "$LINE" | sed -n "s/\(.*\)\ \(.*\) \(.*\)\ \(.*\)\ \(.*\)\ \(.*\)/TTYPE=\1 ; TUSER=\2; TGROUP=\3; TMODE=\4; TNAME=\5 TLTARGET=\6/p"` + TNAME=${ROOT_DIR}${TNAME} + [ "${VERBOSE}" != "no" ] && echo "Checking for -${TNAME}-." + + [ "${TTYPE}" = "l" ] && { + TSOURCE="$TLTARGET" + [ "${VERBOSE}" != "no" ] && echo "Creating link -${TNAME}- pointing to -${TSOURCE}-." + link_file "${TSOURCE}" "${TNAME}" + continue + } + + [ -L "${TNAME}" ] && { + [ "${VERBOSE}" != "no" ] && echo "Found link." + NEWNAME=`ls -l "${TNAME}" | sed -e 's/^.*-> \(.*\)$/\1/'` + echo ${NEWNAME} | grep -v "^/" >/dev/null && { + TNAME="`echo ${TNAME} | sed -e 's@\(.*\)/.*@\1@'`/${NEWNAME}" + [ "${VERBOSE}" != "no" ] && echo "Converted relative linktarget to absolute path -${TNAME}-." + } || { + TNAME="${NEWNAME}" + [ "${VERBOSE}" != "no" ] && echo "Using absolute link target -${TNAME}-." + } + } + + case "${TTYPE}" in + "f") [ "${VERBOSE}" != "no" ] && echo "Creating file -${TNAME}-." + create_file "${TNAME}" & + ;; + "d") [ "${VERBOSE}" != "no" ] && echo "Creating directory -${TNAME}-." + mk_dir "${TNAME}" + # Add check to see if there's an entry in fstab to mount. + ;; + *) [ "${VERBOSE}" != "no" ] && echo "Invalid type -${TTYPE}-." + continue + ;; + esac + done + return 0 +} clearcache=0 exec 9&- -if test -e /etc/volatile.cache -a "$VOLATILE_ENABLE_CACHE" = "yes" -a "x$1" != "xupdate" -a "x$clearcache" = "x0" +if test -e ${ROOT_DIR}/etc/volatile.cache -a "$VOLATILE_ENABLE_CACHE" = "yes" -a "x$1" != "xupdate" -a "x$clearcache" = "x0" then - sh /etc/volatile.cache -else - rm -f /etc/volatile.cache /etc/volatile.cache.build + sh ${ROOT_DIR}/etc/volatile.cache +else + rm -f ${ROOT_DIR}/etc/volatile.cache ${ROOT_DIR}/etc/volatile.cache.build for file in `ls -1 "${CFGDIR}" | sort`; do apply_cfgfile "${CFGDIR}/${file}" done - [ -e /etc/volatile.cache.build ] && sync && mv /etc/volatile.cache.build /etc/volatile.cache + [ -e ${ROOT_DIR}/etc/volatile.cache.build ] && sync && mv ${ROOT_DIR}/etc/volatile.cache.build ${ROOT_DIR}/etc/volatile.cache fi -if test -f /etc/ld.so.cache -a ! -f /var/run/ld.so.cache +if [ -z "${ROOT_DIR}" ] && [ -f /etc/ld.so.cache ] && [ ! -f /var/run/ld.so.cache ] then ln -s /etc/ld.so.cache /var/run/ld.so.cache fi diff --git a/meta-openvuplus/recipes-core/initscripts/initscripts-1.0/volatiles b/meta-openvuplus/recipes-core/initscripts/initscripts-1.0/volatiles new file mode 100644 index 0000000..b2ae279 --- /dev/null +++ b/meta-openvuplus/recipes-core/initscripts/initscripts-1.0/volatiles @@ -0,0 +1,39 @@ +# This configuration file lists filesystem objects that should get verified +# during startup and be created if missing. +# +# Every line must either be a comment starting with # +# or a definition of format: +# +# where the items are separated by whitespace ! +# +# : d|f|l : (d)irectory|(f)ile|(l)ink +# +# A linking example: +# l root root 0777 /var/test /tmp/testfile +# f root root 0644 /var/test none +# +# Understanding links: +# When populate-volatile is to verify/create a directory or file, it will first +# check it's existence. If a link is found to exist in the place of the target, +# the path of the target is replaced with the target the link points to. +# Thus, if a link is in the place to be verified, the object will be created +# in the place the link points to instead. +# This explains the order of "link before object" as in the example above, where +# a link will be created at /var/test pointing to /tmp/testfile and due to this +# link the file defined as /var/test will actually be created as /tmp/testfile. +d root root 0755 /var/volatile/cache none +d root root 1777 /var/volatile/lock none +d root root 0755 /var/volatile/log none +d root root 0755 /var/volatile/run none +d root root 1777 /var/volatile/tmp none +l root root 0755 /var/cache /var/volatile/cache +l root root 1777 /var/lock /var/volatile/lock +l root root 0755 /var/log /var/volatile/log +l root root 0755 /var/run /var/volatile/run +l root root 1777 /var/tmp /var/volatile/tmp +d root root 0755 /var/lock/subsys none +f root root 0664 /var/log/wtmp none +f root root 0664 /var/run/utmp none +l root root 0644 /etc/resolv.conf /var/run/resolv.conf +f root root 0644 /var/run/resolv.conf none + diff --git a/meta-openvuplus/recipes-core/meta/distro-feed-configs.bbappend b/meta-openvuplus/recipes-core/meta/distro-feed-configs.bbappend index 147b996..b117e62 100644 --- a/meta-openvuplus/recipes-core/meta/distro-feed-configs.bbappend +++ b/meta-openvuplus/recipes-core/meta/distro-feed-configs.bbappend @@ -1,2 +1,2 @@ -PR .= "-vuplus2" +PR .= "-vuplus0" diff --git a/meta-openvuplus/recipes-core/netbase/netbase/interfaces b/meta-openvuplus/recipes-core/netbase/netbase/interfaces deleted file mode 100644 index 673618f..0000000 --- a/meta-openvuplus/recipes-core/netbase/netbase/interfaces +++ /dev/null @@ -1,10 +0,0 @@ -# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) - -# The loopback interface -auto lo -iface lo inet loopback - -# Ethernet -auto eth0 -iface eth0 inet dhcp - diff --git a/meta-openvuplus/recipes-core/netbase/netbase_4.47.bbappend b/meta-openvuplus/recipes-core/netbase/netbase_4.47.bbappend deleted file mode 100644 index 098b654..0000000 --- a/meta-openvuplus/recipes-core/netbase/netbase_4.47.bbappend +++ /dev/null @@ -1,7 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -PR .= "-vuplus2" - -#do_install_append () { -# touch ${D}${sysconfdir}/resolv.conf -#} diff --git a/meta-openvuplus/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend b/meta-openvuplus/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend index ea95d2a..80b8d76 100644 --- a/meta-openvuplus/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend +++ b/meta-openvuplus/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend @@ -1,4 +1,4 @@ -PR .= "-vuplus3" +PR .= "-vuplus0" do_install_append() { sed -e 's,^id:5:initdefault:$,id:3:initdefault:,' -i ${D}${sysconfdir}/inittab diff --git a/meta-openvuplus/recipes-core/tasks/task-core-boot.bb b/meta-openvuplus/recipes-core/tasks/task-core-boot.bb deleted file mode 100644 index 01e0381..0000000 --- a/meta-openvuplus/recipes-core/tasks/task-core-boot.bb +++ /dev/null @@ -1,6 +0,0 @@ -PR = "${INC_PR}.2" - -RDEPENDS_${PN} = " \ - " - -require task-core-boot.inc diff --git a/meta-openvuplus/recipes-core/tasks/task-core-boot.inc b/meta-openvuplus/recipes-core/tasks/task-core-boot.inc deleted file mode 100644 index 0e1e512..0000000 --- a/meta-openvuplus/recipes-core/tasks/task-core-boot.inc +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "minimal bootable image" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ - file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" - -inherit task - -PACKAGE_ARCH = "${MACHINE_ARCH}" -INC_PR = "r1" - -# -# Set by the machine configuration with packages essential for device bootup -# -MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= "" -MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= "" - -# Distro can override the following VIRTUAL-RUNTIME providers: -VIRTUAL-RUNTIME_dev_manager ?= "udev" -VIRTUAL-RUNTIME_init_manager ?= "sysvinit" -VIRTUAL-RUNTIME_initscripts ?= "initscripts" -VIRTUAL-RUNTIME_keymaps ?= "keymaps" - -RDEPENDS_${PN} += " \ - base-files \ - base-passwd \ - busybox \ - ${VIRTUAL-RUNTIME_initscripts} \ - ${@base_contains("MACHINE_FEATURES", "keyboard", "${VIRTUAL-RUNTIME_keymaps}", "", d)} \ - modutils-initscripts \ - netbase \ - ${VIRTUAL-RUNTIME_init_manager} \ - ${VIRTUAL-RUNTIME_dev_manager} \ - ${VIRTUAL-RUNTIME_update-alternatives} \ - ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS}" - -RRECOMMENDS_${PN} += "${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS}" - diff --git a/meta-openvuplus/recipes-core/udev/udev_124.bb b/meta-openvuplus/recipes-core/udev/udev_124.bb index 05e207f..59b0608 100644 --- a/meta-openvuplus/recipes-core/udev/udev_124.bb +++ b/meta-openvuplus/recipes-core/udev/udev_124.bb @@ -5,12 +5,12 @@ RPROVIDES_${PN} = "hotplug" PR = "r33" SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \ - file://noasmlinkage.patch;patch=1 \ - file://flags.patch;patch=1 \ - file://vol_id_ld.patch;patch=1 \ - file://udevtrigger_add_devname_filtering.patch;patch=1 \ - file://libvolume-id-soname.patch;patch=1 \ - file://mtd-exclude-persistent.patch;patch=1 \ + file://noasmlinkage.patch \ + file://flags.patch \ + file://vol_id_ld.patch \ + file://udevtrigger_add_devname_filtering.patch \ + file://libvolume-id-soname.patch \ + file://mtd-exclude-persistent.patch \ file://mount.blacklist \ file://run.rules \ file://default \ diff --git a/meta-openvuplus/recipes-core/udev/udev_124.inc b/meta-openvuplus/recipes-core/udev/udev_124.inc index 32e59a2..30c0d75 100644 --- a/meta-openvuplus/recipes-core/udev/udev_124.inc +++ b/meta-openvuplus/recipes-core/udev/udev_124.inc @@ -13,7 +13,7 @@ SRC_URI += " \ file://local.rules \ file://init" -inherit update-rc.d autotools pkgconfig +inherit update-rc.d autotools-brokensep pkgconfig PARALLEL_MAKE = "" UDEV_DEVFS_RULES ?= "0" diff --git a/meta-openvuplus/recipes-devtools/bison/bison/bison_remove_gets.patch b/meta-openvuplus/recipes-devtools/bison/bison/bison_remove_gets.patch deleted file mode 100644 index 4e15a88..0000000 --- a/meta-openvuplus/recipes-devtools/bison/bison/bison_remove_gets.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/lib/stdio.in.h b/lib/stdio.in.h -index be44891..c2f3041 100644 ---- a/lib/stdio.in.h -+++ b/lib/stdio.in.h -@@ -180,8 +180,10 @@ _GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - " - /* It is very rare that the developer ever has full control of stdin, - so any use of gets warrants an unconditional warning. Assume it is - always declared, since it is required by C89. */ -+#ifdef gets - #undef gets - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); -+#endif - - #if @GNULIB_FOPEN@ - # if @REPLACE_FOPEN@ diff --git a/meta-openvuplus/recipes-devtools/bison/bison_2.5.bbappend b/meta-openvuplus/recipes-devtools/bison/bison_2.5.bbappend deleted file mode 100644 index ad00cc7..0000000 --- a/meta-openvuplus/recipes-devtools/bison/bison_2.5.bbappend +++ /dev/null @@ -1,7 +0,0 @@ -PR .= "-vuplus1" - -SRC_URI_virtclass-native += " \ - file://bison_remove_gets.patch \ -" - -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-openvuplus/recipes-devtools/e2fsprogs/e2fsprogs_1.42.1.bbappend b/meta-openvuplus/recipes-devtools/e2fsprogs/e2fsprogs_1.42.1.bbappend deleted file mode 100644 index 63c4e16..0000000 --- a/meta-openvuplus/recipes-devtools/e2fsprogs/e2fsprogs_1.42.1.bbappend +++ /dev/null @@ -1,10 +0,0 @@ -PR .= "-vuplus0" - -do_install_append () { - for i in ext2 ext3 ext4 ext4dev; do - rm ${D}${base_sbindir}/fsck.${i} || /bin/true; - rm ${D}${base_sbindir}/mkfs.${i} || /bin/true; - ln -sf e2fsck ${D}${base_sbindir}/fsck.${i} - ln -sf mke2fs ${D}${base_sbindir}/mkfs.${i} - done; -} diff --git a/meta-openvuplus/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbappend b/meta-openvuplus/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbappend new file mode 100644 index 0000000..63c4e16 --- /dev/null +++ b/meta-openvuplus/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbappend @@ -0,0 +1,10 @@ +PR .= "-vuplus0" + +do_install_append () { + for i in ext2 ext3 ext4 ext4dev; do + rm ${D}${base_sbindir}/fsck.${i} || /bin/true; + rm ${D}${base_sbindir}/mkfs.${i} || /bin/true; + ln -sf e2fsck ${D}${base_sbindir}/fsck.${i} + ln -sf mke2fs ${D}${base_sbindir}/mkfs.${i} + done; +} diff --git a/meta-openvuplus/recipes-devtools/gdb/gdb-cross_7.4.bbappend b/meta-openvuplus/recipes-devtools/gdb/gdb-cross_7.4.bbappend deleted file mode 100644 index 8c027e6..0000000 --- a/meta-openvuplus/recipes-devtools/gdb/gdb-cross_7.4.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -PR .= "-vuplus1" - -EXPAT = "--without-expat" diff --git a/meta-openvuplus/recipes-devtools/gdb/gdb-cross_7.7.bbappend b/meta-openvuplus/recipes-devtools/gdb/gdb-cross_7.7.bbappend new file mode 100644 index 0000000..bd47852 --- /dev/null +++ b/meta-openvuplus/recipes-devtools/gdb/gdb-cross_7.7.bbappend @@ -0,0 +1,3 @@ +PR .= "-vuplus0" + +EXPAT = "--without-expat" diff --git a/meta-openvuplus/recipes-devtools/gdb/gdb_7.4.bbappend b/meta-openvuplus/recipes-devtools/gdb/gdb_7.4.bbappend deleted file mode 100644 index 8c027e6..0000000 --- a/meta-openvuplus/recipes-devtools/gdb/gdb_7.4.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -PR .= "-vuplus1" - -EXPAT = "--without-expat" diff --git a/meta-openvuplus/recipes-devtools/gdb/gdb_7.7.bbappend b/meta-openvuplus/recipes-devtools/gdb/gdb_7.7.bbappend new file mode 100644 index 0000000..bd47852 --- /dev/null +++ b/meta-openvuplus/recipes-devtools/gdb/gdb_7.7.bbappend @@ -0,0 +1,3 @@ +PR .= "-vuplus0" + +EXPAT = "--without-expat" diff --git a/meta-openvuplus/recipes-devtools/m4/m4-native/m4_remove_gets.patch b/meta-openvuplus/recipes-devtools/m4/m4-native/m4_remove_gets.patch deleted file mode 100644 index 7ee0310..0000000 --- a/meta-openvuplus/recipes-devtools/m4/m4-native/m4_remove_gets.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/lib/stdio.in.h b/lib/stdio.in.h -index b7f3b6f..d7c40bb 100644 ---- a/lib/stdio.in.h -+++ b/lib/stdio.in.h -@@ -161,8 +161,10 @@ _GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - " - /* It is very rare that the developer ever has full control of stdin, - so any use of gets warrants an unconditional warning. Assume it is - always declared, since it is required by C89. */ -+#ifdef gets - #undef gets - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); -+#endif - - #if @GNULIB_FOPEN@ - # if @REPLACE_FOPEN@ diff --git a/meta-openvuplus/recipes-devtools/m4/m4-native_1.4.16.bbappend b/meta-openvuplus/recipes-devtools/m4/m4-native_1.4.16.bbappend deleted file mode 100644 index 6a33e52..0000000 --- a/meta-openvuplus/recipes-devtools/m4/m4-native_1.4.16.bbappend +++ /dev/null @@ -1,7 +0,0 @@ -PR .= "-vuplus1" - -SRC_URI += " \ - file://m4_remove_gets.patch \ -" - -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-openvuplus/recipes-devtools/mtd/files/mkfs.ubifs-allow-output-file-creation-on-different-device.patch b/meta-openvuplus/recipes-devtools/mtd/files/mkfs.ubifs-allow-output-file-creation-on-different-device.patch new file mode 100644 index 0000000..63f7ae2 --- /dev/null +++ b/meta-openvuplus/recipes-devtools/mtd/files/mkfs.ubifs-allow-output-file-creation-on-different-device.patch @@ -0,0 +1,36 @@ +diff --git a/mkfs.ubifs/mkfs.ubifs.c b/mkfs.ubifs/mkfs.ubifs.c +index f77e5e6..e002be5 100644 +--- a/mkfs.ubifs/mkfs.ubifs.c ++++ b/mkfs.ubifs/mkfs.ubifs.c +@@ -324,6 +324,22 @@ static int in_path(const char *dir_name, const char *file_name) + return ret; + } + ++/* ++ * same_device - determine if a file is on the same blockdevice as a directory. ++ * @dir_name: directory path name ++ * @file_name: file path name ++ */ ++static int same_device(const char *dir_name, const char *file_name) ++{ ++ struct stat stat1, stat2; ++ ++ if (stat(dir_name, &stat1) == -1) ++ return -1; ++ if (stat(file_name, &stat2) == -1) ++ return -1; ++ return stat1.st_dev == stat2.st_dev; ++} ++ + /** + * calc_min_log_lebs - calculate the minimum number of log LEBs needed. + * @max_bud_bytes: journal size (buds only) +@@ -376,7 +392,7 @@ static int validate_options(void) + + if (!output) + return err_msg("no output file or UBI volume specified"); +- if (root && in_path(root, output)) ++ if (root && same_device(root, output) && in_path(root, output)) + return err_msg("output file cannot be in the UBIFS root " + "directory"); + if (!is_power_of_2(c->min_io_size)) diff --git a/meta-openvuplus/recipes-devtools/mtd/mtd-utils-1.4.9/mkfs.ubifs-allow-output-file-creation-on-different-device.patch b/meta-openvuplus/recipes-devtools/mtd/mtd-utils-1.4.9/mkfs.ubifs-allow-output-file-creation-on-different-device.patch deleted file mode 100644 index 63f7ae2..0000000 --- a/meta-openvuplus/recipes-devtools/mtd/mtd-utils-1.4.9/mkfs.ubifs-allow-output-file-creation-on-different-device.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/mkfs.ubifs/mkfs.ubifs.c b/mkfs.ubifs/mkfs.ubifs.c -index f77e5e6..e002be5 100644 ---- a/mkfs.ubifs/mkfs.ubifs.c -+++ b/mkfs.ubifs/mkfs.ubifs.c -@@ -324,6 +324,22 @@ static int in_path(const char *dir_name, const char *file_name) - return ret; - } - -+/* -+ * same_device - determine if a file is on the same blockdevice as a directory. -+ * @dir_name: directory path name -+ * @file_name: file path name -+ */ -+static int same_device(const char *dir_name, const char *file_name) -+{ -+ struct stat stat1, stat2; -+ -+ if (stat(dir_name, &stat1) == -1) -+ return -1; -+ if (stat(file_name, &stat2) == -1) -+ return -1; -+ return stat1.st_dev == stat2.st_dev; -+} -+ - /** - * calc_min_log_lebs - calculate the minimum number of log LEBs needed. - * @max_bud_bytes: journal size (buds only) -@@ -376,7 +392,7 @@ static int validate_options(void) - - if (!output) - return err_msg("no output file or UBI volume specified"); -- if (root && in_path(root, output)) -+ if (root && same_device(root, output) && in_path(root, output)) - return err_msg("output file cannot be in the UBIFS root " - "directory"); - if (!is_power_of_2(c->min_io_size)) diff --git a/meta-openvuplus/recipes-devtools/mtd/mtd-utils_1.4.9.bbappend b/meta-openvuplus/recipes-devtools/mtd/mtd-utils_1.4.9.bbappend deleted file mode 100644 index 0701768..0000000 --- a/meta-openvuplus/recipes-devtools/mtd/mtd-utils_1.4.9.bbappend +++ /dev/null @@ -1,16 +0,0 @@ -PR .= "-vuplus2" - -FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" - -SRC_URI += "file://mkfs.ubifs-allow-output-file-creation-on-different-device.patch" - -PACKAGES_DYNAMIC = "mtd-utils-*" - -ALLOW_EMPTY_${PN} = "1" - -python populate_packages_prepend () { - debug_objs = d.expand('${sbindir}/.debug') - do_split_packages(d, debug_objs, '^(.*)$', 'mtd-utils-%s-dbg', 'mtd-util-dbg %s', recursive=False, match_path=True, prepend=True) - objs = d.expand('${sbindir}') - do_split_packages(d, objs, '^(.*)$', 'mtd-utils-%s', 'mtd-util %s', recursive=False, match_path=True, prepend=True) -} diff --git a/meta-openvuplus/recipes-devtools/mtd/mtd-utils_git.bbappend b/meta-openvuplus/recipes-devtools/mtd/mtd-utils_git.bbappend new file mode 100644 index 0000000..2d18940 --- /dev/null +++ b/meta-openvuplus/recipes-devtools/mtd/mtd-utils_git.bbappend @@ -0,0 +1,16 @@ +PR .= "-vuplus0" + +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI += "file://mkfs.ubifs-allow-output-file-creation-on-different-device.patch" + +PACKAGES_DYNAMIC = "mtd-utils-*" + +ALLOW_EMPTY_${PN} = "1" + +python populate_packages_prepend () { + debug_objs = d.expand('${sbindir}/.debug') + do_split_packages(d, debug_objs, '^(.*)$', 'mtd-utils-%s-dbg', 'mtd-util-dbg %s', recursive=False, match_path=True, prepend=True) + objs = d.expand('${sbindir}') + do_split_packages(d, objs, '^(.*)$', 'mtd-utils-%s', 'mtd-util %s', recursive=False, match_path=True, prepend=True) +} diff --git a/meta-openvuplus/recipes-devtools/opkg/opkg-collateral.bbappend b/meta-openvuplus/recipes-devtools/opkg/opkg-collateral.bbappend index 8402b35..429c37f 100644 --- a/meta-openvuplus/recipes-devtools/opkg/opkg-collateral.bbappend +++ b/meta-openvuplus/recipes-devtools/opkg/opkg-collateral.bbappend @@ -1,3 +1,3 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -PR .= "-vuplus1" +PR .= "-vuplus0" diff --git a/meta-openvuplus/recipes-devtools/opkg/opkg/0007-pkg_hash_fetch_conflicts-move-iteration-over-conflic.patch b/meta-openvuplus/recipes-devtools/opkg/opkg/0007-pkg_hash_fetch_conflicts-move-iteration-over-conflic.patch index 575c1e1..5808c92 100644 --- a/meta-openvuplus/recipes-devtools/opkg/opkg/0007-pkg_hash_fetch_conflicts-move-iteration-over-conflic.patch +++ b/meta-openvuplus/recipes-devtools/opkg/opkg/0007-pkg_hash_fetch_conflicts-move-iteration-over-conflic.patch @@ -1,23 +1,11 @@ -From b925a520a63fb291675f707e602d04295236c85b Mon Sep 17 00:00:00 2001 -From: Andreas Oberritter -Date: Thu, 17 May 2012 01:17:52 +0200 -Subject: [PATCH 07/10] pkg_hash_fetch_conflicts: move iteration over - conflicts to subroutine - -Signed-off-by: Andreas Oberritter ---- - libopkg/pkg_depends.c | 46 ++++++++++++++++++++++++---------------------- - 1 file changed, 24 insertions(+), 22 deletions(-) - diff --git a/libopkg/pkg_depends.c b/libopkg/pkg_depends.c -index 6ff75f1..1999b64 100644 +index 512d17f..ca3acbe 100644 --- a/libopkg/pkg_depends.c +++ b/libopkg/pkg_depends.c -@@ -284,39 +284,22 @@ is_pkg_a_replaces(pkg_t *pkg_scout,pkg_t *pkg) - +@@ -369,40 +369,22 @@ is_pkg_a_replaces(pkg_t *pkg_scout,pkg_t *pkg) } -- + -pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg) +static void __pkg_hash_fetch_conflicts(pkg_t * pkg, pkg_vec_t * installed_conflicts) { @@ -27,6 +15,7 @@ index 6ff75f1..1999b64 100644 depend_t ** possible_satisfiers; depend_t * possible_satisfier; int i, j, k; +- int count; - abstract_pkg_t * ab_pkg; pkg_t **pkg_scouts; pkg_t *pkg_scout; @@ -46,10 +35,11 @@ index 6ff75f1..1999b64 100644 - } - installed_conflicts = pkg_vec_alloc(); - +- count = pkg->conflicts_count; - - + if(!conflicts) -+ return; ++ return; /* foreach conflict */ for(i = 0; i < pkg->conflicts_count; i++){ @@ -57,7 +47,7 @@ index 6ff75f1..1999b64 100644 possible_satisfiers = conflicts->possibilities; /* foreach possible satisfier */ -@@ -352,11 +335,30 @@ pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg) +@@ -438,11 +420,30 @@ pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg) } conflicts++; } @@ -89,6 +79,3 @@ index 6ff75f1..1999b64 100644 } int version_constraints_satisfied(depend_t * depends, pkg_t * pkg) --- -1.7.9.5 - diff --git a/meta-openvuplus/recipes-devtools/opkg/opkg_0.2.2.bbappend b/meta-openvuplus/recipes-devtools/opkg/opkg_0.2.2.bbappend new file mode 100644 index 0000000..5ed2d30 --- /dev/null +++ b/meta-openvuplus/recipes-devtools/opkg/opkg_0.2.2.bbappend @@ -0,0 +1,19 @@ +PR .= "-vuplus0" + +PATCHES = " \ + file://0011-opkg-allow-package-move-from-depends-to-recommends.patch \ + file://0012-opkg-dont-handle-recommends-as-depends.patch" + +PATCHES_virtclass-native = "" + +SRC_URI += " \ + file://0002-Don-t-mark-Conflicts-as-Depends.patch \ + file://0003-Statically-link-libopkg-and-libbb.patch \ + file://0006-pkg_hash_fetch_conflicts-fix-possible-segfaults.patch \ + file://0007-pkg_hash_fetch_conflicts-move-iteration-over-conflic.patch \ + file://0008-pkg_hash_fetch_conflicts-take-into-account-conflicts.patch \ + file://0010-opkg_remove-auto-delete-.pyo-files.patch \ + ${PATCHES} \ + file://unarchive-fixed-uname-gname-cache.patch" + +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-openvuplus/recipes-devtools/opkg/opkg_svn.bbappend b/meta-openvuplus/recipes-devtools/opkg/opkg_svn.bbappend deleted file mode 100644 index 3eadd64..0000000 --- a/meta-openvuplus/recipes-devtools/opkg/opkg_svn.bbappend +++ /dev/null @@ -1,21 +0,0 @@ -PR .= "-vuplus2" - -PATCHES = "file://0009-don-t-add-recommends-pkgs-to-depended-upon-by.patch \ - file://0011-opkg-allow-package-move-from-depends-to-recommends.patch \ - file://0012-opkg-dont-handle-recommends-as-depends.patch" - -PATCHES_virtclass-native = "" - -SRC_URI += "file://0001-Fixed-opkg-losing-auto_installed-flag-on-upgrading.patch \ - file://0002-Don-t-mark-Conflicts-as-Depends.patch \ - file://0003-Statically-link-libopkg-and-libbb.patch \ - file://0004-Makefile.am-remove-g-and-O-compiler-flags.patch \ - file://0005-pkg_depends-remove-unused-variables-to-fix-compiler-.patch \ - file://0006-pkg_hash_fetch_conflicts-fix-possible-segfaults.patch \ - file://0007-pkg_hash_fetch_conflicts-move-iteration-over-conflic.patch \ - file://0008-pkg_hash_fetch_conflicts-take-into-account-conflicts.patch \ - file://0010-opkg_remove-auto-delete-.pyo-files.patch \ - ${PATCHES} \ - file://unarchive-fixed-uname-gname-cache.patch" - -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-openvuplus/recipes-devtools/orc/orc_0.4.14.bb b/meta-openvuplus/recipes-devtools/orc/orc_0.4.14.bb new file mode 100644 index 0000000..adc7f3a --- /dev/null +++ b/meta-openvuplus/recipes-devtools/orc/orc_0.4.14.bb @@ -0,0 +1,6 @@ +require recipes-devtools/orc/orc.inc + +PR = "${INC_PR}.0" + +SRC_URI[orc.md5sum] = "6b3ff209e9763ebe40e152538884bd71" +SRC_URI[orc.sha256sum] = "6b0c536984871954364976516ea0328e2dcd856111726a23e609504ba2b12313" diff --git a/meta-openvuplus/recipes-devtools/python/python-native_2.7.2.bbappend b/meta-openvuplus/recipes-devtools/python/python-native_2.7.2.bbappend deleted file mode 100644 index 508a082..0000000 --- a/meta-openvuplus/recipes-devtools/python/python-native_2.7.2.bbappend +++ /dev/null @@ -1,4 +0,0 @@ -PR .= "-vuplus0" - -RPROVIDES += "python-pickle-native python-pprint-native" - diff --git a/meta-openvuplus/recipes-devtools/python/python-native_2.7.3.bbappend b/meta-openvuplus/recipes-devtools/python/python-native_2.7.3.bbappend new file mode 100644 index 0000000..6b7c568 --- /dev/null +++ b/meta-openvuplus/recipes-devtools/python/python-native_2.7.3.bbappend @@ -0,0 +1,4 @@ +PR .= "-vuplus0" + +RPROVIDES_${PN} += "python-pickle-native python-pprint-native" + diff --git a/meta-openvuplus/recipes-devtools/python/python-transmissionrpc_hg.bb b/meta-openvuplus/recipes-devtools/python/python-transmissionrpc_hg.bb index 01db4e3..2947389 100644 --- a/meta-openvuplus/recipes-devtools/python/python-transmissionrpc_hg.bb +++ b/meta-openvuplus/recipes-devtools/python/python-transmissionrpc_hg.bb @@ -8,7 +8,7 @@ PV = "0.7+hg${SRCREV}" PRIORITY = "optional" PR = "r1" -SRC_URI = "hg://bitbucket.org/blueluna;proto=http;module=transmissionrpc;rev=${SRCREV}" +SRC_URI = "hg://bitbucket.org/blueluna;protocol=http;module=transmissionrpc;rev=${SRCREV}" S = "${WORKDIR}/transmissionrpc" diff --git a/meta-openvuplus/recipes-devtools/python/python/ctypes-error-handling-fix.patch b/meta-openvuplus/recipes-devtools/python/python/ctypes-error-handling-fix.patch index 5e07082..9b9aa11 100644 --- a/meta-openvuplus/recipes-devtools/python/python/ctypes-error-handling-fix.patch +++ b/meta-openvuplus/recipes-devtools/python/python/ctypes-error-handling-fix.patch @@ -1,6 +1,8 @@ ---- a/Modules/_ctypes/_ctypes.c 2012-01-26 15:41:30.000000000 +0100 -+++ b/Modules/_ctypes/_ctypes.c 2012-01-26 15:44:41.046977137 +0100 -@@ -602,10 +602,16 @@ +diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c +index 4ae2c41..ebd9960 100644 +--- a/Modules/_ctypes/_ctypes.c ++++ b/Modules/_ctypes/_ctypes.c +@@ -602,10 +602,16 @@ CDataType_in_dll(PyObject *type, PyObject *args) #ifdef __CYGWIN__ /* dlerror() isn't very helpful on cygwin */ PyErr_Format(PyExc_ValueError, @@ -19,7 +21,7 @@ #endif return NULL; } -@@ -3290,10 +3296,16 @@ +@@ -3343,10 +3349,16 @@ PyCFuncPtr_FromDll(PyTypeObject *type, PyObject *args, PyObject *kwds) #ifdef __CYGWIN__ /* dlerror() isn't very helpful on cygwin */ PyErr_Format(PyExc_AttributeError, diff --git a/meta-openvuplus/recipes-devtools/python/python/fix_pthread_site.patch b/meta-openvuplus/recipes-devtools/python/python/fix_pthread_site.patch index d392060..0554067 100644 --- a/meta-openvuplus/recipes-devtools/python/python/fix_pthread_site.patch +++ b/meta-openvuplus/recipes-devtools/python/python/fix_pthread_site.patch @@ -1,6 +1,8 @@ ---- configure.in.org 2008-05-01 12:40:58.000000000 +0200 -+++ configure.in 2008-05-01 12:39:39.000000000 +0200 -@@ -998,7 +999,7 @@ +diff --git a/configure.in b/configure.in +index d0c9f83..b565f95 100644 +--- a/configure.in ++++ b/configure.in +@@ -1303,7 +1303,7 @@ then # so we need to run a program to see whether it really made the # function available. AC_MSG_CHECKING(whether $CC accepts -pthread) @@ -8,8 +10,8 @@ +AC_CACHE_VAL(ac_cv_pthread, [ac_save_cc="$CC" CC="$CC -pthread" - AC_TRY_RUN([ -@@ -1023,11 +1024,11 @@ + AC_RUN_IFELSE([AC_LANG_SOURCE([[ +@@ -1325,11 +1325,11 @@ fi # If we have set a CC compiler flag for thread support then # check if it works for CXX, too. @@ -23,7 +25,7 @@ if test "$ac_cv_kpthread" = "yes" then -@@ -1056,9 +1057,11 @@ +@@ -1358,9 +1358,11 @@ then fi rm -fr conftest* fi diff --git a/meta-openvuplus/recipes-devtools/python/python/no-ldconfig.patch b/meta-openvuplus/recipes-devtools/python/python/no-ldconfig.patch index fff1ccd..69a8ff2 100644 --- a/meta-openvuplus/recipes-devtools/python/python/no-ldconfig.patch +++ b/meta-openvuplus/recipes-devtools/python/python/no-ldconfig.patch @@ -1,9 +1,10 @@ Fixes exception on 'import uuid' if ldconfig is unavailable. -diff -Naur Python-2.6.7.orig/Lib/ctypes/util.py Python-2.6.7/Lib/ctypes/util.py ---- Python-2.6.7.orig/Lib/ctypes/util.py 2010-03-20 03:11:16.000000000 +0100 -+++ Python-2.6.7/Lib/ctypes/util.py 2012-01-12 15:26:37.562726637 +0100 -@@ -204,7 +204,16 @@ +diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py +index 7aee0ef..e03bb13 100644 +--- a/Lib/ctypes/util.py ++++ b/Lib/ctypes/util.py +@@ -210,7 +210,16 @@ elif os.name == "posix": return res.group(1) def find_library(name): diff --git a/meta-openvuplus/recipes-devtools/python/python/some_configure_fixes.patch b/meta-openvuplus/recipes-devtools/python/python/some_configure_fixes.patch index eced413..b4cd504 100644 --- a/meta-openvuplus/recipes-devtools/python/python/some_configure_fixes.patch +++ b/meta-openvuplus/recipes-devtools/python/python/some_configure_fixes.patch @@ -1,7 +1,9 @@ ---- configure.in 2008-02-13 20:17:17.000000000 +0100 -+++ configure.in 2008-10-21 22:45:31.000000000 +0200 -@@ -3369,27 +3369,9 @@ - AC_MSG_RESULT(no) +diff --git a/configure.in b/configure.in +index 2d997dc..d0c9f83 100644 +--- a/configure.in ++++ b/configure.in +@@ -4167,27 +4167,9 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[void *x=resizeterm + [AC_MSG_RESULT(no)] ) -AC_MSG_CHECKING(for /dev/ptmx) @@ -28,5 +30,5 @@ -fi +AC_CHECK_FILE(/dev/ptc, AC_DEFINE(HAVE_DEV_PTC, 1, [Define if we have /dev/ptc.])) - case $MACHDEP in - darwin) + if test "$have_long_long" = yes + then diff --git a/meta-openvuplus/recipes-devtools/python/python_2.7.2.bbappend b/meta-openvuplus/recipes-devtools/python/python_2.7.2.bbappend deleted file mode 100644 index dca8c27..0000000 --- a/meta-openvuplus/recipes-devtools/python/python_2.7.2.bbappend +++ /dev/null @@ -1,19 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -PR .= "-vuplus0" - -SRC_URI += " \ - file://some_configure_fixes.patch;striplevel=0 \ - file://fix_pthread_site.patch;striplevel=0 \ - file://no-ldconfig.patch \ - file://ctypes-error-handling-fix.patch \ -" - -EXTRA_OECONF += " \ - ac_cv_file__dev_ptmx=yes \ - ac_cv_file__dev_ptc=no \ - ac_cv_no_strict_aliasing_ok=yes \ - ac_cv_pthread=yes \ - ac_cv_cxx_thread=yes \ - ac_cv_sizeof_off_t=8 \ -" diff --git a/meta-openvuplus/recipes-devtools/python/python_2.7.3.bbappend b/meta-openvuplus/recipes-devtools/python/python_2.7.3.bbappend new file mode 100644 index 0000000..9a2b602 --- /dev/null +++ b/meta-openvuplus/recipes-devtools/python/python_2.7.3.bbappend @@ -0,0 +1,19 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +PR .= "-vuplus0" + +SRC_URI += " \ + file://some_configure_fixes.patch \ + file://fix_pthread_site.patch \ + file://no-ldconfig.patch \ + file://ctypes-error-handling-fix.patch \ +" + +EXTRA_OECONF += " \ + ac_cv_file__dev_ptmx=yes \ + ac_cv_file__dev_ptc=no \ + ac_cv_no_strict_aliasing_ok=yes \ + ac_cv_pthread=yes \ + ac_cv_cxx_thread=yes \ + ac_cv_sizeof_off_t=8 \ +" diff --git a/meta-openvuplus/recipes-devtools/swig/swig.inc b/meta-openvuplus/recipes-devtools/swig/swig.inc new file mode 100644 index 0000000..59f385e --- /dev/null +++ b/meta-openvuplus/recipes-devtools/swig/swig.inc @@ -0,0 +1,24 @@ +DESCRIPTION = "SWIG - Simplified Wrapper and Interface Generator" +HOMEPAGE = "http://swig.sourceforge.net/" +LICENSE = "BSD & GPLv3" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e7807a6282784a7dde4c846626b08fc6 \ + file://LICENSE-GPL;md5=d32239bcb673463ab874e80d47fae504 \ + file://LICENSE-UNIVERSITIES;md5=e0eaeeef7b2662c0c2d0d3c0b2509f75" + +SECTION = "devel" +INC_PR = "r1" + +DEPENDS = "python" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz" + +inherit autotools + +EXTRA_OECONF = " --without-guile " + +BBCLASSEXTEND = "native" + +do_configure() { + oe_runconf +} + diff --git a/meta-openvuplus/recipes-devtools/swig/swig_2.0.4.bb b/meta-openvuplus/recipes-devtools/swig/swig_2.0.4.bb index e05c9d6..2a28b41 100644 --- a/meta-openvuplus/recipes-devtools/swig/swig_2.0.4.bb +++ b/meta-openvuplus/recipes-devtools/swig/swig_2.0.4.bb @@ -1,4 +1,4 @@ -require recipes-devtools/swig/swig.inc +require swig.inc LIC_FILES_CHKSUM = "file://LICENSE;md5=e7807a6282784a7dde4c846626b08fc6 \ file://LICENSE-GPL;md5=d32239bcb673463ab874e80d47fae504 \ diff --git a/meta-openvuplus/recipes-extended/ethtool/ethtool/vuplus.patch b/meta-openvuplus/recipes-extended/ethtool/ethtool/vuplus.patch index a5fc603..6c922c9 100644 --- a/meta-openvuplus/recipes-extended/ethtool/ethtool/vuplus.patch +++ b/meta-openvuplus/recipes-extended/ethtool/ethtool/vuplus.patch @@ -1,21 +1,20 @@ -Index: ethtool-4/ethtool.c -=================================================================== ---- ethtool-4/ethtool.c (revision 3) -+++ ethtool-4/ethtool.c (working copy) -@@ -1578,6 +1578,27 @@ +diff --git a/ethtool.c b/ethtool.c +index acac32a..a47daaa 100644 +--- a/ethtool.c ++++ b/ethtool.c +@@ -2253,6 +2253,25 @@ static int do_gset(struct cmd_context *ctx) } else if (errno != EOPNOTSUPP) { perror("Cannot get link status"); } -+#if 1 /* ikseong - check running flags */ -+ else -+ { -+ if(ioctl(fd, SIOCGIFFLAGS, ifr) < 0) ++ else{ ++ err = send_ioctl(ctx, &edata); ++ if (err < 0) + { + fprintf(stdout,"SIOCGIFFLAGS error \n"); + } + else + { -+ if((ifr->ifr_flags & IFF_RUNNING)) ++ if((ctx->ifr.ifr_flags & IFF_RUNNING)) + { + fprintf(stdout, " Link detected: yes\n"); + } @@ -23,10 +22,9 @@ Index: ethtool-4/ethtool.c + { + fprintf(stdout, " Link detected: no\n"); + } -+ allfail=0; ++ allfail = 0; + } + } -+#endif - + if (allfail) { fprintf(stdout, "No data available\n"); diff --git a/meta-openvuplus/recipes-extended/ethtool/ethtool_2.6.36.bbappend b/meta-openvuplus/recipes-extended/ethtool/ethtool_2.6.36.bbappend deleted file mode 100644 index 69823b3..0000000 --- a/meta-openvuplus/recipes-extended/ethtool/ethtool_2.6.36.bbappend +++ /dev/null @@ -1,10 +0,0 @@ -PRINC = "1" - -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -SRC_URI_append = " file://vuplus.patch" - -SRC_URI[md5sum] = "3b2322695e9ee7bf447ebcdb85f93e83" -SRC_URI[sha256sum] = "639622180fe48dc7bb117ffbf263395d7ae47aac9819b8d9f83ff053ecf17bdd" - -inherit autotools diff --git a/meta-openvuplus/recipes-extended/ethtool/ethtool_3.14.bbappend b/meta-openvuplus/recipes-extended/ethtool/ethtool_3.14.bbappend new file mode 100644 index 0000000..4019644 --- /dev/null +++ b/meta-openvuplus/recipes-extended/ethtool/ethtool_3.14.bbappend @@ -0,0 +1,7 @@ +PR .= "-vuplus0" + +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI_append = " file://vuplus.patch" + +inherit autotools diff --git a/meta-openvuplus/recipes-extended/hddtemp/hddtemp_0.3-beta15.bb b/meta-openvuplus/recipes-extended/hddtemp/hddtemp_0.3-beta15.bb index 8ef9a2c..1776e2a 100644 --- a/meta-openvuplus/recipes-extended/hddtemp/hddtemp_0.3-beta15.bb +++ b/meta-openvuplus/recipes-extended/hddtemp/hddtemp_0.3-beta15.bb @@ -9,8 +9,8 @@ SRC_URI = "http://download.savannah.nongnu.org/releases/${PN}/${PN}-${PV}.tar.bz file://hddtemp-no-nls-support.patch" SRC_URI[tar.md5sum] = "8b829339e1ae9df701684ec239021bb8" SRC_URI[tar.sha256sum] = "618541584054093d53be8a2d9e81c97174f30f00af91cb8700a97e442d79ef5b" -SRC_URI[db.md5sum] = "5321858f8c028d4b1a91a8a5f951f2f8" -SRC_URI[db.sha256sum] = "8b19e70228214562eb10a46bd73b6ea8601e996f2d6527907b560d35b33f5240" +SRC_URI[db.md5sum] = "7b2651d53d10808e270bc386b6db89dd" +SRC_URI[db.sha256sum] = "ca43f8ab1e4fb3919af940a2fe6a95feb03939f685450a48666763a3edc326bb" inherit autotools gettext diff --git a/meta-openvuplus/recipes-extended/mc/mc-4.8.1/optional-extfs-dir.patch b/meta-openvuplus/recipes-extended/mc/mc-4.8.1/optional-extfs-dir.patch deleted file mode 100644 index aebb31e..0000000 --- a/meta-openvuplus/recipes-extended/mc/mc-4.8.1/optional-extfs-dir.patch +++ /dev/null @@ -1,18 +0,0 @@ -Upstream-Status: Inappropriate [Configuration] - -Don't show "Warning: cannot open /usr/libexec/mc/extfs.d directory", -because it's packaged separately. - -Signed-off-by: Andreas Oberritter - ---- mc-4.8.1/src/vfs/extfs/extfs.c.orig 2012-05-10 15:50:04.633833530 +0200 -+++ mc-4.8.1/src/vfs/extfs/extfs.c 2012-05-10 15:50:20.349833289 +0200 -@@ -1558,8 +1558,6 @@ - * appear on screen. */ - if (dir == NULL) - { -- if (!silent) -- fprintf (stderr, _("Warning: cannot open %s directory\n"), dirname); - g_free (dirname); - return FALSE; - } diff --git a/meta-openvuplus/recipes-extended/mc/mc-4.8.1/optional-hints.patch b/meta-openvuplus/recipes-extended/mc/mc-4.8.1/optional-hints.patch deleted file mode 100644 index a0ccdcd..0000000 --- a/meta-openvuplus/recipes-extended/mc/mc-4.8.1/optional-hints.patch +++ /dev/null @@ -1,17 +0,0 @@ -Upstream-Status: Pending - -Fixes a text drawing issue if hints are unavailable. - -Signed-off-by: Andreas Oberritter - ---- mc-4.8.1/src/filemanager/midnight.c.orig 2012-05-10 15:30:56.645804130 +0200 -+++ mc-4.8.1/src/filemanager/midnight.c 2012-05-10 15:31:27.601804920 +0200 -@@ -1587,7 +1587,7 @@ - { - char text[BUF_SMALL]; - -- g_snprintf (text, sizeof (text), _("GNU Midnight Commander %s\n"), VERSION); -+ g_snprintf (text, sizeof (text), _("GNU Midnight Commander %s"), VERSION); - set_hintbar (text); - } - } diff --git a/meta-openvuplus/recipes-extended/mc/mc-4.8.1/optional-sfs-ini.patch b/meta-openvuplus/recipes-extended/mc/mc-4.8.1/optional-sfs-ini.patch deleted file mode 100644 index fd5afd3..0000000 --- a/meta-openvuplus/recipes-extended/mc/mc-4.8.1/optional-sfs-ini.patch +++ /dev/null @@ -1,17 +0,0 @@ -Upstream-Status: Inappropriate [Configuration] - -Don't show "sfs_init(): Warning: file /etc/mc/sfs.ini not found", -because it's packaged separately. - -Signed-off-by: Andreas Oberritter - ---- mc-4.8.1/src/vfs/sfs/sfs.c.orig 2012-05-10 15:48:05.405830465 +0200 -+++ mc-4.8.1/src/vfs/sfs/sfs.c 2012-05-10 15:48:24.389830919 +0200 -@@ -419,7 +419,6 @@ - - if (cfg == NULL) - { -- fprintf (stderr, _("%s: Warning: file %s not found\n"), "sfs_init()", mc_sfsini); - g_free (mc_sfsini); - return 0; - } diff --git a/meta-openvuplus/recipes-extended/mc/mc-4.8.1/optional-syntax-file.patch b/meta-openvuplus/recipes-extended/mc/mc-4.8.1/optional-syntax-file.patch deleted file mode 100644 index ee0ee46..0000000 --- a/meta-openvuplus/recipes-extended/mc/mc-4.8.1/optional-syntax-file.patch +++ /dev/null @@ -1,18 +0,0 @@ -Upstream-Status: Inappropriate [Configuration] - -Don't show an error message if the syntax file can't -be opened, because it's packaged separately. - -Signed-off-by: Andreas Oberritter - ---- mc-4.8.1/src/editor/syntax.c.orig 2011-12-12 10:15:38.000000000 +0100 -+++ mc-4.8.1/src/editor/syntax.c 2012-05-10 15:07:56.517768788 +0200 -@@ -1522,8 +1522,6 @@ - if (r == -1) - { - edit_free_syntax_rules (edit); -- message (D_ERROR, _("Load syntax file"), -- _("Cannot open file %s\n%s"), f, unix_error_string (errno)); - } - else if (r != 0) - { diff --git a/meta-openvuplus/recipes-extended/mc/mc-4.8.12/optional-extfs-dir.patch b/meta-openvuplus/recipes-extended/mc/mc-4.8.12/optional-extfs-dir.patch new file mode 100644 index 0000000..aebb31e --- /dev/null +++ b/meta-openvuplus/recipes-extended/mc/mc-4.8.12/optional-extfs-dir.patch @@ -0,0 +1,18 @@ +Upstream-Status: Inappropriate [Configuration] + +Don't show "Warning: cannot open /usr/libexec/mc/extfs.d directory", +because it's packaged separately. + +Signed-off-by: Andreas Oberritter + +--- mc-4.8.1/src/vfs/extfs/extfs.c.orig 2012-05-10 15:50:04.633833530 +0200 ++++ mc-4.8.1/src/vfs/extfs/extfs.c 2012-05-10 15:50:20.349833289 +0200 +@@ -1558,8 +1558,6 @@ + * appear on screen. */ + if (dir == NULL) + { +- if (!silent) +- fprintf (stderr, _("Warning: cannot open %s directory\n"), dirname); + g_free (dirname); + return FALSE; + } diff --git a/meta-openvuplus/recipes-extended/mc/mc-4.8.12/optional-hints.patch b/meta-openvuplus/recipes-extended/mc/mc-4.8.12/optional-hints.patch new file mode 100644 index 0000000..a0ccdcd --- /dev/null +++ b/meta-openvuplus/recipes-extended/mc/mc-4.8.12/optional-hints.patch @@ -0,0 +1,17 @@ +Upstream-Status: Pending + +Fixes a text drawing issue if hints are unavailable. + +Signed-off-by: Andreas Oberritter + +--- mc-4.8.1/src/filemanager/midnight.c.orig 2012-05-10 15:30:56.645804130 +0200 ++++ mc-4.8.1/src/filemanager/midnight.c 2012-05-10 15:31:27.601804920 +0200 +@@ -1587,7 +1587,7 @@ + { + char text[BUF_SMALL]; + +- g_snprintf (text, sizeof (text), _("GNU Midnight Commander %s\n"), VERSION); ++ g_snprintf (text, sizeof (text), _("GNU Midnight Commander %s"), VERSION); + set_hintbar (text); + } + } diff --git a/meta-openvuplus/recipes-extended/mc/mc-4.8.12/optional-sfs-ini.patch b/meta-openvuplus/recipes-extended/mc/mc-4.8.12/optional-sfs-ini.patch new file mode 100644 index 0000000..fd5afd3 --- /dev/null +++ b/meta-openvuplus/recipes-extended/mc/mc-4.8.12/optional-sfs-ini.patch @@ -0,0 +1,17 @@ +Upstream-Status: Inappropriate [Configuration] + +Don't show "sfs_init(): Warning: file /etc/mc/sfs.ini not found", +because it's packaged separately. + +Signed-off-by: Andreas Oberritter + +--- mc-4.8.1/src/vfs/sfs/sfs.c.orig 2012-05-10 15:48:05.405830465 +0200 ++++ mc-4.8.1/src/vfs/sfs/sfs.c 2012-05-10 15:48:24.389830919 +0200 +@@ -419,7 +419,6 @@ + + if (cfg == NULL) + { +- fprintf (stderr, _("%s: Warning: file %s not found\n"), "sfs_init()", mc_sfsini); + g_free (mc_sfsini); + return 0; + } diff --git a/meta-openvuplus/recipes-extended/mc/mc-4.8.12/optional-syntax-file.patch b/meta-openvuplus/recipes-extended/mc/mc-4.8.12/optional-syntax-file.patch new file mode 100644 index 0000000..ee0ee46 --- /dev/null +++ b/meta-openvuplus/recipes-extended/mc/mc-4.8.12/optional-syntax-file.patch @@ -0,0 +1,18 @@ +Upstream-Status: Inappropriate [Configuration] + +Don't show an error message if the syntax file can't +be opened, because it's packaged separately. + +Signed-off-by: Andreas Oberritter + +--- mc-4.8.1/src/editor/syntax.c.orig 2011-12-12 10:15:38.000000000 +0100 ++++ mc-4.8.1/src/editor/syntax.c 2012-05-10 15:07:56.517768788 +0200 +@@ -1522,8 +1522,6 @@ + if (r == -1) + { + edit_free_syntax_rules (edit); +- message (D_ERROR, _("Load syntax file"), +- _("Cannot open file %s\n%s"), f, unix_error_string (errno)); + } + else if (r != 0) + { diff --git a/meta-openvuplus/recipes-extended/mc/mc_4.8.1.bbappend b/meta-openvuplus/recipes-extended/mc/mc_4.8.1.bbappend deleted file mode 100644 index 73b41c6..0000000 --- a/meta-openvuplus/recipes-extended/mc/mc_4.8.1.bbappend +++ /dev/null @@ -1,26 +0,0 @@ -PR .= "-vuplus0" - -SRC_URI += "file://optional-extfs-dir.patch \ - file://optional-hints.patch \ - file://optional-sfs-ini.patch \ - file://optional-syntax-file.patch" - -PACKAGES += "${PN}-full" - -RDEPENDS_${PN} = "" -RDEPENDS_${PN}-full = "ncurses-terminfo" - -RSUGGESTS_${PN} = "${PN}-full" - -FILES_${PN} = " \ - ${bindir}/* \ - ${sysconfdir}/mc/filehighlight.ini \ - ${sysconfdir}/mc/*.ext \ - ${sysconfdir}/mc/*.keymap \ - ${sysconfdir}/mc/*.menu \ - ${datadir}/${BPN}/mc.* \ - ${datadir}/${BPN}/skins/default.ini \ -" -FILES_${PN}-full = "${libexecdir}/* ${sysconfdir} ${datadir}/${BPN}" - -FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" diff --git a/meta-openvuplus/recipes-extended/mc/mc_4.8.12.bbappend b/meta-openvuplus/recipes-extended/mc/mc_4.8.12.bbappend new file mode 100644 index 0000000..73b41c6 --- /dev/null +++ b/meta-openvuplus/recipes-extended/mc/mc_4.8.12.bbappend @@ -0,0 +1,26 @@ +PR .= "-vuplus0" + +SRC_URI += "file://optional-extfs-dir.patch \ + file://optional-hints.patch \ + file://optional-sfs-ini.patch \ + file://optional-syntax-file.patch" + +PACKAGES += "${PN}-full" + +RDEPENDS_${PN} = "" +RDEPENDS_${PN}-full = "ncurses-terminfo" + +RSUGGESTS_${PN} = "${PN}-full" + +FILES_${PN} = " \ + ${bindir}/* \ + ${sysconfdir}/mc/filehighlight.ini \ + ${sysconfdir}/mc/*.ext \ + ${sysconfdir}/mc/*.keymap \ + ${sysconfdir}/mc/*.menu \ + ${datadir}/${BPN}/mc.* \ + ${datadir}/${BPN}/skins/default.ini \ +" +FILES_${PN}-full = "${libexecdir}/* ${sysconfdir} ${datadir}/${BPN}" + +FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" diff --git a/meta-openvuplus/recipes-extended/shadow/shadow_4.1.4.3.bbappend b/meta-openvuplus/recipes-extended/shadow/shadow_4.1.4.3.bbappend index d8d1769..30c736c 100644 --- a/meta-openvuplus/recipes-extended/shadow/shadow_4.1.4.3.bbappend +++ b/meta-openvuplus/recipes-extended/shadow/shadow_4.1.4.3.bbappend @@ -1,25 +1,7 @@ -PR .= "vuplus0" +PR .= "-vuplus0" FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" -pkg_postinst_${PN} () { - for i in chpasswd chfn newgrp chsh groups vipw vigr ; do - update-alternatives --install ${sbindir}/$i $i $i.${PN} 200 - done - - if [ "x$D" != "x" ]; then - rootarg="--root=$D" - else - rootarg="" - fi - - pwconv $rootarg - grpconv $rootarg -} - -pkg_prerm_${PN} () { - for i in chpasswd chfn newgrp chsh groups vipw vigr ; do - update-alternatives --remove $i $i.${PN} - done -} +# remove passwd login +ALTERNATIVE_${PN} = "passwd chfn newgrp chsh groups chpasswd login vipw vigr su" diff --git a/meta-openvuplus/recipes-extended/tzdata/tzdata_2012b.bbappend b/meta-openvuplus/recipes-extended/tzdata/tzdata_2012b.bbappend deleted file mode 100644 index 379c927..0000000 --- a/meta-openvuplus/recipes-extended/tzdata/tzdata_2012b.bbappend +++ /dev/null @@ -1,83 +0,0 @@ -PRINC = "2" - -DEFAULT_TIMEZONE = "CET" - -FILES_${PN} = " \ - ${datadir}/zoneinfo/Africa/Casablanca \ - ${datadir}/zoneinfo/Africa/Harare \ - ${datadir}/zoneinfo/Africa/Kinshasa \ - ${datadir}/zoneinfo/Africa/Nairobi \ - ${datadir}/zoneinfo/America/Anchorage \ - ${datadir}/zoneinfo/America/Bogota \ - ${datadir}/zoneinfo/America/Caracas \ - ${datadir}/zoneinfo/America/Danmarkshavn \ - ${datadir}/zoneinfo/America/Halifax \ - ${datadir}/zoneinfo/America/Manaus \ - ${datadir}/zoneinfo/America/Noronha \ - ${datadir}/zoneinfo/America/Regina \ - ${datadir}/zoneinfo/America/Santiago \ - ${datadir}/zoneinfo/America/Sao_Paulo \ - ${datadir}/zoneinfo/America/St_Johns \ - ${datadir}/zoneinfo/America/Tijuana \ - ${datadir}/zoneinfo/Asia/Almaty \ - ${datadir}/zoneinfo/Asia/Baghdad \ - ${datadir}/zoneinfo/Asia/Baku \ - ${datadir}/zoneinfo/Asia/Bangkok \ - ${datadir}/zoneinfo/Asia/Calcutta \ - ${datadir}/zoneinfo/Asia/Colombo \ - ${datadir}/zoneinfo/Asia/Dhaka \ - ${datadir}/zoneinfo/Asia/Hong_Kong \ - ${datadir}/zoneinfo/Asia/Irkutsk \ - ${datadir}/zoneinfo/Asia/Jerusalem \ - ${datadir}/zoneinfo/Asia/Kabul \ - ${datadir}/zoneinfo/Asia/Kathmandu \ - ${datadir}/zoneinfo/Asia/Kolkata \ - ${datadir}/zoneinfo/Asia/Krasnoyarsk \ - ${datadir}/zoneinfo/Asia/Kuala_Lumpur \ - ${datadir}/zoneinfo/Asia/Magadan \ - ${datadir}/zoneinfo/Asia/Muscat \ - ${datadir}/zoneinfo/Asia/Omsk \ - ${datadir}/zoneinfo/Asia/Rangoon \ - ${datadir}/zoneinfo/Asia/Riyadh \ - ${datadir}/zoneinfo/Asia/Seoul \ - ${datadir}/zoneinfo/Asia/Taipei \ - ${datadir}/zoneinfo/Asia/Tashkent \ - ${datadir}/zoneinfo/Asia/Tehran \ - ${datadir}/zoneinfo/Asia/Tokyo \ - ${datadir}/zoneinfo/Asia/Vladivostok \ - ${datadir}/zoneinfo/Asia/Yakutsk \ - ${datadir}/zoneinfo/Atlantic/Azores \ - ${datadir}/zoneinfo/Atlantic/Cape_Verde \ - ${datadir}/zoneinfo/Australia/Adelaide \ - ${datadir}/zoneinfo/Australia/Brisbane \ - ${datadir}/zoneinfo/Australia/Darwin \ - ${datadir}/zoneinfo/Australia/Hobart \ - ${datadir}/zoneinfo/Australia/Perth \ - ${datadir}/zoneinfo/Australia/Sydney \ - ${datadir}/zoneinfo/Brazil/East \ - ${datadir}/zoneinfo/Brazil/West \ - ${datadir}/zoneinfo/Canada/Newfoundland \ - ${datadir}/zoneinfo/Canada/Saskatchewan \ - ${datadir}/zoneinfo/CET \ - ${datadir}/zoneinfo/CST6CDT \ - ${datadir}/zoneinfo/EST \ - ${datadir}/zoneinfo/EST5EDT \ - ${datadir}/zoneinfo/Europe/Dublin \ - ${datadir}/zoneinfo/Europe/Istanbul \ - ${datadir}/zoneinfo/Europe/Moscow \ - ${datadir}/zoneinfo/MST \ - ${datadir}/zoneinfo/MST7MDT \ - ${datadir}/zoneinfo/Pacific/Auckland \ - ${datadir}/zoneinfo/Pacific/Fiji \ - ${datadir}/zoneinfo/Pacific/Guam \ - ${datadir}/zoneinfo/Pacific/Honolulu \ - ${datadir}/zoneinfo/Pacific/Kwajalein \ - ${datadir}/zoneinfo/Pacific/Midway \ - ${datadir}/zoneinfo/Pacific/Pacific/Norfolk \ - ${datadir}/zoneinfo/Pacific/Tongatapu \ - ${sysconfdir}/localtime \ - ${sysconfdir}/timezone " - -PACKAGES += "${PN}-base" - -FILES_${PN}-base = "${datadir}/zoneinfo" diff --git a/meta-openvuplus/recipes-extended/tzdata/tzdata_2013i.bbappend b/meta-openvuplus/recipes-extended/tzdata/tzdata_2013i.bbappend new file mode 100644 index 0000000..aab9773 --- /dev/null +++ b/meta-openvuplus/recipes-extended/tzdata/tzdata_2013i.bbappend @@ -0,0 +1,83 @@ +PR .= "-vuplus0" + +DEFAULT_TIMEZONE = "CET" + +FILES_${PN} = " \ + ${datadir}/zoneinfo/Africa/Casablanca \ + ${datadir}/zoneinfo/Africa/Harare \ + ${datadir}/zoneinfo/Africa/Kinshasa \ + ${datadir}/zoneinfo/Africa/Nairobi \ + ${datadir}/zoneinfo/America/Anchorage \ + ${datadir}/zoneinfo/America/Bogota \ + ${datadir}/zoneinfo/America/Caracas \ + ${datadir}/zoneinfo/America/Danmarkshavn \ + ${datadir}/zoneinfo/America/Halifax \ + ${datadir}/zoneinfo/America/Manaus \ + ${datadir}/zoneinfo/America/Noronha \ + ${datadir}/zoneinfo/America/Regina \ + ${datadir}/zoneinfo/America/Santiago \ + ${datadir}/zoneinfo/America/Sao_Paulo \ + ${datadir}/zoneinfo/America/St_Johns \ + ${datadir}/zoneinfo/America/Tijuana \ + ${datadir}/zoneinfo/Asia/Almaty \ + ${datadir}/zoneinfo/Asia/Baghdad \ + ${datadir}/zoneinfo/Asia/Baku \ + ${datadir}/zoneinfo/Asia/Bangkok \ + ${datadir}/zoneinfo/Asia/Calcutta \ + ${datadir}/zoneinfo/Asia/Colombo \ + ${datadir}/zoneinfo/Asia/Dhaka \ + ${datadir}/zoneinfo/Asia/Hong_Kong \ + ${datadir}/zoneinfo/Asia/Irkutsk \ + ${datadir}/zoneinfo/Asia/Jerusalem \ + ${datadir}/zoneinfo/Asia/Kabul \ + ${datadir}/zoneinfo/Asia/Kathmandu \ + ${datadir}/zoneinfo/Asia/Kolkata \ + ${datadir}/zoneinfo/Asia/Krasnoyarsk \ + ${datadir}/zoneinfo/Asia/Kuala_Lumpur \ + ${datadir}/zoneinfo/Asia/Magadan \ + ${datadir}/zoneinfo/Asia/Muscat \ + ${datadir}/zoneinfo/Asia/Omsk \ + ${datadir}/zoneinfo/Asia/Rangoon \ + ${datadir}/zoneinfo/Asia/Riyadh \ + ${datadir}/zoneinfo/Asia/Seoul \ + ${datadir}/zoneinfo/Asia/Taipei \ + ${datadir}/zoneinfo/Asia/Tashkent \ + ${datadir}/zoneinfo/Asia/Tehran \ + ${datadir}/zoneinfo/Asia/Tokyo \ + ${datadir}/zoneinfo/Asia/Vladivostok \ + ${datadir}/zoneinfo/Asia/Yakutsk \ + ${datadir}/zoneinfo/Atlantic/Azores \ + ${datadir}/zoneinfo/Atlantic/Cape_Verde \ + ${datadir}/zoneinfo/Australia/Adelaide \ + ${datadir}/zoneinfo/Australia/Brisbane \ + ${datadir}/zoneinfo/Australia/Darwin \ + ${datadir}/zoneinfo/Australia/Hobart \ + ${datadir}/zoneinfo/Australia/Perth \ + ${datadir}/zoneinfo/Australia/Sydney \ + ${datadir}/zoneinfo/Brazil/East \ + ${datadir}/zoneinfo/Brazil/West \ + ${datadir}/zoneinfo/Canada/Newfoundland \ + ${datadir}/zoneinfo/Canada/Saskatchewan \ + ${datadir}/zoneinfo/CET \ + ${datadir}/zoneinfo/CST6CDT \ + ${datadir}/zoneinfo/EST \ + ${datadir}/zoneinfo/EST5EDT \ + ${datadir}/zoneinfo/Europe/Dublin \ + ${datadir}/zoneinfo/Europe/Istanbul \ + ${datadir}/zoneinfo/Europe/Moscow \ + ${datadir}/zoneinfo/MST \ + ${datadir}/zoneinfo/MST7MDT \ + ${datadir}/zoneinfo/Pacific/Auckland \ + ${datadir}/zoneinfo/Pacific/Fiji \ + ${datadir}/zoneinfo/Pacific/Guam \ + ${datadir}/zoneinfo/Pacific/Honolulu \ + ${datadir}/zoneinfo/Pacific/Kwajalein \ + ${datadir}/zoneinfo/Pacific/Midway \ + ${datadir}/zoneinfo/Pacific/Pacific/Norfolk \ + ${datadir}/zoneinfo/Pacific/Tongatapu \ + ${sysconfdir}/localtime \ + ${sysconfdir}/timezone " + +PACKAGES += "${PN}-base" + +FILES_${PN}-base = "${datadir}/zoneinfo" diff --git a/meta-openvuplus/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bbappend b/meta-openvuplus/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bbappend new file mode 100644 index 0000000..718407d --- /dev/null +++ b/meta-openvuplus/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bbappend @@ -0,0 +1,6 @@ +# Remove util-linux-mount from RRECOMMENDS + +PR .= "-vuplus0" + +RRECOMMENDS_${PN} = "" + diff --git a/meta-openvuplus/recipes-graphics/freetype/freetype_2.4.12.bb b/meta-openvuplus/recipes-graphics/freetype/freetype_2.4.12.bb new file mode 100644 index 0000000..82d75f3 --- /dev/null +++ b/meta-openvuplus/recipes-graphics/freetype/freetype_2.4.12.bb @@ -0,0 +1,53 @@ +SUMMARY = "Freetype font rendering library" +DESCRIPTION = "FreeType is a software font engine that is designed to be small, efficient, \ +highly customizable, and portable while capable of producing high-quality output (glyph \ +images). It can be used in graphics libraries, display servers, font conversion tools, text \ +image generation tools, and many other products as well." +HOMEPAGE = "http://www.freetype.org/" +BUGTRACKER = "https://savannah.nongnu.org/bugs/?group=freetype" + +LICENSE = "FreeType | GPLv2+" +LIC_FILES_CHKSUM = "file://docs/LICENSE.TXT;md5=c017ff17fc6f0794adf93db5559ccd56 \ + file://docs/FTL.TXT;md5=d479e83797f699fe873b38dadd0fcd4c \ + file://docs/GPLv2.TXT;md5=8ef380476f642c20ebf40fecb0add2ec" + +SECTION = "libs" + +PR = "r0" + +SRC_URI = "${SOURCEFORGE_MIRROR}/freetype/freetype-${PV}.tar.bz2 \ +" + +SRC_URI[md5sum] = "3463102764315eb86c0d3c2e1f3ffb7d" +SRC_URI[sha256sum] = "a78a17486689ab6852a9e1a759b179827ac9dfd7e2f237ddf169c73398c85381" + +S = "${WORKDIR}/freetype-${PV}" + +inherit autotools-brokensep pkgconfig binconfig + +LIBTOOL = "${S}/builds/unix/${HOST_SYS}-libtool" +EXTRA_OEMAKE = "'LIBTOOL=${LIBTOOL}'" +EXTRA_OEMAKE_class-native = "" +EXTRA_OECONF = "--without-zlib --without-bzip2 CC_BUILD='${BUILD_CC}'" + +do_configure() { + cd builds/unix + libtoolize --force --copy + aclocal -I . + gnu-configize --force + autoconf + cd ${S} + oe_runconf +} + +do_configure_class-native() { + (cd builds/unix && gnu-configize) || die "failure running gnu-configize" + oe_runconf +} + +do_compile_prepend() { + ${BUILD_CC} -o objs/apinames src/tools/apinames.c +} + +BBCLASSEXTEND = "native" + diff --git a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.31.bb b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.31.bb index fa6ac5e..1a9aee8 100644 --- a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.31.bb +++ b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.31.bb @@ -15,8 +15,8 @@ INHIBIT_DEFAULT_DEPS = "1" DEFAULT_PREFERENCE = "-1" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ - file://0001-implement-TIF_RESTORE_SIGMASK-support-and-enable-the.patch;patch=1 \ - file://dvbapi-5.3.patch;patch=1;pnum=1 \ + file://0001-implement-TIF_RESTORE_SIGMASK-support-and-enable-the.patch \ + file://dvbapi-5.3.patch \ " SRC_URI[md5sum] = "84c077a37684e4cbfa67b18154390d8a" diff --git a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.bb b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.bb index 1874d38..4782b26 100644 --- a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.bb +++ b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.bb @@ -1,4 +1,4 @@ -PRINC = "2" +PR .= "-vuplus0" require linux-libc-headers.inc diff --git a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.3.bb b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.3.bb index cec3b71..f48bc4a 100644 --- a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.3.bb +++ b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.3.bb @@ -1,6 +1,6 @@ -PRINC = "2" +PR .= "-vuplus0" require linux-libc-headers.inc -SRC_URI[md5sum] = "7ceb61f87c097fc17509844b71268935" -SRC_URI[sha256sum] = "c881fc2b53cf0da7ca4538aa44623a7de043a41f76fd5d0f51a31f6ed699d463" +SRC_URI[md5sum] = "98a6cdd7d082b7ea72df9c89842bac74" +SRC_URI[sha256sum] = "8fd669b4e48181b8d44644a45bf421a84bb8d5ec273ef36349796443e442f333" diff --git a/meta-openvuplus/recipes-multimedia/cdparanoia/cdparanoia_svn.bb b/meta-openvuplus/recipes-multimedia/cdparanoia/cdparanoia_svn.bb index b88c74b..a6453e5 100644 --- a/meta-openvuplus/recipes-multimedia/cdparanoia/cdparanoia_svn.bb +++ b/meta-openvuplus/recipes-multimedia/cdparanoia/cdparanoia_svn.bb @@ -9,7 +9,7 @@ SRCREV = "17289" PV = "10.2+svnr${SRCPV}" PR = "r1" -SRC_URI = "svn://svn.xiph.org/trunk;module=cdparanoia;proto=http \ +SRC_URI = "svn://svn.xiph.org/trunk;module=cdparanoia;protocol=http \ file://fixes10.patch \ file://Makefile.in.patch \ file://interface_Makefile.in.patch \ @@ -20,7 +20,7 @@ S = "${WORKDIR}/cdparanoia" PARALLEL_MAKE = "" -inherit autotools pkgconfig +inherit autotools-brokensep pkgconfig PACKAGES += "libcdparanoia libcdparanoia-dev libcdparanoia-static" @@ -41,3 +41,4 @@ do_install() { PKGCONFIGDIR="${D}${libdir}/pkgconfig" \ install } + diff --git a/meta-openvuplus/recipes-multimedia/cdrkit/cdrkit-1.1.9/cdrkit-1.1.9-glibc-2.10-3.patch b/meta-openvuplus/recipes-multimedia/cdrkit/cdrkit-1.1.9/cdrkit-1.1.9-glibc-2.10-3.patch deleted file mode 100644 index 9e2f508..0000000 --- a/meta-openvuplus/recipes-multimedia/cdrkit/cdrkit-1.1.9/cdrkit-1.1.9-glibc-2.10-3.patch +++ /dev/null @@ -1,143 +0,0 @@ -diff -puNr cdrkit-1.1.9.orig/include/schily.h cdrkit-1.1.9/include/schily.h ---- cdrkit-1.1.9.orig/include/schily.h 2006-11-25 01:20:20.000000000 +0100 -+++ cdrkit-1.1.9/include/schily.h 2009-03-11 20:31:53.000000000 +0100 -@@ -116,7 +116,7 @@ extern int fexecl(const char *, FILE *, - extern int fexecle(const char *, FILE *, FILE *, FILE *, const char *, ...); - /* 6th arg not const, fexecv forces av[ac] = NULL */ - extern int fexecv(const char *, FILE *, FILE *, FILE *, int, char **); --extern int fexecve(const char *, FILE *, FILE *, FILE *, char * const *, -+extern int f_execve(const char *, FILE *, FILE *, FILE *, char * const *, - char * const *); - extern int fspawnv(FILE *, FILE *, FILE *, int, char * const *); - extern int fspawnl(FILE *, FILE *, FILE *, const char *, const char *, ...); -@@ -190,7 +190,7 @@ extern int schily_error(const char *, .. - extern char *fillbytes(void *, int, char); - extern char *findbytes(const void *, int, char); - extern int findline(const char *, char, const char *, int, char **, int); --extern int getline(char *, int); -+extern int get_line(char *, int); - extern int getstr(char *, int); - extern int breakline(char *, char, char **, int); - extern int getallargs(int *, char * const**, const char *, ...); -diff -puNr cdrkit-1.1.9.orig/librols/fexec.c cdrkit-1.1.9/librols/fexec.c ---- cdrkit-1.1.9.orig/librols/fexec.c 2008-02-25 12:14:07.000000000 +0100 -+++ cdrkit-1.1.9/librols/fexec.c 2009-03-11 20:31:53.000000000 +0100 -@@ -170,7 +170,7 @@ fexecle(name, in, out, err, va_alist) - } while (p != NULL); - va_end(args); - -- ret = fexecve(name, in, out, err, av, env); -+ ret = f_execve(name, in, out, err, av, env); - if (av != xav) - free(av); - return (ret); -@@ -184,11 +184,11 @@ fexecv(name, in, out, err, ac, av) - char *av[]; - { - av[ac] = NULL; /* force list to be null terminated */ -- return (fexecve(name, in, out, err, av, environ)); -+ return (f_execve(name, in, out, err, av, environ)); - } - - EXPORT int --fexecve(name, in, out, err, av, env) -+f_execve(name, in, out, err, av, env) - const char *name; - FILE *in, *out, *err; - char * const av[], * const env[]; -diff -puNr cdrkit-1.1.9.orig/librols/stdio/fgetline.c cdrkit-1.1.9/librols/stdio/fgetline.c ---- cdrkit-1.1.9.orig/librols/stdio/fgetline.c 2006-09-05 10:39:04.000000000 +0200 -+++ cdrkit-1.1.9/librols/stdio/fgetline.c 2009-03-11 20:31:53.000000000 +0100 -@@ -76,7 +76,7 @@ fgetline(f, buf, len) - } - - EXPORT int --getline(buf, len) -+get_line(buf, len) - char *buf; - int len; - { -diff -puNr cdrkit-1.1.9.orig/libusal/scsitransp.c cdrkit-1.1.9/libusal/scsitransp.c ---- cdrkit-1.1.9.orig/libusal/scsitransp.c 2008-02-25 12:14:07.000000000 +0100 -+++ cdrkit-1.1.9/libusal/scsitransp.c 2009-03-11 20:31:53.000000000 +0100 -@@ -301,7 +301,7 @@ usal_yes(char *msg) - - printf("%s", msg); - flush(); -- if (getline(okbuf, sizeof (okbuf)) == EOF) -+ if (get_line(okbuf, sizeof (okbuf)) == EOF) - exit(EX_BAD); - if (streql(okbuf, "y") || streql(okbuf, "yes") || - streql(okbuf, "Y") || streql(okbuf, "YES")) -diff -puNr cdrkit-1.1.9.orig/readom/io.c cdrkit-1.1.9/readom/io.c ---- cdrkit-1.1.9.orig/readom/io.c 2006-12-08 14:38:43.000000000 +0100 -+++ cdrkit-1.1.9/readom/io.c 2009-03-11 20:31:53.000000000 +0100 -@@ -130,7 +130,7 @@ BOOL getvalue(char *s, long *lp, long mi - (*prt)(s, *lp, mini, maxi, dp); - flush(); - line[0] = '\0'; -- if (getline(line, 80) == EOF) -+ if (get_line(line, 80) == EOF) - exit(EX_BAD); - - linep = skipwhite(line); -@@ -178,7 +178,7 @@ again: - vprintf(form, args); - va_end(args); - flush(); -- if (getline(okbuf, sizeof(okbuf)) == EOF) -+ if (get_line(okbuf, sizeof(okbuf)) == EOF) - exit(EX_BAD); - if (okbuf[0] == '?') { - printf("Enter 'y', 'Y', 'yes' or 'YES' if you agree with the previous asked question.\n"); -diff -puNr cdrkit-1.1.9.orig/readom/readom.c cdrkit-1.1.9/readom/readom.c ---- cdrkit-1.1.9.orig/readom/readom.c 2007-04-03 00:43:29.000000000 +0200 -+++ cdrkit-1.1.9/readom/readom.c 2009-03-11 20:31:53.000000000 +0100 -@@ -1605,7 +1605,7 @@ read_generic(SCSI *usalp, parm_t *parmp, - fprintf(stderr, "Copy from SCSI (%d,%d,%d) disk to file\n", - usal_scsibus(usalp), usal_target(usalp), usal_lun(usalp)); - fprintf(stderr, "Enter filename [%s]: ", defname); flush(); -- (void) getline(filename, sizeof (filename)); -+ (void) get_line(filename, sizeof (filename)); - } - - if (askrange) { -@@ -1772,7 +1772,7 @@ write_disk(SCSI *usalp, parm_t *parmp) - fprintf(stderr, "Copy from file to SCSI (%d,%d,%d) disk\n", - usal_scsibus(usalp), usal_target(usalp), usal_lun(usalp)); - fprintf(stderr, "Enter filename [%s]: ", defname); flush(); -- (void) getline(filename, sizeof (filename)); -+ (void) get_line(filename, sizeof (filename)); - fprintf(stderr, "Notice: reading from file always starts at file offset 0.\n"); - - getlong("Enter starting sector for copy:", &addr, 0L, end-1); -diff -puNr cdrkit-1.1.9.orig/wodim/cue.c cdrkit-1.1.9/wodim/cue.c ---- cdrkit-1.1.9.orig/wodim/cue.c 2006-12-08 14:38:43.000000000 +0100 -+++ cdrkit-1.1.9/wodim/cue.c 2009-03-11 20:32:18.000000000 +0100 -@@ -253,7 +253,7 @@ static char *skipwhite(const char *s); - static char *peekword(void); - static char *lineend(void); - static char *markword(char *delim); --static char getdelim(void); -+static char get_delim(void); - static char *getnextitem(char *delim); - static char *neednextitem(char *delim); - static char *nextword(void); -@@ -746,7 +746,7 @@ parse_track(track_t trackp[], state_t *s - if (kp == NULL) - cueabort("Unknown filetype '%s'", word); - -- if (getdelim() == '/') { -+ if (get_delim() == '/') { - word = needitem(); - if (*astol(++word, &secsize) != '\0') - cueabort("Not a number '%s'", word); -@@ -1128,7 +1128,7 @@ linelen--; - } - - static char --getdelim() -+get_delim() - { - return (wordendc); - } diff --git a/meta-openvuplus/recipes-multimedia/cdrkit/cdrkit-1.1.9/xconfig.patch b/meta-openvuplus/recipes-multimedia/cdrkit/cdrkit-1.1.9/xconfig.patch deleted file mode 100644 index 5af1a37..0000000 --- a/meta-openvuplus/recipes-multimedia/cdrkit/cdrkit-1.1.9/xconfig.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- cdrkit-1.1.9/include/xconfig.h.in.orig 2006-12-02 12:10:05.000000000 +0100 -+++ cdrkit-1.1.9/include/xconfig.h.in 2009-03-08 13:29:05.000000000 +0100 -@@ -233,7 +233,11 @@ - /* If using network byte order */ - #cmakedefine WORDS_BIGENDIAN - /* If high bits come first in structures */ --#cmakedefine BITFIELDS_HTOL -+#ifdef WORDS_BIGENDIAN -+#define BITFIELDS_HTOL -+#else -+#define BITFIELDS_LTOH -+#endif - #define HAVE_C_BIGENDIAN /* Flag that WORDS_BIGENDIAN test was done */ - #define HAVE_C_BITFIELDS /* Flag that BITFIELDS_HTOL test was done */ - diff --git a/meta-openvuplus/recipes-multimedia/cdrkit/cdrkit/xconfig.patch b/meta-openvuplus/recipes-multimedia/cdrkit/cdrkit/xconfig.patch new file mode 100644 index 0000000..866b602 --- /dev/null +++ b/meta-openvuplus/recipes-multimedia/cdrkit/cdrkit/xconfig.patch @@ -0,0 +1,25 @@ +--- cdrkit-1.1.9/include/xconfig.h.in.orig 2006-12-02 12:10:05.000000000 +0100 ++++ cdrkit-1.1.9/include/xconfig.h.in 2009-03-08 13:29:05.000000000 +0100 +@@ -233,7 +233,11 @@ + /* If using network byte order */ + #cmakedefine WORDS_BIGENDIAN + /* If high bits come first in structures */ +-#cmakedefine BITFIELDS_HTOL ++#ifdef WORDS_BIGENDIAN ++#define BITFIELDS_HTOL ++#else ++#define BITFIELDS_LTOH ++#endif + #define HAVE_C_BIGENDIAN /* Flag that WORDS_BIGENDIAN test was done */ + #define HAVE_C_BITFIELDS /* Flag that BITFIELDS_HTOL test was done */ + +--- cdrkit-1.1.9/include/CMakeLists.txt.orig 2010-09-27 23:17:34.000000000 +0000 ++++ cdrkit-1.1.9/include/CMakeLists.txt 2010-09-27 23:17:58.000000000 +0000 +@@ -35,7 +35,6 @@ + INCLUDE(TestBigEndian) + TEST_BIG_ENDIAN(WORDS_BIGENDIAN) + +-TRY_RUN(BITFIELDS_HTOL TEST_DUMMY ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/test_BITFIELDS_HTOL.c) + + INCLUDE(CheckIncludeFiles) + diff --git a/meta-openvuplus/recipes-multimedia/cdrkit/cdrkit_1.1.10.bb b/meta-openvuplus/recipes-multimedia/cdrkit/cdrkit_1.1.10.bb new file mode 100644 index 0000000..220781a --- /dev/null +++ b/meta-openvuplus/recipes-multimedia/cdrkit/cdrkit_1.1.10.bb @@ -0,0 +1,16 @@ +SUMMARY = "A set of tools for CD recording" +HOMEPAGE = "http://www.cdrkit.org" +DEPENDS = "libcap bzip2" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b30d3b2750b668133fc17b401e1b98f8" +PR = "r1" + +SRC_URI = " \ + http://cdrkit.org/releases/${P}.tar.gz;name=archive \ + file://xconfig.patch \ +" + +inherit cmake + +SRC_URI[archive.md5sum] = "3c25505d567113c269dc6e71640646d8" +SRC_URI[archive.sha256sum] = "8b6e90b4068cac6f3a75a501d7a85aba6583b2dc34f434e3eb62d29104b107e5" diff --git a/meta-openvuplus/recipes-multimedia/cdrkit/cdrkit_1.1.9.bb b/meta-openvuplus/recipes-multimedia/cdrkit/cdrkit_1.1.9.bb deleted file mode 100755 index 0d2dc01..0000000 --- a/meta-openvuplus/recipes-multimedia/cdrkit/cdrkit_1.1.9.bb +++ /dev/null @@ -1,26 +0,0 @@ -DESCRIPTION="A set of tools for CD recording" -HOMEPAGE="http://www.cdrkit.org" - -LICENSE="GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b30d3b2750b668133fc17b401e1b98f8" - -DEPENDS = "libcap2 bzip2" - -PR = "r3" - -SRC_URI="http://cdrkit.org/releases/cdrkit-${PV}.tar.gz \ - file://xconfig.patch;patch=1 \ - file://cdrkit-1.1.9-glibc-2.10-3.patch;patch=1 \ - " - -S="${WORKDIR}/cdrkit-${PV}" - -inherit cmake - -do_install() { - oe_runmake install DESTDIR="${D}" -} - -RC_URI[md5sum] = "cbc0647e5d85f0e8fb3a692ba1d42edd" -SRC_URI[sha256sum] = "d5d58ab4c7bef036a53ef9742b4e57621f61310cd0cd28f558ba0b88c354efa2" - diff --git a/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugin-dvbmediasink_0.10.bb b/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugin-dvbmediasink_0.10.bb index e2dc6aa..3ee999d 100644 --- a/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugin-dvbmediasink_0.10.bb +++ b/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugin-dvbmediasink_0.10.bb @@ -13,8 +13,8 @@ inherit autotools pkgconfig git-project SRC_URI = "git://schwerkraft.elitedvb.net/dvbmediasink/dvbmediasink.git;protocol=git;branch=${BRANCH};tag=${SRCREV}" SRC_URI_append_vuplus = " \ - file://fix_dvbaudiosink_async_opt.patch;patch=1;pnum=1 \ - file://fix_dvbvideosink_dm8000_padtemplate.patch;patch=1;pnum=1 \ + file://fix_dvbaudiosink_async_opt.patch \ + file://fix_dvbvideosink_dm8000_padtemplate.patch \ file://fix_dvbaudiosink_support_ddp.patch \ file://Set-only-by-hardware-supported-audio-mpeg-4-profile.patch \ " diff --git a/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.1.bb b/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.1.bb index 3ef5166..e9019ef 100644 --- a/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.1.bb +++ b/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.1.bb @@ -20,7 +20,7 @@ EXTRA_OECONF += "--disable-examples --disable-experimental --disable-sdl --disab ARM_INSTRUCTION_SET = "arm" -SRC_URI = "git://anongit.freedesktop.org/gstreamer/${PN}" +SRC_URI = "git://anongit.freedesktop.org/gstreamer/${PN};branch=0.10" SRC_URI += " \ file://0003-mpegpsdemux_speedup.diff.patch \ diff --git a/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bbappend b/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bbappend index 4ba07bc..60c3ec1 100644 --- a/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bbappend +++ b/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bbappend @@ -1,5 +1,5 @@ DEPENDS += "libmms librtmp" -PR .= "-vuplus1" +PR .= "-vuplus0" SRC_URI += " \ file://0001-mpegtsdemux-fix-bd-streamtype-detection.diff.patch \ diff --git a/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-base_0.10.36.1.bb b/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-base_0.10.36.1.bb index 533d8e0..ec5ff47 100644 --- a/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-base_0.10.36.1.bb +++ b/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-base_0.10.36.1.bb @@ -17,7 +17,7 @@ GIT_PV = "" inherit autotools pkgconfig gettext git-project -SRC_URI = "git://anongit.freedesktop.org/gstreamer/${PN}" +SRC_URI = "git://anongit.freedesktop.org/gstreamer/${PN};branch=0.10" SRC_URI += " \ file://orc.m4-fix-location-of-orcc-when-cross-compiling.patch \ diff --git a/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-base_0.10.36.bbappend b/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-base_0.10.36.bbappend index a0a4798..7682b84 100644 --- a/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-base_0.10.36.bbappend +++ b/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-base_0.10.36.bbappend @@ -1,5 +1,5 @@ DEPENDS += "cdparanoia orc orc-native" -PR .= "-vuplus1" +PR .= "-vuplus0" SRC_URI += "file://orc.m4-fix-location-of-orcc-when-cross-compiling.patch \ file://disable-vorbis-encoder.patch" diff --git a/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.1.bb b/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.1.bb index 796e9c4..b988d14 100644 --- a/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.1.bb +++ b/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.1.bb @@ -17,7 +17,7 @@ EXTRA_OECONF = "--enable-orc --disable-esd --disable-aalib --disable-shout2 --di inherit autotools pkgconfig gettext git-project -SRC_URI = "git://anongit.freedesktop.org/gstreamer/${PN}" +SRC_URI = "git://anongit.freedesktop.org/gstreamer/${PN};branch=0.10" SRC_URI += " \ file://orc.m4-fix-location-of-orcc-when-cross-compiling.patch \ diff --git a/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.19.1.bb b/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.19.1.bb index a9a9f5f..38f8b08 100644 --- a/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.19.1.bb +++ b/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.19.1.bb @@ -15,7 +15,7 @@ SRCREV = "9afc696e5fa9fb980e02df5637f022796763216f" inherit autotools pkgconfig gettext git-project -SRC_URI = "git://anongit.freedesktop.org/gstreamer/${PN}" +SRC_URI = "git://anongit.freedesktop.org/gstreamer/${PN};branch=0.10" SRC_URI += " \ file://orc.m4-fix-location-of-orcc-when-cross-compiling.patch \ diff --git a/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer_0.10.36.1.bb b/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer_0.10.36.1.bb index a92d735..ddacd74 100644 --- a/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer_0.10.36.1.bb +++ b/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer_0.10.36.1.bb @@ -26,7 +26,7 @@ EXTRA_OECONF = "--disable-docs-build --disable-dependency-tracking --with-check= inherit autotools pkgconfig gettext git-project -SRC_URI = "git://anongit.freedesktop.org/gstreamer/${PN}" +SRC_URI = "git://anongit.freedesktop.org/gstreamer/${PN};branch=0.10" SRC_URI += " \ file://check_fix.patch \ diff --git a/meta-openvuplus/recipes-multimedia/libav/libav_0.7.4.bbappend b/meta-openvuplus/recipes-multimedia/libav/libav_0.7.4.bbappend deleted file mode 100644 index e371dff..0000000 --- a/meta-openvuplus/recipes-multimedia/libav/libav_0.7.4.bbappend +++ /dev/null @@ -1,4 +0,0 @@ -LICENSE = "LGPLv2.1+" -PR .= "-vuplus1" - -EXTRA_OECONF += "--disable-gpl --disable-nonfree --disable-version3 --disable-x11grab" diff --git a/meta-openvuplus/recipes-multimedia/libav/libav_0.8.9.bbappend b/meta-openvuplus/recipes-multimedia/libav/libav_0.8.9.bbappend new file mode 100644 index 0000000..0f0a0d4 --- /dev/null +++ b/meta-openvuplus/recipes-multimedia/libav/libav_0.8.9.bbappend @@ -0,0 +1,10 @@ +LICENSE = "LGPLv2.1+" +PR .= "-vuplus0" + + + +EXTRA_OECONF += "--disable-gpl --disable-nonfree --disable-version3" + +PACKAGECONFIG = "bzip2" + +RSUGGESTS_${PN} = "" diff --git a/meta-openvuplus/recipes-multimedia/libdvdnav/libdvdnav_svn.bb b/meta-openvuplus/recipes-multimedia/libdvdnav/libdvdnav_svn.bb index b00f742..d11cb45 100644 --- a/meta-openvuplus/recipes-multimedia/libdvdnav/libdvdnav_svn.bb +++ b/meta-openvuplus/recipes-multimedia/libdvdnav/libdvdnav_svn.bb @@ -18,7 +18,7 @@ inherit autotools lib_package binconfig pkgconfig FILES_${PN} = "${libdir}/${PN}${SOLIB}" python populate_packages_prepend() { - description = bb.data.expand('${DESCRIPTION}', d) - libdir = bb.data.expand('${libdir}', d) - do_split_packages(d, libdir, '^lib(.*)\.so\..*', 'lib%s', description + ' (%s)', extra_depends='', allow_links=True) + description = bb.data.expand('${DESCRIPTION}', d) + libdir = bb.data.expand('${libdir}', d) + do_split_packages(d, libdir, '^lib(.*)\.so\..*', 'lib%s', description + ' (%s)', extra_depends='', allow_links=True) } diff --git a/meta-openvuplus/recipes-multimedia/libvorbis/libvorbis_1.3.3.bbappend b/meta-openvuplus/recipes-multimedia/libvorbis/libvorbis_1.3.3.bbappend deleted file mode 100644 index 02895ba..0000000 --- a/meta-openvuplus/recipes-multimedia/libvorbis/libvorbis_1.3.3.bbappend +++ /dev/null @@ -1,4 +0,0 @@ -PR .= "-vuplus0" - -PACKAGES =+ "${PN}enc" -FILES_${PN}enc = "${libdir}/libvorbisenc.so.*" diff --git a/meta-openvuplus/recipes-multimedia/libvorbis/libvorbis_1.3.4.bbappend b/meta-openvuplus/recipes-multimedia/libvorbis/libvorbis_1.3.4.bbappend new file mode 100644 index 0000000..02895ba --- /dev/null +++ b/meta-openvuplus/recipes-multimedia/libvorbis/libvorbis_1.3.4.bbappend @@ -0,0 +1,4 @@ +PR .= "-vuplus0" + +PACKAGES =+ "${PN}enc" +FILES_${PN}enc = "${libdir}/libvorbisenc.so.*" diff --git a/meta-openvuplus/recipes-protocol/zeroconf/zeroconf_0.9.bbappend b/meta-openvuplus/recipes-protocol/zeroconf/zeroconf_0.9.bbappend new file mode 100644 index 0000000..5ee8d24 --- /dev/null +++ b/meta-openvuplus/recipes-protocol/zeroconf/zeroconf_0.9.bbappend @@ -0,0 +1,5 @@ +PR .= "-vuplus0" + +do_install_append() { + sed -e 's,^#FALLBACK=yes,FALLBACK=yes,' -i ${D}${sysconfdir}/default/zeroconf +} diff --git a/meta-openvuplus/recipes-support/libdaemon/libdaemon_0.14.bbappend b/meta-openvuplus/recipes-support/libdaemon/libdaemon_0.14.bbappend new file mode 100644 index 0000000..95fe7fc --- /dev/null +++ b/meta-openvuplus/recipes-support/libdaemon/libdaemon_0.14.bbappend @@ -0,0 +1,4 @@ +PR .= "-vuplus0" + +SRC_URI[md5sum] = "58109d5902e69bc2cbe647b9423d3218" +SRC_URI[sha256sum] = "5b6aae9237966c40b5695ff44d848ed4270513487820d455d7a54ac879cfbd7f" diff --git a/meta-openvuplus/recipes-support/sqlite/sqlite3_3.7.10.bbappend b/meta-openvuplus/recipes-support/sqlite/sqlite3_3.7.10.bbappend deleted file mode 100644 index f9c383b..0000000 --- a/meta-openvuplus/recipes-support/sqlite/sqlite3_3.7.10.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -PR .= "-vuplus0" - -CFLAGS += "-DSQLITE_ENABLE_COLUMN_METADATA" diff --git a/meta-openvuplus/recipes-support/sqlite/sqlite3_3.8.4.3.bbappend b/meta-openvuplus/recipes-support/sqlite/sqlite3_3.8.4.3.bbappend new file mode 100644 index 0000000..f9c383b --- /dev/null +++ b/meta-openvuplus/recipes-support/sqlite/sqlite3_3.8.4.3.bbappend @@ -0,0 +1,3 @@ +PR .= "-vuplus0" + +CFLAGS += "-DSQLITE_ENABLE_COLUMN_METADATA" diff --git a/meta-openvuplus/recipes-support/talloc/talloc_2.0.1.bbappend b/meta-openvuplus/recipes-support/talloc/talloc_2.0.1.bbappend new file mode 100644 index 0000000..06d0cc1 --- /dev/null +++ b/meta-openvuplus/recipes-support/talloc/talloc_2.0.1.bbappend @@ -0,0 +1,4 @@ +PR .= "-vuplus0" + +B = "${S}" + diff --git a/meta-openvuplus/recipes-support/usb-modeswitch/usb-modeswitch_2.0.1.bbappend b/meta-openvuplus/recipes-support/usb-modeswitch/usb-modeswitch_2.0.1.bbappend new file mode 100644 index 0000000..06d0cc1 --- /dev/null +++ b/meta-openvuplus/recipes-support/usb-modeswitch/usb-modeswitch_2.0.1.bbappend @@ -0,0 +1,4 @@ +PR .= "-vuplus0" + +B = "${S}" + diff --git a/meta-openvuplus/recipes-vuplus/dreambox-keymaps/dreambox-keymaps.bb b/meta-openvuplus/recipes-vuplus/dreambox-keymaps/dreambox-keymaps.bb deleted file mode 100644 index 4ab2603..0000000 --- a/meta-openvuplus/recipes-vuplus/dreambox-keymaps/dreambox-keymaps.bb +++ /dev/null @@ -1,18 +0,0 @@ -DESCRIPTION = "Dreambox Keyboard Keymap files" -LICENSE = "GPL" -LIC_FILES_CHKSUM = "file://${THISDIR}/${PN}/GPL-1.0;md5=e9e36a9de734199567a4d769498f743d" -MAINTAINER = "Felix Domke " - -SRC_URI = "file://dream-de.info file://dream-de.kmap file://eng.info file://eng.kmap" - -PR = "r1" - -FILES_${PN} = "/" -PACKAGE_ARCH = "all" - -do_install() { - install -d ${D}/usr/share/keymaps - for x in dream-de.info dream-de.kmap eng.info eng.kmap; do - install -m 0644 ${WORKDIR}/$x ${D}/usr/share/keymaps/$x - done -} diff --git a/meta-openvuplus/recipes-vuplus/dreambox-keymaps/dreambox-keymaps/GPL-1.0 b/meta-openvuplus/recipes-vuplus/dreambox-keymaps/dreambox-keymaps/GPL-1.0 deleted file mode 100644 index 9d4ef93..0000000 --- a/meta-openvuplus/recipes-vuplus/dreambox-keymaps/dreambox-keymaps/GPL-1.0 +++ /dev/null @@ -1,252 +0,0 @@ - -GNU General Public License, version 1 - - GNU GENERAL PUBLIC LICENSE - Version 1, February 1989 - - Copyright (C) 1989 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The license agreements of most software companies try to keep users -at the mercy of those companies. By contrast, our General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. The -General Public License applies to the Free Software Foundation`s -software and to any other program whose authors commit to using it. -You can use it for your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Specifically, the General Public License is designed to make -sure that you have the freedom to give away or sell copies of free -software, that you receive source code or can get it if you want it, -that you can change the software or use pieces of it in new free -programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of a such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must tell them their rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author`s protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors` reputations. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any program or other work which -contains a notice placed by the copyright holder saying it may be -distributed under the terms of this General Public License. The -"Program", below, refers to any such program or work, and a "work based -on the Program" means either the Program or any work containing the -Program or a portion of it, either verbatim or with modifications. Each -licensee is addressed as "you". - - 1. You may copy and distribute verbatim copies of the Program`s source -code as you receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice and -disclaimer of warranty; keep intact all the notices that refer to this -General Public License and to the absence of any warranty; and give any -other recipients of the Program a copy of this General Public License -along with the Program. You may charge a fee for the physical act of -transferring a copy. - - 2. You may modify your copy or copies of the Program or any portion of -it, and copy and distribute such modifications under the terms of Paragraph -1 above, provided that you also do the following: - - a) cause the modified files to carry prominent notices stating that - you changed the files and the date of any change; and - - b) cause the whole of any work that you distribute or publish, that - in whole or in part contains the Program or any part thereof, either - with or without modifications, to be licensed at no charge to all - third parties under the terms of this General Public License (except - that you may choose to grant warranty protection to some or all - third parties, at your option). - - c) If the modified program normally reads commands interactively when - run, you must cause it, when started running for such interactive use - in the simplest and most usual way, to print or display an - announcement including an appropriate copyright notice and a notice - that there is no warranty (or else, saying that you provide a - warranty) and that users may redistribute the program under these - conditions, and telling the user how to view a copy of this General - Public License. - - d) You may charge a fee for the physical act of transferring a - copy, and you may at your option offer warranty protection in - exchange for a fee. - -Mere aggregation of another independent work with the Program (or its -derivative) on a volume of a storage or distribution medium does not bring -the other work under the scope of these terms. - - 3. You may copy and distribute the Program (or a portion or derivative of -it, under Paragraph 2) in object code or executable form under the terms of -Paragraphs 1 and 2 above provided that you also do one of the following: - - a) accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of - Paragraphs 1 and 2 above; or, - - b) accompany it with a written offer, valid for at least three - years, to give any third party free (except for a nominal charge - for the cost of distribution) a complete machine-readable copy of the - corresponding source code, to be distributed under the terms of - Paragraphs 1 and 2 above; or, - - c) accompany it with the information you received as to where the - corresponding source code may be obtained. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form alone.) - -Source code for a work means the preferred form of the work for making -modifications to it. For an executable file, complete source code means -all the source code for all modules it contains; but, as a special -exception, it need not include source code for modules which are standard -libraries that accompany the operating system on which the executable -file runs, or for standard header files or definitions files that -accompany that operating system. - - 4. You may not copy, modify, sublicense, distribute or transfer the -Program except as expressly provided under this General Public License. -Any attempt otherwise to copy, modify, sublicense, distribute or transfer -the Program is void, and will automatically terminate your rights to use -the Program under this License. However, parties who have received -copies, or rights to use copies, from you under this General Public -License will not have their licenses terminated so long as such parties -remain in full compliance. - - 5. By copying, distributing or modifying the Program (or any work based -on the Program) you indicate your acceptance of this license to do so, -and all its terms and conditions. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the original -licensor to copy, distribute or modify the Program subject to these -terms and conditions. You may not impose any further restrictions on the -recipients` exercise of the rights granted herein. - - 7. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of the license which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -the license, you may choose any version ever published by the Free Software -Foundation. - - 8. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - Appendix: How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to humanity, the best way to achieve this is to make it -free software which everyone can redistribute and change under these -terms. - - To do so, attach the following notices to the program. It is safest to -attach them to the start of each source file to most effectively convey -the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) 19yy - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 1, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19xx name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w`. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c` for details. - -The hypothetical commands `show w` and `show c` should show the -appropriate parts of the General Public License. Of course, the -commands you use may be called something other than `show w` and `show -c`; they could even be mouse-clicks or menu items--whatever suits your -program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - program `Gnomovision` (a program to direct compilers to make passes - at assemblers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -That`s all there is to it! - diff --git a/meta-openvuplus/recipes-vuplus/dreambox-keymaps/dreambox-keymaps/dream-de.info b/meta-openvuplus/recipes-vuplus/dreambox-keymaps/dreambox-keymaps/dream-de.info deleted file mode 100644 index d7f5b07..0000000 --- a/meta-openvuplus/recipes-vuplus/dreambox-keymaps/dreambox-keymaps/dream-de.info +++ /dev/null @@ -1,2 +0,0 @@ -kmap=dream-de.kmap -name=Dreambox Keyboard Deutsch diff --git a/meta-openvuplus/recipes-vuplus/dreambox-keymaps/dreambox-keymaps/dream-de.kmap b/meta-openvuplus/recipes-vuplus/dreambox-keymaps/dreambox-keymaps/dream-de.kmap deleted file mode 100644 index 693317a..0000000 Binary files a/meta-openvuplus/recipes-vuplus/dreambox-keymaps/dreambox-keymaps/dream-de.kmap and /dev/null differ diff --git a/meta-openvuplus/recipes-vuplus/dreambox-keymaps/dreambox-keymaps/eng.info b/meta-openvuplus/recipes-vuplus/dreambox-keymaps/dreambox-keymaps/eng.info deleted file mode 100644 index d73372c..0000000 --- a/meta-openvuplus/recipes-vuplus/dreambox-keymaps/dreambox-keymaps/eng.info +++ /dev/null @@ -1,2 +0,0 @@ -kmap=eng.kmap -name=Keyboard English diff --git a/meta-openvuplus/recipes-vuplus/dreambox-keymaps/dreambox-keymaps/eng.kmap b/meta-openvuplus/recipes-vuplus/dreambox-keymaps/dreambox-keymaps/eng.kmap deleted file mode 100644 index 15a722f..0000000 Binary files a/meta-openvuplus/recipes-vuplus/dreambox-keymaps/dreambox-keymaps/eng.kmap and /dev/null differ diff --git a/meta-openvuplus/recipes-vuplus/dvbsnoop/dvbsnoop.bb b/meta-openvuplus/recipes-vuplus/dvbsnoop/dvbsnoop.bb index e2d3bca..efbb3e6 100644 --- a/meta-openvuplus/recipes-vuplus/dvbsnoop/dvbsnoop.bb +++ b/meta-openvuplus/recipes-vuplus/dvbsnoop/dvbsnoop.bb @@ -6,6 +6,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" PR = "r1" +SRC_REV = "master" + SRC_URI = "git://git.code.sf.net/p/tuxbox-cvs/apps;protocol=git;tag=${SRC_REV} \ file://acinclude.m4" diff --git a/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-addstreamurl.bb b/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-addstreamurl.bb index cf2ff08..8d5fc31 100644 --- a/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-addstreamurl.bb +++ b/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-addstreamurl.bb @@ -7,7 +7,7 @@ require openplugins.inc require assume-gplv2.inc -SRC_URI += "file://addstreamurl_uifix.patch;patch=1;pnum=1" +SRC_URI += "file://addstreamurl_uifix.patch" PLUGINPATH = "/usr/lib/enigma2/python/Plugins/Extensions/${MODULE}" diff --git a/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-openwebif.bb b/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-openwebif.bb index 390f696..65ac1c6 100644 --- a/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-openwebif.bb +++ b/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-openwebif.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://README;firstline=10;lastline=12;md5=9c14f792d0aeb54e1 DEPENDS = "python-cheetah-native" RDEPENDS_${PN} = "python-cheetah python-json python-unixadmin python-misc python-pyopenssl aio-grab" -inherit gitpkgv +inherit gitpkgv pythonnative PV = "0.1+git${SRCPV}" PKGV = "0.1+git${GITPKGV}" PR = "r0.81" @@ -26,31 +26,31 @@ do_install() { } python do_package_prepend () { - boxtypes = [ - ('bm750', 'duo.jpg', 'vu_normal.png'), - ('vuduo2', 'duo2.jpg', 'vu_normal.png'), - ('vusolo', 'solo.jpg', 'vu_normal.png'), - ('vusolo2', 'solo2.jpg', 'vu_normal.png'), - ('vuultimo', 'ultimo.jpg', 'vu_ultimo.png'), - ('vuuno', 'uno.jpg', 'vu_normal.png'), - ] - import os - top = '${D}${PLUGINPATH}/public/images/' - target_box = 'unknown.jpg' - target_remote = 'ow_remote.png' - for x in boxtypes: - if x[0] == '${MACHINE}': - target_box = x[1] - target_remote = x[2] - break - for root, dirs, files in os.walk(top + 'boxes', topdown=False): - for name in files: - if target_box != name and name != 'unknown.jpg': - os.remove(os.path.join(root, name)) - for root, dirs, files in os.walk(top + 'remotes', topdown=False): - for name in files: - if target_remote != name and name != 'ow_remote.png': - os.remove(os.path.join(root, name)) + boxtypes = [ + ('bm750', 'duo.jpg', 'vu_normal.png'), + ('vuduo2', 'duo2.jpg', 'vu_normal.png'), + ('vusolo', 'solo.jpg', 'vu_normal.png'), + ('vusolo2', 'solo2.jpg', 'vu_normal.png'), + ('vuultimo', 'ultimo.jpg', 'vu_ultimo.png'), + ('vuuno', 'uno.jpg', 'vu_normal.png'), + ] + import os + top = '${D}${PLUGINPATH}/public/images/' + target_box = 'unknown.jpg' + target_remote = 'ow_remote.png' + for x in boxtypes: + if x[0] == '${MACHINE}': + target_box = x[1] + target_remote = x[2] + break + for root, dirs, files in os.walk(top + 'boxes', topdown=False): + for name in files: + if target_box != name and name != 'unknown.jpg': + os.remove(os.path.join(root, name)) + for root, dirs, files in os.walk(top + 'remotes', topdown=False): + for name in files: + if target_remote != name and name != 'ow_remote.png': + os.remove(os.path.join(root, name)) } FILES_${PN} = "${PLUGINPATH}" diff --git a/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-systemplugins-autoshutdown.bb b/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-systemplugins-autoshutdown.bb index 223ef3c..e1d87e3 100644 --- a/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-systemplugins-autoshutdown.bb +++ b/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-systemplugins-autoshutdown.bb @@ -3,20 +3,19 @@ DESCRIPTION = "automated power off for STB" PACKAGE_ARCH = "${MACHINE_ARCH}" inherit gitpkgv -SRCREV = "" +SRCREV="406e54cb250fecb5040dba844098140982186668" PV = "0.3+git${SRCPV}" PKGV = "0.3+git${GITPKGV}" PR = "r3" require openplugins.inc -SRC_REV = "406e54cb250fecb5040dba844098140982186668" -SRC_URI = "git://github.com/E2OpenPlugins/e2openplugin-${MODULE}.git;protocol=git;tag=${SRC_REV} \ - file://autoshutdown-default-time_20121207.patch \ - file://autoshutdown-fix-standby_20140407.patch \ - " +SRC_URI += " \ + file://autoshutdown-default-time_20121207.patch \ + file://autoshutdown-fix-standby_20140407.patch \ +" -inherit autotools +inherit autotools-brokensep FILES_${PN} = "/" diff --git a/meta-openvuplus/recipes-vuplus/enigma2/enigma2-plugins.bb b/meta-openvuplus/recipes-vuplus/enigma2/enigma2-plugins.bb index d532eac..ac97558 100755 --- a/meta-openvuplus/recipes-vuplus/enigma2/enigma2-plugins.bb +++ b/meta-openvuplus/recipes-vuplus/enigma2/enigma2-plugins.bb @@ -25,24 +25,25 @@ EXTRA_OECONF = " \ " SRC_URI_append_vuplus = " \ - file://enigma2_plugins_mytube_tpm.patch;patch=1;pnum=1 \ - file://enigma2_plugins_20121113.patch;patch=1;pnum=1 \ - file://enigma2_plugins_webinterface_tpm.patch;patch=1;pnum=1 \ - file://enigma2_plugins_ac3lipsync_dolby.patch;patch=1;pnum=1 \ - file://enigma2_plugins_autoresolution_fix.patch;patch=1;pnum=1 \ - file://enigma2_plugins_fancontrol2.patch;patch=1;pnum=1 \ - file://enigma2_plugins_gst_plugins_pkgname.patch;patch=1;pnum=1 \ - file://dreamboxweb.png \ - file://dreamboxwebtv.png \ - file://favicon.ico \ - file://Makefile.am " + file://enigma2_plugins_mytube_tpm.patch \ + file://enigma2_plugins_20121113.patch \ + file://enigma2_plugins_webinterface_tpm.patch \ + file://enigma2_plugins_ac3lipsync_dolby.patch \ + file://enigma2_plugins_autoresolution_fix.patch \ + file://enigma2_plugins_fancontrol2.patch \ + file://enigma2_plugins_gst_plugins_pkgname.patch \ + file://dreamboxweb.png \ + file://dreamboxwebtv.png \ + file://favicon.ico \ + file://Makefile.am \ +" FILES_${PN} += " /usr/share/enigma2 /usr/share/fonts " FILES_${PN}-meta = "${datadir}/meta" PACKAGES += "${PN}-meta" PACKAGE_ARCH = "${MACHINE_ARCH}" -inherit autotools +inherit autotools-brokensep pythonnative S = "${WORKDIR}/git" @@ -50,39 +51,39 @@ DEPENDS = "python-pyopenssl python-gdata streamripper python-mutagen python-daap DEPENDS += "enigma2" def modify_po(): - import os - try: - os.system("find ./ -name \"*.po\" > ./po_list") - os.system("find ./ -name \"*.pot\" >> ./po_list") - po_list = [] - po_list = open('po_list','r+').readlines() - for x in po_list: - changeword1(x) - changeword1('enigma2-plugins/networkwizard/src/networkwizard.xml ') - changeword2('enigma2-plugins/webinterface/src/web-data/tpl/default/index.html ') - os.system('rm po_list') - except: - print 'word patch error ' - return + import os + try: + os.system("find ./ -name \"*.po\" > ./po_list") + os.system("find ./ -name \"*.pot\" >> ./po_list") + po_list = [] + po_list = open('po_list','r+').readlines() + for x in po_list: + changeword1(x) + changeword1('enigma2-plugins/networkwizard/src/networkwizard.xml ') + changeword2('enigma2-plugins/webinterface/src/web-data/tpl/default/index.html ') + os.system('rm po_list') + except: + print 'word patch error ' + return def changeword1(file): - fn = file[:-1] - fnn = file[:-1]+'_n' - cmd = "sed s/Dreambox/STB/g "+fn+" > "+fnn - os.system(cmd) - cmd1 = "mv "+fnn+" "+fn - os.system(cmd1) + fn = file[:-1] + fnn = file[:-1]+'_n' + cmd = "sed s/Dreambox/STB/g "+fn+" > "+fnn + os.system(cmd) + cmd1 = "mv "+fnn+" "+fn + os.system(cmd1) def changeword2(file): - fn = file[:-1] - fnn = file[:-1]+'_n' - cmd = "sed s/Dreambox/Vu+/g "+fn+" > "+fnn - os.system(cmd) - cmd1 = "mv "+fnn+" "+fn - os.system(cmd1) + fn = file[:-1] + fnn = file[:-1]+'_n' + cmd = "sed s/Dreambox/Vu+/g "+fn+" > "+fnn + os.system(cmd) + cmd1 = "mv "+fnn+" "+fn + os.system(cmd1) do_unpack_append(){ - modify_po() + modify_po() } do_configure_prepend_vuplus() { @@ -96,30 +97,37 @@ do_install_append_vuplus() { } python populate_packages_prepend() { - enigma2_plugindir = bb.data.expand('${libdir}/enigma2/python/Plugins', d) - do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)', 'enigma2-plugin-%s', '%s', recursive=True, match_path=True, prepend=True) - do_split_packages(d, enigma2_plugindir, '^(\w+/\w+).*/.*\.la$', 'enigma2-plugin-%s-dev', '%s (development)', recursive=True, match_path=True, prepend=True) - do_split_packages(d, enigma2_plugindir, '^(\w+/\w+).*/.*\.a$', 'enigma2-plugin-%s-staticdev', '%s (static development)', recursive=True, match_path=True, prepend=True) - do_split_packages(d, enigma2_plugindir, '^(\w+/\w+).*/\.debug/', 'enigma2-plugin-%s-dbg', '%s (debug)', recursive=True, match_path=True, prepend=True) - def parseControlFile(dir, d, package): - import os - #ac3lipsync is renamed since 20091121 to audiosync.. but rename in cvs is not possible without lost of revision history.. - #so the foldername is still ac3lipsync - if package == 'audiosync': - package = 'ac3lipsync' - src = open(dir + "/" + package.split('-')[-1] + "/CONTROL/control").read() - for line in src.splitlines(): - name, value = line.strip().split(': ', 1) - if name == 'Description': - d.setVar('DESCRIPTION_' + package, value) - elif name == 'Depends': - d.setVar('RDEPENDS_' + package, ' '.join(value.split(', '))) - elif name == 'Replaces': - d.setVar('RREPLACES_' + package, ' '.join(value.split(', '))) - elif name == 'Conflicts': - d.setVar('RCONFLICTS_' + package, ' '.join(value.split(', '))) - srcdir = d.getVar('S', True) - for package in d.getVar('PACKAGES', True).split(): - if package.startswith('enigma2-plugin-') and not package.endswith('-dev') and not package.endswith('-dbg') and not package.endswith('-staticdev'): - parseControlFile(srcdir, d, package) + enigma2_plugindir = bb.data.expand('${libdir}/enigma2/python/Plugins', d) + do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)', 'enigma2-plugin-%s', '%s', recursive=True, match_path=True, prepend=True) + do_split_packages(d, enigma2_plugindir, '^(\w+/\w+).*/.*\.la$', 'enigma2-plugin-%s-dev', '%s (development)', recursive=True, match_path=True, prepend=True) + do_split_packages(d, enigma2_plugindir, '^(\w+/\w+).*/.*\.a$', 'enigma2-plugin-%s-staticdev', '%s (static development)', recursive=True, match_path=True, prepend=True) + do_split_packages(d, enigma2_plugindir, '^(\w+/\w+).*/\.debug/', 'enigma2-plugin-%s-dbg', '%s (debug)', recursive=True, match_path=True, prepend=True) + def parseControlFile(dir, d, package): + import os + #ac3lipsync is renamed since 20091121 to audiosync.. but rename in cvs is not possible without lost of revision history.. + #so the foldername is still ac3lipsync + if package == 'audiosync': + package = 'ac3lipsync' + src = open(dir + "/" + package.split('-')[-1] + "/CONTROL/control").read() + for line in src.splitlines(): + name, value = line.strip().split(': ', 1) + if name == 'Description': + d.setVar('DESCRIPTION_' + package, value) + elif name == 'Depends': + rdepends = [] + for depend in value.split(','): + depend = depend.strip() + if depend.startswith('enigma2') and not depend.startswith('enigma2-'): + rdepends.append('enigma2') + else: + rdepends.append(depend) + d.setVar('RDEPENDS_' + package, ' '.join(rdepends)) + elif name == 'Replaces': + d.setVar('RREPLACES_' + package, ' '.join(value.split(', '))) + elif name == 'Conflicts': + d.setVar('RCONFLICTS_' + package, ' '.join(value.split(', '))) + srcdir = d.getVar('S', True) + for package in d.getVar('PACKAGES', True).split(): + if package.startswith('enigma2-plugin-') and not package.endswith('-dev') and not package.endswith('-dbg') and not package.endswith('-staticdev'): + parseControlFile(srcdir, d, package) } diff --git a/meta-openvuplus/recipes-vuplus/enigma2/enigma2-skins.bb b/meta-openvuplus/recipes-vuplus/enigma2/enigma2-skins.bb index f224870..8cae406 100755 --- a/meta-openvuplus/recipes-vuplus/enigma2/enigma2-skins.bb +++ b/meta-openvuplus/recipes-vuplus/enigma2/enigma2-skins.bb @@ -19,22 +19,22 @@ FILES_${PN}-meta = "${datadir}/meta" PACKAGES += "${PN}-meta" PACKAGE_ARCH = "all" -inherit autotools +inherit autotools-brokensep S = "${WORKDIR}/git" python populate_packages_prepend () { - enigma2_skindir = bb.data.expand('${datadir}/enigma2', d) + enigma2_skindir = bb.data.expand('${datadir}/enigma2', d) - do_split_packages(d, enigma2_skindir, '(.*?)/.*', 'enigma2-skin-%s', 'Enigma2 Skin: %s', recursive=True, match_path=True, prepend=True) + do_split_packages(d, enigma2_skindir, '(.*?)/.*', 'enigma2-skin-%s', 'Enigma2 Skin: %s', recursive=True, match_path=True, prepend=True) } python populate_packages_append () { - enigma2_skindir = bb.data.expand('${datadir}/enigma2', d) + enigma2_skindir = bb.data.expand('${datadir}/enigma2', d) - #clear rdepends by default - for package in bb.data.getVar('PACKAGES', d, 1).split(): - bb.data.setVar('RDEPENDS_' + package, '', d) + #clear rdepends by default + for package in bb.data.getVar('PACKAGES', d, 1).split(): + bb.data.setVar('RDEPENDS_' + package, '', d) - #todo add support for control files in skindir.. like plugins + #todo add support for control files in skindir.. like plugins } diff --git a/meta-openvuplus/recipes-vuplus/enigma2/enigma2-transtreamproxy.bb b/meta-openvuplus/recipes-vuplus/enigma2/enigma2-transtreamproxy.bb index 08ad116..393b936 100644 --- a/meta-openvuplus/recipes-vuplus/enigma2/enigma2-transtreamproxy.bb +++ b/meta-openvuplus/recipes-vuplus/enigma2/enigma2-transtreamproxy.bb @@ -14,7 +14,7 @@ SRCREV_pn-${PN} ?= "${AUTOREV}" DEPENDS += "boost" SRC_URI = "git://code.vuplus.com/git/filestreamproxy.git;protocol=git;branch=transtreamproxy" -inherit autotools +inherit autotools-brokensep S = "${WORKDIR}/git" diff --git a/meta-openvuplus/recipes-vuplus/enigma2/enigma2.bb b/meta-openvuplus/recipes-vuplus/enigma2/enigma2.bb index df97203..15fbbaf 100644 --- a/meta-openvuplus/recipes-vuplus/enigma2/enigma2.bb +++ b/meta-openvuplus/recipes-vuplus/enigma2/enigma2.bb @@ -1,37 +1,36 @@ DESCRIPTION = "Enigma2 is an experimental, but useful framebuffer-based frontend for DVB functions" -MAINTAINER = "Felix Domke " +MAINTAINER = "vuplus team" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=c9e255efa454e0155c1fd758df7dcaf3" -DEPENDS = "jpeg libungif libmad libpng libsigc++-1.2 gettext-native \ + +DEPENDS = "jpeg giflib libmad libpng libsigc++-1.2 gettext-native \ dreambox-dvbincludes freetype libdvbsi++ python swig-native \ libfribidi libxmlccwrap libdreamdvd gstreamer gst-plugin-dvbmediasink \ gst-plugins-bad gst-plugins-good gst-plugins-ugly python-wifi \ hostap-daemon bridge-utils ntfs-3g dosfstools util-linux \ " -RDEPENDS_GST= "gst-plugins-base-decodebin gst-plugins-base-decodebin2 gst-plugins-base-app gst-plugins-bad-fragmented \ - gst-plugins-good-id3demux gst-plugins-ugly-mad gst-plugins-base-ogg gst-plugins-base-playbin \ - gst-plugins-base-typefindfunctions gst-plugins-base-audioconvert gst-plugins-base-audioresample \ - gst-plugins-good-wavparse gst-plugins-ugly-mpegstream \ - gst-plugins-good-flac gst-plugin-dvbmediasink gst-plugins-bad-mpegdemux gst-plugins-ugly-dvdsub \ - gst-plugins-good-souphttpsrc gst-plugins-ugly-mpegaudioparse gst-plugins-base-subparse \ - gst-plugins-good-apetag gst-plugins-good-icydemux gst-plugins-good-autodetect gst-plugins-good-flv \ - gst-plugins-bad-mms gst-plugins-ugly-asf gst-plugins-bad-faad \ -" - -RDEPENDS_${PN} = "python-codecs python-core python-lang python-re python-threading \ - python-xml python-fcntl python-stringold python-pickle python-netclient \ - glibc-gconv-iso8859-15 ethtool parted \ - ${RDEPENDS_GST} \ +GST_RDEPENDS = "gst-plugins-base-decodebin gst-plugins-base-decodebin2 gst-plugins-base-app gst-plugins-bad-fragmented \ + gst-plugins-good-id3demux gst-plugins-ugly-mad gst-plugins-base-ogg gst-plugins-base-playbin \ + gst-plugins-base-typefindfunctions gst-plugins-base-audioconvert gst-plugins-base-audioresample \ + gst-plugins-good-wavparse gst-plugins-ugly-mpegstream \ + gst-plugins-good-flac gst-plugin-dvbmediasink gst-plugins-bad-mpegdemux gst-plugins-ugly-dvdsub \ + gst-plugins-good-souphttpsrc gst-plugins-ugly-mpegaudioparse gst-plugins-base-subparse \ + gst-plugins-good-apetag gst-plugins-good-icydemux gst-plugins-good-autodetect gst-plugins-good-flv \ + gst-plugins-bad-mms gst-plugins-ugly-asf gst-plugins-good-avi gst-plugins-bad-faad \ " GST_RTSP_RDEPENDS = "gst-plugins-good-udp gst-plugins-good-rtsp gst-plugins-good-rtp gst-plugins-good-rtpmanager" GST_ALSA_RDEPENDS = "gst-plugins-base-alsa alsa-conf" GST_MISC_RDEPENDS = "gst-plugins-good-matroska gst-plugins-good-isomp4 gst-plugins-base-vorbis gst-plugins-good-audioparsers" -GST_DVD_RDEPENDS = "gst-plugins-bad-cdxaparse gst-plugins-ugly-cdio gst-plugins-bad-vcdsrc" +GST_DVD_RDEPENDS = "gst-plugins-bad-cdxaparse gst-plugins-ugly-cdio gst-plugins-bad-vcdsrc" GST_BASE_RDEPENDS = "${GST_ALSA_RDEPENDS} ${GST_MISC_RDEPENDS} ${GST_RTSP_RDEPENDS}" -RDEPENDS_append_vuplus = " ${GST_BASE_RDEPENDS} ${GST_DVD_RDEPENDS} gst-plugins-good-avi" +RDEPENDS_${PN} = "python-codecs python-core python-lang python-re python-threading \ + python-xml python-fcntl python-stringold python-pickle python-netclient \ + glibc-gconv-iso8859-15 ethtool parted \ + ${GST_RDEPENDS} ${GST_BASE_RDEPENDS} ${GST_DVD_RDEPENDS} \ +" # 'forward depends' - no two providers can have the same PACKAGES_DYNAMIC, however both # enigma2 and enigma2-plugins produce enigma2-plugin-*. @@ -91,65 +90,66 @@ RDEPENDS_enigma2-plugin-systemplugins-backupsuiteusb = "enigma2-plugin-extension PN = "enigma2" PR = "r72" -SRCDATE = "20121128" -#SRCDATE is NOT used by git to checkout a specific revision -#but we need it to build a ipk package version -#when you like to checkout a specific revision of e2 you need -#have to specify a commit id or a tag name in SRCREV +inherit gitpkgv pythonnative + +PKGV = "git${GITPKGV}" #################################################### BRANCH = "vuplus_experimental" -PV = "experimental-git${SRCDATE}" +PV = "experimental-git${SRCPV}" SRCREV = "" #################################################### # enigma2_vuplus_mediaplayer.patch is for trick-play in media player SRC_URI = "git://code.vuplus.com/git/dvbapp.git;protocol=http;branch=${BRANCH};tag=${SRCREV} \ - file://enigma2_vuplus_skin.patch;patch=1;pnum=1 \ - file://enigma2_vuplus_mediaplayer.patch;patch=1;pnum=1 \ - file://enigma2_vuplus_mediaplayer_subtitle.patch;patch=1;pnum=1 \ - file://enigma2_vuplus_remove_dreambox_enigma.patch;patch=1;pnum=1 \ - file://enigma2_vuplus_vfd_mode.patch;patch=1;pnum=1 \ - file://enigma2_vuplus_addlibpythondeps.patch;patch=1;pnum=1 \ - file://enigma2_vuplus_pluginbrowser.patch;striplevel=1 \ - file://enigma2_vuplus_proc_oom_score_adj.patch;striplevel=1 \ - file://enigma2_vuplus_fix_standby_name.patch \ - file://enigma2_vuplus_fix_standby_name_skin.patch \ - file://MyriadPro-Regular.otf \ - file://MyriadPro-Semibold.otf \ - file://MyriadPro-SemiboldIt.otf \ - file://750S \ - file://Vu_HD \ - file://number_key \ - " - -SRC_URI_append = " ${@base_contains("VUPLUS_FEATURES", "vuwlan", "file://enigma2_vuplus_networksetup.patch;patch=1;pnum=1", "", d)}" + file://enigma2_vuplus_skin.patch \ + file://enigma2_vuplus_mediaplayer.patch \ + file://enigma2_vuplus_mediaplayer_subtitle.patch \ + file://enigma2_vuplus_remove_dreambox_enigma.patch \ + file://enigma2_vuplus_vfd_mode.patch \ + file://enigma2_vuplus_pluginbrowser.patch \ + file://enigma2_vuplus_proc_oom_score_adj.patch \ + file://enigma2_vuplus_fix_standby_name.patch \ + file://enigma2_vuplus_fix_standby_name_skin.patch \ + file://enigma2_vuplus_epng.patch \ + file://enigma2_vuplus_eptrlist_insert.patch \ + file://enigma2_vuplus_conversion_error.patch \ + file://enigma2_vuplus_default_arg_error.patch \ + file://MyriadPro-Regular.otf \ + file://MyriadPro-Semibold.otf \ + file://MyriadPro-SemiboldIt.otf \ + file://750S \ + file://Vu_HD \ + file://number_key \ +" + +SRC_URI_append = " ${@base_contains("VUPLUS_FEATURES", "vuwlan", "file://enigma2_vuplus_networksetup.patch", "", d)}" def change_po(): - import os - try: - os.system("find ./ -name \"*.po\" > ./po_list") - os.system("find ./ -name \"*.pot\" >> ./po_list") - po_list = [] - po_list = open('po_list','r+').readlines() - for x in po_list: - changeword(x) - os.system('rm po_list') - except: - print 'word patch error ' - return + import os + try: + os.system("find ./ -name \"*.po\" > ./po_list") + os.system("find ./ -name \"*.pot\" >> ./po_list") + po_list = [] + po_list = open('po_list','r+').readlines() + for x in po_list: + changeword(x) + os.system('rm po_list') + except: + print 'word patch error ' + return def changeword(file): - fn = file[:-1] - fnn = file[:-1]+'_n' - cmd = "sed s/Dreambox/STB/g "+fn+" > "+fnn - os.system(cmd) - cmd1 = "mv "+fnn+" "+fn - os.system(cmd1) + fn = file[:-1] + fnn = file[:-1]+'_n' + cmd = "sed s/Dreambox/STB/g "+fn+" > "+fnn + os.system(cmd) + cmd1 = "mv "+fnn+" "+fn + os.system(cmd1) do_unpack_append(){ - change_po() + change_po() } S = "${WORKDIR}/git" @@ -159,49 +159,47 @@ FILES_${PN}-meta = "${datadir}/meta" PACKAGES += "${PN}-meta" PACKAGE_ARCH = "${MACHINE_ARCH}" -inherit autotools pkgconfig +inherit autotools-brokensep pkgconfig pythonnative do_configure_prepend() { git checkout ${BRANCH} } do_compile_prepend_vuplus() { - install -m 0755 ${WORKDIR}/MyriadPro-Regular.otf ${S}/data/fonts/ - install -m 0755 ${WORKDIR}/MyriadPro-Semibold.otf ${S}/data/fonts/ - install -m 0755 ${WORKDIR}/MyriadPro-SemiboldIt.otf ${S}/data/fonts/ - install -m 0755 ${WORKDIR}/750S/*.png ${S}/data/750S/ - install -m 0755 ${WORKDIR}/750S/buttons/*.png ${S}/data/750S/buttons/ - install -m 0755 ${WORKDIR}/750S/countries/*.png ${S}/data/750S/countries/ - install -m 0755 ${WORKDIR}/750S/icons/*.png ${S}/data/750S/icons/ - install -m 0755 ${WORKDIR}/750S/menu/*.png ${S}/data/750S/menu/ - install -m 0755 ${WORKDIR}/750S/spinner/*.png ${S}/data/skin_default/spinner/ - install -m 0755 ${WORKDIR}/Vu_HD/*.png ${S}/data/Vu_HD/ - install -m 0755 ${WORKDIR}/Vu_HD/buttons/*.png ${S}/data/Vu_HD/buttons/ - install -m 0755 ${WORKDIR}/Vu_HD/countries/*.png ${S}/data/Vu_HD/countries/ - install -m 0755 ${WORKDIR}/Vu_HD/icons/*.png ${S}/data/Vu_HD/icons/ - install -m 0755 ${WORKDIR}/Vu_HD/menu/*.png ${S}/data/Vu_HD/menu/ - install -m 0755 ${WORKDIR}/number_key/*.png ${S}/data/skin_default/buttons/ + install -m 0755 ${WORKDIR}/MyriadPro-Regular.otf ${S}/data/fonts/ + install -m 0755 ${WORKDIR}/MyriadPro-Semibold.otf ${S}/data/fonts/ + install -m 0755 ${WORKDIR}/MyriadPro-SemiboldIt.otf ${S}/data/fonts/ + install -m 0755 ${WORKDIR}/750S/*.png ${S}/data/750S/ + install -m 0755 ${WORKDIR}/750S/buttons/*.png ${S}/data/750S/buttons/ + install -m 0755 ${WORKDIR}/750S/countries/*.png ${S}/data/750S/countries/ + install -m 0755 ${WORKDIR}/750S/icons/*.png ${S}/data/750S/icons/ + install -m 0755 ${WORKDIR}/750S/menu/*.png ${S}/data/750S/menu/ + install -m 0755 ${WORKDIR}/750S/spinner/*.png ${S}/data/skin_default/spinner/ + install -m 0755 ${WORKDIR}/Vu_HD/*.png ${S}/data/Vu_HD/ + install -m 0755 ${WORKDIR}/Vu_HD/buttons/*.png ${S}/data/Vu_HD/buttons/ + install -m 0755 ${WORKDIR}/Vu_HD/countries/*.png ${S}/data/Vu_HD/countries/ + install -m 0755 ${WORKDIR}/Vu_HD/icons/*.png ${S}/data/Vu_HD/icons/ + install -m 0755 ${WORKDIR}/Vu_HD/menu/*.png ${S}/data/Vu_HD/menu/ + install -m 0755 ${WORKDIR}/number_key/*.png ${S}/data/skin_default/buttons/ } EXTRA_OECONF = " \ + --enable-dependency-tracking \ ${@base_contains("VUPLUS_FEATURES", "display-text-vfd", "--with-display-text-vfd" , "", d)} \ ${@base_contains("VUPLUS_FEATURES", "display-graphic-vfd", "--with-display-graphic-vfd" , "", d)} \ ${@base_contains("VUPLUS_FEATURES", "right-half-vfd-skin", "--with-set-right-half-vfd-skin" , "", d)} \ ${@base_contains("VUPLUS_FEATURES", "enable-rc-kbd", "--with-remote-keyboard" , "", d)} \ - BUILD_SYS=${BUILD_SYS} \ - HOST_SYS=${HOST_SYS} \ - STAGING_INCDIR=${STAGING_INCDIR} \ - STAGING_LIBDIR=${STAGING_LIBDIR} \ + BUILD_SYS=${BUILD_SYS} \ + HOST_SYS=${HOST_SYS} \ + STAGING_INCDIR=${STAGING_INCDIR} \ + STAGING_LIBDIR=${STAGING_LIBDIR} \ " python populate_packages_prepend() { - enigma2_plugindir = bb.data.expand('${libdir}/enigma2/python/Plugins', d) - do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)/[a-zA-Z0-9_]+.*$', 'enigma2-plugin-%s', '%s', recursive=True, match_path=True, prepend=True) - do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)/.*\.la$', 'enigma2-plugin-%s-dev', '%s (development)', recursive=True, match_path=True, prepend=True) - do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)/.*\.a$', 'enigma2-plugin-%s-staticdev', '%s (static development)', recursive=True, match_path=True, prepend=True) - do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)/(.*/)?\.debug/.*$', 'enigma2-plugin-%s-dbg', '%s (debug)', recursive=True, match_path=True, prepend=True) + enigma2_plugindir = bb.data.expand('${libdir}/enigma2/python/Plugins', d) + do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)/[a-zA-Z0-9_]+.*$', 'enigma2-plugin-%s', '%s', recursive=True, match_path=True, prepend=True) + do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)/.*\.la$', 'enigma2-plugin-%s-dev', '%s (development)', recursive=True, match_path=True, prepend=True) + do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)/.*\.a$', 'enigma2-plugin-%s-staticdev', '%s (static development)', recursive=True, match_path=True, prepend=True) + do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)/(.*/)?\.debug/.*$', 'enigma2-plugin-%s-dbg', '%s (debug)', recursive=True, match_path=True, prepend=True) } -RCONFLICTS_${PN} = "dreambox-keymaps" -RREPLACES_${PN} = "dreambox-keymaps tuxbox-tuxtxt-32bpp (<= 0.0+cvs20090130-r1)" - diff --git a/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_addlibpythondeps.patch b/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_addlibpythondeps.patch deleted file mode 100644 index 71a7c86..0000000 --- a/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_addlibpythondeps.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/lib/python/.deps/connections.Po b/lib/python/.deps/connections.Po -new file mode 100644 -index 0000000..9ce06a8 ---- /dev/null -+++ b/lib/python/.deps/connections.Po -@@ -0,0 +1 @@ -+# dummy -diff --git a/lib/python/.deps/enigma_python.Pcpp b/lib/python/.deps/enigma_python.Pcpp -new file mode 100644 -index 0000000..9ce06a8 ---- /dev/null -+++ b/lib/python/.deps/enigma_python.Pcpp -@@ -0,0 +1 @@ -+# dummy -diff --git a/lib/python/.deps/enigma_python.Po b/lib/python/.deps/enigma_python.Po -new file mode 100644 -index 0000000..9ce06a8 ---- /dev/null -+++ b/lib/python/.deps/enigma_python.Po -@@ -0,0 +1 @@ -+# dummy -diff --git a/lib/python/.deps/python.Po b/lib/python/.deps/python.Po -new file mode 100644 -index 0000000..9ce06a8 ---- /dev/null -+++ b/lib/python/.deps/python.Po -@@ -0,0 +1 @@ -+# dummy diff --git a/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_conversion_error.patch b/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_conversion_error.patch new file mode 100644 index 0000000..1a867c0 --- /dev/null +++ b/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_conversion_error.patch @@ -0,0 +1,40 @@ +diff --git a/lib/dvb/pmt.cpp b/lib/dvb/pmt.cpp +index febfd78..6a90274 100644 +--- a/lib/dvb/pmt.cpp ++++ b/lib/dvb/pmt.cpp +@@ -268,7 +268,7 @@ void eDVBServicePMTHandler::AITready(int error) + std::string boundaryExtension = ""; + + int controlCode = (*i)->getApplicationControlCode(); +- ApplicationIdentifier * applicationIdentifier = (*i)->getApplicationIdentifier(); ++ const ApplicationIdentifier * applicationIdentifier = (*i)->getApplicationIdentifier(); + profilecode = 0; + orgid = applicationIdentifier->getOrganisationId(); + appid = applicationIdentifier->getApplicationId(); +@@ -285,7 +285,7 @@ void eDVBServicePMTHandler::AITready(int error) + case APPLICATION_DESCRIPTOR: + { + ApplicationDescriptor* applicationDescriptor = (ApplicationDescriptor*)(*desc); +- ApplicationProfileList* applicationProfiles = applicationDescriptor->getApplicationProfiles(); ++ const ApplicationProfileList* applicationProfiles = applicationDescriptor->getApplicationProfiles(); + ApplicationProfileConstIterator interactionit = applicationProfiles->begin(); + for(; interactionit != applicationProfiles->end(); ++interactionit) + { +@@ -353,7 +353,7 @@ void eDVBServicePMTHandler::AITready(int error) + } + if(!hbbtvUrl.empty()) + { +- char* uu = hbbtvUrl.c_str(); ++ const char* uu = hbbtvUrl.c_str(); + if(!strncmp(uu, "http://", 7) || !strncmp(uu, "dvb://", 6) || !strncmp(uu, "https://", 8)) + { + if(controlCode == 1) m_HBBTVUrl = hbbtvUrl; +@@ -420,7 +420,7 @@ void eDVBServicePMTHandler::OCready(int error) + { + for (std::vector::const_iterator it = ptr->getSections().begin(); it != ptr->getSections().end(); ++it) + { +- unsigned char* sectionData = (*it)->getData(); ++ unsigned char* sectionData = (unsigned char*)(*it)->getData(); + } + } + /* for now, do not keep listening for table updates */ diff --git a/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_default_arg_error.patch b/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_default_arg_error.patch new file mode 100644 index 0000000..529dbb3 --- /dev/null +++ b/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_default_arg_error.patch @@ -0,0 +1,13 @@ +diff --git a/lib/service/servicedvbrecord.cpp b/lib/service/servicedvbrecord.cpp +index 0287acf..dc1b22e 100644 +--- a/lib/service/servicedvbrecord.cpp ++++ b/lib/service/servicedvbrecord.cpp +@@ -15,7 +15,7 @@ + + DEFINE_REF(eDVBServiceRecord); + +-eDVBServiceRecord::eDVBServiceRecord(const eServiceReferenceDVB &ref, bool isstreamclient = false): ++eDVBServiceRecord::eDVBServiceRecord(const eServiceReferenceDVB &ref, bool isstreamclient): + m_ref(ref),m_is_stream_client(isstreamclient) + { + CONNECT(m_service_handler.serviceEvent, eDVBServiceRecord::serviceEvent); diff --git a/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_epng.patch b/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_epng.patch new file mode 100644 index 0000000..037a814 --- /dev/null +++ b/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_epng.patch @@ -0,0 +1,50 @@ +diff --git a/lib/gdi/epng.cpp b/lib/gdi/epng.cpp +index d8c1982..2ba5a12 100644 +--- a/lib/gdi/epng.cpp ++++ b/lib/gdi/epng.cpp +@@ -1,4 +1,5 @@ + #define PNG_SKIP_SETJMP_CHECK ++#include + #include + #include + #include +@@ -52,7 +53,7 @@ int loadPNG(ePtr &result, const char *filename) + fclose(fp); + return 0; + } +- if (setjmp(png_ptr->jmpbuf)) ++ if ( setjmp(png_jmpbuf(png_ptr)) ) + { + eDebug("das war wohl nix"); + png_destroy_read_struct(&png_ptr, &info_ptr, &end_info); +@@ -145,7 +146,7 @@ int loadPNG(ePtr &result, const char *filename) + for (pass = 0; pass < number_passes; pass++) + for (int y = 0; y < height; y++) + { +- png_read_rows(png_ptr, &rowptr[y], png_bytepp_NULL, 1); ++ png_read_rows(png_ptr, &rowptr[y], NULL, 1); + } + + /* +@@ -323,7 +324,7 @@ int savePNG(const char *filename, gPixmap *pixmap) + PNG_COLOR_TYPE_RGB_ALPHA, + PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT); + +- if (setjmp(png_ptr->jmpbuf)) ++ if ( setjmp(png_jmpbuf(png_ptr)) ) + { + eDebug("error :/"); + png_destroy_write_struct(&png_ptr, &info_ptr); +diff --git a/lib/gdi/picload.cpp b/lib/gdi/picload.cpp +index 2afebd5..ab7a0b5 100644 +--- a/lib/gdi/picload.cpp ++++ b/lib/gdi/picload.cpp +@@ -280,7 +280,7 @@ static unsigned char *png_load(const char *file, int *ox, int *oy, int *_bypp) + return NULL; + } + +- if (setjmp(png_ptr->jmpbuf)) ++ if (setjmp(png_jmpbuf(png_ptr))) + { + png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); + fclose(fh); diff --git a/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_eptrlist_insert.patch b/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_eptrlist_insert.patch new file mode 100644 index 0000000..9f58493 --- /dev/null +++ b/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_eptrlist_insert.patch @@ -0,0 +1,22 @@ +diff --git a/lib/base/eptrlist.h b/lib/base/eptrlist.h +index 0da46da..361323c 100644 +--- a/lib/base/eptrlist.h ++++ b/lib/base/eptrlist.h +@@ -174,7 +174,7 @@ public: + { + // added a new item to the list... in order + // returns a iterator to the new item +- return insert( std::lower_bound( std::list::begin(), std::list::end(), e, less()), e ); ++ return this->insert( std::lower_bound( std::list::begin(), std::list::end(), e, less()), e ); + } + + }; +@@ -804,7 +804,7 @@ public: + { + // added a new item to the list... in order + // returns a iterator to the new item +- return insert( std::lower_bound( std::list >::begin(), e, std::list >::end()), e ); ++ return this->insert( std::lower_bound( std::list >::begin(), e, std::list >::end()), e ); + } + + }; diff --git a/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_remove_dreambox_enigma.patch b/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_remove_dreambox_enigma.patch index dd18695..44f7ca7 100644 --- a/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_remove_dreambox_enigma.patch +++ b/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_remove_dreambox_enigma.patch @@ -8,7 +8,7 @@ index 9e17547..840b1eb 100644 + if(string && string[0]){ + char *ptr; -+ ptr = string; ++ ptr = (char *)string; + while(1) + { + char *enigma = strcasestr(ptr, "enigma"); @@ -21,7 +21,7 @@ index 9e17547..840b1eb 100644 + break; + } + -+ ptr = string; ++ ptr = (char *)string; + while(1) + { + char *dreambox = strcasestr(ptr, "dreambox"); diff --git a/meta-openvuplus/recipes-vuplus/fakelocale/fakelocale.bb b/meta-openvuplus/recipes-vuplus/fakelocale/fakelocale.bb index c16741a..8b8a884 100644 --- a/meta-openvuplus/recipes-vuplus/fakelocale/fakelocale.bb +++ b/meta-openvuplus/recipes-vuplus/fakelocale/fakelocale.bb @@ -22,7 +22,7 @@ LANGUAGES = "ar_AE cs_CZ da_DK de_DE el_GR es_ES et_EE fi_FI fr_FR fy_FY hr_HR \ hu_HU is_IS it_IT lt_LT nl_NL no_NO pl_PL pt_PT ro_RO ru_RU sk_SK sl_SI \ sr_YU sv_SE tr_TR ur_IN" -RPROVIDES = "virtual-locale-ar virtual-locale-cs virtual-locale-da \ +RPROVIDES_${PN} = "virtual-locale-ar virtual-locale-cs virtual-locale-da \ virtual-locale-de virtual-locale-el virtual-locale-es virtual-locale-et \ virtual-locale-fi virtual-locale-fr virtual-locale-fy virtual-locale-hr \ virtual-locale-hu virtual-locale-is virtual-locale-it virtual-locale-lt \ diff --git a/meta-openvuplus/recipes-vuplus/images/vuplus-image.bb b/meta-openvuplus/recipes-vuplus/images/vuplus-image.bb index 2710401..2984b1f 100644 --- a/meta-openvuplus/recipes-vuplus/images/vuplus-image.bb +++ b/meta-openvuplus/recipes-vuplus/images/vuplus-image.bb @@ -17,4 +17,4 @@ do_rootfs_append() { echo "MD5: $MD5" >> ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.nfo echo "SHA256: $SHA256" >> ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.nfo fi -} + } diff --git a/meta-openvuplus/recipes-vuplus/images/vuplus-image.inc b/meta-openvuplus/recipes-vuplus/images/vuplus-image.inc index 8a7ea86..6fdb057 100644 --- a/meta-openvuplus/recipes-vuplus/images/vuplus-image.inc +++ b/meta-openvuplus/recipes-vuplus/images/vuplus-image.inc @@ -22,18 +22,16 @@ DEPENDS += " \ #BAD_RECOMMENDATIONS += "libnss-mdns wpa-supplicant-passphrase" BAD_RECOMMENDATIONS += "libnss-mdns" -TASK_CORE_BOOT ?= "task-core-boot" -TASK_VUPLUS_BASE ?= "task-vuplus-base" -TASK_VUPLUS_ENIGMA ?= "task-vuplus-enigma2" -TASK_ESSENCIAL ?= "task-vuplus-essential" -TASK_VUPLUS_DVBAPI ?= "task-vuplus-dvbapi" +PACKAGEGROUP_CORE_BOOT ?= "packagegroup-core-boot" +PACKAGEGROUP_VUPLUS_BASE ?= "packagegroup-vuplus-base" +PACKAGEGROUP_VUPLUS_ENIGMA ?= "packagegroup-vuplus-enigma2" +PACKAGEGROUP_ESSENCIAL ?= "packagegroup-vuplus-essential" IMAGE_INSTALL = " \ - ${TASK_CORE_BOOT} ${ROOTFS_PKGMANAGE} \ - ${TASK_VUPLUS_BASE} \ - ${TASK_VUPLUS_DVBAPI} \ - ${TASK_VUPLUS_ENIGMA} \ - ${TASK_ESSENCIAL} \ + ${PACKAGEGROUP_CORE_BOOT} ${ROOTFS_PKGMANAGE} \ + ${PACKAGEGROUP_VUPLUS_BASE} \ + ${PACKAGEGROUP_VUPLUS_ENIGMA} \ + ${PACKAGEGROUP_ESSENCIAL} \ " # enable online package management diff --git a/meta-openvuplus/recipes-vuplus/lcd4linux/lcd4linux_0.11.0-SVN.bb b/meta-openvuplus/recipes-vuplus/lcd4linux/lcd4linux_0.11.0-SVN.bb index 5b95fa8..ee67796 100644 --- a/meta-openvuplus/recipes-vuplus/lcd4linux/lcd4linux_0.11.0-SVN.bb +++ b/meta-openvuplus/recipes-vuplus/lcd4linux/lcd4linux_0.11.0-SVN.bb @@ -12,7 +12,7 @@ EXTRA_OECONF = " --with-glib-prefix=${STAGING_LIBDIR}/.. \ --with-glib-exec-prefix=${STAGING_LIBDIR}/.. \ --with-ncurses=${STAGING_LIBDIR}/.." -SRC_URI = "svn://ssl.bulix.org/svn/lcd4linux/;module=trunk;proto=https;rev=1200 \ +SRC_URI = "svn://ssl.bulix.org/svn/lcd4linux/;module=trunk;protocol=https;rev=1200 \ file://lcd4linux.init \ " diff --git a/meta-openvuplus/recipes-vuplus/libungif/libungif-native_4.1.3.bb b/meta-openvuplus/recipes-vuplus/libungif/libungif-native_4.1.3.bb deleted file mode 100644 index c8cc832..0000000 --- a/meta-openvuplus/recipes-vuplus/libungif/libungif-native_4.1.3.bb +++ /dev/null @@ -1,7 +0,0 @@ -require libungif_${PV}.bb - -S = "${WORKDIR}/libungif-${PV}" - -PACKAGES = "" - -inherit autotools native diff --git a/meta-openvuplus/recipes-vuplus/libungif/libungif_4.1.3.bb b/meta-openvuplus/recipes-vuplus/libungif/libungif_4.1.3.bb deleted file mode 100644 index d14c643..0000000 --- a/meta-openvuplus/recipes-vuplus/libungif/libungif_4.1.3.bb +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "shared library for GIF images" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=ae11c61b04b2917be39b11f78d71519a" -PR = "r3" - -SRC_URI = "${SOURCEFORGE_MIRROR}/giflib/libungif-${PV}.tar.bz2" -SRC_URI[md5sum] = "8c198831cc0495596c78134b8849e9ad" -SRC_URI[sha256sum] = "59e835a57e6df03e4d2253b2357253f3d13da9473ff465563a3b9833a744fc36" - -inherit autotools lib_package - -PACKAGES =+ "${PN}-utils" - -FILES_${PN}-utils = "${bindir}/*" diff --git a/meta-openvuplus/recipes-vuplus/opera-hbbtv/opera-hbbtv_0.1.bb b/meta-openvuplus/recipes-vuplus/opera-hbbtv/opera-hbbtv_0.1.bb index c9013eb..bcf14b8 100644 --- a/meta-openvuplus/recipes-vuplus/opera-hbbtv/opera-hbbtv_0.1.bb +++ b/meta-openvuplus/recipes-vuplus/opera-hbbtv/opera-hbbtv_0.1.bb @@ -54,5 +54,7 @@ PACKAGES = "${PN}" FILES_${PN} = "/" +PRIVATE_LIBS_${PN} = "libdirectfbwm_default.so libdirectfb_fbdev.so libdirectfb_devmem.so libidirectfbvideoprovider_gif.so libidirectfbvideoprovider_v4l.so libidirectfbfont_dgiff.so libidirectfbfont_ft2.so libidirectfbimageprovider_png.so libidirectfbimageprovider_gif.so libidirectfbimageprovider_jpeg.so libidirectfbimageprovider_dfiff.so libdirectfb_linux_input.so" + SRC_URI[md5sum] = "e2f6220403c2a946f8f9583aa084bc60" SRC_URI[sha256sum] = "f8ec235ca0368bdcaaac2b61634204e2c41558d23d8d7d43ff4f02edc00d6ddb" diff --git a/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-base.bb b/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-base.bb new file mode 100644 index 0000000..5b706e3 --- /dev/null +++ b/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-base.bb @@ -0,0 +1,85 @@ +SUMMARY = "Vuplus: Base set of packages for Vuplus." +SECTION = "vuplus/base" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" +PR = "r0" + +inherit packagegroup + +VUPLUS_BASE_ESSENTIAL = "\ + autofs \ + vuplus-compat \ + e2fsprogs-e2fsck \ + e2fsprogs-mke2fs \ + fakelocale \ + opkg \ + tzdata \ + tuxbox-common \ + util-linux-sfdisk \ + vsftpd \ + mtd-utils-mkfs.ubifs \ + mtd-utils-mkfs.jffs2 \ + mtd-utils-nandwrite \ + mtd-utils-nanddump \ + mtd-utils-flash-eraseall \ + mtd-utils-flash-erase \ + mtd-utils-ubinize \ + mtd-utils-ubiformat \ + mtd-utils-ubiattach \ + mtd-utils-ubidetach \ + mtd-utils-ubimkvol \ + hdparm \ + usbtunerhelper \ + killall \ + openresolv \ +" + +VUPLUS_FIRMWARE_DVB = " \ + firmware-dvb-af9005 \ + firmware-dvb-fe-af9013 \ + firmware-dvb-usb-af9015 \ + firmware-dvb-usb-af9035 \ + firmware-dvb-usb-avertv-a800 \ + firmware-dvb-usb-dib0700 \ + firmware-dvb-usb-dibusb \ + firmware-dvb-usb-digitv \ + firmware-dvb-usb-nova-t-usb2 \ + firmware-dvb-usb-sms1xxx-nova-dvbt \ + firmware-dvb-usb-sms1xxx-hcw-dvbt \ + firmware-dvb-usb-ttusb-budget \ + firmware-dvb-usb-umt-010 \ + firmware-dvb-usb-xc5000 \ + firmware-dvb-usb-wt220u-zl0353 \ + firmware-drxd-a2 \ +" + +VUPLUS_BASE_RECOMMENDS = "\ + dropbear \ + vuplus-vucamd \ + sambaserver \ + openvpn \ + zeroconf \ + ${@base_contains("VUPLUS_FEATURES", "vuplus-fpga-update", "vuplus-fpga-update", "", d)} \ + ${@base_contains("VUPLUS_FEATURES", "wol", "vuplus-coldboot", "", d)} \ +" + +VUPLUS_BASE_OPTIONAL_RECOMMENDS = "\ + hddtemp \ + joe \ + mc \ + ncdu \ + ppp \ + smartmontools \ + avahi-daemon \ + curlftpfs \ +" + +RDEPENDS_${PN} += "\ + ${VUPLUS_BASE_ESSENTIAL} \ + ${VUPLUS_FIRMWARE_DVB} \ +" + +RRECOMMENDS_${PN} += "\ + ${VUPLUS_BASE_RECOMMENDS} \ + ${VUPLUS_BASE_OPTIONAL_RECOMMENDS} \ +" diff --git a/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-enigma2.bb b/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-enigma2.bb new file mode 100644 index 0000000..7b172f1 --- /dev/null +++ b/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-enigma2.bb @@ -0,0 +1,73 @@ +SUMMARY = "Enigma2 set of packages for Vuplus" +SECTION = "vuplus/base" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" +PR = "r0" + +inherit packagegroup + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +RDEPENDS_${PN} += " \ + enigma2 \ + enigma2-defaultservices \ + enigma2-streamproxy \ + tuxbox-tuxtxt-32bpp \ + showiframe \ + enigma2-meta \ + enigma2-plugins-meta \ + enigma2-skins-meta \ + enigma2-plugin-extensions-mediascanner \ + enigma2-plugin-systemplugins-crashreport \ + enigma2-plugin-extensions-remotestreamconvert \ + enigma2-plugin-systemplugins-zappingmodeselection \ + enigma2-plugin-extensions-addstreamurl \ + enigma2-plugin-systemplugins-devicemanager \ + enigma2-plugin-systemplugins-videomode \ + enigma2-plugin-systemplugins-netdrive \ +" + +RRECOMMENDS_${PN} += " \ + glib-networking \ + dvbsnoop \ +" + +RDEPENDS_${PN} += " \ + aio-grab \ + python-misc python-shell python-ctypes \ + python-crypt \ + python-netserver \ + python-twisted-core \ + python-twisted-protocols \ + python-twisted-web \ + ${@base_contains("MACHINE_FEATURES", "wifi", "packagegroup-vuplus-wlan", "", d)} \ + ${@base_contains("VUPLUS_FEATURES", "webmanual", "vuplus-manual", "", d)} \ + enigma2-plugin-extensions-mediaplayer \ + enigma2-plugin-extensions-pictureplayer \ + enigma2-plugin-systemplugins-skinselector \ + enigma2-plugin-systemplugins-ui3dsetup \ + enigma2-plugin-systemplugins-uipositionsetup \ + enigma2-plugin-systemplugins-hdmicec \ + enigma2-plugin-extensions-openwebif \ + ${@base_contains("MACHINE_FEATURES", "wifi", "enigma2-plugin-systemplugins-wirelessaccesspoint", "", d)} \ + ${@base_contains("VUPLUS_FEATURES", "fan_simple", "enigma2-plugin-systemplugins-fancontrol","", d)} \ + ${@base_contains("VUPLUS_FEATURES", "fan_manual", "enigma2-plugin-systemplugins-manualfancontrol", "", d)} \ + ${@base_contains("VUPLUS_FEATURES", "rc_code", "enigma2-plugin-systemplugins-remotecontrolcode", "", d)} \ + ${@base_contains("VUPLUS_FEATURES", "led", "enigma2-plugin-systemplugins-ledbrightnesssetup", "", d)} \ + ${@base_contains("VUPLUS_FEATURES", "blindscan", "enigma2-plugin-systemplugins-blindscan vuplus-blindscan-utils", "", d)} \ + ${@base_contains("VUPLUS_FEATURES", "fpgaupgrade", "enigma2-plugin-systemplugins-fpgaupgrade", "", d)} \ + ${@base_contains("VUPLUS_FEATURES", "firmwareupgrade", "enigma2-plugin-systemplugins-firmwareupgrade", "", d)} \ + ${@base_contains("VUPLUS_FEATURES", "hbbtv", "enigma2-plugin-extensions-hbbtv", "", d)} \ + ${@base_contains("VUPLUS_FEATURES", "streamtv", "enigma2-plugin-extensions-streamtv", "", d)} \ + ${@base_contains("VUPLUS_FEATURES", "dlna", "enigma2-plugin-extensions-dlnaserver enigma2-plugin-extensions-dlnabrowser", "", d)} \ + ${@base_contains("VUPLUS_FEATURES", "3gmodem", "enigma2-plugin-systemplugins-3gmodemmanager", "", d)} \ + ${@base_contains("VUPLUS_FEATURES", "autoshutdown", "enigma2-plugin-systemplugins-autoshutdown", "", d)} \ + ${@base_contains("VUPLUS_FEATURES", "transcoding", "enigma2-plugin-systemplugins-transcodingsetup enigma2-transtreamproxy", "", d)} \ + ${@base_contains("VUPLUS_FEATURES", "wol", "enigma2-plugin-systemplugins-wolsetup", "", d)} \ + ${@base_conditional("MACHINE", "vuduo2", "duo2lcd4linux lcd4linuxsupport", "", d)} \ + ${@base_conditional("MACHINE", "vuduo2", "vuplus-checkvfd", "", d)} \ + ${@base_contains("VUPLUS_FEATURES", "audioeffect", "enigma2-plugin-systemplugins-audioeffect", "", d)} \ +" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + diff --git a/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-essential.bb b/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-essential.bb new file mode 100644 index 0000000..d19dbaf --- /dev/null +++ b/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-essential.bb @@ -0,0 +1,227 @@ +SUMMARY = "Vuplus: Essential packages" +SECTION = "vuplus/base" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" +DEPENDS = "virtual/kernel" +RDEPENDS_${PN} = '${ESSENTIAL_RDEPENDS}' + +RRECOMMENDS_${PN} = '${ESSENTIAL_RRECOMMENDS}' + +RDEPENDS_${PN} += "${@base_version_less_or_equal('VUPLUS_KERNEL_VERSION', '3.3.1', '${KERNEL_DVB_MODULES}', '${KERNEL_DVB_MODULES_3.3.6}', d)}" + +PR = "r0" + +inherit packagegroup + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +ESSENTIAL_RDEPENDS = " \ + kernel-module-stv0299 \ +" + +ESSENTIAL_RRECOMMENDS = " \ + kernel-module-autofs4 \ + kernel-module-cdrom \ + kernel-module-cifs \ + kernel-module-nls-cp850 \ + kernel-module-nls-iso8859-1 \ + kernel-module-nls-iso8859-15 \ + kernel-module-ntfs \ + kernel-module-reiserfs \ + kernel-module-sr-mod \ + kernel-module-usbhid \ + kernel-module-ext2 \ +" + +KERNEL_DVB_MODULES = " \ + kernel-module-em28xx-dvb \ + kernel-module-dvb-usb-a800 \ + kernel-module-dvb-usb-af9005 \ + kernel-module-af9013 kernel-module-mt2060 kernel-module-qt1010 kernel-module-tda18271 kernel-module-mxl5005s kernel-module-mc44s803 kernel-module-tda18218 kernel-module-mxl5007t kernel-module-dvb-usb-af9015 \ + kernel-module-mxl5007t kernel-module-tda18218 \ + kernel-module-tda10021 kernel-module-tda10023 kernel-module-mt352 kernel-module-zl10353 kernel-module-tda18212 kernel-module-cx24116 kernel-module-stv0900 kernel-module-stv6110 kernel-module-stv6110x kernel-module-isl6423 kernel-module-dvb-usb-anysee \ + kernel-module-zl10353 kernel-module-qt1010 kernel-module-dvb-usb-au6610 \ + kernel-module-dvb-usb-az6027 \ + kernel-module-zl10353 kernel-module-mxl5005s kernel-module-dvb-usb-ce6230 \ + kernel-module-lgdt330x kernel-module-mt352 kernel-module-zl10353 kernel-module-tuner-xc2028 kernel-module-tuner-simple kernel-module-mxl5005s kernel-module-max2165 kernel-module-lgs8gxx kernel-module-atbm8830 kernel-module-dvb-usb-cxusb kernel-module-drxd \ + kernel-module-dvb-usb-cinergyt2 \ + kernel-module-mt352 kernel-module-nxt6000 kernel-module-dvb-usb-digitv \ + kernel-module-mt2060 kernel-module-mt2266 kernel-module-tuner-xc2028 kernel-module-xc5000 kernel-module-xc4000 kernel-module-s5h1411 kernel-module-lgdt3305 kernel-module-mxl5007t kernel-module-dvb-usb-dib0700 \ + kernel-module-dvb-usb-dibusb-mb \ + kernel-module-dvb-usb-dibusb-mc \ + kernel-module-zl10353 kernel-module-qt1010 kernel-module-dvb-usb-dtv5100 \ + kernel-module-dvb-usb-dtt200u \ + kernel-module-si21xx kernel-module-stv0299 kernel-module-stv0288 kernel-module-stb6000 kernel-module-cx24116 \ + kernel-module-mt312 kernel-module-zl10039 kernel-module-ds3000 kernel-module-stv0900 kernel-module-stv6110 kernel-module-dvb-usb-dw2102 \ + kernel-module-ec100 kernel-module-mxl5005s kernel-module-dvb-usb-ec168 \ + kernel-module-zl10353 kernel-module-qt1010 kernel-module-dvb-usb-gl861 \ + kernel-module-dvb-usb-gp8psk \ + kernel-module-mt352 kernel-module-qt1010 kernel-module-tda1004x kernel-module-tda827x kernel-module-dvb-usb-m920x \ + kernel-module-stv0299 kernel-module-dvb-usb-opera \ + kernel-module-stv090x kernel-module-dvb-usb-technisat-usb2 \ + kernel-module-tda826x kernel-module-tda10086 kernel-module-tda827x kernel-module-lnbp21 kernel-module-dvb-usb-ttusb2 \ + kernel-module-dvb-ttusb-budget \ + kernel-module-dvb-usb-nova-t-usb2 \ + kernel-module-mt352 kernel-module-dvb-usb-umt-010 \ + kernel-module-dvb-usb-vp702x \ + kernel-module-dvb-usb-vp7045 \ + kernel-module-smsdvb kernel-module-smsusb \ +" + +KERNEL_DVB_MODULES_3.3.6 = " \ + kernel-module-stv0297 \ + kernel-module-ds3000 \ + kernel-module-stb6100 \ + kernel-module-zl10039 \ + kernel-module-cx22700 \ + kernel-module-a8293 \ + kernel-module-af9013 \ + kernel-module-sp887x \ + kernel-module-mb86a20s \ + kernel-module-s5h1420 \ + kernel-module-drxk \ + kernel-module-mt312 \ + kernel-module-isl6423 \ + kernel-module-tda10023 \ + kernel-module-stv090x \ + kernel-module-cxd2820r \ + kernel-module-tda8083 \ + kernel-module-ec100 \ + kernel-module-dib9000 \ + kernel-module-tua6100 \ + kernel-module-dib7000m \ + kernel-module-stv6110x \ + kernel-module-rtl2832 \ + kernel-module-cx22702 \ + kernel-module-dib0090 \ + kernel-module-af9033 \ + kernel-module-stv0900 \ + kernel-module-tda10086 \ + kernel-module-cx24113 \ + kernel-module-it913x-fe \ + kernel-module-nxt6000 \ + kernel-module-lnbp22 \ + kernel-module-ix2505v \ + kernel-module-m88rs2000 \ + kernel-module-isl6405 \ + kernel-module-cx24116 \ + kernel-module-tda8261 \ + kernel-module-drxd \ + kernel-module-dib3000mb \ + kernel-module-stb0899 \ + kernel-module-l64781 \ + kernel-module-tda10071 \ + kernel-module-stv0367 \ + kernel-module-tda18271c2dd \ + kernel-module-ves1x93 \ + kernel-module-stv6110 \ + kernel-module-mb86a16 \ + kernel-module-cx24110 \ + kernel-module-lgs8gl5 \ + kernel-module-rtl2830 \ + kernel-module-dib8000 \ + kernel-module-dvb-pll \ + kernel-module-lgs8gxx \ + kernel-module-zl10353 \ + kernel-module-lnbp21 \ + kernel-module-stv0288 \ + kernel-module-tda665x \ + kernel-module-sp8870 \ + kernel-module-isl6421 \ + kernel-module-tda826x \ + kernel-module-dib7000p \ + kernel-module-s921 \ + kernel-module-atbm8830 \ + kernel-module-tda10021 \ + kernel-module-tda1004x \ + kernel-module-itd1000 \ + kernel-module-si21xx \ + kernel-module-stv0299 \ + kernel-module-cx24123 \ + kernel-module-stb6000 \ + kernel-module-tda10048 \ + kernel-module-mt352 \ + kernel-module-s5h1432 \ + kernel-module-dib0070 \ + kernel-module-dib3000mc \ + kernel-module-hd29l2 \ + kernel-module-zl10036 \ + kernel-module-ves1820 \ + kernel-module-mxl5005s \ + kernel-module-tuner-simple \ + kernel-module-fc2580 \ + kernel-module-tda8290 \ + kernel-module-tda9887 \ + kernel-module-tda18218 \ + kernel-module-fc0013 \ + kernel-module-fc0012 \ + kernel-module-fc0011 \ + kernel-module-mt20xx \ + kernel-module-mc44s803 \ + kernel-module-mt2131 \ + kernel-module-tea5761 \ + kernel-module-tuner-xc2028 \ + kernel-module-mt2060 \ + kernel-module-e4000 \ + kernel-module-max2165 \ + kernel-module-mt2063 \ + kernel-module-xc5000 \ + kernel-module-tuner-types \ + kernel-module-xc4000 \ + kernel-module-tua9001 \ + kernel-module-mxl5007t \ + kernel-module-tda18271 \ + kernel-module-tda18212 \ + kernel-module-tea5767 \ + kernel-module-qt1010 \ + kernel-module-mt2266 \ + kernel-module-tda827x \ + kernel-module-smsusb \ + kernel-module-dvb-usb-az6027 \ + kernel-module-dvb-usb \ + kernel-module-dvb-usb-opera \ + kernel-module-dvb-usb-umt-010 \ + kernel-module-dvb-usb-gp8psk \ + kernel-module-dvb-usb-a800 \ + kernel-module-dvb-usb-dibusb-common \ + kernel-module-dvb-usb-nova-t-usb2 \ + kernel-module-dvb-usb-digitv \ + kernel-module-dvb-usb-pctv452e \ + kernel-module-dvb-usb-af9005-remote \ + kernel-module-dvb-usb-dtv5100 \ + kernel-module-dvb-usb-cxusb \ + kernel-module-dvb-usb-dw2102 \ + kernel-module-dvb-usb-vp702x \ + kernel-module-dvb-usb-cinergyt2 \ + kernel-module-dvb-usb-dib0700 \ + kernel-module-dvb-usb-dibusb-mb \ + kernel-module-dvb-usb-m920x \ + kernel-module-dvb-usb-friio \ + kernel-module-dvb-usb-dibusb-mc \ + kernel-module-dvb-usb-ttusb2 \ + kernel-module-dvb-usb-vp7045 \ + kernel-module-dvb-usb-af9005 \ + kernel-module-dvb-usb-dtt200u \ + kernel-module-dvb-usb-technisat-usb2 \ + kernel-module-au0828 \ + kernel-module-dvb-usb-v2 \ + kernel-module-dvb-usb-az6007 \ + kernel-module-dvb-usb-anysee \ + kernel-module-dvb-usb-mxl111sf \ + kernel-module-dvb-usb-gl861 \ + kernel-module-dvb-usb-ec168 \ + kernel-module-dvb-usb-it913x \ + kernel-module-mxl111sf-tuner \ + kernel-module-dvb-usb-ce6230 \ + kernel-module-dvb-usb-af9035 \ + kernel-module-dvb-usb-af9015 \ + kernel-module-dvb-usb-cypress-firmware \ + kernel-module-dvb-usb-au6610 \ + kernel-module-dvb-usb-rtl28xxu \ + kernel-module-mxl111sf-demod \ + kernel-module-b2c2-flexcop-usb \ + kernel-module-smsdvb \ + kernel-module-smsmdtv \ + kernel-module-b2c2-flexcop \ + kernel-module-tveeprom \ + " diff --git a/meta-openvuplus/recipes-vuplus/tasks/task-vuplus-base.bb b/meta-openvuplus/recipes-vuplus/tasks/task-vuplus-base.bb deleted file mode 100644 index f60f7a0..0000000 --- a/meta-openvuplus/recipes-vuplus/tasks/task-vuplus-base.bb +++ /dev/null @@ -1,6 +0,0 @@ -PR = "${INC_PR}.1" - -RDEPENDS_${PN} = " \ -" - -require task-vuplus-base.inc diff --git a/meta-openvuplus/recipes-vuplus/tasks/task-vuplus-base.inc b/meta-openvuplus/recipes-vuplus/tasks/task-vuplus-base.inc deleted file mode 100644 index f373f6e..0000000 --- a/meta-openvuplus/recipes-vuplus/tasks/task-vuplus-base.inc +++ /dev/null @@ -1,87 +0,0 @@ -SUMMARY = "Vuplus: Base Task for Vuplus." -SECTION = "vuplus/base" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" -INC_PR = "r10" - -inherit task - -VUPLUS_BASE_ESSENTIAL = "\ - autofs \ - base-files-doc \ - vuplus-compat \ - dreambox-keymaps \ - e2fsprogs-e2fsck \ - e2fsprogs-mke2fs \ - fakelocale \ - opkg \ - tzdata \ - tuxbox-common \ - util-linux-sfdisk \ - vsftpd \ - mtd-utils-mkfs.ubifs \ - mtd-utils-mkfs.jffs2 \ - mtd-utils-nandwrite \ - mtd-utils-nanddump \ - mtd-utils-flash-eraseall \ - mtd-utils-flash-erase \ - mtd-utils-ubinize \ - mtd-utils-ubiformat \ - mtd-utils-ubiattach \ - mtd-utils-ubidetach \ - mtd-utils-ubimkvol \ - hdparm \ - usbtunerhelper \ - ${VUPLUS_FIRMWARE_DVB} \ - killall \ - openresolv \ -" - -VUPLUS_FIRMWARE_DVB = " \ - firmware-dvb-af9005 \ - firmware-dvb-fe-af9013 \ - firmware-dvb-usb-af9015 \ - firmware-dvb-usb-af9035 \ - firmware-dvb-usb-avertv-a800 \ - firmware-dvb-usb-dib0700 \ - firmware-dvb-usb-dibusb \ - firmware-dvb-usb-digitv \ - firmware-dvb-usb-nova-t-usb2 \ - firmware-dvb-usb-sms1xxx-nova-dvbt \ - firmware-dvb-usb-sms1xxx-hcw-dvbt \ - firmware-dvb-usb-ttusb-budget \ - firmware-dvb-usb-umt-010 \ - firmware-dvb-usb-xc5000 \ - firmware-dvb-usb-wt220u-zl0353 \ - firmware-drxd-a2 \ -" - -VUPLUS_BASE_RECOMMENDS = "\ - dropbear \ - vuplus-vucamd \ - sambaserver \ - openvpn \ - zeroconf \ - ${@base_contains("VUPLUS_FEATURES", "vuplus-fpga-update", "vuplus-fpga-update", "", d)} \ - ${@base_contains("VUPLUS_FEATURES", "wol", "vuplus-coldboot", "", d)} \ -" - -VUPLUS_BASE_OPTIONAL_RECOMMENDS = "\ - hddtemp \ - joe \ - mc \ - ncdu \ - ppp \ - smartmontools \ - avahi-daemon \ - curlftpfs \ -" - -RDEPENDS_${PN} += "\ - ${VUPLUS_BASE_ESSENTIAL} \ -" - -RRECOMMENDS_${PN} += "\ - ${VUPLUS_BASE_RECOMMENDS} \ - ${VUPLUS_BASE_OPTIONAL_RECOMMENDS} \ -" diff --git a/meta-openvuplus/recipes-vuplus/tasks/task-vuplus-dvbapi3.bb b/meta-openvuplus/recipes-vuplus/tasks/task-vuplus-dvbapi3.bb deleted file mode 100644 index 9a5c538..0000000 --- a/meta-openvuplus/recipes-vuplus/tasks/task-vuplus-dvbapi3.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "Vuplus: DVB API v3 Task for the Vuplus Distribution" -SECTION = "vuplus/base" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" -PR = "r1" - -inherit task - -PROVIDES = "\ - task-vuplus-dvbapi \ - ${PACKAGES}\ -" - -# -# task-vuplus-dvbapi3 -# -RPROVIDES_${PN} = "task-vuplus-dvbapi" -DESCRIPTION_${PN} = "Vuplus: DVB API v3 Dependencies" -RDEPENDS_${PN} = "\ - dvbsnoop \ - " -# vuplus-dvb-tools is included to task-vuplus-enigma2.inc with showiframe. diff --git a/meta-openvuplus/recipes-vuplus/tasks/task-vuplus-enigma2.bb b/meta-openvuplus/recipes-vuplus/tasks/task-vuplus-enigma2.bb deleted file mode 100644 index fb53c47..0000000 --- a/meta-openvuplus/recipes-vuplus/tasks/task-vuplus-enigma2.bb +++ /dev/null @@ -1,6 +0,0 @@ -PR = "${INC_PR}.8" - -RDEPENDS_${PN} = " \ -" - -require task-vuplus-enigma2.inc diff --git a/meta-openvuplus/recipes-vuplus/tasks/task-vuplus-enigma2.inc b/meta-openvuplus/recipes-vuplus/tasks/task-vuplus-enigma2.inc deleted file mode 100644 index 7da8195..0000000 --- a/meta-openvuplus/recipes-vuplus/tasks/task-vuplus-enigma2.inc +++ /dev/null @@ -1,72 +0,0 @@ -SUMMARY = "Enigma2 Task for Vuplus" -SECTION = "vuplus/base" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" -INC_PR = "r17" - -inherit task - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -RDEPENDS_${PN} += " \ - enigma2 \ - enigma2-defaultservices \ - enigma2-streamproxy \ - tuxbox-tuxtxt-32bpp \ - showiframe \ - enigma2-meta \ - enigma2-plugins-meta \ - enigma2-skins-meta \ - enigma2-plugin-extensions-mediascanner \ - enigma2-plugin-systemplugins-crashreport \ - enigma2-plugin-extensions-remotestreamconvert \ - enigma2-plugin-systemplugins-zappingmodeselection \ - enigma2-plugin-extensions-addstreamurl \ - enigma2-plugin-systemplugins-devicemanager \ - enigma2-plugin-systemplugins-videomode \ - enigma2-plugin-systemplugins-netdrive \ -" - -RRECOMMENDS_${PN} += " \ - glib-networking \ -" - -RDEPENDS_${PN} += " \ - aio-grab \ - python-misc python-shell python-ctypes \ - python-crypt \ - python-netserver \ - python-twisted-core \ - python-twisted-protocols \ - python-twisted-web \ - ${@base_contains("MACHINE_FEATURES", "wifi", "task-vuplus-wlan", "", d)} \ - ${@base_contains("VUPLUS_FEATURES", "webmanual", "vuplus-manual", "", d)} \ - enigma2-plugin-extensions-mediaplayer \ - enigma2-plugin-extensions-pictureplayer \ - enigma2-plugin-systemplugins-skinselector \ - enigma2-plugin-systemplugins-ui3dsetup \ - enigma2-plugin-systemplugins-uipositionsetup \ - enigma2-plugin-systemplugins-hdmicec \ - enigma2-plugin-extensions-openwebif \ - ${@base_contains("MACHINE_FEATURES", "wifi", "enigma2-plugin-systemplugins-wirelessaccesspoint", "", d)} \ - ${@base_contains("VUPLUS_FEATURES", "fan_simple", "enigma2-plugin-systemplugins-fancontrol","", d)} \ - ${@base_contains("VUPLUS_FEATURES", "fan_manual", "enigma2-plugin-systemplugins-manualfancontrol", "", d)} \ - ${@base_contains("VUPLUS_FEATURES", "rc_code", "enigma2-plugin-systemplugins-remotecontrolcode", "", d)} \ - ${@base_contains("VUPLUS_FEATURES", "led", "enigma2-plugin-systemplugins-ledbrightnesssetup", "", d)} \ - ${@base_contains("VUPLUS_FEATURES", "blindscan", "enigma2-plugin-systemplugins-blindscan vuplus-blindscan-utils", "", d)} \ - ${@base_contains("VUPLUS_FEATURES", "fpgaupgrade", "enigma2-plugin-systemplugins-fpgaupgrade", "", d)} \ - ${@base_contains("VUPLUS_FEATURES", "firmwareupgrade", "enigma2-plugin-systemplugins-firmwareupgrade", "", d)} \ - ${@base_contains("VUPLUS_FEATURES", "hbbtv", "enigma2-plugin-extensions-hbbtv", "", d)} \ - ${@base_contains("VUPLUS_FEATURES", "streamtv", "enigma2-plugin-extensions-streamtv", "", d)} \ - ${@base_contains("VUPLUS_FEATURES", "dlna", "enigma2-plugin-extensions-dlnaserver enigma2-plugin-extensions-dlnabrowser", "", d)} \ - ${@base_contains("VUPLUS_FEATURES", "3gmodem", "enigma2-plugin-systemplugins-3gmodemmanager", "", d)} \ - ${@base_contains("VUPLUS_FEATURES", "autoshutdown", "enigma2-plugin-systemplugins-autoshutdown", "", d)} \ - ${@base_contains("VUPLUS_FEATURES", "transcoding", "enigma2-plugin-systemplugins-transcodingsetup enigma2-transtreamproxy", "", d)} \ - ${@base_contains("VUPLUS_FEATURES", "wol", "enigma2-plugin-systemplugins-wolsetup", "", d)} \ - ${@base_conditional("MACHINE", "vuduo2", "duo2lcd4linux lcd4linuxsupport", "", d)} \ - ${@base_conditional("MACHINE", "vuduo2", "vuplus-checkvfd", "", d)} \ - ${@base_contains("VUPLUS_FEATURES", "audioeffect", "enigma2-plugin-systemplugins-audioeffect", "", d)} \ -" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - diff --git a/meta-openvuplus/recipes-vuplus/tasks/task-vuplus-essential.bb b/meta-openvuplus/recipes-vuplus/tasks/task-vuplus-essential.bb deleted file mode 100644 index 9fcf7e4..0000000 --- a/meta-openvuplus/recipes-vuplus/tasks/task-vuplus-essential.bb +++ /dev/null @@ -1,227 +0,0 @@ -SUMMARY = "Vuplus: Essential packages" -SECTION = "vuplus/base" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" -DEPENDS = "virtual/kernel" -RDEPENDS_${PN} = '${ESSENTIAL_RDEPENDS}' - -RRECOMMENDS_${PN} = '${ESSENTIAL_RRECOMMENDS}' - -RDEPENDS_${PN} += "${@base_version_less_or_equal('VUPLUS_KERNEL_VERSION', '3.3.1', '${KERNEL_DVB_MODULES}', '${KERNEL_DVB_MODULES_3.3.6}', d)}" - -PR = "r4" - -inherit task - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -ESSENTIAL_RDEPENDS = " \ - kernel-module-stv0299 \ -" - -ESSENTIAL_RRECOMMENDS = " \ - kernel-module-autofs4 \ - kernel-module-cdrom \ - kernel-module-cifs \ - kernel-module-nls-cp850 \ - kernel-module-nls-iso8859-1 \ - kernel-module-nls-iso8859-15 \ - kernel-module-ntfs \ - kernel-module-reiserfs \ - kernel-module-sr-mod \ - kernel-module-usbhid \ - kernel-module-ext2 \ -" - -KERNEL_DVB_MODULES = " \ - kernel-module-em28xx-dvb \ - kernel-module-dvb-usb-a800 \ - kernel-module-dvb-usb-af9005 \ - kernel-module-af9013 kernel-module-mt2060 kernel-module-qt1010 kernel-module-tda18271 kernel-module-mxl5005s kernel-module-mc44s803 kernel-module-tda18218 kernel-module-mxl5007t kernel-module-dvb-usb-af9015 \ - kernel-module-mxl5007t kernel-module-tda18218 \ - kernel-module-tda10021 kernel-module-tda10023 kernel-module-mt352 kernel-module-zl10353 kernel-module-tda18212 kernel-module-cx24116 kernel-module-stv0900 kernel-module-stv6110 kernel-module-stv6110x kernel-module-isl6423 kernel-module-dvb-usb-anysee \ - kernel-module-zl10353 kernel-module-qt1010 kernel-module-dvb-usb-au6610 \ - kernel-module-dvb-usb-az6027 \ - kernel-module-zl10353 kernel-module-mxl5005s kernel-module-dvb-usb-ce6230 \ - kernel-module-lgdt330x kernel-module-mt352 kernel-module-zl10353 kernel-module-tuner-xc2028 kernel-module-tuner-simple kernel-module-mxl5005s kernel-module-max2165 kernel-module-lgs8gxx kernel-module-atbm8830 kernel-module-dvb-usb-cxusb kernel-module-drxd \ - kernel-module-dvb-usb-cinergyt2 \ - kernel-module-mt352 kernel-module-nxt6000 kernel-module-dvb-usb-digitv \ - kernel-module-mt2060 kernel-module-mt2266 kernel-module-tuner-xc2028 kernel-module-xc5000 kernel-module-xc4000 kernel-module-s5h1411 kernel-module-lgdt3305 kernel-module-mxl5007t kernel-module-dvb-usb-dib0700 \ - kernel-module-dvb-usb-dibusb-mb \ - kernel-module-dvb-usb-dibusb-mc \ - kernel-module-zl10353 kernel-module-qt1010 kernel-module-dvb-usb-dtv5100 \ - kernel-module-dvb-usb-dtt200u \ - kernel-module-si21xx kernel-module-stv0299 kernel-module-stv0288 kernel-module-stb6000 kernel-module-cx24116 \ - kernel-module-mt312 kernel-module-zl10039 kernel-module-ds3000 kernel-module-stv0900 kernel-module-stv6110 kernel-module-dvb-usb-dw2102 \ - kernel-module-ec100 kernel-module-mxl5005s kernel-module-dvb-usb-ec168 \ - kernel-module-zl10353 kernel-module-qt1010 kernel-module-dvb-usb-gl861 \ - kernel-module-dvb-usb-gp8psk \ - kernel-module-mt352 kernel-module-qt1010 kernel-module-tda1004x kernel-module-tda827x kernel-module-dvb-usb-m920x \ - kernel-module-stv0299 kernel-module-dvb-usb-opera \ - kernel-module-stv090x kernel-module-dvb-usb-technisat-usb2 \ - kernel-module-tda826x kernel-module-tda10086 kernel-module-tda827x kernel-module-lnbp21 kernel-module-dvb-usb-ttusb2 \ - kernel-module-dvb-ttusb-budget \ - kernel-module-dvb-usb-nova-t-usb2 \ - kernel-module-mt352 kernel-module-dvb-usb-umt-010 \ - kernel-module-dvb-usb-vp702x \ - kernel-module-dvb-usb-vp7045 \ - kernel-module-smsdvb kernel-module-smsusb \ -" - -KERNEL_DVB_MODULES_3.3.6 = " \ - kernel-module-stv0297 \ - kernel-module-ds3000 \ - kernel-module-stb6100 \ - kernel-module-zl10039 \ - kernel-module-cx22700 \ - kernel-module-a8293 \ - kernel-module-af9013 \ - kernel-module-sp887x \ - kernel-module-mb86a20s \ - kernel-module-s5h1420 \ - kernel-module-drxk \ - kernel-module-mt312 \ - kernel-module-isl6423 \ - kernel-module-tda10023 \ - kernel-module-stv090x \ - kernel-module-cxd2820r \ - kernel-module-tda8083 \ - kernel-module-ec100 \ - kernel-module-dib9000 \ - kernel-module-tua6100 \ - kernel-module-dib7000m \ - kernel-module-stv6110x \ - kernel-module-rtl2832 \ - kernel-module-cx22702 \ - kernel-module-dib0090 \ - kernel-module-af9033 \ - kernel-module-stv0900 \ - kernel-module-tda10086 \ - kernel-module-cx24113 \ - kernel-module-it913x-fe \ - kernel-module-nxt6000 \ - kernel-module-lnbp22 \ - kernel-module-ix2505v \ - kernel-module-m88rs2000 \ - kernel-module-isl6405 \ - kernel-module-cx24116 \ - kernel-module-tda8261 \ - kernel-module-drxd \ - kernel-module-dib3000mb \ - kernel-module-stb0899 \ - kernel-module-l64781 \ - kernel-module-tda10071 \ - kernel-module-stv0367 \ - kernel-module-tda18271c2dd \ - kernel-module-ves1x93 \ - kernel-module-stv6110 \ - kernel-module-mb86a16 \ - kernel-module-cx24110 \ - kernel-module-lgs8gl5 \ - kernel-module-rtl2830 \ - kernel-module-dib8000 \ - kernel-module-dvb-pll \ - kernel-module-lgs8gxx \ - kernel-module-zl10353 \ - kernel-module-lnbp21 \ - kernel-module-stv0288 \ - kernel-module-tda665x \ - kernel-module-sp8870 \ - kernel-module-isl6421 \ - kernel-module-tda826x \ - kernel-module-dib7000p \ - kernel-module-s921 \ - kernel-module-atbm8830 \ - kernel-module-tda10021 \ - kernel-module-tda1004x \ - kernel-module-itd1000 \ - kernel-module-si21xx \ - kernel-module-stv0299 \ - kernel-module-cx24123 \ - kernel-module-stb6000 \ - kernel-module-tda10048 \ - kernel-module-mt352 \ - kernel-module-s5h1432 \ - kernel-module-dib0070 \ - kernel-module-dib3000mc \ - kernel-module-hd29l2 \ - kernel-module-zl10036 \ - kernel-module-ves1820 \ - kernel-module-mxl5005s \ - kernel-module-tuner-simple \ - kernel-module-fc2580 \ - kernel-module-tda8290 \ - kernel-module-tda9887 \ - kernel-module-tda18218 \ - kernel-module-fc0013 \ - kernel-module-fc0012 \ - kernel-module-fc0011 \ - kernel-module-mt20xx \ - kernel-module-mc44s803 \ - kernel-module-mt2131 \ - kernel-module-tea5761 \ - kernel-module-tuner-xc2028 \ - kernel-module-mt2060 \ - kernel-module-e4000 \ - kernel-module-max2165 \ - kernel-module-mt2063 \ - kernel-module-xc5000 \ - kernel-module-tuner-types \ - kernel-module-xc4000 \ - kernel-module-tua9001 \ - kernel-module-mxl5007t \ - kernel-module-tda18271 \ - kernel-module-tda18212 \ - kernel-module-tea5767 \ - kernel-module-qt1010 \ - kernel-module-mt2266 \ - kernel-module-tda827x \ - kernel-module-smsusb \ - kernel-module-dvb-usb-az6027 \ - kernel-module-dvb-usb \ - kernel-module-dvb-usb-opera \ - kernel-module-dvb-usb-umt-010 \ - kernel-module-dvb-usb-gp8psk \ - kernel-module-dvb-usb-a800 \ - kernel-module-dvb-usb-dibusb-common \ - kernel-module-dvb-usb-nova-t-usb2 \ - kernel-module-dvb-usb-digitv \ - kernel-module-dvb-usb-pctv452e \ - kernel-module-dvb-usb-af9005-remote \ - kernel-module-dvb-usb-dtv5100 \ - kernel-module-dvb-usb-cxusb \ - kernel-module-dvb-usb-dw2102 \ - kernel-module-dvb-usb-vp702x \ - kernel-module-dvb-usb-cinergyt2 \ - kernel-module-dvb-usb-dib0700 \ - kernel-module-dvb-usb-dibusb-mb \ - kernel-module-dvb-usb-m920x \ - kernel-module-dvb-usb-friio \ - kernel-module-dvb-usb-dibusb-mc \ - kernel-module-dvb-usb-ttusb2 \ - kernel-module-dvb-usb-vp7045 \ - kernel-module-dvb-usb-af9005 \ - kernel-module-dvb-usb-dtt200u \ - kernel-module-dvb-usb-technisat-usb2 \ - kernel-module-au0828 \ - kernel-module-dvb-usb-v2 \ - kernel-module-dvb-usb-az6007 \ - kernel-module-dvb-usb-anysee \ - kernel-module-dvb-usb-mxl111sf \ - kernel-module-dvb-usb-gl861 \ - kernel-module-dvb-usb-ec168 \ - kernel-module-dvb-usb-it913x \ - kernel-module-mxl111sf-tuner \ - kernel-module-dvb-usb-ce6230 \ - kernel-module-dvb-usb-af9035 \ - kernel-module-dvb-usb-af9015 \ - kernel-module-dvb-usb-cypress-firmware \ - kernel-module-dvb-usb-au6610 \ - kernel-module-dvb-usb-rtl28xxu \ - kernel-module-mxl111sf-demod \ - kernel-module-b2c2-flexcop-usb \ - kernel-module-smsdvb \ - kernel-module-smsmdtv \ - kernel-module-b2c2-flexcop \ - kernel-module-tveeprom \ - " diff --git a/meta-openvuplus/recipes-vuplus/tuxbox/tuxbox-common.bb b/meta-openvuplus/recipes-vuplus/tuxbox/tuxbox-common.bb index ee4c6b1..1a9c266 100644 --- a/meta-openvuplus/recipes-vuplus/tuxbox/tuxbox-common.bb +++ b/meta-openvuplus/recipes-vuplus/tuxbox/tuxbox-common.bb @@ -6,7 +6,7 @@ MAINTAINER = "Felix Domke " PN = "tuxbox-common" PR = "r5" -SRC_REV = "HEAD" +SRC_REV = "12436bfb31dafdc4c73bc4bb5d4cb39a0855c95e" SRC_URI = "git://code.vuplus.com/git/dvbapp-meta.git;protocol=git;tag=${SRC_REV} " diff --git a/meta-openvuplus/recipes-vuplus/tuxtxt/tuxbox-libtuxtxt.bb b/meta-openvuplus/recipes-vuplus/tuxtxt/tuxbox-libtuxtxt.bb index 63ade82..9f9e70f 100644 --- a/meta-openvuplus/recipes-vuplus/tuxtxt/tuxbox-libtuxtxt.bb +++ b/meta-openvuplus/recipes-vuplus/tuxtxt/tuxbox-libtuxtxt.bb @@ -4,7 +4,9 @@ LIC_FILES_CHKSUM = "file://libtuxtxt/libtuxtxt.c;endline=19;md5=75fd12b0664044ec DEPENDS = "dreambox-dvbincludes libpng freetype" PR = "r3" -SRC_URI = "git://code.vuplus.com/git/tuxbox-libs.git;protocol=git;tag=HEAD \ +SRCREV = "master" + +SRC_URI = "git://code.vuplus.com/git/tuxbox-libs.git;protocol=git \ file://acinclude.m4 \ file://ignorelibs.patch \ file://32bpp.diff \ @@ -12,6 +14,7 @@ SRC_URI = "git://code.vuplus.com/git/tuxbox-libs.git;protocol=git;tag=HEAD \ file://allow_different_demux.diff \ file://videodev2.patch \ file://libz.patch \ + file://libtuxtxt_buildfix.patch \ " S = "${WORKDIR}/git" @@ -24,4 +27,3 @@ do_configure_prepend() { } CPPFLAGS += "-DHAVE_DREAMBOX_HARDWARE -DDREAMBOX" - diff --git a/meta-openvuplus/recipes-vuplus/tuxtxt/tuxbox-libtuxtxt/libtuxtxt_buildfix.patch b/meta-openvuplus/recipes-vuplus/tuxtxt/tuxbox-libtuxtxt/libtuxtxt_buildfix.patch new file mode 100644 index 0000000..ff08183 --- /dev/null +++ b/meta-openvuplus/recipes-vuplus/tuxtxt/tuxbox-libtuxtxt/libtuxtxt_buildfix.patch @@ -0,0 +1,22 @@ +diff --git a/libtuxtxt/tuxtxt_common.h b/libtuxtxt/tuxtxt_common.h +index 207fdaa..1590217 100644 +--- a/libtuxtxt/tuxtxt_common.h ++++ b/libtuxtxt/tuxtxt_common.h +@@ -5313,7 +5313,7 @@ int tuxtxt_InitRendering(tstRenderInfo* renderinfo,int setTVFormat) + if ((error = FTC_Manager_LookupFace(renderinfo->manager, renderinfo->typettf.face_id, &renderinfo->face))) + { + renderinfo->typettf.face_id = (renderinfo->usettf ? (FTC_FaceID) TUXTXTTTF : TUXTXTOTB); +- if ((error = FTC_Manager_Lookup_Face(renderinfo->manager, renderinfo->typettf.face_id, &renderinfo->face))) ++ if ((error = FTC_Manager_LookupFace(renderinfo->manager, renderinfo->typettf.face_id, &renderinfo->face))) + { + #else + renderinfo->typettf.image_type = ftc_image_mono; +@@ -5323,7 +5323,7 @@ int tuxtxt_InitRendering(tstRenderInfo* renderinfo,int setTVFormat) + if ((error = FTC_Manager_Lookup_Face(renderinfo->manager, renderinfo->typettf.font.face_id, &renderinfo->face))) + { + #endif +- printf("TuxTxt \n", error); ++ printf("TuxTxt \n", error); + FTC_Manager_Done(renderinfo->manager); + FT_Done_FreeType(renderinfo->library); + return 0; diff --git a/meta-openvuplus/recipes-vuplus/tuxtxt/tuxbox-tuxtxt-32bpp.bb b/meta-openvuplus/recipes-vuplus/tuxtxt/tuxbox-tuxtxt-32bpp.bb index 513f8d1..c84e214 100644 --- a/meta-openvuplus/recipes-vuplus/tuxtxt/tuxbox-tuxtxt-32bpp.bb +++ b/meta-openvuplus/recipes-vuplus/tuxtxt/tuxbox-tuxtxt-32bpp.bb @@ -5,7 +5,9 @@ DEPENDS = "freetype tuxbox-libtuxtxt" RDEPENDS_${PN} = "enigma2" PR = "r7" -SRC_URI = "git://code.vuplus.com/git/tuxbox-tuxtxt.git;protocol=git;tag=HEAD \ +SRCREV = "master" + +SRC_URI = "git://code.vuplus.com/git/tuxbox-tuxtxt.git;protocol=git \ file://makefiles.diff \ file://nonblocking.diff \ file://32bpp.diff \ @@ -13,7 +15,7 @@ SRC_URI = "git://code.vuplus.com/git/tuxbox-tuxtxt.git;protocol=git;tag=HEAD \ file://add_advanced_rc.diff \ file://allow_different_demux.diff \ file://plugin.py \ - file://tuxtxt_vuplus.patch;patch=1;pnum=1 \ + file://tuxtxt_vuplus.patch \ " S = "${WORKDIR}/git" diff --git a/meta-openvuplus/recipes-vuplus/usbtunerhelper/usbtunerhelper.bb b/meta-openvuplus/recipes-vuplus/usbtunerhelper/usbtunerhelper.bb index 958706c..43c32dd 100644 --- a/meta-openvuplus/recipes-vuplus/usbtunerhelper/usbtunerhelper.bb +++ b/meta-openvuplus/recipes-vuplus/usbtunerhelper/usbtunerhelper.bb @@ -1,7 +1,7 @@ DESCIPTION = "helper tool to use usb dvb frontends" MAINTAINER = "PLi team" LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://${THISDIR}/${PN}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" PV = "1.0+git${SRCPV}" PR = "r2" diff --git a/meta-openvuplus/recipes-vuplus/usbtunerhelper/usbtunerhelper/GPL-2.0 b/meta-openvuplus/recipes-vuplus/usbtunerhelper/usbtunerhelper/GPL-2.0 deleted file mode 100644 index 7f5abbc..0000000 --- a/meta-openvuplus/recipes-vuplus/usbtunerhelper/usbtunerhelper/GPL-2.0 +++ /dev/null @@ -1,132 +0,0 @@ - -GNU GENERAL PUBLIC LICENSE - -Version 2, June 1991 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc. -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. -Preamble - -The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation`s software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. - -When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. - -To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. - -For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. - -We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. - -Also, for each author`s protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors` reputations. - -Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone`s free use or not licensed at all. - -The precise terms and conditions for copying, distribution and modification follow. - -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - -0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. - -1. You may copy and distribute verbatim copies of the Program`s source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. - -You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. - -2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: - -a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. -b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. -c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) -These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. - -3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: - -a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, -b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, -c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) -The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. - -If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. - -4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. - -5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. - -6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients` exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. - -7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. - -This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. - -8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. - -9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. - -10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. - -NO WARRANTY - -11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - -12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -END OF TERMS AND CONDITIONS - -How to Apply These Terms to Your New Programs - -If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. - -To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. - -one line to give the program`s name and an idea of what it does. -Copyright (C) yyyy name of author - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this when it starts in an interactive mode: - -Gnomovision version 69, Copyright (C) year name of author -Gnomovision comes with ABSOLUTELY NO WARRANTY; for details -type `show w`. This is free software, and you are welcome -to redistribute it under certain conditions; type `show c` -for details. -The hypothetical commands `show w` and `show c` should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w` and `show c`; they could even be mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: - -Yoyodyne, Inc., hereby disclaims all copyright -interest in the program `Gnomovision` -(which makes passes at compilers) written -by James Hacker. - -signature of Ty Coon, 1 April 1989 -Ty Coon, President of Vice -This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. - diff --git a/meta-openvuplus/recipes-vuplus/vuplus-fpga-update/vuplus-fpga-update.bb b/meta-openvuplus/recipes-vuplus/vuplus-fpga-update/vuplus-fpga-update.bb index 19096c8..6ca458f 100644 --- a/meta-openvuplus/recipes-vuplus/vuplus-fpga-update/vuplus-fpga-update.bb +++ b/meta-openvuplus/recipes-vuplus/vuplus-fpga-update/vuplus-fpga-update.bb @@ -1,7 +1,7 @@ DESCRIPTION = "vuplus fpga updater" SECTION = "base" PRIORITY = "required" -LICENSE = "proprietary" +LICENSE = "Proprietary" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28" PV = "1.0" diff --git a/meta-openvuplus/recipes-vuplus/vuplus-makenfi-native/files/vfi2 b/meta-openvuplus/recipes-vuplus/vuplus-makenfi-native/files/vfi2 new file mode 100755 index 0000000..a5a50d4 Binary files /dev/null and b/meta-openvuplus/recipes-vuplus/vuplus-makenfi-native/files/vfi2 differ diff --git a/meta-openvuplus/recipes-vuplus/vuplus-makenfi-native/files/vfi3 b/meta-openvuplus/recipes-vuplus/vuplus-makenfi-native/files/vfi3 new file mode 100755 index 0000000..6e1bc62 Binary files /dev/null and b/meta-openvuplus/recipes-vuplus/vuplus-makenfi-native/files/vfi3 differ diff --git a/meta-openvuplus/recipes-vuplus/vuplus-makenfi-native/vuplus-makenfi-native.bb b/meta-openvuplus/recipes-vuplus/vuplus-makenfi-native/vuplus-makenfi-native.bb index 00515d7..add5a74 100644 --- a/meta-openvuplus/recipes-vuplus/vuplus-makenfi-native/vuplus-makenfi-native.bb +++ b/meta-openvuplus/recipes-vuplus/vuplus-makenfi-native/vuplus-makenfi-native.bb @@ -4,15 +4,18 @@ LICENSE = "CLOSED" PV = "1.0" PR = "r1" -SRC_URI = "file://vfi2 \ - file://vfi3" - -do_compile() { - cp ${WORKDIR}/vfi2 . - cp ${WORKDIR}/vfi3 . -} +SRC_URI = " \ + file://vfi2;name=vfi2 \ + file://vfi3;name=vfi3 \ +" do_populate_sysroot() { - install -m 0755 ${S}/vfi2 ${STAGING_BINDIR_NATIVE}/ - install -m 0755 ${S}/vfi3 ${STAGING_BINDIR_NATIVE}/ + install -m 0755 ${WORKDIR}/vfi2 ${STAGING_BINDIR_NATIVE}/ + install -m 0755 ${WORKDIR}/vfi3 ${STAGING_BINDIR_NATIVE}/ } + +SRC_URI[vfi2.md5sum] ="04d49c0a75e67afe83188887b1cdcc5c" +SRC_URI[vfi2.sha256sum] ="b854ef5eeb01b3c29b66706c7b87a32aeb2c3cadeee8b86736c26dd1964aaa09" +SRC_URI[vfi3.md5sum] ="d36c808021b9324b79f79bf1d70dfcbd" +SRC_URI[vfi3.sha256sum] ="4fc895852d80d6cbad00e9b7d00fe1b29fa927c4a02bb569dd2fb550fa1b8b1b" + diff --git a/meta-openvuplus/recipes-vuplus/vuplus-makenfi-native/vuplus-makenfi-native/vfi2 b/meta-openvuplus/recipes-vuplus/vuplus-makenfi-native/vuplus-makenfi-native/vfi2 deleted file mode 100755 index a5a50d4..0000000 Binary files a/meta-openvuplus/recipes-vuplus/vuplus-makenfi-native/vuplus-makenfi-native/vfi2 and /dev/null differ diff --git a/meta-openvuplus/recipes-vuplus/vuplus-makenfi-native/vuplus-makenfi-native/vfi3 b/meta-openvuplus/recipes-vuplus/vuplus-makenfi-native/vuplus-makenfi-native/vfi3 deleted file mode 100755 index 6e1bc62..0000000 Binary files a/meta-openvuplus/recipes-vuplus/vuplus-makenfi-native/vuplus-makenfi-native/vfi3 and /dev/null differ diff --git a/meta-openvuplus/recipes-vuplus/vuplus-vucamd/vuplus-vucamd.bb b/meta-openvuplus/recipes-vuplus/vuplus-vucamd/vuplus-vucamd.bb index 8fdaa42..c71f92c 100644 --- a/meta-openvuplus/recipes-vuplus/vuplus-vucamd/vuplus-vucamd.bb +++ b/meta-openvuplus/recipes-vuplus/vuplus-vucamd/vuplus-vucamd.bb @@ -1,8 +1,8 @@ DESCRIPTION = "Xcrypt/Cnx daemon" SECTION = "base" PRIORITY = "required" -LICENSE = "proprietary" -LIC_FILES_CHKSUM = "file://${THISDIR}/${PN}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28" PV = "1.1" PR = "r1" diff --git a/meta-openvuplus/recipes-vuplus/vuplus-vucamd/vuplus-vucamd/Proprietary b/meta-openvuplus/recipes-vuplus/vuplus-vucamd/vuplus-vucamd/Proprietary deleted file mode 100644 index 6618758..0000000 --- a/meta-openvuplus/recipes-vuplus/vuplus-vucamd/vuplus-vucamd/Proprietary +++ /dev/null @@ -1 +0,0 @@ -Proprietary license. diff --git a/openembedded-core b/openembedded-core index 6935beb..be0327b 160000 --- a/openembedded-core +++ b/openembedded-core @@ -1 +1 @@ -Subproject commit 6935beba7b917097cd139fa48adc6c4449246d11 +Subproject commit be0327b6a900be5434b6b1f08277faf2f65d5da8