summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-core
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2015-10-08 22:51:41 +0200
committerTudor Florea <tudor.florea@enea.com>2015-10-08 22:51:41 +0200
commit1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e (patch)
treea21a5fc103bb3bd65ecd85ed22be5228fc54e447 /meta-oe/recipes-core
downloadmeta-openembedded-1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e.tar.gz
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta-oe/recipes-core')
-rw-r--r--meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb22
-rw-r--r--meta-oe/recipes-core/fakeroot/fakeroot-native_1.18.4.bb15
-rw-r--r--meta-oe/recipes-core/fakeroot/fakeroot_1.18.4.bb27
-rw-r--r--meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch30
-rw-r--r--meta-oe/recipes-core/glib-2.0/glibmm_2.36.2.bb31
-rw-r--r--meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.3.1.bb39
-rw-r--r--meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.2.11.bb21
-rw-r--r--meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch82
-rw-r--r--meta-oe/recipes-core/libxml/libxml++-2.37.1/run-ptest3
-rw-r--r--meta-oe/recipes-core/libxml/libxml++_2.37.1.bb28
-rw-r--r--meta-oe/recipes-core/llvm/llvm-common.bb22
-rw-r--r--meta-oe/recipes-core/llvm/llvm-common/llvm-config10
-rw-r--r--meta-oe/recipes-core/llvm/llvm.inc145
-rw-r--r--meta-oe/recipes-core/llvm/llvm3.3/arm_fenv_uclibc.patch14
-rw-r--r--meta-oe/recipes-core/llvm/llvm3.3_3.3.bb11
-rw-r--r--meta-oe/recipes-core/meta/distro-feed-configs.bb32
-rw-r--r--meta-oe/recipes-core/mm-common/mm-common_0.9.6.bb12
-rw-r--r--meta-oe/recipes-core/packagegroups/packagegroup-basic.bb55
-rw-r--r--meta-oe/recipes-core/packagegroups/packagegroup-boot.bb34
-rw-r--r--meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb45
-rw-r--r--meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/create-as-shared-lib.patch31
-rw-r--r--meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/soname.patch23
-rw-r--r--meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/stub-only.patch72
-rw-r--r--meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb34
-rw-r--r--meta-oe/recipes-core/toybox/toybox/0001-Match-paths-with-busybox.patch383
-rw-r--r--meta-oe/recipes-core/toybox/toybox_0.5.0.bb64
-rw-r--r--meta-oe/recipes-core/usleep/files/GPLv2.patch347
-rw-r--r--meta-oe/recipes-core/usleep/files/usleep.125
-rw-r--r--meta-oe/recipes-core/usleep/files/usleep.c82
-rw-r--r--meta-oe/recipes-core/usleep/usleep_1.0.bb26
30 files changed, 1765 insertions, 0 deletions
diff --git a/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb b/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb
new file mode 100644
index 000000000..205e1d1a1
--- /dev/null
+++ b/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb
@@ -0,0 +1,22 @@
1SUMMARY = "dbus forwarding daemon"
2LICENSE = "LGPLv2.1+"
3LIC_FILES_CHKSUM = "file://dbus-daemon-proxy.c;endline=19;md5=41df6d21fe1c97d6a1cc22a5bf374cba"
4DEPENDS = "dbus dbus-glib"
5SRCREV = "1226a0a1374628ff191f6d8a56000be5e53e7608"
6PV = "0.0.0+gitr${SRCPV}"
7PR = "r1"
8
9ASNEEDED_pn-dbus-daemon-proxy = ""
10
11SRC_URI = "git://git.collabora.co.uk/git/user/alban/dbus-daemon-proxy"
12S = "${WORKDIR}/git"
13
14do_compile() {
15 ${CC} ${LDFLAGS} `pkg-config --cflags --libs dbus-glib-1` -o dbus-daemon-proxy dbus-daemon-proxy.c
16}
17
18do_install() {
19 install -d ${D}${bindir}
20 install -m 0755 dbus-daemon-proxy ${D}${bindir}
21}
22
diff --git a/meta-oe/recipes-core/fakeroot/fakeroot-native_1.18.4.bb b/meta-oe/recipes-core/fakeroot/fakeroot-native_1.18.4.bb
new file mode 100644
index 000000000..a27a60b48
--- /dev/null
+++ b/meta-oe/recipes-core/fakeroot/fakeroot-native_1.18.4.bb
@@ -0,0 +1,15 @@
1require fakeroot_${PV}.bb
2
3S = "${WORKDIR}/fakeroot-${PV}"
4
5inherit native
6
7EXTRA_OECONF = "--program-prefix="
8
9# Compatability for the rare systems not using or having SYSV
10python () {
11 if d.getVar('HOST_NONSYSV', True) and d.getVar('HOST_NONSYSV', True) != '0':
12 d.setVar('EXTRA_OECONF', ' --with-ipc=tcp --program-prefix= ')
13}
14
15RDEPENDS_${PN} = "util-linux-native"
diff --git a/meta-oe/recipes-core/fakeroot/fakeroot_1.18.4.bb b/meta-oe/recipes-core/fakeroot/fakeroot_1.18.4.bb
new file mode 100644
index 000000000..156d513f1
--- /dev/null
+++ b/meta-oe/recipes-core/fakeroot/fakeroot_1.18.4.bb
@@ -0,0 +1,27 @@
1SUMMARY = "Gives a fake root environment"
2HOMEPAGE = "http://fakeroot.alioth.debian.org"
3SECTION = "base"
4LICENSE = "GPLv3"
5LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
6
7SRC_URI = "\
8 ${DEBIAN_MIRROR}/main/f/fakeroot/fakeroot_${PV}.orig.tar.bz2 \
9"
10
11inherit autotools
12
13do_configure_prepend() {
14 mkdir -p ${S}/build-aux
15}
16
17do_install_append() {
18 install -d ${D}${includedir}/fakeroot
19 install -m 644 *.h ${D}${includedir}/fakeroot
20}
21
22# fakeroot needs getopt which is provided by the util-linux package
23RDEPENDS_${PN} = "util-linux"
24
25
26SRC_URI[md5sum] = "706171d8d520b1ca1576ac73f2ceb4f3"
27SRC_URI[sha256sum] = "0a359efa3e9496c33234b3e9c89306a09bb4da9d33de43c261f1d8447e6ebea2"
diff --git a/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch b/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch
new file mode 100644
index 000000000..a5944c288
--- /dev/null
+++ b/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch
@@ -0,0 +1,30 @@
1Index: glibmm-2.22.1/Makefile.am
2===================================================================
3--- glibmm-2.22.1.orig/Makefile.am
4+++ glibmm-2.22.1/Makefile.am
5@@ -23,12 +23,7 @@ src_subdirs = glib/src gio/src
6 else
7 src_subdirs =
8 endif
9-if ENABLE_DOCUMENTATION
10-doc_subdirs = docs
11-else
12-doc_subdirs =
13-endif
14-SUBDIRS = tools $(src_subdirs) glib/glibmm gio/giomm tests examples $(doc_subdirs)
15+SUBDIRS = tools $(src_subdirs) glib/glibmm gio/giomm tests
16
17 glibmm_includedir = $(includedir)/$(GLIBMM_MODULE_NAME)
18 glibmm_include_HEADERS = glib/glibmm.h
19Index: glibmm-2.22.1/configure.ac
20===================================================================
21--- glibmm-2.22.1.orig/configure.ac
22+++ glibmm-2.22.1/configure.ac
23@@ -136,7 +136,6 @@ AC_CONFIG_FILES([Makefile
24 gio/src/Makefile
25 gio/giomm/Makefile
26 tests/Makefile
27- examples/Makefile
28 docs/Makefile
29 docs/reference/Doxyfile
30 MSVC_Net2005/glibmm/glibmm.rc
diff --git a/meta-oe/recipes-core/glib-2.0/glibmm_2.36.2.bb b/meta-oe/recipes-core/glib-2.0/glibmm_2.36.2.bb
new file mode 100644
index 000000000..71daf9dea
--- /dev/null
+++ b/meta-oe/recipes-core/glib-2.0/glibmm_2.36.2.bb
@@ -0,0 +1,31 @@
1SUMMARY = "C++ bindings for the glib library"
2HOMEPAGE = "http://www.gtkmm.org/"
3SECTION = "libs"
4LICENSE = "LGPLv2.1 & GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
6 file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
7
8DEPENDS = "mm-common glib-2.0 libsigc++-2.0"
9inherit autotools pkgconfig
10
11SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}"
12
13SRC_URI = " \
14 ftp://ftp.gnome.org/pub/GNOME/sources/glibmm/${SHRT_VER}/glibmm-${PV}.tar.xz \
15 file://remove-examples.patch \
16"
17SRC_URI[md5sum] = "5c96d566c22c209d7b9cbf2344c469e9"
18SRC_URI[sha256sum] = "f15b65bf5740257be03c69f2f5ae71436ac3011ebeb02274b2b99b796c6837cf"
19
20do_install_append() {
21 install -d ${D}${datadir}/glibmm-2.4
22 install -d ${D}${datadir}/aclocal
23
24 install -m 0644 glib/glibmmconfig.h ${D}${datadir}/glibmm-2.4/
25 install -m 0644 scripts/glibmm_check_perl.m4 ${D}${datadir}/aclocal/ || true
26}
27
28FILES_${PN} = "${libdir}/lib*.so.*"
29FILES_${PN}-dev += "${datadir}/glibmm-* ${libdir}/glibmm-2.4/include/ ${libdir}/glibmm-2.4/proc/ ${libdir}/giomm-2.4/include/"
30
31RDEPENDS_${PN}-dev = "perl"
diff --git a/meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.3.1.bb b/meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.3.1.bb
new file mode 100644
index 000000000..6a09fdac4
--- /dev/null
+++ b/meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.3.1.bb
@@ -0,0 +1,39 @@
1DESCRIPTION = "libjpeg-turbo is a derivative of libjpeg that uses SIMD instructions (MMX, SSE2, NEON) to accelerate baseline JPEG compression and decompression"
2HOMEPAGE = "http://libjpeg-turbo.org/"
3
4LICENSE = "BSD-3-Clause"
5LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=12;md5=78fa8dbac547bb5b2a0e6457a6cfe21d \
6 file://jpeglib.h;endline=14;md5=a08bb0a80f782a9f8da313cc4015ed6f \
7 file://djpeg.c;endline=9;md5=7629c51aed78174711c20a40194a8f1b \
8"
9
10BASEPV = "${@d.getVar('PV',True).split('+')[1]}"
11
12SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${BASEPV}.tar.gz"
13SRC_URI[md5sum] = "2c3a68129dac443a72815ff5bb374b05"
14SRC_URI[sha256sum] = "c132907417ddc40ed552fe53d6b91d5fecbb14a356a60ddc7ea50d6be9666fb9"
15
16S = "${WORKDIR}/${BPN}-${BASEPV}"
17
18# Drop-in replacement for jpeg
19PROVIDES = "jpeg"
20RPROVIDES_${PN} += "jpeg"
21RREPLACES_${PN} += "jpeg"
22RCONFLICTS_${PN} += "jpeg"
23
24inherit autotools pkgconfig
25
26EXTRA_OECONF = "--with-jpeg8 "
27
28PACKAGES =+ "jpeg-tools libturbojpeg"
29
30DESCRIPTION_jpeg-tools = "The jpeg-tools package includes client programs to access libjpeg functionality. These tools allow for the compression, decompression, transformation and display of JPEG files and benchmarking of the libjpeg library."
31FILES_jpeg-tools = "${bindir}/*"
32
33FILES_libturbojpeg = "${libdir}/libturbojpeg.so"
34INSANE_SKIP_libturbojpeg = "dev-so"
35
36BBCLASSEXTEND = "native"
37DEPENDS = "nasm-native"
38
39LEAD_SONAME = "libjpeg.so.8"
diff --git a/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.2.11.bb b/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.2.11.bb
new file mode 100644
index 000000000..b6ce5fc91
--- /dev/null
+++ b/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.2.11.bb
@@ -0,0 +1,21 @@
1SUMMARY = "A library for loose coupling of C++ method calls"
2SECTION = "libs"
3LICENSE = "LGPLv2.1"
4LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
5
6DEPENDS = "mm-common"
7
8SRC_URI = "ftp://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-${PV}.tar.xz"
9SRC_URI[md5sum] = "815d0c6d61601f51bbcaeef6826606b0"
10SRC_URI[sha256sum] = "9834045f74f56752c2c6b3cdc195c30ab8314ad22dc8e626d6f67f940f1e4957"
11
12S = "${WORKDIR}/libsigc++-${PV}"
13
14inherit autotools
15
16EXTRA_AUTORECONF = "--exclude=autoheader"
17
18FILES_${PN}-dev += "${libdir}/sigc++-*/"
19FILES_${PN}-doc += "${datadir}/devhelp"
20
21BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch b/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch
new file mode 100644
index 000000000..82960f112
--- /dev/null
+++ b/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch
@@ -0,0 +1,82 @@
1diff --git a/Makefile.am b/Makefile.am
2index d4aadb1..0e36756 100644
3--- a/Makefile.am
4+++ b/Makefile.am
5@@ -253,5 +253,8 @@ post-html: docs/index.html
6 rsync $(rsync_args) -r docs/index.html $$USER,libxmlplusplus@web.sourceforge.net:$(web_path_project)
7 rsync $(rsync_args) -r examples $$USER,libxmlplusplus@web.sourceforge.net:$(web_path_project)
8
9+install-ptest:
10+ make -C examples install-ptest
11+
12 # Optional: auto-generate the ChangeLog file from the git log on make dist
13 include $(top_srcdir)/macros/dist-changelog.am
14diff --git a/examples/Makefile.am b/examples/Makefile.am
15index d9541ca..c27e088 100644
16--- a/examples/Makefile.am
17+++ b/examples/Makefile.am
18@@ -19,6 +19,8 @@ AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) -I. $(LIBXMLXX_CFLAGS)
19 AM_CXXFLAGS = $(LIBXMLXX_WXXFLAGS)
20 LDADD = $(top_builddir)/libxml++/libxml++-$(LIBXMLXX_API_VERSION).la $(LIBXMLXX_LIBS)
21
22+LOG_DRIVER = $(SHELL) ../macros/test-driver
23+
24 check_PROGRAMS = \
25 dom_build/dom_build \
26 dom_parse_entities/dom_parse_entities \
27@@ -36,6 +38,23 @@ check_PROGRAMS = \
28 schemavalidation/schemavalidation \
29 textreader/textreader
30
31+check_DOTLIBS = \
32+ dom_build/.libs/dom_build \
33+ dom_parse_entities/.libs/dom_parse_entities \
34+ dom_parser/.libs/dom_parser \
35+ dom_parser_raw/.libs/dom_parser_raw \
36+ dom_read_write/.libs/dom_read_write \
37+ dom_xinclude/.libs/dom_xinclude \
38+ dom_xpath/.libs/dom_xpath \
39+ dtdvalidation/.libs/dtdvalidation \
40+ import_node/.libs/import_node \
41+ sax_exception/.libs/sax_exception \
42+ sax_parser/.libs/sax_parser \
43+ sax_parser_build_dom/.libs/sax_parser_build_dom \
44+ sax_parser_entities/.libs/sax_parser_entities \
45+ schemavalidation/.libs/schemavalidation \
46+ textreader/.libs/textreader
47+
48 # Shell scripts that call the example programs.
49 check_SCRIPTS = \
50 dom_build/make_check.sh \
51@@ -147,10 +166,10 @@ dist_noinst_DATA = \
52 # file are located in different directories.
53 dom_read_write/make_check.sh: Makefile
54 echo '# Generated and used by "make check"' >$@
55- echo 'dom_read_write/dom_read_write "$(srcdir)/dom_read_write/example.xml" dom_read_write/example_output.xml >/dev/null' >>$@
56+ echo 'cd dom_read_write && .libs/dom_read_write "example.xml" example_output.xml >/dev/null' >>$@
57 chmod +x $@
58
59-script_template = cd "$(srcdir)/<!progname!>" && "$(abs_builddir)/<!progname!>/<!progname!>" >/dev/null
60+script_template = cd "<!progname!>" && ".libs/<!progname!>" >/dev/null
61 standard_scripts = $(filter-out dom_read_write/make_check.sh,$(check_SCRIPTS))
62
63 # All other script files are generated like so:
64@@ -162,3 +181,18 @@ $(standard_scripts): Makefile
65 CLEANFILES = \
66 dom_read_write/example_output.xml \
67 $(check_SCRIPTS)
68+
69+buildtest: all
70+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_SCRIPTS)
71+ $(MAKE) $(AM_MAKEFLAGS) buildtest-TESTS
72+
73+install-ptest:
74+ $(MKDIR_P) $(DESTDIR)/examples
75+ cp --parents $(check_DOTLIBS) $(DESTDIR)/examples
76+ cp --parents $(check_SCRIPTS) $(DESTDIR)/examples
77+ cd $(srcdir) && cp --parents $(dist_noinst_DATA) $(DESTDIR)/examples
78+ cp Makefile $(DESTDIR)/examples
79+ $(MKDIR_P) $(DESTDIR)/macros
80+ cp $(srcdir)/../macros/test-driver $(DESTDIR)/macros
81+ sed -i -e 's|^Makefile:|_Makefile:|' $(DESTDIR)/examples/Makefile
82+
diff --git a/meta-oe/recipes-core/libxml/libxml++-2.37.1/run-ptest b/meta-oe/recipes-core/libxml/libxml++-2.37.1/run-ptest
new file mode 100644
index 000000000..236f66753
--- /dev/null
+++ b/meta-oe/recipes-core/libxml/libxml++-2.37.1/run-ptest
@@ -0,0 +1,3 @@
1#!/bin/sh
2cd examples
3make -k check-TESTS
diff --git a/meta-oe/recipes-core/libxml/libxml++_2.37.1.bb b/meta-oe/recipes-core/libxml/libxml++_2.37.1.bb
new file mode 100644
index 000000000..0ed8ee399
--- /dev/null
+++ b/meta-oe/recipes-core/libxml/libxml++_2.37.1.bb
@@ -0,0 +1,28 @@
1SUMMARY = "C++ wrapper for libxml library"
2DESCRIPTION = "C++ wrapper for libxml library"
3HOMEPAGE = "http://libxmlplusplus.sourceforge.net"
4BUGTRACKER = "http://bugzilla.gnome.org/buglist.cgi?product=libxml%2B%2B"
5SECTION = "libs"
6LICENSE = "GPLv2"
7LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 "
8
9SHRT_VER = "${@d.getVar('PV',True).split('.')[0]}.${@d.getVar('PV',True).split('.')[1]}"
10SRC_URI = "${GNOME_MIRROR}/${BPN}/${SHRT_VER}/${BP}.tar.xz \
11 file://libxml++_ptest.patch \
12 file://run-ptest \
13"
14SRC_URI[md5sum] = "2f9372a6eba6e40206c11f558a8fbc32"
15SRC_URI[sha256sum] = "f3b183600532a92af355719210223f858857092b8b1531c7907155c59a6db39f"
16
17DEPENDS = "libxml2 glibmm"
18
19inherit autotools pkgconfig ptest
20
21do_compile_ptest() {
22 oe_runmake -C examples buildtest
23}
24
25FILES_${PN}-doc += "${datadir}/devhelp"
26FILES_${PN}-dev += "${libdir}/libxml++-2.6/include/libxml++config.h"
27
28RDEPENDS_${PN}-ptest += "make"
diff --git a/meta-oe/recipes-core/llvm/llvm-common.bb b/meta-oe/recipes-core/llvm/llvm-common.bb
new file mode 100644
index 000000000..618cc1e9d
--- /dev/null
+++ b/meta-oe/recipes-core/llvm/llvm-common.bb
@@ -0,0 +1,22 @@
1SUMMARY = "Helper script for OE's llvm support"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
4 file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420 \
5"
6
7SRC_URI = "file://llvm-config"
8
9ALLOW_EMPTY_${PN} = "1"
10SYSROOT_PREPROCESS_FUNCS_append_class-target = " llvm_common_sysroot_preprocess"
11
12llvm_common_sysroot_preprocess() {
13 install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
14 install -m 0755 ${WORKDIR}/llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/
15}
16
17do_install_class-native() {
18 install -d ${D}${bindir}
19 install -m 0755 ${WORKDIR}/llvm-config ${D}${bindir}
20}
21
22BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-core/llvm/llvm-common/llvm-config b/meta-oe/recipes-core/llvm/llvm-common/llvm-config
new file mode 100644
index 000000000..a9a416d93
--- /dev/null
+++ b/meta-oe/recipes-core/llvm/llvm-common/llvm-config
@@ -0,0 +1,10 @@
1#!/bin/sh
2# Wrapper script for real llvm-config. Simply calls
3
4if [ $WANT_LLVM_RELEASE ]; then
5 exec `dirname $0`/${TARGET_PREFIX}llvm-config$WANT_LLVM_RELEASE ${@}
6else
7 echo "The variable WANT_LLVM_RELEASE is not defined and exported"
8 echo "by your build recipe. Go figure."
9 exit 1
10fi
diff --git a/meta-oe/recipes-core/llvm/llvm.inc b/meta-oe/recipes-core/llvm/llvm.inc
new file mode 100644
index 000000000..26bac3310
--- /dev/null
+++ b/meta-oe/recipes-core/llvm/llvm.inc
@@ -0,0 +1,145 @@
1# LLVM does not provide ABI stability between different versions. For this
2# reason OE makes it possible to build and install different llvm versions
3# at the same time.
4#
5# This is true for the normal recipes as well as the native ones.
6#
7# All regular installation directories are prefixed with 'llvm${LLVM_RELEASE}'
8# e.g. "${STAGING_BINDIR}/llvm2.5" or "${STAGING_INCDIR}/llvm2.5"
9#
10# For your program or library that makes use of llvm you do should not need to
11# modify anything as long as it uses the results of various llvm-config
12# invocations. If you need customizations something is wrong and it needs to be
13# fixed (report bug).
14#
15# However the *recipe* for your program/library *must* declare
16# export WANT_LLVM_RELEASE = "<valid version number>"
17# The version number is picked up by a generic wrapper script which just calls
18# the variant of the specified version.
19
20DESCRIPTION = "The Low Level Virtual Machine"
21HOMEPAGE = "http://llvm.org"
22
23# 3-clause BSD-like
24# University of Illinois/NCSA Open Source License
25LICENSE = "NCSA"
26LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=d0a3ef0d3e0e8f5cf59e5ffc273ab1f8"
27
28DEPENDS = "libffi libxml2-native llvm-common"
29
30inherit perlnative pythonnative autotools
31
32LLVM_RELEASE = "${PV}"
33LLVM_DIR = "llvm${LLVM_RELEASE}"
34
35SRC_URI = "http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.gz"
36S = "${WORKDIR}/llvm-${PV}.src"
37
38LLVM_BUILD_DIR = "${WORKDIR}/llvm-${PV}.build"
39LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install"
40
41EXTRA_OECONF += "--disable-assertions \
42 --enable-debug-runtime \
43 --disable-expensive-checks \
44 --enable-bindings=none \
45 --enable-keep-symbols \
46 --enable-libffi \
47 --enable-optimized \
48 --enable-shared \
49 --enable-targets=host-only"
50EXTRA_OEMAKE += "REQUIRES_RTTI=1 VERBOSE=1"
51
52do_configure_prepend() {
53 # Remove RPATHs
54 sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' ${S}/Makefile.rules
55
56 # Drop "svn" suffix from version string
57 sed -i 's/${PV}svn/${PV}/g' ${S}/configure
58
59 # Fix paths in llvm-config
60 sed -i "s|sys::path::parent_path(CurrentPath))\.str()|sys::path::parent_path(sys::path::parent_path(CurrentPath))).str()|g" ${S}/tools/llvm-config/llvm-config.cpp
61 sed -ri "s#/(bin|include|lib)(/?\")#/\1/${LLVM_DIR}\2#g" ${S}/tools/llvm-config/llvm-config.cpp
62
63 # Fails to build unless using separate directory from source
64 mkdir -p ${LLVM_BUILD_DIR}
65 cd ${LLVM_BUILD_DIR}
66}
67
68do_compile() {
69 cd ${LLVM_BUILD_DIR}
70 oe_runmake \
71 AR="${BUILD_AR}" \
72 CC="${BUILD_CC}" \
73 CFLAGS="${BUILD_CFLAGS}" \
74 CXX="${BUILD_CXX}" \
75 CXXFLAGS="${BUILD_CXXFLAGS}" \
76 CPP="${BUILD_CPP}" \
77 CPPFLAGS="${BUILD_CPPFLAGS}" \
78 NM="${BUILD_NM}" \
79 RANLIB="${BUILD_RANLIB}" \
80 PATH="${STAGING_BINDIR_NATIVE}:$PATH" \
81 cross-compile-build-tools
82 oe_runmake
83}
84
85do_install() {
86 cd ${LLVM_BUILD_DIR}
87 oe_runmake DESTDIR=${LLVM_INSTALL_DIR} install
88
89 mv ${LLVM_INSTALL_DIR}${bindir}/${HOST_SYS}-llvm-config-host ${LLVM_INSTALL_DIR}/llvm-config-host
90
91 install -d ${D}${bindir}/${LLVM_DIR}
92 mv ${LLVM_INSTALL_DIR}${bindir}/* ${D}${bindir}/${LLVM_DIR}/
93
94 install -d ${D}${includedir}/${LLVM_DIR}
95 mv ${LLVM_INSTALL_DIR}${includedir}/* ${D}${includedir}/${LLVM_DIR}/
96
97 install -d ${D}${libdir}/${LLVM_DIR}
98 mv ${LLVM_INSTALL_DIR}${libdir}/* ${D}${libdir}/${LLVM_DIR}/
99 ln -s ${LLVM_DIR}/libLLVM-${PV}.so ${D}${libdir}/libLLVM-${PV}.so
100
101 install -d ${D}${docdir}/${LLVM_DIR}
102 mv ${LLVM_INSTALL_DIR}${prefix}/docs/llvm/* ${D}${docdir}/${LLVM_DIR}
103}
104
105SYSROOT_PREPROCESS_FUNCS += "llvm_sysroot_preprocess"
106
107llvm_sysroot_preprocess() {
108 install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}
109 mv ${LLVM_INSTALL_DIR}/llvm-config-host ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV}
110}
111
112ALLOW_EMPTY_${PN} = "1"
113ALLOW_EMPTY_${PN}-staticdev = "1"
114FILES_${PN} = ""
115FILES_${PN}-staticdev = ""
116DOTDEBUG-dbg = " ${bindir}/${LLVM_DIR}/.debug \
117 ${libdir}/${LLVM_DIR}/.debug/BugpointPasses.so \
118 ${libdir}/${LLVM_DIR}/.debug/LLVMHello.so \
119 /usr/src/debug \
120"
121
122FILES_${PN}-dev = "${bindir}/${LLVM_DIR} \
123 ${includedir}/${LLVM_DIR} \
124 ${libdir}/${LLVM_DIR}/BugpointPasses.so \
125 ${libdir}/${LLVM_DIR}/LLVMHello.so \
126"
127
128PACKAGES_DYNAMIC = "^libllvm-.*$"
129
130INSANE_SKIP_libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE} += "dev-so"
131
132python llvm_populate_packages() {
133 libdir = bb.data.expand('${libdir}', d)
134 libllvm_libdir = bb.data.expand('${libdir}/${LLVM_DIR}', d)
135 split_dbg_packages = do_split_packages(d, libllvm_libdir+'/.debug', '^lib(.*)\.so$', 'libllvm${LLVM_RELEASE}-%s-dbg', 'Split debug package for %s', allow_dirs=True)
136 split_packages = do_split_packages(d, libdir, '^lib(.*)\.so$', 'libllvm${LLVM_RELEASE}-%s', 'Split package for %s', allow_dirs=True, allow_links=True, recursive=True)
137 split_staticdev_packages = do_split_packages(d, libllvm_libdir, '^lib(.*)\.a$', 'libllvm${LLVM_RELEASE}-%s-staticdev', 'Split staticdev package for %s', allow_dirs=True)
138 if split_packages:
139 pn = d.getVar('PN', True)
140 d.appendVar('RDEPENDS_' + pn, ' '+' '.join(split_packages))
141 d.appendVar('RDEPENDS_' + pn + '-dbg', ' '+' '.join(split_dbg_packages))
142 d.appendVar('RDEPENDS_' + pn + '-staticdev', ' '+' '.join(split_staticdev_packages))
143}
144
145PACKAGESPLITFUNCS_prepend = "llvm_populate_packages "
diff --git a/meta-oe/recipes-core/llvm/llvm3.3/arm_fenv_uclibc.patch b/meta-oe/recipes-core/llvm/llvm3.3/arm_fenv_uclibc.patch
new file mode 100644
index 000000000..c3ae49464
--- /dev/null
+++ b/meta-oe/recipes-core/llvm/llvm3.3/arm_fenv_uclibc.patch
@@ -0,0 +1,14 @@
1Index: llvm-2.9/include/llvm/Support/FEnv.h
2===================================================================
3--- llvm-2.9.orig/include/llvm/Support/FEnv.h 2010-11-29 20:44:50.000000000 +0100
4+++ llvm-2.9/include/llvm/Support/FEnv.h 2011-11-18 18:42:22.580161297 +0100
5@@ -17,6 +17,9 @@
6
7 #include "llvm/Config/config.h"
8 #include <cerrno>
9+
10+#undef HAVE_FENV_H
11+
12 #ifdef HAVE_FENV_H
13 #include <fenv.h>
14 #endif
diff --git a/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb b/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb
new file mode 100644
index 000000000..4617efa8b
--- /dev/null
+++ b/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb
@@ -0,0 +1,11 @@
1require llvm.inc
2
3DEPENDS += "zlib"
4EXTRA_OECONF += "--enable-zlib"
5
6SRC_URI_append_libc-uclibc = " file://arm_fenv_uclibc.patch "
7SRC_URI[md5sum] = "40564e1dc390f9844f1711c08b08e391"
8SRC_URI[sha256sum] = "68766b1e70d05a25e2f502e997a3cb3937187a3296595cf6e0977d5cd6727578"
9
10PACKAGECONFIG ??= ""
11PACKAGECONFIG[r600] = "--enable-experimental-targets=R600,,,"
diff --git a/meta-oe/recipes-core/meta/distro-feed-configs.bb b/meta-oe/recipes-core/meta/distro-feed-configs.bb
new file mode 100644
index 000000000..dde86569e
--- /dev/null
+++ b/meta-oe/recipes-core/meta/distro-feed-configs.bb
@@ -0,0 +1,32 @@
1SUMMARY = "Configuration files for online package repositories aka feeds"
2PR = "r6"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
5
6DISTRO_FEED_PREFIX ?= "remote"
7DISTRO_FEED_URI ?= "http://my-distribution.example/remote-feed/"
8
9do_compile() {
10 mkdir -p ${S}/${sysconfdir}/opkg
11 for feed in all ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}; do
12 echo "src/gz ${DISTRO_FEED_PREFIX}-${feed} ${DISTRO_FEED_URI}/${feed}" > ${S}/${sysconfdir}/opkg/${feed}-feed.conf
13 done
14}
15do_install () {
16 install -d ${D}${sysconfdir}/opkg
17 install -m 0644 ${S}/${sysconfdir}/opkg/* ${D}${sysconfdir}/opkg/
18}
19
20PACKAGE_ARCH = "${MACHINE_ARCH}"
21
22#def distro_feed_configs(d):
23# import bb
24# parchs = d.getVar( "PACKAGE_EXTRA_ARCHS", 1 ).split()
25# march = d.getVar( "MACHINE_ARCH", 1 ).split()
26# archs = [ "all" ] + parchs + march
27# confs = [ ( "${sysconfdir}/opkg/%s-feed.conf" % feed ) for feed in archs ]
28# return " ".join( confs )
29#
30#CONFFILES_${PN} += '${@distro_feed_configs(d)}'
31
32CONFFILES_${PN} += '${@ " ".join( [ ( "${sysconfdir}/opkg/%s-feed.conf" % feed ) for feed in "all ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}".split() ] ) }'
diff --git a/meta-oe/recipes-core/mm-common/mm-common_0.9.6.bb b/meta-oe/recipes-core/mm-common/mm-common_0.9.6.bb
new file mode 100644
index 000000000..f7e2507b3
--- /dev/null
+++ b/meta-oe/recipes-core/mm-common/mm-common_0.9.6.bb
@@ -0,0 +1,12 @@
1inherit gnomebase
2
3GNOME_COMPRESS_TYPE="xz"
4
5SRC_URI[archive.md5sum] = "3b23749ab39441c392c016ce74632678"
6SRC_URI[archive.sha256sum] = "7c37158a1f37604705a9b9305d3b335fb8256f5de701c8801269dde4e2ce7dde"
7
8LICENSE = "GPLv2"
9LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
10
11BBCLASSEXTEND = "native"
12
diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb b/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
new file mode 100644
index 000000000..20b16527e
--- /dev/null
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
@@ -0,0 +1,55 @@
1# This recipe is intended as a 'simpler' replacement for packagegroup-base.
2# Please communicate your use cases and suggestions to the mailinglist(s)
3
4SUMMARY = "Basic task to get a device online"
5LICENSE = "MIT"
6LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
7
8PR = "r13"
9
10PACKAGE_ARCH = "${MACHINE_ARCH}"
11inherit packagegroup
12
13# Poke extra recomendations into the list using your machine.conf
14#
15MACHINE_EXTRA_RRECOMMENDS ?= ""
16
17#
18# Select between dropbear and openssh
19# Set TASK_BASIC_SSHDAEMON = "openssh-sshd openssh-sftp openssh-sftp-server" in your DISTRO config to get openssh(d)
20#
21TASK_BASIC_SSHDAEMON ?= "dropbear openssh-sftp openssh-sftp-server"
22
23#
24# The section below is designed to match with packagegroup-boot, but doesn't depend on it to allow for more freedom
25# when writing image recipes.
26# It also avoids the choice between connman/networkmanager/ifupdown since that is an image feature, not a
27# distro feature.
28#
29# Util-linux (u)mount is included because the busybox one can't handle /etc/mtab being symlinked to /proc/mounts
30#
31RDEPENDS_${PN} = "\
32 ${TASK_BASIC_SSHDAEMON} \
33 avahi-daemon avahi-utils \
34"
35
36#
37# The following section is split in 3:
38# 1) Machine features: kernel modules and userspace helpers for those
39# 2) Distro features: packages associated with those
40# 3) Nice to have: packages that are nice to have, but aren't strictly needed
41#
42RRECOMMENDS_${PN} = "\
43 ${MACHINE_EXTRA_RRECOMMENDS} \
44 ${@base_contains("MACHINE_FEATURES", "usbhost", "usbutils", "", d)} \
45 ${@base_contains("MACHINE_FEATURES", "alsa", "alsa-utils-alsamixer", "", d)} \
46 ${@base_contains("MACHINE_FEATURES", "usbgadget", "kernel-module-g-ether kernel-module-g-serial kernel-module-g-mass-storage", "", d)} \
47 \
48 ${@base_contains("DISTRO_FEATURES", "bluetooth", "bluez4", "", d)} \
49 ${@base_contains("DISTRO_FEATURES", "wifi", "iw wpa-supplicant", "", d)} \
50 \
51 tzdata \
52 \
53 cpufrequtils \
54 htop \
55"
diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb b/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb
new file mode 100644
index 000000000..f50443d81
--- /dev/null
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb
@@ -0,0 +1,34 @@
1SUMMARY = "Basic task to get a device booting"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
4
5PR = "r58"
6
7PACKAGE_ARCH = "${MACHINE_ARCH}"
8inherit packagegroup
9
10#
11# those ones can be set in machine config to supply packages needed to get machine booting
12#
13MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= ""
14MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
15
16# Make sure we build the kernel
17DEPENDS = "virtual/kernel"
18
19#
20# minimal set of packages - needed to boot
21#
22RDEPENDS_${PN} = "\
23 base-files \
24 base-passwd \
25 busybox \
26 netbase \
27 ${@base_contains("MACHINE_FEATURES", "keyboard", "keymaps", "", d)} \
28 ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS} \
29"
30
31RRECOMMENDS_${PN} = "\
32 kernel \
33 ${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS} \
34"
diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb b/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb
new file mode 100644
index 000000000..2a4b067ba
--- /dev/null
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb
@@ -0,0 +1,45 @@
1SUMMARY = "A set of useful command line tools"
2SUMMARY_${PN}-debug = "A set of command line tools useful for debugging"
3SECTION = "console"
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
6PV = "1.0"
7PR = "r21"
8
9inherit packagegroup allarch
10
11PACKAGES += "${PN}-debug"
12
13RDEPENDS_${PN} = "\
14 dbus-daemon-proxy \
15 dosfstools \
16 htop \
17 iptables \
18 lsof \
19 mbuffer \
20 mtd-utils \
21 nano \
22 nfs-utils-client \
23 nmon \
24 powertop \
25 screen \
26 socat \
27 sysstat \
28"
29
30RDEPENDS_${PN}-debug = "\
31 evtest \
32 devmem2 \
33 i2c-tools \
34 gdb \
35 procps \
36 pxaregs \
37 s3c24xx-gpio \
38 s3c64xx-gpio \
39 serial-forward \
40 strace \
41"
42
43RRECOMMENDS_${PN}-debug = "\
44 ltrace \
45"
diff --git a/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/create-as-shared-lib.patch b/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/create-as-shared-lib.patch
new file mode 100644
index 000000000..306e3b821
--- /dev/null
+++ b/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/create-as-shared-lib.patch
@@ -0,0 +1,31 @@
1--- a/src/proxy-libintl/Makefile.org 2009-09-12 23:19:04.989421607 -0700
2+++ a/src/proxy-libintl/Makefile 2009-09-12 23:21:14.100640001 -0700
3@@ -4,20 +4,20 @@ ZIPFILE = proxy-libintl-$(TIMESTAMP).zip
4 CC = gcc
5 CFLAGS = -Wall -I ../../include
6
7-all : ../../lib/libintl.a ../../lib/intl.lib
8+all : ../../lib/libintl.so ../../lib/intl.lib
9
10-../../lib/libintl.a : libintl.o
11- ar rc $@ libintl.o
12+../../lib/libintl.so : libintl.o
13+ $(CC) -shared -o $@ libintl.o
14
15-../../lib/intl.lib : ../../lib/libintl.a
16- cp ../../lib/libintl.a $@
17- strip --strip-unneeded $@
18+../../lib/intl.lib : ../../lib/libintl.so
19+ cp ../../lib/libintl.so $@
20+ $(STRIP) --strip-unneeded $@
21
22 libintl.o : libintl.c
23 $(CC) $(CFLAGS) -c libintl.c
24
25 clean :
26- rm -f *.o ../../lib/libintl.a ../../$(ZIPFILE)
27+ rm -f *.o ../../lib/libintl.so ../../$(ZIPFILE)
28
29 dist : clean all
30- cd ../..; zip $(ZIPFILE) include/libintl.h lib/{libintl.a,intl.lib} src/proxy-libintl/{README.txt,COPYING.LIB.txt,Makefile,libintl.[ch]}; manifestify $(ZIPFILE)
31+ cd ../..; zip $(ZIPFILE) include/libintl.h lib/{libintl.so,intl.lib} src/proxy-libintl/{README.txt,COPYING.LIB.txt,Makefile,libintl.[ch]}; manifestify $(ZIPFILE)
diff --git a/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/soname.patch b/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/soname.patch
new file mode 100644
index 000000000..0df232d25
--- /dev/null
+++ b/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/soname.patch
@@ -0,0 +1,23 @@
1Index: proxy-libintl-20080418-r6/src/proxy-libintl/Makefile
2===================================================================
3--- proxy-libintl-20080418-r6.orig/src/proxy-libintl/Makefile 2010-07-25 08:40:22.893620001 -0700
4+++ proxy-libintl-20080418-r6/src/proxy-libintl/Makefile 2010-07-25 10:51:29.573620000 -0700
5@@ -6,16 +6,13 @@ CFLAGS = -Wall -I ../../include
6
7 all : ../../lib/libintl.so ../../lib/intl.lib
8
9-../../lib/libintl.so : libintl.o
10- $(CC) -shared -o $@ libintl.o
11+../../lib/libintl.so : libintl.c
12+ $(CC) $(CFLAGS) -shared -Wl,-soname -Wl,libintl.so -o $@ $<
13
14 ../../lib/intl.lib : ../../lib/libintl.so
15 cp ../../lib/libintl.so $@
16 $(STRIP) --strip-unneeded $@
17
18-libintl.o : libintl.c
19- $(CC) $(CFLAGS) -c libintl.c
20-
21 clean :
22 rm -f *.o ../../lib/libintl.so ../../$(ZIPFILE)
23
diff --git a/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/stub-only.patch b/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/stub-only.patch
new file mode 100644
index 000000000..7186b13c0
--- /dev/null
+++ b/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/stub-only.patch
@@ -0,0 +1,72 @@
1Index: proxy-libintl/src/proxy-libintl/libintl.c
2===================================================================
3--- proxy-libintl.orig/src/proxy-libintl/libintl.c
4+++ proxy-libintl/src/proxy-libintl/libintl.c
5@@ -18,9 +18,12 @@
6 */
7
8 #ifdef _WIN32
9-#include <windows.h>
10+# include <windows.h>
11 #else
12-#include <dlfcn.h>
13+# include <stddef.h>
14+# if !STUB_ONLY
15+# include <dlfcn.h>
16+# endif
17 typedef void* HMODULE;
18 #endif
19
20@@ -65,11 +68,13 @@ static char * (*p_bind_textdomain_codese
21 static int
22 use_intl_dll (HMODULE dll)
23 {
24-#ifdef _WIN32
25-#define LOOKUP(fn) p_##fn = (void *) GetProcAddress (dll, #fn); if (p_##fn == NULL) return 0
26-#else
27-#define LOOKUP(fn) p_##fn = (void *) dlsym (dll, #fn); if (p_##fn == NULL) return 0
28-#endif
29+#if !STUB_ONLY
30+# ifdef _WIN32
31+# define LOOKUP(fn) p_##fn = (void *) GetProcAddress (dll, #fn); if (p_##fn == NULL) return 0
32+# else
33+# define LOOKUP(fn) p_##fn = (void *) dlsym (dll, #fn); if (p_##fn == NULL) return 0
34+# endif /* _WIN32 */
35+
36
37 LOOKUP (gettext);
38 LOOKUP (dgettext);
39@@ -82,7 +87,7 @@ use_intl_dll (HMODULE dll)
40 LOOKUP (bind_textdomain_codeset);
41
42 #undef LOOKUP
43-
44+#endif /* !STUB_ONLY */
45 return 1;
46 }
47
48@@ -171,13 +176,17 @@ setup (void)
49
50 if (!beenhere)
51 {
52-#ifdef _WIN32
53- HMODULE intl_dll = LoadLibrary ("intl.dll");
54-#elif defined(__APPLE__) && defined(__MACH__)
55- HMODULE intl_dll = dlopen ("libintl.dylib", RTLD_LAZY);
56-#else
57- HMODULE intl_dll = dlopen ("libintl.so", RTLD_LAZY);
58-#endif
59+#if !STUB_ONLY
60+# ifdef _WIN32
61+ HMODULE intl_dll = LoadLibrary ("intl.dll");
62+# elif defined(__APPLE__) && defined(__MACH__)
63+ HMODULE intl_dll = dlopen ("libintl.dylib", RTLD_LAZY);
64+# else
65+ HMODULE intl_dll = dlopen ("libintl.so", RTLD_LAZY);
66+# endif
67+#else /* !STUB_ONLY */
68+ HMODULE intl_dll = NULL;
69+#endif /* STUB_ONLY */
70
71 if (intl_dll != NULL &&
72 use_intl_dll (intl_dll))
diff --git a/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb b/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb
new file mode 100644
index 000000000..a46a91c8b
--- /dev/null
+++ b/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb
@@ -0,0 +1,34 @@
1SUMMARY = "Proxy libintl"
2HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/"
3SECTION = "libs"
4LICENSE = "LGPLv2"
5LIC_FILES_CHKSUM = "file://src/proxy-libintl/COPYING.LIB.txt;md5=bc400bc21422f9a92e76ec2c5167ca2e"
6
7PR = "r1"
8PROVIDES = "virtual/libintl"
9
10SRC_URI = " \
11 http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/${PN}-dev_${PV}_win32.zip \
12"
13SRC_URI[md5sum] = "aef407c2b97ee829383aadd867c61d1e"
14SRC_URI[sha256sum] = "291ac350cc5eb4a01b0d651ca99fae64cee8a1c06b2005277fab5a4356f9ae91"
15
16S = "${WORKDIR}"
17PACKAGES = "${PN} ${PN}-dev"
18FILES_${PN}-dev = "${includedir}/libintl.h ${libdir}/libintl.a"
19INSANE_SKIP_${PN}-dev = "staticdev"
20ALLOW_EMPTY_${PN} = "1"
21CFLAGS_append = " -fPIC -Wall -I ../../include ${@['-DSTUB_ONLY', ''][d.getVar('USE_NLS', 1) != 'no']}"
22TARGET_CC_ARCH += "${LDFLAGS}"
23
24do_compile() {
25 cd ${WORKDIR}/src/proxy-libintl
26 oe_runmake ../../lib/libintl.a
27}
28
29do_install() {
30 install -d ${D}/${includedir}
31 install -d ${D}/${libdir}
32 install -m 0644 ${WORKDIR}/include/libintl.h ${D}/${includedir}
33 install -m 0644 ${WORKDIR}/lib/libintl.a ${D}/${libdir}
34}
diff --git a/meta-oe/recipes-core/toybox/toybox/0001-Match-paths-with-busybox.patch b/meta-oe/recipes-core/toybox/toybox/0001-Match-paths-with-busybox.patch
new file mode 100644
index 000000000..e071f22b1
--- /dev/null
+++ b/meta-oe/recipes-core/toybox/toybox/0001-Match-paths-with-busybox.patch
@@ -0,0 +1,383 @@
1From 27f5ca9f1e212e5ab00cde0bfc91282fc7ff5e16 Mon Sep 17 00:00:00 2001
2From: Paul Barker <paul@paulbarker.me.uk>
3Date: Mon, 18 Aug 2014 12:18:16 +0000
4Subject: [PATCH] Match paths with busybox
5
6To ensure that toybox can be installed alongside busybox without confusing
7update-alternatives, the paths of the links installed by toybox should match
8those installed by busybox. This is accomplished by changing the flags of a few
9tools within toybox.
10
11v2:
12 - Forward ported from v0.4.9 to v0.5.0
13 - Move new 'mount' command
14
15Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
16
17Upstream-status: Inappropriate
18 (specific to update-alternatives use in OpenEmbedded)
19---
20 toys/lsb/mount.c | 2 +-
21 toys/lsb/pidof.c | 2 +-
22 toys/other/chvt.c | 2 +-
23 toys/other/ifconfig.c | 2 +-
24 toys/other/insmod.c | 2 +-
25 toys/other/lsmod.c | 2 +-
26 toys/other/netcat.c | 2 +-
27 toys/other/pivot_root.c | 2 +-
28 toys/other/readlink.c | 2 +-
29 toys/other/reboot.c | 6 +++---
30 toys/other/rfkill.c | 2 +-
31 toys/other/rmmod.c | 2 +-
32 toys/other/swapoff.c | 2 +-
33 toys/other/swapon.c | 2 +-
34 toys/other/sysctl.c | 2 +-
35 toys/posix/cut.c | 2 +-
36 toys/posix/df.c | 2 +-
37 toys/posix/head.c | 2 +-
38 toys/posix/id.c | 6 +++---
39 toys/posix/mkfifo.c | 2 +-
40 toys/posix/renice.c | 2 +-
41 toys/posix/tail.c | 2 +-
42 toys/posix/tee.c | 2 +-
43 toys/posix/uniq.c | 2 +-
44 toys/posix/who.c | 2 +-
45 25 files changed, 29 insertions(+), 29 deletions(-)
46
47diff --git a/toys/lsb/mount.c b/toys/lsb/mount.c
48index 01f5c32..65a5aa2 100644
49--- a/toys/lsb/mount.c
50+++ b/toys/lsb/mount.c
51@@ -6,7 +6,7 @@
52 * Note: -hV is bad spec, haven't implemented -FsLU yet
53 * no mtab (/proc/mounts does it) so -n is NOP.
54
55-USE_MOUNT(NEWTOY(mount, "?O:afnrvwt:o*[-rw]", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT))
56+USE_MOUNT(NEWTOY(mount, "?O:afnrvwt:o*[-rw]", TOYFLAG_BIN|TOYFLAG_STAYROOT))
57 USE_NFSMOUNT(NEWTOY(nfsmount, "?<2>2", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT))
58
59 config MOUNT
60diff --git a/toys/lsb/pidof.c b/toys/lsb/pidof.c
61index 51b742f..a8fc8ef 100644
62--- a/toys/lsb/pidof.c
63+++ b/toys/lsb/pidof.c
64@@ -5,7 +5,7 @@
65 *
66 * http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/pidof.html
67
68-USE_PIDOF(NEWTOY(pidof, "<1so:", TOYFLAG_USR|TOYFLAG_BIN))
69+USE_PIDOF(NEWTOY(pidof, "<1so:", TOYFLAG_BIN))
70
71 config PIDOF
72 bool "pidof"
73diff --git a/toys/other/chvt.c b/toys/other/chvt.c
74index 6544265..a93327f 100644
75--- a/toys/other/chvt.c
76+++ b/toys/other/chvt.c
77@@ -2,7 +2,7 @@
78 *
79 * Copyright (C) 2008 David Anders <danders@amltd.com>
80
81-USE_CHVT(NEWTOY(chvt, "<1", TOYFLAG_USR|TOYFLAG_SBIN))
82+USE_CHVT(NEWTOY(chvt, "<1", TOYFLAG_USR|TOYFLAG_BIN))
83
84 config CHVT
85 bool "chvt"
86diff --git a/toys/other/ifconfig.c b/toys/other/ifconfig.c
87index f5d4215..5e7c54c 100644
88--- a/toys/other/ifconfig.c
89+++ b/toys/other/ifconfig.c
90@@ -6,7 +6,7 @@
91 *
92 * Not in SUSv4.
93
94-USE_IFCONFIG(NEWTOY(ifconfig, "?a", TOYFLAG_BIN))
95+USE_IFCONFIG(NEWTOY(ifconfig, "?a", TOYFLAG_SBIN))
96
97 config IFCONFIG
98 bool "ifconfig"
99diff --git a/toys/other/insmod.c b/toys/other/insmod.c
100index 8aa959a..75fd7cd 100644
101--- a/toys/other/insmod.c
102+++ b/toys/other/insmod.c
103@@ -2,7 +2,7 @@
104 *
105 * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com>
106
107-USE_INSMOD(NEWTOY(insmod, "<1", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
108+USE_INSMOD(NEWTOY(insmod, "<1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
109
110 config INSMOD
111 bool "insmod"
112diff --git a/toys/other/lsmod.c b/toys/other/lsmod.c
113index b8f5d82..4d16048 100644
114--- a/toys/other/lsmod.c
115+++ b/toys/other/lsmod.c
116@@ -2,7 +2,7 @@
117 *
118 * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com>
119
120-USE_LSMOD(NEWTOY(lsmod, NULL, TOYFLAG_BIN))
121+USE_LSMOD(NEWTOY(lsmod, NULL, TOYFLAG_SBIN))
122
123 config LSMOD
124 bool "lsmod"
125diff --git a/toys/other/netcat.c b/toys/other/netcat.c
126index 3c6f630..188c3d1 100644
127--- a/toys/other/netcat.c
128+++ b/toys/other/netcat.c
129@@ -4,7 +4,7 @@
130 *
131 * TODO: udp, ipv6, genericize for telnet/microcom/tail-f
132
133-USE_NETCAT(OLDTOY(nc, netcat, USE_NETCAT_LISTEN("tl^L^")"w#p#s:q#f:", TOYFLAG_BIN))
134+USE_NETCAT(OLDTOY(nc, netcat, USE_NETCAT_LISTEN("tl^L^")"w#p#s:q#f:", TOYFLAG_USR|TOYFLAG_BIN))
135 USE_NETCAT(NEWTOY(netcat, USE_NETCAT_LISTEN("tl^L^")"w#p#s:q#f:", TOYFLAG_BIN))
136
137 config NETCAT
138diff --git a/toys/other/pivot_root.c b/toys/other/pivot_root.c
139index 3e4beac..ce3d3a8 100644
140--- a/toys/other/pivot_root.c
141+++ b/toys/other/pivot_root.c
142@@ -2,7 +2,7 @@
143 *
144 * Copyright 2012 Rob Landley <rob@landley.net>
145
146-USE_PIVOT_ROOT(NEWTOY(pivot_root, "<2>2", TOYFLAG_USR|TOYFLAG_BIN))
147+USE_PIVOT_ROOT(NEWTOY(pivot_root, "<2>2", TOYFLAG_SBIN))
148
149 config PIVOT_ROOT
150 bool "pivot_root"
151diff --git a/toys/other/readlink.c b/toys/other/readlink.c
152index 1c33362..fecd1ef 100644
153--- a/toys/other/readlink.c
154+++ b/toys/other/readlink.c
155@@ -2,7 +2,7 @@
156 *
157 * Copyright 2007 Rob Landley <rob@landley.net>
158
159-USE_READLINK(NEWTOY(readlink, "<1>1fenq[-fe]", TOYFLAG_BIN))
160+USE_READLINK(NEWTOY(readlink, "<1>1fenq[-fe]", TOYFLAG_USR|TOYFLAG_BIN))
161
162 config READLINK
163 bool "readlink"
164diff --git a/toys/other/reboot.c b/toys/other/reboot.c
165index 5cbc4f8..f8baafc 100644
166--- a/toys/other/reboot.c
167+++ b/toys/other/reboot.c
168@@ -2,9 +2,9 @@
169 *
170 * Copyright 2013 Elie De Brauwer <eliedebrauwer@gmail.com>
171
172-USE_REBOOT(NEWTOY(reboot, "n", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
173-USE_REBOOT(OLDTOY(halt, reboot, "n", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
174-USE_REBOOT(OLDTOY(poweroff, reboot, "n", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
175+USE_REBOOT(NEWTOY(reboot, "n", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
176+USE_REBOOT(OLDTOY(halt, reboot, "n", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
177+USE_REBOOT(OLDTOY(poweroff, reboot, "n", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
178
179 config REBOOT
180 bool "reboot"
181diff --git a/toys/other/rfkill.c b/toys/other/rfkill.c
182index af3efe1..7527ec7 100644
183--- a/toys/other/rfkill.c
184+++ b/toys/other/rfkill.c
185@@ -5,7 +5,7 @@
186 *
187 * No Standard
188
189-USE_RFKILL(NEWTOY(rfkill, "<1>2", TOYFLAG_SBIN))
190+USE_RFKILL(NEWTOY(rfkill, "<1>2", TOYFLAG_USR|TOYFLAG_SBIN))
191
192 config RFKILL
193 bool "rfkill"
194diff --git a/toys/other/rmmod.c b/toys/other/rmmod.c
195index b789acc..10c134c 100644
196--- a/toys/other/rmmod.c
197+++ b/toys/other/rmmod.c
198@@ -2,7 +2,7 @@
199 *
200 * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com>
201
202-USE_RMMOD(NEWTOY(rmmod, "<1wf", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
203+USE_RMMOD(NEWTOY(rmmod, "<1wf", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
204
205 config RMMOD
206 bool "rmmod"
207diff --git a/toys/other/swapoff.c b/toys/other/swapoff.c
208index b89e915..fb17130 100644
209--- a/toys/other/swapoff.c
210+++ b/toys/other/swapoff.c
211@@ -2,7 +2,7 @@
212 *
213 * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com>
214
215-USE_SWAPOFF(NEWTOY(swapoff, "<1>1", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
216+USE_SWAPOFF(NEWTOY(swapoff, "<1>1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
217
218 config SWAPOFF
219 bool "swapoff"
220diff --git a/toys/other/swapon.c b/toys/other/swapon.c
221index 49f1249..838d382 100644
222--- a/toys/other/swapon.c
223+++ b/toys/other/swapon.c
224@@ -2,7 +2,7 @@
225 *
226 * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com>
227
228-USE_SWAPON(NEWTOY(swapon, "<1>1p#<0>32767", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
229+USE_SWAPON(NEWTOY(swapon, "<1>1p#<0>32767", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
230
231 config SWAPON
232 bool "swapon"
233diff --git a/toys/other/sysctl.c b/toys/other/sysctl.c
234index 8e57ca1..0c6c640 100644
235--- a/toys/other/sysctl.c
236+++ b/toys/other/sysctl.c
237@@ -5,7 +5,7 @@
238 *
239 * No Standard
240
241-USE_SYSCTL(NEWTOY(sysctl, "^neNqwpaA[!ap][!aq][!aw][+aA]", TOYFLAG_USR|TOYFLAG_BIN))
242+USE_SYSCTL(NEWTOY(sysctl, "^neNqwpaA[!ap][!aq][!aw][+aA]", TOYFLAG_SBIN))
243
244 config SYSCTL
245 bool "sysctl"
246diff --git a/toys/posix/cut.c b/toys/posix/cut.c
247index 7f10c5e..1ab3ce8 100644
248--- a/toys/posix/cut.c
249+++ b/toys/posix/cut.c
250@@ -5,7 +5,7 @@
251 *
252 * http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cut.html
253
254-USE_CUT(NEWTOY(cut, "b:|c:|f:|d:sn[!cbf]", TOYFLAG_BIN))
255+USE_CUT(NEWTOY(cut, "b:|c:|f:|d:sn[!cbf]", TOYFLAG_USR|TOYFLAG_BIN))
256
257 config CUT
258 bool "cut"
259diff --git a/toys/posix/df.c b/toys/posix/df.c
260index afb296b..6296dc9 100644
261--- a/toys/posix/df.c
262+++ b/toys/posix/df.c
263@@ -4,7 +4,7 @@
264 *
265 * See http://opengroup.org/onlinepubs/9699919799/utilities/df.html
266
267-USE_DF(NEWTOY(df, "Pkt*a", TOYFLAG_USR|TOYFLAG_SBIN))
268+USE_DF(NEWTOY(df, "Pkt*a", TOYFLAG_BIN))
269
270 config DF
271 bool "df"
272diff --git a/toys/posix/head.c b/toys/posix/head.c
273index e8517d4..3ac4373 100644
274--- a/toys/posix/head.c
275+++ b/toys/posix/head.c
276@@ -4,7 +4,7 @@
277 *
278 * See http://opengroup.org/onlinepubs/9699919799/utilities/head.html
279
280-USE_HEAD(NEWTOY(head, "n#<0=10", TOYFLAG_BIN))
281+USE_HEAD(NEWTOY(head, "n#<0=10", TOYFLAG_USR|TOYFLAG_BIN))
282
283 config HEAD
284 bool "head"
285diff --git a/toys/posix/id.c b/toys/posix/id.c
286index b4d9c00..df79419 100644
287--- a/toys/posix/id.c
288+++ b/toys/posix/id.c
289@@ -6,10 +6,10 @@
290 *
291 * See http://opengroup.org/onlinepubs/9699919799/utilities/id.html
292
293-USE_ID(NEWTOY(id, ">1nGgru[!Ggu]", TOYFLAG_BIN))
294+USE_ID(NEWTOY(id, ">1nGgru[!Ggu]", TOYFLAG_USR|TOYFLAG_BIN))
295 USE_GROUPS(OLDTOY(groups, id, NULL, TOYFLAG_USR|TOYFLAG_BIN))
296-USE_LOGNAME(OLDTOY(logname, id, ">0", TOYFLAG_BIN))
297-USE_LOGNAME(OLDTOY(whoami, id, ">0", TOYFLAG_BIN))
298+USE_LOGNAME(OLDTOY(logname, id, ">0", TOYFLAG_USR|TOYFLAG_BIN))
299+USE_LOGNAME(OLDTOY(whoami, id, ">0", TOYFLAG_USR|TOYFLAG_BIN))
300
301 config ID
302 bool "id"
303diff --git a/toys/posix/mkfifo.c b/toys/posix/mkfifo.c
304index 15fab70..4e0fca3 100644
305--- a/toys/posix/mkfifo.c
306+++ b/toys/posix/mkfifo.c
307@@ -4,7 +4,7 @@
308 *
309 * See http://opengroup.org/onlinepubs/9699919799/utilities/mkfifo.html
310
311-USE_MKFIFO(NEWTOY(mkfifo, "<1m:", TOYFLAG_BIN))
312+USE_MKFIFO(NEWTOY(mkfifo, "<1m:", TOYFLAG_USR|TOYFLAG_BIN))
313
314 config MKFIFO
315 bool "mkfifo"
316diff --git a/toys/posix/renice.c b/toys/posix/renice.c
317index 8c20644..489eb13 100644
318--- a/toys/posix/renice.c
319+++ b/toys/posix/renice.c
320@@ -4,7 +4,7 @@
321 *
322 * See http://pubs.opengroup.org/onlinepubs/9699919799/utilities/renice.html
323
324-USE_RENICE(NEWTOY(renice, "<1gpun#|", TOYFLAG_BIN))
325+USE_RENICE(NEWTOY(renice, "<1gpun#|", TOYFLAG_USR|TOYFLAG_BIN))
326
327 config RENICE
328 bool "renice"
329diff --git a/toys/posix/tail.c b/toys/posix/tail.c
330index e1048be..ba0a55a 100644
331--- a/toys/posix/tail.c
332+++ b/toys/posix/tail.c
333@@ -4,7 +4,7 @@
334 *
335 * See http://opengroup.org/onlinepubs/9699919799/utilities/tail.html
336
337-USE_TAIL(NEWTOY(tail, "fc-n-[-cn]", TOYFLAG_BIN))
338+USE_TAIL(NEWTOY(tail, "fc-n-[-cn]", TOYFLAG_USR|TOYFLAG_BIN))
339
340 config TAIL
341 bool "tail"
342diff --git a/toys/posix/tee.c b/toys/posix/tee.c
343index 0388510..5574088 100644
344--- a/toys/posix/tee.c
345+++ b/toys/posix/tee.c
346@@ -4,7 +4,7 @@
347 *
348 * See http://opengroup.org/onlinepubs/9699919799/utilities/tee.html
349
350-USE_TEE(NEWTOY(tee, "ia", TOYFLAG_BIN))
351+USE_TEE(NEWTOY(tee, "ia", TOYFLAG_USR|TOYFLAG_BIN))
352
353 config TEE
354 bool "tee"
355diff --git a/toys/posix/uniq.c b/toys/posix/uniq.c
356index 3cfdb94..c127cfe 100644
357--- a/toys/posix/uniq.c
358+++ b/toys/posix/uniq.c
359@@ -4,7 +4,7 @@
360 *
361 * See http://opengroup.org/onlinepubs/9699919799/utilities/uniq.html
362
363-USE_UNIQ(NEWTOY(uniq, "f#s#w#zicdu", TOYFLAG_BIN))
364+USE_UNIQ(NEWTOY(uniq, "f#s#w#zicdu", TOYFLAG_USR|TOYFLAG_BIN))
365
366 config UNIQ
367 bool "uniq"
368diff --git a/toys/posix/who.c b/toys/posix/who.c
369index 2c8a2e6..d5cd001 100644
370--- a/toys/posix/who.c
371+++ b/toys/posix/who.c
372@@ -9,7 +9,7 @@
373 * Posix says to support many options (-abdHlmpqrstTu) but this
374 * isn't aimed at minicomputers with modem pools.
375
376-USE_WHO(NEWTOY(who, "a", TOYFLAG_BIN))
377+USE_WHO(NEWTOY(who, "a", TOYFLAG_USR|TOYFLAG_BIN))
378
379 config WHO
380 bool "who"
381--
3822.1.2
383
diff --git a/meta-oe/recipes-core/toybox/toybox_0.5.0.bb b/meta-oe/recipes-core/toybox/toybox_0.5.0.bb
new file mode 100644
index 000000000..9bdba4da5
--- /dev/null
+++ b/meta-oe/recipes-core/toybox/toybox_0.5.0.bb
@@ -0,0 +1,64 @@
1SUMMARY = "Toybox combines common utilities together into a single executable."
2HOMEPAGE = "http://www.landley.net/toybox/"
3
4SRC_URI = "http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.bz2 \
5 file://0001-Match-paths-with-busybox.patch"
6SRC_URI[md5sum] = "2cb6e8b34134038d86048e117f77765f"
7SRC_URI[sha256sum] = "2718b42154be041435df48d5b5140f4e307767c36b1017e0c8d0da7f75b327a7"
8
9LICENSE = "BSD-0-Clause"
10LIC_FILES_CHKSUM = "file://LICENSE;md5=f0b8b3dd6431bcaa245da0a08bd0d511"
11
12SECTION = "base"
13
14do_configure() {
15 oe_runmake defconfig
16
17 # Disable killall5 as it isn't managed by update-alternatives
18 sed -e 's/CONFIG_KILLALL5=y/# CONFIG_KILLALL5 is not set/' -i .config
19}
20
21do_compile() {
22 oe_runmake toybox_unstripped
23
24 # Create a list of links needed
25 oe_runmake generated/instlist
26 ./generated/instlist long | sed -e 's#^#/#' > toybox.links
27}
28
29do_install() {
30 # Install manually instead of using 'make install'
31 install -d ${D}${base_bindir}
32 if grep -q "CONFIG_TOYBOX_SUID=y" ${B}/.config; then
33 install -m 4755 ${B}/toybox_unstripped ${D}${base_bindir}/toybox
34 else
35 install -m 0755 ${B}/toybox_unstripped ${D}${base_bindir}/toybox
36 fi
37
38 install -d ${D}${sysconfdir}
39 install -m 0644 ${B}/toybox.links ${D}${sysconfdir}
40}
41
42inherit update-alternatives
43
44# If you've chosen to install toybox you probably want it to take precedence
45# over busybox where possible but not over other packages
46ALTERNATIVE_PRIORITY = "60"
47
48python do_package_prepend () {
49 # Read links from /etc/toybox.links and create appropriate
50 # update-alternatives variables
51
52 dvar = d.getVar('D', True)
53 pn = d.getVar('PN', True)
54 target = "/bin/toybox"
55
56 f = open('%s/etc/toybox.links' % (dvar), 'r')
57 for alt_link_name in f:
58 alt_link_name = alt_link_name.strip()
59 alt_name = os.path.basename(alt_link_name)
60 d.appendVar('ALTERNATIVE_%s' % (pn), ' ' + alt_name)
61 d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name)
62 d.setVarFlag('ALTERNATIVE_TARGET', alt_name, target)
63 f.close()
64}
diff --git a/meta-oe/recipes-core/usleep/files/GPLv2.patch b/meta-oe/recipes-core/usleep/files/GPLv2.patch
new file mode 100644
index 000000000..1ee8181f1
--- /dev/null
+++ b/meta-oe/recipes-core/usleep/files/GPLv2.patch
@@ -0,0 +1,347 @@
1Upstream-Status: Inappropriate [licensing]
2
3diff --git a/COPYING b/COPYING
4new file mode 100644
5index 0000000..d511905
6--- /dev/null
7+++ b/COPYING
8@@ -0,0 +1,339 @@
9+ GNU GENERAL PUBLIC LICENSE
10+ Version 2, June 1991
11+
12+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
13+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
14+ Everyone is permitted to copy and distribute verbatim copies
15+ of this license document, but changing it is not allowed.
16+
17+ Preamble
18+
19+ The licenses for most software are designed to take away your
20+freedom to share and change it. By contrast, the GNU General Public
21+License is intended to guarantee your freedom to share and change free
22+software--to make sure the software is free for all its users. This
23+General Public License applies to most of the Free Software
24+Foundation's software and to any other program whose authors commit to
25+using it. (Some other Free Software Foundation software is covered by
26+the GNU Lesser General Public License instead.) You can apply it to
27+your programs, too.
28+
29+ When we speak of free software, we are referring to freedom, not
30+price. Our General Public Licenses are designed to make sure that you
31+have the freedom to distribute copies of free software (and charge for
32+this service if you wish), that you receive source code or can get it
33+if you want it, that you can change the software or use pieces of it
34+in new free programs; and that you know you can do these things.
35+
36+ To protect your rights, we need to make restrictions that forbid
37+anyone to deny you these rights or to ask you to surrender the rights.
38+These restrictions translate to certain responsibilities for you if you
39+distribute copies of the software, or if you modify it.
40+
41+ For example, if you distribute copies of such a program, whether
42+gratis or for a fee, you must give the recipients all the rights that
43+you have. You must make sure that they, too, receive or can get the
44+source code. And you must show them these terms so they know their
45+rights.
46+
47+ We protect your rights with two steps: (1) copyright the software, and
48+(2) offer you this license which gives you legal permission to copy,
49+distribute and/or modify the software.
50+
51+ Also, for each author's protection and ours, we want to make certain
52+that everyone understands that there is no warranty for this free
53+software. If the software is modified by someone else and passed on, we
54+want its recipients to know that what they have is not the original, so
55+that any problems introduced by others will not reflect on the original
56+authors' reputations.
57+
58+ Finally, any free program is threatened constantly by software
59+patents. We wish to avoid the danger that redistributors of a free
60+program will individually obtain patent licenses, in effect making the
61+program proprietary. To prevent this, we have made it clear that any
62+patent must be licensed for everyone's free use or not licensed at all.
63+
64+ The precise terms and conditions for copying, distribution and
65+modification follow.
66+
67+ GNU GENERAL PUBLIC LICENSE
68+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
69+
70+ 0. This License applies to any program or other work which contains
71+a notice placed by the copyright holder saying it may be distributed
72+under the terms of this General Public License. The "Program", below,
73+refers to any such program or work, and a "work based on the Program"
74+means either the Program or any derivative work under copyright law:
75+that is to say, a work containing the Program or a portion of it,
76+either verbatim or with modifications and/or translated into another
77+language. (Hereinafter, translation is included without limitation in
78+the term "modification".) Each licensee is addressed as "you".
79+
80+Activities other than copying, distribution and modification are not
81+covered by this License; they are outside its scope. The act of
82+running the Program is not restricted, and the output from the Program
83+is covered only if its contents constitute a work based on the
84+Program (independent of having been made by running the Program).
85+Whether that is true depends on what the Program does.
86+
87+ 1. You may copy and distribute verbatim copies of the Program's
88+source code as you receive it, in any medium, provided that you
89+conspicuously and appropriately publish on each copy an appropriate
90+copyright notice and disclaimer of warranty; keep intact all the
91+notices that refer to this License and to the absence of any warranty;
92+and give any other recipients of the Program a copy of this License
93+along with the Program.
94+
95+You may charge a fee for the physical act of transferring a copy, and
96+you may at your option offer warranty protection in exchange for a fee.
97+
98+ 2. You may modify your copy or copies of the Program or any portion
99+of it, thus forming a work based on the Program, and copy and
100+distribute such modifications or work under the terms of Section 1
101+above, provided that you also meet all of these conditions:
102+
103+ a) You must cause the modified files to carry prominent notices
104+ stating that you changed the files and the date of any change.
105+
106+ b) You must cause any work that you distribute or publish, that in
107+ whole or in part contains or is derived from the Program or any
108+ part thereof, to be licensed as a whole at no charge to all third
109+ parties under the terms of this License.
110+
111+ c) If the modified program normally reads commands interactively
112+ when run, you must cause it, when started running for such
113+ interactive use in the most ordinary way, to print or display an
114+ announcement including an appropriate copyright notice and a
115+ notice that there is no warranty (or else, saying that you provide
116+ a warranty) and that users may redistribute the program under
117+ these conditions, and telling the user how to view a copy of this
118+ License. (Exception: if the Program itself is interactive but
119+ does not normally print such an announcement, your work based on
120+ the Program is not required to print an announcement.)
121+
122+These requirements apply to the modified work as a whole. If
123+identifiable sections of that work are not derived from the Program,
124+and can be reasonably considered independent and separate works in
125+themselves, then this License, and its terms, do not apply to those
126+sections when you distribute them as separate works. But when you
127+distribute the same sections as part of a whole which is a work based
128+on the Program, the distribution of the whole must be on the terms of
129+this License, whose permissions for other licensees extend to the
130+entire whole, and thus to each and every part regardless of who wrote it.
131+
132+Thus, it is not the intent of this section to claim rights or contest
133+your rights to work written entirely by you; rather, the intent is to
134+exercise the right to control the distribution of derivative or
135+collective works based on the Program.
136+
137+In addition, mere aggregation of another work not based on the Program
138+with the Program (or with a work based on the Program) on a volume of
139+a storage or distribution medium does not bring the other work under
140+the scope of this License.
141+
142+ 3. You may copy and distribute the Program (or a work based on it,
143+under Section 2) in object code or executable form under the terms of
144+Sections 1 and 2 above provided that you also do one of the following:
145+
146+ a) Accompany it with the complete corresponding machine-readable
147+ source code, which must be distributed under the terms of Sections
148+ 1 and 2 above on a medium customarily used for software interchange; or,
149+
150+ b) Accompany it with a written offer, valid for at least three
151+ years, to give any third party, for a charge no more than your
152+ cost of physically performing source distribution, a complete
153+ machine-readable copy of the corresponding source code, to be
154+ distributed under the terms of Sections 1 and 2 above on a medium
155+ customarily used for software interchange; or,
156+
157+ c) Accompany it with the information you received as to the offer
158+ to distribute corresponding source code. (This alternative is
159+ allowed only for noncommercial distribution and only if you
160+ received the program in object code or executable form with such
161+ an offer, in accord with Subsection b above.)
162+
163+The source code for a work means the preferred form of the work for
164+making modifications to it. For an executable work, complete source
165+code means all the source code for all modules it contains, plus any
166+associated interface definition files, plus the scripts used to
167+control compilation and installation of the executable. However, as a
168+special exception, the source code distributed need not include
169+anything that is normally distributed (in either source or binary
170+form) with the major components (compiler, kernel, and so on) of the
171+operating system on which the executable runs, unless that component
172+itself accompanies the executable.
173+
174+If distribution of executable or object code is made by offering
175+access to copy from a designated place, then offering equivalent
176+access to copy the source code from the same place counts as
177+distribution of the source code, even though third parties are not
178+compelled to copy the source along with the object code.
179+
180+ 4. You may not copy, modify, sublicense, or distribute the Program
181+except as expressly provided under this License. Any attempt
182+otherwise to copy, modify, sublicense or distribute the Program is
183+void, and will automatically terminate your rights under this License.
184+However, parties who have received copies, or rights, from you under
185+this License will not have their licenses terminated so long as such
186+parties remain in full compliance.
187+
188+ 5. You are not required to accept this License, since you have not
189+signed it. However, nothing else grants you permission to modify or
190+distribute the Program or its derivative works. These actions are
191+prohibited by law if you do not accept this License. Therefore, by
192+modifying or distributing the Program (or any work based on the
193+Program), you indicate your acceptance of this License to do so, and
194+all its terms and conditions for copying, distributing or modifying
195+the Program or works based on it.
196+
197+ 6. Each time you redistribute the Program (or any work based on the
198+Program), the recipient automatically receives a license from the
199+original licensor to copy, distribute or modify the Program subject to
200+these terms and conditions. You may not impose any further
201+restrictions on the recipients' exercise of the rights granted herein.
202+You are not responsible for enforcing compliance by third parties to
203+this License.
204+
205+ 7. If, as a consequence of a court judgment or allegation of patent
206+infringement or for any other reason (not limited to patent issues),
207+conditions are imposed on you (whether by court order, agreement or
208+otherwise) that contradict the conditions of this License, they do not
209+excuse you from the conditions of this License. If you cannot
210+distribute so as to satisfy simultaneously your obligations under this
211+License and any other pertinent obligations, then as a consequence you
212+may not distribute the Program at all. For example, if a patent
213+license would not permit royalty-free redistribution of the Program by
214+all those who receive copies directly or indirectly through you, then
215+the only way you could satisfy both it and this License would be to
216+refrain entirely from distribution of the Program.
217+
218+If any portion of this section is held invalid or unenforceable under
219+any particular circumstance, the balance of the section is intended to
220+apply and the section as a whole is intended to apply in other
221+circumstances.
222+
223+It is not the purpose of this section to induce you to infringe any
224+patents or other property right claims or to contest validity of any
225+such claims; this section has the sole purpose of protecting the
226+integrity of the free software distribution system, which is
227+implemented by public license practices. Many people have made
228+generous contributions to the wide range of software distributed
229+through that system in reliance on consistent application of that
230+system; it is up to the author/donor to decide if he or she is willing
231+to distribute software through any other system and a licensee cannot
232+impose that choice.
233+
234+This section is intended to make thoroughly clear what is believed to
235+be a consequence of the rest of this License.
236+
237+ 8. If the distribution and/or use of the Program is restricted in
238+certain countries either by patents or by copyrighted interfaces, the
239+original copyright holder who places the Program under this License
240+may add an explicit geographical distribution limitation excluding
241+those countries, so that distribution is permitted only in or among
242+countries not thus excluded. In such case, this License incorporates
243+the limitation as if written in the body of this License.
244+
245+ 9. The Free Software Foundation may publish revised and/or new versions
246+of the General Public License from time to time. Such new versions will
247+be similar in spirit to the present version, but may differ in detail to
248+address new problems or concerns.
249+
250+Each version is given a distinguishing version number. If the Program
251+specifies a version number of this License which applies to it and "any
252+later version", you have the option of following the terms and conditions
253+either of that version or of any later version published by the Free
254+Software Foundation. If the Program does not specify a version number of
255+this License, you may choose any version ever published by the Free Software
256+Foundation.
257+
258+ 10. If you wish to incorporate parts of the Program into other free
259+programs whose distribution conditions are different, write to the author
260+to ask for permission. For software which is copyrighted by the Free
261+Software Foundation, write to the Free Software Foundation; we sometimes
262+make exceptions for this. Our decision will be guided by the two goals
263+of preserving the free status of all derivatives of our free software and
264+of promoting the sharing and reuse of software generally.
265+
266+ NO WARRANTY
267+
268+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
269+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
270+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
271+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
272+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
273+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
274+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
275+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
276+REPAIR OR CORRECTION.
277+
278+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
279+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
280+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
281+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
282+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
283+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
284+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
285+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
286+POSSIBILITY OF SUCH DAMAGES.
287+
288+ END OF TERMS AND CONDITIONS
289+
290+ How to Apply These Terms to Your New Programs
291+
292+ If you develop a new program, and you want it to be of the greatest
293+possible use to the public, the best way to achieve this is to make it
294+free software which everyone can redistribute and change under these terms.
295+
296+ To do so, attach the following notices to the program. It is safest
297+to attach them to the start of each source file to most effectively
298+convey the exclusion of warranty; and each file should have at least
299+the "copyright" line and a pointer to where the full notice is found.
300+
301+ <one line to give the program's name and a brief idea of what it does.>
302+ Copyright (C) <year> <name of author>
303+
304+ This program is free software; you can redistribute it and/or modify
305+ it under the terms of the GNU General Public License as published by
306+ the Free Software Foundation; either version 2 of the License, or
307+ (at your option) any later version.
308+
309+ This program is distributed in the hope that it will be useful,
310+ but WITHOUT ANY WARRANTY; without even the implied warranty of
311+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
312+ GNU General Public License for more details.
313+
314+ You should have received a copy of the GNU General Public License along
315+ with this program; if not, write to the Free Software Foundation, Inc.,
316+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
317+
318+Also add information on how to contact you by electronic and paper mail.
319+
320+If the program is interactive, make it output a short notice like this
321+when it starts in an interactive mode:
322+
323+ Gnomovision version 69, Copyright (C) year name of author
324+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
325+ This is free software, and you are welcome to redistribute it
326+ under certain conditions; type `show c' for details.
327+
328+The hypothetical commands `show w' and `show c' should show the appropriate
329+parts of the General Public License. Of course, the commands you use may
330+be called something other than `show w' and `show c'; they could even be
331+mouse-clicks or menu items--whatever suits your program.
332+
333+You should also get your employer (if you work as a programmer) or your
334+school, if any, to sign a "copyright disclaimer" for the program, if
335+necessary. Here is a sample; alter the names:
336+
337+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
338+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
339+
340+ <signature of Ty Coon>, 1 April 1989
341+ Ty Coon, President of Vice
342+
343+This General Public License does not permit incorporating your program into
344+proprietary programs. If your program is a subroutine library, you may
345+consider it more useful to permit linking proprietary applications with the
346+library. If this is what you want to do, use the GNU Lesser General
347+Public License instead of this License.
diff --git a/meta-oe/recipes-core/usleep/files/usleep.1 b/meta-oe/recipes-core/usleep/files/usleep.1
new file mode 100644
index 000000000..2d7520f77
--- /dev/null
+++ b/meta-oe/recipes-core/usleep/files/usleep.1
@@ -0,0 +1,25 @@
1.TH USLEEP 1 "Red Hat, Inc" \" -*- nroff -*-
2.SH NAME
3usleep \- sleep some number of microseconds
4.SH SYNOPSIS
5.B usleep
6[\fInumber\fP]
7.SH DESCRIPTION
8.B usleep
9sleeps some number of microseconds. The default is 1.
10.SH OPTIONS
11\fI--usage\fP
12Show short usage message.
13.TP
14\fI--help, -?\fP
15Print help information.
16.TP
17\fI-v, --version\fP
18Print version information.
19.SH BUGS
20Probably not accurate on many machines down to the microsecond. Count
21on precision only to -4 or maybe -5.
22.SH AUTHOR
23Donald Barnes <djb@redhat.com>
24.br
25Erik Troan <ewt@redhat.com>
diff --git a/meta-oe/recipes-core/usleep/files/usleep.c b/meta-oe/recipes-core/usleep/files/usleep.c
new file mode 100644
index 000000000..a5e7d9d71
--- /dev/null
+++ b/meta-oe/recipes-core/usleep/files/usleep.c
@@ -0,0 +1,82 @@
1/*
2 * usleep
3 *
4 * Written by Donald Barnes <djb@redhat.com> for Red Hat, Inc.
5 *
6 * Copyright (c) 1997-2003 Red Hat, Inc. All rights reserved.
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License, version 2,
10 * as published by the Free Software Foundation.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 */
22
23
24#include <unistd.h>
25#include <stdlib.h>
26#include <string.h>
27#include <stdio.h>
28
29#include "popt.h"
30
31int main(int argc, char **argv) {
32 unsigned long count;
33 poptContext optCon;
34 int showVersion = 0;
35 int showOot = 0;
36 int rc;
37 char * countStr = NULL;
38 struct poptOption options[] = {
39 { "version", 'v', POPT_ARG_NONE, &showVersion, 0,
40 "Display the version of this program, and exit" },
41 { "oot", 'o', POPT_ARG_NONE, &showOot, 0,
42 "oot says hey!" },
43 POPT_AUTOHELP
44 { 0, 0, 0, 0, 0 }
45 };
46
47 optCon = poptGetContext("usleep", argc, argv, options,0);
48 /*poptReadDefaultConfig(optCon, 1);*/
49 poptSetOtherOptionHelp(optCon, "[microseconds]");
50
51 if ((rc = poptGetNextOpt(optCon)) < -1) {
52 fprintf(stderr, "usleep: bad argument %s: %s\n",
53 poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
54 poptStrerror(rc));
55 return 2;
56 }
57
58 if (showVersion) {
59 printf("usleep version 1.2\n usleep --help for more info\n");
60 return 0;
61 }
62
63 if (showOot) {
64 printf("oot says hey!\n");
65 return 0;
66 }
67
68 countStr = poptGetArg(optCon);
69
70 if (countStr == NULL) count = 1;
71
72 else if (countStr && poptGetArg(optCon)) {
73 fprintf(stderr, "%s: exactly one argument (number of microseconds) "
74 "must be used\n", argv[0]);
75 return 2;
76 }
77
78 else count = strtoul(countStr, NULL, 0);
79
80 usleep(count);
81 return 0;
82}
diff --git a/meta-oe/recipes-core/usleep/usleep_1.0.bb b/meta-oe/recipes-core/usleep/usleep_1.0.bb
new file mode 100644
index 000000000..2ef4b7c02
--- /dev/null
+++ b/meta-oe/recipes-core/usleep/usleep_1.0.bb
@@ -0,0 +1,26 @@
1SUMMARY = "A user tool to support sleeping some number of microseconds"
2SECTION = "base"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
5
6PR = "r0"
7
8S = "${WORKDIR}"
9DEPENDS = "popt"
10
11SRC_URI = "file://usleep.c \
12 file://usleep.1 \
13 file://GPLv2.patch \
14"
15
16do_compile() {
17 ${CC} ${CFLAGS} ${LDFLAGS} usleep.c -o usleep -lpopt
18}
19
20do_install() {
21 install -d ${D}${base_bindir}
22 install -d ${D}${mandir}/man1
23
24 install -m 0755 ${WORKDIR}/usleep ${D}${base_bindir}
25 install -m 0644 ${WORKDIR}/usleep.1 ${D}${mandir}/man1
26}