Compare commits

..

244 Commits

Author SHA1 Message Date
Khem Raj
13cc30cd7d local.conf.sample.extended: Drop obsolete rpc and libnsl
Use libnsl2 and rpcsvc-proto packages

(From meta-yocto rev: c6cfed5e9fba40d106b5b825f119bd47f59a810d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 11:07:50 +01:00
Ross Burton
076d8fcdd2 patchreview: don't disable malformed SoB check
We cleaned up the metadata so this can be enabled again.

(From OE-Core rev: 9611485bba03ef77ff31121e3b1da7cd57990c3e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:51 +01:00
Ross Burton
db4965438b gtk+: fix patch headers
(From OE-Core rev: ff6c5746c821ec128f9cae9bacb818d2c51a4049)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Ross Burton
079882cb7b swig: fix patch headers
(From OE-Core rev: 83cd7a36c0ea7d1286abd3508a26b85db8760932)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Ross Burton
e1b712b8c1 musl-utils: monitor commits for upstream tracking
This repository is infrequently updated and doesn't really release, so just
watch for new commits.

(From OE-Core rev: 77237b92895806de1586fc5395a03669201a411b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Khem Raj
b1d326b031 uninative-tarball: Add libjis and euc-jp gconv files
packages like fontforge-native fail with mysterious errors like

| ../../git/inc/gwwiconv.h:44:21: error: conflicting types for ‘gww_iconv_close’
|  #define iconv_close gww_iconv_close
|                      ^~~~~~~~~~~~~~~
| ../../git/inc/gwwiconv.h:37:13: note: previous declaration of ‘gww_iconv_close’ was here
|  extern void gww_iconv_close( gww_iconv_t cd);
|              ^~~~~~~~~~~~~~~

The reason behind this is that a check for iconv fails during native
configure run, the check fails because the autoconf test to check for iconv
pokes for these gconv's in test runs before declaring iconv support successful.

Therefore when uninative is active the package fails to build but when
uninative is inactive all works fine. this patch fixes that

(From OE-Core rev: b4f5ed7a8bb2f76ab4a50b3f0073a9d18a51923e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Khem Raj
1eed078c4a libxcrypt: Fix build with gcc8
Reported-by: Martin Jansa <martin.jansa@gmail.com>
(From OE-Core rev: b4aadf55b9e0979108875778c05915f96e0770aa)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Khem Raj
418b9d9ee7 gcc-sanitizers: Package new liblsan objects built with gcc8
Fixes installed-vs-shipped QA errors

Reported-by: Dan McGregor <danismostlikely@gmail.com>
(From OE-Core rev: b5533d58ebee81fa1e1c061f4f78acc9a1a940df)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Mingli Yu
bce155af1f boost: add contract lib
Add the contract lib which implements contract
programming (a.k.a., Design by Contract or DbC) [1]
for the C++ programming language.

(From OE-Core rev: 53756087222a12646c4e63dba5c91df16c873111)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Chen Qi
1773acf394 sysstat: upgrade to 11.7.3
(From OE-Core rev: cbfabe9aeb2d1876a41119df126cdac3034762ab)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Chen Qi
fdfdd89945 gawk: upgrade to 4.2.1
(From OE-Core rev: 86f137436da8a6d4aded66e586ba2b1eff725022)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Martin Jansa
8e3d864944 strace: remove -fno-omit-frame-pointer from DEBUG_OPTIMIZATION when ptest is enabled
* otherwise strace-4.22/tests/inject-nf.c fails to build as discussed here:
  http://lists.openembedded.org/pipermail/openembedded-core/2018-May/150647.html

(From OE-Core rev: 2f8fdf684a5ed52412ee220b55508d42a1888762)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Chen Qi
9ed25b4eb5 sudo: upgrade to 1.8.23
Upgrade sudo to 1.8.23.

The license checksum changes but the actual license does not.

The /var/run/sudo directory has changed to /run/sudo, change
do_install_append according to avoid error.

(From OE-Core rev: abd809670ea4048551d20c11da95203536250001)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Eran Matityahu
dbdcadb57c matchbox-session-sato: Make the battery applet depend on machine features
matchbox-panel enables the battery plugin only if the
acpi/apm machine features are enabled,
so enable the battery applet in the session script
under the same conditions.

This avoids the 'Failed to load applet "battery"' warning at runtime,
in case these machine features are not defined.

(From OE-Core rev: 34b5d507d62ef501fe771bd38cf45d25785dbc90)

Signed-off-by: Eran Matityahu <eran.m@variscite.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Chen Qi
a6abac49bd devtool/upgrade: fix the order of license checksum representation
In most recipes in OE, beginline and endline are before md5 checksum.
We should obey this tradition in devtool's upgrade. Otherwise, we might
see meaningless change just because of the order change.

e.g.
-LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=7765a3d787cb4fed3ccc3c9cee030af9 \
-                    file://plugins/sudoers/redblack.c;beginline=1;endline=41;md5=805782a8466975716f8376b2be9aedde \
-                    file://lib/util/reallocarray.c;beginline=3;endline=16;md5=85b0905b795d4d58bf2e00635649eec6 \
-                    file://lib/util/fnmatch.c;beginline=3;endline=27;md5=67f83ee9bd456557397082f8f1be0efd \
-                    file://lib/util/getcwd.c;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \
-                    file://lib/util/glob.c;beginline=6;endline=31;md5=5872733146b9eb0deb79e1f664815b85 \
-                    file://lib/util/snprintf.c;beginline=6;endline=34;md5=c82c1b3a5c32e08545c9ec5d71e41e50 \
-                    file://include/sudo_queue.h;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \
-                    file://lib/util/inet_pton.c;beginline=3;endline=17;md5=3970ab0518ab79cbd0bafb697f10b33a"
+LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=cc4bf2366b059c9598e3947f885931ec \
+                    file://plugins/sudoers/redblack.c;md5=805782a8466975716f8376b2be9aedde;beginline=1;endline=41 \
+                    file://lib/util/reallocarray.c;md5=85b0905b795d4d58bf2e00635649eec6;beginline=3;endline=16 \
+                    file://lib/util/fnmatch.c;md5=67f83ee9bd456557397082f8f1be0efd;beginline=3;endline=27 \
+                    file://lib/util/getcwd.c;md5=449af4cc57fc7d46f42090608ba3e681;beginline=5;endline=27 \
+                    file://lib/util/glob.c;md5=5872733146b9eb0deb79e1f664815b85;beginline=6;endline=31 \
+                    file://lib/util/snprintf.c;md5=c82c1b3a5c32e08545c9ec5d71e41e50;beginline=6;endline=34 \
+                    file://include/sudo_queue.h;md5=449af4cc57fc7d46f42090608ba3e681;beginline=5;endline=27 \
+                    file://lib/util/inet_pton.c;md5=3970ab0518ab79cbd0bafb697f10b33a;beginline=3;endline=17 \
+                    "

After this change, it becomes:
-LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=7765a3d787cb4fed3ccc3c9cee030af9 \
+LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=cc4bf2366b059c9598e3947f885931ec \
                     file://plugins/sudoers/redblack.c;beginline=1;endline=41;md5=805782a8466975716f8376b2be9aedde \
                     file://lib/util/reallocarray.c;beginline=3;endline=16;md5=85b0905b795d4d58bf2e00635649eec6 \
                     file://lib/util/fnmatch.c;beginline=3;endline=27;md5=67f83ee9bd456557397082f8f1be0efd \
@@ -12,7 +12,8 @@ LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=7765a3d787cb4fed3ccc3c9cee030af9 \
                     file://lib/util/glob.c;beginline=6;endline=31;md5=5872733146b9eb0deb79e1f664815b85 \
                     file://lib/util/snprintf.c;beginline=6;endline=34;md5=c82c1b3a5c32e08545c9ec5d71e41e50 \
                     file://include/sudo_queue.h;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \
-                    file://lib/util/inet_pton.c;beginline=3;endline=17;md5=3970ab0518ab79cbd0bafb697f10b33a"
+                    file://lib/util/inet_pton.c;beginline=3;endline=17;md5=3970ab0518ab79cbd0bafb697f10b33a \
+                    "

(From OE-Core rev: 6c5cc1b298be6aa1e9d378bc8349e11cbf17d300)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Mingli Yu
246b1de954 kexec-tools: Set -fno-PIC on aarch64
As seen in GCC's gcc/config/aarch64/aarch64.c, -fPIC with large
code model is unsupported.  This fixes the "sorry, unimplemented"
errors when building with compilers defaulting to -fPIC.

(From OE-Core rev: d0971200ffe226ade76273ff73be4fa5511a2baa)

Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Andre McCurdy
a1dda84fe8 native.bbclass: drop _virtclass-native and _virtclass-nativesdk overrides
The _virtclass-XXX over-rides are problematic in that they are higher
priority than _forcevariable, which is documented as being the
highest priority over-ride.

Since they are now obsolete (replaced by _class-native and
_class-nativesdk) drop them entirely rather than try to fix their
priority.

(From OE-Core rev: c5aa33ac483618bc23fbaccb0a18853186f9155d)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Andre McCurdy
a087862d02 security_flags.inc: drop obsolete comment
The last ARM specific over-ride was removed in:

  http://git.openembedded.org/openembedded-core/commit/?id=e93765ffb5718b0fce84f0b8123963176dea95e4

but the comment was accidentally left behind.

(From OE-Core rev: efcf629e2d84bacb955201d1960969020796678e)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Andre McCurdy
64f19d7873 rpm: move ASNEEDED over-ride into the rpm recipe
Move the recipe specific over-ride for ASNEEDED into the recipe to
make it more apparent that the over-ride is being applied (and that
it should be re-checked on version updates, etc).

(From OE-Core rev: f3d223304e52b9be946e5bd849075147147cbbb3)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Andre McCurdy
837a2a6f99 puzzles: move ASNEEDED over-ride into the puzzles recipe
Move the recipe specific over-ride for ASNEEDED into the recipe to
make it more apparent that the over-ride is being applied (and that
it should be re-checked on version updates, etc).

Also misc minor recipe cleanup (re-order variables to follow the OE
style guide, etc).

(From OE-Core rev: d3653e8525e048d9968b949dbff5304c1fd94480)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Andre McCurdy
f8fa4aab98 pciutils: move ASNEEDED over-ride into the pciutils recipe
Move the recipe specific over-ride for ASNEEDED into the recipe to
make it more apparent that the over-ride is being applied (and that
it should be re-checked on version updates, etc).

(From OE-Core rev: b7b63b2681a1de0ecb0e09612913370cb9934d38)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Andre McCurdy
08cdb50847 icu: move ASNEEDED over-ride into icu.inc
Move the recipe specific over-ride for ASNEEDED into the recipe to
make it more apparent that the over-ride is being applied (and that
it should be re-checked on version updates, etc).

(From OE-Core rev: a4c29153c7ffef024b31e7e3a197a09758a7beb4)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Andre McCurdy
6c2ae5900d distcc: move ASNEEDED over-ride into the distcc recipe
Move the recipe specific over-ride for ASNEEDED into the recipe to
make it more apparent that the over-ride is being applied (and that
it should be re-checked on version updates, etc).

Also misc minor recipe cleanup (re-order variables to follow the OE
style guide, etc).

(From OE-Core rev: 5e7d337fd538325e5f69de5b409eb8e36bb5e007)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Andre McCurdy
26cc941cb4 console-tools: move ASNEEDED over-ride into the console-tools recipe
Move the recipe specific over-ride for ASNEEDED into the recipe to
make it more apparent that the over-ride is being applied (and that
it should be re-checked on version updates, etc).

Also misc minor recipe cleanup (re-order variables to follow the OE
style guide, etc).

(From OE-Core rev: c4ceaaea207e15bafd4261c33fd20fdf66d50c7d)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Andre McCurdy
27bf30e3ce babeltrace: move ASNEEDED over-ride into the babeltrace recipe
Move the recipe specific over-ride for ASNEEDED into the recipe to
make it more apparent that the over-ride is being applied (and that
it should be re-checked on version updates, etc).

Also misc minor recipe cleanup (re-order variables to follow the OE
style guide, etc).

(From OE-Core rev: 6c08a062c151c2d2562016434f6f2125f2959fa6)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Andre McCurdy
db57e87e1a tune-corei7.inc: minor comment tweak to align with tune-core2.inc
(From OE-Core rev: 4b11e44f84b1dcf406c84227c29b9c5a67deaf51)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Jon Szymaniak
dd5bf3e4d2 cve-check.bbclass: detect CVE IDs listed on multiple lines
Some backported patches fix multiple CVEs and list the corresponding
identifiers on multiple lines, rather than on a single line.

cve-check.bbclass yields false positive warnings when CVE IDs are
presented on multiple lines because re.search() returns only
the first match.

An example of this behavior may be found when running do_cve_check() on
the wpa-supplicant recipe while in the rocko branch. Only CVE-2017-13077
is reported to be patched by commit de57fd8, despite the patch including
fixes for a total of 9 CVEs.

This is resolved by iterating over all regular expression matches,
rather than just the first.

(From OE-Core rev: 8fb70ce2df66fc8404395ecbe66a75d0038f22dd)

Signed-off-by: Jon Szymaniak <jon.szymaniak.foss@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Ross Burton
00cf91aacc pbzip2: fix upstream check URL
compression.ca is down, so use the Milestone page on Launchpad as that is also
where we download the tarball from.

(From OE-Core rev: d669fbd183e03952e1900535328f16185248fc1f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Khem Raj
d742dad9a0 swig: Replace strncpy with memcpy
gcc8 is detecting string truncations when swig is
used in other packages

(From OE-Core rev: 828ae03da4468b4c672f71e1b4cac9b8fff73d2d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Khem Raj
6d8644569e libgpg-error: Upgrade 1.28 -> 1.31
License-Update: Check 19 lines of gpg-error.h.in only, more lines are not representing license text

Drop upstreamed patch

(From OE-Core rev: 9d26c595f648a8375ac92c2923b1cce3a1217c53)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Khem Raj
56e6f969f6 mdadm: Fix build with gcc8
(From OE-Core rev: 9bba9c2f1721673881fa8b460887ddebffad538e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Dan McGregor
e2f9287446 go-native: use libdir_native
Setting staging_libdir to libdir caused unnecessary rebuilds of
go-native when switching from a multilib build to a non-multilib
build. Switch to libdir_native because it doesn't change based on
target configuration.

(From OE-Core rev: af1ba0dfc904c78e3e030b9d81806f8269e66c56)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Ross Burton
9ddb109370 mesa: fix a build race in src/intel/vulkan
(From OE-Core rev: 5681ba2e403afb6cea03662a2aca6b1834567ddc)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Khem Raj
c53c3181df strace: Upgrade to 4.22
License-Update: Update Copyright years

(From OE-Core rev: 7ab51c619697ad64d69ecf77449c43fe59c3290c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Khem Raj
8cc24f3595 webkitgtk: Disable using GST_GL if gst does not enable it
(From OE-Core rev: c76f1fe05661bcdff1b59694cba986bc5feaf1c8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Khem Raj
198fbe90bf alsa-lib: Upgrade to 1.1.6
License-Update: FSF address updated

(From OE-Core rev: e0fff928df0e82cd2c4729771b9e7c73dd79685b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Khem Raj
4fa8f93e6a alsa-tools: Update to 1.1.6
License-Update: FSF address updated in hdsploader/COPYING and ld10k1/COPYING.LIB

Fix built with clang along the way

Package python dependent tools into a separate package

(From OE-Core rev: 2a39c8529332c4ea0f8edcac7cfdfb410ca3fb5b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Khem Raj
d3081fc0a2 pbzip2: Fix C++11 warnings found with clang
(From OE-Core rev: ccc7a422b7b43f68a10ee6ec9aea7e6074a69630)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Chen Qi
20b0c638ba oe-depends-dot: print dependency chains for '--why' option
When using '--why' option, we currently only list elements.
It's better to print out dependency chains. This patch adds
such abitility.

e.g.
  $ oe-depends-dot -k util-linux -w recipe-depends.dot
  Because: packagegroup-core-boot systemd-compat-units systemd shadow core-image-minimal dbus e2fsprogs
  core-image-minimal -> packagegroup-core-boot -> systemd-compat-units -> systemd -> dbus -> shadow -> util-linux
  core-image-minimal -> packagegroup-core-boot -> systemd-compat-units -> systemd -> dbus -> e2fsprogs -> util-linux

(From OE-Core rev: 1115e06599751f776134674d93627cc381a06660)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Andre McCurdy
970f12b7bb gcc7: drop stray uClibc specific patch
The patch seems to have been left behind when other uClibc specific
patches were purged from gcc in:

  http://git.openembedded.org/openembedded-core/commit/?id=ec03023d2165b49a52b83bac1ea2f0bfded7b852

(From OE-Core rev: f71bc69e5b7581c53071055b694bb0dbfe4b4a87)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Allen Wild
3f5af5e1ec xz: use update-alternatives
Installing xz and busybox together may cause conflicts for xz, xzcat,
unxz, and their lzma variants. In the default configuration, xzcat is
silently replaced with a symlink to busybox. If busybox is compiled with
CONFIG_XZ=y, its postinst fails during do_rootfs.

Using update-alternatives to xz handles these conflicts properly.

(From OE-Core rev: e48cd8423562d4b03bdf55ba04873b7582f12452)

Signed-off-by: Allen Wild <allenwild93@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Niko Mauno
97293e7cde e2fsprogs: Complement update-alternatives scope
Avoid collision of e2fsprogs provided tune2fs, mke2fs and mkfs.ext2
commands with corresponding BusyBox provided applets in case both
packages are installed to same rootfs, by adding these commands to
update-alternatives scope

(From OE-Core rev: 81dc858a24cc5b5dc547356eb22f00dde9801b6f)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Tim Orling
83a4c4b890 liburi-perl: upgrade 1.73 -> 1.74
Upstream release notes:

Changes for version 1.74 - 2018-04-22
avoid 'uninitialized' warning in URI::File when host has no domain name set (PR#53, thanks Shoichi Kaji!)

(From OE-Core rev: 346afbee122a3e0642d552cd5b762e6f0b5a7957)

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Armin Kuster
9e7be9f734 tzdata: update to 2018e
Briefly:

    North Korea switches back to +09 on 2018-05-05.
    The main format uses negative DST again, for Ireland etc.
    'make tarballs' now also builds a rearguard tarball.
    New 's' and 'd' suffixes in SAVE columns of Rule and Zone lines.

  Changes to past and future time stamps

    North Korea switches back from +0830 to +09 on 2018-05-05.
    (Thanks to Kang Seonghoon, Arthur David Olson, Seo Sanghyeon,
    and Tim Parenti.)

    Bring back the negative-DST changes of 2018a, except be more
    compatible with data parsers that do not support negative DST.
    Also, this now affects historical time stamps in Namibia and the
    former Czechoslovakia, not just Ireland.  The main format now uses
    negative DST to model time stamps in Europe/Dublin (from 1971 on),
    Europe/Prague (1946/7), and Africa/Windhoek (1994/2017).  This
    does not affect UT offsets, only time zone abbreviations and the
    tm_isdst flag.  Also, this does not affect rearguard or vanguard
    formats; effectively the main format now uses vanguard instead of
    rearguard format.  Data parsers that do not support negative DST
    can still use data from the rearguard tarball described below

(From OE-Core rev: f717eeff2d4823163cb72fb79101220cc48b3286)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Armin Kuster
3aa4cfc16a tzcode-native: updatet to 2018e
Changes to build procedure

    The command 'make tarballs' now also builds the tarball
    tzdataVERSION-rearguard.tar.gz, which is like tzdataVERSION.tar.gz
    except that it uses rearguard format intended for trailing-edge
    data parsers.

  Changes to data format and to code

    The SAVE column of Rule and Zone lines can now have an 's' or 'd'
    suffix, which specifies whether the adjusted time is standard time
    or daylight saving time.  If no suffix is given, daylight saving
    time is used if and only if the SAVE column is nonzero; this is
    the longstanding behavior.  Although this new feature is not used
    in tzdata, it could be used to specify the legal time in Namibia
    1994-2017, as opposed to the popular time (see below).

  Changes to past time stamps

    From 1994 through 2017 Namibia observed DST in winter, not summer.
    That is, it used negative DST, as Ireland still does.  This change
    does not affect UTC offsets; it affects only the tm_isdst flag and
    the abbreviation used during summer, which is now CAT, not WAST.
    Although (as noted by Michael Deckers) summer and winter time were
    both simply called "standard time" in Namibian law, in common
    practice winter time was considered to be DST (as noted by Stephen
    Colebourne).  The full effect of this change is only in vanguard
    format; in rearguard and main format, the tm_isdst flag is still
    zero in winter and nonzero in summer.

    In 1946/7 Czechoslovakia also observed negative DST in winter.
    The full effect of this change is only in vanguard format; in
    rearguard and main formats, it is modeled as plain GMT without
    daylight saving.  Also, the dates of some 1944/5 DST transitions
    in Czechoslovakia have been changed.
(From OE-Core rev: aeb3d295581908ca9a9d8f1705f70b49b2de32e3)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Alexander Kanavin
524e84028e sysvinit-inittab: do not use 'exit 1' to postpone to first boot
Instead, first check if we need to do anything at all during first boot,
and if so, either postpone to first boot via pkg_postinst_ontarget()
when running on host, or run the necessary setup code when running on target.

(From OE-Core rev: 16df1717c3813ba773e0dfa2d1db471816d8b99b)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:49 +01:00
Alexander Kanavin
a4a556ea67 gtk+: do not look into $HOME when looking for modules
(From OE-Core rev: c8fa5e7299940792a1c4f5255150a4ce8aac7c54)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:48 +01:00
Chen Qi
c5d7bd3ee9 devtool/sdk.py: error out in case of downloading file failure
It's possible that downloading file from updateserver fails. In
this case, we should error out instead of continue.

We have users reporting unexpected behavior of 'devtool sdk-update'.
When an invalid url is supplied, e.g., `devtool sdk-update http://invalid',
the program reports 'Note: Already up-to-date'.

This is obviously not expected. We should error out in such case.

(From OE-Core rev: 449564783dfb162536a2f772b3a8704973221e0f)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:48 +01:00
Ross Burton
472c86127a security_flags: disable static PIE in glibc
Static PIE doesn't work entirely right in GCC 7, for example ldconfig on ARM
with the flags enabled will something segfault during initialisation.

To mitigate this until we have GCC 8 integrated, don't enable static PIE.

(From OE-Core rev: 5f64946b8740a5d944f48ec430470265703bfe5e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:48 +01:00
Jose Perez Carranza
cb68e9a2fe runtime/dnf: Add new dnf test cases
Add test cases to test “exclude” and “installroot“ options, also modify
the logic of filtering packages on the feed to have all the packages
needed by the tests.

[YOCTO #10744]

(From OE-Core rev: 1121806603c6f621d084b692216f3f616a0768dc)

Signed-off-by: Jose Perez Carranza <jose.perez.carranza@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:48 +01:00
Mike Crowe
5479654eea rm_work: Stop appending _setscene to do_image_complete_setscene stamps
Each time I build my image after the first, I end up with a
do_image_complete_setscene stamp file with an extra _setscene appended to
the name. Eventually, the filenames end up being so long that mv complains
and the build fails.

It looks like this behaviour was introduced when the special handling was
added for do_image_complete in 2ff9d40dc88d43567472218cf3d3faf414398c71.

So, let's ensure that the *_setscene* pattern is matched before anything
else so that any do_image_complete_setscene stamp file is always ignored
and the do_image_complete non-setscene stamp file is moved only once.

It's not straightforward to just move *do_image_complete* after the
*_setscene* pattern because do_image_complete stamps would then match
do_image*.

(From OE-Core rev: f04e6bd144deb0c8fe2742f66b18904b6619a502)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Martin Jansa
5e8ba36be5 grub2: fix build with gcc8
(From OE-Core rev: 3eca7aa8196ef8ed682659ff47f3f1e3b2c6867d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Denys Dmytriyenko
e975ced728 mesa: ensure all libwayland-egl* files are removed
Wayland 1.15+ now ships libwayland-egl by itself, so Mesa should remove
its instance. Previous commit 6e5952fcfc13ff4b63c9376bd41a1dbba957f425
only removed .so libraries, but left .la, which resulted in conflict.

(From OE-Core rev: 7a1d0f532bb2a6772e24a9fd4515bd1f3ab15324)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Haris Okanovic
d83a3f9a3f depmodwrapper-cross: Add kmod-native to DEPENDS
Add `DEPENDS += "kmod-native"` to ensure depmod utility is added to
recipe-sysroot-native during image build.

Without this dependency, image builds where BUILD_IMAGES_FROM_FEEDS=1
have depmodwrapper in recipe-sysroot-native but are missing depmod.
Kernel postinst scripts rely on depmod (via depmodwrapper) to index
newly installed modules.

(From OE-Core rev: d693457f9de92e4e8b61881638787e831f0ca197)

Signed-off-by: Haris Okanovic <haris.okanovic@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Armin Kuster
8d9d88d662 util-linux: update to 2.32
rfkill moved locations, update accordingly

refactored avoid_parallel_tests.patch

includes security fix:
CVE-2018-7738 (score: 7.2)
affects: < 2.32-rc1

see changelog for other bugfixes:
https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.32/v2.32-ChangeLog

(From OE-Core rev: a7a1e3155287d3bac7ab83e58d53ee2a364f2e29)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Ross Burton
6dee5da9db systemd: fix build with util-linux 2.32
(From OE-Core rev: 12b4fc15f6919d7573bea5d913fb805993e8640a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Andrea Galbusera
5945fffebc systemd: backport patch to fix build when gcrypt is enabled
When gcrypt support is present in PACKAGECONFIG, build fails due to the bug
reported in [1]. Since this is already solved upstream, this commit backports
the corresponding patch.

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=893602

(From OE-Core rev: 4f68722e37d28b5fdd30409570405bf65445eef2)

Signed-off-by: Andrea Galbusera <gizero@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Krzysztof Taborski
fb08ae8f48 perl: native modules will not trigger build perl for target.
Currently building perl-native modules triggers
build perl for target due to PACKAGES_DYNAMIC regex.

This commit will cause, that perl native modules will
trigger perl-native build.

(From OE-Core rev: 7dd9772eca6df52db09b65537fdf689f1aa3fd8f)

Signed-off-by: Krzysztof Taborski <taborskikrzysztof@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Mark Asselstine
c6e502bc61 libcap: fix -native and usrmerge builds
When attempting to build a -native package which DEPENDS on
libcap-native the libcap libraries are not found and the build will
fail (for example attempting to build qemu-native with
'PACKAGECONFIG_append = " virtfs"').

It turns out commit 2c9c4a406a [libcap: fix (base_)libdir usage]
breaks builds of libcap(-native) when $root_prefix is not "". This is
because the variables which define $root_prefix are also part of
$prefix so you end up with part of the path being used twice, first as
part of 'lib=' in do_compile, and secondly as part of 'prefix=' in
do_install. When $root_prefix is "" this isn't noticed.

By using $baselib we should not re-break the issue which commit
2c9c4a406a was fixing but we should avoid doubling down on the
paths thus fixing the -native and usrmerge builds.

(From OE-Core rev: b46c55c3b9db5d8f2080ae2611294a5b24efe4a4)

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Ross Burton
06d7df6fe2 base: improve do_unpack[cleandirs] logic
If a recipe sets S to ${WORKDIR}/ then the S != WORKDIR test doesn't work as
expected.  Use os.path.normpath() to normalise the paths so string comparison
works.

(From OE-Core rev: 06aaafd14f3c8e27faeea0a514f80e1ff5eb4deb)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Hongxu Jia
950dce692a oeqa/selftest/case: fix typo
s/meta-sefltest/meta-selftest/g

(From OE-Core rev: e1672e36a653a1d0efb0999c60bf3c56c1983c02)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Hongxu Jia
c9ab512420 perl: fix CVE-2017-12837
https://perl5.git.perl.org/perl.git/commitdiff/96c83ed78aeea1a0496dd2b2d935869a822dc8a5

(From OE-Core rev: bd53256e165f5bb59a28d77a466d71fce39080fa)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Tom Rini
d7fc3484ef glibc: Check /etc/ld.so.conf.d/*.conf by default
The expected modern behavior for dealing with adding ld.so.conf entries
is to add a file to /etc/ld.so.conf.d/.  In order to do this, ld.so.conf
needs to explicitly include that /etc/ld.so.conf.d/*.conf.  Make it so.

Cc: Khem Raj <raj.khem@gmail.com>
(From OE-Core rev: 1f03019356e3712435dbe4ed9f359992b0ad4578)

Signed-off-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Juro Bystricky
a621109868 distcc-doc_3.2: improve reproducibility
Remove timestamps from metadata of gzip compressed files.

(From OE-Core rev: 8d009dd8c3c56601905a156cb06f339dd4a298e6)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Juro Bystricky
26cccb9305 libical-dev_2.0: improve reproducibility
Remove build host references from distributed files.

(From OE-Core rev: 20f2670e755bcbf90b2b6c08192c022fe7e7eaad)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Ross Burton
4d2b500a08 oe-buildperf-report: highlight large changes in the HTML report
If the relative difference is greater than 2%, make the text bold to highlight
it.

(From OE-Core rev: 500e28311248713d4772480b81b10777390da909)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Khem Raj
8b58b3ae27 mesa: Define PYTHON2
Ensure that python2 is not assumed to be python which can
point to python3 in some cases, when building gallium-llvm
there are scripts which are requiring python2 and wont work
with python3

(From OE-Core rev: c693b7ec8914460c891a5fb8bd36fb9401e62ac0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Ross Burton
0a1a5bd17e clutter-gst-3.0: upgrade 3.0.24 -> 3.0.26
(From OE-Core rev: 01e7dee6c75f6868453d15b35499dd6d57193da9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Anuj Mittal
3ba8b22734 gst-plugins-good: enable mpg123 and lame
Since the last remaining mp3 patents have expired [1] and corresponding
commercial flags from recipes for these removed, enable these to be built by default.

[1] https://www.iis.fraunhofer.de/en/ff/amm/prod/audiocodec/audiocodecs/mp3.html

(From OE-Core rev: 819705fcaf73439ce7c848de4ac6da468b79c977)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:38 +01:00
Anuj Mittal
a49d11ab4f gstreamer-libav: upgrade 1.12.4 -> 1.14.0
Drop one patch as the change is now present upstream. For changes,
please see: https://gstreamer.freedesktop.org/releases/1.14/

(From OE-Core rev: ebf370f6f20147e45f95ca0bca69346fe6411dff)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:37 +01:00
Anuj Mittal
2856342f95 gst-python: upgrade 1.12.4 -> 1.14.0
For changes, please see: https://cgit.freedesktop.org/gstreamer/gst-python/tree/ChangeLog

Also merge inc/bb since we have only one version now.

(From OE-Core rev: 360493d4065101462194a49940e4024993011a79)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:37 +01:00
Anuj Mittal
03d219eebd gst-omx: upgrade 1.12.4 -> 1.14.0
For changes, please see: https://cgit.freedesktop.org/gstreamer/gst-omx/tree/ChangeLog
Merge inc/bb since we only have one version now.

(From OE-Core rev: 6e6d51f22996253ad13224adfcbb8db09a67443f)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:37 +01:00
Anuj Mittal
6b52c84a3f gst-validate: upgrade 1.12.4 -> 1.14.0
* For changes, please see: https://gstreamer.freedesktop.org/releases/1.14/.
* Patch Makefile to fix compilation errors.

(From OE-Core rev: 64a27c7f9792126b1ad82571c351c96da6addb02)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:37 +01:00
Anuj Mittal
19df6ef6f3 gstreamer-vaapi: upgrade 1.12.4 -> 1.14.0
For changes, please see gstreamer-vaapi specific section at:
https://gstreamer.freedesktop.org/releases/1.14/

(From OE-Core rev: bf0b64717511d9f247b0395d5ae5889df2e08950)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:37 +01:00
Anuj Mittal
c59b001280 gst-rtsp-server: upgrade 1.12.4 -> 1.14.0
* For changes, please see: https://gstreamer.freedesktop.org/releases/1.14/
* Merge inc/bb since there's only one version now.

(From OE-Core rev: c4144ec8c7e26593b76297f924cc09cc5a6b674a)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:37 +01:00
Anuj Mittal
4a291e3e14 gst-plugins-ugly: upgrade 1.12.4 -> 1.14.0
* For changes, please see: https://gstreamer.freedesktop.org/releases/1.14/
* Remove PACKAGECONFIG for lame, mpg123 since those have moved to -good.
* Merge inc/bb since there's only one version now.

(From OE-Core rev: ad928dd4493947c40d733c5e0543fea2f166231d)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:37 +01:00
Anuj Mittal
2f88de553e gst-plugins-bad: upgrade 1.12.4 -> 1.14.0
* For changes, please see: https://gstreamer.freedesktop.org/releases/1.14/
* gst-gl has moved to -good and direct dependencies aren't required.
* Remove vulkan patches that have been upstreamed.
* Remove obsolete PACKAGECONFIGs.

(From OE-Core rev: a8667b7f95d62bd09a1a9ed9575327a22e1c7f59)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:37 +01:00
Anuj Mittal
b01fd6106a gst-plugins-good: upgrade 1.12.4 -> 1.14.0
* For changes, please see: https://gstreamer.freedesktop.org/releases/1.14/
* With the expiration of mp3 patents [1], mp3 decoders and encoders have been
  moved to -plugins-good from -plugins-ugly (also see the release notes).
* Move bz2 and zlib to PACKAGECONFIG.
* gtk+ plugin has moved to -good from -bad. Enable it by default.
* qt plugin has also moved to -good from -bad but it's disabled by default.

[1] https://www.iis.fraunhofer.de/en/ff/amm/prod/audiocodec/audiocodecs/mp3.html

(From OE-Core rev: 69e1a7006c4408f54381c95e64e52937e8ba05d5)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:37 +01:00
Anuj Mittal
e7d761c885 gst-plugins-base: upgrade 1.12.4 -> 1.14.0
* For changes, please see: https://gstreamer.freedesktop.org/releases/1.14/
* OpenGL integration library has moved to -plugins-base, add PACKAGECONFIG.
* Remove one patch as that has been fixed in a different way upstream.
* Merge inc/bb and refresh patches to get rid of fuzz warnings.
* Remove x86 specific cached variables as they're not needed anymore.
* Add jpeg to PACKAGECONFIG and enable it by default.
* Port gstreamer-gl specific patches from -plugins-bad.

(From OE-Core rev: 5e95178996185976adf2f2d91550fa7ff0e82f54)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:37 +01:00
Anuj Mittal
37e1470a9a gstreamer1.0: upgrade 1.12.4 -> 1.14.0
* For changes, please see: https://gstreamer.freedesktop.org/releases/1.14/
* Merge inc and bb file since we only have one version now.

(From OE-Core rev: 21229feea228c44f2b3851ddd52d1899931040b2)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:37 +01:00
Andre McCurdy
1d44f1f157 subversion: misc recipe cleanup
- Add default value for PACKAGECONFIG
 - Combine "inherit autotools" with "inherit pkgconfig gettext"
 - Drop historical addition of -L${STAGING_LIBDIR} to LDFLAGS
 - Re-order variables according to OE styleguide

(From OE-Core rev: 10cb7bccc2452375b363ba82bf1be2ee0cb0e8e2)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:37 +01:00
Andre McCurdy
800f2d7b3b alsa-lib: move contents of alsa-fpu.inc into alsa-lib recipe
Merge historical .inc file into the only recipe which uses it.

(From OE-Core rev: eb1eacefafcbf69e48f906234f5016ae18f0bdce)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:37 +01:00
Mike Crowe
0ef7994fd0 kernel: Permit overriding of KERNEL_IMAGETYPE_FOR_MAKE
Commit a1690131691507bbf5853540229b3ad775b836bf removed the ability of
recipes to set KERNEL_IMAGETYPE_FOR_MAKE. Fix that by letting recipes
continue to set their own KERNEL_IMAGETYPE_FOR_MAKE if they so wish.
They may have been doing so for a while, and don't want to have their
carefully-selected value trampled on by kernel.bbclass.

This may be required if the recipe itself wants to build one type of
kernel, but post-process it into a different type, rather like the
vmlinux->vmlinux.gz support provided by kernel.bbclass.

(From OE-Core rev: 38abd26fe7de321e0f1fc4895f754f34dee90f6c)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:37 +01:00
Martin Jansa
b7fd23f883 json-c: upgrade to 0.13.1
* from 861c1a8286

* Bump the major version of the .so library generated up to 4.0 to avoid
  conflicts because some downstream packagers of json-c had already done
  their own bump to ".so.3" for a much older 0.12 release.
* Add const size_t json_c_object_sizeof()
* Avoid invalid free (and thus a segfault) when ref_count gets < 0
* PR#394: fix handling of custom double formats that include a ".0"
* Avoid uninitialized variable warnings in json_object_object_foreach
* Issue #396: fix build for certain uClibc based systems.
* Add a top level fuzz directory for fuzzers run by OSS-Fuzz

(From OE-Core rev: bb9a62acaf9aa1691ce276bf037ba35b6c924276)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:37 +01:00
Ross Burton
b28f8b5886 maintainers: reassign some Intel maintainers
(From OE-Core rev: 9f568afee706d689838a00579e6252f778796612)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-11 07:49:37 +01:00
Khem Raj
f4c938c474 packagegroup: Do not add libssp to SDK
Libssp is only needed on non-glibc/non-musl systems
Add rpcsvc-proto for rpcgen since its not part of glibc
anymore

(From OE-Core rev: 70c1154163761253346fb477ff362af6a838be09)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:51 +01:00
Khem Raj
f21072d2e6 allarch.bbclass: Exclude package_do_shlibs from do_package signature
shlibs is largely useless for allarch, the particular usecase where it
fails is when DISTRO_FEATURE is changing due to libc being different e.g.

Variable package_do_shlibs value changed:
-DISTRO_FEATURES{ldconfig} = Set
+DISTRO_FEATURES{ldconfig} = Unset

musl -> glibc or other way around 'ldconfig' gets added or deleted to
DISTRO_FEATURE set, neither this distro feature nor the shlibs processing
during packaging is of interest to allarch packages which are largely
arch independent scripts

(From OE-Core rev: 06602d56d1d311562144eafe459fcea36931a34c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:51 +01:00
Khem Raj
c083cd8308 ppp: Install net/ppp_defs.h on musl
This header is used by other apps e.g. ippool
glibc provides an internal version which it should not

(From OE-Core rev: fe24a5d24cb2f6af9b5dd20089e36afe99e88ea1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:51 +01:00
Khem Raj
30394ba0d4 libnsl2: Install into /usr/include and /usr/lib
Extend to native and nativesdk variants

(From OE-Core rev: d3589298f5ae0bdedbc1f265ed964841a9d11cfd)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:51 +01:00
Khem Raj
7d29f786f6 perl: Account for libnsl being dropped from glibc
-lnsl needs to be removed even on glibc

(From OE-Core rev: 1d1e2f2c44aa6d02458cec720bee2818cbaa31ff)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:51 +01:00
Khem Raj
fd912fec3e watchdog: Use libtirpc even on glibc
We dropped in-tree obsoleted rpc from glibc

(From OE-Core rev: 6f4814dd3a14faa49b9b501ec2e19f0ff89fd860)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:51 +01:00
Khem Raj
de02e69796 tcp-wrapper: Use external libnsl
We dropped in-tree obsoleted libnsl from glibc

(From OE-Core rev: 434435b589b4f615378293b6d27dfb2e32665084)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:51 +01:00
Khem Raj
1732008c6d xinetd: Use libtirpc even on glibc
We dropped in-tree obsoleted rpc from glibc

(From OE-Core rev: 1df41d0b48291f586f84b6b74003ea888be72e65)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:51 +01:00
Khem Raj
8af23ef768 ltp: Fix build after removing rpc and libnsl in glibc
(From OE-Core rev: 269d285f57886df8985cb730a11561c74d642ff8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:51 +01:00
Khem Raj
668aba5a36 libnsl: Upgrade to tip beyond 1.2.0 release
(From OE-Core rev: 0d387fe24f62c1c9fa1749de67c718255af59fc6)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:50 +01:00
Khem Raj
6ef11123ef libtirpc: Upgrade to 1.0.4-tc1
Drop backported patches
Redo musl support patch such that it
can be applied universally

(From OE-Core rev: 94c23613724073f8def71bc9e76d7fd7a9f318ad)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:50 +01:00
Khem Raj
00a5c6c010 libnss-nis: Add recipe
This will substitute the glibc nis module which
has been removed

Skip for non-glibc systems

(From OE-Core rev: cabef0916d860449bfbcc4ff596ec9f0029849e9)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:50 +01:00
Khem Raj
6d6c92ce74 rpcsvc-proto: Add recipe
(From OE-Core rev: 290e7111a7b97305715f3db8cc678b9d1cc75726)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:50 +01:00
Khem Raj
cf5be67635 glibc: Drop obsolete rpc and libnsl
use libnsl2 and rpcsvc-proto packages

(From OE-Core rev: 9dc9983901cec364ea57a72b9da1a0396b60663a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:50 +01:00
Khem Raj
d9c21cc88b musl: Upgrade to latest
Changes are here
https://git.musl-libc.org/cgit/musl/log/?qt=range&q=618b18c78e33acfe54a4434e91aa57b8e171df89..941bd884cc0221d051840ce6d21650339e711863

(From OE-Core rev: 89cca383547323492f1c1939ea95fd364d2aa9fe)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:50 +01:00
Khem Raj
b07bbe597d libunwind: Drop adding libssp to linker flags
This is no longer needed as gcc provided libssp
is not built

(From OE-Core rev: 6d025fe137e835ef2388f402d8d58728e62ed280)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:50 +01:00
Khem Raj
de109820c3 gcc-runtime: Disable gcc version of libssp
libssp is implemented fully in glibc as well as in musl
so we really do not need the gcc version of this library
except may be for mingw, where we keep it enabled anyway
gcc in OE is built with the knowledge that C library
already provides libssp implementation, we should therefore
not need the gcc implementation of same.

libssp_nonshared piece is a detail which is needed when gcc
is the compiler, in glibc this is part of libc_nonshared.a
already and libc_nonshared.a is linked always when linking
with -lc becuase libc.so in glibc is actually a linker script

GROUP ( /usr/lib/libc.so.6 /usr/lib/libc_nonshared.a  AS_NEEDED ( /usr/lib/ld-linux-x86-64.so.2 ) )

which automatically links in the needed runtime bits, this however
is not the case for musl, where core SSP APIs are implemented in full
but compiler specific runtime isn't, for this we add a new package
called libssp_nonshared which generate the needed runtime stub
and gcc is already carrying patch to link to libssp_nonshared.a
on musl

This should fix a long standing problem where static PIE executable
were not buildable with OE since it was conflicting SSP implementation
one from C library and the other one from gcc and we end up with
duplicate symbol errors during linking.

Backport a patch from trunk which enhances enable|disable-libssp
to not only disable building libssp but also not emit the gcc
specs to use it for subsequent linking when stack-protector options
are used on compiler cmdline

(From OE-Core rev: 6c14f99936f8c8c9b9d9f40a6b0c69675ea9a566)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:50 +01:00
Khem Raj
8b5c4fea90 musl: Depend on libssp-nonshared
libssp-nonshared is required on musl since
it does not implement the gcc runtime piece of
libssp, which actually it a gcc optimization to
reach to __stack_chk_fail

(From OE-Core rev: 72e254e99682aa0e2d01f20f50d9fbdeb77529b3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:50 +01:00
Khem Raj
be600d88c7 libssp-nonshared: Add recipe
libssp-nonshared is a minimal gcc runtime piece which is needed
on non-glibc systems which do implement libssp APIs in libc

Use PIE flags to compile libssp_nonshared.a so it works with
security flags on as well

(From OE-Core rev: ddfab4d021d4daa5aefcd9cdd89d349bbd4b6869)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09 10:47:50 +01:00
Alejandro Enedino Hernandez Samaniego
27dca7d2e9 tclibc-baremetal: Adds virtual/crypt to ASSUME_PROVIDED
When trying to build meta-toolchain using TCLIBC = "baremetal"
bitbake throws an error due to a mising dependency:

ERROR: Nothing PROVIDES 'virtual/crypt'

glibc PROVIDES virtual/crypt but was skipped:
PREFERRED_PROVIDER_virtual/libc set to musl, not glibc
musl PROVIDES virtual/crypt but was skipped:
PREFERRED_PROVIDER_virtual/i586-poky-elf-libc-for-gcc set to baremetal,
not musl
libxcrypt PROVIDES virtual/crypt but was skipped: Recipe only applies in
nativesdk case for now

This is caused by the changes on commit:
29f65bda6d
nativesdk-glibc: Split glibc and libcrypt to use libxcrypt instead

This is where the concept of virtual/crypt was introduced.

This patch adds virtual/crypt to ASSUME_PROVIDED on tclibc-baremetal,
providing the missing wiring to build meta-toolchain on baremetal
correctly.

(From OE-Core rev: 26a93d2bf7504bf5f3adb085ed2882ae1b1a3701)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 16:14:14 +01:00
Aníbal Limón
69942186ed recipes-support/ptest-runner: Upgrade to v2.2
The new version contains an option to exclude certain tests to
run, example:

$ ptest-runner -e "perl"

(From OE-Core rev: e529b8a68741992a21be874b62c0ea37f51d6a19)

Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 16:14:14 +01:00
Alexander Kanavin
e6ef108258 babeltrace: switch over to git
Tarball directory is gone.

(From OE-Core rev: d4319e6d6e10e0af49968704b42b13a4f4e414c5)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 16:14:14 +01:00
Alexander Kanavin
96d783fa39 ifupdown: correct the repository location
The old repo is gone.

(From OE-Core rev: f171137579bf3141032d309fa433c14ac9141e43)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 16:14:14 +01:00
Alexander Kanavin
a6b62ef9ae meson: update to 0.46.0
Rebase a couple of patches

(From OE-Core rev: dbac12d5eacc945881d472dca492180b62e6f345)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 16:14:14 +01:00
Alexander Kanavin
26fba81701 webkitgtk: update to 2.20.1
(From OE-Core rev: 9be9db5fa6f373f16fbe8638d3f7630a24dafcfb)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 16:14:14 +01:00
Alexander Kanavin
4c52e22689 procps: update to 3.3.14
(From OE-Core rev: c699a519c708bb7ab3035dfeb7ab8c1b4ecd349d)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 16:14:14 +01:00
Alexander Kanavin
23320a2c9a libwebp: update to 1.0.0
--disable-experimental has been removed upstream.

(From OE-Core rev: 1d03368b265e7dad2a7e5f5db15c456b9f4e6e2d)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 16:14:14 +01:00
Alexander Kanavin
63ef74ecee gnome-desktop3: update to 3.28.1
(From OE-Core rev: 421c5fa918278ee0211bd2cf315b5c0937440b67)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 16:14:14 +01:00
Alexander Kanavin
bc3d4921f0 epiphany: update to 3.28.1.1
(From OE-Core rev: 81cbf2e7892b023c0eb12e77f91a6611d3b3b8fe)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 16:14:14 +01:00
Alexander Kanavin
50017440ea pcmanfm: update to 1.3.0
(From OE-Core rev: fa623bb9cd57ff68a3b0334038b7e3f16d43dec5)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 16:14:14 +01:00
Alexander Kanavin
9fec5109ae libfm: update to 1.3.0.2
(From OE-Core rev: 3f2961e7d2311c106d92a999bfe8b6af01c0f9bb)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 16:14:14 +01:00
Alexander Kanavin
04bbd38668 vala: update to 0.40.4
(From OE-Core rev: c366ad0e392ff189cf3243399dc7ab91989f53fd)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 16:14:14 +01:00
Alexander Kanavin
e0592271be ffmpeg: update to 4.0
(From OE-Core rev: d854663834977df144304b966b47c5be24794dca)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 16:14:13 +01:00
Alexander Kanavin
4b6837bdfb gobject-introspection: update to 1.56.1
(From OE-Core rev: 4374c8cf1984588b3fbdb8244095270131af8ea0)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-08 16:14:13 +01:00
Richard Purdie
f301a3bc11 settings-daemon: Drop pointless apply=yes in SRC_URI
(From OE-Core rev: ae8b78f2ef5df4b24f8e2294c5e2760367b8bf8d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:06 +01:00
Otavio Salvador
27651730e5 go: Update 1.9.4 -> 1.9.6
The 1.9.6 fixes a number of issues since 1.9.4 release, mainly:

go1.9.5 (released 2018/03/28) includes fixes to the compiler, go
command, and net/http/pprof package.

go1.9.6 (released 2018/05/01) includes fixes to the compiler and go
command.

(From OE-Core rev: d4abc33c81f7aa33c432ead92ae16df01ebe36c8)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:06 +01:00
Otavio Salvador
7707acbd0c go: Upgrade 1.10.1 -> 1.10.2
This is a minor release that fixes many important issues found since
1.10.1 release.

(From OE-Core rev: 844f3191cd3d8746b7b31cff83e7655958226520)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:06 +01:00
Mike Crowe
78b59f3660 alsa-utils: Fix error when removing unwanted udev rules
If alsa-utils configure is not passed a --with-udev-rules-dir option then
it defaults to using /lib/udev/rules.d. This meant that the hard-coded use
of ${D}/lib in do_install in 262e69c9c7acf0beb7bb6b96299e3c993c906434
worked correctly to remove the unwanted rules.

Subsequently, 0a4372705a030ca54ed420cdfec33d46ab93499c changed do_install
to use ${nonarch_base_libdir}, claiming to fix this in the usrmerge case.

This means that if udev is not present in PACKAGECONFIG and usrmerge is
present in DISTRO_FEATURES then the alsa-utils build system will install
the rules in ${D}/lib/udev/rules.d but do_install will attempt to remove
${D}/usr/lib, resulting in something like:

 rmdir: failed to remove '.../tmp-glibc/work/i586-oe-linux/alsa-utils/1.1.5-r0/image/usr/lib': No such file or directory

To fix this, let's just tell configure to install the rules in a specific
known location when udev is disabled. This location can then easily be
cleaned up in do_install without doing any harm if udev is enabled.

Tested both with and without usrmerge in DISTRO_FEATURES and with and
without udev in PACKAGECONFIG.

(From OE-Core rev: 022b644e6ba2caa0b32ce3323621c07f78166234)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Cc: Phil Blundell <pb@pbcl.net>
Cc: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Otavio Salvador
5f699e314d mesa: Upgrade 17.3.8 -> 18.0.2
This includes changes from Mesa 18.0.0 and 18.0.2 releases.

Mesa 18.0.0 is a new development release and 18.0.1 and 18.0.2 are
bug-fix releases.

You can find release notes here:

  - https://mesa3d.org/relnotes/18.0.0.html
  - https://mesa3d.org/relnotes/18.0.1.html
  - https://mesa3d.org/relnotes/18.0.2.html

Remove patch 0001-st-dri-Initialise-modifier-to-INVALID-for-DRI2.patch
that was applied on upstream.

(From OE-Core rev: c16bc7c9b1526ff4b9496af00ada08aa4109c0ef)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Alexander Kanavin
e6f9ef2aa9 glib-2.0: update to 2.56.1
Remove upstreamed ptest-paths.patch

(From OE-Core rev: 772e6c566b1ba1d27895d78db1d082b3458f41fe)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Peter Kjellerstedt
73206c91d3 glib: Make glib-mkenums ignore unknown per value options
If some other per value option was present than 'skip' or 'nick' then
a KeyError would occur. Ignoring such options matches the behaviour of
the old, Perl-based glib-mkenums.

(From OE-Core rev: ca6c82255fbf0ce359b6205c442e165219a3216e)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Ross Burton
28e3c374e2 libuser: remove
This isn't used by anything in oe-core (or in common use in general, only one
package in Debian depends on it), so remove it from oe-core.

(From OE-Core rev: 11ee7989b2f0709119c450819cd66bad70082a93)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Kai Kang
a249775600 lame: remove LICENSE_FLAGS
The patent on mp3 format due to expire, so remove LICENSE_FLAGS from
lame recipe.

Ref:
https://bugzilla.gnome.org/show_bug.cgi?id=774252

(From OE-Core rev: ef98095cabeb54bd86c2cb78229a1180c7403d4d)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Mingli Yu
d336110b94 boost: update to 1.67.0
* Remove the backported patch 0001-Fix-a-strange-assert-typo-how-was-this-released-with.patch
* Remove the patch 0002-Don-t-set-up-m32-m64-we-do-that-ourselves.patch
  as it already rewritten gcc to use toolset.flags again
  as below:

  commit 12decb3ce680031b915f69902795eec47224fc7d
  Author: Steven Watanabe <steven@providere-consulting.com>
  Date:   Mon Jan 1 12:51:43 2018 -0700

    Rewrite gcc to use toolset.flags again.
* Remove the hardcoded parallel build limit as the
  mechanism already changed as below commit:
  commit 316e26ca718afc65d6170029284521392524e4f8
  Author: Steven Watanabe <steven@providere-consulting.com>
  Date:   Wed Apr 26 14:22:06 2017 -0600

    Remove fixed limit to -j.  Fixes #189.
    * execunix.c: Replace select with poll.
    * execnt.c: Use RegisterWaitForSingleObject when the number of jobs exceeds MAXIMUM_WAIT_OBJECTS.

Reference: 316e26ca71 (diff-c88fe8afebc632d0bef2bd5985137af2)

(From OE-Core rev: 358cf46ea4d01b7ad8c355fa103d4a6922cc0a88)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Kai Kang
ad2a0b2ef1 mpg123: remove LICENSE_FLAGS
mgp123 is patent free from version 1.25.0, so remove LICENSE_FLAGS.

https://mpg123.de/cgi-bin/news.cgi#2017-05-29

(From OE-Core rev: b0bc82a5f238db82425b3b146e269bc6605cbdce)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Chen Qi
b1b4dd8f76 sstate.bbclass: drop obsolete codes
The SSTATECLEANFUNCS mechanism was introduced to solve user/group
deletion problem. After RSS mechanism was introduced, there's no
need to do so.

There was a patch to remove these obsolete codes for useradd.bbclass,
but the codes in sstate.bbclass were not removed. So clean it up.

(From OE-Core rev: 215b83ce892a7002ed0b1bd7b82a08e67ae15121)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Andre McCurdy
101c65d59e tune-corei7.inc: update TUNE_CCARGS -march CPU type corei7 -> nehalem
The gcc "corei7" CPU type was last documented in gcc 4.8.x and has
been undocumented from gcc 4.9.x onwards:

  https://gcc.gnu.org/onlinedocs/gcc-4.8.5/gcc/i386-and-x86-64-Options.html
  https://gcc.gnu.org/onlinedocs/gcc-4.9.4/gcc/i386-and-x86-64-Options.html

Although it still seems to be accepted by gcc 7.x, it's likely to be
deprecated and removed at some point. To preempt that, switch the
corei7 TUNE_CCARGS -march CPU type to "nehalem", which is the closest
replacement (and matches the CPU type already being passed to qemu).

Since the tune-corei7.inc include file is intended to cover a range
of CPUs from Nehalem onwards, switch the TUNE_CCARGS -mtune option
from "corei7" to "generic", which instructs gcc to produce code
optimized for the most common IA32/AMD64/EM64T processors.

(From OE-Core rev: 8d2f51e9b8d5b27fc61d148a6dd5f6ef5715d6e6)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Andre McCurdy
5c526c37ff tar: control acl PACKAGECONFIG based on acl distro feature
(From OE-Core rev: fa8f3bda2680d9890ff6d2bc0ce9737a4d40b4f7)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Andre McCurdy
b6c35d1c5b tar: merge tar.inc into tar recipe
There's only one user of tar.inc (meta-gplv2 has its own copy), so
merge the .inc file into the tar recipe.

(From OE-Core rev: cce7b627f9046c15dde49c001481003cee33fc9c)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Martin Lund
d49bfa2eae mtd-utils: Add mtd-utils-tests package
Add mtd-utils-tests package which includes the test suites mtd-tests,
ubi-tests, fs-tests, etc.

These test suites are useful for verifying flash features or stress
testing.

(From OE-Core rev: 612d0468e34ca922b42a1176ab1e2feef72a2a13)

Signed-off-by: Martin Lund <malu@gomspace.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Hongxu Jia
722fbf6c73 qemu: fix CVE-2017-16845
During Qemu guest migration, a destination process invokes ps2
post_load function. In that, if 'rptr' and 'count' values were
invalid, it could lead to OOB access or infinite loop issue.
Add check to avoid it.

(From OE-Core rev: 0d8f68fe43b4da1a0d356fe6bedb52b8f2a02081)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Hong Liu
0e24828643 time:1.8 -> 1.9
Upgrade time from 1.8 to 1.9.

(From OE-Core rev: f6ac06967905686cc3974a3524c89cb74af22a16)

Signed-off-by: Hong Liu <hongl.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Hongxu Jia
35c75c7773 perf: make a copy of kernel source to perf workdir
Since perf contaminates linux shared workdir, it probably caused
kernel-devsrc compile failure at world build.
...
|0 blocks
|cpio: ./tools/perf/arch/arm/util/sedr7ORqk: Cannot stat:
No such file or directory
|0 blocks
...
cpio tried to find a file at ${S}/tools/perf and failed
if the input list is not valid.

Make a copy of kernel shared source directory into a perf workdir
could fix the issue.

Drop `Fix for rebuilding' which is obsolete

[YOCTO #10880]

(From OE-Core rev: 9b38c824961fc9dce51bda95c25dac91a69fc64f)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Joe Slater
1d708bb185 python3-native: correctly invoke regen-importlib make target
Redefiine regen-all in Makefile to invoke regen-importlib after
building other regen- targets.  Change the recipe to not build it
before regen-all.  This avoids trying to build it multiple times,
which can occasionally fail.

(From OE-Core rev: 72d62c9af07bf34bb8fbb3958742eb592985acc2)

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Ming Liu
78c0b21e3d image_types_wic: add do_image_wic before do_image_complete
We have some tasks depending on image's do_image_complete task, and we
are also using WKS files to generate partitioned images, but now there
is lacking a inter dependency between do_image_wic and
do_image_complete, so we have to depend on both of them.

Fixed by adding the dependency.

(From OE-Core rev: e3a25f06f2cde701415f4130a43c9b3895d42f10)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Ricardo Salveti
c42c908058 grub-efi: add grub target and image for aarch64
Add missing target and image for aarch64, as the current revision is
already fully compatible with ARMv8.

(From OE-Core rev: 43dc32aa00c87f62dcf9a857d4e32469ce27c9e9)

Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Niko Mauno
79dbefbf4a mtd-utils: Complement update-alternatives scope
Avoid collision of mtd-utils and mtd-utils-ubifs provided binaries
with identically named BusyBox provided applets in case packages
are installed to same rootfs, by adding relevant binaries to
update-alternatives scope

(From OE-Core rev: a9d8a8b27fc4bc6bdaa9133efd87430813a13212)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Chen Qi
2822c25757 linux-libc-headers: multilib_header asm/kvm_para.h and asm/bpf_perf_event.h
When building SDK via populate_sdk for qemuarm64 with multilib
enabled, we would have conflict about bits/floatn.h at populate_sdk
time.

  file /usr/include/asm/bpf_perf_event.h conflicts between attempted installs of lib32-linux-libc-headers-dev-4.15.7-r0.armv7vehf_vfp and linux-libc-headers-dev-4.15.7-r0.aarch64
  file /usr/include/asm/kvm_para.h conflicts between attempted installs of lib32-linux-libc-headers-dev-4.15.7-r0.armv7vehf_vfp and linux-libc-headers-dev-4.15.7-r0.aarch64

Apply oe_multilib_header on these header files to fix the problem.

(From OE-Core rev: 89b4e77129990b842e2ca917b98473ec58205e88)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Chen Qi
b69c185a67 glibc: use oe_multilib_header on bits/floatn.h
When building SDK via populate_sdk for qemuarm64 with multilib
enabled, we would have conflict about bits/floatn.h at populate_sdk
time.

  file /usr/include/bits/floatn.h conflicts between attempted ins
talls of libc6-dev-2.27-r0.aarch64 and lib32-libc6-dev-2.27-r0.armv7vehf_vfp

Apply oe_multilib_header on this header file to fix the problem.

(From OE-Core rev: 650c59c8b6796cf4797ca1860be85f6ccf50bcd2)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Niko Mauno
5097cf24f0 procps: Complement update-alternatives scope
Avoid collision of propcs provided w binary with BusyBox-provided
applet in case both are installed to same rootfs, by adding w to
update-alternatives scope via bindir_progs variable

(From OE-Core rev: de4206c6fd0c3be77d71958f532604b65a4dd5be)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Khem Raj
51394baea4 llvm: Fix [compile-host-path] QA issue
Its trying to build NATIVE llvm-config which is
already built with llvm-native so we do not need
to rebuild it

Drop setting NINJA_STATUS explicitly, its no longer
needed, on the contrary it hinders the task status
update

(From OE-Core rev: f8393b2b4bc5fbd972be00cb17d0c574ae8deff9)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Khem Raj
a68dd429c2 musl: Upgrade to latest
Changes are here

https://git.musl-libc.org/cgit/musl/log/?qt=range&q=55df09bfccbfe21fc9dd7d8f94550c0ff25ace04..618b18c78e33acfe54a4434e91aa57b8e171df89

(From OE-Core rev: f672f5bc61df914e2b4b3c1ae716e2bb1b6ae459)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Zhixiong Chi
aa5d47925a liburcu: fix multilib header conflict-urcu/config.h
(From OE-Core rev: 362787f252285658c86566db81758d4a3f55e67e)

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Zhixiong Chi
b79e1ffa8a npth: fix multilib header conflict-npth.h
(From OE-Core rev: 445644efd08f76762ec980999e9a6e91e4e88598)

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Koen Kooi
f03dccc7ec python 2.7: fix multilib patch to accept multiarch style paths
Using 'basename' to strip the prefix fails when using multiarch style paths.

(From OE-Core rev: c61c416a6504f7e8885df3c94c839d1031920a1c)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Koen Kooi
2c9c4a406a libcap: fix (base_)libdir usage
The recipe wants to install libs into base_libdir, but uses "basename $libdir" to derive that. That breaks in a multiarch setup. Use the proper variable and remove the inline python usage.

(From OE-Core rev: 6427bcae42fb9ec05ccfd5b63db6bc3ee2afcd4f)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Koen Kooi
ab8b5cbfd6 native bbclass: handle base_libdir as well
Native.bbclass needs to fixup both base_libdir and libdir to handle things like multiarch. This fixes wic and ext4.* image failures during do_rootfs where mkfs.ext4 can't find its libraries.

(From OE-Core rev: 464dad0dc93aeeedd34d90c2f06596060ec135fd)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Andrej Valek
776414fcf9 dropbear: update to 2018.76
- update dropbear to version 2018.76
- refresh and drop obsolete patches
- add option to use localoptions.h header file
- do not use harden stuff, which leads to QA warning

(From OE-Core rev: ec050b666ec3684918fd9dc564d2dce9a8d6a8ef)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Marek Vasut
6cc503ed80 u-boot: Upgrade to 2018.03 release
This upgrades the U-Boot from 2018.01 to 2018.03 release and drops
patches accepted upstream, getting the patch count to zero.

(From OE-Core rev: c1d680326cabd10d0940827e8dfdc884f67b1e9a)

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Ross Burton <ross.burton@intel.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Ross Burton
c5e230aba9 beecrypt: remove
This was only in oe-core for RPM5, but RPM4 doesn't use it.

(From OE-Core rev: fb8ca4225f3e26bfc46cf6c06d55df72684c47c6)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Denys Dmytriyenko
1b0340b3b8 weston: upgrade to 4.0.0
Official announcement:
https://lists.freedesktop.org/archives/wayland-devel/2018-April/037768.html

Dropped previously backported fix-missing-header.patch and
weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch

Refresh remaining local patches.

Modify 0001-weston-launch-Provide-a-default-version-that-doesn-t.patch with
changes to apply against the new code base.

Support for libunwind was dropped in bb707dc0fe331c9af112a0552b7aa6fde755dd83:
https://cgit.freedesktop.org/wayland/weston/commit/?id=bb707dc0fe331c9af112a0552b7aa6fde755dd83

Extract major version for referring to libweston-4 helper libraries.

(From OE-Core rev: 0cc82a9158f58a37865f3ccc56156c987706f735)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Denys Dmytriyenko
8097bf7012 wayland: upgrade to 1.15.0
Official announcement:
https://lists.freedesktop.org/archives/wayland-devel/2018-April/037767.html

| libwayland-egl is now part of libwayland, and will presumably be removed
| from mesa in the not too distant future.

Update mesa recipe by removing corresponding libwayland-egl entries.

(From OE-Core rev: 6e5952fcfc13ff4b63c9376bd41a1dbba957f425)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Ross Burton
45247cecfb meta: add missing Signed-off-by and Upstream-Status tags
(From OE-Core rev: 3dfdacb0323eba6e1b5f23deaf5e2e40b1f13dc3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Ross Burton
733056f7ba pixz: remove
Nothing in oe-core is using this now as xz can do multithreaded compression, so
remove it.

(From OE-Core rev: 0c705d112736c90f6a9051c435d430f6aeb4842a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Koen Kooi
3bcba3406c bind: fix openSSL detection when using multiarch
In multiarch /usr/include and /usr/lib/<tuple/ are not on the same level anymore. This change will pass a correct includedir, but a wrong libdir, but the linker picks it up anyway.

Tested on multiarch and regular build.

(From OE-Core rev: 9a02cd981eee8b1cd488373659a8a610962309e3)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Maxin B. John
2be3492a94 gtk-icon-utils-native: upgrade to version 3.22.29
3.22.28 -> 3.22.29

(From OE-Core rev: 4c7c3df74e787c1d880c23d7c72de9e1922d8079)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Maxin B. John
812bf587a9 puzzles: upgrade to latest commit
* Fix false-positive completion detection in X Solo.

(From OE-Core rev: a554bf0079489a4f929545af1af0258d74d11d45)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Maxin B. John
342f3c9ec2 gtk+3: upgrade to version 3.22.29
* Wayland
 - add an input method based on the text protocol

* File chooser
 - Stop activating without double-click

* Bugs fixed:
  710888 GtkInfoBar not shown after calling gtk_widget_show
  743975 Better deprecation information for GtkStatusIcon
  775546 gdkscreen-x11: Don't try to calculate a refresh rate for RandR 1.3
  794008 GtkListBoxRow signal poorly documented

(From OE-Core rev: e967f1b77bbcbdb5bca4ef86740496f0e4934fa1)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Maxin B. John
1d9c7f3c09 ruby: upgrade to version 2.5.1
License-Update: Checksum of LEGAL file updated for changes to
upstream URL and addition of Wayback Machine url

(From OE-Core rev: 98f889ca4a07c54165d3d983582639951b8ef32e)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Maxin B. John
9416cde4bc libsolv: upgrade to version 0.6.34
Bug fix release

(From OE-Core rev: fd5add4fdf777d6fcc89754a46cbc6a94d5eb3fc)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Maxin B. John
02492342ae bluez5: upgrade to version 5.49
Add PACKAGECONFIG for btpclient (BTP client for qualification testing)

(From OE-Core rev: d3c855b4afeb6bd98d64185e2fab3c1671b0c953)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Maxin B. John
85a4690f83 libatomic-ops: upgrade to version 7.6.4
* Add RISC-V support
* Convert atomic_ops_malloc.c and tests to valid C++ code
* Eliminate 'function is never used' cppcheck warning for
* load_before_cas
* Eliminate 'using argument that points at uninitialized var' cppcheck
* error
* Fix 'AO_pt_lock undefined' error if cross-compiling manually (MinGW)
* Fix public headers inclusion from clients C++ code
* Remove gcc/nios2.h file (include gcc/generic.h directly for nios2)
* Support MIPS rel6

(From OE-Core rev: 053a61ef23981e23c9ab25b7900787a842f304c3)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Alexander Kanavin
364b7ca6c6 gobject-introspection: update to 1.56.0
License-Update: bug tracker link changed

(From OE-Core rev: fbd485b2666cf0212064e2d8b55f44b84108e572)

(From OE-Core rev: c6986821692bb6dd3036075973b1390765dbc993)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Anuj Mittal
dabd0c0c11 atk: make sure that introspection is enabled
Fix the meson flags to make sure that introspection files are built
when it is enabled.

(From OE-Core rev: 31dfa9983e8793977936f52ec860b1476ec37e18)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Maxin B. John
a8eb3f6301 atk: upgrade to version 2.28.1
convert to meson build and provide flags for introspection and
documentation.

(From OE-Core rev: d06b0f899f840fb1a9b15584e6cf272a6f7f2562)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Richard Purdie
20421f2b4e libxcalibrate: Drop, no users anymore
xcalibrate was replaced with other xinput touchscreen protocols,
drop this remaining remnant.

(From OE-Core rev: a1cf2b40b5bf0ead10d3bff155467d4f559e1b73)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Armin Kuster
36166dbade libshmfence: update to 1.3
The extensions patch was merged upstream and is no longer needed.

(From OE-Core rev: 1e89528b259e784e2e8d526dc2e0357eccddfd1c)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:04 +01:00
Maxin B. John
5a683ef2b1 libevdev: upgrade to version 1.5.9
1.5.8 -> 1.5.9

(From OE-Core rev: 0ba37befba81ab0caea4f5d51289bb560ea59b8f)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Maxin B. John
a6646df0ca sqlite3: upgrade to version 3.23.0
3.22.0 -> 3.23.0

Includes optimizations and fixes for issues detected by OSSFuzz

(From OE-Core rev: b478af4cd9c1cb0cab35b0160f7df3f31ca7358b)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Maxin B. John
6752661043 libsoup-2.4: upgrade to version 2.62.0
2.60.3 -> 2.62.0

(From OE-Core rev: cf4cb9d788797411f555235148650c3a6645fd8c)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Maxin B. John
d0dc306752 libusb1: upgrade to version 1.0.22
1.0.21 -> 1.0.22

(From OE-Core rev: 1488b9e6c56ea46b5612352ab9dd16a1ee028f8c)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Maxin B. John
d661de4a3b vte: upgrade to version 0.52.0
Removed configuration option "--disable-test-application"
[unknown-configure-option]

(From OE-Core rev: 583a501aa4924ff3d754ff37c7fc739860dd1c8e)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Maxin B. John
7d9a875034 ofono: upgrade to version 1.23
1.22 -> 1.23

(From OE-Core rev: f131d2dd268fc84783d7729a9654c0d5ca4ab97c)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Maxin B. John
1244333aad at-spi2-atk: upgrade to version 2.26.2
1. convert to meson build
2. inherit gnomebase and associated cleanup
3. add libxml2 to DEPENDS list

(From OE-Core rev: 13b717f7cf05aa2f8b1bed27c5dc6ec91b9179e1)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Maxin B. John
4e380d7f4b at-spi2-core: upgrade to version 2.28.0
1. Convert to meson build
2. Remove the following patch made obsolete by moving to meson:
        0001-build-Add-with-systemduserunitdir.patch
3.  Provide meson flags for introspection and documentation

(From OE-Core rev: 0e1f4b0f0339fa5afd674c8f67dfe35f58cdf77e)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Maxin B. John
452894f557 adwaita-icon-theme: upgrade to version 3.28.0
Refresh the following patch:
        0001-Don-t-use-AC_CANONICAL_HOST.patch

(From OE-Core rev: 5954f4a078c179563f31ec237fccde146c04e0d0)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Hongxu Jia
76c840c584 libgpg-error: 1.27 -> 1.28
- Rebase pkgconfig.patch

- Fix regression on arm64 due to invalid use of va_list

License-Update: copyright years

(From OE-Core rev: 4a59b8a3d81ce6391da59f0aced763d0c16f73eb)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Armin Kuster
42885bbdb2 maintainers: update email address
(From OE-Core rev: 80972b50e32fcd5f62200b59df113f753f7143d2)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Armin Kuster
4ba923dbac xorg: Replace depreciated *proto depends with xorgproto
This completes the transition to xorgproto.

(From OE-Core rev: 9d236bd40ef8598c78c1ea807d658467700505e2)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Armin Kuster
e2b37c8661 xorgproto: Replace individual depreciated xorg proto recipes with xorgproto
Xorg upstream have replaced the individual xorg proto repositories with one
master repository. This converts to the new system.

The only one not included is calibrateproto which was depreciated entirely
and replaced be xinput. We can drop this entirely.

(From OE-Core rev: 460a2b27af8d023b27703b491331c8cbe7aad0ff)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Armin Kuster
b8895b625b xf86-video-vesa: update 2.4.0 update
(From OE-Core rev: 9f4fc40ee19c6555dac8c387272775d2722d4291)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Armin Kuster
b897b51924 libxcb: update to 1.13
patch 0001-include-stdint.h-for-SSIZE_MAX-and-SIZE_MAX-definiti.patch remove
as it is included in update

(From OE-Core rev: 486b85ced3d309978558cf01dece4f5c1982013e)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Armin Kuster
40a2c320f9 util-macros: update to 1.19.2
(From OE-Core rev: 182ac556bc924be3841f70a067f96237b2bb4514)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Armin Kuster
ac904673bf mkfontscale: update to 1.1.3
(From OE-Core rev: 900f3520b27cae5d7524094c0155e272836e2450)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Armin Kuster
5ec4ea91ae curl: update to 7.59.0
(From OE-Core rev: 4c1ed0a1a265add8d856a6d2c6f04562b975c180)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Armin Kuster
0971f7f164 xcb-proto: update to 1.13
drop patches included in update

(From OE-Core rev: f5341f043ed63db717c74677ff831fd5de7ce7ef)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Armin Kuster
ca0a426953 xset: update to 1.2.4
(From OE-Core rev: 4076dfd181ade68f78ca9e98cac10703bde4fdce)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Armin Kuster
7b3df7753a xeyes: update to 1.1.2
(From OE-Core rev: 1b6d051dbb7858f74890616633d76e22d6763a81)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Armin Kuster
ea5b9e9c8a gnutls: update to 3.6.2
(From OE-Core rev: 47249a21354f1cf44eb8e46db6e613cf4718bfab)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Armin Kuster
b64b3d4899 xwininfo: update to 1.1.4
(From OE-Core rev: 3a0911bef2264416060029f27d9737c840780aa4)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Armin Kuster
c842952861 xinit: update to 1.4.0
(From OE-Core rev: 8b2b91ab603199412c9e4f0b0bef4fd1f92ab89b)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:03 +01:00
Armin Kuster
e812522e68 xkbcomp: update to 1.4.1
(From OE-Core rev: c4f61e875861c3c993744979906ddab0e3258e55)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Armin Kuster
e9beafa20b xkeypboard-config: update to 2.23.1
(From OE-Core rev: a578659365a6410e4fe05a97c5c3b5dffba5cbed)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Armin Kuster
1cc7d4c688 xprop: update to 1.2.3
(From OE-Core rev: 12dd4f9c211101dcb05b61747d5592d1abadb2ed)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Armin Kuster
3f5488219e libpcre2: update to 10.31
LICENSE changed do to updating copyrige date

(From OE-Core rev: 20e589f0cdae0b062231891f8597c4d90110ceee)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
1ef125ded6 oeqa/runtime/cases/python: use python 3 rather than python 2
For example, core-image-sato skipped the test alltogether, as it
no longer pulls in Python 2.x at all.

(From OE-Core rev: 5ad0fe9ac6b6362011a17afaa7bee8e788093915)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
c292f9ebc5 libsecret: update to 0.18.6
(From OE-Core rev: e3e39e8b22d7b101c7e3d8f6ff6afc4d87af9bea)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
8b7b875807 libidn: update to 1.34
Drop backported 0001-idn-fix-printf-format-security-warnings.patch and
gcc7-compatibility.patch.

Refresh a couple other patches.

(From OE-Core rev: 04d879344e1f45d4d5212996bb1535a3f4ebc545)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
210f9c0ae0 btrfs-tools: update to 4.15.1
Drop upstreamed 0001-Fix-build-with-musl-missing-header-include-for-dev_t.patch

Add ftw-subdir-walk.patch as it resolves the RECIPE_NO_UPDATE_REASON.

Add --disable-zstd as libzstd isn't provided in oe-core.

Fix wic testcase, as the minimal fs size is now bigger.

(From OE-Core rev: 94b645aa77a4193371e8c77ddc477ec00d858961)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
cb448f161a meson: update to 0.45.1
(From OE-Core rev: 8b7e013da561838629a9f93d53dbf4d4415ee856)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
a6b11646a1 libaio: update to 0.3.111
Remove:
generic-arch-dectection-for-padding-defines.patch (was a backport)
libaio_fix_for_x32.patch (is patching source code that no longer exists)

Rebase:
00_arches.patch (drop the arm bits, as they no longer exist upstream either)

(From OE-Core rev: a3d27ff5763d331c4d6c8b815af5624103311544)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
57f065702e babeltrace: update to 1.5.5
(From OE-Core rev: c2d2763f42c38a892809c8c4cdf2d78efa8f07d3)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
0f9586023a icu: update to 61.1
License-Update: copyright years updated, added terms for Google double-conversion

(From OE-Core rev: b5797e80ccfa080bc1e57c5fb1f2f4a39d0266cf)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
f367f31e94 gtk-doc: update to 1.28
(From OE-Core rev: 22cc8b49e31a121ab48d3ebaae5d0ccfaa4053fa)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
531946c136 epiphany: update to 3.28.0.1
Rebase 0002-help-meson.build-disable-the-use-of-yelp.patch.

(From OE-Core rev: 35fb1c0d635bb714e6b46a102bc78e539d8cd3f1)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
75857ed35e gnome-desktop3: update to 3.28.0
Rebase 0001-Disable-libseccomp-sycall-filtering-mechanism.patch
Remove 0001-configure.ac-Remove-gnome-common-macro-calls.patch as
the lines it removes are no longer in upstream code.

(From OE-Core rev: 39c78dbc67acd3e5cc6a38d11a5a26e0a0c72d61)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
787e4e9502 gsettings-desktop-schemas: update to 3.28.0
(From OE-Core rev: 35a4aa5f24f1f8189c0cfdecde0bbc94ab7252ca)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
70b86ae68f webkitgtk: update to 2.20.0
Rebase patches, remove a couple of upstreamed patches.

Add an option to enable woff2 font library (not currently packaged by oe).

(From OE-Core rev: 182f096210d74d44dd452f2b3f09ec0c3c75f074)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
8cbbadd444 bash-completion: update to 2.8
(From OE-Core rev: e974ce6e4d3c54cde5b43c9056c649bb98ed69f5)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
56bf3a57c6 gobject-introspection: do not hardcode the current version in the tarball path
(From OE-Core rev: b55b55f097fdd153df96c489f7e172fb618c92cd)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
263370b4f7 vala: update to 0.40.2
(From OE-Core rev: 0c29f94d38fa24c72375599325b23c714102d02f)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
9162159219 sysprof: add RECIPE_NO_UPDATE_REASON
(From OE-Core rev: 334b833aa2039007543e25fa1df6926c70217214)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
cb8116f8f0 gcr: upgrade 3.20.0 -> 3.28.0
(From OE-Core rev: 2d360c5eaf73061fd113875be19e211a900310a8)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Alexander Kanavin
6261f8cac5 lighttpd: upgrade 1.4.48 -> 1.4.49
(From OE-Core rev: 741c3222a67f3910c185dc265326717a1f8f92d8)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Tim Orling
66baf90a88 libxml-sax-perl: upgrade 0.99 -> 1.00
Upstream release notes:
1.00  15 Feb 2018  Grant McLean
    - Add makefile dependency to fix order of build steps RT#62289 (patch from
      Ed J)

(From OE-Core rev: d11d124ed641aac9934433116e4b7a2b1806d79b)

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Yi Zhao
602c7d65bb logrotate: update to 3.14.0
Since the wtmp and btmp definitions had been moved from logrotate.conf
to logrotate.d in this release, we also need to install them to
/etc/logrotate.d/.

Also update oeqa runtime logrotate test case.

(From OE-Core rev: 5b4aedd6b18b6ba6ca1bcd460a0b51ced41656cd)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:02 +01:00
Brad Bishop
7a4684c381 autoconf-archive: update to version to 2018.03.13
2016.09.16 -> 2018.03.13

License-Update: s/http/https/ in the license requires md5sum update.

(From OE-Core rev: ac0bdebcc415f0ad448a41907d4e6a23f4855813)

Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Andrej Valek
18ddd22163 libpcre: 8.41 -> 8.42
License-Update: The checksum of LIC_FILES_CHKSUM has been changed due to
 time update of copyright LICENCE to 2018. The content of LICENCE has no
 change.

(From OE-Core rev: 7e3b2e462172a8fd457e50726b9cd167736d2347)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Changhyeok Bae
c2a7441ae1 ethtool: update 4.13 -> 4.15
(From OE-Core rev: 75ae2a49149da1b81476555af744a35c700af53e)

Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Changhyeok Bae
72f7e1d933 iproute2: update 4.14.1 -> 4.15.0
0001-iproute2-de-bash-scripts.patch is applied in upstream repo.

(From OE-Core rev: 59b1eba253d488c2a67ba8a98e937e92271efcc1)

Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Derek Straka
8341cf5a18 python*-setuptools: update to 39.0.1
Update the python{3}-setuptools to the latest stable version

Tested on the qemu with core-image-minimal

(From OE-Core rev: 43b3a293c34e8bfc047bd61a2b4ce3b3586f0d71)

Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Derek Straka
e7faba46cc python3-pip: update to version 9.0.3
Update to the latest stable version

(From OE-Core rev: 67db8d72389669cd854e46cbacb3e8b6dfc5a044)

Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Tim Orling
20c75dafb4 libxml-simple-perl: upgrade 2.24 -> 2.25
* Fix RDEPENDS

Upstream release notes:
2.25      2018-03-18 16:18:24+13:00 Pacific/Auckland
  - disable entity expansion when using XML::Parser, for more secure default
    behaviour (patch from Ray Morris)
  - call to XML::Parser constructor is now in its own method to ease overriding

License-Update: update year to 2018

(From OE-Core rev: d549289fa518a44274911d0959945196bbff930f)

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Yi Zhao
b1c503af65 libcap-ng: update to 0.7.9
Rebase python.patch.

(From OE-Core rev: f98f0e6d8096290fdcc5fc6fc3b15638fa56158f)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Yi Zhao
e5d1c61093 less: update to 530
(From OE-Core rev: 4229cdca14d5cd6b6ab3628c8e31aff5f1fe27a8)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Andrej Valek
ce8d120bfc libxml2: 2.9.7 -> 2.9.8
(From OE-Core rev: de24ead63802523daa19ce8528ac95d9e041eaf8)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Hongxu Jia
49e0838e1d ghostscript: 9.21 -> 9.23
1. Drop backported patches
- CVE-2017-7207.patch
- CVE-2017-5951.patch
- CVE-2017-7975.patch
- CVE-2017-9216.patch
- CVE-2017-9611.patch
- CVE-2017-9612.patch
- CVE-2017-9739.patch
- CVE-2017-9726.patch
- CVE-2017-9727.patch
- CVE-2017-9835.patch
- CVE-2017-11714.patch

2. Rebase to 9.23
- ghostscript-9.15-parallel-make.patch
- ghostscript-9.16-Werror-return-type.patch
- do-not-check-local-libpng-source.patch
- avoid-host-contamination.patch
- mkdir-p.patch
- ghostscript-9.21-prevent_recompiling.patch
- ghostscript-9.02-genarch.patch
- cups-no-gcrypt.patch
- ghostscript-9.21-native-fix-disable-system-libtiff.patch
- base-genht.c-add-a-preprocessor-define-to-allow-fope.patch

3. Add packps from (native to target) to support cross compiling.

4. Add remove-direct-symlink.patch to fix
   do_populate_sysroot failure

(From OE-Core rev: f8b4636472c6784fb78ca09a7dd7ebe53011f631)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Hongxu Jia
4b155ccd4b man-db: upgrade 2.8.1 -> 2.8.2
(From OE-Core rev: a1e5d85bd69e58a90253974882fdb70bed10c9c9)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Hongxu Jia
38f1d8b32c gnupg: upgrade 2.2.4 -> 2.2.5
(From OE-Core rev: 37b17c45e643171e3cfb9a4b1f84c6f0ee934a94)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Hongxu Jia
5e161f4266 bash: 4.4.12 -> 4.4.18
- Drop bash-memleak-bug-fix-for-builtin-command-read.patch which has
  been accepted since 4.4.17

(From OE-Core rev: ec6da604012b54769db3371a8ed9ac0be4c9d0e6)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Hongxu Jia
401413579f ncureses: 6.0+20171125 -> 6.1
1. Rebase 0001, 0002

2. Fix [already-stripped] QA Issue
Since the following commit add, it strip executables which
are installed by default.
...
commit 087eaf92c621098927f3f98e3652411de48f8b6b
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Sun Jan 21 08:01:41 2018 +0100

    Import upstream patch 20180120

    20180120
        + build-fix in picsmap.c for stdint.h existence.
        + add --disable-stripping option to configure scripts.
...

(From OE-Core rev: 09bc55eeb41a6e06438b35e5456c66198d549b92)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Denys Dmytriyenko
f6cb244907 lz4: upgrade 1.7.4 -> 1.8.1.2
0001-tests-Makefile-don-t-use-LIBDIR-as-variable.patch accepted upstream.

License-Update: rephrased clarification regarding lib/ vs. programs/, tests/ and examples/
97df1c9789

(From OE-Core rev: 633a2ac95b72c685031aa6c76943c2fb073e1921)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Denys Dmytriyenko
71826b40f2 hdparm: upgrade 9.53 -> 9.55
(From OE-Core rev: b4468008615256e6c2f47ef7a1fea6665c0cd1b2)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Denys Dmytriyenko
1f7283fd0f lzip: upgrade 1.19 -> 1.20
(From OE-Core rev: 64fea1fcd3bd5b63937874cd07498dee66ca3748)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Sarah Marsh
d845b9960b recipetool: fixed uncaught NameError exception
When packaging a node application, a `NameError` can be thrown in create_npm.py if an optional npm dependency does not
support Linux.

(From OE-Core rev: 8293201d98d368d6322eaa960fb3e7cee2ba9368)

Signed-off-by: Sarah Marsh <sarah.marsh@arm.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Kevin Carli
ea604b4dba tzdata: fix a typo.
(From OE-Core rev: 6e3ea2f17bcd9d942f838ba972338d92e95f65d4)

Signed-off-by: Kevin Carli <k.carli@overkiz.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Richard Purdie
f6689c1dae toolchain-scripts/meta-ide-support: Handle dash shells correctly
Where /bin/sh is dash, the recent toolchain scripts change fails as the $(pwd)
usage in oe-init-build-env doesn't function correctly. Fix this by saving
and restoring the cwd and calling the script within its own directory.

This fixes meta-ide-support on dash based systems.

(From OE-Core rev: dceca6d34071b4cbef9e28bbf19dc12f5d925525)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
Chin Huat Ang
00302da399 toolchain-scripts: preserve host path in environment setup script
The environment setup script generated in the build directory sets the PATH
variable by expanding ${PATH} which would have host paths filtered. Sourcing
this script to run runqemu will not work as it complains host stty (/bin/stty)
cannot be found.

To resolve this, the script no longer expands ${PATH} during generation time,
instead it will now source oe-init-build-env to initialize the build
environment so that all host paths will be preserved. Also be sure to prepend
STAGING_BINDIR_TOOLCHAIN to the PATH variable so that the toolchain from the
build directory can be found.

[YOCTO #12695]

(From OE-Core rev: a64a144096c0637387244b89ed22f4b5352b2522)

Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:01 +01:00
David Reyna
b6bc5b2840 bitbake: toaster: add 'Sumo' to release selection
Add Sumo (YP-2.5) to the release selection for new projects.

[YOCTO #12713]

(Bitbake rev: 76b17ffcea5c7275c2f9735a058256ba909b1a75)

Signed-off-by: David Reyna <david.reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-26 11:43:26 +01:00
1082 changed files with 21169 additions and 44939 deletions

View File

@@ -38,7 +38,7 @@ from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException
if sys.getfilesystemencoding() != "utf-8":
sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.")
__version__ = "1.38.0"
__version__ = "1.37.0"
if __name__ == "__main__":
if __version__ != bb.__version__:

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python3
# bitbake-diffsigs / bitbake-dumpsig
# BitBake task signature data dump and comparison utility
# bitbake-diffsigs
# BitBake task signature data comparison utility
#
# Copyright (C) 2012-2013, 2017 Intel Corporation
#
@@ -21,6 +21,7 @@
import os
import sys
import warnings
import fnmatch
import argparse
import logging
import pickle
@@ -31,10 +32,7 @@ import bb.tinfoil
import bb.siggen
import bb.msg
myname = os.path.basename(sys.argv[0])
logger = bb.msg.logger_create(myname)
is_dump = myname == 'bitbake-dumpsig'
logger = bb.msg.logger_create('bitbake-diffsigs')
def find_siginfo(tinfoil, pn, taskname, sigs=None):
result = None
@@ -61,8 +59,8 @@ def find_siginfo(tinfoil, pn, taskname, sigs=None):
sys.exit(2)
return result
def find_siginfo_task(bbhandler, pn, taskname, sig1=None, sig2=None):
""" Find the most recent signature files for the specified PN/task """
def find_compare_task(bbhandler, pn, taskname, sig1=None, sig2=None, color=False):
""" Find the most recent signature files for the specified PN/task and compare them """
if not taskname.startswith('do_'):
taskname = 'do_%s' % taskname
@@ -81,81 +79,73 @@ def find_siginfo_task(bbhandler, pn, taskname, sig1=None, sig2=None):
latestfiles = [sigfiles[sig1], sigfiles[sig2]]
else:
filedates = find_siginfo(bbhandler, pn, taskname)
latestfiles = sorted(filedates.keys(), key=lambda f: filedates[f])[-2:]
latestfiles = sorted(filedates.keys(), key=lambda f: filedates[f])[-3:]
if not latestfiles:
logger.error('No sigdata files found matching %s %s' % (pn, taskname))
sys.exit(1)
elif len(latestfiles) < 2:
logger.error('Only one matching sigdata file found for the specified task (%s %s)' % (pn, taskname))
sys.exit(1)
return latestfiles
# Define recursion callback
def recursecb(key, hash1, hash2):
hashes = [hash1, hash2]
hashfiles = find_siginfo(bbhandler, key, None, hashes)
recout = []
if len(hashfiles) == 0:
recout.append("Unable to find matching sigdata for %s with hashes %s or %s" % (key, hash1, hash2))
elif not hash1 in hashfiles:
recout.append("Unable to find matching sigdata for %s with hash %s" % (key, hash1))
elif not hash2 in hashfiles:
recout.append("Unable to find matching sigdata for %s with hash %s" % (key, hash2))
else:
out2 = bb.siggen.compare_sigfiles(hashfiles[hash1], hashfiles[hash2], recursecb, color=color)
for change in out2:
for line in change.splitlines():
recout.append(' ' + line)
# Define recursion callback
def recursecb(key, hash1, hash2):
hashes = [hash1, hash2]
hashfiles = find_siginfo(tinfoil, key, None, hashes)
return recout
recout = []
if len(hashfiles) == 0:
recout.append("Unable to find matching sigdata for %s with hashes %s or %s" % (key, hash1, hash2))
elif not hash1 in hashfiles:
recout.append("Unable to find matching sigdata for %s with hash %s" % (key, hash1))
elif not hash2 in hashfiles:
recout.append("Unable to find matching sigdata for %s with hash %s" % (key, hash2))
else:
out2 = bb.siggen.compare_sigfiles(hashfiles[hash1], hashfiles[hash2], recursecb, color=color)
for change in out2:
for line in change.splitlines():
recout.append(' ' + line)
# Recurse into signature comparison
logger.debug("Signature file (previous): %s" % latestfiles[-2])
logger.debug("Signature file (latest): %s" % latestfiles[-1])
output = bb.siggen.compare_sigfiles(latestfiles[-2], latestfiles[-1], recursecb, color=color)
if output:
print('\n'.join(output))
sys.exit(0)
return recout
parser = argparse.ArgumentParser(
description=("Dumps" if is_dump else "Compares") + " siginfo/sigdata files written out by BitBake")
description="Compares siginfo/sigdata files written out by BitBake")
parser.add_argument('-D', '--debug',
parser.add_argument('-d', '--debug',
help='Enable debug output',
action='store_true')
if is_dump:
parser.add_argument("-t", "--task",
help="find the signature data file for the last run of the specified task",
action="store", dest="taskargs", nargs=2, metavar=('recipename', 'taskname'))
parser.add_argument('--color',
help='Colorize output (where %(metavar)s is %(choices)s)',
choices=['auto', 'always', 'never'], default='auto', metavar='color')
parser.add_argument("sigdatafile1",
help="Signature file to dump. Not used when using -t/--task.",
action="store", nargs='?', metavar="sigdatafile")
else:
parser.add_argument('-c', '--color',
help='Colorize the output (where %(metavar)s is %(choices)s)',
choices=['auto', 'always', 'never'], default='auto', metavar='color')
parser.add_argument("-t", "--task",
help="find the signature data files for last two runs of the specified task and compare them",
action="store", dest="taskargs", nargs=2, metavar=('recipename', 'taskname'))
parser.add_argument('-d', '--dump',
help='Dump the last signature data instead of comparing (equivalent to using bitbake-dumpsig)',
action='store_true')
parser.add_argument("-s", "--signature",
help="With -t/--task, specify the signatures to look for instead of taking the last two",
action="store", dest="sigargs", nargs=2, metavar=('fromsig', 'tosig'))
parser.add_argument("-t", "--task",
help="find the signature data files for the last two runs of the specified task and compare them",
action="store", dest="taskargs", nargs=2, metavar=('recipename', 'taskname'))
parser.add_argument("sigdatafile1",
help="First signature file to compare (or signature file to dump, if second not specified). Not used when using -t/--task.",
action="store", nargs='?')
parser.add_argument("-s", "--signature",
help="With -t/--task, specify the signatures to look for instead of taking the last two",
action="store", dest="sigargs", nargs=2, metavar=('fromsig', 'tosig'))
parser.add_argument("sigdatafile2",
help="Second signature file to compare",
action="store", nargs='?')
parser.add_argument("sigdatafile1",
help="First signature file to compare (or signature file to dump, if second not specified). Not used when using -t/--task.",
action="store", nargs='?')
parser.add_argument("sigdatafile2",
help="Second signature file to compare",
action="store", nargs='?')
options = parser.parse_args()
if is_dump:
options.color = 'never'
options.dump = True
options.sigdatafile2 = None
options.sigargs = None
if options.debug:
logger.setLevel(logging.DEBUG)
@@ -165,32 +155,17 @@ color = (options.color == 'always' or (options.color == 'auto' and sys.stdout.is
if options.taskargs:
with bb.tinfoil.Tinfoil() as tinfoil:
tinfoil.prepare(config_only=True)
if not options.dump and options.sigargs:
files = find_siginfo_task(tinfoil, options.taskargs[0], options.taskargs[1], options.sigargs[0], options.sigargs[1])
if options.sigargs:
find_compare_task(tinfoil, options.taskargs[0], options.taskargs[1], options.sigargs[0], options.sigargs[1], color=color)
else:
files = find_siginfo_task(tinfoil, options.taskargs[0], options.taskargs[1])
if options.dump:
logger.debug("Signature file: %s" % files[-1])
output = bb.siggen.dump_sigfile(files[-1])
else:
if len(files) < 2:
logger.error('Only one matching sigdata file found for the specified task (%s %s)' % (options.taskargs[0], options.taskargs[1]))
sys.exit(1)
# Recurse into signature comparison
logger.debug("Signature file (previous): %s" % files[-2])
logger.debug("Signature file (latest): %s" % files[-1])
output = bb.siggen.compare_sigfiles(files[-2], files[-1], recursecb, color=color)
find_compare_task(tinfoil, options.taskargs[0], options.taskargs[1], color=color)
else:
if options.sigargs:
logger.error('-s/--signature can only be used together with -t/--task')
sys.exit(1)
try:
if not options.dump and options.sigdatafile1 and options.sigdatafile2:
with bb.tinfoil.Tinfoil() as tinfoil:
tinfoil.prepare(config_only=True)
output = bb.siggen.compare_sigfiles(options.sigdatafile1, options.sigdatafile2, recursecb, color=color)
if options.sigdatafile1 and options.sigdatafile2:
output = bb.siggen.compare_sigfiles(options.sigdatafile1, options.sigdatafile2, color=color)
elif options.sigdatafile1:
output = bb.siggen.dump_sigfile(options.sigdatafile1)
else:
@@ -204,5 +179,5 @@ else:
logger.error('Invalid signature data - ensure you are specifying sigdata/siginfo files')
sys.exit(1)
if output:
print('\n'.join(output))
if output:
print('\n'.join(output))

View File

@@ -1 +0,0 @@
bitbake-diffsigs

94
bitbake/bin/bitbake-dumpsig Executable file
View File

@@ -0,0 +1,94 @@
#!/usr/bin/env python3
# bitbake-dumpsig
# BitBake task signature dump utility
#
# Copyright (C) 2013 Intel Corporation
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import sys
import warnings
import optparse
import logging
import pickle
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
import bb.tinfoil
import bb.siggen
import bb.msg
logger = bb.msg.logger_create('bitbake-dumpsig')
def find_siginfo_task(bbhandler, pn, taskname):
""" Find the most recent signature file for the specified PN/task """
if not hasattr(bb.siggen, 'find_siginfo'):
logger.error('Metadata does not support finding signature data files')
sys.exit(1)
if not taskname.startswith('do_'):
taskname = 'do_%s' % taskname
filedates = bb.siggen.find_siginfo(pn, taskname, None, bbhandler.config_data)
latestfiles = sorted(filedates.keys(), key=lambda f: filedates[f])[-1:]
if not latestfiles:
logger.error('No sigdata files found matching %s %s' % (pn, taskname))
sys.exit(1)
return latestfiles[0]
parser = optparse.OptionParser(
description = "Dumps siginfo/sigdata files written out by BitBake",
usage = """
%prog -t recipename taskname
%prog sigdatafile""")
parser.add_option("-D", "--debug",
help = "enable debug",
action = "store_true", dest="debug", default = False)
parser.add_option("-t", "--task",
help = "find the signature data file for the specified task",
action="store", dest="taskargs", nargs=2, metavar='recipename taskname')
options, args = parser.parse_args(sys.argv)
if options.debug:
logger.setLevel(logging.DEBUG)
if options.taskargs:
tinfoil = bb.tinfoil.Tinfoil()
tinfoil.prepare(config_only = True)
file = find_siginfo_task(tinfoil, options.taskargs[0], options.taskargs[1])
logger.debug("Signature file: %s" % file)
elif len(args) == 1:
parser.print_help()
sys.exit(0)
else:
file = args[1]
try:
output = bb.siggen.dump_sigfile(file)
except IOError as e:
logger.error(str(e))
sys.exit(1)
except (pickle.UnpicklingError, EOFError):
logger.error('Invalid signature data - ensure you are specifying a sigdata/siginfo file')
sys.exit(1)
if output:
print('\n'.join(output))

View File

@@ -192,6 +192,9 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, append
global worker_pipe_lock
pipein.close()
signal.signal(signal.SIGTERM, sigterm_handler)
# Let SIGHUP exit as SIGTERM
signal.signal(signal.SIGHUP, sigterm_handler)
bb.utils.signal_on_parent_exit("SIGTERM")
# Save out the PID so that the event can include it the
@@ -206,11 +209,6 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, append
# This ensures signals sent to the controlling terminal like Ctrl+C
# don't stop the child processes.
os.setsid()
signal.signal(signal.SIGTERM, sigterm_handler)
# Let SIGHUP exit as SIGTERM
signal.signal(signal.SIGHUP, sigterm_handler)
# No stdin
newsi = os.open(os.devnull, os.O_RDWR)
os.dup2(newsi, sys.stdin.fileno())

View File

@@ -18,12 +18,11 @@
# along with this program. If not, see http://www.gnu.org/licenses/.
HELP="
Usage: source toaster start|stop [webport=<address:port>] [noweb] [nobuild] [toasterdir]
Usage: source toaster start|stop [webport=<address:port>] [noweb] [nobuild]
Optional arguments:
[nobuild] Setup the environment for capturing builds with toaster but disable managed builds
[noweb] Setup the environment for capturing builds with toaster but don't start the web server
[webport] Set the development server (default: localhost:8000)
[toasterdir] Set absolute path to be used as TOASTER_DIR (default: BUILDDIR/../)
"
custom_extention()
@@ -161,9 +160,7 @@ fi
export BBBASEDIR=`dirname $TOASTER`/..
MANAGE="python3 $BBBASEDIR/lib/toaster/manage.py"
if [ -z "$OE_ROOT" ]; then
OE_ROOT=`dirname $TOASTER`/../..
fi
OE_ROOT=`dirname $TOASTER`/../..
# this is the configuraton file we are using for toaster
# we are using the same logic that oe-setup-builddir uses
@@ -189,7 +186,6 @@ unset OE_ROOT
WEBSERVER=1
export TOASTER_BUILDSERVER=1
ADDR_PORT="localhost:8000"
TOASTERDIR=`dirname $BUILDDIR`
unset CMD
for param in $*; do
case $param in
@@ -215,9 +211,6 @@ for param in $*; do
ADDR_PORT="localhost:$PORT"
fi
;;
toasterdir=*)
TOASTERDIR="${param#*=}"
;;
--help)
echo "$HELP"
return 0
@@ -248,7 +241,7 @@ fi
# 2) the build dir (in build)
# 3) the sqlite db if that is being used.
# 4) pid's we need to clean up on exit/shutdown
export TOASTER_DIR=$TOASTERDIR
export TOASTER_DIR=`dirname $BUILDDIR`
export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE TOASTER_DIR"
# Determine the action. If specified by arguments, fine, if not, toggle it

View File

@@ -588,14 +588,6 @@
The name of the path in which to place the checkout.
By default, the path is <filename>git/</filename>.
</para></listitem>
<listitem><para><emphasis>"usehead":</emphasis>
Enables local <filename>git://</filename> URLs to use the
current branch HEAD as the revision for use with
<filename>AUTOREV</filename>.
The "usehead" parameter implies no branch and only works
when the transfer protocol is
<filename>file://</filename>.
</para></listitem>
</itemizedlist>
Here are some example URLs:
<literallayout class='monospaced'>

View File

@@ -502,7 +502,7 @@
</section>
<section id='unsetting-variables'>
<title>Unsetting variables</title>
<title>Unseting variables</title>
<para>
It is possible to completely remove a variable or a variable flag

View File

@@ -56,7 +56,7 @@
-->
<copyright>
<year>2004-2018</year>
<year>2004-2017</year>
<holder>Richard Purdie</holder>
<holder>Chris Larson</holder>
<holder>and Phil Blundell</holder>

View File

@@ -150,7 +150,7 @@ class COWDictMeta(COWMeta):
yield value
if type == "items":
yield (key, value)
return
raise StopIteration()
def iterkeys(cls):
return cls.iter("keys")

View File

@@ -21,7 +21,7 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
__version__ = "1.38.0"
__version__ = "1.37.0"
import sys
if sys.version_info < (3, 4, 0):

View File

@@ -97,8 +97,6 @@ class FileChecksumCache(MultiProcessCache):
def checksum_dir(pth):
# Handle directories recursively
if pth == "/":
bb.fatal("Refusing to checksum /")
dirchecksums = []
for root, dirs, files in os.walk(pth):
for name in files:

View File

@@ -175,31 +175,18 @@ class BBCooker:
self.configuration = configuration
bb.debug(1, "BBCooker starting %s" % time.time())
sys.stdout.flush()
self.configwatcher = pyinotify.WatchManager()
bb.debug(1, "BBCooker pyinotify1 %s" % time.time())
sys.stdout.flush()
self.configwatcher.bbseen = []
self.configwatcher.bbwatchedfiles = []
self.confignotifier = pyinotify.Notifier(self.configwatcher, self.config_notifications)
bb.debug(1, "BBCooker pyinotify2 %s" % time.time())
sys.stdout.flush()
self.watchmask = pyinotify.IN_CLOSE_WRITE | pyinotify.IN_CREATE | pyinotify.IN_DELETE | \
pyinotify.IN_DELETE_SELF | pyinotify.IN_MODIFY | pyinotify.IN_MOVE_SELF | \
pyinotify.IN_MOVED_FROM | pyinotify.IN_MOVED_TO
self.watcher = pyinotify.WatchManager()
bb.debug(1, "BBCooker pyinotify3 %s" % time.time())
sys.stdout.flush()
self.watcher.bbseen = []
self.watcher.bbwatchedfiles = []
self.notifier = pyinotify.Notifier(self.watcher, self.notifications)
bb.debug(1, "BBCooker pyinotify complete %s" % time.time())
sys.stdout.flush()
# If being called by something like tinfoil, we need to clean cached data
# which may now be invalid
bb.parse.clear_cache()
@@ -209,9 +196,6 @@ class BBCooker:
self.initConfigurationData()
bb.debug(1, "BBCooker parsed base configuration %s" % time.time())
sys.stdout.flush()
# we log all events to a file if so directed
if self.configuration.writeeventlog:
# register the log file writer as UI Handler
@@ -249,9 +233,6 @@ class BBCooker:
# Let SIGHUP exit as SIGTERM
signal.signal(signal.SIGHUP, self.sigterm_exception)
bb.debug(1, "BBCooker startup complete %s" % time.time())
sys.stdout.flush()
def process_inotify_updates(self):
for n in [self.confignotifier, self.notifier]:
if n.check_events(timeout=0):

View File

@@ -1457,7 +1457,7 @@ class FetchMethod(object):
else:
cmd = 'rpm2cpio.sh %s | cpio -id' % (file)
elif file.endswith('.deb') or file.endswith('.ipk'):
output = subprocess.check_output(['ar', '-t', file], preexec_fn=subprocess_setup)
output = subprocess.check_output('ar -t %s' % file, preexec_fn=subprocess_setup, shell=True)
datafile = None
if output:
for line in output.decode().splitlines():

View File

@@ -69,6 +69,7 @@ from bb.fetch2 import FetchMethod
from bb.fetch2 import FetchError
from bb.fetch2 import runfetchcmd
from bb.fetch2 import logger
from distutils import spawn
class ClearCase(FetchMethod):
"""Class to fetch urls via 'clearcase'"""
@@ -106,7 +107,7 @@ class ClearCase(FetchMethod):
else:
ud.module = ""
ud.basecmd = d.getVar("FETCHCMD_ccrc") or "/usr/bin/env cleartool || rcleartool"
ud.basecmd = d.getVar("FETCHCMD_ccrc") or spawn.find_executable("cleartool") or spawn.find_executable("rcleartool")
if d.getVar("SRCREV") == "INVALID":
raise FetchError("Set a valid SRCREV for the clearcase fetcher in your recipe, e.g. SRCREV = \"/main/LATEST\" or any other label of your choice.")

View File

@@ -354,12 +354,13 @@ class Git(FetchMethod):
if not self._contains_ref(ud, d, name, ud.clonedir):
needupdate = True
if needupdate:
output = runfetchcmd("%s remote" % ud.basecmd, d, quiet=True, workdir=ud.clonedir)
if "origin" in output:
runfetchcmd("%s remote rm origin" % ud.basecmd, d, workdir=ud.clonedir)
try:
runfetchcmd("%s remote rm origin" % ud.basecmd, d, workdir=ud.clonedir)
except bb.fetch2.FetchError:
logger.debug(1, "No Origin")
runfetchcmd("%s remote add --mirror=fetch origin %s" % (ud.basecmd, repourl), d, workdir=ud.clonedir)
fetch_cmd = "LANG=C %s fetch -f --progress %s refs/*:refs/*" % (ud.basecmd, repourl)
fetch_cmd = "LANG=C %s fetch -f --prune --progress %s refs/*:refs/*" % (ud.basecmd, repourl)
if ud.proto.lower() != 'file':
bb.fetch2.check_network_access(d, fetch_cmd, ud.url)
progresshandler = GitProgressHandler(d)

View File

@@ -32,6 +32,7 @@ from bb.fetch2 import runfetchcmd
from bb.fetch2 import logger
from bb.fetch2 import UnpackError
from bb.fetch2 import ParameterError
from distutils import spawn
def subprocess_setup():
# Python installs a SIGPIPE handler by default. This is usually not what

View File

@@ -405,6 +405,9 @@ def setup_bitbake(configParams, configuration, extrafeatures=None):
# In status only mode there are no logs and no UI
logger.addHandler(handler)
# Clear away any spurious environment variables while we stoke up the cooker
cleanedvars = bb.utils.clean_environment()
if configParams.server_only:
featureset = []
ui_module = None
@@ -420,10 +423,6 @@ def setup_bitbake(configParams, configuration, extrafeatures=None):
server_connection = None
# Clear away any spurious environment variables while we stoke up the cooker
# (done after import_extension_module() above since for example import gi triggers env var usage)
cleanedvars = bb.utils.clean_environment()
if configParams.remote_server:
# Connect to a remote XMLRPC server
server_connection = bb.server.xmlrpcclient.connectXMLRPC(configParams.remote_server, featureset,
@@ -448,7 +447,7 @@ def setup_bitbake(configParams, configuration, extrafeatures=None):
else:
logger.info("Reconnecting to bitbake server...")
if not os.path.exists(sockname):
logger.info("Previous bitbake instance shutting down?, waiting to retry...")
print("Previous bitbake instance shutting down?, waiting to retry...")
i = 0
lock = None
# Wait for 5s or until we can get the lock

View File

@@ -1371,12 +1371,6 @@ class RunQueue:
bb.event.fire(bb.event.DepTreeGenerated(depgraph), self.cooker.data)
if self.state is runQueueSceneInit:
if not self.dm_event_handler_registered:
res = bb.event.register(self.dm_event_handler_name,
lambda x: self.dm.check(self) if self.state in [runQueueSceneRun, runQueueRunning, runQueueCleanUp] else False,
('bb.event.HeartbeatEvent',))
self.dm_event_handler_registered = True
dump = self.cooker.configuration.dump_signatures
if dump:
self.rqdata.init_progress_reporter.finish()
@@ -1393,6 +1387,11 @@ class RunQueue:
self.rqexe = RunQueueExecuteScenequeue(self)
if self.state is runQueueSceneRun:
if not self.dm_event_handler_registered:
res = bb.event.register(self.dm_event_handler_name,
lambda x: self.dm.check(self) if self.state in [runQueueSceneRun, runQueueRunning, runQueueCleanUp] else False,
('bb.event.HeartbeatEvent',))
self.dm_event_handler_registered = True
retval = self.rqexe.execute()
if self.state is runQueueRunInit:

View File

@@ -130,7 +130,6 @@ class ProcessServer(multiprocessing.Process):
bb.utils.set_process_name("Cooker")
ready = []
newconnections = []
self.controllersock = False
fds = [self.sock]
@@ -139,48 +138,37 @@ class ProcessServer(multiprocessing.Process):
print("Entering server connection loop")
def disconnect_client(self, fds):
if not self.haveui:
return
print("Disconnecting Client")
if self.controllersock:
fds.remove(self.controllersock)
self.controllersock.close()
self.controllersock = False
if self.haveui:
fds.remove(self.command_channel)
bb.event.unregister_UIHhandler(self.event_handle, True)
self.command_channel_reply.writer.close()
self.event_writer.writer.close()
self.command_channel.close()
self.command_channel = False
del self.event_writer
self.lastui = time.time()
self.cooker.clientComplete()
self.haveui = False
ready = select.select(fds,[],[],0)[0]
if newconnections:
print("Starting new client")
conn = newconnections.pop(-1)
fds.append(conn)
self.controllersock = conn
elif self.timeout is None and not ready:
fds.remove(self.controllersock)
fds.remove(self.command_channel)
bb.event.unregister_UIHhandler(self.event_handle, True)
self.command_channel_reply.writer.close()
self.event_writer.writer.close()
del self.event_writer
self.controllersock.close()
self.controllersock = False
self.haveui = False
self.lastui = time.time()
self.cooker.clientComplete()
if self.timeout is None:
print("No timeout, exiting.")
self.quit = True
while not self.quit:
if self.sock in ready:
while select.select([self.sock],[],[],0)[0]:
controllersock, address = self.sock.accept()
if self.controllersock:
print("Queuing %s (%s)" % (str(ready), str(newconnections)))
newconnections.append(controllersock)
else:
print("Accepting %s (%s)" % (str(ready), str(newconnections)))
self.controllersock = controllersock
fds.append(controllersock)
self.controllersock, address = self.sock.accept()
if self.haveui:
print("Dropping connection attempt as we have a UI %s" % (str(ready)))
self.controllersock.close()
else:
print("Accepting %s" % (str(ready)))
fds.append(self.controllersock)
if self.controllersock in ready:
try:
print("Processing Client")
ui_fds = recvfds(self.controllersock, 3)
print("Connecting Client")
ui_fds = recvfds(self.controllersock, 3)
# Where to write events to
writer = ConnectionWriter(ui_fds[0])
@@ -251,12 +239,6 @@ class ProcessServer(multiprocessing.Process):
while not lock:
with bb.utils.timeout(3):
lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True)
if lock:
# We hold the lock so we can remove the file (hide stale pid data)
bb.utils.remove(lockfile)
bb.utils.unlockfile(lock)
return
if not lock:
# Some systems may not have lsof available
procs = None
@@ -277,6 +259,10 @@ class ProcessServer(multiprocessing.Process):
if procs:
msg += ":\n%s" % str(procs)
print(msg)
return
# We hold the lock so we can remove the file (hide stale pid data)
bb.utils.remove(lockfile)
bb.utils.unlockfile(lock)
def idle_commands(self, delay, fds=None):
nextsleep = delay
@@ -410,10 +396,7 @@ class BitBakeServer(object):
self.bitbake_lock.close()
ready = ConnectionReader(self.readypipe)
r = ready.poll(5)
if not r:
bb.note("Bitbake server didn't start within 5 seconds, waiting for 90")
r = ready.poll(90)
r = ready.poll(30)
if r:
r = ready.get()
if not r or r != "ready":
@@ -423,40 +406,28 @@ class BitBakeServer(object):
logstart_re = re.compile(self.start_log_format % ('([0-9]+)', '([0-9-]+ [0-9:.]+)'))
started = False
lines = []
lastlines = []
with open(logfile, "r") as f:
for line in f:
if started:
lines.append(line)
else:
lastlines.append(line)
res = logstart_re.match(line.rstrip())
if res:
ldatetime = datetime.datetime.strptime(res.group(2), self.start_log_datetime_format)
if ldatetime >= startdatetime:
started = True
lines.append(line)
if len(lastlines) > 60:
lastlines = lastlines[-60:]
if lines:
if len(lines) > 60:
bb.error("Last 60 lines of server log for this session (%s):\n%s" % (logfile, "".join(lines[-60:])))
if len(lines) > 10:
bb.error("Last 10 lines of server log for this session (%s):\n%s" % (logfile, "".join(lines[-10:])))
else:
bb.error("Server log for this session (%s):\n%s" % (logfile, "".join(lines)))
elif lastlines:
bb.error("Server didn't start, last 60 loglines (%s):\n%s" % (logfile, "".join(lastlines)))
else:
bb.error("%s doesn't exist" % logfile)
raise SystemExit(1)
ready.close()
os.close(self.readypipein)
def _startServer(self):
print(self.start_log_format % (os.getpid(), datetime.datetime.now().strftime(self.start_log_datetime_format)))
sys.stdout.flush()
server = ProcessServer(self.bitbake_lock, self.sock, self.sockname)
self.configuration.setServerRegIdleCallback(server.register_idle_function)
writer = ConnectionWriter(self.readypipein)
@@ -472,8 +443,6 @@ class BitBakeServer(object):
server.server_timeout = self.configuration.server_timeout
server.xmlrpcinterface = self.configuration.xmlrpcinterface
print("Started bitbake server pid %d" % os.getpid())
sys.stdout.flush()
server.start()
def connectProcessServer(sockname, featureset):
@@ -482,24 +451,16 @@ def connectProcessServer(sockname, featureset):
# AF_UNIX has path length issues so chdir here to workaround
cwd = os.getcwd()
try:
os.chdir(os.path.dirname(sockname))
sock.connect(os.path.basename(sockname))
finally:
os.chdir(cwd)
readfd = writefd = readfd1 = writefd1 = readfd2 = writefd2 = None
eq = command_chan_recv = command_chan = None
sock.settimeout(10)
try:
try:
os.chdir(os.path.dirname(sockname))
finished = False
while not finished:
try:
sock.connect(os.path.basename(sockname))
finished = True
except IOError as e:
if e.errno == errno.EWOULDBLOCK:
pass
finally:
os.chdir(cwd)
# Send an fd for the remote to write events to
readfd, writefd = os.pipe()
@@ -528,8 +489,7 @@ def connectProcessServer(sockname, featureset):
command_chan.close()
for i in [writefd, readfd1, writefd2]:
try:
if i:
os.close(i)
os.close(i)
except OSError:
pass
sock.close()

View File

@@ -861,12 +861,12 @@ class FetchLatestVersionTest(FetcherTest):
("dtc", "git://git.qemu.org/dtc.git", "65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf", "")
: "1.4.0",
# combination version pattern
("sysprof", "git://gitlab.gnome.org/GNOME/sysprof;protocol=https", "cd44ee6644c3641507fb53b8a2a69137f2971219", "")
("sysprof", "git://git.gnome.org/sysprof", "cd44ee6644c3641507fb53b8a2a69137f2971219", "")
: "1.2.0",
("u-boot-mkimage", "git://git.denx.de/u-boot.git;branch=master;protocol=git", "62c175fbb8a0f9a926c88294ea9f7e88eb898f6c", "")
: "2014.01",
# version pattern "yyyymmdd"
("mobile-broadband-provider-info", "git://gitlab.gnome.org/GNOME/mobile-broadband-provider-info;protocol=https", "4ed19e11c2975105b71b956440acdb25d46a347d", "")
("mobile-broadband-provider-info", "git://git.gnome.org/mobile-broadband-provider-info", "4ed19e11c2975105b71b956440acdb25d46a347d", "")
: "20120614",
# packages with a valid UPSTREAM_CHECK_GITTAGREGEX
("xf86-video-omap", "git://anongit.freedesktop.org/xorg/driver/xf86-video-omap", "ae0394e687f1a77e966cf72f895da91840dffb8f", "(?P<pver>(\d+\.(\d\.?)*))")
@@ -900,8 +900,8 @@ class FetchLatestVersionTest(FetcherTest):
# packages with valid UPSTREAM_CHECK_URI and UPSTREAM_CHECK_REGEX
("cups", "http://www.cups.org/software/1.7.2/cups-1.7.2-source.tar.bz2", "https://github.com/apple/cups/releases", "(?P<name>cups\-)(?P<pver>((\d+[\.\-_]*)+))\-source\.tar\.gz")
: "2.0.0",
("db", "http://download.oracle.com/berkeley-db/db-5.3.21.tar.gz", "http://ftp.debian.org/debian/pool/main/d/db5.3/", "(?P<name>db5\.3_)(?P<pver>\d+(\.\d+)+).+\.orig\.tar\.xz")
: "5.3.10",
("db", "http://download.oracle.com/berkeley-db/db-5.3.21.tar.gz", "http://www.oracle.com/technetwork/products/berkeleydb/downloads/index-082944.html", "http://download.oracle.com/otn/berkeley-db/(?P<name>db-)(?P<pver>((\d+[\.\-_]*)+))\.tar\.gz")
: "6.1.19",
}
@skipIfNoNetwork()

View File

@@ -524,17 +524,12 @@ def md5_file(filename):
"""
Return the hex string representation of the MD5 checksum of filename.
"""
import hashlib, mmap
import hashlib
m = hashlib.md5()
with open(filename, "rb") as f:
m = hashlib.md5()
try:
with mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) as mm:
for chunk in iter(lambda: mm.read(8192), b''):
m.update(chunk)
except ValueError:
# You can't mmap() an empty file so silence this exception
pass
for line in f:
m.update(line)
return m.hexdigest()
def sha256_file(filename):
@@ -1290,7 +1285,7 @@ def edit_metadata_file(meta_file, variables, varfunc):
return updated
def edit_bblayers_conf(bblayers_conf, add, remove, edit_cb=None):
def edit_bblayers_conf(bblayers_conf, add, remove):
"""Edit bblayers.conf, adding and/or removing layers
Parameters:
bblayers_conf: path to bblayers.conf file to edit
@@ -1298,8 +1293,6 @@ def edit_bblayers_conf(bblayers_conf, add, remove, edit_cb=None):
list to add nothing
remove: layer path (or list of layer paths) to remove; None or
empty list to remove nothing
edit_cb: optional callback function that will be called after
processing adds/removes once per existing entry.
Returns a tuple:
notadded: list of layers specified to be added but weren't
(because they were already in the list)
@@ -1363,17 +1356,6 @@ def edit_bblayers_conf(bblayers_conf, add, remove, edit_cb=None):
bblayers.append(addlayer)
del addlayers[:]
if edit_cb:
newlist = []
for layer in bblayers:
res = edit_cb(layer, canonicalise_path(layer))
if res != layer:
newlist.append(res)
updated = True
else:
newlist.append(layer)
bblayers = newlist
if updated:
if op == '+=' and not bblayers:
bblayers = None

View File

@@ -133,7 +133,7 @@ class LayerIndexPlugin(ActionPlugin):
layerdir = os.path.join(repodir, subdir)
if not os.path.exists(repodir):
if fetch_layer:
result = subprocess.call(['git', 'clone', url, repodir])
result = subprocess.call('git clone %s %s' % (url, repodir), shell = True)
if result:
logger.error("Failed to download %s" % url)
return None, None

View File

@@ -217,21 +217,9 @@ class LocalhostBEController(BuildEnvironmentController):
self.setCloneStatus(bitbake,'complete',clone_total,clone_count)
logger.debug("localhostbecontroller: current layer list %s " % pformat(layerlist))
# Resolve self.pokydirname if not resolved yet, consider the scenario
# where all layers are local, that's the else clause
if self.pokydirname is None:
if os.path.exists(os.path.join(self.be.sourcedir, "oe-init-build-env")):
logger.debug("localhostbecontroller: selected poky dir name %s" % self.be.sourcedir)
self.pokydirname = self.be.sourcedir
else:
# Alternatively, scan local layers for relative "oe-init-build-env" location
for layer in layers:
if os.path.exists(os.path.join(layer.layer_version.layer.local_source_dir,"..","oe-init-build-env")):
logger.debug("localhostbecontroller, setting pokydirname to %s" % (layer.layer_version.layer.local_source_dir))
self.pokydirname = os.path.join(layer.layer_version.layer.local_source_dir,"..")
break
else:
logger.error("pokydirname is not set, you will run into trouble!")
if self.pokydirname is None and os.path.exists(os.path.join(self.be.sourcedir, "oe-init-build-env")):
logger.debug("localhostbecontroller: selected poky dir name %s" % self.be.sourcedir)
self.pokydirname = self.be.sourcedir
# 5. create custom layer and add custom recipes to it
for target in targets:
@@ -351,21 +339,8 @@ class LocalhostBEController(BuildEnvironmentController):
# clean the Toaster to build environment
env_clean = 'unset BBPATH;' # clean BBPATH for <= YP-2.4.0
# run bitbake server from the clone if available
# otherwise pick it from the PATH
bitbake = os.path.join(self.pokydirname, 'bitbake', 'bin', 'bitbake')
if not os.path.exists(bitbake):
logger.info("Bitbake not available under %s, will try to use it from PATH" %
self.pokydirname)
for path in os.environ["PATH"].split(os.pathsep):
if os.path.exists(os.path.join(path, 'bitbake')):
bitbake = os.path.join(path, 'bitbake')
logger.info("Found Bitbake at: %s" % path)
break
else:
logger.error("Looks like Bitbake is not available, please fix your environment")
# run bitbake server from the clone
bitbake = os.path.join(self.pokydirname, 'bitbake', 'bin', 'bitbake')
toasterlayers = os.path.join(builddir,"conf/toaster-bblayers.conf")
self._shellcmd('%s bash -c \"source %s %s; BITBAKE_UI="knotty" %s --read %s --read %s '
'--server-only -B 0.0.0.0:0\"' % (env_clean, oe_init,

View File

@@ -74,9 +74,8 @@ class Command(BaseCommand):
print("Loading default settings")
call_command("loaddata", "settings")
template_conf = os.environ.get("TEMPLATECONF", "")
custom_xml_only = os.environ.get("CUSTOM_XML_ONLY")
if ToasterSetting.objects.filter(name='CUSTOM_XML_ONLY').count() > 0 or (not custom_xml_only == None):
if ToasterSetting.objects.filter(name='CUSTOM_XML_ONLY').count() > 0:
# only use the custom settings
pass
elif "poky" in template_conf:

View File

@@ -1663,9 +1663,6 @@ class CustomImageRecipe(Recipe):
path_schema_two = self.base_recipe.file_path
path_schema_three = "%s/%s" % (self.base_recipe.layer_version.layer.local_source_dir,
self.base_recipe.file_path)
if os.path.exists(path_schema_one):
return path_schema_one
@@ -1673,10 +1670,6 @@ class CustomImageRecipe(Recipe):
if os.path.exists(path_schema_two):
return path_schema_two
# Or a local path if all layers are local
if os.path.exists(path_schema_three):
return path_schema_three
return None
def generate_recipe_file_contents(self):

View File

@@ -359,8 +359,7 @@ function layerDetailsPageInit (ctx) {
if ($(this).is("dt")) {
var dd = $(this).next("dd");
if (!dd.children("form:visible")|| !dd.find(".current-value").html()){
if (ctx.layerVersion.layer_source == ctx.layerSourceTypes.TYPE_IMPORTED ||
ctx.layerVersion.layer_source == ctx.layerSourceTypes.TYPE_LOCAL) {
if (ctx.layerVersion.layer_source == ctx.layerSourceTypes.TYPE_IMPORTED){
/* There's no current value and the layer is editable
* so show the "Not set" and hide the delete icon
*/

View File

@@ -54,12 +54,12 @@
<span class="help-block">{{release.helptext|safe}}</span>
</div>
{% endfor %}
</div>
</div>
{% else %}
<input type="hidden" name="projectversion" value="{{releases.0.id}}"/>
{% endif %}
</div>
</div>
</fieldset>
{% endif %}
<div class="top-air">
<input type="submit" id="create-project-button" class="btn btn-primary btn-lg" value="Create project"/>

View File

@@ -176,7 +176,7 @@
<td>{{task.get_executed_display}}</td>
<td>{{task.get_outcome_display}}
{% if task.outcome == task.OUTCOME_FAILED %}
{% if task.outcome = task.OUTCOME_FAILED %}
<a href="{% url 'build_artifact' build.pk "tasklogfile" task.pk %}">
<span class="glyphicon glyphicon-download-alt
get-help" title="Download task log

View File

@@ -511,18 +511,13 @@ class MostRecentBuildsView(View):
buildrequest_id = build_obj.buildrequest.pk
build['buildrequest_id'] = buildrequest_id
if build_obj.recipes_to_parse > 0:
build['recipes_parsed_percentage'] = \
int((build_obj.recipes_parsed /
build_obj.recipes_to_parse) * 100)
else:
build['recipes_parsed_percentage'] = 0
if build_obj.repos_to_clone > 0:
build['repos_cloned_percentage'] = \
int((build_obj.repos_cloned /
build_obj.repos_to_clone) * 100)
else:
build['repos_cloned_percentage'] = 0
build['recipes_parsed_percentage'] = \
int((build_obj.recipes_parsed /
build_obj.recipes_to_parse) * 100)
build['repos_cloned_percentage'] = \
int((build_obj.repos_cloned /
build_obj.repos_to_clone) * 100)
tasks_complete_percentage = 0
if build_obj.outcome in (Build.SUCCEEDED, Build.FAILED):

View File

@@ -48,7 +48,7 @@
# Examples:
#
# make DOC=bsp-guide
# make html DOC=brief-yoctoprojectqs
# make html DOC=yocto-project-qs
# make pdf DOC=ref-manual
# make DOC=dev-manual BRANCH=edison
# make DOC=mega-manual BRANCH=denzil
@@ -56,7 +56,7 @@
# The first example generates the HTML and Eclipse help versions of the BSP Guide.
# The second example generates the HTML version only of the Quick Start. Note
# that the Quick Start only has an HTML version available. So, the
# 'make DOC=brief-yoctoprojectqs' command would be equivalent. The third example
# 'make DOC=yocto-project-qs' command would be equivalent. The third example
# generates just the PDF version of the Yocto Project Reference Manual.
# The fourth example generates the HTML 'edison' version and (if available)
# the Eclipse help version of the YP Development Tasks Manual. The last example
@@ -90,8 +90,8 @@ XSLTOPTS = --stringparam html.stylesheet brief-yoctoprojectqs-style.css \
--stringparam section.autolabel 0 \
--stringparam section.label.includes.component.label 0 \
--xinclude
ALLPREQ = html eclipse tarball
TARFILES = brief-yoctoprojectqs-style.css brief-yoctoprojectqs.html figures/bypqs-title.png \
ALLPREQ = html tarball
TARFILES = brief-yoctoprojectqs-style.css brief-yoctoprojectqs.html figures/ypqs-title.png \
figures/yocto-project-transp.png
MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse
FIGURES = figures
@@ -99,13 +99,25 @@ STYLESHEET = $(DOC)/*.css
endif
ifeq ($(DOC),overview-manual)
ifeq ($(DOC),getting-started)
XSLTOPTS = --xinclude
ALLPREQ = html eclipse tarball
TARFILES = overview-manual-style.css overview-manual.html figures/overview-manual-title.png \
TARFILES = getting-started-style.css getting-started.html figures/getting-started-title.png \
figures/git-workflow.png figures/source-repos.png figures/index-downloads.png \
figures/yp-download.png figures/YP-flow-diagram.png figures/key-dev-elements.png \
figures/poky-reference-distribution.png figures/cross-development-toolchains.png \
figures/poky-reference-distribution.png \
eclipse
MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse
FIGURES = figures
STYLESHEET = $(DOC)/*.css
endif
ifeq ($(DOC),concepts-manual)
XSLTOPTS = --xinclude
ALLPREQ = html eclipse tarball
TARFILES = concepts-manual-style.css concepts-manual.html figures/concepts-manual-title.png \
figures/cross-development-toolchains.png figures/yocto-environment-ref.png \
figures/user-configuration.png figures/layer-input.png figures/source-input.png \
figures/package-feeds.png figures/patching.png figures/source-fetching.png \
figures/configuration-compile-autoreconf.png figures/analysis-for-package-splitting.png \
@@ -174,6 +186,22 @@ STYLESHEET = $(DOC)/*.css
endif
ifeq ($(DOC),yocto-project-qs)
XSLTOPTS = --stringparam html.stylesheet qs-style.css \
--stringparam chapter.autolabel 1 \
--stringparam section.autolabel 1 \
--stringparam section.label.includes.component.label 1 \
--xinclude
ALLPREQ = html eclipse tarball
TARFILES = yocto-project-qs.html qs-style.css \
figures/yocto-project-transp.png figures/ypqs-title.png \
eclipse
MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse
FIGURES = figures
STYLESHEET = $(DOC)/*.css
endif
ifeq ($(DOC),mega-manual)
XSLTOPTS = --stringparam html.stylesheet mega-style.css \
--stringparam chapter.autolabel 1 \
@@ -252,7 +280,7 @@ TARFILES = mega-manual.html mega-style.css \
figures/sched-wakeup-profile.png figures/sysprof-callers.png \
figures/sysprof-copy-from-user.png figures/sysprof-copy-to-user.png \
figures/cross-development-toolchains.png \
figures/user-configuration.png \
figures/yocto-environment-ref.png figures/user-configuration.png \
figures/source-input.png figures/package-feeds.png \
figures/layer-input.png figures/images.png figures/sdk.png \
figures/source-fetching.png figures/patching.png \
@@ -267,8 +295,8 @@ TARFILES = mega-manual.html mega-style.css \
figures/sdk-environment.png figures/sdk-installed-standard-sdk-directory.png \
figures/sdk-devtool-add-flow.png figures/sdk-installed-extensible-sdk-directory.png \
figures/sdk-devtool-modify-flow.png figures/sdk-eclipse-dev-flow.png \
figures/sdk-devtool-upgrade-flow.png figures/bitbake-build-flow.png figures/bypqs-title.png \
figures/overview-manual-title.png figures/sdk-autotools-flow.png figures/sdk-makefile-flow.png
figures/sdk-devtool-upgrade-flow.png figures/bitbake-build-flow.png figures/ypqs-title.png \
figures/getting-started-title.png figures/concepts-manual-title.png
endif
MANUALS = $(DOC)/$(DOC).html
@@ -295,7 +323,7 @@ TARFILES = sdk-manual.html sdk-style.css figures/sdk-title.png \
figures/sdk-environment.png figures/sdk-installed-standard-sdk-directory.png \
figures/sdk-installed-extensible-sdk-directory.png figures/sdk-devtool-add-flow.png \
figures/sdk-devtool-modify-flow.png figures/sdk-eclipse-dev-flow.png \
figures/sdk-devtool-upgrade-flow.png figures/sdk-autotools-flow.png figures/sdk-makefile-flow.png \
figures/sdk-devtool-upgrade-flow.png \
eclipse
MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse
FIGURES = figures
@@ -371,9 +399,9 @@ XSL_XHTML_URI = $(XSL_BASE_URI)/xhtml/docbook.xsl
all: $(ALLPREQ)
pdf:
ifeq ($(DOC),brief-yoctoprojectqs)
ifeq ($(DOC),yocto-project-qs brief-yoctoprojectqs)
@echo " "
@echo "ERROR: You cannot generate a PDF file for brief-yoctoprojectqs."
@echo "ERROR: You cannot generate yocto-project-qs or brief-yoctoprojectqs PDF files."
@echo " "
else ifeq ($(DOC),mega-manual)
@@ -417,18 +445,19 @@ eclipse: eclipse-generate eclipse-resolve-links
.PHONY : eclipse-generate eclipse-resolve-links
eclipse-generate:
ifeq ($(filter $(DOC), overview-manual sdk-manual bsp-guide dev-manual kernel-dev profile-manual ref-manual brief-yoctoprojectqs),)
ifeq ($(filter $(DOC), concepts-manual getting-started sdk-manual bsp-guide dev-manual kernel-dev profile-manual ref-manual yocto-project-qs),)
@echo " "
@echo "ERROR: You can only create eclipse documentation"
@echo " of the following documentation parts:"
@echo " - overview-manual"
@echo " - concepts-manual"
@echo " - getting-started"
@echo " - sdk-manual"
@echo " - bsp-guide"
@echo " - dev-manual"
@echo " - kernel-dev"
@echo " - profile-manual"
@echo " - ref-manual"
@echo " - brief-yoctoprojectqs"
@echo " - yocto-project-qs"
@echo " "
else
@echo " "

View File

@@ -118,7 +118,7 @@ h6 {
background-color: transparent;
background-repeat: no-repeat;
padding-top: 256px;
background-image: url("figures/bypqs-title.png");
background-image: url("figures/ypqs-title.png");
background-position: left top;
margin-top: -256px;
padding-right: 50px;

View File

@@ -4,7 +4,7 @@
<article id='brief-yocto-project-qs-intro'>
<articleinfo>
<title>Yocto Project Quick Build</title>
<title>My First Yocto Project Build</title>
<copyright>
<year>&COPYRIGHT_YEAR;</year>
@@ -16,6 +16,28 @@
Permission is granted to copy, distribute and/or modify this document under
the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-sa/2.0/uk/">Creative Commons Attribution-Share Alike 2.0 UK: England &amp; Wales</ulink> as published by Creative Commons.
</para>
<!--
<note><title>Manual Notes</title>
<itemizedlist>
<listitem><para>
For the latest version of this document associated with
this Yocto Project release
(version &YOCTO_DOC_VERSION;), see the "My First
Yocto Project Build" from the
<ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink>.
</para></listitem>
<listitem><para>
This paper is written for the &YOCTO_DOC_VERSION;.
For later releases of the Yocto Project (if they exist),
go to the
<ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink>
and use the drop-down "Active Releases" button
and choose the Yocto Project version for which you want
the manual.
</para></listitem>
</itemizedlist>
</note>
-->
</legalnotice>
@@ -33,8 +55,6 @@
Welcome!
This short document steps you through the process for a typical
image build using the Yocto Project.
The document also introduces how to configure a build for specific
hardware.
You will use Yocto Project to build a reference embedded OS
called Poky.
<note>
@@ -54,7 +74,7 @@
<para>
If you want more conceptual or background information on the
Yocto Project, see the
<ulink url='&YOCTO_DOCS_OM_URL;'>Yocto Project Overview and Concepts Manual</ulink>.
<ulink url='&YOCTO_DOCS_GS_URL;'>Getting Started With Yocto Project Manual</ulink>.
</para>
</section>
@@ -62,9 +82,7 @@
<title>Compatible Linux Distribution</title>
<para>
Make sure your
<ulink url='&YOCTO_DOCS_REF_URL;#hardware-build-system-term'>build host</ulink>
meets the following requirements:
Make sure your build system meets the following requirements:
<itemizedlist>
<listitem><para>
50 Gbytes of free disk space
@@ -100,11 +118,11 @@
</section>
<section id='brief-build-system-packages'>
<title>Build Host Packages</title>
<title>Build System Packages</title>
<para>
You must install essential host packages on your
build host.
development host.
The following command installs the host packages based on an
Ubuntu distribution:
<note>
@@ -125,55 +143,31 @@
<para>
Once you complete the setup instructions for your machine,
you need to get a copy of the Poky repository on your build
host.
system.
Use the following commands to clone the Poky
repository and then checkout the &DISTRO_REL_TAG; release:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/poky
Cloning into 'poky'...
remote: Counting objects: 431956, done.
remote: Compressing objects: 100% (101918/101918), done.
remote: Total 431956 (delta 322982), reused 431910 (delta 322936)
Receiving objects: 100% (431956/431956), 153.76 MiB | 6.86 MiB/s, done.
Resolving deltas: 100% (322982/322982), done.
remote: Counting objects: 361782, done.
remote: Compressing objects: 100% (87100/87100), done.
remote: Total 361782 (delta 268619), reused 361439 (delta 268277)
Receiving objects: 100% (361782/361782), 131.94 MiB | 6.88 MiB/s, done.
Resolving deltas: 100% (268619/268619), done.
Checking connectivity... done.
$ git checkout tags/yocto-2.5 -b my-yocto-2.5
</literallayout>
Move to the poky directory and take a look at the tags:
<literallayout class='monospaced'>
$ cd poky
$ git fetch --tags
$ git tag
1.1_M1.final
1.1_M1.rc1
1.1_M1.rc2
1.1_M2.final
1.1_M2.rc1
.
.
.
yocto-2.5.2
yocto-2.5.3
yocto-2.6
yocto-2.6.1
yocto_1.5_M5.rc8
</literallayout>
For this example, check out the branch based on the
yocto-&DISTRO; release:
<literallayout class='monospaced'>
$ git checkout tags/yocto-&DISTRO; -b my-yocto-&DISTRO;
Switched to a new branch 'my-yocto-&DISTRO;'
</literallayout>
The previous Git checkout command creates a local branch named
my-yocto-&DISTRO;.
The files available to you in that branch exactly match the
repository's files in the "&DISTRO_NAME_NO_CAP;" development
branch at the time of the Yocto Project yocto-&DISTRO; release.
The previous Git checkout command creates a local branch
named my-&DISTRO_REL_TAG;. The files available to you in that
branch exactly match the repository's files in the
"&DISTRO_NAME_NO_CAP;" development branch at the time of the
Yocto Project &DISTRO; release.
</para>
<para>
For more options and information about accessing Yocto
Project related repositories, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#locating-yocto-project-source-files'>Locating Yocto Project Source Files</ulink>"
"<ulink url='&YOCTO_DOCS_DEV_URL;#working-with-yocto-project-source-files'>Working With Yocto Project Source Files</ulink>"
section in the Yocto Project Development Tasks Manual.
</para>
</section>
@@ -183,8 +177,8 @@
<para>
Use the following steps to build your image.
The build process creates an entire Linux distribution, including
the toolchain, from source.
The OpenEmbedded build system creates an entire Linux
distribution, including the toolchain, from source.
<note>
<itemizedlist>
<listitem><para>
@@ -213,7 +207,7 @@
<emphasis>Initialize the Build Environment:</emphasis>
Run the
<ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
environment setup script to define Yocto Project's
environment setup script to define the OpenEmbedded
build environment on your build host.
<literallayout class='monospaced'>
$ source &OE_INIT_FILE;
@@ -228,7 +222,7 @@
Later, when the build completes, the Build Directory
contains all the files created during the build.
</para></listitem>
<listitem><para id='conf-file-step'>
<listitem><para>
<emphasis>Examine Your Local Configuration File:</emphasis>
When you set up the build environment, a local
configuration file named
@@ -249,13 +243,13 @@
<literallayout class='monospaced'>
SSTATE_MIRRORS = "\
file://.* http://sstate.yoctoproject.org/dev/PATH;downloadfilename=PATH \n \
file://.* http://sstate.yoctoproject.org/&YOCTO_DOC_VERSION_MINUS_ONE;/PATH;downloadfilename=PATH \n \
file://.* http://sstate.yoctoproject.org/&YOCTO_DOC_VERSION;/PATH;downloadfilename=PATH \n \
file://.* http://sstate.yoctoproject.org/2.3/PATH;downloadfilename=PATH \n \
file://.* http://sstate.yoctoproject.org/2.4/PATH;downloadfilename=PATH \n \
"
</literallayout>
The previous examples showed how to add sstate
paths for Yocto Project &YOCTO_DOC_VERSION_MINUS_ONE;,
&YOCTO_DOC_VERSION;, and a development area.
paths for Yocto Project 2.3, 2.4, and a development
area.
For a complete index of sstate locations, see
<ulink url='http://sstate.yoctoproject.org/'></ulink>.
</tip>
@@ -270,9 +264,9 @@
</literallayout>
For information on using the
<filename>bitbake</filename> command, see the
"<ulink url='&YOCTO_DOCS_OM_URL;#usingpoky-components-bitbake'>BitBake</ulink>"
section in the Yocto Project Overview and Concepts Manual,
or see the
"<ulink url='&YOCTO_DOCS_OVERVIEW_URL;#usingpoky-components-bitbake'>BitBake</ulink>"
section in the Yocto Project Overview Manual, or
see the
"<ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual-command'>BitBake Command</ulink>"
section in the BitBake User Manual.
</para></listitem>
@@ -298,147 +292,6 @@
</para>
</section>
<section id='customizing-your-build-for-specific-hardware'>
<title>Customizing Your Build for Specific Hardware</title>
<para>
So far, all you have done is quickly built an image suitable
for emulation only.
This section shows you how to customize your build for specific
hardware by adding a hardware layer into the Yocto Project
development environment.
</para>
<para>
In general, layers are repositories that contain related sets of
instructions and configurations that tell the Yocto Project what
to do.
Isolating related metadata into functionally specific layers
facilitates modular development and makes it easier to reuse the
layer metadata.
<note>
By convention, layer names start with the string "meta-".
</note>
</para>
<para>
Follow these steps to add a hardware layer:
<orderedlist>
<listitem><para>
<emphasis>Find a Layer:</emphasis>
Lots of hardware layers exist.
The Yocto Project
<ulink url='&YOCTO_GIT_URL;'>Source Repositories</ulink>
has many hardware layers.
This example adds the
<ulink url='https://github.com/kraj/meta-altera'>meta-altera</ulink>
hardware layer.
</para></listitem>
<listitem><para>
<emphasis>Clone the Layer</emphasis>
Use Git to make a local copy of the layer on your machine.
You can put the copy in the top level of the copy of the
Poky repository created earlier:
<literallayout class='monospaced'>
$ cd ~/poky
$ git clone https://github.com/kraj/meta-altera.git
Cloning into 'meta-altera'...
remote: Counting objects: 25170, done.
remote: Compressing objects: 100% (350/350), done.
remote: Total 25170 (delta 645), reused 719 (delta 538), pack-reused 24219
Receiving objects: 100% (25170/25170), 41.02 MiB | 1.64 MiB/s, done.
Resolving deltas: 100% (13385/13385), done.
Checking connectivity... done.
</literallayout>
The hardware layer now exists with other layers inside
the Poky reference repository on your build host as
<filename>meta-altera</filename> and contains all the
metadata needed to support hardware from Altera, which
is owned by Intel.
</para></listitem>
<listitem><para>
<emphasis>Change the Configuration to Build for a Specific Machine:</emphasis>
The
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
variable in the <filename>local.conf</filename> file
specifies the machine for the build.
For this example, set the <filename>MACHINE</filename>
variable to "cyclone5".
These configurations are used:
<ulink url='https://github.com/kraj/meta-altera/blob/master/conf/machine/cyclone5.conf'></ulink>.
<note>
See the
"<link linkend='conf-file-step'>Examine Your Local Configuration File</link>"
step earlier for more information on configuring the
build.
</note>
</para></listitem>
<listitem><para>
<emphasis>Add Your Layer to the Layer Configuration File:</emphasis>
Before you can use a layer during a build, you must add it
to your <filename>bblayers.conf</filename> file, which
is found in the
<ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory's</ulink>
<filename>conf</filename> directory.</para>
<para>Use the <filename>bitbake-layers add-layer</filename>
command to add the layer to the configuration file:
<literallayout class='monospaced'>
$ cd ~/poky/build
$ bitbake-layers add-layer ../meta-altera
NOTE: Starting bitbake server...
Parsing recipes: 100% |##################################################################| Time: 0:00:32
Parsing of 918 .bb files complete (0 cached, 918 parsed). 1401 targets, 123 skipped, 0 masked, 0 errors.
</literallayout>
You can find more information on adding layers in the
"<ulink url='&YOCTO_DOCS_DEV_URL;#adding-a-layer-using-the-bitbake-layers-script'>Adding a Layer Using the <filename>bitbake-layers</filename> Script</ulink>"
section.
</para></listitem>
</orderedlist>
Completing these steps has added the
<filename>meta-altera</filename> layer to your Yocto Project
development environment and configured it to build for the
"cyclone5" machine.
<note>
The previous steps are for demonstration purposes only.
If you were to attempt to build an image for the
"cyclone5" build, you should read the Altera
<filename>README</filename>.
</note>
</para>
</section>
<section id='creating-your-own-general-layer'>
<title>Creating Your Own General Layer</title>
<para>
Maybe you have an application or specific set of behaviors you
need to isolate.
You can create your own general layer using the
<filename>bitbake-layers create-layer</filename> command.
The tool automates layer creation by setting up a
subdirectory with a <filename>layer.conf</filename>
configuration file, a <filename>recipes-example</filename>
subdirectory that contains an <filename>example.bb</filename>
recipe, a licensing file, and a <filename>README</filename>.
</para>
<para>
The following commands run the tool to create a layer named
<filename>meta-mylayer</filename> in the
<filename>poky</filename> directory:
<literallayout class='monospaced'>
$ cd ~/poky
$ bitbake-layers create-layer meta-mylayer
NOTE: Starting bitbake server...
Add your new layer with 'bitbake-layers add-layer meta-mylayer'
</literallayout>
For more information on layers and how to create them, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#creating-a-general-layer-using-the-bitbake-layers-script'>Creating a General Layer Using the <filename>bitbake-layers</filename> Script</ulink>"
section in the Yocto Project Development Tasks Manual.
</para>
</section>
<section id='brief-where-to-go-next'>
<title>Where To Go Next</title>
@@ -468,17 +321,6 @@
introductory and fundamental concepts are useful for
the beginner.
</para></listitem>
<listitem><para>
<emphasis>Yocto Project Overview and Concepts Manual:</emphasis>
The
<ulink url='&YOCTO_DOCS_OM_URL;'>Yocto Project Overview and Concepts Manual</ulink>
is a great place to start to learn about the
Yocto Project.
This manual introduces you to the Yocto Project and its
development environment.
The manual also provides conceptual information for
various aspects of the Yocto Project.
</para></listitem>
<listitem><para>
<emphasis>Yocto Project Wiki:</emphasis>
The

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -118,24 +118,9 @@
</revision>
<revision>
<revnumber>2.5</revnumber>
<date>May 2018</date>
<date>April 2018</date>
<revremark>Released with the Yocto Project 2.5 Release.</revremark>
</revision>
<revision>
<revnumber>2.5.1</revnumber>
<date>September 2018</date>
<revremark>The initial document released with the Yocto Project 2.5.1 Release.</revremark>
</revision>
<revision>
<revnumber>2.5.2</revnumber>
<date>January 2019</date>
<revremark>The initial document released with the Yocto Project 2.5.2 Release.</revremark>
</revision>
<revision>
<revnumber>2.5.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>The initial document released with the Yocto Project 2.5.3 Release.</revremark>
</revision>
</revhistory>
<copyright>
@@ -152,40 +137,28 @@
<itemizedlist>
<listitem><para>
This version of the
<emphasis>Yocto Project Board Support Package (BSP) Developer's Guide</emphasis>
<emphasis>Yocto Project Board Support Package Developer's Guide</emphasis>
is for the &YOCTO_DOC_VERSION; release of the
Yocto Project.
To be sure you have the latest version of the manual
for this release, go to the
<ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink>
and select the manual from that site.
Manuals from the site are more up-to-date than manuals
derived from the Yocto Project released TAR files.
for this release, use the manual from the
<ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink>.
</para></listitem>
<listitem><para>
If you located this manual through a web search, the
version of the manual might not be the one you want
(e.g. the search might have returned a manual much
older than the Yocto Project version with which you
are working).
You can see all Yocto Project major releases by
visiting the
<ulink url='&YOCTO_WIKI_URL;/wiki/Releases'>Releases</ulink>
page.
If you need a version of this manual for a different
Yocto Project release, visit the
For manuals associated with other releases of the Yocto
Project, go to the
<ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink>
and select the manual set by using the
"ACTIVE RELEASES DOCUMENTATION" or "DOCUMENTS ARCHIVE"
pull-down menus.
and use the drop-down "Active Releases" button
and choose the manual associated with the desired
Yocto Project.
</para></listitem>
<listitem><para>
To report any inaccuracies or problems with this
manual, send an email to the Yocto Project
discussion group at
<filename>yocto@yoctoproject.com</filename> or log into
the freenode <filename>#yocto</filename> channel.
</para></listitem>
To report any inaccuracies or problems with this
manual, send an email to the Yocto Project
discussion group at
<filename>yocto@yoctoproject.com</filename> or log into
the freenode <filename>#yocto</filename> channel.
</para></listitem>
</itemizedlist>
</note>
</legalnotice>

View File

@@ -56,9 +56,9 @@
To help understand the BSP layer concept, consider the BSPs that the
Yocto Project supports and provides with each release.
You can see the layers in the
<ulink url='&YOCTO_DOCS_OM_URL;#yocto-project-repositories'>Yocto Project Source Repositories</ulink>
<ulink url='&YOCTO_DOCS_GS_URL;#yocto-project-repositories'>Yocto Project Source Repositories</ulink>
through a web interface at
<ulink url='&YOCTO_GIT_URL;'></ulink>.
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi'></ulink>.
If you go to that interface, you will find a list of repositories
under "Yocto Metadata Layers".
<note>
@@ -93,8 +93,8 @@
section.
For more information on how to set up a local copy of source files
from a Git repository, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#locating-yocto-project-source-files'>Locating Yocto Project Source Files</ulink>"
section in the Yocto Project Development Tasks Manual.
"<ulink url='&YOCTO_DOCS_DEV_URL;#working-with-yocto-project-source-files'>Working With Yocto Project Source Files</ulink>"
section also in the Yocto Project Development Tasks Manual.
</para>
<para>
@@ -187,7 +187,7 @@
<emphasis>Set Up the Build Environment:</emphasis>
Be sure you are set up to use BitBake in a shell.
See the
"<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-the-development-host-to-use-the-yocto-project'>Preparing the Build Host</ulink>"
"<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-the-development-host-to-use-the-yocto-project'>Setting Up the Development Host to Use the Yocto Project</ulink>"
section in the Yocto Project Development Tasks Manual for information
on how to get a build host ready that is either a native
Linux machine or a machine that uses CROPS.
@@ -340,7 +340,7 @@
It is also intended that it will be be simple to extract
information and convert it to other formats if required.
The OpenEmbedded build system, through its standard
<ulink url='&YOCTO_DOCS_OM_URL;#the-yocto-project-layer-model'>layers mechanism</ulink>,
<ulink url='&YOCTO_DOCS_GS_URL;#the-yocto-project-layer-model'>layers mechanism</ulink>,
can directly accept the format described as a layer.
The BSP layer captures all the hardware-specific details
in one place using a standard format, which is useful
@@ -953,7 +953,7 @@
<para>
You can find more information on what your append file
should contain in the
"<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#creating-the-append-file'>Creating the Append File</ulink>"
"<ulink url='&YOCTO_DOCS_KERNEL_URL;#creating-the-append-file'>Creating the Append File</ulink>"
section in the Yocto Project Linux Kernel Development
Manual.
</para>
@@ -1012,7 +1012,7 @@
to Support Development Using the Yocto
Project</emphasis>:
See the
"<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-the-development-host-to-use-the-yocto-project'>Preparing the Build Host</ulink>"
"<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-the-development-host-to-use-the-yocto-project'>Setting Up the Development Host to Use the Yocto Project</ulink>"
section in the Yocto Project Development Tasks
Manual for options on how to get a system ready
to use the Yocto Project.
@@ -1056,8 +1056,8 @@
information for the project that the
OpenEmbedded build system knows about.
For more information on layers, see the
"<ulink url='&YOCTO_DOCS_OM_URL;#the-yocto-project-layer-model'>The Yocto Project Layer Model</ulink>"
section in the Yocto Project Overview and Concepts
"<ulink url='&YOCTO_DOCS_GS_URL;#the-yocto-project-layer-model'>The Yocto Project Layer Model</ulink>"
section in the Getting Started With Yocto Project
Manual.
You can also reference the
"<ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>Understanding and Creating Layers</ulink>"
@@ -1283,7 +1283,7 @@
is found in <filename>poky/meta</filename>
directory of the
<ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>
or in the OpenEmbedded-Core Layer
or in the OpenEmbedded Core Layer
(<filename>openembedded-core</filename>) at
<ulink url='http://git.openembedded.org/openembedded-core/tree/meta'></ulink>.
</para>
@@ -1303,7 +1303,7 @@
<para>Within any particular
<filename>recipes-*</filename> category, the
layout should match what is found in the
OpenEmbedded-Core Git repository
OpenEmbedded Core Git repository
(<filename>openembedded-core</filename>)
or the Source Directory (<filename>poky</filename>).
In other words, make sure you place related
@@ -1338,7 +1338,7 @@
<filename>meta-</filename><replaceable>bsp_root_name</replaceable>
directory.
See the
<ulink url='&YOCTO_GIT_URL;/cgit.cgi/meta-raspberrypi/tree/README.md'><filename>README.md</filename></ulink>
<ulink url='&YOCTO_GIT_URL;/cgit.cgi/meta-raspberrypi/tree/README'><filename>README</filename></ulink>
file for the Raspberry Pi BSP in the
<filename>meta-raspberrypi</filename> BSP layer
as an example.</para>
@@ -1507,7 +1507,7 @@
its scalability.
See the <filename>Yocto Linux Kernel</filename>
category in the
<ulink url='&YOCTO_GIT_URL;'>Source Repositories</ulink>
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'>Source Repositories</ulink>
for these kernels.
</para></listitem>
</itemizedlist>
@@ -1687,10 +1687,9 @@
Thus, the build system can build the corresponding
recipe and include the component in the image.
See the
"<ulink url='&YOCTO_DOCS_DEV_URL;#enabling-commercially-licensed-recipes'>Enabling Commercially Licensed Recipes</ulink>"
section in the Yocto Project Development Tasks
Manual for details on how to use these variables.
</para>
"<ulink url='&YOCTO_DOCS_CM_URL;#enabling-commercially-licensed-recipes'>Enabling Commercially Licensed Recipes</ulink>"
section in the Yocto Project Concepts Manual for
details on how to use these variables.</para>
<para>If you build as you normally would, without
specifying any recipes in the
@@ -1747,20 +1746,25 @@
<title>Creating a new BSP Layer Using the <filename>bitbake-layers</filename> Script</title>
<para>
The <filename>bitbake-layers create-layer</filename> script
automates creating a BSP layer.
What makes a layer a "BSP layer", is the presence of a machine
configuration file.
Additionally, a BSP layer usually has a kernel recipe
or an append file that leverages off an existing kernel recipe.
The primary requirement, however, is the machine configuration.
[INTRODUCE THE PROCEDURE AND LINK BACK TO <link linkend='bsp-layers'>BSP layer</link>.
IF THERE IS A LAUNDRY LIST OF ITEMS THAT NEED DEFINITION OR GET SET
UP AS A RESULT OF THIS PROCEDURE, LIST THEM HERE.]
<itemizedlist>
<listitem><para>[PARAMETER 1]</para></listitem>
<listitem><para>[PARAMETER 2]</para></listitem>
<listitem><para>[PARAMETER 3]</para></listitem>
<listitem><para>[PARAMETER 4]</para></listitem>
<listitem><para>[PARAMETER 5]</para></listitem>
<listitem><para>[PARAMETER 6]</para></listitem>
<listitem><para>[PARAMETER 7]</para></listitem>
</itemizedlist>
</para>
<para>
Use these steps to create a BSP layer:
The following procedure creates a BSP layer:
<itemizedlist>
<listitem><para>
<emphasis>Create a General Layer:</emphasis>
<emphasis>Create General Layer:</emphasis>
Use the <filename>bitbake-layers</filename> script with the
<filename>create-layer</filename> subcommand to create a
new general layer.
@@ -1769,42 +1773,26 @@
"<ulink url='&YOCTO_DOCS_DEV_URL;#creating-a-general-layer-using-the-bitbake-layers-script'>Creating a General Layer Using the <filename>bitbake-layers</filename> Script</ulink>"
section in the Yocto Project Development Tasks Manual.
</para></listitem>
<listitem><para>
<emphasis>Create a Layer Configuration File:</emphasis>
Every layer needs a layer configuration file.
This configuration file establishes locations for the
layer's recipes, priorities for the layer, and so forth.
You can find examples of <filename>layer.conf</filename>
files in the Yocto Project
<ulink url='&YOCTO_GIT_URL;'>Source Repositories</ulink>.
To get examples of what you need in your configuration
file, locate a layer (e.g. "meta-ti") and examine the
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/meta-ti/tree/conf/layer.conf'></ulink>
file.
</para></listitem>
<listitem><para>
<emphasis>Create a Machine Configuration File:</emphasis>
Create a <filename>conf/machine/</filename><replaceable>bsp_root_name</replaceable><filename>.conf</filename>
Create a <filename>conf/machine/&gt;machine&lt;.conf</filename>
file.
See
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta-yocto-bsp/conf/machine'><filename>meta-yocto-bsp/conf/machine</filename></ulink>
for sample
<replaceable>bsp_root_name</replaceable><filename>.conf</filename>
files.
Other samples such as
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/meta-ti/tree/conf/machine'><filename>meta-ti</filename></ulink>
and
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/meta-freescale/tree/conf/machine'><filename>meta-freescale</filename></ulink>
exist from other vendors that have more specific machine
See <filename>meta-yocto-bsp/conf/machine</filename> for sample
<filename>&gt;machine.conf&lt;</filename> files.
Other samples exist from other vendors such as
<filename>meta-intel</filename>, <filename>meta-ti</filename>,
and <filename>meta-freescale</filename> that have more specific machine
and tuning examples.
</para></listitem>
<listitem><para>
<emphasis>Create a Kernel Recipe:</emphasis>
Create a kernel recipe in <filename>recipes-kernel/linux</filename>
by either using a kernel append file or a new custom kernel
recipe file (e.g. <filename>yocto-linux_4.12.bb</filename>).
either using a linux-yocto kernel with a <filename>.bbappend</filename>
file or a new custom kernel recipe file (i.e. <filename>.bb</filename>
file).
The BSP layers mentioned in the previous step also contain different
kernel examples.
You can start with the linux-yocto or use a custom kernel.
See the
"<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#modifying-an-existing-recipe'>Modifying an Existing Recipe</ulink>"
section in the Yocto Project Linux Kernel Development Manual
@@ -1814,456 +1802,43 @@
</para>
<para>
The remainder of this section provides a description of
the Yocto Project reference BSP for Beaglebone, which
resides in the
<ulink url='&YOCTO_DOCS_REF_URL;#term-container-layer'>Container Layer</ulink>
(i.e.
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta-yocto-bsp'><filename>meta-yocto-bsp</filename></ulink>).
[THERE IS MORE INFORMATION THAT NEEDS TO BE FILLED IN HERE. THIS NEEDS TO
BE PROVIDED BY ENGINEERS.]
</para>
<section id='bsp-layer-configuration-example'>
<title>BSP Layer Configuration Example</title>
<para>
The remainder of this section presents an example that uses
<filename>myarm</filename> as the machine name and <filename>qemu</filename>
as the machine architecture.
Of the available architectures, <filename>qemu</filename> is the only architecture
that causes the script to prompt you further for an actual architecture.
In every other way, this architecture is representative of how creating a BSP for
an actual machine would work.
The reason the example uses this architecture is because it is an emulated architecture
and can easily be followed without requiring actual hardware.
</para>
<para>
The layer's <filename>conf</filename> directory
contains the <filename>layer.conf</filename>
configuration file.
In this example, the
<filename>conf/layer.conf</filename> is the
following:
<literallayout class='monospaced'>
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
<para>
Following is a complete example:
<literallayout class='monospaced'>
[INSERT EXAMPLE - NEED EXAMPLE]
</literallayout>
</para>
# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "yoctobsp"
BBFILE_PATTERN_yoctobsp = "^${LAYERDIR}/"
BBFILE_PRIORITY_yoctobsp = "5"
LAYERVERSION_yoctobsp = "4"
LAYERSERIES_COMPAT_yoctobsp = "&DISTRO_NAME_NO_CAP;"
</literallayout>
The variables used in this file configure the
layer.
A good way to learn about layer configuration
files is to examine various files for BSP from
the
<ulink url='&YOCTO_GIT_URL;'>Source Repositories</ulink>.
</para>
<para>
For a detailed description of this particular
layer configuration file, see
"<ulink url='&YOCTO_DOCS_DEV_URL;#dev-layer-config-file-description'>step 3</ulink>
in the discussion that describes how to create
layers in the Yocto Project Development Tasks Manual.
</para>
</section>
<section id='bsp-machine-configuration-example'>
<title>BSP Machine Configuration Example</title>
<para>
As mentioned earlier in this section, the existence
of a machine configuration file is what makes a
layer a BSP layer as compared to a general or
kernel layer.
</para>
<para>
Machine configuration files exist in the
<replaceable>bsp_layer</replaceable><filename>/conf/machine/</filename>
directory of the layer:
<literallayout class='monospaced'>
<replaceable>bsp_layer</replaceable><filename>/conf/machine/</filename><replaceable>machine</replaceable><filename>.conf</filename>
</literallayout>
For example, the machine configuration file for the
<ulink url='http://beagleboard.org/bone'>BeagleBone and BeagleBone Black development boards</ulink>
is located in the container layer
<filename>poky/meta-yocto-bsp/conf/machine</filename>
and is named <filename>beaglebone-yocto.conf</filename>:
<literallayout class='monospaced'>
#@TYPE: Machine
#@NAME: Beaglebone-yocto machine
#@DESCRIPTION: Reference machine configuration for http://beagleboard.org/bone and http://beagleboard.org/black boards
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
XSERVER ?= "xserver-xorg \
xf86-video-modesetting \
"
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules kernel-devicetree"
EXTRA_IMAGEDEPENDS += "u-boot"
DEFAULTTUNE ?= "cortexa8hf-neon"
include conf/machine/include/tune-cortexa8.inc
IMAGE_FSTYPES += "tar.bz2 jffs2 wic wic.bmap"
EXTRA_IMAGECMD_jffs2 = "-lnp "
WKS_FILE ?= "beaglebone-yocto.wks"
IMAGE_INSTALL_append = " kernel-devicetree kernel-image-zimage"
do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"
SERIAL_CONSOLES = "115200;ttyO0"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "4.12%"
KERNEL_IMAGETYPE = "zImage"
KERNEL_DEVICETREE = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
SPL_BINARY = "MLO"
UBOOT_SUFFIX = "img"
UBOOT_MACHINE = "am335x_boneblack_config"
UBOOT_ENTRYPOINT = "0x80008000"
UBOOT_LOADADDRESS = "0x80008000"
MACHINE_FEATURES = "usbgadget usbhost vfat alsa"
IMAGE_BOOT_FILES ?= "u-boot.${UBOOT_SUFFIX} MLO"
</literallayout>
The variables used to configure the machine define
machine-specific properties.
For example, machine-dependent packages, machine
tunings, the type of kernel to build, and
U-Boot configurations.
</para>
<para>
The following list provides some explanation
for the statements found in the example reference
machine configuration file for the BeagleBone
development boards.
Realize that much more can be defined as part of
a machines configuration file.
In general, you can learn about related variables
that this example does not have by locating the
variables in the
"<ulink url='&YOCTO_DOCS_REF_URL;#ref-variables-glos'>Yocto Project Variables Glossary</ulink>"
in the Yocto Project Reference Manual.
<itemizedlist>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-PREFERRED_PROVIDER'><filename>PREFERRED_PROVIDER_virtual/xserver</filename></ulink>:
The recipe that provides "virtual/xserver" when
more than one provider is found.
In this case, the recipe that provides
"virtual/xserver" is "xserver-xorg", which
exists in
<filename>poky/meta/recipes-graphics/xserver-xorg</filename>.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-XSERVER'><filename>XSERVER</filename></ulink>:
The packages that should be installed to provide
an X server and drivers for the machine.
In this example, the "xserver-xorg" and
"xf86-video-modesetting" are installed.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_EXTRA_RRECOMMENDS'><filename>MACHINE_EXTRA_RRECOMMENDS</filename></ulink>:
A list of machine-dependent packages
not essential for booting the image.
Thus, the build does not fail if the packages
do not exist.
However, the packages are required for a
fully-featured image.
<note><title>Tip</title>
Many <filename>MACHINE*</filename> variables
exist that help you configure a particular
piece of hardware.
</note>
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-EXTRA_IMAGEDEPENDS'><filename>EXTRA_IMAGEDEPENDS</filename></ulink>:
Recipes to build that do not provide packages
for installing into the root filesystem
but building the image depends on the
recipes.
Sometimes a recipe is required to build
the final image but is not needed in the
root filesystem.
In this case, the U-Boot recipe must be
built for the image.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-DEFAULTTUNE'><filename>DEFAULTTUNE</filename></ulink>:
Machines use tunings to optimize machine,
CPU, and application performance.
These features, which are collectively known
as "tuning features", exist in the
<ulink url='&YOCTO_DOCS_REF_URL;#oe-core'>OpenEmbedded-Core (OE-Core)</ulink>
layer (e.g.
<filename>poky/meta/conf/machine/include</filename>).
In this example, the default tunning file is
"cortexa8hf-neon".
<note>
The <filename>include</filename> statement
that pulls in the
<filename>conf/machine/include/tune-cortexa8.inc</filename>
file provides many tuning possibilities.
</note>
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_FSTYPES'><filename>IMAGE_FSTYPES</filename></ulink>:
The formats the OpenEmbedded build system
uses during the build when creating the
root filesystem.
In this example, four types of images are
supported.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-EXTRA_IMAGECMD'><filename>EXTRA_IMAGECMD</filename></ulink>:
Specifies additional options for image
creation commands.
In this example, the "-lnp " option is used
when creating the
<ulink url='https://en.wikipedia.org/wiki/JFFS2'>JFFS2</ulink>
image.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-WKS_FILE'><filename>WKS_FILE</filename></ulink>:
The location of the
<ulink url='&YOCTO_DOCS_REF_URL;#ref-kickstart'>Wic kickstart</ulink>
file used by the OpenEmbedded build system to
create a partitioned image (image.wic).
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'><filename>IMAGE_INSTALL</filename></ulink>:
Specifies packages to install into an image
through the
<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-image'><filename>image</filename></ulink>
class.
Recipes use the <filename>IMAGE_INSTALL</filename>
variable.
</para></listitem>
<listitem><para>
<filename>do_image_wic[depends]</filename>:
A task that is constructed during the build.
In this example, the task depends on specific tools
in order to create the sysroot when buiding a Wic
image.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-SERIAL_CONSOLES'><filename>SERIAL_CONSOLES</filename></ulink>:
Defines a serial console (TTY) to enable using
getty.
In this case, the baud rate is "115200" and the
device name is "ttyO0".
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-PREFERRED_PROVIDER'><filename>PREFERRED_PROVIDER_virtual/kernel</filename></ulink>:
Specifies the recipe that provides
"virtual/kernel" when more than one provider
is found.
In this case, the recipe that provides
"virtual/kernel" is "linux-yocto", which
exists in the layer's
<filename>recipes-kernel/linux</filename> directory.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-PREFERRED_VERSION'><filename>PREFERRED_VERSION_linux-yocto</filename></ulink>:
Defines the version of the recipe used
to build the kernel, which is "4.12" in this
case.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_IMAGETYPE'><filename>KERNEL_IMAGETYPE</filename></ulink>:
The type of kernel to build for the device.
In this case, the OpenEmbedded build system
creates a "zImage" image type.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_DEVICETREE'><filename>KERNEL_DEVICETREE</filename></ulink>:
The name of the generated Linux kernel device
tree (i.e. the <filename>.dtb</filename>) file.
All the device trees for the various BeagleBone
devices are included.
<!--
You have to include some *.inc files according to the definition of KERNEL_DEVICETREE.
I don't see where these are being provided.
-->
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_EXTRA_ARGS'><filename>KERNEL_EXTRA_ARGS</filename></ulink>:
Additional <filename>make</filename>
command-line arguments the OpenEmbedded build
system passes on when compiling the kernel.
In this example, "LOADADDR=${UBOOT_ENTRYPOINT}"
is passed as a command-line argument.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-SPL_BINARY'><filename>SPL_BINARY</filename></ulink>:
Defines the Secondary Program Loader (SPL) binary
type.
In this case, the SPL binary is set to
"MLO", which stands for Multimedia card LOader.
</para>
<para>The BeagleBone development board requires an
SPL to boot and that SPL file type must be MLO.
Consequently, the machine configuration needs to
define <filename>SPL_BINARY</filename> as "MLO".
<note>
For more information on how the SPL variables
are used, see the
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta/recipes-bsp/u-boot/u-boot.inc'><filename>u-boot.inc</filename></ulink>
include file.
</note>
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-UBOOT_ENTRYPOINT'><filename>UBOOT_*</filename></ulink>:
Defines various U-Boot configurations needed
to build a U-Boot image.
In this example, a U-Boot image is required
to boot the BeagleBone device.
See the following variables for more information:
<itemizedlist>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-UBOOT_SUFFIX'><filename>UBOOT_SUFFIX</filename></ulink>:
Points to the generated U-Boot extension.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-UBOOT_MACHINE'><filename>UBOOT_MACHINE</filename></ulink>:
Specifies the value passed on the make command line when building a U-Boot image.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-UBOOT_ENTRYPOINT'><filename>UBOOT_ENTRYPOINT</filename></ulink>:
Specifies the entry point for the U-Boot image.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-UBOOT_LOADADDRESS'><filename>UBOOT_LOADADDRESS</filename></ulink>:
Specifies the load address for the U-Boot image.
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_FEATURES'><filename>MACHINE_FEATURES</filename></ulink>:
Specifies the list of hardware features the
BeagleBone device is capable of supporting.
In this case, the device supports
"usbgadget usbhost vfat alsa".
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_BOOT_FILES'><filename>IMAGE_BOOT_FILES</filename></ulink>:
Files installed into the device's boot partition
when preparing the image using the Wic tool
with the <filename>bootimg-partition</filename>
source plugin.
In this case, the "u-boot.${UBOOT_SUFFIX}" and
"MLO" files are installed.
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='bsp-kernel-recipe-example'>
<title>BSP Kernel Recipe Example</title>
<para>
The kernel recipe used to build the kernel image
for the BeagleBone device was established in the
machine configuration:
<literallayout class='monospaced'>
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "4.12%"
</literallayout>
The <filename>meta-yocto-bsp/recipes-kernel/linux</filename>
directory in the layer contains metadata used
to build the kernel.
In this case, a kernel append file is used to
override an established kernel recipe, which is
located in
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta/recipes-kernel/linux'></ulink>
and named
<filename>linux-yocto_4.12.bb</filename>.
</para>
<para>
Following is the contents of the append file:
<literallayout class='monospaced'>
KBRANCH_genericx86 = "standard/base"
KBRANCH_genericx86-64 = "standard/base"
KMACHINE_genericx86 ?= "common-pc"
KMACHINE_genericx86-64 ?= "common-pc-64"
KBRANCH_edgerouter = "standard/edgerouter"
KBRANCH_beaglebone-yocto = "standard/beaglebone"
KMACHINE_beaglebone-yocto = "beaglebone"
KBRANCH_mpc8315e-rdb = "standard/fsl-mpc8315e-rdb"
SRCREV_machine_genericx86 ?= "1c4ad569af3e23a77994235435040e322908687f"
SRCREV_machine_genericx86-64 ?= "1c4ad569af3e23a77994235435040e322908687f"
SRCREV_machine_edgerouter ?= "257f843ea367744620f1d92910afd2f454e31483"
SRCREV_machine_beaglebone-yocto ?= "257f843ea367744620f1d92910afd2f454e31483"
SRCREV_machine_mpc8315e-rdb ?= "014560874f9eb2a86138c9cc35046ff1720485e1"
COMPATIBLE_MACHINE_genericx86 = "genericx86"
COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
COMPATIBLE_MACHINE_edgerouter = "edgerouter"
COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
LINUX_VERSION_genericx86 = "4.12.20"
LINUX_VERSION_genericx86-64 = "4.12.20"
LINUX_VERSION_edgerouter = "4.12.19"
LINUX_VERSION_beaglebone-yocto = "4.12.19"
LINUX_VERSION_mpc8315e-rdb = "4.12.19"
</literallayout>
This particular append file works for all the
machines that are part of the
<filename>meta-yocto-bsp</filename> container
layer.
The relevant statements are appended with
the "beaglebone-yocto" string.
The OpenEmbedded build system uses these
statements to override similar statements
in the kernel recipe:
<itemizedlist>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-KBRANCH'><filename>KBRANCH</filename></ulink>:
Identifies the kernel branch that is validated,
patched, and configured during the build.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink>:
Identifies the machine name as known by the
kernel, which is sometimes a different name
than what is known by the OpenEmbedded build
system.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRCREV'><filename>SRCREV</filename></ulink>:
Identifies the revision of the source code used
to build the image.
<!--
You find out about that point in the kernel source tree by
doing the following command:
git log &dash;&dash;decorate 257f843ea367744620f1d92910afd2f454e31483
Returns information about the commit, which is usually
that it is a merge point for a stable kernel release.
-->
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink>:
A regular expression that resolves to one or
more target machines with which the recipe
is compatible.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-LINUX_VERSION'><filename>LINUX_VERSION</filename></ulink>:
The Linux version from kernel.org used by
the OpenEmbedded build system to build the
kernel image.
</para></listitem>
</itemizedlist>
</para>
</section>
<para>
Once the BSP Layer is created, you must add it to your
<filename>bblayers.conf</filename> file.
Here is an example:
<literallayout class='monospaced'>
BBLAYERS = ? " \
/usr/local/src/yocto/meta \
/usr/local/src/yocto/meta-poky \
/usr/local/src/yocto/meta-yocto-bsp \
/usr/local/src/yocto/meta-myarm \
"
</literallayout>
Adding the layer to this file allows the build system to build the BSP and
find the layer along with other Metadata it needs.
</para>
</section>
</chapter>

View File

@@ -17,7 +17,7 @@
<xsl:include href="../template/division.title.xsl"/>
<xsl:include href="../template/formal.object.heading.xsl"/>
<xsl:param name="html.stylesheet" select="'overview-manual-style.css'" />
<xsl:param name="html.stylesheet" select="'concepts-manual-style.css'" />
<xsl:param name="chapter.autolabel" select="1" />
<xsl:param name="appendix.autolabel" select="A" />
<xsl:param name="section.autolabel" select="1" />

View File

@@ -22,7 +22,7 @@
<xsl:param name="chunk.section.depth" select="10"/>
<xsl:param name="use.id.as.filename" select="1"/>
<xsl:param name="ulink.target" select="'_self'" />
<xsl:param name="base.dir" select="'html/overview-manual/'"/>
<xsl:param name="base.dir" select="'html/concepts-manual/'"/>
<xsl:param name="html.stylesheet" select="'../book.css'"/>
<xsl:param name="eclipse.manifest" select="0"/>
<xsl:param name="create.plugin.xml" select="0"/>

View File

@@ -0,0 +1,87 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='concepts-manual-intro'>
<title>The Yocto Project Concepts Manual</title>
<section id='concepts-overview-welcome'>
<title>Welcome</title>
<para>
Welcome to the Yocto Project Concepts Manual!
This manual provides conceptual information that helps you
better understand the Yocto Project.
You can learn about Yocto Project components,
cross-development toolchain generation, shared-state cache,
and many other concepts.
</para>
<para>
This manual does not give you the following:
<itemizedlist>
<listitem><para>
<emphasis>Complete Step-by-step Instructions for Development Tasks:</emphasis>
Instructional procedures reside in other manuals within
the Yocto Project documentation set.
For example, the
<ulink url='&YOCTO_DOCS_DEV_URL;'>Yocto Project Development Tasks Manual</ulink>
provides examples on how to perform various development
tasks.
As another example, the
<ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</ulink>
manual contains detailed instructions on how to install an
SDK, which is used to develop applications for target
hardware.
</para></listitem>
<listitem><para>
<emphasis>Reference Material:</emphasis>
This type of material resides in an appropriate reference
manual.
For example, system variables are documented in the
<ulink url='&YOCTO_DOCS_REF_URL;'>Yocto Project Reference Manual</ulink>.
As another example, the
<ulink url='&YOCTO_DOCS_BSP_URL;'>Yocto Project Board Support Package (BSP) Developer's Guide</ulink>
contains reference information on BSPs.
</para></listitem>
<listitem><para>
<emphasis>Getting Started Material:</emphasis>
This type of material resides in the
<ulink url='&YOCTO_DOCS_GS_URL;'>Getting Started With Yocto Project Manual</ulink>.
</para></listitem>
<listitem><para>
<emphasis>Detailed Public Information Not Specific to the
Yocto Project:</emphasis>
For example, exhaustive information on how to use Git
is better covered with Internet searches and official
Git Documentation than through the Yocto Project
documentation.
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='concepts-overview-other-information'>
<title>Other Information</title>
<para>
Because this manual presents information for many different
concepts, supplemental information is recommended for full
comprehension.
For additional introductory information on the Yocto Project, see
the <ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink>.
You can find an introductory to using the Yocto Project by working
through the
<ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink>.
</para>
<para>
For a comprehensive list of links and other documentation, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#resources-links-and-related-documentation'>Links and Related Documentation</ulink>"
section in the Yocto Project Reference Manual.
</para>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4
-->

View File

@@ -118,7 +118,7 @@ h6 {
background-color: transparent;
background-repeat: no-repeat;
padding-top: 256px;
background-image: url("figures/overview-manual-title.png");
background-image: url("figures/concepts-manual-title.png");
background-position: left top;
margin-top: -256px;
padding-right: 50px;

View File

@@ -0,0 +1,92 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<book id='concepts-manual' lang='en'
xmlns:xi="http://www.w3.org/2003/XInclude"
xmlns="http://docbook.org/ns/docbook"
>
<bookinfo>
<mediaobject>
<imageobject>
<imagedata fileref='figures/concepts-manual-title.png'
format='SVG'
align='left' scalefit='1' width='100%'/>
</imageobject>
</mediaobject>
<title>
Yocto Project Concepts Manual
</title>
<authorgroup>
<author>
<firstname>Scott</firstname> <surname>Rifenbark</surname>
<affiliation>
<orgname>Scotty's Documentation Services, INC</orgname>
</affiliation>
<email>srifenbark@gmail.com</email>
</author>
</authorgroup>
<revhistory>
<revision>
<revnumber>2.5</revnumber>
<date>April 2018</date>
<revremark>The initial document released with the Yocto Project 2.5 Release.</revremark>
</revision>
</revhistory>
<copyright>
<year>&COPYRIGHT_YEAR;</year>
<holder>Linux Foundation</holder>
</copyright>
<legalnotice>
<para>
Permission is granted to copy, distribute and/or modify this document under
the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-sa/2.0/uk/">
Creative Commons Attribution-Share Alike 2.0 UK: England &amp; Wales</ulink> as published by
Creative Commons.
</para>
<note><title>Manual Notes</title>
<itemizedlist>
<listitem><para>
This version of the
<emphasis>Yocto Project Concepts Manual</emphasis>
is for the &YOCTO_DOC_VERSION; release of the
Yocto Project.
To be sure you have the latest version of the manual
for this release, use the manual from the
<ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink>.
</para></listitem>
<listitem><para>
For manuals associated with other releases of the Yocto
Project, go to the
<ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink>
and use the drop-down "Active Releases" button
and choose the manual associated with the desired
Yocto Project.
</para></listitem>
<listitem><para>
To report any inaccuracies or problems with this
manual, send an email to the Yocto Project
discussion group at
<filename>yocto@yoctoproject.com</filename> or log into
the freenode <filename>#yocto</filename> channel.
</para></listitem>
</itemizedlist>
</note>
</legalnotice>
</bookinfo>
<xi:include href="concepts-manual-intro.xml"/>
<xi:include href="concepts-manual-concepts.xml"/>
</book>
<!--
vim: expandtab tw=80 ts=4
-->

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -16,29 +16,33 @@
The manual groups related procedures into higher-level sections.
Procedures can consist of high-level steps or low-level steps
depending on the topic.
You can find conceptual information related to a procedure by
following appropriate links to the Yocto Project Reference
Manual.
</para>
<para>
The following list describes what you can get from this manual:
<itemizedlist>
<listitem><para>
Procedures that help you get going with the Yocto Project.
For example, procedures that show you how to set up
a build host and work with the Yocto Project
source repositories.
<emphasis>Setup Procedures:</emphasis>
Procedures that show you how to set
up a Yocto Project Development environment and how
to accomplish the change workflow through logging
defects and submitting changes.
</para></listitem>
<listitem><para>
Procedures that show you how to submit changes to the
Yocto Project.
Changes can be improvements, new features, or bug
fixes.
<emphasis>Emulation Procedures:</emphasis>
Procedures that show you how to use the
Yocto Project integrated QuickEMUlator (QEMU), which lets
you simulate running on hardware an image you have built
using the OpenEmbedded build system.
</para></listitem>
<listitem><para>
<emphasis>Common Procedures:</emphasis>
Procedures related to "everyday" tasks you perform while
developing images and applications using the Yocto
Project.
For example, procedures to create a layer, customize an
image, write a new recipe, and so forth.
</para></listitem>
</itemizedlist>
</para>
@@ -47,7 +51,7 @@
This manual will not give you the following:
<itemizedlist>
<listitem><para>
Redundant Step-by-step Instructions:
<emphasis>Redundant Step-by-step Instructions:</emphasis>
For example, the
<ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</ulink>
manual contains detailed instructions on how to install an
@@ -55,15 +59,14 @@
hardware.
</para></listitem>
<listitem><para>
Reference or Conceptual Material:
This type of material resides in an appropriate reference
manual.
<emphasis>Reference or Conceptual Material:</emphasis>
This type of material resides in an appropriate reference manual.
For example, system variables are documented in the
<ulink url='&YOCTO_DOCS_REF_URL;'>Yocto Project Reference Manual</ulink>.
</para></listitem>
<listitem><para>
Detailed Public Information Not Specific to the
Yocto Project:
<emphasis>Detailed Public Information Not Specific to the
Yocto Project:</emphasis>
For example, exhaustive information on how to use the
Source Control Manager Git is better covered with Internet
searches and official Git Documentation than through the
@@ -82,10 +85,9 @@
comprehension.
For introductory information on the Yocto Project, see the
<ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink>.
If you want to build an image with no knowledge of Yocto Project
as a way of quickly testing it out, see the
<ulink url='&YOCTO_DOCS_BRIEF_URL;'>Yocto Project Quick Build</ulink>
document.
You can find an introductory to using the Yocto Project by working
through the
<ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink>.
</para>
<para>

View File

@@ -0,0 +1,990 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='dev-manual-newbie'>
<title>The Yocto Project Open Source Development Environment</title>
<section id="usingpoky-changes-collaborate">
<title>Setting Up a Team Yocto Project Development Environment</title>
<para>
It might not be immediately clear how you can use the Yocto
Project in a team development environment, or scale it for a large
team of developers.
One of the strengths of the Yocto Project is that it is extremely
flexible.
Thus, you can adapt it to many different use cases and scenarios.
However, these characteristics can cause a struggle if you are trying
to create a working setup that scales across a large team.
</para>
<para>
To help you understand how to set up this type of environment,
this section presents a procedure that gives you the information
to learn how to get the results you want.
The procedure is high-level and presents some of the project's most
successful experiences, practices, solutions, and available
technologies that work well.
Keep in mind, the procedure here is a starting point.
You can build off it and customize it to fit any
particular working environment and set of practices.
<orderedlist>
<listitem><para>
<emphasis>Determine Who is Going to be Developing:</emphasis>
You need to understand who is going to be doing anything
related to the Yocto Project and what their roles would be.
Making this determination is essential to completing the
steps two and three, which are to get your equipment together
and set up your development environment's hardware topology.
</para>
<para>The following roles exist:
<itemizedlist>
<listitem><para>
<emphasis>Application Development:</emphasis>
These types of developers do application level work
on top of an existing software stack.
</para></listitem>
<listitem><para>
<emphasis>Core System Development:</emphasis>
These types of developers work on the contents of the
operating system image itself.
</para></listitem>
<listitem><para>
<emphasis>Build Engineer:</emphasis>
This type of developer manages Autobuilders and
releases.
Not all environments need a Build Engineer.
</para></listitem>
<listitem><para>
<emphasis>Test Engineer:</emphasis>
This type of developer creates and manages automated
tests needed to ensure all application and core
system development meets desired quality standards.
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
<emphasis>Gather the Hardware:</emphasis>
Based on the size and make-up of the team, get the hardware
together.
Any development, build, or test engineer should be using
a system that is running a supported Linux distribution.
Systems, in general, should be high performance (e.g. dual,
six-core Xeons with 24 Gbytes of RAM and plenty of disk space).
You can help ensure efficiency by having any machines used
for testing or that run Autobuilders be as high performance
as possible.
</para></listitem>
<listitem><para>
<emphasis>Understand the Hardware Topology of the Environment:</emphasis>
Now that you know how many developers and support engineers
are required, you can understand the topology of the
hardware environment.
The following figure shows a moderately sized Yocto Project
development environment.
<para role="writernotes">
Need figure.</para>
</para></listitem>
<listitem><para>
<emphasis>Use Git as Your Source Control Manager (SCM):</emphasis>
Keeping your
<ulink url='&YOCTO_DOCS_REF_URL;#metadata'>Metadata</ulink>
and any software you are developing under the
control of an SCM system that is compatible
with the OpenEmbedded build system is advisable.
Of the SCMs BitBake supports, the
Yocto Project team strongly recommends using
<ulink url='&YOCTO_DOCS_GS_URL;#git'>Git</ulink>.
Git is a distributed system that is easy to backup,
allows you to work remotely, and then connects back to the
infrastructure.
<note>
For information about BitBake, see the
<ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>.
</note></para>
<para>It is relatively easy to set up Git services and create
infrastructure like
<ulink url='&YOCTO_GIT_URL;'>http://git.yoctoproject.org</ulink>,
which is based on server software called
<filename>gitolite</filename> with <filename>cgit</filename>
being used to generate the web interface that lets you view the
repositories.
The <filename>gitolite</filename> software identifies users
using SSH keys and allows branch-based
access controls to repositories that you can control as little
or as much as necessary.
<note>
The setup of these services is beyond the scope of this
manual.
However, sites such as these exist that describe how to
perform setup:
<itemizedlist>
<listitem><para>
<ulink url='http://git-scm.com/book/ch4-8.html'>Git documentation</ulink>:
Describes how to install <filename>gitolite</filename>
on the server.
</para></listitem>
<listitem><para>
<ulink url='http://sitaramc.github.com/gitolite/master-toc.html'>The <filename>gitolite</filename> master index</ulink>:
All topics for <filename>gitolite</filename>.
</para></listitem>
<listitem><para>
<ulink url='https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools'>Interfaces, frontends, and tools</ulink>:
Documentation on how to create interfaces and frontends
for Git.
</para></listitem>
</itemizedlist>
</note>
</para></listitem>
<listitem><para>
<emphasis>Set up the Application Development Machines:</emphasis>
As mentioned earlier, application developers are creating
applications on top of existing software stacks.
Following are some best practices for setting up machines
that do application development:
<itemizedlist>
<listitem><para>
Use a pre-built toolchain that
contains the software stack itself.
Then, develop the application code on top of the
stack.
This method works well for small numbers of relatively
isolated applications.
</para></listitem>
<listitem><para>
When possible, use the Yocto Project
plug-in for the
<trademark class='trade'>Eclipse</trademark> IDE
and SDK development practices.
For more information, see the
"<ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</ulink>"
manual.
</para></listitem>
<listitem><para>
Keep your cross-development toolchains updated.
You can do this through provisioning either as new
toolchain downloads or as updates through a package
update mechanism using <filename>opkg</filename>
to provide updates to an existing toolchain.
The exact mechanics of how and when to do this are a
question for local policy.
</para></listitem>
<listitem><para>
Use multiple toolchains installed locally
into different locations to allow development across
versions.
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
<emphasis>Set up the Core Development Machines:</emphasis>
As mentioned earlier, these types of developers work on the
contents of the operating system itself.
Following are some best practices for setting up machines
used for developing images:
<itemizedlist>
<listitem><para>
Have the Yocto Project build system itself available on
the developer workstations so developers can run their own
builds and directly rebuild the software stack.
</para></listitem>
<listitem><para>
Keep the core system unchanged as much as
possible and do your work in layers on top of the
core system.
Doing so gives you a greater level of portability when
upgrading to new versions of the core system or Board
Support Packages (BSPs).
</para></listitem>
<listitem><para>
Share layers amongst the developers of a
particular project and contain the policy configuration
that defines the project.
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
<emphasis>Set up an Autobuilder:</emphasis>
Autobuilders are often the core of the development
environment.
It is here that changes from individual developers are brought
together and centrally tested and subsequent decisions about
releases can be made.
Autobuilders also allow for "continuous integration" style
testing of software components and regression identification
and tracking.</para>
<para>See "<ulink url='http://autobuilder.yoctoproject.org'>Yocto Project Autobuilder</ulink>"
for more information and links to buildbot.
The Yocto Project team has found this implementation
works well in this role.
A public example of this is the Yocto Project
Autobuilders, which we use to test the overall health of the
project.</para>
<para>The features of this system are:
<itemizedlist>
<listitem><para>
Highlights when commits break the build.
</para></listitem>
<listitem><para>
Populates an sstate cache from which
developers can pull rather than requiring local
builds.
</para></listitem>
<listitem><para>
Allows commit hook triggers,
which trigger builds when commits are made.
</para></listitem>
<listitem><para>
Allows triggering of automated image booting
and testing under the QuickEMUlator (QEMU).
</para></listitem>
<listitem><para>
Supports incremental build testing and
from-scratch builds.
</para></listitem>
<listitem><para>
Shares output that allows developer
testing and historical regression investigation.
</para></listitem>
<listitem><para>
Creates output that can be used for releases.
</para></listitem>
<listitem><para>
Allows scheduling of builds so that resources
can be used efficiently.
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
<emphasis>Set up Test Machines:</emphasis>
Use a small number of shared, high performance systems
for testing purposes.
Developers can use these systems for wider, more
extensive testing while they continue to develop
locally using their primary development system.
</para></listitem>
<listitem><para>
<emphasis>Document Policies and Change Flow:</emphasis>
The Yocto Project itself uses a hierarchical structure and a
pull model.
Scripts exist to create and send pull requests
(i.e. <filename>create-pull-request</filename> and
<filename>send-pull-request</filename>).
This model is in line with other open source projects where
maintainers are responsible for specific areas of the project
and a single maintainer handles the final "top-of-tree" merges.
<note>
You can also use a more collective push model.
The <filename>gitolite</filename> software supports both the
push and pull models quite easily.
</note></para>
<para>As with any development environment, it is important
to document the policy used as well as any main project
guidelines so they are understood by everyone.
It is also a good idea to have well structured
commit messages, which are usually a part of a project's
guidelines.
Good commit messages are essential when looking back in time and
trying to understand why changes were made.</para>
<para>If you discover that changes are needed to the core
layer of the project, it is worth sharing those with the
community as soon as possible.
Chances are if you have discovered the need for changes,
someone else in the community needs them also.
</para></listitem>
<listitem><para>
<emphasis>Development Environment Summary:</emphasis>
Aside from the previous steps, some best practices exist
within the Yocto Project development environment.
Consider the following:
<itemizedlist>
<listitem><para>
Use
<ulink url='&YOCTO_DOCS_GS_URL;#git'>Git</ulink>
as the source control system.
</para></listitem>
<listitem><para>
Maintain your Metadata in layers that make sense
for your situation.
See the "<link linkend='understanding-and-creating-layers'>Understanding
and Creating Layers</link>" section for more information on
layers.
</para></listitem>
<listitem><para>
Separate the project's Metadata and code by using
separate Git repositories.
See the
"<ulink url='&YOCTO_DOCS_GS_URL;#yocto-project-repositories'>Yocto Project Source Repositories</ulink>"
section for information on these repositories.
See the
"<link linkend='working-with-yocto-project-source-files'>Working With Yocto Project Source Files</link>"
section for information on how to set up local Git
repositories for related upstream Yocto Project
Git repositories.
</para></listitem>
<listitem><para>
Set up the directory for the shared state cache
(<ulink url='&YOCTO_DOCS_REF_URL;#var-SSTATE_DIR'><filename>SSTATE_DIR</filename></ulink>)
where it makes sense.
For example, set up the sstate cache on a system used
by developers in the same organization and share the
same source directories on their machines.
</para></listitem>
<listitem><para>
Set up an Autobuilder and have it populate the
sstate cache and source directories.
</para></listitem>
<listitem><para>
The Yocto Project community encourages you
to send patches to the project to fix bugs or add features.
If you do submit patches, follow the project commit
guidelines for writing good commit messages.
See the "<link linkend='how-to-submit-a-change'>Submitting a Change to the Yocto Project</link>"
section.
</para></listitem>
<listitem><para>
Send changes to the core sooner than later
as others are likely to run into the same issues.
For some guidance on mailing lists to use, see the list in the
"<link linkend='how-to-submit-a-change'>Submitting a Change to the Yocto Project</link>"
section.
For a description of the available mailing lists, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#resources-mailinglist'>Mailing Lists</ulink>"
section in the Yocto Project Reference Manual.
</para></listitem>
</itemizedlist>
</para></listitem>
</orderedlist>
</para>
</section>
<section id='submitting-a-defect-against-the-yocto-project'>
<title>Submitting a Defect Against the Yocto Project</title>
<para>
Use the Yocto Project implementation of
<ulink url='http://www.bugzilla.org/about/'>Bugzilla</ulink>
to submit a defect (bug) against the Yocto Project.
For additional information on this implementation of Bugzilla see the
"<ulink url='&YOCTO_DOCS_REF_URL;#resources-bugtracker'>Yocto Project Bugzilla</ulink>"
section in the Yocto Project Reference Manual.
For more detail on any of the following steps, see the Yocto Project
<ulink url='&YOCTO_WIKI_URL;/wiki/Bugzilla_Configuration_and_Bug_Tracking'>Bugzilla wiki page</ulink>.
</para>
<para>
Use the following general steps to submit a bug"
<orderedlist>
<listitem><para>
Open the Yocto Project implementation of
<ulink url='&YOCTO_BUGZILLA_URL;'>Bugzilla</ulink>.
</para></listitem>
<listitem><para>
Click "File a Bug" to enter a new bug.
</para></listitem>
<listitem><para>
Choose the appropriate "Classification", "Product", and
"Component" for which the bug was found.
Bugs for the Yocto Project fall into one of several
classifications, which in turn break down into several
products and components.
For example, for a bug against the
<filename>meta-intel</filename> layer, you would choose
"Build System, Metadata &amp; Runtime", "BSPs", and
"bsps-meta-intel", respectively.
</para></listitem>
<listitem><para>
Choose the "Version" of the Yocto Project for which you found
the bug (e.g. &DISTRO;).
</para></listitem>
<listitem><para>
Determine and select the "Severity" of the bug.
The severity indicates how the bug impacted your work.
</para></listitem>
<listitem><para>
Choose the "Hardware" that the bug impacts.
</para></listitem>
<listitem><para>
Choose the "Architecture" that the bug impacts.
</para></listitem>
<listitem><para>
Choose a "Documentation change" item for the bug.
Fixing a bug might or might not affect the Yocto Project
documentation.
If you are unsure of the impact to the documentation, select
"Don't Know".
</para></listitem>
<listitem><para>
Provide a brief "Summary" of the bug.
Try to limit your summary to just a line or two and be sure
to capture the essence of the bug.
</para></listitem>
<listitem><para>
Provide a detailed "Description" of the bug.
You should provide as much detail as you can about the context,
behavior, output, and so forth that surrounds the bug.
You can even attach supporting files for output from logs by
using the "Add an attachment" button.
</para></listitem>
<listitem><para>
Click the "Submit Bug" button submit the bug.
A new Bugzilla number is assigned to the bug and the defect
is logged in the bug tracking system.
</para></listitem>
</orderedlist>
Once you file a bug, the bug is processed by the Yocto Project Bug
Triage Team and further details concerning the bug are assigned
(e.g. priority and owner).
You are the "Submitter" of the bug and any further categorization,
progress, or comments on the bug result in Bugzilla sending you an
automated email concerning the particular change or progress to the
bug.
</para>
</section>
<section id='how-to-submit-a-change'>
<title>Submitting a Change to the Yocto Project</title>
<para>
Contributions to the Yocto Project and OpenEmbedded are very welcome.
Because the system is extremely configurable and flexible, we recognize
that developers will want to extend, configure or optimize it for
their specific uses.
</para>
<para>
The Yocto Project uses a mailing list and a patch-based workflow
that is similar to the Linux kernel but contains important
differences.
In general, a mailing list exists through which you can submit
patches.
You should send patches to the appropriate mailing list so that they
can be reviewed and merged by the appropriate maintainer.
The specific mailing list you need to use depends on the
location of the code you are changing.
Each component (e.g. layer) should have a
<filename>README</filename> file that indicates where to send
the changes and which process to follow.
</para>
<para>
You can send the patch to the mailing list using whichever approach
you feel comfortable with to generate the patch.
Once sent, the patch is usually reviewed by the community at large.
If somebody has concerns with the patch, they will usually voice
their concern over the mailing list.
If a patch does not receive any negative reviews, the maintainer of
the affected layer typically takes the patch, tests it, and then
based on successful testing, merges the patch.
</para>
<para id='figuring-out-the-mailing-list-to-use'>
The "poky" repository, which is the Yocto Project's reference build
environment, is a hybrid repository that contains several
individual pieces (e.g. BitBake, Metadata, documentation,
and so forth) built using the combo-layer tool.
The upstream location used for submitting changes varies by
component:
<itemizedlist>
<listitem><para>
<emphasis>Core Metadata:</emphasis>
Send your patch to the
<ulink url='http://lists.openembedded.org/mailman/listinfo/openembedded-core'>openembedded-core</ulink>
mailing list. For example, a change to anything under
the <filename>meta</filename> or
<filename>scripts</filename> directories should be sent
to this mailing list.
</para></listitem>
<listitem><para>
<emphasis>BitBake:</emphasis>
For changes to BitBake (i.e. anything under the
<filename>bitbake</filename> directory), send your patch
to the
<ulink url='http://lists.openembedded.org/mailman/listinfo/bitbake-devel'>bitbake-devel</ulink>
mailing list.
</para></listitem>
<listitem><para>
<emphasis>"meta-*" trees:</emphasis>
These trees contain Metadata.
Use the
<ulink url='https://lists.yoctoproject.org/listinfo/poky'>poky</ulink>
mailing list.
</para></listitem>
</itemizedlist>
</para>
<para>
For changes to other layers hosted in the Yocto Project source
repositories (i.e. <filename>yoctoproject.org</filename>), tools,
and the Yocto Project documentation, use the
<ulink url='https://lists.yoctoproject.org/listinfo/yocto'>Yocto Project</ulink>
general mailing list.
<note>
Sometimes a layer's documentation specifies to use a
particular mailing list.
If so, use that list.
</note>
For additional recipes that do not fit into the core Metadata, you
should determine which layer the recipe should go into and submit
the change in the manner recommended by the documentation (e.g.
the <filename>README</filename> file) supplied with the layer.
If in doubt, please ask on the Yocto general mailing list or on
the openembedded-devel mailing list.
</para>
<para>
You can also push a change upstream and request a maintainer to
pull the change into the component's upstream repository.
You do this by pushing to a contribution repository that is upstream.
See the
"<ulink url='&YOCTO_DOCS_GS_URL;#workflows'>Workflows</ulink>"
section in the Getting Started With Yocto Project Manual for additional
concepts on working in the Yocto Project development environment.
</para>
<para>
Two commonly used testing repositories exist for
OpenEmbedded-Core:
<itemizedlist>
<listitem><para>
<emphasis>"ross/mut" branch:</emphasis>
The "mut" (master-under-test) tree
exists in the <filename>poky-contrib</filename> repository
in the
<ulink url='&YOCTO_GIT_URL;'>Yocto Project source repositories</ulink>.
</para></listitem>
<listitem><para>
<emphasis>"master-next" branch:</emphasis>
This branch is part of the main
"poky" repository in the Yocto Project source repositories.
</para></listitem>
</itemizedlist>
Maintainers use these branches to test submissions prior to merging
patches.
Thus, you can get an idea of the status of a patch based on
whether the patch has been merged into one of these branches.
<note>
This system is imperfect and changes can sometimes get lost in the
flow.
Asking about the status of a patch or change is reasonable if the
change has been idle for a while with no feedback.
The Yocto Project does have plans to use
<ulink url='https://en.wikipedia.org/wiki/Patchwork_(software)'>Patchwork</ulink>
to track the status of patches and also to automatically preview
patches.
</note>
</para>
<para>
The following sections provide procedures for submitting a change.
</para>
<section id='pushing-a-change-upstream'>
<title>Using Scripts to Push a Change Upstream and Request a Pull</title>
<para>
Follow this procedure to push a change to an upstream "contrib"
Git repository:
<note>
You can find general Git information on how to push a change
upstream in the
<ulink url='http://git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows'>Git Community Book</ulink>.
</note>
<orderedlist>
<listitem><para>
<emphasis>Make Your Changes Locally:</emphasis>
Make your changes in your local Git repository.
You should make small, controlled, isolated changes.
Keeping changes small and isolated aids review,
makes merging/rebasing easier and keeps the change
history clean should anyone need to refer to it in
future.
</para></listitem>
<listitem><para>
<emphasis>Stage Your Changes:</emphasis>
Stage your changes by using the <filename>git add</filename>
command on each file you changed.
</para></listitem>
<listitem><para id='making-sure-you-have-correct-commit-information'>
<emphasis>Commit Your Changes:</emphasis>
Commit the change by using the
<filename>git commit</filename> command.
Make sure your commit information follows standards by
following these accepted conventions:
<itemizedlist>
<listitem><para>
Be sure to include a "Signed-off-by:" line in the
same style as required by the Linux kernel.
Adding this line signifies that you, the submitter,
have agreed to the Developer's Certificate of
Origin 1.1 as follows:
<literallayout class='monospaced'>
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
</literallayout>
</para></listitem>
<listitem><para>
Provide a single-line summary of the change.
and,
if more explanation is needed, provide more
detail in the body of the commit.
This summary is typically viewable in the
"shortlist" of changes.
Thus, providing something short and descriptive
that gives the reader a summary of the change is
useful when viewing a list of many commits.
You should prefix this short description with the
recipe name (if changing a recipe), or else with
the short form path to the file being changed.
</para></listitem>
<listitem><para>
For the body of the commit message, provide
detailed information that describes what you
changed, why you made the change, and the approach
you used.
It might also be helpful if you mention how you
tested the change.
Provide as much detail as you can in the body of
the commit message.
<note>
You do not need to provide a more detailed
explanation of a change if the change is
minor to the point of the single line
summary providing all the information.
</note>
</para></listitem>
<listitem><para>
If the change addresses a specific bug or issue
that is associated with a bug-tracking ID,
include a reference to that ID in your detailed
description.
For example, the Yocto Project uses a specific
convention for bug references - any commit that
addresses a specific bug should use the following
form for the detailed description.
Be sure to use the actual bug-tracking ID from
Bugzilla for
<replaceable>bug-id</replaceable>:
<literallayout class='monospaced'>
Fixes [YOCTO #<replaceable>bug-id</replaceable>]
<replaceable>detailed description of change</replaceable>
</literallayout>
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
<emphasis>Push Your Commits to a "Contrib" Upstream:</emphasis>
If you have arranged for permissions to push to an
upstream contrib repository, push the change to that
repository:
<literallayout class='monospaced'>
$ git push <replaceable>upstream_remote_repo</replaceable> <replaceable>local_branch_name</replaceable>
</literallayout>
For example, suppose you have permissions to push into the
upstream <filename>meta-intel-contrib</filename>
repository and you are working in a local branch named
<replaceable>your_name</replaceable><filename>/README</filename>.
The following command pushes your local commits to the
<filename>meta-intel-contrib</filename> upstream
repository and puts the commit in a branch named
<replaceable>your_name</replaceable><filename>/README</filename>:
<literallayout class='monospaced'>
$ git push meta-intel-contrib <replaceable>your_name</replaceable>/README
</literallayout>
</para></listitem>
<listitem><para id='push-determine-who-to-notify'>
<emphasis>Determine Who to Notify:</emphasis>
Determine the maintainer or the mailing list
that you need to notify for the change.</para>
<para>Before submitting any change, you need to be sure
who the maintainer is or what mailing list that you need
to notify.
Use either these methods to find out:
<itemizedlist>
<listitem><para>
<emphasis>Maintenance File:</emphasis>
Examine the <filename>maintainers.inc</filename>
file, which is located in the
<ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>
at
<filename>meta/conf/distro/include</filename>,
to see who is responsible for code.
</para></listitem>
<listitem><para>
<emphasis>Search by File:</emphasis>
Using <ulink url='&YOCTO_DOCS_GS_URL;#git'>Git</ulink>,
you can enter the following command to bring up a
short list of all commits against a specific file:
<literallayout class='monospaced'>
git shortlog -- <replaceable>filename</replaceable>
</literallayout>
Just provide the name of the file for which you
are interested.
The information returned is not ordered by history
but does include a list of everyone who has
committed grouped by name.
From the list, you can see who is responsible for
the bulk of the changes against the file.
</para></listitem>
<listitem><para>
<emphasis>Examine the List of Mailing Lists:</emphasis>
For a list of the Yocto Project and related mailing
lists, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#resources-mailinglist'>Mailing lists</ulink>"
section in the Yocto Project Reference Manual.
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
<emphasis>Make a Pull Request:</emphasis>
Notify the maintainer or the mailing list that you have
pushed a change by making a pull request.</para>
<para>The Yocto Project provides two scripts that
conveniently let you generate and send pull requests to the
Yocto Project.
These scripts are <filename>create-pull-request</filename>
and <filename>send-pull-request</filename>.
You can find these scripts in the
<filename>scripts</filename> directory within the
<ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>
(e.g. <filename>~/poky/scripts</filename>).
</para>
<para>Using these scripts correctly formats the requests
without introducing any whitespace or HTML formatting.
The maintainer that receives your patches either directly
or through the mailing list needs to be able to save and
apply them directly from your emails.
Using these scripts is the preferred method for sending
patches.</para>
<para>First, create the pull request.
For example, the following command runs the script,
specifies the upstream repository in the contrib directory
into which you pushed the change, and provides a subject
line in the created patch files:
<literallayout class='monospaced'>
$ ~/poky/scripts/create-pull-request -u meta-intel-contrib -s "Updated Manual Section Reference in README"
</literallayout>
Running this script forms
<filename>*.patch</filename> files in a folder named
<filename>pull-</filename><replaceable>PID</replaceable>
in the current directory.
One of the patch files is a cover letter.</para>
<para>Before running the
<filename>send-pull-request</filename> script, you must
edit the cover letter patch to insert information about
your change.
After editing the cover letter, send the pull request.
For example, the following command runs the script and
specifies the patch directory and email address.
In this example, the email address is a mailing list:
<literallayout class='monospaced'>
$ ~/poky/scripts/send-pull-request -p ~/meta-intel/pull-10565 -t meta-intel@yoctoproject.org
</literallayout>
You need to follow the prompts as the script is
interactive.
<note>
For help on using these scripts, simply provide the
<filename>-h</filename> argument as follows:
<literallayout class='monospaced'>
$ poky/scripts/create-pull-request -h
$ poky/scripts/send-pull-request -h
</literallayout>
</note>
</para></listitem>
</orderedlist>
</para>
</section>
<section id='submitting-a-patch'>
<title>Using Email to Submit a Patch</title>
<para>
You can submit patches without using the
<filename>create-pull-request</filename> and
<filename>send-pull-request</filename> scripts described in the
previous section.
However, keep in mind, the preferred method is to use the scripts.
</para>
<para>
Depending on the components changed, you need to submit the email
to a specific mailing list.
For some guidance on which mailing list to use, see the
<link linkend='figuring-out-the-mailing-list-to-use'>beginning</link>
of this section.
For a description of all the available mailing lists, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#resources-mailinglist'>Mailing Lists</ulink>"
section in the Yocto Project Reference Manual.
</para>
<para>
Here is the general procedure on how to submit a patch through
email without using the scripts:
<orderedlist>
<listitem><para>
<emphasis>Make Your Changes Locally:</emphasis>
Make your changes in your local Git repository.
You should make small, controlled, isolated changes.
Keeping changes small and isolated aids review,
makes merging/rebasing easier and keeps the change
history clean should anyone need to refer to it in
future.
</para></listitem>
<listitem><para>
<emphasis>Stage Your Changes:</emphasis>
Stage your changes by using the <filename>git add</filename>
command on each file you changed.
</para></listitem>
<listitem><para>
<emphasis>Commit Your Changes:</emphasis>
Commit the change by using the
<filename>git commit --signoff</filename> command.
Using the <filename>--signoff</filename> option identifies
you as the person making the change and also satisfies
the Developer's Certificate of Origin (DCO) shown earlier.
</para>
<para>When you form a commit, you must follow certain
standards established by the Yocto Project development
team.
See
<link linkend='making-sure-you-have-correct-commit-information'>Step 3</link>
in the previous section for information on how to
provide commit information that meets Yocto Project
commit message standards.
</para></listitem>
<listitem><para>
<emphasis>Format the Commit:</emphasis>
Format the commit into an email message.
To format commits, use the
<filename>git format-patch</filename> command.
When you provide the command, you must include a revision
list or a number of patches as part of the command.
For example, either of these two commands takes your most
recent single commit and formats it as an email message in
the current directory:
<literallayout class='monospaced'>
$ git format-patch -1
</literallayout>
or
<literallayout class='monospaced'>
$ git format-patch HEAD~
</literallayout></para>
<para>After the command is run, the current directory
contains a numbered <filename>.patch</filename> file for
the commit.</para>
<para>If you provide several commits as part of the
command, the <filename>git format-patch</filename> command
produces a series of numbered files in the current
directory one for each commit.
If you have more than one patch, you should also use the
<filename>--cover</filename> option with the command,
which generates a cover letter as the first "patch" in
the series.
You can then edit the cover letter to provide a
description for the series of patches.
For information on the
<filename>git format-patch</filename> command,
see <filename>GIT_FORMAT_PATCH(1)</filename> displayed
using the <filename>man git-format-patch</filename>
command.
<note>
If you are or will be a frequent contributor to the
Yocto Project or to OpenEmbedded, you might consider
requesting a contrib area and the necessary associated
rights.
</note>
</para></listitem>
<listitem><para>
<emphasis>Import the Files Into Your Mail Client:</emphasis>
Import the files into your mail client by using the
<filename>git send-email</filename> command.
<note>
In order to use <filename>git send-email</filename>,
you must have the proper Git packages installed on
your host.
For Ubuntu, Debian, and Fedora the package is
<filename>git-email</filename>.
</note></para>
<para>The <filename>git send-email</filename> command
sends email by using a local or remote Mail Transport Agent
(MTA) such as <filename>msmtp</filename>,
<filename>sendmail</filename>, or through a direct
<filename>smtp</filename> configuration in your Git
<filename>~/.gitconfig</filename> file.
If you are submitting patches through email only, it is
very important that you submit them without any whitespace
or HTML formatting that either you or your mailer
introduces.
The maintainer that receives your patches needs to be able
to save and apply them directly from your emails.
A good way to verify that what you are sending will be
applicable by the maintainer is to do a dry run and send
them to yourself and then save and apply them as the
maintainer would.</para>
<para>The <filename>git send-email</filename> command is
the preferred method for sending your patches using
email since there is no risk of compromising whitespace
in the body of the message, which can occur when you use
your own mail client.
The command also has several options that let you
specify recipients and perform further editing of the
email message.
For information on how to use the
<filename>git send-email</filename> command,
see <filename>GIT-SEND-EMAIL(1)</filename> displayed using
the <filename>man git-send-email</filename> command.
</para></listitem>
</orderedlist>
</para>
</section>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4
-->

View File

@@ -343,40 +343,6 @@
</para>
</section>
<section id='qemu-kvm-cpu-compatibility'>
<title>QEMU CPU Compatibility Under KVM</title>
<para>
By default, the QEMU build compiles for and targets 64-bit and x86
<trademark class='registered'>Intel</trademark> <trademark class='trademark'>Core</trademark>2
Duo processors and 32-bit x86
<trademark class='registered'>Intel</trademark> <trademark class='registered'>Pentium</trademark>
II processors.
QEMU builds for and targets these CPU types because they display
a broad range of CPU feature compatibility with many commonly
used CPUs.
</para>
<para>
Despite this broad range of compatibility, the CPUs could support
a feature that your host CPU does not support.
Although this situation is not a problem when QEMU uses software
emulation of the feature, it can be a problem when QEMU is
running with KVM enabled.
Specifically, software compiled with a certain CPU feature crashes
when run on a CPU under KVM that does not support that feature.
To work around this problem, you can override QEMU's runtime CPU
setting by changing the <filename>QB_CPU_KVM</filename>
variable in <filename>qemuboot.conf</filename> in the
<ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory's</ulink>
<filename>deploy/image</filename> directory.
This setting specifies a <filename>-cpu</filename> option
passed into QEMU in the <filename>runqemu</filename> script.
Running <filename>qemu -cpu help</filename> returns a list of
available supported CPU types.
</para>
</section>
<section id='qemu-dev-performance'>
<title>QEMU Performance</title>

View File

@@ -4,386 +4,16 @@
<chapter id='dev-manual-start'>
<title>Setting Up to Use the Yocto Project</title>
<title>Getting Started with the Yocto Project</title>
<para>
This chapter provides procedures related to getting set up to use the
Yocto Project.
You can learn about creating a team environment that develops using the
Yocto Project, how to set up a build host, how to locate Yocto Project
source repositories, and how to create local Git repositories.
Yocto Project, working with Yocto Project source files, and building
an image.
</para>
<section id="usingpoky-changes-collaborate">
<title>Creating a Team Development Environment</title>
<para>
It might not be immediately clear how you can use the Yocto
Project in a team development environment, or scale it for a large
team of developers.
One of the strengths of the Yocto Project is that it is extremely
flexible.
Thus, you can adapt it to many different use cases and scenarios.
However, these characteristics can cause a struggle if you are trying
to create a working setup that scales across a large team.
</para>
<para>
To help you understand how to set up this type of environment,
this section presents a procedure that gives you the information
to learn how to get the results you want.
The procedure is high-level and presents some of the project's most
successful experiences, practices, solutions, and available
technologies that work well.
Keep in mind, the procedure here is a starting point.
You can build off it and customize it to fit any
particular working environment and set of practices.
<orderedlist>
<listitem><para>
<emphasis>Determine Who is Going to be Developing:</emphasis>
You need to understand who is going to be doing anything
related to the Yocto Project and what their roles would be.
Making this determination is essential to completing the
steps two and three, which are to get your equipment together
and set up your development environment's hardware topology.
</para>
<para>The following roles exist:
<itemizedlist>
<listitem><para>
<emphasis>Application Development:</emphasis>
These types of developers do application level work
on top of an existing software stack.
</para></listitem>
<listitem><para>
<emphasis>Core System Development:</emphasis>
These types of developers work on the contents of the
operating system image itself.
</para></listitem>
<listitem><para>
<emphasis>Build Engineer:</emphasis>
This type of developer manages Autobuilders and
releases.
Not all environments need a Build Engineer.
</para></listitem>
<listitem><para>
<emphasis>Test Engineer:</emphasis>
This type of developer creates and manages automated
tests needed to ensure all application and core
system development meets desired quality standards.
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
<emphasis>Gather the Hardware:</emphasis>
Based on the size and make-up of the team, get the hardware
together.
Any development, build, or test engineer should be using
a system that is running a supported Linux distribution.
Systems, in general, should be high performance (e.g. dual,
six-core Xeons with 24 Gbytes of RAM and plenty of disk space).
You can help ensure efficiency by having any machines used
for testing or that run Autobuilders be as high performance
as possible.
</para></listitem>
<listitem><para>
<emphasis>Understand the Hardware Topology of the Environment:</emphasis>
Once you understand the hardware involved and the make-up
of the team, you can understand the hardware topology of the
development environment.
You can get a visual idea of the machines and their roles
across the development environment.
<!--
The following figure shows a moderately sized Yocto Project
development environment.
<para role="writernotes">
Need figure.</para>
-->
</para></listitem>
<listitem><para>
<emphasis>Use Git as Your Source Control Manager (SCM):</emphasis>
Keeping your
<ulink url='&YOCTO_DOCS_REF_URL;#metadata'>Metadata</ulink>
and any software you are developing under the
control of an SCM system that is compatible
with the OpenEmbedded build system is advisable.
Of the SCMs BitBake supports, the
Yocto Project team strongly recommends using
<ulink url='&YOCTO_DOCS_OM_URL;#git'>Git</ulink>.
Git is a distributed system that is easy to backup,
allows you to work remotely, and then connects back to the
infrastructure.
<note>
For information about BitBake, see the
<ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>.
</note></para>
<para>It is relatively easy to set up Git services and create
infrastructure like
<ulink url='&YOCTO_GIT_URL;'>http://git.yoctoproject.org</ulink>,
which is based on server software called
<filename>gitolite</filename> with <filename>cgit</filename>
being used to generate the web interface that lets you view the
repositories.
The <filename>gitolite</filename> software identifies users
using SSH keys and allows branch-based
access controls to repositories that you can control as little
or as much as necessary.
<note>
The setup of these services is beyond the scope of this
manual.
However, sites such as these exist that describe how to
perform setup:
<itemizedlist>
<listitem><para>
<ulink url='http://git-scm.com/book/ch4-8.html'>Git documentation</ulink>:
Describes how to install <filename>gitolite</filename>
on the server.
</para></listitem>
<listitem><para>
<ulink url='http://gitolite.com'>Gitolite</ulink>:
Information for <filename>gitolite</filename>.
</para></listitem>
<listitem><para>
<ulink url='https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools'>Interfaces, frontends, and tools</ulink>:
Documentation on how to create interfaces and frontends
for Git.
</para></listitem>
</itemizedlist>
</note>
</para></listitem>
<listitem><para>
<emphasis>Set up the Application Development Machines:</emphasis>
As mentioned earlier, application developers are creating
applications on top of existing software stacks.
Following are some best practices for setting up machines
that do application development:
<itemizedlist>
<listitem><para>
Use a pre-built toolchain that
contains the software stack itself.
Then, develop the application code on top of the
stack.
This method works well for small numbers of relatively
isolated applications.
</para></listitem>
<listitem><para>
When possible, use the Yocto Project
plug-in for the
<trademark class='trade'>Eclipse</trademark> IDE
and SDK development practices.
For more information, see the
"<ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</ulink>"
manual.
</para></listitem>
<listitem><para>
Keep your cross-development toolchains updated.
You can do this through provisioning either as new
toolchain downloads or as updates through a package
update mechanism using <filename>opkg</filename>
to provide updates to an existing toolchain.
The exact mechanics of how and when to do this are a
question for local policy.
</para></listitem>
<listitem><para>
Use multiple toolchains installed locally
into different locations to allow development across
versions.
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
<emphasis>Set up the Core Development Machines:</emphasis>
As mentioned earlier, these types of developers work on the
contents of the operating system itself.
Following are some best practices for setting up machines
used for developing images:
<itemizedlist>
<listitem><para>
Have the Yocto Project build system itself available on
the developer workstations so developers can run their own
builds and directly rebuild the software stack.
</para></listitem>
<listitem><para>
Keep the core system unchanged as much as
possible and do your work in layers on top of the
core system.
Doing so gives you a greater level of portability when
upgrading to new versions of the core system or Board
Support Packages (BSPs).
</para></listitem>
<listitem><para>
Share layers amongst the developers of a
particular project and contain the policy configuration
that defines the project.
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
<emphasis>Set up an Autobuilder:</emphasis>
Autobuilders are often the core of the development
environment.
It is here that changes from individual developers are brought
together and centrally tested and subsequent decisions about
releases can be made.
Autobuilders also allow for "continuous integration" style
testing of software components and regression identification
and tracking.</para>
<para>See "<ulink url='http://autobuilder.yoctoproject.org'>Yocto Project Autobuilder</ulink>"
for more information and links to buildbot.
The Yocto Project team has found this implementation
works well in this role.
A public example of this is the Yocto Project
Autobuilders, which we use to test the overall health of the
project.</para>
<para>The features of this system are:
<itemizedlist>
<listitem><para>
Highlights when commits break the build.
</para></listitem>
<listitem><para>
Populates an sstate cache from which
developers can pull rather than requiring local
builds.
</para></listitem>
<listitem><para>
Allows commit hook triggers,
which trigger builds when commits are made.
</para></listitem>
<listitem><para>
Allows triggering of automated image booting
and testing under the QuickEMUlator (QEMU).
</para></listitem>
<listitem><para>
Supports incremental build testing and
from-scratch builds.
</para></listitem>
<listitem><para>
Shares output that allows developer
testing and historical regression investigation.
</para></listitem>
<listitem><para>
Creates output that can be used for releases.
</para></listitem>
<listitem><para>
Allows scheduling of builds so that resources
can be used efficiently.
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
<emphasis>Set up Test Machines:</emphasis>
Use a small number of shared, high performance systems
for testing purposes.
Developers can use these systems for wider, more
extensive testing while they continue to develop
locally using their primary development system.
</para></listitem>
<listitem><para>
<emphasis>Document Policies and Change Flow:</emphasis>
The Yocto Project itself uses a hierarchical structure and a
pull model.
Scripts exist to create and send pull requests
(i.e. <filename>create-pull-request</filename> and
<filename>send-pull-request</filename>).
This model is in line with other open source projects where
maintainers are responsible for specific areas of the project
and a single maintainer handles the final "top-of-tree" merges.
<note>
You can also use a more collective push model.
The <filename>gitolite</filename> software supports both the
push and pull models quite easily.
</note></para>
<para>As with any development environment, it is important
to document the policy used as well as any main project
guidelines so they are understood by everyone.
It is also a good idea to have well structured
commit messages, which are usually a part of a project's
guidelines.
Good commit messages are essential when looking back in time and
trying to understand why changes were made.</para>
<para>If you discover that changes are needed to the core
layer of the project, it is worth sharing those with the
community as soon as possible.
Chances are if you have discovered the need for changes,
someone else in the community needs them also.
</para></listitem>
<listitem><para>
<emphasis>Development Environment Summary:</emphasis>
Aside from the previous steps, some best practices exist
within the Yocto Project development environment.
Consider the following:
<itemizedlist>
<listitem><para>
Use
<ulink url='&YOCTO_DOCS_OM_URL;#git'>Git</ulink>
as the source control system.
</para></listitem>
<listitem><para>
Maintain your Metadata in layers that make sense
for your situation.
See the "<link linkend='understanding-and-creating-layers'>Understanding
and Creating Layers</link>" section for more information on
layers.
</para></listitem>
<listitem><para>
Separate the project's Metadata and code by using
separate Git repositories.
See the
"<ulink url='&YOCTO_DOCS_OM_URL;#yocto-project-repositories'>Yocto Project Source Repositories</ulink>"
section for information on these repositories.
See the
"<link linkend='locating-yocto-project-source-files'>Locating Yocto Project Source Files</link>"
section for information on how to set up local Git
repositories for related upstream Yocto Project
Git repositories.
</para></listitem>
<listitem><para>
Set up the directory for the shared state cache
(<ulink url='&YOCTO_DOCS_REF_URL;#var-SSTATE_DIR'><filename>SSTATE_DIR</filename></ulink>)
where it makes sense.
For example, set up the sstate cache on a system used
by developers in the same organization and share the
same source directories on their machines.
</para></listitem>
<listitem><para>
Set up an Autobuilder and have it populate the
sstate cache and source directories.
</para></listitem>
<listitem><para>
The Yocto Project community encourages you
to send patches to the project to fix bugs or add features.
If you do submit patches, follow the project commit
guidelines for writing good commit messages.
See the "<link linkend='how-to-submit-a-change'>Submitting a Change to the Yocto Project</link>"
section.
</para></listitem>
<listitem><para>
Send changes to the core sooner than later
as others are likely to run into the same issues.
For some guidance on mailing lists to use, see the list in the
"<link linkend='how-to-submit-a-change'>Submitting a Change to the Yocto Project</link>"
section.
For a description of the available mailing lists, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#resources-mailinglist'>Mailing Lists</ulink>"
section in the Yocto Project Reference Manual.
</para></listitem>
</itemizedlist>
</para></listitem>
</orderedlist>
</para>
</section>
<section id='setting-up-the-development-host-to-use-the-yocto-project'>
<title>Preparing the Build Host</title>
<title>Setting Up the Development Host to Use the Yocto Project</title>
<para>
This section provides procedures to set up your development host to
@@ -545,7 +175,7 @@
site.
</para></listitem>
<listitem><para>
<emphasis>Go to the Install Site for Your Platform:</emphasis>
<emphasis>Go the Install Site for Your Platform:</emphasis>
Click the link for the Docker edition associated with
your development host machine's native software.
For example, if your machine is running Microsoft
@@ -581,8 +211,8 @@
the type of the software you need to install.
</para></listitem>
<listitem><para>
<emphasis>Optionally Orient Yourself With Docker:</emphasis>
If you are unfamiliar with Docker and the container
<emphasis>Optionally Orient Yourself With Dockers:</emphasis>
If you are unfamiliar with Dockers and the container
concept, you can learn more here -
<ulink url='https://docs.docker.com/get-started/'></ulink>.
You should be able to launch Docker or the Docker Toolbox
@@ -618,25 +248,25 @@
</section>
</section>
<section id='locating-yocto-project-source-files'>
<title>Locating Yocto Project Source Files</title>
<section id='working-with-yocto-project-source-files'>
<title>Working With Yocto Project Source Files</title>
<para>
This section contains procedures related to locating Yocto Project
files.
This section contains procedures related to locating and securing
Yocto Project files.
You establish and use these local files to work on projects.
<note><title>Notes</title>
<itemizedlist>
<listitem><para>
For concepts and introductory information about Git as it
is used in the Yocto Project, see the
"<ulink url='&YOCTO_DOCS_OM_URL;#git'>Git</ulink>"
section in the Yocto Project Overview and Concepts Manual.
"<ulink url='&YOCTO_DOCS_GS_URL;#git'>Git</ulink>"
section in the Getting Started With Yocto Project Manual.
</para></listitem>
<listitem><para>
For concepts on Yocto Project source repositories, see the
"<ulink url='&YOCTO_DOCS_OM_URL;#yocto-project-repositories'>Yocto Project Source Repositories</ulink>"
section in the Yocto Project Overview and Concepts Manual."
"<ulink url='&YOCTO_DOCS_GS_URL;#yocto-project-repositories'>Yocto Project Source Repositories</ulink>"
section in the Getting Started With Yocto Project Manual."
</para></listitem>
</itemizedlist>
</note>
@@ -647,11 +277,11 @@
<para>
Working from a copy of the upstream Yocto Project
<ulink url='&YOCTO_DOCS_OM_URL;#source-repositories'>Source Repositories</ulink>
<ulink url='&YOCTO_DOCS_GS_URL;#source-repositories'>Source Repositories</ulink>
is the preferred method for obtaining and using a Yocto Project
release.
You can view the Yocto Project Source Repositories at
<ulink url='&YOCTO_GIT_URL;'></ulink>.
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.
In particular, you can find the
<filename>poky</filename> repository at
<ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky/'></ulink>.
@@ -676,7 +306,7 @@
<listitem><para>
<emphasis>Find the URL Used to Clone the Repository:</emphasis>
At the bottom of the page, note the URL used to
<ulink url='&YOCTO_DOCS_OM_URL;#git-commands-clone'>clone</ulink>
<ulink url='&YOCTO_DOCS_GS_URL;#git-commands-clone'>clone</ulink>
that repository (e.g.
<filename>&YOCTO_GIT_URL;/poky</filename>).
<note>
@@ -829,40 +459,36 @@
</orderedlist>
</para>
</section>
</section>
<section id='cloning-and-checking-out-branchs'>
<title>Cloning and Checking Out Branches</title>
<para>
To use the Yocto Project, you need a release of the Yocto Project
locally installed on your development system.
The locally installed set of files is referred to as the
<ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>
in the Yocto Project documentation.
</para>
<para>
You create your Source Directory by using
<ulink url='&YOCTO_DOCS_OM_URL;#git'>Git</ulink> to clone a local
copy of the upstream <filename>poky</filename> repository.
<note><title>Tip</title>
The preferred method of getting the Yocto Project Source
Directory set up is to clone the repository.
</note>
Working from a copy of the upstream repository allows you
to contribute back into the Yocto Project or simply work with
the latest software on a development branch.
Because Git maintains and creates an upstream repository with
a complete history of changes and you are working with a local
clone of that repository, you have access to all the Yocto
Project development branches and tag names used in the upstream
repository.
</para>
<section id='cloning-the-poky-repository'>
<title>Cloning the <filename>poky</filename> Repository</title>
<para>
To use the Yocto Project, you need a release of the Yocto Project
locally installed on your development system.
The locally installed set of files is referred to as the
<ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>
in the Yocto Project documentation.
</para>
<para>
You create your Source Directory by using
<ulink url='&YOCTO_DOCS_GS_URL;#git'>Git</ulink> to clone a local
copy of the upstream <filename>poky</filename> repository.
<note><title>Tip</title>
The preferred method of getting the Yocto Project Source
Directory set up is to clone the repository.
</note>
Working from a copy of the upstream repository allows you
to contribute back into the Yocto Project or simply work with
the latest software on a development branch.
Because Git maintains and creates an upstream repository with
a complete history of changes and you are working with a local
clone of that repository, you have access to all the Yocto
Project development branches and tag names used in the upstream
repository.
</para>
<para>
Follow these steps to create a local version of the
upstream
@@ -881,11 +507,11 @@
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/poky
Cloning into 'poky'...
remote: Counting objects: 431956, done.
remote: Compressing objects: 100% (101918/101918), done.
remote: Total 431956 (delta 322982), reused 431910 (delta 322936)
Receiving objects: 100% (431956/431956), 153.76 MiB | 6.86 MiB/s, done.
Resolving deltas: 100% (322982/322982), done.
remote: Counting objects: 367178, done.
remote: Compressing objects: 100% (88161/88161), done.
remote: Total 367178 (delta 272761), reused 366942 (delta 272525)
Receiving objects: 100% (367178/367178), 133.26 MiB | 6.40 MiB/s, done.
Resolving deltas: 100% (272761/272761), done.
Checking connectivity... done.
</literallayout>
Unless you specify a specific development branch or
@@ -897,8 +523,8 @@
branch based on a tag name, see the
"<link linkend='checking-out-by-branch-in-poky'>Checking Out By Branch in Poky</link>"
and
<link linkend='checkout-out-by-tag-in-poky'>Checking Out By Tag in Poky</link>"
sections, respectively.</para>
<link linkend='checkout-out-by-tag-in-poky'>Checking Out By Tag in Poky</link>",
respectively.</para>
<para>Once the repository is created, you can change to
that directory and check its status.
@@ -963,12 +589,13 @@
.
.
.
remotes/origin/master-next
remotes/origin/master-next2
remotes/origin/morty
remotes/origin/pinky
remotes/origin/purple
remotes/origin/pyro
remotes/origin/rocko
remotes/origin/rocko-next
remotes/origin/sumo
remotes/origin/sumo-next
remotes/origin/thud
remotes/origin/thud-next
</literallayout>
</para></listitem>
<listitem><para>
@@ -1047,10 +674,11 @@
.
.
.
yocto-2.5.2
yocto-2.5.3
yocto-2.6
yocto-2.6.1
yocto-2.2
yocto-2.2.1
yocto-2.3
yocto-2.3.1
yocto-2.4
yocto_1.5_M5.rc8
</literallayout>
</para></listitem>
@@ -1078,6 +706,306 @@
</section>
</section>
<section id='dev-building-an-image'>
<title>Building an Image</title>
<para>
In the development environment, you need to build an image whenever
you change hardware support, add or change system libraries, or add
or change services that have dependencies.
Several methods exist that allow you to build an image within the
Yocto Project.
This section shows you how to build an image using BitBake from a
Linux host.
<note><title>Notes</title>
<itemizedlist>
<listitem><para>
For information on how to build an image using
<ulink url='&YOCTO_DOCS_REF_URL;#toaster-term'>Toaster</ulink>,
see the
<ulink url='&YOCTO_DOCS_TOAST_URL;'>Toaster Manual</ulink>.
</para></listitem>
<listitem><para>
For information on how to use
<filename>devtool</filename> to build images, see the
"<ulink url='&YOCTO_DOCS_SDK_URL;#using-devtool-in-your-sdk-workflow'>Using <filename>devtool</filename> in Your SDK Workflow</ulink>"
section in the Yocto Project Application Development and
the Extensible Software Development Kit (eSDK) manual.
</para></listitem>
<listitem><para>
For a practical example on how to build an image using the
OpenEmbedded build system, see the
"<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>"
section of the Yocto Project Quick Start.
</para></listitem>
</itemizedlist>
</note>
</para>
<para>
The build process creates an entire Linux distribution from source
and places it in your
<ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>
under <filename>tmp/deploy/images</filename>.
For detailed information on the build process using BitBake, see the
"<ulink url='&YOCTO_DOCS_CM_URL;#images-dev-environment'>Images</ulink>"
section in the Yocto Project Concepts Manual.
</para>
<para>
The following figure and list overviews the build process:
<imagedata fileref="figures/bitbake-build-flow.png" width="7in" depth="4in" align="center" scalefit="1" />
<orderedlist>
<listitem><para>
<emphasis>Set up Your Host Development System to Support
Development Using the Yocto Project</emphasis>:
See the
"<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>Setting Up to Use the Yocto Project</ulink>"
section in the Yocto Project Quick Start for options on how
to get a build host ready to use the Yocto Project.
</para></listitem>
<listitem><para>
<emphasis>Initialize the Build Environment:</emphasis>
Initialize the build environment by sourcing the build
environment script (i.e.
<ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>):
<literallayout class='monospaced'>
$ source &OE_INIT_FILE; [<replaceable>build_dir</replaceable>]
</literallayout></para>
<para>When you use the initialization script, the
OpenEmbedded build system uses <filename>build</filename> as
the default Build Directory in your current work directory.
You can use a <replaceable>build_dir</replaceable> argument
with the script to specify a different build directory.
<note><title>Tip</title>
A common practice is to use a different Build Directory for
different targets.
For example, <filename>~/build/x86</filename> for a
<filename>qemux86</filename> target, and
<filename>~/build/arm</filename> for a
<filename>qemuarm</filename> target.
</note>
</para></listitem>
<listitem><para>
<emphasis>Make Sure Your <filename>local.conf</filename>
File is Correct:</emphasis>
Ensure the <filename>conf/local.conf</filename> configuration
file, which is found in the Build Directory,
is set up how you want it.
This file defines many aspects of the build environment
including the target machine architecture through the
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'>MACHINE</ulink></filename> variable,
the packaging format used during the build
(<ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink>),
and a centralized tarball download directory through the
<ulink url='&YOCTO_DOCS_REF_URL;#var-DL_DIR'><filename>DL_DIR</filename></ulink> variable.
</para></listitem>
<listitem><para>
<emphasis>Build the Image:</emphasis>
Build the image using the <filename>bitbake</filename> command:
<literallayout class='monospaced'>
$ bitbake <replaceable>target</replaceable>
</literallayout>
<note>
For information on BitBake, see the
<ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>.
</note>
The <replaceable>target</replaceable> is the name of the
recipe you want to build.
Common targets are the images in
<filename>meta/recipes-core/images</filename>,
<filename>meta/recipes-sato/images</filename>, etc. all found
in the
<ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>.
Or, the target can be the name of a recipe for a specific
piece of software such as BusyBox.
For more details about the images the OpenEmbedded build
system supports, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>"
chapter in the Yocto Project Reference Manual.</para>
<para>As an example, the following command builds the
<filename>core-image-minimal</filename> image:
<literallayout class='monospaced'>
$ bitbake core-image-minimal
</literallayout>
Once an image has been built, it often needs to be installed.
The images and kernels built by the OpenEmbedded build system
are placed in the Build Directory in
<filename class="directory">tmp/deploy/images</filename>.
For information on how to run pre-built images such as
<filename>qemux86</filename> and <filename>qemuarm</filename>,
see the
<ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</ulink>
manual.
For information about how to install these images, see the
documentation for your particular board or machine.
</para></listitem>
</orderedlist>
</para>
</section>
<section id='speeding-up-the-build'>
<title>Speeding Up the Build</title>
<para>
Build time can be an issue.
By default, the build system uses simple controls to try and maximize
build efficiency.
In general, the default settings for all the following variables
result in the most efficient build times when dealing with single
socket systems (i.e. a single CPU).
If you have multiple CPUs, you might try increasing the default
values to gain more speed.
See the descriptions in the glossary for each variable for more
information:
<itemizedlist>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename>:</ulink>
The maximum number of threads BitBake simultaneously executes.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_BB_URL;#var-BB_NUMBER_PARSE_THREADS'><filename>BB_NUMBER_PARSE_THREADS</filename>:</ulink>
The number of threads BitBake uses during parsing.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKE'><filename>PARALLEL_MAKE</filename>:</ulink>
Extra options passed to the <filename>make</filename> command
during the
<ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-compile'><filename>do_compile</filename></ulink>
task in order to specify parallel compilation on the
local build host.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKEINST'><filename>PARALLEL_MAKEINST</filename>:</ulink>
Extra options passed to the <filename>make</filename> command
during the
<ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-install'><filename>do_install</filename></ulink>
task in order to specify parallel installation on the
local build host.
</para></listitem>
</itemizedlist>
As mentioned, these variables all scale to the number of processor
cores available on the build system.
For single socket systems, this auto-scaling ensures that the build
system fundamentally takes advantage of potential parallel operations
during the build based on the build machine's capabilities.
</para>
<para>
Following are additional factors that can affect build speed:
<itemizedlist>
<listitem><para>
File system type:
The file system type that the build is being performed on can
also influence performance.
Using <filename>ext4</filename> is recommended as compared
to <filename>ext2</filename> and <filename>ext3</filename>
due to <filename>ext4</filename> improved features
such as extents.
</para></listitem>
<listitem><para>
Disabling the updating of access time using
<filename>noatime</filename>:
The <filename>noatime</filename> mount option prevents the
build system from updating file and directory access times.
</para></listitem>
<listitem><para>
Setting a longer commit:
Using the "commit=" mount option increases the interval
in seconds between disk cache writes.
Changing this interval from the five second default to
something longer increases the risk of data loss but decreases
the need to write to the disk, thus increasing the build
performance.
</para></listitem>
<listitem><para>
Choosing the packaging backend:
Of the available packaging backends, IPK is the fastest.
Additionally, selecting a singular packaging backend also
helps.
</para></listitem>
<listitem><para>
Using <filename>tmpfs</filename> for
<ulink url='&YOCTO_DOCS_REF_URL;#var-TMPDIR'><filename>TMPDIR</filename></ulink>
as a temporary file system:
While this can help speed up the build, the benefits are
limited due to the compiler using
<filename>-pipe</filename>.
The build system goes to some lengths to avoid
<filename>sync()</filename> calls into the
file system on the principle that if there was a significant
failure, the
<ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>
contents could easily be rebuilt.
</para></listitem>
<listitem><para>
Inheriting the
<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-rm-work'><filename>rm_work</filename></ulink>
class:
Inheriting this class has shown to speed up builds due to
significantly lower amounts of data stored in the data
cache as well as on disk.
Inheriting this class also makes cleanup of
<ulink url='&YOCTO_DOCS_REF_URL;#var-TMPDIR'><filename>TMPDIR</filename></ulink>
faster, at the expense of being easily able to dive into the
source code.
File system maintainers have recommended that the fastest way
to clean up large numbers of files is to reformat partitions
rather than delete files due to the linear nature of
partitions.
This, of course, assumes you structure the disk partitions and
file systems in a way that this is practical.
</para></listitem>
</itemizedlist>
Aside from the previous list, you should keep some trade offs in
mind that can help you speed up the build:
<itemizedlist>
<listitem><para>
Remove items from
<ulink url='&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></ulink>
that you might not need.
</para></listitem>
<listitem><para>
Exclude debug symbols and other debug information:
If you do not need these symbols and other debug information,
disabling the <filename>*-dbg</filename> package generation
can speed up the build.
You can disable this generation by setting the
<ulink url='&YOCTO_DOCS_REF_URL;#var-INHIBIT_PACKAGE_DEBUG_SPLIT'><filename>INHIBIT_PACKAGE_DEBUG_SPLIT</filename></ulink>
variable to "1".
</para></listitem>
<listitem><para>
Disable static library generation for recipes derived from
<filename>autoconf</filename> or <filename>libtool</filename>:
Following is an example showing how to disable static
libraries and still provide an override to handle exceptions:
<literallayout class='monospaced'>
STATICLIBCONF = "--disable-static"
STATICLIBCONF_sqlite3-native = ""
EXTRA_OECONF += "${STATICLIBCONF}"
</literallayout>
<note><title>Notes</title>
<itemizedlist>
<listitem><para>
Some recipes need static libraries in order to work
correctly (e.g. <filename>pseudo-native</filename>
needs <filename>sqlite3-native</filename>).
Overrides, as in the previous example, account for
these kinds of exceptions.
</para></listitem>
<listitem><para>
Some packages have packaging code that assumes the
presence of the static libraries.
If so, you might need to exclude them as well.
</para></listitem>
</itemizedlist>
</note>
</para></listitem>
</itemizedlist>
</para>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4

View File

@@ -103,24 +103,9 @@
</revision>
<revision>
<revnumber>2.5</revnumber>
<date>May 2018</date>
<date>April 2018</date>
<revremark>Released with the Yocto Project 2.5 Release.</revremark>
</revision>
<revision>
<revnumber>2.5.1</revnumber>
<date>September 2018</date>
<revremark>The initial document released with the Yocto Project 2.5.1 Release.</revremark>
</revision>
<revision>
<revnumber>2.5.2</revnumber>
<date>January 2019</date>
<revremark>The initial document released with the Yocto Project 2.5.2 Release.</revremark>
</revision>
<revision>
<revnumber>2.5.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>The initial document released with the Yocto Project 2.5.3 Release.</revremark>
</revision>
</revhistory>
<copyright>
@@ -143,36 +128,24 @@
is for the &YOCTO_DOC_VERSION; release of the
Yocto Project.
To be sure you have the latest version of the manual
for this release, go to the
<ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink>
and select the manual from that site.
Manuals from the site are more up-to-date than manuals
derived from the Yocto Project released TAR files.
for this release, use the manual from the
<ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink>.
</para></listitem>
<listitem><para>
If you located this manual through a web search, the
version of the manual might not be the one you want
(e.g. the search might have returned a manual much
older than the Yocto Project version with which you
are working).
You can see all Yocto Project major releases by
visiting the
<ulink url='&YOCTO_WIKI_URL;/wiki/Releases'>Releases</ulink>
page.
If you need a version of this manual for a different
Yocto Project release, visit the
For manuals associated with other releases of the Yocto
Project, go to the
<ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink>
and select the manual set by using the
"ACTIVE RELEASES DOCUMENTATION" or "DOCUMENTS ARCHIVE"
pull-down menus.
and use the drop-down "Active Releases" button
and choose the manual associated with the desired
Yocto Project.
</para></listitem>
<listitem><para>
To report any inaccuracies or problems with this
manual, send an email to the Yocto Project
discussion group at
<filename>yocto@yoctoproject.com</filename> or log into
the freenode <filename>#yocto</filename> channel.
</para></listitem>
To report any inaccuracies or problems with this
manual, send an email to the Yocto Project
discussion group at
<filename>yocto@yoctoproject.com</filename> or log into
the freenode <filename>#yocto</filename> channel.
</para></listitem>
</itemizedlist>
</note>
</legalnotice>
@@ -183,6 +156,8 @@
<xi:include href="dev-manual-start.xml"/>
<xi:include href="dev-manual-newbie.xml"/>
<xi:include href="dev-manual-common-tasks.xml"/>
<xi:include href="dev-manual-qemu.xml"/>

View File

Before

Width:  |  Height:  |  Size: 186 KiB

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 292 KiB

After

Width:  |  Height:  |  Size: 292 KiB

View File

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 81 KiB

View File

@@ -0,0 +1,27 @@
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
<xsl:import href="http://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-xsl-1.76.1/xhtml/docbook.xsl" />
<!--
<xsl:import href="../template/1.76.1/docbook-xsl-1.76.1/xhtml/docbook.xsl" />
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.76.1/xhtml/docbook.xsl" />
-->
<xsl:include href="../template/permalinks.xsl"/>
<xsl:include href="../template/section.title.xsl"/>
<xsl:include href="../template/component.title.xsl"/>
<xsl:include href="../template/division.title.xsl"/>
<xsl:include href="../template/formal.object.heading.xsl"/>
<xsl:param name="html.stylesheet" select="'getting-started-style.css'" />
<xsl:param name="chapter.autolabel" select="1" />
<xsl:param name="appendix.autolabel" select="A" />
<xsl:param name="section.autolabel" select="1" />
<xsl:param name="section.label.includes.component.label" select="1" />
<xsl:param name="generate.id.attributes" select="1" />
</xsl:stylesheet>

View File

@@ -69,9 +69,7 @@
<title>The Development Host</title>
<para>
A development host or
<ulink url='&YOCTO_DOCS_REF_URL;#hardware-build-system-term'>build host</ulink>
is key to using the Yocto Project.
A development host or build host is key to using the Yocto Project.
Because the goal of the Yocto Project is to develop images or
applications that run on embedded hardware, development of those
images and applications generally takes place on a system not
@@ -119,10 +117,10 @@
<itemizedlist>
<listitem><para>
<emphasis>Command Lines, BitBake, and Shells:</emphasis>
Traditional development in the Yocto Project involves using the
<ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>OpenEmbedded build system</ulink>,
which uses BitBake, in a command-line environment from a shell
on your development host.
Traditional development in the Yocto Project involves using
OpenEmbedded build system, which uses BitBake, in a
command-line environment from a shell on your development
host.
You can accomplish this from a host that is a native Linux
machine or from a host that has been set up with CROPS.
Either way, you create, modify, and build images and
@@ -131,7 +129,7 @@
and the Yocto Project.</para>
<para>For a general flow of the build procedures, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#dev-building-a-simple-image'>Building a Simple Image</ulink>"
"<ulink url='&YOCTO_DOCS_DEV_URL;#dev-building-an-image'>Building an Image</ulink>"
section in the Yocto Project Development Tasks Manual.
</para></listitem>
<listitem><para>
@@ -144,7 +142,7 @@
</para>
<para>The
<ulink url='&YOCTO_DOCS_BSP_URL;'>Yocto Project Board Support Package (BSP) Developer's Guide</ulink>
<ulink url='&YOCTO_DOCS_BSP_URL;'>Yocto Project Board Support Package (BSP) Developer's Guide'</ulink>
provides BSP-related development information.
For specifics on development host preparation, see the
"<ulink url='&YOCTO_DOCS_BSP_URL;#preparing-your-build-host-to-work-with-bsp-layers'>Preparing Your Build Host to Work With BSP Layers</ulink>"
@@ -182,7 +180,7 @@
Extensible Software Development Kit (eSDK) manual.
</para></listitem>
<listitem><para>
<emphasis>Using Toaster:</emphasis>
<emphasis>Using the Toaster:</emphasis>
The other Yocto Project development method that involves an
interface that effectively puts the Yocto Project into the
background is Toaster.
@@ -207,7 +205,7 @@
<para>
The Yocto Project team maintains complete source repositories for all
Yocto Project files at
<ulink url='&YOCTO_GIT_URL;'></ulink>.
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi'></ulink>.
This web-based source code browser is organized into categories by
function such as IDE Plugins, Matchbox, Poky, Yocto Linux Kernel, and
so forth.
@@ -224,9 +222,8 @@
<para>
For any supported release of Yocto Project, you can also go to the
<ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink> and
select the "DOWNLOADS" item from the "SOFTWARE" menu and get a
released tarball of the <filename>poky</filename> repository, any
supported BSP tarball, or Yocto Project tools.
select the "Downloads" tab and get a released tarball of the
<filename>poky</filename> repository or any supported BSP tarballs.
Unpacking these tarballs gives you a snapshot of the released
files.
<note><title>Notes</title>
@@ -241,7 +238,8 @@
</para></listitem>
<listitem><para>
Be sure to always work in matching branches for both
the selected BSP repository and the Source Directory
the selected BSP repository and the
<ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>
(i.e. <filename>poky</filename>) repository.
For example, if you have checked out the "master" branch
of <filename>poky</filename> and you are going to use
@@ -258,7 +256,7 @@
<itemizedlist>
<listitem><para id='source-repositories'>
<emphasis>
<ulink url='&YOCTO_GIT_URL;'>Source Repositories:</ulink>
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi'>Source Repositories:</ulink>
</emphasis>
This area contains IDE Plugins, Matchbox, Poky, Poky Support,
Tools, Yocto Linux Kernel, and Yocto Metadata Layers.
@@ -292,17 +290,16 @@
section in the Yocto Project Development Tasks Manual.
</para></listitem>
<listitem><para id='downloads-page'>
<emphasis>"DOWNLOADS" page for the
<emphasis>"Downloads" page for the
<ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink>:
</emphasis></para>
<para>The Yocto Project website includes a "DOWNLOADS" page
accessible through the "SOFTWARE" menu that allows you to
download any Yocto Project release, tool, and Board Support
Package (BSP) in tarball form.
accessible through the "SOFTWARE" tab
that allows you to download any Yocto Project
release, tool, and Board Support Package (BSP) in tarball form.
The tarballs are similar to those found in the
<ulink url='&YOCTO_DL_URL;/releases/'>Index of /releases:</ulink>
area.</para>
<ulink url='&YOCTO_DL_URL;/releases/'>Index of /releases:</ulink> area.</para>
<para>
<imagedata fileref="figures/yp-download.png" align="center" width="6in" depth="4in" />
@@ -403,7 +400,7 @@
</para>
<para>
In summary, a single point of entry
To summarize the development workflow: a single point of entry
exists for changes into a "master" or development branch of the
Git repository, which is controlled by the projects maintainer.
And, a set of developers exist who independently develop, test, and
@@ -542,7 +539,7 @@
<listitem><para>
For information beyond the introductory nature in this
section, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#locating-yocto-project-source-files'>Locating Yocto Project Source Files</ulink>"
"<ulink url='&YOCTO_DOCS_DEV_URL;#working-with-yocto-project-source-files'>Working With Yocto Project Source Files</ulink>"
section in the Yocto Project Development Tasks Manual.
</para></listitem>
</itemizedlist>
@@ -556,7 +553,7 @@
As mentioned briefly in the previous section and also in the
"<link linkend='gs-git-workflows-and-the-yocto-project'>Git Workflows and the Yocto Project</link>"
section, the Yocto Project maintains source repositories at
<ulink url='&YOCTO_GIT_URL;'></ulink>.
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.
If you look at this web-interface of the repositories, each item
is a separate Git repository.
</para>
@@ -590,7 +587,7 @@
Once you have a local copy of a repository, you can take steps to
develop locally.
For examples on how to clone Git repositories, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#locating-yocto-project-source-files'>Locating Yocto Project Source Files</ulink>"
"<ulink url='&YOCTO_DOCS_DEV_URL;#working-with-yocto-project-source-files'>Working With Yocto Project Source Files</ulink>"
section in the Yocto Project Development Tasks Manual.
</para>
@@ -696,8 +693,8 @@
$ cd ~
$ git clone git://git.yoctoproject.org/poky
$ cd poky
$ git fetch --tags
$ git checkout tags/rocko-18.0.0 -b my_rocko-18.0.0
$ git fetch --all --tags --prune
$ git checkout tags/pyro-17.0.0 -b my-pyro-17.0.0
</literallayout>
In this example, the name of the top-level directory of your
local Yocto Project repository is <filename>poky</filename>.
@@ -705,9 +702,9 @@
<filename>git fetch</filename> command makes all the upstream
tags available locally in your repository.
Finally, the <filename>git checkout</filename> command
creates and checks out a branch named "my-rocko-18.0.0" that is
creates and checks out a branch named "my-pyro-17.0.0" that is
based on the upstream branch whose "HEAD" matches the
commit in the repository associated with the "rocko-18.0.0" tag.
commit in the repository associated with the "pyro-17.0.0" tag.
The files in your repository now exactly match that particular
Yocto Project release as it is tagged in the upstream Git
repository.
@@ -733,6 +730,11 @@
<ulink url='http://git-scm.com/documentation'>here</ulink>.
</para>
<para>
If you do not know much about Git, you should educate
yourself by visiting the links previously mentioned.
</para>
<para>
The following list of Git commands briefly describes some basic
Git operations as a way to get started.

View File

@@ -0,0 +1,35 @@
<?xml version='1.0'?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
<xsl:import href="http://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" />
<!--
<xsl:import href="../template/1.76.1/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" />
<xsl:import
href="http://docbook.sourceforge.net/release/xsl/1.76.1/eclipse/eclipse3.xsl" />
-->
<xsl:param name="chunker.output.indent" select="'yes'"/>
<xsl:param name="chunk.quietly" select="1"/>
<xsl:param name="chunk.first.sections" select="1"/>
<xsl:param name="chunk.section.depth" select="10"/>
<xsl:param name="use.id.as.filename" select="1"/>
<xsl:param name="ulink.target" select="'_self'" />
<xsl:param name="base.dir" select="'html/getting-started/'"/>
<xsl:param name="html.stylesheet" select="'../book.css'"/>
<xsl:param name="eclipse.manifest" select="0"/>
<xsl:param name="create.plugin.xml" select="0"/>
<xsl:param name="suppress.navigation" select="1"/>
<xsl:param name="generate.index" select="0"/>
<xsl:param name="chapter.autolabel" select="1" />
<xsl:param name="appendix.autolabel" select="1" />
<xsl:param name="section.autolabel" select="1" />
<xsl:param name="section.label.includes.component.label" select="1" />
</xsl:stylesheet>

View File

@@ -4,12 +4,12 @@
<chapter id='overview-manual-intro'>
<title>The Yocto Project Overview and Concepts Manual</title>
<section id='overview-manual-welcome'>
<title>The Getting Started With Yocto Project Manual</title>
<section id='getting-started-welcome'>
<title>Welcome</title>
<para>
Welcome to the Yocto Project Overview and Concepts Manual!
Welcome to the Getting Started With Yocto Project Manual!
This manual introduces the Yocto Project by providing concepts,
software overviews, best-known-methods (BKMs), and any other
high-level introductory information suitable for a new Yocto
@@ -25,10 +25,9 @@
Project.
You will learn about features and challenges of the
Yocto Project, the layer model, components and tools,
development methods, the
<ulink url='&YOCTO_DOCS_REF_URL;#poky'>Poky</ulink>
reference distribution, the OpenEmbedded build system
workflow, and some basic Yocto terms.
development methods, the Poky reference distribution,
the OpenEmbedded build system workflow, and some basic
Yocto terms.
</para></listitem>
<listitem><para>
<emphasis><link linkend='overview-development-environment'>The Yocto Project Development Environment</link>:</emphasis>
@@ -39,13 +38,6 @@
and the Yocto Project, a Git primer, and information
about licensing.
</para></listitem>
<listitem><para>
<emphasis><link linkend='overview-manual-concepts'>Yocto Project Concepts</link>:</emphasis>
This chapter presents various concepts regarding the
Yocto Project.
You can find conceptual information about components,
development, cross-toolchains, and so forth.
</para></listitem>
</itemizedlist>
</para>
@@ -88,7 +80,7 @@
</para>
</section>
<section id='overview-manual-other-information'>
<section id='getting-started-overview-other-information'>
<title>Other Information</title>
<para>
@@ -97,13 +89,19 @@
comprehension.
For additional introductory information on the Yocto Project, see
the <ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink>.
If you want to build an image with no knowledge of Yocto Project
as a way of quickly testing it out, see the
<ulink url='&YOCTO_DOCS_BRIEF_URL;'>Yocto Project Quick Build</ulink>
document.
You can find an introductory to using the Yocto Project by working
through the
<ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink>.
</para>
<para>
For a comprehensive list of links and other documentation, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#resources-links-and-related-documentation'>Links and Related Documentation</ulink>"
section in the Yocto Project Reference Manual.
For a paper showing how to set up and run a quick build using the
Yocto Project, see the
"<ulink url='&YOCTO_DOCS_BRIEF_URL;'>My First Yocto Project Build</ulink>"
paper.
</para>
</section>
</chapter>

View File

@@ -0,0 +1,988 @@
/*
Generic XHTML / DocBook XHTML CSS Stylesheet.
Browser wrangling and typographic design by
Oyvind Kolas / pippin@gimp.org
Customised for Poky by
Matthew Allum / mallum@o-hand.com
Thanks to:
Liam R. E. Quin
William Skaggs
Jakub Steiner
Structure
---------
The stylesheet is divided into the following sections:
Positioning
Margins, paddings, width, font-size, clearing.
Decorations
Borders, style
Colors
Colors
Graphics
Graphical backgrounds
Nasty IE tweaks
Workarounds needed to make it work in internet explorer,
currently makes the stylesheet non validating, but up until
this point it is validating.
Mozilla extensions
Transparency for footer
Rounded corners on boxes
*/
/*************** /
/ Positioning /
/ ***************/
body {
font-family: Verdana, Sans, sans-serif;
min-width: 640px;
width: 80%;
margin: 0em auto;
padding: 2em 5em 5em 5em;
color: #333;
}
h1,h2,h3,h4,h5,h6,h7 {
font-family: Arial, Sans;
color: #00557D;
clear: both;
}
h1 {
font-size: 2em;
text-align: left;
padding: 0em 0em 0em 0em;
margin: 2em 0em 0em 0em;
}
h2.subtitle {
margin: 0.10em 0em 3.0em 0em;
padding: 0em 0em 0em 0em;
font-size: 1.8em;
padding-left: 20%;
font-weight: normal;
font-style: italic;
}
h2 {
margin: 2em 0em 0.66em 0em;
padding: 0.5em 0em 0em 0em;
font-size: 1.5em;
font-weight: bold;
}
h3.subtitle {
margin: 0em 0em 1em 0em;
padding: 0em 0em 0em 0em;
font-size: 142.14%;
text-align: right;
}
h3 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 140%;
font-weight: bold;
}
h4 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 120%;
font-weight: bold;
}
h5 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 110%;
font-weight: bold;
}
h6 {
margin: 1em 0em 0em 0em;
padding: 1em 0em 0em 0em;
font-size: 110%;
font-weight: bold;
}
.authorgroup {
background-color: transparent;
background-repeat: no-repeat;
padding-top: 256px;
background-image: url("figures/getting-started-title.png");
background-position: left top;
margin-top: -256px;
padding-right: 50px;
margin-left: 0px;
text-align: right;
width: 740px;
}
h3.author {
margin: 0em 0me 0em 0em;
padding: 0em 0em 0em 0em;
font-weight: normal;
font-size: 100%;
color: #333;
clear: both;
}
.author tt.email {
font-size: 66%;
}
.titlepage hr {
width: 0em;
clear: both;
}
.revhistory {
padding-top: 2em;
clear: both;
}
.toc,
.list-of-tables,
.list-of-examples,
.list-of-figures {
padding: 1.33em 0em 2.5em 0em;
color: #00557D;
}
.toc p,
.list-of-tables p,
.list-of-figures p,
.list-of-examples p {
padding: 0em 0em 0em 0em;
padding: 0em 0em 0.3em;
margin: 1.5em 0em 0em 0em;
}
.toc p b,
.list-of-tables p b,
.list-of-figures p b,
.list-of-examples p b{
font-size: 100.0%;
font-weight: bold;
}
.toc dl,
.list-of-tables dl,
.list-of-figures dl,
.list-of-examples dl {
margin: 0em 0em 0.5em 0em;
padding: 0em 0em 0em 0em;
}
.toc dt {
margin: 0em 0em 0em 0em;
padding: 0em 0em 0em 0em;
}
.toc dd {
margin: 0em 0em 0em 2.6em;
padding: 0em 0em 0em 0em;
}
div.glossary dl,
div.variablelist dl {
}
.glossary dl dt,
.variablelist dl dt,
.variablelist dl dt span.term {
font-weight: normal;
width: 20em;
text-align: right;
}
.variablelist dl dt {
margin-top: 0.5em;
}
.glossary dl dd,
.variablelist dl dd {
margin-top: -1em;
margin-left: 25.5em;
}
.glossary dd p,
.variablelist dd p {
margin-top: 0em;
margin-bottom: 1em;
}
div.calloutlist table td {
padding: 0em 0em 0em 0em;
margin: 0em 0em 0em 0em;
}
div.calloutlist table td p {
margin-top: 0em;
margin-bottom: 1em;
}
div p.copyright {
text-align: left;
}
div.legalnotice p.legalnotice-title {
margin-bottom: 0em;
}
p {
line-height: 1.5em;
margin-top: 0em;
}
dl {
padding-top: 0em;
}
hr {
border: solid 1px;
}
.mediaobject,
.mediaobjectco {
text-align: center;
}
img {
border: none;
}
ul {
padding: 0em 0em 0em 1.5em;
}
ul li {
padding: 0em 0em 0em 0em;
}
ul li p {
text-align: left;
}
table {
width :100%;
}
th {
padding: 0.25em;
text-align: left;
font-weight: normal;
vertical-align: top;
}
td {
padding: 0.25em;
vertical-align: top;
}
p a[id] {
margin: 0px;
padding: 0px;
display: inline;
background-image: none;
}
a {
text-decoration: underline;
color: #444;
}
pre {
overflow: auto;
}
a:hover {
text-decoration: underline;
/*font-weight: bold;*/
}
/* This style defines how the permalink character
appears by itself and when hovered over with
the mouse. */
[alt='Permalink'] { color: #eee; }
[alt='Permalink']:hover { color: black; }
div.informalfigure,
div.informalexample,
div.informaltable,
div.figure,
div.table,
div.example {
margin: 1em 0em;
padding: 1em;
page-break-inside: avoid;
}
div.informalfigure p.title b,
div.informalexample p.title b,
div.informaltable p.title b,
div.figure p.title b,
div.example p.title b,
div.table p.title b{
padding-top: 0em;
margin-top: 0em;
font-size: 100%;
font-weight: normal;
}
.mediaobject .caption,
.mediaobject .caption p {
text-align: center;
font-size: 80%;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
.epigraph {
padding-left: 55%;
margin-bottom: 1em;
}
.epigraph p {
text-align: left;
}
.epigraph .quote {
font-style: italic;
}
.epigraph .attribution {
font-style: normal;
text-align: right;
}
span.application {
font-style: italic;
}
.programlisting {
font-family: monospace;
font-size: 80%;
white-space: pre;
margin: 1.33em 0em;
padding: 1.33em;
}
.tip,
.warning,
.caution,
.note {
margin-top: 1em;
margin-bottom: 1em;
}
/* force full width of table within div */
.tip table,
.warning table,
.caution table,
.note table {
border: none;
width: 100%;
}
.tip table th,
.warning table th,
.caution table th,
.note table th {
padding: 0.8em 0.0em 0.0em 0.0em;
margin : 0em 0em 0em 0em;
}
.tip p,
.warning p,
.caution p,
.note p {
margin-top: 0.5em;
margin-bottom: 0.5em;
padding-right: 1em;
text-align: left;
}
.acronym {
text-transform: uppercase;
}
b.keycap,
.keycap {
padding: 0.09em 0.3em;
margin: 0em;
}
.itemizedlist li {
clear: none;
}
.filename {
font-size: medium;
font-family: Courier, monospace;
}
div.navheader, div.heading{
position: absolute;
left: 0em;
top: 0em;
width: 100%;
background-color: #cdf;
width: 100%;
}
div.navfooter, div.footing{
position: fixed;
left: 0em;
bottom: 0em;
background-color: #eee;
width: 100%;
}
div.navheader td,
div.navfooter td {
font-size: 66%;
}
div.navheader table th {
/*font-family: Georgia, Times, serif;*/
/*font-size: x-large;*/
font-size: 80%;
}
div.navheader table {
border-left: 0em;
border-right: 0em;
border-top: 0em;
width: 100%;
}
div.navfooter table {
border-left: 0em;
border-right: 0em;
border-bottom: 0em;
width: 100%;
}
div.navheader table td a,
div.navfooter table td a {
color: #777;
text-decoration: none;
}
/* normal text in the footer */
div.navfooter table td {
color: black;
}
div.navheader table td a:visited,
div.navfooter table td a:visited {
color: #444;
}
/* links in header and footer */
div.navheader table td a:hover,
div.navfooter table td a:hover {
text-decoration: underline;
background-color: transparent;
color: #33a;
}
div.navheader hr,
div.navfooter hr {
display: none;
}
.qandaset tr.question td p {
margin: 0em 0em 1em 0em;
padding: 0em 0em 0em 0em;
}
.qandaset tr.answer td p {
margin: 0em 0em 1em 0em;
padding: 0em 0em 0em 0em;
}
.answer td {
padding-bottom: 1.5em;
}
.emphasis {
font-weight: bold;
}
/************* /
/ decorations /
/ *************/
.titlepage {
}
.part .title {
}
.subtitle {
border: none;
}
/*
h1 {
border: none;
}
h2 {
border-top: solid 0.2em;
border-bottom: solid 0.06em;
}
h3 {
border-top: 0em;
border-bottom: solid 0.06em;
}
h4 {
border: 0em;
border-bottom: solid 0.06em;
}
h5 {
border: 0em;
}
*/
.programlisting {
border: solid 1px;
}
div.figure,
div.table,
div.informalfigure,
div.informaltable,
div.informalexample,
div.example {
border: 1px solid;
}
.tip,
.warning,
.caution,
.note {
border: 1px solid;
}
.tip table th,
.warning table th,
.caution table th,
.note table th {
border-bottom: 1px solid;
}
.question td {
border-top: 1px solid black;
}
.answer {
}
b.keycap,
.keycap {
border: 1px solid;
}
div.navheader, div.heading{
border-bottom: 1px solid;
}
div.navfooter, div.footing{
border-top: 1px solid;
}
/********* /
/ colors /
/ *********/
body {
color: #333;
background: white;
}
a {
background: transparent;
}
a:hover {
background-color: #dedede;
}
h1,
h2,
h3,
h4,
h5,
h6,
h7,
h8 {
background-color: transparent;
}
hr {
border-color: #aaa;
}
.tip, .warning, .caution, .note {
border-color: #fff;
}
.tip table th,
.warning table th,
.caution table th,
.note table th {
border-bottom-color: #fff;
}
.warning {
background-color: #f0f0f2;
}
.caution {
background-color: #f0f0f2;
}
.tip {
background-color: #f0f0f2;
}
.note {
background-color: #f0f0f2;
}
.glossary dl dt,
.variablelist dl dt,
.variablelist dl dt span.term {
color: #044;
}
div.figure,
div.table,
div.example,
div.informalfigure,
div.informaltable,
div.informalexample {
border-color: #aaa;
}
pre.programlisting {
color: black;
background-color: #fff;
border-color: #aaa;
border-width: 2px;
}
.guimenu,
.guilabel,
.guimenuitem {
background-color: #eee;
}
b.keycap,
.keycap {
background-color: #eee;
border-color: #999;
}
div.navheader {
border-color: black;
}
div.navfooter {
border-color: black;
}
.writernotes {
color: red;
}
/*********** /
/ graphics /
/ ***********/
/*
body {
background-image: url("images/body_bg.jpg");
background-attachment: fixed;
}
.navheader,
.note,
.tip {
background-image: url("images/note_bg.jpg");
background-attachment: fixed;
}
.warning,
.caution {
background-image: url("images/warning_bg.jpg");
background-attachment: fixed;
}
.figure,
.informalfigure,
.example,
.informalexample,
.table,
.informaltable {
background-image: url("images/figure_bg.jpg");
background-attachment: fixed;
}
*/
h1,
h2,
h3,
h4,
h5,
h6,
h7{
}
/*
Example of how to stick an image as part of the title.
div.article .titlepage .title
{
background-image: url("figures/white-on-black.png");
background-position: center;
background-repeat: repeat-x;
}
*/
div.preface .titlepage .title,
div.colophon .title,
div.chapter .titlepage .title,
div.article .titlepage .title
{
}
div.section div.section .titlepage .title,
div.sect2 .titlepage .title {
background: none;
}
h1.title {
background-color: transparent;
background-repeat: no-repeat;
height: 256px;
text-indent: -9000px;
overflow:hidden;
}
h2.subtitle {
background-color: transparent;
text-indent: -9000px;
overflow:hidden;
width: 0px;
display: none;
}
/*************************************** /
/ pippin.gimp.org specific alterations /
/ ***************************************/
/*
div.heading, div.navheader {
color: #777;
font-size: 80%;
padding: 0;
margin: 0;
text-align: left;
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 50px;
background: url('/gfx/heading_bg.png') transparent;
background-repeat: repeat-x;
background-attachment: fixed;
border: none;
}
div.heading a {
color: #444;
}
div.footing, div.navfooter {
border: none;
color: #ddd;
font-size: 80%;
text-align:right;
width: 100%;
padding-top: 10px;
position: absolute;
bottom: 0px;
left: 0px;
background: url('/gfx/footing_bg.png') transparent;
}
*/
/****************** /
/ nasty ie tweaks /
/ ******************/
/*
div.heading, div.navheader {
width:expression(document.body.clientWidth + "px");
}
div.footing, div.navfooter {
width:expression(document.body.clientWidth + "px");
margin-left:expression("-5em");
}
body {
padding:expression("4em 5em 0em 5em");
}
*/
/**************************************** /
/ mozilla vendor specific css extensions /
/ ****************************************/
/*
div.navfooter, div.footing{
-moz-opacity: 0.8em;
}
div.figure,
div.table,
div.informalfigure,
div.informaltable,
div.informalexample,
div.example,
.tip,
.warning,
.caution,
.note {
-moz-border-radius: 0.5em;
}
b.keycap,
.keycap {
-moz-border-radius: 0.3em;
}
*/
table tr td table tr td {
display: none;
}
hr {
display: none;
}
table {
border: 0em;
}
.photo {
float: right;
margin-left: 1.5em;
margin-bottom: 1.5em;
margin-top: 0em;
max-width: 17em;
border: 1px solid gray;
padding: 3px;
background: white;
}
.seperator {
padding-top: 2em;
clear: both;
}
#validators {
margin-top: 5em;
text-align: right;
color: #777;
}
@media print {
body {
font-size: 8pt;
}
.noprint {
display: none;
}
}
.tip,
.note {
background: #f0f0f2;
color: #333;
padding: 20px;
margin: 20px;
}
.tip h3,
.note h3 {
padding: 0em;
margin: 0em;
font-size: 2em;
font-weight: bold;
color: #333;
}
.tip a,
.note a {
color: #333;
text-decoration: underline;
}
.footnote {
font-size: small;
color: #333;
}
/* Changes the announcement text */
.tip h3,
.warning h3,
.caution h3,
.note h3 {
font-size:large;
color: #00557D;
}

View File

@@ -25,11 +25,11 @@
Project provides advantages in both systems and applications
development, archival and management benefits, and customizations
used for speed, footprint, and memory utilization.
The project is a standard when it comes to delivering embedded
software stacks.
The project allows software customizations and build interchange
for multiple hardware platforms as well as software stacks that
can be maintained and scaled.
The project is a standard when it comes to delivering hardware
support and software stacks, allowing software configuration
and build interchange, and build and support customizations for
multiple hardware platforms and software stacks that can be
maintained and scaled.
</para>
<para id='yp-key-dev-elements'>
@@ -61,12 +61,9 @@
Semiconductor, operating system, software, and
service vendors exist whose products and services
adopt and support the Yocto Project.
For a look at the Yocto Project community and
the companies involved with the Yocto
Project, see the "COMMUNITY" and "ECOSYSTEM" tabs
on the
<ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink>
home page.
For a look at the companies involved with the Yocto
Project, see the membership, associate, and
participant pages on the Yocto Project home page.
</para></listitem>
<listitem><para>
<emphasis>Architecture Agnostic:</emphasis>
@@ -139,9 +136,8 @@
</para></listitem>
<listitem><para>
<emphasis>Uses a Layer Model:</emphasis>
The Yocto Project
<link linkend='the-yocto-project-layer-model'>layer infrastructure</link>
groups related functionality into separate bundles.
The Yocto Project layer infrastructure groups related
functionality into separate bundles.
You can incrementally add these grouped functionalities
to your project as needed.
Using layers to isolate and group functionality
@@ -154,16 +150,14 @@
You can build and rebuild individual packages as
needed.
Yocto Project accomplishes this through its
<link linkend='shared-state-cache'>shared-state cache</link>
(sstate) scheme.
shared-state cache (sstate) scheme.
Being able to build and debug components individually
eases project development.
</para></listitem>
<listitem><para>
<emphasis>Releases According to a Strict Schedule:</emphasis>
Major releases occur on a
<ulink url='&YOCTO_DOCS_REF_URL;#ref-release-process'>six-month cycle</ulink>
predictably in October and April.
Major releases occur on a six-month cycle predictably
in October and April.
The most recent two releases support point releases
to address common vulnerabilities and exposures.
This predictability is crucial for projects based on
@@ -191,9 +185,8 @@
</para></listitem>
<listitem><para>
<emphasis>License Manifest:</emphasis>
The Yocto Project provides a
<ulink url='&YOCTO_DOCS_DEV_URL;#maintaining-open-source-license-compliance-during-your-products-lifecycle'>license manifest</ulink>
for review by people who need to track the use of open
The Yocto Project provides a license manifest for
review by people who need to track the use of open
source licenses (e.g.legal teams).
</para></listitem>
</itemizedlist>
@@ -224,18 +217,15 @@
investigation.
For information that helps you transition from
trying out the Yocto Project to using it for your
project, see the
"<ulink url='&YOCTO_HOME_URL;/docs/what-i-wish-id-known/'>What I wish I'd Known</ulink>"
and
"<ulink url='&YOCTO_HOME_URL;/docs/transitioning-to-a-custom-environment/'>Transitioning to a Custom Environment for Systems Development</ulink>"
documents on the Yocto Project website.
project, see the "What I wish I'd Known" and
"Transitioning to a Custom Environment for Systems
Development" documents on the Yocto Project website.
</para></listitem>
<listitem><para>
<emphasis>Project Workflow Could Be Confusing:</emphasis>
The
<link linkend='overview-development-environment'>Yocto Project workflow</link>
could be confusing if you are used to traditional
desktop and server software development.
The Yocto Project workflow could be confusing if you
are used to traditional desktop and server software
development.
In a desktop development environment, mechanisms exist
to easily pull and install new packages, which are
typically pre-compiled binaries from servers accessible
@@ -260,8 +250,7 @@
within the BitBake environment and then deploying only
the updated packages to the target.</para>
<para>The Yocto Project
<ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>OpenEmbedded build system</ulink>
<para>The Yocto Project OpenEmbedded build system
produces packages in standard formats (i.e. RPM,
DEB, IPK, and TAR).
You can deploy these packages into the running system
@@ -296,9 +285,7 @@
The Layer Model simultaneously supports collaboration and
customization.
Layers are repositories that contain related sets of instructions
that tell the
<ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>OpenEmbedded build system</ulink>
what to do.
that tell the OpenEmbedded build system what to do.
You can collaborate, share, and reuse layers.
</para>
@@ -340,10 +327,9 @@
<listitem><para>
Layers support the inclusion of technologies, hardware
components, and software components.
The
<ulink url='&YOCTO_DOCS_DEV_URL;#making-sure-your-layer-is-compatible-with-yocto-project'>Yocto Project Compatible</ulink>
designation provides a minimum level of standardization
that contributes to a strong ecosystem.
The Yocto Project Compatible designation provides a
minimum level of standardization that contributes to a
strong ecosystem.
"YP Compatible" is applied to appropriate products and
software components such as BSPs, other OE-compatible
layers, and related open-source projects, allowing the
@@ -373,7 +359,7 @@
in this section.
<note>
For general information on BSP layer structure, see the
<ulink url='&YOCTO_DOCS_BSP_URL;'>Yocto Project Board Support Packages (BSP) Developer's Guide</ulink>.
<ulink url='&YOCTO_DOCS_BSP_URL;#bsp'>Board Support Packages (BSP) - Developer's Guide</ulink>.
</note>
</para>
@@ -417,9 +403,7 @@
and by those using the Yocto Project.
These components and tools are open source projects and
metadata that are separate from the reference distribution
(<ulink url='&YOCTO_DOCS_REF_URL;#poky'>Poky</ulink>)
and the
<ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>OpenEmbedded build system</ulink>.
(Poky) and the OpenEmbedded build system.
Most of the components and tools are downloaded separately.
</para>
@@ -498,8 +482,7 @@
</para>
<para>For information on the eSDK, see the
<ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</ulink>
Manual.
<ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and Extensible Software Development Kit (eSDK) Manual</ulink>.
</para></listitem>
<listitem><para>
<emphasis><trademark class='trade'>Eclipse</trademark> IDE Plug-in:</emphasis>
@@ -536,8 +519,6 @@
OpenEmbedded build system.
Toaster allows you to configure, run, and view
information about builds.
For information on Toaster, see the
<ulink url='&YOCTO_DOCS_TOAST_URL;'>Toaster User Manual</ulink>.
</para></listitem>
</itemizedlist>
</para>
@@ -553,10 +534,10 @@
<listitem><para>
<emphasis>Auto Upgrade Helper:</emphasis>
This utility when used in conjunction with the
<ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>OpenEmbedded build system</ulink>
(BitBake and OE-Core) automatically generates upgrades
for recipes that are based on new versions of the
recipes published upstream.
OpenEmbedded build system (BitBake and OE-Core)
automatically generates upgrades for recipes that
are based on new versions of the recipes published
upstream.
</para></listitem>
<listitem><para>
<emphasis>Recipe Reporting System:</emphasis>
@@ -565,10 +546,9 @@
The main purpose of the system is to help you
manage the recipes you maintain and to offer a dynamic
overview of the project.
The Recipe Reporting System is built on top of the
<ulink url="http://layers.openembedded.org/layerindex/layers/">OpenEmbedded Layer Index</ulink>,
which is a website that indexes OpenEmbedded-Core
layers.
The Recipe Reporting System is built on top
the of OpenEmbedded Metadata Index, which is a website
that indexes layers for the OpenEmbedded build system.
</para></listitem>
<listitem><para>
<emphasis>Patchwork:</emphasis>
@@ -588,10 +568,7 @@
and quality assurance (QA).
By using the public AutoBuilder, anyone can determine
the status of the current "master" branch of Poky.
<note>
AutoBuilder is based on
<ulink url='https://buildbot.net/'>buildbot</ulink>.
</note></para>
</para>
<para>A goal of the Yocto Project is to lead the
open source industry with a project that automates
@@ -677,8 +654,8 @@
when they do not.</para>
<para>You can read more about Pseudo in the
"<link linkend='fakeroot-and-pseudo'>Fakeroot and Pseudo</link>"
section.
"<ulink url='&YOCTO_DOCS_CM_URL;#fakeroot-and-pseudo'>Fakeroot and Pseudo</ulink>"
section of the Yocto Project Concepts Manual.
</para></listitem>
</itemizedlist>
</para>
@@ -689,7 +666,7 @@
<para>
The following list consists of components associated with the
<ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>OpenEmbedded build system</ulink>:
Open-Embedded build system:
<itemizedlist>
<listitem><para>
<emphasis>BitBake:</emphasis>
@@ -710,15 +687,17 @@
<ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>.
</para></listitem>
<listitem><para>
<emphasis>OpenEmbedded-Core:</emphasis>
OpenEmbedded-Core (OE-Core) is a common layer of
<emphasis>Openembedded Core:</emphasis>
OpenEmbedded Core (OE-Core) is a common layer of
metadata (i.e. recipes, classes, and associated files)
used by OpenEmbedded-derived systems, which includes
the Yocto Project.
The Yocto Project and the OpenEmbedded Project both
maintain the OpenEmbedded-Core.
You can find the OE-Core metadata in the Yocto Project
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta'>Source Repositories</ulink>.
maintain the OpenEmbedded Core.
You can find the OE-Core metadata in the Yocto
Project
<ulink url='&YOCTO_DOCS_GS_URL;#source-repositories'>Source Repositories</ulink>
<ulink url='https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta'>here</ulink>.
</para>
<para>Historically, the Yocto Project integrated the
@@ -753,10 +732,9 @@
<para>
Poky is the Yocto Project reference distribution.
It contains the
<ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>Open-Embedded build system</ulink>
(BitBake and OE-Core) as well as a set of metadata to get you
started building your own distribution.
It contains the OpenEmbedded build system (BitBake and OE-Core)
as well as a set of metadata to get you started building your
own distribution.
See the
<link linkend='what-is-the-yocto-project'>figure</link> in
"What is the Yocto Project?" section for an illustration
@@ -797,9 +775,10 @@
specific, non-desktop platform to enhance usability
in constrained environments.</para>
<para>You can find the Matchbox source in the Yocto
Project
<ulink url='&YOCTO_GIT_URL;'>Source Repositories</ulink>.
<para>You can find the Matchbox source in its
<ulink url='http://git.yoctoproject.org/cgit/cgit.cgi'>repository</ulink>
listed in the Yocto Project
<ulink url='&YOCTO_DOCS_GS_URL;#source-repositories'>Source Repositories</ulink>.
</para></listitem>
<listitem><para>
<emphasis>Opkg</emphasis>
@@ -941,7 +920,7 @@
Regardless of what your Build Host is running, you can
use Toaster to develop software using the Yocto Project.
Toaster is a web interface to the Yocto Project's
<ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>Open-Embedded build system</ulink>.
OpenEmbedded build system.
The interface enables you to configure and run your
builds.
Information about builds is collected and stored in a
@@ -964,7 +943,7 @@
<para>For information about how to install and use the
Yocto Project Eclipse plug-in, see the
"<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-eclipse-project'>Developing Applications Using Eclipse</ulink>"
chapter in the Yocto Project Application Development and
section in the Yocto Project Application Development and
the Extensible Software Development Kit (eSDK) Manual.
</para></listitem>
</itemizedlist>
@@ -980,8 +959,9 @@
Kit.
Poky contains the
<ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>OpenEmbedded Build System</ulink>
build system
(<ulink url='&YOCTO_DOCS_REF_URL;#bitbake-term'>BitBake</ulink> and
<ulink url='&YOCTO_DOCS_REF_URL;#oe-core'>OpenEmbedded-Core</ulink>)
<ulink url='&YOCTO_DOCS_REF_URL;#oe-core'>OpenEmbedded Core</ulink>)
as well as a set of
<ulink url='&YOCTO_DOCS_REF_URL;#metadata'>metadata</ulink> to get
you started building your own distro.
@@ -1020,7 +1000,7 @@
metadata.
</para></listitem>
<listitem><para>
<filename>meta-yocto-bsp</filename>, which are Yocto
<filename>meta-yocto-bsp</filename>, which is Yocto
Project-specific Board Support Packages (BSPs).
</para></listitem>
<listitem><para>
@@ -1080,9 +1060,7 @@
One of the most powerful properties of Poky is that every aspect
of a build is controlled by the metadata.
You can use metadata to augment these base image types by
adding metadata
<link linkend='the-yocto-project-layer-model'>layers</link>
that extend functionality.
adding metadata layers that extend functionality.
These layers can provide, for example, an additional software
stack for an image type, add a board support package (BSP) for
additional hardware, or even create a new image type.
@@ -1117,9 +1095,8 @@
<title>The OpenEmbedded Build System Workflow</title>
<para>
The
<ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>OpenEmbedded build system</ulink>
uses a "workflow" to accomplish image and SDK generation.
The OpenEmbedded build system uses a "workflow" to accomplish
image and SDK generation.
The following figure overviews that workflow:
<imagedata fileref="figures/YP-flow-diagram.png"
format="PNG" align='center' width="8in"/>
@@ -1136,10 +1113,10 @@
or source code repositories systems such as Git.
</para></listitem>
<listitem><para>
Once source code is downloaded, the build system extracts
the sources into a local work area where patches are
applied and common steps for configuring and compiling
the software are run.
Once downloaded, the build system extracts the sources
into a local work area where patches are applied and
common steps for configuring and compiling the software
are run.
</para></listitem>
<listitem><para>
The build system then installs the software into a
@@ -1165,8 +1142,8 @@
<para>
For a very detailed look at this workflow, see the
"<link linkend='openembedded-build-system-build-concepts'>OpenEmbedded Build System Concepts</link>"
section.
"<ulink url='&YOCTO_DOCS_CM_URL;#development-concepts'>Development Concepts</ulink>"
section in the Yocto Project Concepts Manual.
</para>
</section>
@@ -1187,9 +1164,8 @@
Files that hold global definitions of variables,
user-defined variables, and hardware configuration
information.
These files tell the
<ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>Open-Embedded build system</ulink>
what to build and what to put into the image to support a
These files tell the OpenEmbedded build system what to
build and what to put into the image to support a
particular platform.
</para></listitem>
<listitem><para>
@@ -1199,7 +1175,7 @@
and programming changes back into the image to make
their code available to other application developers.
For information on the eSDK, see the
<ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</ulink>
<ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and Extensible Software Development Kit (eSDK)</ulink>
manual.
</para></listitem>
<listitem><para>
@@ -1229,7 +1205,8 @@
<emphasis>Metadata:</emphasis>
A key element of the Yocto Project is the Metadata that
is used to construct a Linux distribution and is contained
in the files that the OpenEmbedded build system parses
in the files that the
<link linkend='gs-term-openembedded-build-system'>OpenEmbedded build system</link> parses
when building an image.
In general, Metadata includes recipes, configuration
files, and other information that refers to the build
@@ -1242,7 +1219,7 @@
software itself (patches or auxiliary files) that
are used to fix bugs or customize the software for use
in a particular situation.
OpenEmbedded-Core is an important set of validated
OpenEmbedded Core is an important set of validated
metadata.
</para></listitem>
<listitem><para id='gs-term-openembedded-build-system'>
@@ -1296,10 +1273,10 @@
<para>It is worth noting that the term "package" can,
in general, have subtle meanings.
For example, the packages referred to in the
"<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>"
section in the Yocto Project Reference Manual are compiled
binaries that, when installed, add functionality to your
Linux distribution.</para>
"<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Build Host Packages</ulink>"
section in the Yocto Project Quick Start are compiled binaries
that, when installed, add functionality to your Linux
distribution.</para>
<para>Another point worth noting is that historically within
the Yocto Project, recipes were referred to as packages - thus,

View File

@@ -0,0 +1,94 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<book id='getting-started-manual' lang='en'
xmlns:xi="http://www.w3.org/2003/XInclude"
xmlns="http://docbook.org/ns/docbook"
>
<bookinfo>
<mediaobject>
<imageobject>
<imagedata fileref='figures/getting-started-title.png'
format='SVG'
align='left' scalefit='1' width='100%'/>
</imageobject>
</mediaobject>
<title>
Getting Started With Yocto Project
</title>
<authorgroup>
<author>
<firstname>Scott</firstname> <surname>Rifenbark</surname>
<affiliation>
<orgname>Scotty's Documentation Services, INC</orgname>
</affiliation>
<email>srifenbark@gmail.com</email>
</author>
</authorgroup>
<revhistory>
<revision>
<revnumber>2.5</revnumber>
<date>April 2018</date>
<revremark>The initial document released with the Yocto Project 2.5 Release.</revremark>
</revision>
</revhistory>
<copyright>
<year>&COPYRIGHT_YEAR;</year>
<holder>Linux Foundation</holder>
</copyright>
<legalnotice>
<para>
Permission is granted to copy, distribute and/or modify this document under
the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-sa/2.0/uk/">
Creative Commons Attribution-Share Alike 2.0 UK: England &amp; Wales</ulink> as published by
Creative Commons.
</para>
<note><title>Manual Notes</title>
<itemizedlist>
<listitem><para>
This version of the
<emphasis>Getting Started With Yocto Project Manual</emphasis>
is for the &YOCTO_DOC_VERSION; release of the
Yocto Project.
To be sure you have the latest version of the manual
for this release, use the manual from the
<ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink>.
</para></listitem>
<listitem><para>
For manuals associated with other releases of the Yocto
Project, go to the
<ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink>
and use the drop-down "Active Releases" button
and choose the manual associated with the desired
Yocto Project.
</para></listitem>
<listitem><para>
To report any inaccuracies or problems with this
manual, send an email to the Yocto Project
discussion group at
<filename>yocto@yoctoproject.com</filename> or log into
the freenode <filename>#yocto</filename> channel.
</para></listitem>
</itemizedlist>
</note>
</legalnotice>
</bookinfo>
<xi:include href="getting-started-intro.xml"/>
<xi:include href="getting-started-yp-intro.xml"/>
<xi:include href="getting-started-development-environment.xml"/>
</book>
<!--
vim: expandtab tw=80 ts=4
-->

View File

@@ -21,7 +21,7 @@
<para>
Kernel Metadata exists in many places.
One area in the Yocto Project
<ulink url='&YOCTO_DOCS_OM_URL;#source-repositories'>Source Repositories</ulink>
<ulink url='&YOCTO_DOCS_GS_URL;#source-repositories'>Source Repositories</ulink>
is the <filename>yocto-kernel-cache</filename> Git repository.
You can find this repository grouped under the "Yocto Linux Kernel"
heading in the
@@ -64,7 +64,8 @@
<ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink>
variable.
This variable is typically set to the same value as the
<filename>MACHINE</filename> variable, which is used by
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
variable, which is used by
<ulink url='&YOCTO_DOCS_REF_URL;#bitbake-term'>BitBake</ulink>.
However, in some cases, the variable might instead refer to the
underlying platform of the <filename>MACHINE</filename>.
@@ -76,7 +77,8 @@
Multiple Corei7-based BSPs could share the same "intel-corei7-64"
value for <filename>KMACHINE</filename>.
It is important to realize that <filename>KMACHINE</filename> is
just for kernel mapping, while <filename>MACHINE</filename>
just for kernel mapping, while
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
is the machine type within a BSP Layer.
Even with this distinction, however, these two variables can hold
the same value.
@@ -114,7 +116,8 @@
used in assembling the configuration.
If you do not specify a <filename>LINUX_KERNEL_TYPE</filename>,
it defaults to "standard".
Together with <filename>KMACHINE</filename>,
Together with
<ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink>,
<filename>LINUX_KERNEL_TYPE</filename> defines the search
arguments used by the kernel tools to find the
appropriate description within the kernel Metadata with which to
@@ -641,7 +644,8 @@
aggregation concepts, and presents a detailed example using
a BSP supported by the Yocto Project (i.e. BeagleBone Board).
For complete information on BSP layer file hierarchy, see the
<ulink url='&YOCTO_DOCS_BSP_URL;'>Yocto Project Board Support Package (BSP) Developer's Guide</ulink>.
<ulink url='&YOCTO_DOCS_BSP_URL;'>Yocto Project Board Support
Package (BSP) Developer's Guide</ulink>.
</para>
<section id='bsp-description-file-overview'>
@@ -852,7 +856,7 @@
<para>
Now consider the "minnow" description for the "tiny" kernel
type (i.e. <filename>minnow-tiny.scc</filename>):
type (i.e. <filename>minnow-tiny.scc</filename>:
<literallayout class='monospaced'>
define KMACHINE minnow
define KTYPE tiny
@@ -1014,7 +1018,8 @@
<para>
If you modify the Metadata, you must not forget to update the
<filename>SRCREV</filename> statements in the kernel's recipe.
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRCREV'><filename>SRCREV</filename></ulink>
statements in the kernel's recipe.
In particular, you need to update the
<filename>SRCREV_meta</filename> variable to match the commit in
the <filename>KMETA</filename> branch you wish to use.
@@ -1222,13 +1227,9 @@
</para></listitem>
<listitem><para>
<filename>define</filename>:
Defines variables, such as
<ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-KTYPE'><filename>KTYPE</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-KARCH'><filename>KARCH</filename></ulink>,
and
<ulink url='&YOCTO_DOCS_REF_URL;#var-KFEATURE_DESCRIPTION'><filename>KFEATURE_DESCRIPTION</filename></ulink>.
</para></listitem>
Defines variables, such as <filename>KMACHINE</filename>,
<filename>KTYPE</filename>, <filename>KARCH</filename>,
and <filename>KFEATURE_DESCRIPTION</filename>.</para></listitem>
<listitem><para>
<filename>include SCC_FILE</filename>:
Includes an SCC file in the current file.

View File

@@ -25,7 +25,7 @@
Before you can do any kernel development, you need to be
sure your build host is set up to use the Yocto Project.
For information on how to get set up, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-the-development-host-to-use-the-yocto-project'>Preparing the Build Host</ulink>"
"<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-the-development-host-to-use-the-yocto-project'>Setting Up to Use the Yocto Project</ulink>"
section in the Yocto Project Development Tasks Manual.
Part of preparing the system is creating a local Git
repository of the
@@ -79,7 +79,7 @@
</literallayout>
<note>
The previous commands assume the
<ulink url='&YOCTO_DOCS_OM_URL;#source-repositories'>Source Repositories</ulink>
<ulink url='&YOCTO_DOCS_GS_URL;#source-repositories'>Source Repositories</ulink>
(i.e. <filename>poky</filename>) have been cloned
using Git and the local repository is named
"poky".
@@ -303,7 +303,7 @@
</literallayout>
<note>
The previous commands assume the
<ulink url='&YOCTO_DOCS_OM_URL;#source-repositories'>Source Repositories</ulink>
<ulink url='&YOCTO_DOCS_GS_URL;#source-repositories'>Source Repositories</ulink>
(i.e. <filename>poky</filename>) have been cloned
using Git and the local repository is named
"poky".
@@ -387,7 +387,7 @@
You can find Git repositories of supported Yocto Project
kernels organized under "Yocto Linux Kernel" in the
Yocto Project Source Repositories at
<ulink url='&YOCTO_GIT_URL;'></ulink>.
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.
</para>
<para>
@@ -1402,9 +1402,9 @@
SRC_URI_append = " file://0001-calibrate.c-Added-some-printk-statements.patch"
</literallayout>
The
<ulink url='&YOCTO_DOCS_REF_URL;#var-FILESEXTRAPATHS'><filename>FILESEXTRAPATHS</filename></ulink>
<ulink url='&YOCTO_DOCS_REF_URL;var-FILESEXTRAPATHS'><filename>FILESEXTRAPATHS</filename></ulink>
and
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
<ulink url='&YOCTO_DOCS_REF_URL;var-SRC_URI'><filename>SRC_URI</filename></ulink>
statements enable the OpenEmbedded build system to find
the patch file.</para>
@@ -1603,11 +1603,8 @@
<title>Creating a&nbsp;&nbsp;<filename>defconfig</filename> File</title>
<para>
A <filename>defconfig</filename> file in the context of
the Yocto Project is often a <filename>.config</filename>
file that is copied from a build or a
<filename>defconfig</filename> taken from the kernel tree
and moved into recipe space.
A <filename>defconfig</filename> file is simply a
<filename>.config</filename> renamed to "defconfig".
You can use a <filename>defconfig</filename> file
to retain a known set of kernel configurations from which the
OpenEmbedded build system can draw to create the final
@@ -1659,7 +1656,7 @@
after applying the existing defconfig file configurations.
</note>
For more information on configuring the kernel, see the
"<link linkend='changing-the-configuration'>Changing the Configuration</link>"
"<link link='changing-the-configuration'>Changing the Configuration</link>"
section.
</para>
</section>
@@ -2421,7 +2418,7 @@
modules.
If your module <filename>Makefile</filename> uses a different
variable, you might want to override the
<ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-compile'><filename>do_compile</filename></ulink>
<ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-compile'><filename>do_compile()</filename></ulink>
step, or create a patch to
the <filename>Makefile</filename> to work with the more typical
<filename>KERNEL_SRC</filename> or
@@ -2497,7 +2494,7 @@
the Git commands.
You can see the branch names through the web interface
to the Yocto Project source repositories at
<ulink url='&YOCTO_GIT_URL;'></ulink>.
<ulink url='http://git.yoctoproject.org/cgit.cgi'></ulink>.
</note>
To see a full range of the changes, use the
<filename>git whatchanged</filename> command and specify a

View File

@@ -49,7 +49,7 @@
<para>
You can find a web interface to the Yocto Linux kernels in the
<ulink url='&YOCTO_DOCS_OM_URL;#source-repositories'>Source Repositories</ulink>
<ulink url='&YOCTO_DOCS_GS_URL;#source-repositories'>Source Repositories</ulink>
at
<ulink url='&YOCTO_GIT_URL;'></ulink>.
If you look at the interface, you will see to the left a
@@ -239,8 +239,8 @@
<ulink url='http://git-scm.com/documentation'></ulink>.
You can also get an introduction to Git as it
applies to the Yocto Project in the
"<ulink url='&YOCTO_DOCS_OM_URL;#git'>Git</ulink>"
section in the Yocto Project Overview and Concepts
"<ulink url='&YOCTO_DOCS_GS_URL;#git'>Git</ulink>"
section in the Getting Started With Yocto Project
Manual.
The latter reference provides an overview of
Git and presents a minimal set of Git commands
@@ -382,7 +382,7 @@
generic kernel just for conceptual purposes.
Also keep in mind that this structure represents the Yocto
Project
<ulink url='&YOCTO_DOCS_OM_URL;#source-repositories'>Source Repositories</ulink>
<ulink url='&YOCTO_DOCS_GS_URL;#source-repositories'>Source Repositories</ulink>
that are either pulled from during the build or established
on the host development system prior to the build by either
cloning a particular kernel's Git repository or by

View File

@@ -108,11 +108,7 @@
review and understand the following documentation:
<itemizedlist>
<listitem><para>
<ulink url='&YOCTO_DOCS_BRIEF_URL;'>Yocto Project Quick Build</ulink>
document.
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_OM_URL;'>Yocto Project Overview and Concepts Manual</ulink>.
<ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink>
</para></listitem>
<listitem><para>
<ulink url='&YOCTO_DOCS_SDK_URL;#using-devtool-in-your-sdk-workflow'><filename>devtool</filename> workflow</ulink>
@@ -157,15 +153,12 @@
<para>
<orderedlist>
<listitem><para>
<emphasis>Set up Your Host Development System to Support
Development Using the Yocto Project</emphasis>:
<emphasis>Set Up Your Host Development System to Support
Development Using the Yocto Project:</emphasis>
See the
"<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-start'>Setting Up the Development Host to Use the Yocto Project</ulink>"
section in the Yocto Project Development Tasks Manual for
options on how to get a build host ready to use the Yocto
Project.
"<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>Setting Up to Use the Yocto Project</ulink>"
section in the Yocto Project Quick Start for options on how
to get a build host ready to use the Yocto Project.
</para></listitem>
<listitem><para>
<emphasis>Set Up Your Host Development System for Kernel Development:</emphasis>

View File

@@ -14,7 +14,7 @@
create Yocto Linux kernel repositories.
These kernel repositories are found under the heading "Yocto Linux
Kernel" at
<ulink url='&YOCTO_GIT_URL;'>&YOCTO_GIT_URL;</ulink>
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'>&YOCTO_GIT_URL;/cgit.cgi</ulink>
and are shipped as part of a Yocto Project release.
The team creates these repositories by compiling and executing the
set of feature descriptions for every BSP and feature in the
@@ -118,7 +118,7 @@
The following steps describe what happens when the Yocto Project
Team constructs the Yocto Project kernel source Git repository
(or tree) found at
<ulink url='&YOCTO_GIT_URL;'></ulink> given the
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink> given the
introduction of a new top-level kernel feature or BSP.
The following actions effectively provide the Metadata
and create the tree that includes the new feature, patch, or BSP:
@@ -217,7 +217,7 @@
end of an existing branch.
The full repository generation that is found in the
official Yocto Project kernel repositories at
<ulink url='&YOCTO_GIT_URL;'>http://git.yoctoproject.org</ulink>
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'>http://git.yoctoproject.org/cgit.cgi</ulink>
is the combination of all supported boards and
configurations.
</para></listitem>
@@ -231,7 +231,7 @@
</para></listitem>
<listitem><para>
The full kernel tree that you see on
<ulink url='&YOCTO_GIT_URL;'></ulink> is
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink> is
generated through repeating the above steps for all
valid BSPs.
The end result is a branched, clean history tree that

View File

@@ -88,24 +88,9 @@
</revision>
<revision>
<revnumber>2.5</revnumber>
<date>May 2018</date>
<date>April 2018</date>
<revremark>Released with the Yocto Project 2.5 Release.</revremark>
</revision>
<revision>
<revnumber>2.5.1</revnumber>
<date>September 2018</date>
<revremark>The initial document released with the Yocto Project 2.5.1 Release.</revremark>
</revision>
<revision>
<revnumber>2.5.2</revnumber>
<date>January 2019</date>
<revremark>The initial document released with the Yocto Project 2.5.2 Release.</revremark>
</revision>
<revision>
<revnumber>2.5.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>The initial document released with the Yocto Project 2.5.3 Release.</revremark>
</revision>
</revhistory>
<copyright>
@@ -126,36 +111,24 @@
is for the &YOCTO_DOC_VERSION; release of the
Yocto Project.
To be sure you have the latest version of the manual
for this release, go to the
<ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink>
and select the manual from that site.
Manuals from the site are more up-to-date than manuals
derived from the Yocto Project released TAR files.
for this release, use the manual from the
<ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink>.
</para></listitem>
<listitem><para>
If you located this manual through a web search, the
version of the manual might not be the one you want
(e.g. the search might have returned a manual much
older than the Yocto Project version with which you
are working).
You can see all Yocto Project major releases by
visiting the
<ulink url='&YOCTO_WIKI_URL;/wiki/Releases'>Releases</ulink>
page.
If you need a version of this manual for a different
Yocto Project release, visit the
For manuals associated with other releases of the Yocto
Project, go to the
<ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink>
and select the manual set by using the
"ACTIVE RELEASES DOCUMENTATION" or "DOCUMENTS ARCHIVE"
pull-down menus.
and use the drop-down "Active Releases" button
and choose the manual associated with the desired
Yocto Project.
</para></listitem>
<listitem><para>
To report any inaccuracies or problems with this
manual, send an email to the Yocto Project
discussion group at
<filename>yocto@yoctoproject.com</filename> or log into
the freenode <filename>#yocto</filename> channel.
</para></listitem>
To report any inaccuracies or problems with this
manual, send an email to the Yocto Project
discussion group at
<filename>yocto@yoctoproject.com</filename> or log into
the freenode <filename>#yocto</filename> channel.
</para></listitem>
</itemizedlist>
</note>
</legalnotice>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

BIN
documentation/mega-manual/figures/package-feeds.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 KiB

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 KiB

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

After

Width:  |  Height:  |  Size: 136 KiB

BIN
documentation/mega-manual/figures/sdk-generation.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 113 KiB

Some files were not shown because too many files have changed in this diff Show More