[OE-core] [PATCH 0/6] uclibc config cleanup
We do not need machine configs or even arch configs since we construct the bits in .inc files. Once anamoly is mips where we do not use default ARCH for o32 which is mips1 but we use mips32 so thats the reason we have a separate config for mips. Additionally fix boot issue found on mips which were exposed by udev 171 These patches have been tested with builds from scratch for all supported qemu machines and incrmental too (for qemumips) and angstrom/console-image is booted on all supported qemu machines The following changes since commit ae4c2b8834dc4d88be7207ea5c45c596bb46fded: uclibc: Fix bug exposed by udev 168+ for mips architecture (2011-06-30 00:52:32 -0700) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib kraj/uclibc-cleanup http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/uclibc-cleanup Khem Raj (6): uclibc: Remove redundant machine/arch configs uclibc-config.inc: Fix regexp to determine big-endian arm uclibc.inc: Use ARCH_WANTS_{LITTLE|BIG}_ENDIAN to denote endian uclibc_git.bb: Untether UCLIBC_HAS_FPU from UCLIBC_HAS_FLOATS uclibc: Add UCLIBC_HAS_FLOATS=y to uClibc.distro uclibc: Fix bug exposed by udev 168+ for mips architecture meta/recipes-core/uclibc/uClibc.distro | 157 meta/recipes-core/uclibc/uclibc-config.inc |2 +- ...rch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch | 29 ...fd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch | 33 .../uclibc/uclibc-git/arm/uClibc.machine | 70 - .../uclibc/uclibc-git/armeb/uClibc.machine | 53 --- .../uclibc/uclibc-git/armv5te/uClibc.machine | 77 -- .../uclibc/uclibc-git/armv5teb/uClibc.machine | 74 - .../uclibc/uclibc-git/i386/uClibc.machine | 59 .../uclibc/uclibc-git/i486/uClibc.machine | 62 .../uclibc/uclibc-git/i586/uClibc.machine | 62 .../uclibc/uclibc-git/i686/uClibc.machine | 59 .../uclibc/uclibc-git/mips/uClibc.machine | 61 +--- .../uclibc/uclibc-git/mips64/uClibc.machine| 63 .../uclibc/uclibc-git/mipsel/uClibc.machine| 63 .../uclibc/uclibc-git/powerpc/uClibc.machine | 46 -- .../uclibc/uclibc-git/sh4/uClibc.machine | 48 -- meta/recipes-core/uclibc/uclibc-git/uClibc.distro |1 + meta/recipes-core/uclibc/uclibc-git/uClibc.machine | 14 ++ .../uclibc/uclibc-git/x86_64/uClibc.machine| 41 - meta/recipes-core/uclibc/uclibc.inc|2 +- meta/recipes-core/uclibc/uclibc_git.bb |4 +- 22 files changed, 89 insertions(+), 991 deletions(-) delete mode 100644 meta/recipes-core/uclibc/uClibc.distro create mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch create mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch delete mode 100644 meta/recipes-core/uclibc/uclibc-git/arm/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/armeb/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/armv5te/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/armv5teb/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/i386/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/i486/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/i586/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/i686/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/mips64/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/mipsel/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/powerpc/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/sh4/uClibc.machine create mode 100644 meta/recipes-core/uclibc/uclibc-git/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/x86_64/uClibc.machine -- 1.7.4.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/6] uclibc-config.inc: Fix regexp to determine big-endian arm
Without this even arm-*-* was being treated as big endian but normal convention is the arm-*-* is little endian Signed-off-by: Khem Raj raj.k...@gmail.com --- meta/recipes-core/uclibc/uclibc-config.inc |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/meta/recipes-core/uclibc/uclibc-config.inc b/meta/recipes-core/uclibc/uclibc-config.inc index 3679c10..697164c 100644 --- a/meta/recipes-core/uclibc/uclibc-config.inc +++ b/meta/recipes-core/uclibc/uclibc-config.inc @@ -75,7 +75,7 @@ def map_uclibc_endian(a, d): if re.match('^(avr32|e1|frv|(parisc|hppa)|m68k|microblaze|powerpc.*|(sparc|sun).*)$', a): return 'BIG' # Possibly BE - elif re.match('^((arm|sa110|arm.*eb)|h8300.*eb|(parisc|hppa).*eb|mips|sh.*eb|xtensa.*eb)$', a): + elif re.match('^(((arm|sa110).*eb)|h8300.*eb|(parisc|hppa).*eb|mips|sh.*eb|xtensa.*eb)$', a): return 'BIG' return 'LITTLE' -- 1.7.4.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/6] uclibc: Remove redundant machine/arch configs
Big endian counterparts are not needed since we already add the proper endianness to final .config as seen in uclibc-config.inc The difference between arm and armv5te configs were also superficial since all it did was select arm926t which made sure that right mtune and march flags were passed to gcc when building uclibc We already do that via passing them in UCLIBC_EXTRA_CFLAGS. Similarly for other architectures the features are really taken care of in config mangler and machine config fragments are no longer needed Add generic machine config file uClibc.machine in topdir should work mostly and odd ones like mips should have a copy of their own as explained Signed-off-by: Khem Raj raj.k...@gmail.com --- .../uclibc/uclibc-git/arm/uClibc.machine | 70 -- .../uclibc/uclibc-git/armeb/uClibc.machine | 53 -- .../uclibc/uclibc-git/armv5te/uClibc.machine | 77 .../uclibc/uclibc-git/armv5teb/uClibc.machine | 74 --- .../uclibc/uclibc-git/i386/uClibc.machine | 59 --- .../uclibc/uclibc-git/i486/uClibc.machine | 62 .../uclibc/uclibc-git/i586/uClibc.machine | 62 .../uclibc/uclibc-git/i686/uClibc.machine | 59 --- .../uclibc/uclibc-git/mips/uClibc.machine | 61 ++-- .../uclibc/uclibc-git/mips64/uClibc.machine| 63 .../uclibc/uclibc-git/mipsel/uClibc.machine| 63 .../uclibc/uclibc-git/powerpc/uClibc.machine | 46 .../uclibc/uclibc-git/sh4/uClibc.machine | 48 meta/recipes-core/uclibc/uclibc-git/uClibc.machine | 14 .../uclibc/uclibc-git/x86_64/uClibc.machine| 41 --- 15 files changed, 21 insertions(+), 831 deletions(-) delete mode 100644 meta/recipes-core/uclibc/uclibc-git/arm/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/armeb/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/armv5te/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/armv5teb/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/i386/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/i486/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/i586/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/i686/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/mips64/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/mipsel/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/powerpc/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/sh4/uClibc.machine create mode 100644 meta/recipes-core/uclibc/uclibc-git/uClibc.machine delete mode 100644 meta/recipes-core/uclibc/uclibc-git/x86_64/uClibc.machine diff --git a/meta/recipes-core/uclibc/uclibc-git/arm/uClibc.machine b/meta/recipes-core/uclibc/uclibc-git/arm/uClibc.machine deleted file mode 100644 index 92ee868..000 --- a/meta/recipes-core/uclibc/uclibc-git/arm/uClibc.machine +++ /dev/null @@ -1,70 +0,0 @@ -# -# Automatically generated make config: don't edit -# Mon May 14 10:23:14 2007 -# -# TARGET_alpha is not set -TARGET_arm=y -# TARGET_bfin is not set -# TARGET_cris is not set -# TARGET_e1 is not set -# TARGET_frv is not set -# TARGET_h8300 is not set -# TARGET_hppa is not set -# TARGET_i386 is not set -# TARGET_i960 is not set -# TARGET_ia64 is not set -# TARGET_m68k is not set -# TARGET_microblaze is not set -# TARGET_mips is not set -# TARGET_nios is not set -# TARGET_nios2 is not set -# TARGET_powerpc is not set -# TARGET_sh is not set -# TARGET_sh64 is not set -# TARGET_sparc is not set -# TARGET_v850 is not set -# TARGET_vax is not set -# TARGET_x86_64 is not set - -# -# Target Architecture Features and Options -# -TARGET_ARCH=arm -FORCE_OPTIONS_FOR_ARCH=y -# CONFIG_ARM_OABI is not set -CONFIG_ARM_EABI=y -# COMPILE_IN_THUMB_MODE is not set -USE_BX=y -CONFIG_GENERIC_ARM=y -# CONFIG_ARM610 is not set -# CONFIG_ARM710 is not set -# CONFIG_ARM7TDMI is not set -# CONFIG_ARM720T is not set -# CONFIG_ARM920T is not set -# CONFIG_ARM922T is not set -# CONFIG_ARM926T is not set -# CONFIG_ARM10T is not set -# CONFIG_ARM1136JF_S is not set -# CONFIG_ARM1176JZ_S is not set -# CONFIG_ARM1176JZF_S is not set -# CONFIG_ARM_SA110 is not set -# CONFIG_ARM_SA1100 is not set -# CONFIG_ARM_XSCALE is not set -# CONFIG_ARM_IWMMXT is not set -TARGET_SUBARCH= - -# -# Using ELF file format -# -ARCH_ANY_ENDIAN=y -ARCH_LITTLE_ENDIAN=y -# ARCH_WANTS_BIG_ENDIAN is not set -ARCH_WANTS_LITTLE_ENDIAN=y -ARCH_HAS_MMU=y -ARCH_USE_MMU=y -UCLIBC_HAS_FLOATS=y -# UCLIBC_HAS_FPU is not set -UCLIBC_HAS_SOFT_FLOAT=y -KERNEL_HEADERS=/usr/include -HAVE_DOT_CONFIG=y - diff --git a/meta/recipes-core/uclibc/uclibc-git/armeb/uClibc.machine
[OE-core] [PATCH 4/6] uclibc_git.bb: Untether UCLIBC_HAS_FPU from UCLIBC_HAS_FLOATS
Signed-off-by: Khem Raj raj.k...@gmail.com --- ...rch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch | 29 meta/recipes-core/uclibc/uclibc_git.bb |1 + 2 files changed, 30 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch b/meta/recipes-core/uclibc/uclibc-git/0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch new file mode 100644 index 000..da97d38 --- /dev/null +++ b/meta/recipes-core/uclibc/uclibc-git/0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch @@ -0,0 +1,29 @@ +From 06cdcd2a9dd6b46b7fbb5b3ae0a62bdb7ee6c402 Mon Sep 17 00:00:00 2001 +From: Khem Raj raj.k...@gmail.com +Date: Mon, 27 Jun 2011 17:48:18 -0700 +Subject: [PATCH] Config.in.arch: Free UCLIBC_HAS_FPU setting from depending on UCLIBC_HAS_FLOATS + +UCLIBC_HAS_FLOATS and UCLIBC_HAS_FPU are denoting two different aspects. +UCLIBC_HAS_FLOATS covers the floating point operations which has nothing +to do if you have FPU or not. + +Signed-off-by: Khem Raj raj.k...@gmail.com +--- + extra/Configs/Config.in.arch |1 - + 1 files changed, 0 insertions(+), 1 deletions(-) + +diff --git a/extra/Configs/Config.in.arch b/extra/Configs/Config.in.arch +index 5f7a2b0..c1ca390 100644 +--- a/extra/Configs/Config.in.arch b/extra/Configs/Config.in.arch +@@ -133,7 +133,6 @@ config UCLIBC_HAS_FLOATS + + config UCLIBC_HAS_FPU + bool Target CPU has a floating point unit (FPU) +- depends on UCLIBC_HAS_FLOATS + default y + help + If your target CPU does not have a Floating Point Unit (FPU) or a +-- +1.7.0.4 + diff --git a/meta/recipes-core/uclibc/uclibc_git.bb b/meta/recipes-core/uclibc/uclibc_git.bb index 6445243..201ec93 100644 --- a/meta/recipes-core/uclibc/uclibc_git.bb +++ b/meta/recipes-core/uclibc/uclibc_git.bb @@ -29,5 +29,6 @@ SRC_URI = git://uclibc.org/uClibc.git;branch=master;protocol=git \ file://epoll-asm-fix.patch \ file://orign_path.patch \ file://rtld_no.patch \ + file://0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch \ S = ${WORKDIR}/git -- 1.7.4.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] [PATCH 5/6] uclibc: Add UCLIBC_HAS_FLOATS=y to uClibc.distro
Remove unused uClibc.distro from topdir. It just creates confusion Signed-off-by: Khem Raj raj.k...@gmail.com --- meta/recipes-core/uclibc/uClibc.distro| 157 - meta/recipes-core/uclibc/uclibc-git/uClibc.distro |1 + 2 files changed, 1 insertions(+), 157 deletions(-) delete mode 100644 meta/recipes-core/uclibc/uClibc.distro diff --git a/meta/recipes-core/uclibc/uClibc.distro b/meta/recipes-core/uclibc/uClibc.distro deleted file mode 100644 index e25324d..000 --- a/meta/recipes-core/uclibc/uClibc.distro +++ /dev/null @@ -1,157 +0,0 @@ -# -# General Library Settings -# -# HAVE_NO_PIC is not set -# DOPIC is not set -# HAVE_NO_SHARED is not set -# ARCH_HAS_NO_LDSO is not set -HAVE_SHARED=y -# FORCE_SHAREABLE_TEXT_SEGMENTS is not set -LDSO_LDD_SUPPORT=y -LDSO_CACHE_SUPPORT=y -# LDSO_PRELOAD_FILE_SUPPORT is not set -LDSO_BASE_FILENAME=ld.so -# UCLIBC_STATIC_LDCONFIG is not set -LDSO_RUNPATH=y -UCLIBC_CTOR_DTOR=y -LDSO_GNU_HASH_SUPPORT=y -# HAS_NO_THREADS is not set -UCLIBC_HAS_THREADS=y -UCLIBC_HAS_THREADS_NATIVE=y -PTHREADS_DEBUG_SUPPORT=y -# LINUXTHREADS_OLD is not set -UCLIBC_HAS_LFS=y -# MALLOC is not set -# MALLOC_SIMPLE is not set -MALLOC_STANDARD=y -MALLOC_GLIBC_COMPAT=y -UCLIBC_DYNAMIC_ATEXIT=y -COMPAT_ATEXIT=y -UCLIBC_SUSV3_LEGACY=y -UCLIBC_SUSV3_LEGACY_MACROS=y -UCLIBC_SUSV4_LEGACY=y -UCLIBC_HAS_SHADOW=y -UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y -UCLIBC_HAS___PROGNAME=y -UNIX98PTY_ONLY=y -ASSUME_DEVPTS=y -UCLIBC_HAS_LIBUTIL=y -UCLIBC_HAS_TM_EXTENSIONS=y -UCLIBC_HAS_TZ_CACHING=y -UCLIBC_HAS_TZ_FILE=y -UCLIBC_HAS_TZ_FILE_READ_MANY=y -UCLIBC_TZ_FILE_PATH=/etc/TZ - -# -# Advanced Library Settings -# -UCLIBC_PWD_BUFFER_SIZE=256 -UCLIBC_GRP_BUFFER_SIZE=256 - -# -# Networking Support -# -UCLIBC_HAS_IPV6=y -UCLIBC_HAS_RPC=y -UCLIBC_HAS_FULL_RPC=y -# UCLIBC_HAS_REENTRANT_RPC is not set -UCLIBC_USE_NETLINK=y -UCLIBC_SUPPORT_AI_ADDRCONFIG=y - -UCLIBC_HAS_BSD_RES_CLOSE=y -UCLIBC_HAS_LIBRESOLV_STUB=y -UCLIBC_HAS_LIBNSL_STUB=y - -# -# String and Stdio Support -# -UCLIBC_HAS_STRING_GENERIC_OPT=y -UCLIBC_HAS_STRING_ARCH_OPT=y -UCLIBC_HAS_CTYPE_TABLES=y -UCLIBC_HAS_CTYPE_SIGNED=y -# UCLIBC_HAS_CTYPE_UNSAFE is not set -UCLIBC_HAS_CTYPE_CHECKED=y -# UCLIBC_HAS_CTYPE_ENFORCED is not set -UCLIBC_HAS_WCHAR=y -# UCLIBC_HAS_LOCALE is not set -UCLIBC_HAS_HEXADECIMAL_FLOATS=y -UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y -UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 -UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y -# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set -UCLIBC_HAS_STDIO_BUFSIZ_256=y -# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set -UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y -# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set -# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set -# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set -UCLIBC_HAS_STDIO_GETC_MACRO=y -UCLIBC_HAS_STDIO_PUTC_MACRO=y -UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y -# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set -UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y -UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y -UCLIBC_HAS_PRINTF_M_SPEC=y -UCLIBC_HAS_ERRNO_MESSAGES=y -# UCLIBC_HAS_SYS_ERRLIST is not set -UCLIBC_HAS_SIGNUM_MESSAGES=y -# UCLIBC_HAS_SYS_SIGLIST is not set -UCLIBC_HAS_GNU_GETOPT=y -UCLIBC_HAS_GNU_GETSUBOPT=y - -# -# Big and Tall -# -UCLIBC_HAS_REGEX=y -# UCLIBC_HAS_REGEX_OLD is not set -UCLIBC_HAS_FNMATCH=y -# UCLIBC_HAS_FNMATCH_OLD is not set -UCLIBC_HAS_WORDEXP=y -UCLIBC_HAS_NFTW=y -UCLIBC_HAS_FTW=y -UCLIBC_HAS_FTS=y -UCLIBC_HAS_GLOB=y -UCLIBC_HAS_GNU_GLOB=y - -# -# Library Installation Options -# -SHARED_LIB_LOADER_PREFIX=/lib -RUNTIME_PREFIX=/ -DEVEL_PREFIX=//usr - -# -# Security options -# -# UCLIBC_BUILD_PIE is not set -# UCLIBC_HAS_ARC4RANDOM is not set -# HAVE_NO_SSP is not set -# UCLIBC_HAS_SSP is not set -UCLIBC_BUILD_RELRO=y -UCLIBC_BUILD_NOW=y -UCLIBC_BUILD_NOEXECSTACK=y - -# -# uClibc development/debugging options -# -CROSS_COMPILER_PREFIX= -UCLIBC_EXTRA_CFLAGS= -# DODEBUG is not set -# DODEBUG_PT is not set -# DOSTRIP is not set -# DOASSERTS is not set -# SUPPORT_LD_DEBUG is not set -# SUPPORT_LD_DEBUG_EARLY is not set -# UCLIBC_MALLOC_DEBUGGING is not set -WARNINGS=-Wall -# EXTRA_WARNINGS is not set -# DOMULTI is not set -# UCLIBC_MJN3_ONLY is not set - -# math stuff for perl -DO_C99_MATH=y -UCLIBC_HAS_LONG_DOUBLE_MATH=y diff --git a/meta/recipes-core/uclibc/uclibc-git/uClibc.distro b/meta/recipes-core/uclibc/uclibc-git/uClibc.distro index 45b131d..3136e54 100644 --- a/meta/recipes-core/uclibc/uclibc-git/uClibc.distro +++ b/meta/recipes-core/uclibc/uclibc-git/uClibc.distro @@ -170,3 +170,4 @@ UCLIBC_HAS_GNU_ERROR=y UCLIBC_HAS_PTY=y UCLIBC_BSD_SPECIFIC=y UCLIBC_HAS_EPOLL=y +UCLIBC_HAS_FLOATS=y -- 1.7.4.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] [PATCH 6/6] uclibc: Fix bug exposed by udev 168+ for mips architecture
newer udev uses sgnalfd + epoll and this exposed a bug in uclibc for mips where SFD_NONBLOCK should be defined with 0200 for mips but was using 04000. This would cause random segfaults in udev during boot process Tested on qemumips/angstrom console-image since angstrom uses udev 171. It worked well when we did not use meta-oe layer because udev in oe-core will then be used which is at version 164. Signed-off-by: Khem Raj raj.k...@gmail.com --- ...fd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch | 33 meta/recipes-core/uclibc/uclibc_git.bb |3 +- 2 files changed, 35 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch b/meta/recipes-core/uclibc/uclibc-git/0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch new file mode 100644 index 000..6892ceb --- /dev/null +++ b/meta/recipes-core/uclibc/uclibc-git/0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch @@ -0,0 +1,33 @@ +From ecc7d34cbbaf83aae87b091555650ed33e27ed2e Mon Sep 17 00:00:00 2001 +From: Khem Raj raj.k...@gmail.com +Date: Thu, 30 Jun 2011 00:32:11 -0700 +Subject: [PATCH] mips/signalfd.h: SFD_NONBLOCK for mips is 0200 unlike 04000 commonly + +Signed-off-by: Khem Raj raj.k...@gmail.com +--- + include/sys/signalfd.h |9 + + 1 files changed, 9 insertions(+), 0 deletions(-) + +diff --git a/include/sys/signalfd.h b/include/sys/signalfd.h +index 8cee17c..f1cb63a 100644 +--- a/include/sys/signalfd.h b/include/sys/signalfd.h +@@ -64,6 +64,15 @@ enum + # define SFD_NONBLOCK SFD_NONBLOCK + }; + ++#elif defined __mips__ ++enum ++ { ++SFD_CLOEXEC = 0200, ++# define SFD_CLOEXEC SFD_CLOEXEC ++SFD_NONBLOCK = 0200 ++# define SFD_NONBLOCK SFD_NONBLOCK ++ }; ++ + #else + enum + { +-- +1.7.0.4 + diff --git a/meta/recipes-core/uclibc/uclibc_git.bb b/meta/recipes-core/uclibc/uclibc_git.bb index 201ec93..0e43f9e 100644 --- a/meta/recipes-core/uclibc/uclibc_git.bb +++ b/meta/recipes-core/uclibc/uclibc_git.bb @@ -2,7 +2,7 @@ SRCREV=71d63ed75648da9b0b71afabb9c60aaad792c55c require uclibc.inc PV = 0.9.31+0.9.32rc3 -PR = ${INC_PR}.4 +PR = ${INC_PR}.5 PROVIDES += virtual/${TARGET_PREFIX}libc-for-gcc FILESPATH = ${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-git' ], d)} @@ -30,5 +30,6 @@ SRC_URI = git://uclibc.org/uClibc.git;branch=master;protocol=git \ file://orign_path.patch \ file://rtld_no.patch \ file://0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch \ + file://0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch \ S = ${WORKDIR}/git -- 1.7.4.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] [PATCH 3/6] uclibc.inc: Use ARCH_WANTS_{LITTLE|BIG}_ENDIAN to denote endian
ARCH_{BIG|LITTLE}_ENDIAN is governed by ARCH_WANTS_{LITTLE|BIG}_ENDIAN therefore we tame the superior Signed-off-by: Khem Raj raj.k...@gmail.com --- meta/recipes-core/uclibc/uclibc.inc |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/meta/recipes-core/uclibc/uclibc.inc b/meta/recipes-core/uclibc/uclibc.inc index 06c0f5d..ce13362 100644 --- a/meta/recipes-core/uclibc/uclibc.inc +++ b/meta/recipes-core/uclibc/uclibc.inc @@ -164,7 +164,7 @@ python () { /^### FPU$/a\\\n%s\n\n % ([UCLIBC_HAS_FPU=y,# UCLIBC_HAS_FPU is not set][bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]]), d) if ${UCLIBC_ENDIAN}: bb.data.setVar('configmangle_append', - /^### ABI$/a\\\nARCH_%s_ENDIAN=y\n\n % (${UCLIBC_ENDIAN}), + /^### ABI$/a\\\nARCH_WANTS_%s_ENDIAN=y\n\n % (${UCLIBC_ENDIAN}), d) if ${UCLIBC_ABI}: bb.data.setVar('configmangle_append', -- 1.7.4.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [RFC v3 PATCH 0/9] Linux 3.0 build support
On Thu, Jun 30, 2011 at 10:00, Richard Purdie richard.pur...@linuxfoundation.org wrote: On Wed, 2011-06-29 at 20:02 +0200, Anders Darander wrote: On Wed, Jun 29, 2011 at 19:54, Anders Darander and...@chargestorm.se wrote: v3: - task-base.bb: fix a problem that *pcmia26 couldn't be found. Unless I find some more problems, or get such reports, I plan to send a pull request towards the end of this week. It looks good to me apart from some ordering and PR bump type issues. Where you change the depmod dependency for example, we really need to rebuild module-init-tools at the same time so the binary changes name at the right point in the series. Patch 4 and patch 2 therefore probably need to be together with a PR bump. You're right, of course there should have been a PR bump there. I'll fix it and squash patch 4 into patch 2 before I'll send a pull request. I also wondered what the patch to module-init-tools you're removing does (and why you just disabled rather than deleted it). I left it in there of laziness, in case someone had objected to the disabling of the patch. As I'm not really sure of the purpose of that patch, I'll delete the patch before I send the pull request. Then we'll probably find out if someone had any need for that patch... Looks good though! I'm trying to resist merging some of the standalone bits straight away :) Thanks! If you get too eager to cherrypick a few bits, it's no problem. Otherwise you can count on getting a pull request tomorrow. Cheers, Anders ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] binutils: allow distro to select gold as default linker
Ping? p. On Mon, 2011-06-27 at 16:51 +0100, Phil Blundell wrote: But ensure that gcc-cross-intermediate always uses ld.bfd since (e)glibc won't build with gold. Signed-off-by: Phil Blundell ph...@gnu.org --- meta/recipes-devtools/binutils/binutils-cross.inc |3 ++- .../gcc/gcc-cross-intermediate.inc |7 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/binutils/binutils-cross.inc b/meta/recipes-devtools/binutils/binutils-cross.inc index 4b90972..5a41970 100644 --- a/meta/recipes-devtools/binutils/binutils-cross.inc +++ b/meta/recipes-devtools/binutils/binutils-cross.inc @@ -5,7 +5,8 @@ EXTRA_OECONF = --with-sysroot=${STAGING_DIR_TARGET} \ --program-prefix=${TARGET_PREFIX} \ --disable-install-libbfd \ --disable-werror \ ---enable-poison-system-directories +--enable-poison-system-directories \ + ${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '--enable-gold=default', '', d)} do_install () { oe_runmake 'DESTDIR=${D}' install diff --git a/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc b/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc index 92c3ce2..05b5dbc 100644 --- a/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc +++ b/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc @@ -7,6 +7,10 @@ CROSS_TARGET_SYS_DIR_append = .${PN} # This is intended to be a -very- basic config # sysroot is needed in case we use libc-initial +# +# Glibc won't compile with gold, and building glibc is the whole point of +# this recipe. So we select ld.bfd explicitly here if gold is the distro's +# preferred linker. EXTRA_OECONF = --with-local-prefix=${STAGING_DIR_TARGET}${target_prefix} \ --enable-shared \ --disable-multilib \ @@ -17,7 +21,8 @@ EXTRA_OECONF = --with-local-prefix=${STAGING_DIR_TARGET}${target_prefix} \ --with-sysroot=${STAGING_DIR_TCBOOTSTRAP} \ --with-build-sysroot=${STAGING_DIR_TCBOOTSTRAP} \ ${EXTRA_OECONF_INTERMEDIATE} \ - ${@get_gcc_fpu_setting(bb, d)} + ${@get_gcc_fpu_setting(bb, d)} \ + ${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '--with-ld=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}ld.bfd', '', d)} do_populate_sysroot[sstate-inputdirs] = ${SYSROOT_DESTDIR}/${STAGING_DIR_HOST} ${SYSROOT_DESTDIR}/${STAGING_DIR_TARGET}/${target_base_libdir} do_populate_sysroot[sstate-outputdirs] = ${STAGING_DIR_HOST} ${STAGING_DIR_TCBOOTSTRAP}/${target_base_libdir} ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] eglibc testing?
On Thu, 2011-06-16 at 16:18 -0700, Khem Raj wrote: Yes I think I should put together my mechanism somewhere and post it and dejaGNU setup I use for cross testing Did you get a chance to do this at all? thanks p. ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] eglibc-locale: fix localedef packaging
On Wed, 2011-06-29 at 14:49 +0100, Richard Purdie wrote: On Wed, 2011-06-29 at 14:36 +0100, Phil Blundell wrote: On Tue, 2011-06-28 at 22:32 +0200, Koen Kooi wrote: From http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/testlab/commit/?h=yoctoid=0d0e14cda2ddd881d09798b0e6edd8086aa9b6d9 +libc6 - libc6_dev; So libc6 now depends on libc6-dev :( I guess it would be straightforward to patch insane.bbclass to detect that particular failure (which does indeed seem to happen to libc distressingly often). It already diagnoses the case where a package erroneously depends on a -dbg package, and I can't think of any reason why the same logic couldn't be applied to -dev. I'd love to see a patch for this! :) Your wish, naturally, is my command. I've built micro-base-image with this and verified that I didn't get any false positives; I also checked (via some manual fiddling) that it did indeed detect the case that we want it to. I guess it might be a good idea for someone to test it with a slightly larger dataset before actually checking it in, just in case. p. diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 35809b9..f7e5524 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -103,6 +103,7 @@ def package_qa_get_machine_dict(): # 8 - .la contains reference to the workdir # 9 - LDFLAGS ignored # 10 - Build paths in binaries +# 11 - package depends on devel package def package_qa_clean_path(path,d): Remove the common prefix from the path. In this case it is the TMPDIR @@ -134,6 +135,7 @@ def package_qa_write_error(error_class, name, path, d): .la contains reference to the workdir, LDFLAGS ignored, package contains reference to tmpdir paths, + package depends on devel package, ] log_path = os.path.join( bb.data.getVar('T', d, True), log.qa_package ) @@ -493,12 +495,14 @@ def package_qa_check_rdepends(pkg, pkgdest, d): # Now check the RDEPENDS rdepends = bb.utils.explode_deps(bb.data.getVar('RDEPENDS', localdata, True) or ) - # Now do the sanity check!!! for rdepend in rdepends: if -dbg in rdepend: error_msg = %s rdepends on %s % (pkgname,rdepend) sane = package_qa_handle_error(2, error_msg, pkgname, rdepend, d) + if (not -dev in pkg and not -staticdev in pkg) and rdepend.endswith(-dev): + error_msg = %s rdepends on %s % (pkgname, rdepend) +sane = package_qa_handle_error(11, error_msg, pkgname, rdepend, d) return sane ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] eglibc-locale: fix localedef packaging
Op 30 jun 2011, om 13:17 heeft Phil Blundell het volgende geschreven: On Wed, 2011-06-29 at 14:49 +0100, Richard Purdie wrote: On Wed, 2011-06-29 at 14:36 +0100, Phil Blundell wrote: On Tue, 2011-06-28 at 22:32 +0200, Koen Kooi wrote: From http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/testlab/commit/?h=yoctoid=0d0e14cda2ddd881d09798b0e6edd8086aa9b6d9 +libc6 - libc6_dev; So libc6 now depends on libc6-dev :( I guess it would be straightforward to patch insane.bbclass to detect that particular failure (which does indeed seem to happen to libc distressingly often). It already diagnoses the case where a package erroneously depends on a -dbg package, and I can't think of any reason why the same logic couldn't be applied to -dev. I'd love to see a patch for this! :) Your wish, naturally, is my command. I've built micro-base-image with this and verified that I didn't get any false positives; I also checked (via some manual fiddling) that it did indeed detect the case that we want it to. I guess it might be a good idea for someone to test it with a slightly larger dataset before actually checking it in, just in case. Does it whitelist recipes that inherit task.bbclass? I have tasks used for beagleboard workshops that drag in the native toolchain and headers for the things we need to build against (e.g. opencv, qt). regards, Koen ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] eglibc-locale: fix localedef packaging
On Thu, 2011-06-30 at 13:24 +0200, Koen Kooi wrote: Does it whitelist recipes that inherit task.bbclass? I have tasks used for beagleboard workshops that drag in the native toolchain and headers for the things we need to build against (e.g. opencv, qt). No. The existing logic for -dbg packages, which I just reused for this case, does: if not -dbg in pkg and not task- in pkg and not -image in pkg: but it doesn't have a check for inheritance as such. If you can suggest a good way to identify recipes that have inherited task then I'd be happy to adjust the patch accordingly. p. ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] eglibc-locale: fix localedef packaging
Op 30 jun 2011, om 15:04 heeft Phil Blundell het volgende geschreven: On Thu, 2011-06-30 at 13:24 +0200, Koen Kooi wrote: Does it whitelist recipes that inherit task.bbclass? I have tasks used for beagleboard workshops that drag in the native toolchain and headers for the things we need to build against (e.g. opencv, qt). No. The existing logic for -dbg packages, which I just reused for this case, does: if not -dbg in pkg and not task- in pkg and not -image in pkg: but it doesn't have a check for inheritance as such. If you can suggest a good way to identify recipes that have inherited task then I'd be happy to adjust the patch accordingly. The current logic seems to do what I want, but I remember something about being able to do 'if inherits(task)', but that was about 5 years :) ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] eglibc testing?
On 06/30/2011 03:32 AM, Phil Blundell wrote: On Thu, 2011-06-16 at 16:18 -0700, Khem Raj wrote: Yes I think I should put together my mechanism somewhere and post it and dejaGNU setup I use for cross testing Did you get a chance to do this at all? so far no. Let me collect them and make sure they work thanks p. ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] eglibc-locale: fix localedef packaging
On Thu, 2011-06-30 at 12:17 +0100, Phil Blundell wrote: On Wed, 2011-06-29 at 14:49 +0100, Richard Purdie wrote: I'd love to see a patch for this! :) Your wish, naturally, is my command. I've built micro-base-image with this and verified that I didn't get any false positives; I also checked (via some manual fiddling) that it did indeed detect the case that we want it to. I guess it might be a good idea for someone to test it with a slightly larger dataset before actually checking it in, just in case. Thanks, I'll let Saul try this against a wider build and assuming it doesn't throw out too many issues we can get it merged. Cheers, Richard p. diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 35809b9..f7e5524 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -103,6 +103,7 @@ def package_qa_get_machine_dict(): # 8 - .la contains reference to the workdir # 9 - LDFLAGS ignored # 10 - Build paths in binaries +# 11 - package depends on devel package def package_qa_clean_path(path,d): Remove the common prefix from the path. In this case it is the TMPDIR @@ -134,6 +135,7 @@ def package_qa_write_error(error_class, name, path, d): .la contains reference to the workdir, LDFLAGS ignored, package contains reference to tmpdir paths, + package depends on devel package, ] log_path = os.path.join( bb.data.getVar('T', d, True), log.qa_package ) @@ -493,12 +495,14 @@ def package_qa_check_rdepends(pkg, pkgdest, d): # Now check the RDEPENDS rdepends = bb.utils.explode_deps(bb.data.getVar('RDEPENDS', localdata, True) or ) - # Now do the sanity check!!! for rdepend in rdepends: if -dbg in rdepend: error_msg = %s rdepends on %s % (pkgname,rdepend) sane = package_qa_handle_error(2, error_msg, pkgname, rdepend, d) + if (not -dev in pkg and not -staticdev in pkg) and rdepend.endswith(-dev): + error_msg = %s rdepends on %s % (pkgname, rdepend) +sane = package_qa_handle_error(11, error_msg, pkgname, rdepend, d) return sane ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] eglibc-locale: fix localedef packaging
On Thu, 2011-06-30 at 14:04 +0100, Phil Blundell wrote: On Thu, 2011-06-30 at 13:24 +0200, Koen Kooi wrote: Does it whitelist recipes that inherit task.bbclass? I have tasks used for beagleboard workshops that drag in the native toolchain and headers for the things we need to build against (e.g. opencv, qt). No. The existing logic for -dbg packages, which I just reused for this case, does: if not -dbg in pkg and not task- in pkg and not -image in pkg: but it doesn't have a check for inheritance as such. If you can suggest a good way to identify recipes that have inherited task then I'd be happy to adjust the patch accordingly. Would bb.data.inherits_class('task', d) help? Cheers, Richard ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] [PATCH] insane bbclass: turn fatal errors back into fatal errors
These were turned off by: commit fae8d5e985e9b05ce90f1eca434ad4dbf2259725 Author: Richard Purdie rpur...@linux.intel.com Date: Thu Jul 8 23:51:06 2010 +0100 insane.bbclass: Relax fatal errors for now until we get have time to work through the backlog The current metadata triggers so many of these that they need to be made fatal so people will actually fix them. Signed-off-by: Koen Kooi k...@dominion.thruhere.net --- meta/classes/insane.bbclass |1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index f7e5524..e06d2b2 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -115,7 +115,6 @@ def package_qa_make_fatal_error(error_class, name, path,d): TODO: Load a whitelist of known errors -return False return not error_class in [0, 5, 7, 8, 9] def package_qa_write_error(error_class, name, path, d): -- 1.6.6.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] insane bbclass: turn fatal errors back into fatal errors
On Thursday 30 June 2011 16:11:29 Koen Kooi wrote: These were turned off by: commit fae8d5e985e9b05ce90f1eca434ad4dbf2259725 Author: Richard Purdie rpur...@linux.intel.com Date: Thu Jul 8 23:51:06 2010 +0100 insane.bbclass: Relax fatal errors for now until we get have time to work through the backlog The current metadata triggers so many of these that they need to be made fatal so people will actually fix them. ... return not error_class in [0, 5, 7, 8, 9] So in principle I can agree that making these fatal again will make people sort out the problems that they are flagging up. However, why is class 7 - .desktop files being invalid - a fatal error, considering there are many sub- classes of invalidity being tested for with varying levels of significance? (This has probably been discussed on the OE list before but IMHO it merits revisiting if so.) Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] [PATCH] eglibc: fix merge conflict that wiped out RPs fixes for eglibc-dev breakage
Signed-off-by: Koen Kooi k...@dominion.thruhere.net --- meta/recipes-core/eglibc/eglibc-package.inc | 18 +- meta/recipes-core/eglibc/eglibc_2.12.bb |2 +- meta/recipes-core/eglibc/eglibc_2.13.bb |2 +- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/meta/recipes-core/eglibc/eglibc-package.inc b/meta/recipes-core/eglibc/eglibc-package.inc index f3d133b..5110063 100644 --- a/meta/recipes-core/eglibc/eglibc-package.inc +++ b/meta/recipes-core/eglibc/eglibc-package.inc @@ -104,13 +104,21 @@ inherit libc-common do_install_locale () { dest=${D}/${includedir}/eglibc-locale-internal-${MULTIMACH_TARGET_SYS} - install -d ${dest} ${dest}${bindir} - cp -fpPR ${D}${base_libdir} ${dest}${base_prefix} - cp -fpPR ${D}${libdir} ${dest}${exec_prefix} - cp -fpPR ${D}${datadir} ${dest}${exec_prefix} - cp -fpPR ${D}${bindir}/localedef ${dest}${bindir} + install -d ${dest}${base_libdir} ${dest}${bindir} ${dest}${libdir} ${dest}${datadir} + cp -fpPR ${D}${base_libdir}/* ${dest}${base_libdir} + cp -fpP ${D}${bindir}/localedef ${dest}${bindir} +mv ${D}${libdir}/gconv ${dest}${libdir} + cp -fpPR ${D}${libdir}/* ${dest}${libdir} +mv ${D}${datadir}/i18n ${dest}${datadir} + cp -fpPR ${D}${datadir}/* ${dest}${datadir} cp -fpPR ${WORKDIR}/SUPPORTED ${dest} } addtask do_install_locale after do_install before do_populate_sysroot +PACKAGE_PREPROCESS_FUNCS += eglibc_package_preprocess + +eglibc_package_preprocess () { + rm -rf ${PKGD}/${includedir}/eglibc-locale-internal-${MULTIMACH_TARGET_SYS} +} + diff --git a/meta/recipes-core/eglibc/eglibc_2.12.bb b/meta/recipes-core/eglibc/eglibc_2.12.bb index 85d58fa..fd7b485 100644 --- a/meta/recipes-core/eglibc/eglibc_2.12.bb +++ b/meta/recipes-core/eglibc/eglibc_2.12.bb @@ -1,7 +1,7 @@ require eglibc.inc DEPENDS += gperf-native -PR = r18 +PR = r19 SRCREV = 14158 diff --git a/meta/recipes-core/eglibc/eglibc_2.13.bb b/meta/recipes-core/eglibc/eglibc_2.13.bb index 7986131..be65787 100644 --- a/meta/recipes-core/eglibc/eglibc_2.13.bb +++ b/meta/recipes-core/eglibc/eglibc_2.13.bb @@ -4,7 +4,7 @@ SRCREV = 14157 DEPENDS += gperf-native FILESPATHPKG =. eglibc-svn: -PR = r5 +PR = r6 PR_append = +svnr${SRCPV} EGLIBC_BRANCH=eglibc-2_13 -- 1.6.6.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] insane bbclass: turn fatal errors back into fatal errors
Op 30 jun 2011, om 17:33 heeft Paul Eggleton het volgende geschreven: On Thursday 30 June 2011 16:11:29 Koen Kooi wrote: These were turned off by: commit fae8d5e985e9b05ce90f1eca434ad4dbf2259725 Author: Richard Purdie rpur...@linux.intel.com Date: Thu Jul 8 23:51:06 2010 +0100 insane.bbclass: Relax fatal errors for now until we get have time to work through the backlog The current metadata triggers so many of these that they need to be made fatal so people will actually fix them. ... return not error_class in [0, 5, 7, 8, 9] So in principle I can agree that making these fatal again will make people sort out the problems that they are flagging up. However, why is class 7 - .desktop files being invalid - a fatal error, considering there are many sub- classes of invalidity being tested for with varying levels of significance? (This has probably been discussed on the OE list before but IMHO it merits revisiting if so.) It's a white list, so: # 0 - non dev contains .so # 5 - .la contains installed=yes or reference to the workdir # 7 - the desktop file is not valid # 8 - .la contains reference to the workdir # 9 - LDFLAGS ignored Are warnings and # 1 - package contains a dangerous RPATH # 2 - package depends on debug package # 3 - non dbg contains .so # 4 - wrong architecture # 6 - .pc contains reference to /usr/include or workdir # 10 - Build paths in binaries # 11 - package depends on devel package Are fatal errors. The splits seems arbitrary to me, but it that's how it was last year before RP disabled all fatal errors. ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] eglibc-locale: fix localedef packaging
On 06/30/2011 07:54 AM, Richard Purdie wrote: On Thu, 2011-06-30 at 12:17 +0100, Phil Blundell wrote: On Wed, 2011-06-29 at 14:49 +0100, Richard Purdie wrote: I'd love to see a patch for this! :) Your wish, naturally, is my command. I've built micro-base-image with this and verified that I didn't get any false positives; I also checked (via some manual fiddling) that it did indeed detect the case that we want it to. I guess it might be a good idea for someone to test it with a slightly larger dataset before actually checking it in, just in case. Thanks, I'll let Saul try this against a wider build and assuming it doesn't throw out too many issues we can get it merged. Phil, Can I get this as a proper patch email with a clean header, I will start testing with below. Thanks Sau! Cheers, Richard p. diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 35809b9..f7e5524 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -103,6 +103,7 @@ def package_qa_get_machine_dict(): # 8 - .la contains reference to the workdir # 9 - LDFLAGS ignored # 10 - Build paths in binaries +# 11 - package depends on devel package def package_qa_clean_path(path,d): Remove the common prefix from the path. In this case it is the TMPDIR @@ -134,6 +135,7 @@ def package_qa_write_error(error_class, name, path, d): .la contains reference to the workdir, LDFLAGS ignored, package contains reference to tmpdir paths, + package depends on devel package, ] log_path = os.path.join( bb.data.getVar('T', d, True), log.qa_package ) @@ -493,12 +495,14 @@ def package_qa_check_rdepends(pkg, pkgdest, d): # Now check the RDEPENDS rdepends = bb.utils.explode_deps(bb.data.getVar('RDEPENDS', localdata, True) or ) - # Now do the sanity check!!! for rdepend in rdepends: if -dbg in rdepend: error_msg = %s rdepends on %s % (pkgname,rdepend) sane = package_qa_handle_error(2, error_msg, pkgname, rdepend, d) + if (not -dev in pkg and not -staticdev in pkg) and rdepend.endswith(-dev): + error_msg = %s rdepends on %s % (pkgname, rdepend) +sane = package_qa_handle_error(11, error_msg, pkgname, rdepend, d) return sane ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] insane bbclass: turn fatal errors back into fatal errors
On 06/30/2011 08:11 AM, Koen Kooi wrote: These were turned off by: commit fae8d5e985e9b05ce90f1eca434ad4dbf2259725 Author: Richard Purdie rpur...@linux.intel.com Date: Thu Jul 8 23:51:06 2010 +0100 insane.bbclass: Relax fatal errors for now until we get have time to work through the backlog The current metadata triggers so many of these that they need to be made fatal so people will actually fix them. Signed-off-by: Koen Kooi k...@dominion.thruhere.net Given that a number of them can probably just be pulled from oe.dev as fixes too: Acked-by: Tom Rini tom_r...@mentor.com --- meta/classes/insane.bbclass |1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index f7e5524..e06d2b2 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -115,7 +115,6 @@ def package_qa_make_fatal_error(error_class, name, path,d): TODO: Load a whitelist of known errors -return False return not error_class in [0, 5, 7, 8, 9] def package_qa_write_error(error_class, name, path, d): -- Tom Rini Mentor Graphics Corporation ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] insane bbclass: turn fatal errors back into fatal errors
On Thursday 30 June 2011 16:49:57 Koen Kooi wrote: It's a white list, so: # 0 - non dev contains .so # 5 - .la contains installed=yes or reference to the workdir # 7 - the desktop file is not valid # 8 - .la contains reference to the workdir # 9 - LDFLAGS ignored Are warnings and # 1 - package contains a dangerous RPATH # 2 - package depends on debug package # 3 - non dbg contains .so # 4 - wrong architecture # 6 - .pc contains reference to /usr/include or workdir # 10 - Build paths in binaries # 11 - package depends on devel package Are fatal errors. The splits seems arbitrary to me, but it that's how it was last year before RP disabled all fatal errors. OK, comprehension fail on my part, sorry. Good to have them listed out explicitly though, thanks for that. The fatal errors are definitely not good things to be allowing through if we can avoid it. Without checking, do you have a handle on how many of these we would have to fix in OE-core to make it build without fatal errors? Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] insane bbclass: turn fatal errors back into fatal errors
On 6/30/11 10:58 AM, Tom Rini wrote: On 06/30/2011 08:11 AM, Koen Kooi wrote: These were turned off by: commit fae8d5e985e9b05ce90f1eca434ad4dbf2259725 Author: Richard Purdie rpur...@linux.intel.com Date: Thu Jul 8 23:51:06 2010 +0100 insane.bbclass: Relax fatal errors for now until we get have time to work through the backlog The current metadata triggers so many of these that they need to be made fatal so people will actually fix them. Signed-off-by: Koen Kooi k...@dominion.thruhere.net Given that a number of them can probably just be pulled from oe.dev as fixes too: Acked-by: Tom Rini tom_r...@mentor.com I'm really worried about the current warnings/QA issues that keep coming up.. so I agree we really need to do this.. (note, we also really need to tell people to expect some breakage as we go and fix the mess!) Acked-by: Mark Hatle mark.ha...@windriver.com --- meta/classes/insane.bbclass |1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index f7e5524..e06d2b2 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -115,7 +115,6 @@ def package_qa_make_fatal_error(error_class, name, path,d): TODO: Load a whitelist of known errors -return False return not error_class in [0, 5, 7, 8, 9] def package_qa_write_error(error_class, name, path, d): ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 1/1] combo-layer-tool: add tool to manipulate combo layer
Hi Ke, So I've tested this now, apologies for taking so long. Updating with filtering works well. Unfortunately when I tested splitpatch it didn't seem to be working - instead of getting the HEAD commit split out into patches for the each components of the combo repo, I just get semi-random patches for each component. I haven't looked at the code to see what's going wrong yet, I suspect you're quite busy with multilib so I might have to do that. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] Tune files and knobs to turn
On 06/28/2011 10:36 AM, Darren Hart wrote: On 06/24/2011 04:54 AM, Koen Kooi wrote: Hi, We discussed tune files a bit during last nights TSC meeting and Khem had expressed the need before, so I'd like to get this discussion started by using armv7a as an example. For armv7a capable cores we have the following hardware features: * armv7a instruction set * thumb1 instruction set * thumb2 instruction set * VFP coprocessor * optional NEON coprocessor For the ABI we can choose the following: * softtp without hw support (e.g. no VFP instructions emitted, slow) * softfp with hw support (e.g. VFP and/or NEON instructions emitted, fast) * hardfp, emits VFP and/or NEON instructions, slightly faster than softfp/hw, incompatible with everything else And the extra knobs: * pure thumb1, no arm instructions (limited use) * thumb1/arm interworking * pure thumb2, no arm instructions * thumb2 interworking (not sure if that's actually usefull, thumb2 has complete coverage) In OE .dev we have the following vars: TARGET_FPU: switches between hw float and sw float, no reflection in package arch ARM_FP_ABI: switches between softfp and hardfp, will create 'armv7a' or 'armv7a-hardfp' as package arch ARM_INSTRUCTION_SET: switches between arm and thumb1, no reflection in package arch THUMB_INTERWORK: turns on interworking, no reflection in package arch (side note, oe-core/distroless and meta-yocto/poky don't turn set TARGET_FPU for armv7a and will generate slow code, angstrom does turn it on) oe-core tune-cortexa8.inc doesn't make use of these variables (unlike meta-texasinstruments) and does make use of the neon coprocessor, but still uses the softfp float-api: TARGET_CC_ARCH = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fno-tree-vectorize What's with the -fno-tree-vectorize? I had someone point out to me that the TI wiki recommends turning that on, even outside of -O3 (which enables it by default). -- Tom Rini Mentor Graphics Corporation ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] Proposal: recipe feature switches
We're looking to base an embedded development on oe-core in the near future, and one of the things we must have is the ability to configure features in/out of recipes per distro. At the moment some recipes have a configuration / set of dependencies baked in to the recipe. For example, gstreamer has theora, ogg and vorbis hard-coded in to it's EXTRA_OECONF and DEPENDS. Currently, you'd have to override the DEPENDS and EXTRA_OECONF for the recipe in the distro layer - which means moving knowledge about what EXTRA_OECONF flags bring in which dependencies outside of the recipe. It seems that this metadata is better contained in the recipe. I'm proposing something along the lines of the following: diff --git a/meta/classes/utils.bbclass b/meta/classes/utils.bbclass index 9930a24..4f1c54f 100644 --- a/meta/classes/utils.bbclass +++ b/meta/classes/utils.bbclass @@ -84,6 +84,15 @@ def oe_system(d, cmd, **kwargs): kwargs[shell] = True return oe_popen(d, cmd, **kwargs).wait() +def oe_package_feature_switch(feature, switch_on, switch_off, dependencies, d): +oeconf = d.getVar(EXTRA_OECONF, True) +if feature in d.getVar(PACKAGE_FEATURES, True).split(): +d.setVar(EXTRA_OECONF, oeconf + + switch_on) +depends = d.getVar(DEPENDS, True) +d.setVar(DEPENDS, depends + + dependencies) +else: +d.setVar(EXTRA_OECONF, oeconf + + switch_off) + oe_soinstall() { # Purpose: Install shared library file and # create the necessary links diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb index f81011f..6fc6405 100644 --- a/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb @@ -6,10 +6,12 @@ LIC_FILES_CHKSUM = file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \ file://gst/ffmpegcolorspace/utils.c;beginline=1;endline=20;md5=9c83a200b8e597b26ca29df20fc6ecd0 -DEPENDS += virtual/libx11 alsa-lib freetype gnome-vfs liboil libogg libvorbis libxv libtheora avahi util-linux tremor +DEPENDS += virtual/libx11 alsa-lib freetype gnome-vfs liboil libxv avahi util-linux tremor RDEPENDS_${PN} += gnome-vfs-plugin-file gnome-vfs-plugin-http gnome-vfs-plugin-ftp \ gnome-vfs-plugin-sftp +PACKAGE_FEATURES ?= ogg vorbis theora + SRC_URI += file://gst-plugins-base-tremor.patch SRC_URI[md5sum] = 2920af2b3162f3d9fbaa7fabc8ed4d38 @@ -21,6 +23,12 @@ inherit gettext EXTRA_OECONF += --disable-freetypetest --disable-pango +python () { + oe_package_feature_switch(ogg, --enable-ogg, --disable-ogg, libogg, d) + oe_package_feature_switch(vorbis, --enable-vorbis, --disable-vorbis, libvorbis, d) + oe_package_feature_switch(theora, --enable-theora, --disable-theora, libtheora, d) +} + do_configure_prepend() { # This m4 file contains nastiness which conflicts with libtool 2.2.2 rm -f ${S}/m4/lib-link.m4 Then in your layer, you could configure which plugins gstreamer should be built with like this: PACKAGE_FEATURES_pn-gst-plugins-base = ogg theora Or just filter out the package features that you don't want. With a little extra work, it would also be possible to check the list of package features a distro layer requests against those the recipe actually implements. Then we could get an early warning when we pull oe-core and a recipe has stopped implementing a feature. Cheers, Chris. ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] Tune files and knobs to turn
Op 30 jun 2011, om 18:02 heeft Tom Rini het volgende geschreven: On 06/28/2011 10:36 AM, Darren Hart wrote: On 06/24/2011 04:54 AM, Koen Kooi wrote: Hi, We discussed tune files a bit during last nights TSC meeting and Khem had expressed the need before, so I'd like to get this discussion started by using armv7a as an example. For armv7a capable cores we have the following hardware features: * armv7a instruction set * thumb1 instruction set * thumb2 instruction set * VFP coprocessor * optional NEON coprocessor For the ABI we can choose the following: * softtp without hw support (e.g. no VFP instructions emitted, slow) * softfp with hw support (e.g. VFP and/or NEON instructions emitted, fast) * hardfp, emits VFP and/or NEON instructions, slightly faster than softfp/hw, incompatible with everything else And the extra knobs: * pure thumb1, no arm instructions (limited use) * thumb1/arm interworking * pure thumb2, no arm instructions * thumb2 interworking (not sure if that's actually usefull, thumb2 has complete coverage) In OE .dev we have the following vars: TARGET_FPU: switches between hw float and sw float, no reflection in package arch ARM_FP_ABI: switches between softfp and hardfp, will create 'armv7a' or 'armv7a-hardfp' as package arch ARM_INSTRUCTION_SET: switches between arm and thumb1, no reflection in package arch THUMB_INTERWORK: turns on interworking, no reflection in package arch (side note, oe-core/distroless and meta-yocto/poky don't turn set TARGET_FPU for armv7a and will generate slow code, angstrom does turn it on) oe-core tune-cortexa8.inc doesn't make use of these variables (unlike meta-texasinstruments) and does make use of the neon coprocessor, but still uses the softfp float-api: TARGET_CC_ARCH = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fno-tree-vectorize What's with the -fno-tree-vectorize? I had someone point out to me that the TI wiki recommends turning that on, even outside of -O3 (which enables it by default). Real world experience with gcc 4.3 and 4.5 has shown that gcc is shockingly bad at vectorizing for NEON, so you need this unbreak-me option to avoid slowdowns. It might be less bad on cortex-a9 or a15, but for A8 not vectorizing is a net win. ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] Tune files and knobs to turn
On Thu, 2011-06-30 at 19:41 +0200, Koen Kooi wrote: Real world experience with gcc 4.3 and 4.5 has shown that gcc is shockingly bad at vectorizing for NEON, so you need this unbreak-me option to avoid slowdowns. It might be less bad on cortex-a9 or a15, but for A8 not vectorizing is a net win. What does it do wrong? I'm slightly surprised that not making any attempt to vectorize at all is better than trying to vectorize and not doing very well at it. p. ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] [PATCH] linux-firmware: Add Realtex rt8192* firmwares
This patch adds the firmware files for: * rt8192cu * rt8192ce * rt8192su Signed-off-by: Michael Lippautz michael.lippa...@gmail.com --- .../linux-firmware/linux-firmware_git.bb | 39 +++- 1 files changed, 37 insertions(+), 2 deletions(-) diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb index 3d822c5..bdeb264 100644 --- a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb +++ b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb @@ -2,6 +2,9 @@ DESCRIPTION = Firmware files for use with Linux kernel SECTION = kernel LICENSE = Proprietary LICENSE_${PN}-sd8686 = Firmware:LICENSE.libertas +LICENSE_${PN}-rtl8192cu = Firmware:LICENCE.rtlwifi_firmware +LICENSE_${PN}-rtl8192ce = Firmware:LICENCE.rtlwifi_firmware +LICENSE_${PN}-rtl8192su = Firmware:LICENCE.rtlwifi_firmware LIC_FILES_CHKSUM = file://LICENSE.radeon_rlc;md5=4c243f7854d2884b483abda991adef43 \ file://LICENSE.dib0700;md5=f7411825c8a555a1a3e5eab9ca773431 \ @@ -14,12 +17,14 @@ LIC_FILES_CHKSUM = file://LICENSE.radeon_rlc;md5=4c243f7854d2884b483abda991adef file://LICENCE.i2400m;md5=14b901969e23c41881327c0d9e4b7d36 \ file://LICENCE.atheros_firmware;md5=62748c8fecfa12010fd76409db4b5459 \ file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \ + file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \ -PROVIDES += linux-firmware-sd8686 +PROVIDES += linux-firmware-sd8686 linux-firmware-rtl8192cu linux-firmware-rtl8192ce linux-firmware-rtl8192su SRCREV = 40c0f950be7040614dc45df54e25e54d00e3b73b PV = 0.0+git${SRCPV} +PR = r1 SRC_URI = git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git;protocol=git @@ -35,12 +40,42 @@ do_install() { install -m 0666 libertas/sd8686_v9.bin ${D}/lib/firmware/sd8686.bin install -m 0666 libertas/sd8686_v9_helper.bin ${D}/lib/firmware/sd8686_helper.bin install -m 0666 LICENCE.libertas ${D}/lib/firmware/ + # Realtek rtl8192* + install -d ${D}/lib/firmware/rtlwifi/ + install -m 0666 rtlwifi/rtl8192cufw.bin ${D}/lib/firmware/rtlwifi/rtl8192cufw.bin + install -m 0666 rtlwifi/rtl8192cfw.bin ${D}/lib/firmware/rtlwifi/rtl8192cfw.bin + install -m 0666 rtlwifi/rtl8712u.bin ${D}/lib/firmware/rtlwifi/rtl8712u.bin + install -m 0666 LICENCE.rtlwifi_firmware.txt ${D}/lib/firmware/rtlwifi/LICENCE.rtlwifi_firmware.txt } -PACKAGES = ${PN}-sd8686 +PACKAGES = ${PN}-sd8686 ${PN}-rtl8192cu linux-firmware-rtl8192ce linux-firmware-rtl8192su FILES_${PN}-sd8686 = /lib/firmware/sd8686* /lib/firmware/LICENCE.libertas RPROVIDES_${PN}-sd8686 = ${PN}-sd8686 +FILES_${PN}-rtl8192cu = \ + /lib/firmware/rtlwifi/rtl8192cufw.bin \ + /lib/firmware/rtlwifi/LICENCE.rtlwifi_firmware.txt \ + +RPROVIDES_${PN}-rtl8192cu = ${PN}-rtl8192cu + +FILES_${PN}-rtl8192cu = \ + /lib/firmware/rtlwifi/rtl8192cufw.bin \ + /lib/firmware/rtlwifi/LICENCE.rtlwifi_firmware.txt \ + +RPROVIDES_${PN}-rtl8192cu = ${PN}-rtl8192cu + +FILES_${PN}-rtl8192ce = \ + /lib/firmware/rtlwifi/rtl8192cfw.bin \ + /lib/firmware/rtlwifi/LICENCE.rtlwifi_firmware.txt \ + +RPROVIDES_${PN}-rtl8192ce = ${PN}-rtl8192ce + +FILES_${PN}-rtl8192su = \ + /lib/firmware/rtlwifi/rtl8712u.bin \ + /lib/firmware/rtlwifi/LICENCE.rtlwifi_firmware.txt \ + +RPROVIDES_${PN}-rtl8192su = ${PN}-rtl8192su + PACKAGE_ARCH = all -- 1.7.3.4 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] Adding an external toolchain to oe-core
Hi folks, We have been working to support a Codesourcery Lite MIPS toolchain recently. RP__ (on IRC) asked me to write up the process such that others may benefit from our experiences. Aside: I think this information would probably be best hosted on a wiki, so once we've made any required changes I will seek to post this on the OpenEmbedded wiki. Let me know where I should put it. Toolchain addition writeup follows: We wanted to add support in oe-core for a Codesourcery Lite MIPS toolchain. The toolchain we targetted was a legacy release based around gcc-4.2. Toolchain binaries and release notes can be obtained from the Codesourcery website: http://www.codesourcery.com/sgpp/lite/mips/portal/subscription3130 # Step 0: install the toolchain on your development host The recipes we create for the external toolchain expect that the toolchain has been downloaded from the Codesourcery website and installed onto the development host. We downloaded the tarball version of the toolchain and installed it under /usr. # Step 1: create recipes for the new toolchain Taking the existing recipes for the CSL 2008q3 as a template, we cloned the following files: cp meta/conf/distro/include/tcmode-external-csl2008q3.inc \ meta/conf/distro/include/tcmode-external-csl-mips-4.2-177.inc cp meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb \ meta/recipes-core/meta/external-csl-toolchain_mips-4.2-177.bb Unlike OpenEmbedded (or Poky), oe-core doesn't directly make use of the distro concept; and so toolchain and libc choices are controlled directly from local.conf. To use the new MIPS toolchain, add the following to local.conf: TCMODE = external-csl-mips-4.2-177 TCLIBC = glibc # Step 2: fix up toolchain recipe bitrot The CSL 2008q3 recipe we cloned seems to have bitrotted a bit relative to the current oe-core tree. We had to make the following changes to allow our new mips-4.2 recipes to work: * Rework the do_configure_prepend() function in libc-package.bbclass as a task added to the queue before do_configure(). This allowed us to override the function in the toolchain recipe which inherits from libc-package. * Add a LIC_FILES_CHECKSUM variable to the toolchain recipe. * Replace hardcoded target prefixes with TARGET_PREFIX. * Add libgcc and compilerlibs to the toolchain PROVIDES list. # Step 3: tell OE that the toolchain provides locale information The CSL MIPS toolchain provides locale information out of the box, so we modified the toolchain recipe to suit by setting GLIBC_INTERNAL_USE_BINARY_LOCALE to precompiled. You have to also set ENABLE_BINARY_LOCALE_GENERATION to 0 in local.conf to prevent this setting getting overridden, though! # Step 4: hack around the non-standard toolchain naming convention OE expects toolchain naming to align with the target prefix, e.g. arch-vendor-os- The CSL toolchain is named slightly differently: mips-linux-gnu- To work around this we set the variables TARGET_VENDOR and TARGET_OS appropriately in the toolchain include file: TARGET_VENDOR = TARGET_OS = linux-gnu To allow us to do this without tclibc-glibc.inc overriding the setting of TARGET_OS we had to change the assignment of TARGET_OS in tclibc-glibc.inc (to use ?= rather than =). In order to have the rest of OE recognise our new target prefix, we had to modify two lookup tables: one in siteinfo.bbclass, and one in insane.bbclass. # Step 5: fix up packages which depend on features CSL doesn't have The CSL MIPS toolchain is built around sanitised kernel headers from a 2.6.24 kernel. Various packages in the oe-core tree play poorly with these headers, so we had to make a series of fixes for these issues. * Update to util-linux-2.19.1 for changes to better deal with kernels which don't support fallocate. * Add extra patches to the OpenSSL configure script to support a linux-gnu-mips target. * Add a missing header include in glib for targets which have no inline asm atomic implementation in the glib tree. MIPS is such a target! * Use busybox mdev rather than udev. Udev wants libc to support O_CLOEXEC, which isn't the case for the libc headers included in the CSL toolchain. # Step 6: endianness specification Typically cross-compiling MIPS toolchains reflect which endianness they support by default in their naming, e.g. mipsel for little endian targets, and mips for big endian targets. The CSL MIPS toolchain supports both little and big endian targets with the same toolchain with the mips prefix. Endianness is specified using the -EL and -EB arguments to gcc. OE doesn't expect this to be the case, so we had to make some modifications to ensure that the endianness arguments were correctly provided to gcc throughout the build. -- Tom Parkin Senior Software Engineer Pace Plc Bringing Technology Home Victoria Road, Saltaire, West Yorkshire, BD18 3LF, United
Re: [OE-core] [PATCH] webkit-gtk: fix packaging
ping Op 24 jun 2011, om 16:00 heeft Koen Kooi het volgende geschreven: Somewhere in the past webkit changed from webkit-x to webkitgtk-x but the person updating the recipe didn't catch that Signed-off-by: Koen Kooi k...@dominion.thruhere.net --- meta/recipes-sato/webkit/webkit-gtk_svn.bb |9 + 1 files changed, 5 insertions(+), 4 deletions(-) diff --git a/meta/recipes-sato/webkit/webkit-gtk_svn.bb b/meta/recipes-sato/webkit/webkit-gtk_svn.bb index 6d134ad..af43ae8 100644 --- a/meta/recipes-sato/webkit/webkit-gtk_svn.bb +++ b/meta/recipes-sato/webkit/webkit-gtk_svn.bb @@ -14,7 +14,7 @@ SRCREV_FORMAT = webcore-rwebkit SRCREV = 72836 PV = 1.3.7+svnr${SRCPV} -PR = r1 +PR = r2 SRC_URI = \ svn://svn.webkit.org/repository/webkit/trunk/;module=JavaScriptCore;proto=http \ @@ -71,8 +71,9 @@ PACKAGES =+ ${PN}-webinspector ${PN}launcher-dbg ${PN}launcher libjavascriptcor FILES_${PN}launcher = ${bindir}/GtkLauncher FILES_${PN}launcher-dbg = ${bindir}/.debug/GtkLauncher FILES_libjavascriptcore = ${libdir}/libJavaScriptCore.so.* -FILES_${PN}-webinspector = ${datadir}/webkit-1.0/webinspector/ -FILES_${PN} += ${datadir}/webkit-1.0/resources/error.html ${datadir}/webkit-1.0/images - +FILES_${PN}-webinspector = ${datadir}/webkitgtk-*/webinspector/ +FILES_${PN} += ${datadir}/webkit-*/resources/error.html \ +${datadir}/webkitgtk-*/images \ +${datadir}/glib-2.0/schemas -- 1.6.6.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] linux-libc-headers: add 2.6.39
ping Op 21 jun 2011, om 15:59 heeft Koen Kooi het volgende geschreven: The 2.6.37.2 version is kept to allow the qemu kernels and libc headers version to match --- .../linux-libc-headers_2.6.39.bb | 49 1 files changed, 49 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.39.bb diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.39.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.39.bb new file mode 100644 index 000..65c19ec --- /dev/null +++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.39.bb @@ -0,0 +1,49 @@ +require linux-libc-headers.inc + +INHIBIT_DEFAULT_DEPS = 1 +DEPENDS += unifdef-native + +SRC_URI += file://connector-msg-size-fix.patch +SRC_URI[md5sum] = 1aab7a741abe08d42e8eccf20de61e05 +SRC_URI[sha256sum] = 584d17f2a3ee18a9501d7ff36907639e538cfdba4529978b8550c461d45c61f6 + +S = ${WORKDIR}/linux-${PV} + +set_arch() { + case ${TARGET_ARCH} in + alpha*) ARCH=alpha ;; + arm*) ARCH=arm ;; + cris*)ARCH=cris ;; + hppa*)ARCH=parisc ;; + i*86*)ARCH=i386 ;; + ia64*)ARCH=ia64 ;; + mips*)ARCH=mips ;; + m68k*)ARCH=m68k ;; + powerpc*) ARCH=powerpc ;; + s390*)ARCH=s390 ;; + sh*) ARCH=sh ;; + sparc64*) ARCH=sparc64 ;; + sparc*) ARCH=sparc ;; + x86_64*) ARCH=x86_64 ;; + avr32*) ARCH=avr32 ;; + bfin*)ARCH=blackfin ;; + microblaze*) ARCH=microblaze ;; + esac +} + +do_configure() { + set_arch + oe_runmake allnoconfig ARCH=$ARCH +} + +do_compile () { +} + +do_install() { + set_arch + oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix} ARCH=$ARCH + # Kernel should not be exporting this header + rm -f ${D}${exec_prefix}/include/scsi/scsi.h +} + +BBCLASSEXTEND = nativesdk -- 1.6.6.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] kernel.bbclass ERROR: QA Issue: Architecture did not match (40 to 62)
I'm going to be mailing out the errors I'm setting with the reinstated insane.bbclass, here are the first ones: ERROR: QA Issue: Architecture did not match (40 to 62) on /work/archos5it-angstrom-linux-gnueabi/linux-omap-archos-2.6.27.10-omap1-r101/packages-split/kernel-misc/kernel/scripts/kconfig/conf.o ERROR: QA Issue: Architecture did not match (40 to 62) on /work/archos5it-angstrom-linux-gnueabi/linux-omap-archos-2.6.27.10-omap1-r101/packages-split/kernel-misc/kernel/scripts/kconfig/zconf.tab.o ERROR: QA Issue: Architecture did not match (40 to 62) on /work/archos5it-angstrom-linux-gnueabi/linux-omap-archos-2.6.27.10-omap1-r101/packages-split/kernel-misc/kernel/scripts/kconfig/kxgettext.o ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] insane bbclass: turn fatal errors back into fatal errors
Op 30 jun 2011, om 18:08 heeft Mark Hatle het volgende geschreven: On 6/30/11 10:58 AM, Tom Rini wrote: On 06/30/2011 08:11 AM, Koen Kooi wrote: These were turned off by: commit fae8d5e985e9b05ce90f1eca434ad4dbf2259725 Author: Richard Purdie rpur...@linux.intel.com Date: Thu Jul 8 23:51:06 2010 +0100 insane.bbclass: Relax fatal errors for now until we get have time to work through the backlog The current metadata triggers so many of these that they need to be made fatal so people will actually fix them. Signed-off-by: Koen Kooi k...@dominion.thruhere.net Given that a number of them can probably just be pulled from oe.dev as fixes too: Acked-by: Tom Rini tom_r...@mentor.com I'm really worried about the current warnings/QA issues that keep coming up.. so I agree we really need to do this.. (note, we also really need to tell people to expect some breakage as we go and fix the mess!) During todays TSC meeting the proposed date to switch was the 11th and encourage people to start fixing things *NOW*. What are peoples thought on that? regards, Koen ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] insane bbclass: turn fatal errors back into fatal errors
On 06/30/2011 01:35 PM, Koen Kooi wrote: Op 30 jun 2011, om 18:08 heeft Mark Hatle het volgende geschreven: On 6/30/11 10:58 AM, Tom Rini wrote: On 06/30/2011 08:11 AM, Koen Kooi wrote: These were turned off by: commit fae8d5e985e9b05ce90f1eca434ad4dbf2259725 Author: Richard Purdierpur...@linux.intel.com Date: Thu Jul 8 23:51:06 2010 +0100 insane.bbclass: Relax fatal errors for now until we get have time to work through the backlog The current metadata triggers so many of these that they need to be made fatal so people will actually fix them. Signed-off-by: Koen Kooik...@dominion.thruhere.net Given that a number of them can probably just be pulled from oe.dev as fixes too: Acked-by: Tom Rinitom_r...@mentor.com I'm really worried about the current warnings/QA issues that keep coming up.. so I agree we really need to do this.. (note, we also really need to tell people to expect some breakage as we go and fix the mess!) During todays TSC meeting the proposed date to switch was the 11th and encourage people to start fixing things *NOW*. What are peoples thought on that? Sounds like an excellent compromise! Scott -- Scott Garman Embedded Linux Engineer - Yocto Project Intel Open Source Technology Center ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 1/2] consolekit 0.4.5: add pam support based on distro features
On Sat, 2011-06-25 at 11:24 +0200, Koen Kooi wrote: Signed-off-by: Koen Kooi k...@dominion.thruhere.net --- .../recipes-support/consolekit/consolekit_0.4.5.bb | 13 ++--- 1 files changed, 10 insertions(+), 3 deletions(-) Merged to master, thanks. Richard ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] webkit-gtk: fix packaging
On Fri, 2011-06-24 at 16:00 +0200, Koen Kooi wrote: Somewhere in the past webkit changed from webkit-x to webkitgtk-x but the person updating the recipe didn't catch that Signed-off-by: Koen Kooi k...@dominion.thruhere.net Merged to master, thanks. Richard ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] linux-libc-headers: add 2.6.39
On Tue, 2011-06-21 at 15:59 +0200, Koen Kooi wrote: The 2.6.37.2 version is kept to allow the qemu kernels and libc headers version to match --- .../linux-libc-headers_2.6.39.bb | 49 1 files changed, 49 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.39.bb Merged to master, thanks. Richard ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 2/2] consolekit 0.4.5: remove patch that forcibly disables consolekit
On Sat, 2011-06-25 at 11:24 +0200, Koen Kooi wrote: Polkit support is actually needed for consolekit to function properly, without you get things like: ** (gnome-panel:547): WARNING **: Could not ask session manager if shut down is available: Timeout was reached Various applications will timeout and less well written ones will crash (e.g. the clock applet). Signed-off-by: Koen Kooi k...@dominion.thruhere.net Merged to master, thanks. Richard ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] Adding an external toolchain to oe-core
Hi, On Thu, 2011-06-30 at 18:26 +0100, Tom Parkin wrote: We have been working to support a Codesourcery Lite MIPS toolchain recently. RP__ (on IRC) asked me to write up the process such that others may benefit from our experiences. Aside: I think this information would probably be best hosted on a wiki, so once we've made any required changes I will seek to post this on the OpenEmbedded wiki. Let me know where I should put it. I really appreciate this writeup, thanks! Before we put this on the wiki do you think you'd be able to help us clean up this process as I think we can make this easier for people? If you are willing, I'd like to propose we drop the old 2008q3 .bb files and replace them with ones from the toolchain you've worked with so its a working example. I'd then like to find ways to allow this to work out the box rather than needing as much hacking to OE-Core such as the TARGET_OS change. Toolchain addition writeup follows: We wanted to add support in oe-core for a Codesourcery Lite MIPS toolchain. The toolchain we targetted was a legacy release based around gcc-4.2. Toolchain binaries and release notes can be obtained from the Codesourcery website: http://www.codesourcery.com/sgpp/lite/mips/portal/subscription3130 # Step 0: install the toolchain on your development host The recipes we create for the external toolchain expect that the toolchain has been downloaded from the Codesourcery website and installed onto the development host. We downloaded the tarball version of the toolchain and installed it under /usr. # Step 1: create recipes for the new toolchain Taking the existing recipes for the CSL 2008q3 as a template, we cloned the following files: cp meta/conf/distro/include/tcmode-external-csl2008q3.inc \ meta/conf/distro/include/tcmode-external-csl-mips-4.2-177.inc cp meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb \ meta/recipes-core/meta/external-csl-toolchain_mips-4.2-177.bb Unlike OpenEmbedded (or Poky), oe-core doesn't directly make use of the distro concept; and so toolchain and libc choices are controlled directly from local.conf. To use the new MIPS toolchain, add the following to local.conf: TCMODE = external-csl-mips-4.2-177 TCLIBC = glibc # Step 2: fix up toolchain recipe bitrot The CSL 2008q3 recipe we cloned seems to have bitrotted a bit relative to the current oe-core tree. We had to make the following changes to allow our new mips-4.2 recipes to work: * Rework the do_configure_prepend() function in libc-package.bbclass as a task added to the queue before do_configure(). This allowed us to override the function in the toolchain recipe which inherits from libc-package. * Add a LIC_FILES_CHECKSUM variable to the toolchain recipe. * Replace hardcoded target prefixes with TARGET_PREFIX. * Add libgcc and compilerlibs to the toolchain PROVIDES list. These issues should get addressed if you were able to provide new toolchain recipes? # Step 3: tell OE that the toolchain provides locale information The CSL MIPS toolchain provides locale information out of the box, so we modified the toolchain recipe to suit by setting GLIBC_INTERNAL_USE_BINARY_LOCALE to precompiled. You have to also set ENABLE_BINARY_LOCALE_GENERATION to 0 in local.conf to prevent this setting getting overridden, though! Ouch, we should find a way for the local.conf setting not to be needed. # Step 4: hack around the non-standard toolchain naming convention OE expects toolchain naming to align with the target prefix, e.g. arch-vendor-os- The CSL toolchain is named slightly differently: mips-linux-gnu- To work around this we set the variables TARGET_VENDOR and TARGET_OS appropriately in the toolchain include file: TARGET_VENDOR = TARGET_OS = linux-gnu To allow us to do this without tclibc-glibc.inc overriding the setting of TARGET_OS we had to change the assignment of TARGET_OS in tclibc-glibc.inc (to use ?= rather than =). This is probably going to be the hardest issue to fix. I would like to find a way to do it but that variable is tricky to handle for various reasons... In order to have the rest of OE recognise our new target prefix, we had to modify two lookup tables: one in siteinfo.bbclass, and one in insane.bbclass. I wonder if we can use some wildcards or some other mechanism to avoid that. # Step 5: fix up packages which depend on features CSL doesn't have The CSL MIPS toolchain is built around sanitised kernel headers from a 2.6.24 kernel. Various packages in the oe-core tree play poorly with these headers, so we had to make a series of fixes for these issues. * Update to util-linux-2.19.1 for changes to better deal with kernels which don't support fallocate. * Add extra patches to the OpenSSL configure script to support a linux-gnu-mips target.
Re: [OE-core] [PATCH] binutils: allow distro to select gold as default linker
On Mon, 2011-06-27 at 16:51 +0100, Phil Blundell wrote: But ensure that gcc-cross-intermediate always uses ld.bfd since (e)glibc won't build with gold. Signed-off-by: Phil Blundell ph...@gnu.org Merged to master, thanks. Richard ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 1/2] qemu.inc: append to IMAGE_FSTYPES instead of weakly assigning them
ping Op 12 jun 2011, om 18:26 heeft Koen Kooi het volgende geschreven: The ext3 format is pretty much mandatory for qemu usage, so always create it. Signed-off-by: Koen Kooi k...@dominion.thruhere.net --- meta/conf/machine/include/qemu.inc |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc index 9ef242f..e908f69 100644 --- a/meta/conf/machine/include/qemu.inc +++ b/meta/conf/machine/include/qemu.inc @@ -3,7 +3,7 @@ PREFERRED_PROVIDER_virtual/xserver ?= xserver-kdrive MACHINE_FEATURES = kernel26 apm alsa pcmcia bluetooth irda usbgadget screen -IMAGE_FSTYPES ?= tar.bz2 ext3 +IMAGE_FSTYPES += tar.bz2 ext3 ROOT_FLASH_SIZE = 280 -- 1.6.6.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [btrfs patch 0/6] enable btrfs images
On Tue, 2011-06-21 at 13:27 -0700, nitin.a.kam...@intel.com wrote: From: Nitin A Kamble nitin.a.kam...@intel.com These patches enable the btrfs image support in the poky tree. Other than kernel parts all the parts are ready here. linux-yocto-2.6.37 kernel need some work to get latest btrfs working, and that part will be sent separately. The following changes since commit 2163461ec94528ecf046a04edc5db3d2dd3a6b8b: systemtap: remove non-core COMPATIBLE_MACHINES (2011-06-16 22:14:06 +0100) are available in the git repository at: git://git.pokylinux.org/poky-contrib nitin/btrfs http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin/btrfs Nitin A Kamble (6): btrfs-tools: new recipe for tools to operate on btrfs images image-types.bbclass: get the image size in the whole number image_types.bbclass: enable btrfs as one of the image type qemu machine: enable btrfs as one of the supported filesystem base-files: add btrfs to /etc/filesystems scripts/runqemu: enable btrfs Merged to master, thanks. Richard ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] [PATCH 0/3] useradd.bbclass: new class for managing user/group permissions [v2]
Hello, This pull request incorporates feedback from Richard and MarkH in response to my previous pull req. I also did more build and runtime testing of the code to ensure these modifications haven't changed the output. Thanks, Scott The following changes since commit 8781c843cf3e0913a8fdd2ff91935f051be01dd9: classes/package.bbclass: Add fixup_perms (2011-06-30 22:54:04 +0100) are available in the git repository at: git://git.pokylinux.org/poky-contrib sgarman/useradd-v2 http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=sgarman/useradd-v2 Scott Garman (3): bitbake.conf: update PSEUDO_PASSWD variable useradd.bbclass: new class for managing user/group permissions useradd-example: example recipe for using inherit useradd .../recipes-skeleton/useradd/useradd-example.bb| 76 + meta/classes/useradd.bbclass | 161 meta/conf/bitbake.conf |2 +- 3 files changed, 238 insertions(+), 1 deletions(-) create mode 100644 meta-skeleton/recipes-skeleton/useradd/useradd-example.bb create mode 100644 meta-skeleton/recipes-skeleton/useradd/useradd-example/file1 create mode 100644 meta-skeleton/recipes-skeleton/useradd/useradd-example/file2 create mode 100644 meta-skeleton/recipes-skeleton/useradd/useradd-example/file3 create mode 100644 meta-skeleton/recipes-skeleton/useradd/useradd-example/file4 create mode 100644 meta/classes/useradd.bbclass ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/3] useradd.bbclass: new class for managing user/group permissions
This class is to be used by recipes that need to set up specific user/group accounts and set custom file/directory permissions. Signed-off-by: Scott Garman scott.a.gar...@intel.com --- meta/classes/useradd.bbclass | 161 ++ 1 files changed, 161 insertions(+), 0 deletions(-) create mode 100644 meta/classes/useradd.bbclass diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass new file mode 100644 index 000..5891641 --- /dev/null +++ b/meta/classes/useradd.bbclass @@ -0,0 +1,161 @@ +USERADDPN ?= ${PN} + +# base-passwd-cross provides the default passwd and group files in the +# target sysroot, and shadow -native and -sysroot provide the utilities +# and support files needed to add and modify user and group accounts +DEPENDS_append = base-passwd shadow-native shadow-sysroot +RDEPENDS_${USERADDPN}_append = base-passwd shadow + +# This preinstall function will be run in two contexts: once for the +# native sysroot (as invoked by the useradd_sysroot() wrapper), and +# also as the preinst script in the target package. +useradd_preinst () { +OPT= +SYSROOT= + +if test x$D != x; then + # Installing into a sysroot + SYSROOT=${STAGING_DIR_TARGET} + OPT=--root ${STAGING_DIR_TARGET} + + # Add groups and users defined for all recipe packages + GROUPADD_PARAM=${@get_all_cmd_params(d, 'group')} + USERADD_PARAM=${@get_all_cmd_params(d, 'user')} +else + # Installing onto a target + # Add groups and users defined only for this package + GROUPADD_PARAM=${GROUPADD_PARAM} + USERADD_PARAM=${USERADD_PARAM} +fi + +# Perform group additions first, since user additions may depend +# on these groups existing +if test x$GROUPADD_PARAM != x; then + echo Running groupadd commands... + # Invoke multiple instances of groupadd for parameter lists + # separated by ';' + opts=`echo $GROUPADD_PARAM | cut -d ';' -f 1` + remaining=`echo $GROUPADD_PARAM | cut -d ';' -f 2-` + while test x$opts != x; do + eval $PSEUDO groupadd -f $OPT $opts + + if test x$opts = x$remaining; then + break + fi + opts=`echo $remaining | cut -d ';' -f 1` + remaining=`echo $remaining | cut -d ';' -f 2-` + done +fi + +if test x$USERADD_PARAM != x; then + echo Running useradd commands... + # Invoke multiple instances of useradd for parameter lists + # separated by ';' + opts=`echo $USERADD_PARAM | cut -d ';' -f 1` + remaining=`echo $USERADD_PARAM | cut -d ';' -f 2-` + while test x$opts != x; do + # useradd does not have a -f option, so we have to check if the + # username already exists manually + username=`echo $opts | awk '{ print $NF }'` + user_exists=`grep ^$username: $SYSROOT/etc/passwd || true` + if test x$user_exists = x; then + eval $PSEUDO useradd $OPT $opts + else + echo Note: username $username already exists, not re-creating it + fi + + if test x$opts = x$remaining; then + break + fi + opts=`echo $remaining | cut -d ';' -f 1` + remaining=`echo $remaining | cut -d ';' -f 2-` + done +fi +} + +useradd_sysroot () { + export PSEUDO=${STAGING_DIR_NATIVE}/usr/bin/pseudo + export PSEUDO_LOCALSTATEDIR=${STAGING_DIR_TARGET}/var/pseudo + + # Explicitly set $D since it isn't set to anything + # before do_install + D=${D} + useradd_preinst +} + +useradd_sysroot_sstate () { + if [ ${BB_CURRENTTASK} = populate_sysroot_setscene ] + then + useradd_sysroot + fi +} + +do_install[prefuncs] += useradd_sysroot +SSTATEPOSTINSTFUNCS += useradd_sysroot_sstate + +# Recipe parse-time sanity checks +def update_useradd_after_parse(d): + if bb.data.getVar('USERADD_PACKAGES', d) == None: + if bb.data.getVar('USERADD_PARAM', d) == None and bb.data.getVar('GROUPADD_PARAM', d) == None: + raise bb.build.FuncFailed, %s inherits useradd but doesn't set USERADD_PARAM or GROUPADD_PARAM % bb.data.getVar('FILE', d) + +python __anonymous() { + update_useradd_after_parse(d) +} + +# Return a single [GROUP|USER]ADD_PARAM formatted string which includes the +# [group|user]add parameters for all packages in this recipe +def get_all_cmd_params(d, cmd_type): + import string + + localdata = bb.data.createCopy(d) + param_type = cmd_type.upper() + ADD_PARAM_%s + params = [] + + pkgs = localdata.getVar('USERADD_PACKAGES', True) + if not pkgs: + pkgs = localdata.getVar('USERADDPN', True) + packages = (localdata.getVar('PACKAGES', True) or ).split() + if packages and pkgs not in packages: +
Re: [OE-core] [was oe] In which meta/layer is a home for not yet supported machines
On Wednesday, June 29, 2011 05:32:54 PM Khem Raj wrote: On Wed, Jun 29, 2011 at 8:28 AM, Andreas Mueller schnitzelt...@gmx.de wrote: Hi, just started to collect first oe-core experiences and would like to get the hardware on my (or friend's) desk supported. To check already available I did find -name *.conf | grep machine and miss o gumstix overo ( http://www.gumstix.com/store/index.php?cPath=33 ) o tx28 ( http://www.karo-electronics.com/tx28.html / have prepared support for oe but would like to get this to oe-core ) o mx28evk ( http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MCIMX28EVK Jfr=g ) In which meta/layer is the first place for configurations/bootloader/kernels? you would need meta layer for the new machines. There already are some layers checkout angstrom if the machines do not fit into those existing you can create a new layer something like meta-gumstix for tx28 / mx28evk see https://gitorious.org/schnitzeltony-oe-meta/meta- freescale I run tested for tx28 / console-image and am happy (let's see for how long..) with it. Maybe someone wants to test mx28evk or have some review on it. Really was'nt that big deal - and nobody nitpicked :-) Andreas ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 1/2] qemu.inc: append to IMAGE_FSTYPES instead of weakly assigning them
On 06/30/2011 03:33 PM, Koen Kooi wrote: ping I believe that this has been discussed elsewhere. Sau! Op 12 jun 2011, om 18:26 heeft Koen Kooi het volgende geschreven: The ext3 format is pretty much mandatory for qemu usage, so always create it. Signed-off-by: Koen Kooik...@dominion.thruhere.net --- meta/conf/machine/include/qemu.inc |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc index 9ef242f..e908f69 100644 --- a/meta/conf/machine/include/qemu.inc +++ b/meta/conf/machine/include/qemu.inc @@ -3,7 +3,7 @@ PREFERRED_PROVIDER_virtual/xserver ?= xserver-kdrive MACHINE_FEATURES = kernel26 apm alsa pcmcia bluetooth irda usbgadget screen -IMAGE_FSTYPES ?= tar.bz2 ext3 +IMAGE_FSTYPES += tar.bz2 ext3 ROOT_FLASH_SIZE = 280 -- 1.6.6.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] Add support for BAD_RECOMMENDATIONS to rootfs_ipk
On 06/30/2011 04:10 AM, Chris Elston wrote: As discussed on IRC on 30/06/11, this patch adds support for BAD_RECOMMENDATIONS to rootfs_ipk, which is a list of packages NOT to install if suggested or recommended by a recipe. Taken from http://thread.gmane.org/gmane.comp.handhelds.openembedded/30417. Note that current support for this in oe.dev may also be broken, depending on the version of opkg in use. This patch does not seem to apply cleanly, could you please rebase and resend. Thanks Sau! Signed-off-by: Chris Elstoncels...@katalix.com --- meta/classes/rootfs_ipk.bbclass | 18 ++ 1 files changed, 18 insertions(+), 0 deletions(-) diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass index edd84fb..bf15f4c 100644 --- a/meta/classes/rootfs_ipk.bbclass +++ b/meta/classes/rootfs_ipk.bbclass @@ -20,6 +20,9 @@ OPKG_POSTPROCESS_COMMANDS = ipk_insert_feed_uris opkglibdir = ${localstatedir}/lib/opkg +# Which packages to not install on the basis of a recommendation +BAD_RECOMMENDATIONS ?= + fakeroot rootfs_ipk_do_rootfs () { set -x @@ -30,6 +33,21 @@ fakeroot rootfs_ipk_do_rootfs () { mkdir -p ${T}/ + STATUS=${IMAGE_ROOTFS}/var/lib/opkg/status + mkdir -p `dirname ${STATUS}` + + opkg-cl ${IPKG_ARGS} update + + # prime the status file with bits that we don't want + for i in ${BAD_RECOMMENDATIONS}; do + infln=`opkg-cl ${IPKG_ARGS} info $i | grep -e '^Package:' -e '^Architecture:' -e '^Version:'` + if [ ! -z $infln ]; then + echo $infln $STATUS + echo Status: deinstall ok not-installed $STATUS + echo $STATUS + fi + done + #install export INSTALL_PACKAGES_ATTEMPTONLY_IPK=${PACKAGE_INSTALL_ATTEMPTONLY} export INSTALL_PACKAGES_LINGUAS_IPK=${LINGUAS_INSTALL} ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 2/3] useradd.bbclass: new class for managing user/group permissions
Hi Scott, This is looking good, thanks for the changes! I just have some cosmetic things to tweak before it goes in. On Thu, 2011-06-30 at 15:39 -0700, Scott Garman wrote: [...] +# Recipe parse-time sanity checks +def update_useradd_after_parse(d): + if bb.data.getVar('USERADD_PACKAGES', d) == None: if not d.getVar('USERADD_PACKAGES', False): + if bb.data.getVar('USERADD_PARAM', d) == None and bb.data.getVar('GROUPADD_PARAM', d) == None: if not d.getVar('USERADD_PARAM', False) and not d.getVar('GROUPADD_PARAM', False): + raise bb.build.FuncFailed, %s inherits useradd but doesn't set USERADD_PARAM or GROUPADD_PARAM % bb.data.getVar('FILE', d) + +python __anonymous() { + update_useradd_after_parse(d) +} + +# Return a single [GROUP|USER]ADD_PARAM formatted string which includes the +# [group|user]add parameters for all packages in this recipe +def get_all_cmd_params(d, cmd_type): + import string + + localdata = bb.data.createCopy(d) No need to use createCopy here since you don't change OVERRIDES or write to the datastore at all. Just use d directly. + param_type = cmd_type.upper() + ADD_PARAM_%s + params = [] + + pkgs = localdata.getVar('USERADD_PACKAGES', True) + if not pkgs: + pkgs = localdata.getVar('USERADDPN', True) + packages = (localdata.getVar('PACKAGES', True) or ).split() + if packages and pkgs not in packages: + pkgs = packages[0] + + for pkg in pkgs.split(): + param = localdata.getVar(param_type % pkg, True) + if param: + params.append(param) + + return string.join(params, ; ) + +# Adds the preinst script into generated packages +fakeroot python populate_packages_prepend () { + def update_useradd_package(pkg): + bb.debug(1, 'adding user/group calls to preinst for %s' % pkg) + localdata = bb.data.createCopy(d) + overrides = localdata.getVar(OVERRIDES, True) + bb.data.setVar(OVERRIDES, %s:%s % (pkg, overrides), localdata) + bb.data.update_data(localdata) + + + useradd preinst is appended here because pkg_preinst may be + required to execute on the target. Not doing so may cause + useradd preinst to be invoked twice, causing unwanted warnings. + You can just do: preinst = d.getVar('pkg_preinst_%s' % pkg, True) or d.getVar('pkg_preinst', True) and ditch all the createCopy/OVERRIDES stuff. + preinst = localdata.getVar('pkg_preinst', True) + if not preinst: + preinst = '#!/bin/sh\n' + preinst += localdata.getVar('useradd_preinst', True) + bb.data.setVar('pkg_preinst_%s' % pkg, preinst, d) + + # We add the user/group calls to all packages to allow any package + # to contain files owned by the users/groups defined in the recipe. + # The user/group addition code is careful not to create duplicate + # entries, so this is safe. + pkgs = d.getVar('USERADD_PACKAGES', True) + if pkgs == None: if not pkgs: + pkgs = d.getVar('USERADDPN', True) + packages = (d.getVar('PACKAGES', True) or ).split() + if not pkgs in packages and packages != []: if packages and pkgs not in packages: + pkgs = packages[0] + for pkg in pkgs.split(): + update_useradd_package(pkg) +} Cheers, Richard ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 0/1] Add env setting to support libtool2.4 m4 macro
On Wed, 2011-06-29 at 16:09 -0700, Jessica Zhang wrote: Add OECORE_ACLOCAL_OPTS to env setup scripts for options running aclocal to generate correct libtool 2.4 m4 macro, the autogen.sh should be changed as aclocal ${OECORE_ACLOCAL_OPTS} The following changes since commit c412674cf818e77e35857fb93353e392e7ac9e53: Khem Raj (1): package.bbclass,prserv.bbclass: Compare USE_PR_SERV with 1 or 0 are available in the git repository at: git://git.yoctoproject.org/poky-contrib jzhang/aclocal http://git.yoctoproject.org/cgit.cgi//log/?h=jzhang/aclocal Jessica Zhang (1): Add OECORE_ACLOCAL_OPTS to env setup scripts for autotool project using correct libtool 2.4 Merged to master, thanks. Richard ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 0/1] kernel: move menuconfig task after configure
On Wed, 2011-06-29 at 13:46 -0700, Darren Hart wrote: The following changes since commit e0fc42b51a8209dac1163ae8126f8c687b6bfddf: distro_tracking_fields.inc: update RECIPE_MANUAL_CHECK_DATE for screen and tcf-agent (2011-06-29 15:04:59 +0100) are available in the git repository at: git://git.pokylinux.org/poky-contrib dvhart/kernel http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dvhart/kernel Darren Hart (1): kernel: move menuconfig task after configure Merged to master, thanks. Richard ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 1/3] bitbake.conf: update PSEUDO_PASSWD variable
On Thu, 2011-06-30 at 15:39 -0700, Scott Garman wrote: The internal use of PSEUDO_PASSWD adds the /etc path automatically. Signed-off-by: Scott Garman scott.a.gar...@intel.com Merged to master, thanks. Richard ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 0/1] distro_tracking_field: update recipe owner info
On 06/19/2011 11:36 PM, Yu Ke wrote: The following changes since commit 2163461ec94528ecf046a04edc5db3d2dd3a6b8b: Tom Zanussi (1): systemtap: remove non-core COMPATIBLE_MACHINES are available in the git repository at: git://git.pokylinux.org/poky-contrib kyu3/qing-recipe http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/log/?h=kyu3/qing-recipe Yu Ke (1): distro_tracking_field: update recipe maintainer .../conf/distro/include/distro_tracking_fields.inc | 111 ++-- 1 files changed, 55 insertions(+), 56 deletions(-) ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core Merged into OE-Core Thanks Sau! ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] dbus: update to 1.4.12
On 06/23/2011 05:32 AM, Koen Kooi wrote: The tmpdir patch has been regenerated and can now be applied with git-am, no functional changes. The biggest improvement is that dbus will log to syslog nowadays: [ 22.238708]29dbus[237]: [system] Activating service name='fi.w1.wpa_supplicant1' (using servicehelper) Signed-off-by: Koen Kooik...@dominion.thruhere.net --- meta/recipes-core/dbus/dbus-1.4.1/dbus-1.init | 121 --- meta/recipes-core/dbus/dbus-1.4.1/tmpdir.patch | 36 --- meta/recipes-core/dbus/dbus-1.4.12/dbus-1.init | 121 +++ meta/recipes-core/dbus/dbus-1.4.12/tmpdir.patch | 44 meta/recipes-core/dbus/dbus_1.4.1.bb|6 - meta/recipes-core/dbus/dbus_1.4.12.bb |4 + 6 files changed, 169 insertions(+), 163 deletions(-) delete mode 100644 meta/recipes-core/dbus/dbus-1.4.1/dbus-1.init delete mode 100644 meta/recipes-core/dbus/dbus-1.4.1/tmpdir.patch create mode 100644 meta/recipes-core/dbus/dbus-1.4.12/dbus-1.init create mode 100644 meta/recipes-core/dbus/dbus-1.4.12/tmpdir.patch delete mode 100644 meta/recipes-core/dbus/dbus_1.4.1.bb create mode 100644 meta/recipes-core/dbus/dbus_1.4.12.bb diff --git a/meta/recipes-core/dbus/dbus-1.4.1/dbus-1.init b/meta/recipes-core/dbus/dbus-1.4.1/dbus-1.init deleted file mode 100644 index 4abc4cb..000 --- a/meta/recipes-core/dbus/dbus-1.4.1/dbus-1.init +++ /dev/null @@ -1,121 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: dbus -# Required-Start:$remote_fs $syslog -# Required-Stop: $remote_fs $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 1 -# Short-Description: D-Bus systemwide message bus -# Description: D-Bus is a simple interprocess messaging system, used -#for sending messages between applications. -### END INIT INFO -# -# -*- coding: utf-8 -*- -# Debian init.d script for D-BUS -# Copyright © 2003 Colin Walterswalt...@debian.org - -set -e - -DAEMON=/usr/bin/dbus-daemon -NAME=dbus -DAEMONUSER=messagebus -PIDDIR=/var/run/dbus -PIDFILE=$PIDDIR/pid -UUIDDIR=/var/lib/dbus -DESC=system message bus -EVENTDIR=/etc/dbus-1/event.d - -test -x $DAEMON || exit 0 - -# Source defaults file; edit that file to configure this script. -ENABLED=1 -PARAMS= -if [ -e /etc/default/dbus ]; then - . /etc/default/dbus -fi - -test $ENABLED != 0 || exit 0 - -start_it_up() -{ - if [ ! -d $PIDDIR ]; then -mkdir -p $PIDDIR -chown $DAEMONUSER $PIDDIR -chgrp $DAEMONUSER $PIDDIR - fi - if [ -e $PIDFILE ]; then -PIDDIR=/proc/$(cat $PIDFILE) -if [ -d ${PIDDIR} -a $(readlink -f ${PIDDIR}/exe) = ${DAEMON} ]; then - echo $DESC already started; not starting. -else - echo Removing stale PID file $PIDFILE. - rm -f $PIDFILE -fi - fi - - if [ ! -d $UUIDDIR ]; then -mkdir -p $UUIDDIR -chown $DAEMONUSER $UUIDDIR -chgrp $DAEMONUSER $UUIDDIR - fi - - dbus-uuidgen --ensure - - echo -n Starting $DESC: - start-stop-daemon --start --quiet --pidfile $PIDFILE \ ---user $DAEMONUSER --exec $DAEMON -- --system $PARAMS - echo $NAME. - if [ -d $EVENTDIR ]; then - run-parts --arg=start $EVENTDIR - fi -} - -shut_it_down() -{ - if [ -d $EVENTDIR ]; then - # TODO: --reverse when busybox supports it - run-parts --arg=stop $EVENTDIR - fi - echo -n Stopping $DESC: - start-stop-daemon --stop --quiet --pidfile $PIDFILE \ ---user $DAEMONUSER - # We no longer include these arguments so that start-stop-daemon - # can do its job even given that we may have been upgraded. - # We rely on the pidfile being sanely managed - # --exec $DAEMON -- --system $PARAMS - echo $NAME. - rm -f $PIDFILE -} - -reload_it() -{ - echo -n Reloading $DESC config: - dbus-send --print-reply --system --type=method_call \ ---dest=org.freedesktop.DBus \ -/ org.freedesktop.DBus.ReloadConfig /dev/null - # hopefully this is enough time for dbus to reload it's config file. - echo done. -} - -case $1 in - start) -start_it_up - ;; - stop) -shut_it_down - ;; - reload|force-reload) -reload_it - ;; - restart) -shut_it_down -sleep 1 -start_it_up - ;; - *) -echo Usage: /etc/init.d/$NAME {start|stop|restart|reload|force-reload}2 -exit 1 - ;; -esac - -exit 0 diff --git a/meta/recipes-core/dbus/dbus-1.4.1/tmpdir.patch b/meta/recipes-core/dbus/dbus-1.4.1/tmpdir.patch deleted file mode 100644 index de0766a..000 --- a/meta/recipes-core/dbus/dbus-1.4.1/tmpdir.patch +++ /dev/null @@ -1,36 +0,0 @@ -Upstream-Status: Inappropriate [embedded] - -# avoid to check tmp dir at build time. instead uses hard coded /tmp here -# -# comment added by Kevin Tiankevin.t...@intel.com - dbus-0.22/configure.in.orig2004-08-13 00:57:16.0 +0200 -+++ dbus-0.22/configure.in 2004-12-30 21:15:57.0 +0100 -@@ -1047,15 +1048,18 @@ - AC_SUBST(ABSOLUTE_TOP_BUILDDIR) - - Find socket directories --if ! test -z
Re: [OE-core] [PATCH v2 0/4] Integrate ccache-native
On 06/24/2011 02:53 AM, wenzong@windriver.com wrote: From: Wenzong Fanwenzong@windriver.com 1) Add ccache as a native tool and put its recipe files to: 'meta/recipes-devtools/ccache'; 2) Set 'CCACHE_DIR' in 'bitbake.conf' and create the dirs for every package before task 'do_configure' started; 3) Add 'ccache' for all SDK images; 4) Remove duplicate 'ccache.inc' from 'meta/class/'. The following changes since commit 7cd2ac0e40d854bab9a32512018aff6172500c0e: Beth Flanagan (1): common-licenses: Additions and corrections are available in the git repository at: git://git.pokylinux.org/poky-contrib wenzong/ccache http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=wenzong/ccache Wenzong Fan (4): ccache: Integrate ccache-native to poky ccache: Set CCACHE on a per recipe basis ccache: Add 'ccache' for SDK images ccache: Remove duplicate 'ccache.inc' from 'meta/class/' meta/classes/base.bbclass|1 + meta/classes/ccache.inc | 11 --- meta/conf/bitbake.conf |1 + meta/recipes-core/tasks/task-core-sdk.bb |1 + meta/recipes-devtools/ccache/ccache.inc | 16 meta/recipes-devtools/ccache/ccache_3.1.5.bb |8 6 files changed, 27 insertions(+), 11 deletions(-) delete mode 100644 meta/classes/ccache.inc create mode 100644 meta/recipes-devtools/ccache/ccache.inc create mode 100644 meta/recipes-devtools/ccache/ccache_3.1.5.bb ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core Merged into OE-Core Thanks Sau! ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 0/1] shadow-native fix for useradd
On 06/28/2011 03:36 PM, Scott Garman wrote: Pseudo was recently changed so that when system() calls are made after a chroot(), the host binaries can no longer be found, breaking the system(mkdir -p) approach when useradd creates home directories. Instead, use mkdir(2) to create home directories with a helper function to ensure parent directories get created. This is a prerequisite fix needed for my useradd.bbclass changes (still pending until I address some of Richard's comments from this morning). The following changes since commit a4f3e006e1f2fd93f156012af2a05adccf41d065: u-boot-mkimage: bump version to 2011.03 (2011-06-28 17:13:19 +0100) are available in the git repository at: git://git.pokylinux.org/poky-contrib sgarman/mkdir-p-fix http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=sgarman/mkdir-p-fix Scott Garman (1): shadow-native: fix creation of home directories .../shadow/files/add_root_cmd_options.patch| 125 +++ 1 files changed, 98 insertions(+), 27 deletions(-) ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core Merged into OE-Core Thanks Sau! ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] [PATCH] uclibc: Add default uClibc.machine files
Add generic machine config file uClibc.machine in topdir should work mostly and odd ones like mips should have a copy of their own as explained Signed-off-by: Khem Raj raj.k...@gmail.com --- .../uclibc/uclibc-git/mips/uClibc.machine | 16 meta/recipes-core/uclibc/uclibc-git/uClibc.machine | 14 ++ 2 files changed, 30 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-core/uclibc/uclibc-git/mips/uClibc.machine create mode 100644 meta/recipes-core/uclibc/uclibc-git/uClibc.machine diff --git a/meta/recipes-core/uclibc/uclibc-git/mips/uClibc.machine b/meta/recipes-core/uclibc/uclibc-git/mips/uClibc.machine new file mode 100644 index 000..7d7ab3f --- /dev/null +++ b/meta/recipes-core/uclibc/uclibc-git/mips/uClibc.machine @@ -0,0 +1,16 @@ +# in OE we use TARGET_CC_ARCH=-march=mips32 but by +# default uclibc uses mips1 ISA for o32 ABI which ends +# up with conflicting march options to gcc. Here we +# ask for MIPS32 ISA to match the OE defaults + +CONFIG_MIPS_ISA_MIPS32=y + +# Below options are exact copy of general +# uClibc.machine file +# +FORCE_OPTIONS_FOR_ARCH=y +ARCH_HAS_MMU=y +ARCH_USE_MMU=y +KERNEL_HEADERS=/usr/include +HAVE_DOT_CONFIG=y + diff --git a/meta/recipes-core/uclibc/uclibc-git/uClibc.machine b/meta/recipes-core/uclibc/uclibc-git/uClibc.machine new file mode 100644 index 000..595f444 --- /dev/null +++ b/meta/recipes-core/uclibc/uclibc-git/uClibc.machine @@ -0,0 +1,14 @@ +# +# Automatically generated make config: don't edit +# Version: 0.9.32-git +# Mon Jul 19 01:34:29 2010 +# +# +# Using ELF file format +# +FORCE_OPTIONS_FOR_ARCH=y +ARCH_HAS_MMU=y +ARCH_USE_MMU=y +KERNEL_HEADERS=/usr/include +HAVE_DOT_CONFIG=y + -- 1.7.4.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 0/6] uclibc config cleanup
On Thu, Jun 30, 2011 at 3:30 PM, Richard Purdie richard.pur...@linuxfoundation.org wrote: On Thu, 2011-06-30 at 01:06 -0700, Khem Raj wrote: We do not need machine configs or even arch configs since we construct the bits in .inc files. Once anamoly is mips where we do not use default ARCH for o32 which is mips1 but we use mips32 so thats the reason we have a separate config for mips. Additionally fix boot issue found on mips which were exposed by udev 171 These patches have been tested with builds from scratch for all supported qemu machines and incrmental too (for qemumips) and angstrom/console-image is booted on all supported qemu machines The following changes since commit ae4c2b8834dc4d88be7207ea5c45c596bb46fded: uclibc: Fix bug exposed by udev 168+ for mips architecture (2011-06-30 00:52:32 -0700) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib kraj/uclibc-cleanup http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/uclibc-cleanup Khem Raj (6): uclibc: Remove redundant machine/arch configs uclibc-config.inc: Fix regexp to determine big-endian arm uclibc.inc: Use ARCH_WANTS_{LITTLE|BIG}_ENDIAN to denote endian uclibc_git.bb: Untether UCLIBC_HAS_FPU from UCLIBC_HAS_FLOATS uclibc: Add UCLIBC_HAS_FLOATS=y to uClibc.distro uclibc: Fix bug exposed by udev 168+ for mips architecture Merged to master, thanks. Hi Richard Somehow first patch that got merged was older version I guess from the one I posted to ml before the pull request got in. So I have sent a follow up patch which adds the missing parts. The patch is here http://patches.openembedded.org/patch/6769/ Please install Thanks -Khem ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] uclibc: Add default uClibc.machine files
On Thu, 2011-06-30 at 16:33 -0700, Khem Raj wrote: Add generic machine config file uClibc.machine in topdir should work mostly and odd ones like mips should have a copy of their own as explained Signed-off-by: Khem Raj raj.k...@gmail.com --- .../uclibc/uclibc-git/mips/uClibc.machine | 16 meta/recipes-core/uclibc/uclibc-git/uClibc.machine | 14 ++ 2 files changed, 30 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-core/uclibc/uclibc-git/mips/uClibc.machine create mode 100644 meta/recipes-core/uclibc/uclibc-git/uClibc.machine Merged to master, thanks. Richard ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 0/6] uclibc config cleanup
On Thu, 2011-06-30 at 16:36 -0700, Khem Raj wrote: On Thu, Jun 30, 2011 at 3:30 PM, Richard Purdie richard.pur...@linuxfoundation.org wrote: On Thu, 2011-06-30 at 01:06 -0700, Khem Raj wrote: We do not need machine configs or even arch configs since we construct the bits in .inc files. Once anamoly is mips where we do not use default ARCH for o32 which is mips1 but we use mips32 so thats the reason we have a separate config for mips. Additionally fix boot issue found on mips which were exposed by udev 171 These patches have been tested with builds from scratch for all supported qemu machines and incrmental too (for qemumips) and angstrom/console-image is booted on all supported qemu machines The following changes since commit ae4c2b8834dc4d88be7207ea5c45c596bb46fded: uclibc: Fix bug exposed by udev 168+ for mips architecture (2011-06-30 00:52:32 -0700) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib kraj/uclibc-cleanup http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/uclibc-cleanup Khem Raj (6): uclibc: Remove redundant machine/arch configs uclibc-config.inc: Fix regexp to determine big-endian arm uclibc.inc: Use ARCH_WANTS_{LITTLE|BIG}_ENDIAN to denote endian uclibc_git.bb: Untether UCLIBC_HAS_FPU from UCLIBC_HAS_FLOATS uclibc: Add UCLIBC_HAS_FLOATS=y to uClibc.distro uclibc: Fix bug exposed by udev 168+ for mips architecture Merged to master, thanks. Hi Richard Somehow first patch that got merged was older version I guess from the one I posted to ml before the pull request got in. So I have sent a follow up patch which adds the missing parts. The patch is here http://patches.openembedded.org/patch/6769/ Please install Sorry about that, I think things got confused. I've pulled the update, thanks. Richard ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] [PATCH 0/2] x-load and uboot updates for Beagleboard
Richard, This address 2 bugs filed by Darren for the Beagleboard, they build correctly. Thanks Sau! The following changes since commit 40ecaf6a59ba61e72d29d7e677197ef37c998408: uclibc: Add default uClibc.machine files (2011-07-01 00:40:10 +0100) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib sgw/fix http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=sgw/fix Saul Wold (2): x-load: Update to 1.5.0 uboot: Update to 2011.06 ...Drop-config.h-include-in-tools-imximage.h.patch |0 ...ove-LDSCRIPT-processing-to-the-top-level-.patch |0 ...kimage_2011.03.bb = u-boot-mkimage_2011.06.bb} | 12 +--- .../uboot/{u-boot_2011.03.bb = u-boot_2011.06.bb} | 10 +- meta/recipes-bsp/x-load/x-load_git.bb | 11 +-- 5 files changed, 15 insertions(+), 18 deletions(-) rename meta/recipes-bsp/uboot/{u-boot-mkimage-2011.03 = u-boot-mkimage-2011.06}/0001-Drop-config.h-include-in-tools-imximage.h.patch (100%) rename meta/recipes-bsp/uboot/{u-boot-mkimage-2011.03 = u-boot-mkimage-2011.06}/0002-config.mk-move-LDSCRIPT-processing-to-the-top-level-.patch (100%) rename meta/recipes-bsp/uboot/{u-boot-mkimage_2011.03.bb = u-boot-mkimage_2011.06.bb} (51%) rename meta/recipes-bsp/uboot/{u-boot_2011.03.bb = u-boot_2011.06.bb} (74%) -- 1.7.3.4 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 2/3] useradd.bbclass: new class for managing user/group permissions
On 06/30/2011 04:10 PM, Richard Purdie wrote: Hi Scott, This is looking good, thanks for the changes! I just have some cosmetic things to tweak before it goes in. Ok, respinning now based on your requests. BTW, some parts of useradd.bbclass were derived from update-rc.d.bbclass. So it sounds like that class could use a refresh in light of the preferred style you've been showing me. I'd be happy to do this as a background task over the next week if it would be useful. Scott On Thu, 2011-06-30 at 15:39 -0700, Scott Garman wrote: [...] +# Recipe parse-time sanity checks +def update_useradd_after_parse(d): + if bb.data.getVar('USERADD_PACKAGES', d) == None: if not d.getVar('USERADD_PACKAGES', False): + if bb.data.getVar('USERADD_PARAM', d) == None and bb.data.getVar('GROUPADD_PARAM', d) == None: if not d.getVar('USERADD_PARAM', False) and not d.getVar('GROUPADD_PARAM', False): + raise bb.build.FuncFailed, %s inherits useradd but doesn't set USERADD_PARAM or GROUPADD_PARAM % bb.data.getVar('FILE', d) + +python __anonymous() { + update_useradd_after_parse(d) +} + +# Return a single [GROUP|USER]ADD_PARAM formatted string which includes the +# [group|user]add parameters for all packages in this recipe +def get_all_cmd_params(d, cmd_type): + import string + + localdata = bb.data.createCopy(d) No need to use createCopy here since you don't change OVERRIDES or write to the datastore at all. Just use d directly. + param_type = cmd_type.upper() + ADD_PARAM_%s + params = [] + + pkgs = localdata.getVar('USERADD_PACKAGES', True) + if not pkgs: + pkgs = localdata.getVar('USERADDPN', True) + packages = (localdata.getVar('PACKAGES', True) or ).split() + if packages and pkgs not in packages: + pkgs = packages[0] + + for pkg in pkgs.split(): + param = localdata.getVar(param_type % pkg, True) + if param: + params.append(param) + + return string.join(params, ; ) + +# Adds the preinst script into generated packages +fakeroot python populate_packages_prepend () { + def update_useradd_package(pkg): + bb.debug(1, 'adding user/group calls to preinst for %s' % pkg) + localdata = bb.data.createCopy(d) + overrides = localdata.getVar(OVERRIDES, True) + bb.data.setVar(OVERRIDES, %s:%s % (pkg, overrides), localdata) + bb.data.update_data(localdata) + + + useradd preinst is appended here because pkg_preinst may be + required to execute on the target. Not doing so may cause + useradd preinst to be invoked twice, causing unwanted warnings. + You can just do: preinst = d.getVar('pkg_preinst_%s' % pkg, True) or d.getVar('pkg_preinst', True) and ditch all the createCopy/OVERRIDES stuff. + preinst = localdata.getVar('pkg_preinst', True) + if not preinst: + preinst = '#!/bin/sh\n' + preinst += localdata.getVar('useradd_preinst', True) + bb.data.setVar('pkg_preinst_%s' % pkg, preinst, d) + + # We add the user/group calls to all packages to allow any package + # to contain files owned by the users/groups defined in the recipe. + # The user/group addition code is careful not to create duplicate + # entries, so this is safe. + pkgs = d.getVar('USERADD_PACKAGES', True) + if pkgs == None: if not pkgs: + pkgs = d.getVar('USERADDPN', True) + packages = (d.getVar('PACKAGES', True) or ).split() + if not pkgs in packages and packages != []: if packages and pkgs not in packages: + pkgs = packages[0] + for pkg in pkgs.split(): + update_useradd_package(pkg) +} Cheers, Richard -- Scott Garman Embedded Linux Engineer - Yocto Project Intel Open Source Technology Center ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/2] useradd-example: example recipe for using inherit useradd
An example recipe for demonstrating/documenting how user and group manipulation is done with 'inherit useradd' Signed-off-by: Scott Garman scott.a.gar...@intel.com --- .../recipes-skeleton/useradd/useradd-example.bb| 76 1 files changed, 76 insertions(+), 0 deletions(-) create mode 100644 meta-skeleton/recipes-skeleton/useradd/useradd-example.bb create mode 100644 meta-skeleton/recipes-skeleton/useradd/useradd-example/file1 create mode 100644 meta-skeleton/recipes-skeleton/useradd/useradd-example/file2 create mode 100644 meta-skeleton/recipes-skeleton/useradd/useradd-example/file3 create mode 100644 meta-skeleton/recipes-skeleton/useradd/useradd-example/file4 diff --git a/meta-skeleton/recipes-skeleton/useradd/useradd-example.bb b/meta-skeleton/recipes-skeleton/useradd/useradd-example.bb new file mode 100644 index 000..02d56f6 --- /dev/null +++ b/meta-skeleton/recipes-skeleton/useradd/useradd-example.bb @@ -0,0 +1,76 @@ +SUMMARY = Example recipe for using inherit useradd +DESCRIPTION = This recipe serves as an example for using features from useradd.bbclass +SECTION = examples +PR = r0 +LICENSE = MIT +LIC_FILES_CHKSUM = file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420 + +SRC_URI = file://file1 \ + file://file2 \ + file://file3 \ + file://file4 + +S = ${WORKDIR} + +PACKAGES =+ ${PN}-user3 + +inherit useradd + +# Specify which package(s) should include the user/group code. +# Make sure that any packages which install files owned by custom +# users/groups are included here. The code which adds users and +# groups is idempotent. +USERADD_PACKAGES = ${PN} ${PN}-user3 + +# You *must* set USERADD_PARAM and/or GROUPADD_PARAM when +# you inherit useradd. + +# USERADD_PARAM specifies command line options to pass to the +# useradd command. Multiple users can be created by separating +# the commands with a semicolon. Here we'll create two users, +# user1 and user2: +USERADD_PARAM_${PN} = -u 1200 -d /home/user1 -r -s /bin/bash user1; -u 1201 -d /home/user2 -r -s /bin/bash user2 + +# user3 will be managed in the useradd-example-user3 pacakge: +USERADD_PARAM_${PN}-user3 = -u 1202 -d /home/user3 -r -s /bin/bash user3 + +# GROUPADD_PARAM works the same way, which you set to the options +# you'd normally pass to the groupadd command. This will create +# groups group1 and group2: +GROUPADD_PARAM_${PN} = -g 880 group1; -g 890 group2 + +# Likewise, we'll manage group3 in the useradd-example-user3 package: +GROUPADD_PARAM_${PN}-user3 = -g 900 group3 + +do_install () { + install -d -m 755 ${D}/usr/share/user1 + install -d -m 755 ${D}/usr/share/user2 + install -d -m 755 ${D}/usr/share/user3 + + install -p -m 644 file1 ${D}/usr/share/user1/ + install -p -m 644 file2 ${D}/usr/share/user1/ + + install -p -m 644 file2 ${D}/usr/share/user2/ + install -p -m 644 file3 ${D}/usr/share/user2/ + + install -p -m 644 file3 ${D}/usr/share/user3/ + install -p -m 644 file4 ${D}/usr/share/user3/ + + # The new users and groups are created before the do_install + # step, so you are now free to make use of them: + chown -R user1 ${D}/usr/share/user1 + chown -R user2 ${D}/usr/share/user2 + chown -R user3 ${D}/usr/share/user3 + + chgrp -R group1 ${D}/usr/share/user1 + chgrp -R group2 ${D}/usr/share/user2 + chgrp -R group3 ${D}/usr/share/user3 +} + +FILES_${PN} = /usr/share/user1/* /usr/share/user2/* +FILES_${PN}-user3 = /usr/share/user3/* + +# Prevents do_package failures with: +# debugsources.list: No such file or directory: +INHIBIT_PACKAGE_DEBUG_SPLIT = 1 diff --git a/meta-skeleton/recipes-skeleton/useradd/useradd-example/file1 b/meta-skeleton/recipes-skeleton/useradd/useradd-example/file1 new file mode 100644 index 000..e69de29 diff --git a/meta-skeleton/recipes-skeleton/useradd/useradd-example/file2 b/meta-skeleton/recipes-skeleton/useradd/useradd-example/file2 new file mode 100644 index 000..e69de29 diff --git a/meta-skeleton/recipes-skeleton/useradd/useradd-example/file3 b/meta-skeleton/recipes-skeleton/useradd/useradd-example/file3 new file mode 100644 index 000..e69de29 diff --git a/meta-skeleton/recipes-skeleton/useradd/useradd-example/file4 b/meta-skeleton/recipes-skeleton/useradd/useradd-example/file4 new file mode 100644 index 000..e69de29 -- 1.7.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/2] uclibc: Fix compilation in thumb mode
It was not setting COMPILE_IN_THUMB_MODE in .config when ARM_INSTRUCTION_MODE = thumb. Reason was that this entry has to exist in merged defconfig so we add it disabled which means no harm to other architectures Signed-off-by: Khem Raj raj.k...@gmail.com --- meta/recipes-core/uclibc/uclibc-git/uClibc.distro |8 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/meta/recipes-core/uclibc/uclibc-git/uClibc.distro b/meta/recipes-core/uclibc/uclibc-git/uClibc.distro index 72cbff9..ece7ddc 100644 --- a/meta/recipes-core/uclibc/uclibc-git/uClibc.distro +++ b/meta/recipes-core/uclibc/uclibc-git/uClibc.distro @@ -173,3 +173,11 @@ UCLIBC_HAS_EPOLL=y UCLIBC_HAS_FLOATS=y # needed by systemd UCLIBC_HAS_UTMPX=y + +# The below option is needed for ARM since depending +# upong what intruction set is chosen this will be +# enabled. As such it is harmless and will be punted +# by menuconfig for other arches. + +# COMPILE_IN_THUMB_MODE is not set + -- 1.7.4.1 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/2] uclibc: Add support for execvpe and update scheduler functions
Enable utmpx These changes are required for systemd to work Signed-off-by: Khem Raj raj.k...@gmail.com --- meta/recipes-core/uclibc/uclibc-git/uClibc.distro |2 + .../uclibc/uclibc-git/uclibc-execvpe.patch | 160 +++ .../uclibc-git/uclibc_scheduler_update.patch | 455 meta/recipes-core/uclibc/uclibc_git.bb |4 +- 4 files changed, 620 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-core/uclibc/uclibc-git/uclibc-execvpe.patch create mode 100644 meta/recipes-core/uclibc/uclibc-git/uclibc_scheduler_update.patch diff --git a/meta/recipes-core/uclibc/uclibc-git/uClibc.distro b/meta/recipes-core/uclibc/uclibc-git/uClibc.distro index 3136e54..72cbff9 100644 --- a/meta/recipes-core/uclibc/uclibc-git/uClibc.distro +++ b/meta/recipes-core/uclibc/uclibc-git/uClibc.distro @@ -171,3 +171,5 @@ UCLIBC_HAS_PTY=y UCLIBC_BSD_SPECIFIC=y UCLIBC_HAS_EPOLL=y UCLIBC_HAS_FLOATS=y +# needed by systemd +UCLIBC_HAS_UTMPX=y diff --git a/meta/recipes-core/uclibc/uclibc-git/uclibc-execvpe.patch b/meta/recipes-core/uclibc/uclibc-git/uclibc-execvpe.patch new file mode 100644 index 000..cd90a09 --- /dev/null +++ b/meta/recipes-core/uclibc/uclibc-git/uclibc-execvpe.patch @@ -0,0 +1,160 @@ +From d20556adadea03bff0bba051172caf0314a35471 Mon Sep 17 00:00:00 2001 +From: Henning Heinold hein...@inf.fu-berlin.de +Date: Sat, 4 Jun 2011 21:23:15 +0200 +Subject: [PATCH 2/2] libc: add non standard execvpe function + + +Signed-off-by: Henning Heinold hein...@inf.fu-berlin.de +--- + include/unistd.h |6 ++ + libc/unistd/exec.c| 38 +- + libc/unistd/execvpe.c |7 +++ + 3 files changed, 46 insertions(+), 5 deletions(-) + create mode 100644 libc/unistd/execvpe.c + +diff --git a/include/unistd.h b/include/unistd.h +index 9568790..070e4f2 100644 +--- a/include/unistd.h b/include/unistd.h +@@ -557,6 +557,12 @@ extern int execvp (__const char *__file, char *__const __argv[]) + __THROW __nonnull ((1)); + libc_hidden_proto(execvp) + ++/* Execute FILE, searching in the `PATH' environment variable if it contains ++ no slashes, with arguments ARGV and environment from a pointer */ ++extern int execvpe (__const char *__file, char *__const __argv[], char *__const __envp[]) ++ __THROW __nonnull ((1)); ++libc_hidden_proto(execvpe) ++ + /* Execute FILE, searching in the `PATH' environment variable if +it contains no slashes, with all arguments after FILE until a +NULL pointer and environment from `environ'. */ +diff --git a/libc/unistd/exec.c b/libc/unistd/exec.c +index 7d24072..802a174 100644 +--- a/libc/unistd/exec.c b/libc/unistd/exec.c +@@ -32,6 +32,8 @@ + /**/ + #define EXEC_FUNC_COMMON 0 + #define EXEC_FUNC_EXECVP 1 ++#define EXEC_FUNC_EXECVPE 2 ++ + #if defined(__ARCH_USE_MMU__) + + /* We have an MMU, so use alloca() to grab space for buffers and arg lists. */ +@@ -58,6 +60,7 @@ + * execle(a) - execve(-) + * execv(-) - execve(-) + * execvp(a) - execve(-) ++ * execvpe(a) - execve(-) + */ + + # define EXEC_ALLOC_SIZE(VAR) /* nothing to do */ +@@ -219,15 +222,18 @@ libc_hidden_def(execlp) + + #endif + /**/ +-#ifdef L_execvp ++#if defined (L_execvp) || defined(L_execvpe) + + + /* Use a default path that matches glibc behavior, since SUSv3 says + * this is implementation-defined. The default is current working dir, + * /bin, and then /usr/bin. */ + static const char default_path[] = :/bin:/usr/bin; +- ++#if defined (L_execvp) + int execvp(const char *path, char *const argv[]) ++#elif defined (L_execvpe) ++int execvpe(const char *path, char *const argv[], char *const envp[]) ++#endif + { + char *buf = NULL; + char *p; +@@ -245,7 +251,11 @@ int execvp(const char *path, char *const argv[]) + } + + if (strchr(path, '/')) { ++#if defined (L_execvp) + execve(path, argv, __environ); ++#elif defined (L_execvpe) ++ execve(path, argv, envp); ++#endif + if (errno == ENOEXEC) { + char **nargv; + EXEC_ALLOC_SIZE(size2) /* Do NOT add a semicolon! */ +@@ -254,11 +264,19 @@ int execvp(const char *path, char *const argv[]) + /* Need the dimension - 1. We omit counting the trailing +* NULL but we actually omit the first entry. */ + for (n=0 ; argv[n] ; n++) {} ++#if defined (L_execvp) + nargv = (char **) EXEC_ALLOC((n+2) * sizeof(char *), size2, EXEC_FUNC_EXECVP); ++#elif defined (L_execvpe) ++ nargv = (char **) EXEC_ALLOC((n+2) * sizeof(char *), size2, EXEC_FUNC_EXECVPE); ++#endif + nargv[0] = argv[0]; + nargv[1] = (char *)path; + memcpy(nargv+2, argv+1,