Compare commits

...

79 Commits

Author SHA1 Message Date
Scott Rifenbark
90d943ae62 ref-manual: Corrected the "package_rpm.bbclass" section.
A cut-and-paste error had left a "package_deb" string in the
first sentence of the section.  Replaced with "package_rpm."

Reported-by: Geoffroy VanCutsem <geoffroy.vancutsem@intel.com>
(From yocto-docs rev: 38b20d775ba41cb14d86177dddd85ada32fb3f86)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-10 14:47:50 +01:00
Scott Rifenbark
46669d3074 ref-manual: Update to oe-init-build-env-memres description.
Fixes [YOCTO #7559]

Removed the information stating that the port address 12345 is used.
Really what happens is a random port address is used.

(From yocto-docs rev: f469c2431b26593a762e348e9c5d0e84c582eab8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-10 14:47:50 +01:00
Scott Rifenbark
8f39398dbf ref-manual: Updates to "Kernel Build Changes" in the 1.8 migration section.
Updated this according to some changes Richard and Paul wanted to
see make it into the 1.8 release.

Reported-by: Paul Eggleton <paul.eggleton@intel.com>
(From yocto-docs rev: f571e35169818355fea2a20715df3e8f7405134f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-10 14:47:50 +01:00
Scott Rifenbark
be46715a9d toaster-manual: Fixed release month in the manual table.
(From yocto-docs rev: 1c67a2a19d5dd75030928c6f571d516e5edd0b99)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-10 14:47:50 +01:00
Scott Rifenbark
f73d6752db toaster-manual: Added new video link for toaster configuration.
(From yocto-docs rev: 8e418e1b203d749bd939bf0f109fb8fce6053ceb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2015-04-10 14:47:50 +01:00
Richard Purdie
33558eacc8 build-appliance-image: Update to fido head revision
(From OE-Core rev: fbf82a3c5d891c298073077edcd894293ea4d8e3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 20:32:54 +01:00
Scott Rifenbark
0db74ea8f4 tools: A real fix for thos mega-manual.sed file for Toaster.
The previous commit did not fix the problem.  This one does.

(From yocto-docs rev: d19c2096018db0127d11814ddcba919ad469e428)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 20:31:32 +01:00
Scott Rifenbark
08246fc7d4 tools: Updated the mega-manual.sed file to include the Toaster manual.
(From yocto-docs rev: 36f9685837da5d202372933bfa895e8a3724dd5c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 20:31:32 +01:00
Scott Rifenbark
d691916ef8 toaster-manual: Review edits applied.
Some steps updated according to Belen and a video link fixed to
not point to Belen's Youtube area.

(From yocto-docs rev: 557c22fdd287160f6aabac0928ce6bd8d6af3394)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 20:31:31 +01:00
Scott Rifenbark
2f6a0659fe toaster-manual: Updated customization layer to not use local XSL file.
(From yocto-docs rev: f33dee9e57a8adc18d4674f97c0f77ccbbb4a6e5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 20:31:31 +01:00
Scott Rifenbark
888fb56e97 dev-manual: Fixed bitbake -c populate_sysroot example.
This was incorrectly stated as 'bitbake -c install' in two
places.  I substituted the correct string.

(From yocto-docs rev: fe54de82cff054d4319c635a0ddba2de7cc6ebd6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 17:42:24 +01:00
Scott Rifenbark
1444bef551 ref-manual: Edits to the 1.8 migration section.
(From yocto-docs rev: 9509c22e6e9fb1dfaabe634cb554f1f68d8ea434)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 17:42:24 +01:00
Scott Rifenbark
d1df6afab2 toaster-manual: Applied final review edits.
This should be it unless there are late coming comments.

(From yocto-docs rev: cb32e3330a6fe2d26425f8765689749afcd989e9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 12:04:57 +01:00
Scott Rifenbark
faf19c5274 ref-manual: Added new migration section for going to 1.8
(From yocto-docs rev: b8c7fad5404eb111c0d6a39fae6e9ffcb4a615ba)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 12:04:56 +01:00
Scott Rifenbark
dee274305d ref-manual: Added new bluetooth class.
(From yocto-docs rev: 536117974fb08c1c6739af9c8200b228a59b7f6d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 12:04:56 +01:00
Ed Bartosh
20d2d2096a package_manager: call createrepo with --dbpath pointing inside WORKDIR
Rpm database in staging area is used only by createrepo.
createrepo fails with the error
"rpmdb: BDB0060 PANIC: fatal region error detected"
if rpm database is broken during previous run of createrepo.

Made createrepo to create rpm db in $WORKDIR/rpmdb/ from scratch
for every build and architecture. This should potentially fix the
failure as every run of createrepo will be using separate db.

[YOCTO #6571]

(From OE-Core rev: db21bdcba5e2f646f0dc47295e8ea7e4d49a880d)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 12:02:49 +01:00
Ed Bartosh
a274e39f0c createrepo: Implement --dbpath command line option
--dbpath option can be used in cases where users don't want
createrepo to use system rpm db to avoid possible collisiouns
with other programs.

For bitbake builds it would be possible to specify different
databases even for every createrepo run. Considering that rootfs
builds can run multiple createrepo in parallel, it can help to avoid
race conditions caused by accessing or creating the same rpm database
by multiple createrepo instances at the same time.

(From OE-Core rev: 32324c0d7f669083cc7066e6dfc8c58248fb5429)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 12:02:49 +01:00
Robert Yang
dfaa74d34f glibc: fix a typo
Fixed a typo:
name-target-directory -> make-target-directory

There is no name-target-directory, it should be make-target-directory,
this fixed the error:
/bin/bash: /path/to/elf/runtime-linker.T: No such file or directory
Makefile:361: recipe for target '/path/to/elf/runtime-linker.st' failed

(From OE-Core rev: ff1366b0c9db9425d2a29eb823116353f3856dbb)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 12:02:48 +01:00
Robert Yang
d66075e595 db: fix parallel issue
Fixed parallel issue:
libtool: link: `bt_rec.lo' is not a valid libtool object
Makefile:867: recipe for target 'libdb-6.0.la' failed
make: *** [libdb-6.0.la] Error 1

(From OE-Core rev: 14b7787cfb1318e67ac2721c0d9d5dbf5be9dec4)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 12:02:48 +01:00
Scott Rifenbark
5f46b438a8 ref-manual: Updates to doc packages and reference links
I added xlstproc to Fedora and CentOS package lists for building out
the docs.

I abbreviated the list of references in the end chapter by leaving
just the main URLs for bigger areas such as Intel, OE, etc.  Then
I put in a link that goes back to the dev-manual list of other
informations as that is much more comprehensive.

(From yocto-docs rev: 81667b85cd8c639dd32cd5a8f614b4c890eb4dde)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:17 +01:00
Scott Rifenbark
674ffa8c68 bsp-guide: removed the BBLAYERS_NON_REMOVABLE from the example code.
(From yocto-docs rev: 35a92477897652a9af2b1a257a4576926612e054)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:16 +01:00
Scott Rifenbark
9b6eee9f30 dev-manual: Removed the detailed section on how to set up and use Toaster
(From yocto-docs rev: f3704c61a6def095cd6632ce2ad223ea84e35dac)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:16 +01:00
Scott Rifenbark
c636c22484 dev-manual: Added a small section to note Toaster as a development model.
(From yocto-docs rev: 63e73beca3b7d084c4776f296d3310a31dafcfc4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:15 +01:00
Scott Rifenbark
98ae8387e3 dev-manual: Fixed a few broken links and added Toaster manual to list.
(From yocto-docs rev: 77e3a4c704836e599b8ef6b13e68ec783e6d642d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:15 +01:00
Scott Rifenbark
f96ffe74a9 yocto-project-qs: Fixed broken link to AB nightly builds.
(From yocto-docs rev: 848dc6afa663a6730953736cf50f58130da30181)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:14 +01:00
Scott Rifenbark
66f1700481 ref-manual: Updated the OE_TERMINAL variable description
Removed an out-dated note near the bottom regarding a distro
we don't support

(From yocto-docs rev: 4211914f16d4ab01182633785068b56a258c0d04)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:14 +01:00
Scott Rifenbark
d2d94d071c ref-manual: Updated the supported distros list.
(From yocto-docs rev: 41a835409a912e55b37a64492ad2fe99fd412214)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:13 +01:00
Scott Rifenbark
0b82198c8d ref-manual: Backed out the bits for the context PNG images.
We did not have time to do this for 1.8.  So, I restored the look
of the glossary pre-images.  I did leave commented code in both
the glossary chapter and the style sheet for later.

(From yocto-docs rev: 9f1472b7d4cd86545e7927b0f693aafc88ae2791)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:13 +01:00
Scott Rifenbark
cf475ab8ea dev-manual, yocto-project-qs: Dropped Python 2.6 as a requirement
Fixes [YOCTO #7535]

Removed this from two places.

(From yocto-docs rev: d169ce99610745e8c1b4b53d898f526e557af665)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:12 +01:00
Scott Rifenbark
4ef59fe419 toaster-manual: Made some updates for virtual environment section.
I moved the note that tells the user they have to initialize the
virtual environment every time before starting Toaster to the
correct location.  I had it misplaced.

(From yocto-docs rev: 65258338e1ffb92ded573ea3b447b424b5f5fa97)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:12 +01:00
Scott Rifenbark
64ccb07092 toaster-manual: Added a new video that shows fido features.
(From yocto-docs rev: a94d6dec039d9b60468c0b26d48b9aa76c300afb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:11 +01:00
Scott Rifenbark
acf41de1fa ref-manual: Downplayed the BBLAYERS_NON_REMOVABLE variable.
Applied some suggestions from Paul Eggleton to downplay the role
of this variable.  It is basically ignored now in all parts of the
manual set except for the descriptions of the variable itself
and the BBLAYERS variable.  I added some text reinforcing the fact
that BBLAYERS_NON_REMOVABLE is ignored by the build system and only
matters if you are using Hob.

(From yocto-docs rev: 98112751aaec6e25de48d9e3ee56592be3f53a07)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:11 +01:00
Scott Rifenbark
3eabeef5d6 dev-manual: Updates to the devtool section.
Applied review edits from Paul Eggleton.

(From yocto-docs rev: 4815556b6c9f45ce230afede7cb3b2aadf0bef1c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:10 +01:00
Scott Rifenbark
2f050af982 dev-manual: Updates to the receiptool section.
Applied review comments from Paul Eggleton.

(From yocto-docs rev: 403c9ae5443eaf2a115e2224f07ee19f98c8139d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:10 +01:00
Scott Rifenbark
dbab9c0ba1 toaster-manual: Created links to Youtube for the GUI vids
I could not get the embedded vids working very well. So we
defaulted to just linking to the Youtube locations directly.

(From yocto-docs rev: 95bef674ec04eec94f568ab00b94f7174d456011)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:09 +01:00
Scott Rifenbark
07fc680a4a toaster-manual: Added note telling user to initialize virtual env
The user must re-initialize the virtual environment (if installed)
prior to starting Toaster each time.

(From yocto-docs rev: b0daa23784f17778f758b0572f90f9293a822812)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:09 +01:00
Scott Rifenbark
8ab5bc3e1e documentation: Updates to try to fix CentOS docs build errors
The docs are not building on CentOS and we think it is due to the
XSL templates being called for the Eclipse parts.  I located all
the "current" templates and switched them out for "1.76.1" version
as are used by the mainstream doc builds.

(From yocto-docs rev: afbddde6524630433dfec973bbe886de32395bc8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:09 +01:00
Scott Rifenbark
59813630e5 dev-manual: Added footnote crediting Trevor Woerner for devtool addition.
Trevor wrote a nice paper (tutorial) on the use of devtool that I found
to be very helpful in developing the information for this new workflow.
I decided to publicly credit this effort with a small footnote near
the top of the section.

(From yocto-docs rev: 97d234f2d535f85e5a50ac4e7f0c0a79579cd004)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:08 +01:00
Scott Rifenbark
ad7edfbde3 dev-manual: Applied review edits to the devtool section.
Paul Eggleton reviewed the section.

(From yocto-docs rev: 82d9750b4349b3c54f73118ec7d65f0bb96e3f7a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:08 +01:00
Scott Rifenbark
6fdf368f76 mega-manual: Added two figures to the figures directory.
The figures I added are for the Toaster manual.

(From yocto-docs rev: fb9bb83e48afd2e7d24d68f0c167d8d64f5d25fd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:07 +01:00
Scott Rifenbark
40db5ea7df mega-manual: Updated the chapter structure for the toaster manual.
Added the reference chapter in so it is included as part of the
mega-manual.

(From yocto-docs rev: 90a6ebabd0657d6dd7381a8c1fc7db5ea8b26a1f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:07 +01:00
Scott Rifenbark
56a4b1e1d4 Makefile: Added figures to the mega-manual TARFILE list
Added the three Toaster Manual figures to the list of
mega-manual figures so they will be included in the tarball
generated for mega-manual.

(From yocto-docs rev: 2190bc43dfc20c0c0ef5da82c85570f9294e1788)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:06 +01:00
Scott Rifenbark
80f3b20060 Makefile: Added additional PNG files to toaster TARFILE list.
(From yocto-docs rev: b662062cd575f187918f6841983d5682426b266e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:06 +01:00
Scott Rifenbark
693ba0b14f toaster-manual: Draft of Manual.
Fixes [YOCTO #6901]

(From yocto-docs rev: 258b46b0f3e23045b5fb8c97d03dceb69db5ce20)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:05 +01:00
Beth Flanagan
e7b07d33c2 distro_alias.inc: update/sort alias information.
Added new package data, and cleaned up whitespace.

I've also corrected some packaged data (replacement-tar from
my reading of the recipe is the tar normally found in distros).

One issue this patch exposed st I haven't had a chance to track
down is that when you attempt to get distrodata from
gcc-crosssdk-initial-x86_64. The produced .csv in tmp/log
is missing the Distro information. bitbake -e
shows that DISTRO_PN_ALIAS isn't even getting set in this case.

My guess here is that something is happening with the "_"
along the way, I've just not found it yet.

(From meta-yocto rev: 7008eb9ed1e823afe9a36678b91f56046647ba46)

Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:55:01 +01:00
Richard Purdie
aa47ba52f0 bitbake: bin/image-writer: Add ext4 as a deployable image type
This is particularly problematic since qemu images switched to ext4 by
default and now cannot work properly with UIs like hob.

This patch adds in ext4 to the appropriate variable fixing this.

[YOCTO #7426]

(Bitbake rev: 4460e6de04844c4060f1fe87c8a4b247b731c63e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:39:30 +01:00
Richard Purdie
00b2c3a5e4 bitbake: cooker: Ensure bbappend files are processed in a determistic order
self.appendlist is a dict and as such unordered. This can lead to cases
where appends with different names (e.g. x_%.bbappend vs. x_123.bbappend)
can be reordered in application which in turn reorders the variables
that those bbappend files might touch. Reorderd variables changes the sstate
cache signatures causing real world issues.

To avoid this, use a list for the append files instead.

This patch is conservative and just adds a new data structure alongside
the existing one and uses it to resolve the core issue. Later patches
(post release) can handle some of the wider but less problematic ones
(e.g. issues in bitbake-layers flatten).

[YOCTO #7511]

(Bitbake rev: ba14fb2df8793aae5d671a408c2ba2145a1a7284)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:39:30 +01:00
Richard Purdie
23a0e97d2e image_types: Add missing ext4 support
This is particularly problematic since qemu images switched to ext4 by
default and now cannot work properly with UIs like hob.

This patch adds in ext4 to the appropriate IMAGE* variables fixing this.

[YOCTO #7426]

(From OE-Core rev: 5faa85ed58210ca6fc01ed54a1b370c7aee30b18)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:39:29 +01:00
Alexandru DAMIAN
0fb825c5e5 bitbake: Revert "toaster: machine not searchable in all builds/projects"
This reverts commit 1a86ed8f95649c5f5a3a66984ce36978d93b0e01.

Bug [YOCTO #7334] was incompletly fixed, and the proper fix is
not straightfoward. Consequently we revert the partial fix, as
a incomplete fix is worse than no fix.

(Bitbake rev: 2a8b3b86fe1d5b8797f740c470a4fe5b69146bf4)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:30:18 +01:00
Alexandru DAMIAN
b0cb740fe0 bitbake: toastergui: add ext4 option for IMAGE_FSTYPES
This patch adds "ext4" as a selectable option in IMAGE_FSTYPES,
to keep in sync with the OE-Core capabilities.

(Bitbake rev: 451e85fe8592cab0a07a6866b2853a29cc38f14b)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:30:18 +01:00
Belen Barros Pena
6dd5e472eb bitbake: toasterui: rename 'targets' to 'recipes'
A recent round of informal user feedback has revealed
that the term 'target' is quite problematic. For
all the users we spoke to the word refers to the
target arch. In Toaster, it refers to the software
you build.

This patch replaces the word 'target' with 'recipe'
across the Toaster interface. This is by no means
self-explanatory, but at least it cannot be confused
with target hardware, and it is also consistent with
the terminology we use in the analysis portion of
the interface.

(Bitbake rev: ac10b5d83172feb10f1f3a3c894a54d2c4c4f09d)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:30:18 +01:00
Alexandru DAMIAN
3ff649953d bitbake: toastergui: prevent error on empty build list
This patch prevents errors being thrown on date limit
computations if the build list is empty.

[YOCTO #7513]

(Bitbake rev: 8068539b6c2913fed66a865b547a653159d8c794)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:30:17 +01:00
Richard Purdie
8db54a9cfa insane: Add baremetal mappings to the QA arch test
Add mappings for i586-elf, x86_64-elf and arm-eabi to binary lookup
table which allows for a variety of baremetal toolchain generation.

(From OE-Core rev: a570052f012298f895fb88be5b0a064bad04024c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:28:35 +01:00
Richard Purdie
77b1711afb siteinfo: Add x86_64-elf support
Teach siteinfo about x86_64-elf so that baremetal toolchains parse/build.

(From OE-Core rev: 7d57887365d7f819a2cdf8efd5e6f325b6af52d8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:28:34 +01:00
Paul Eggleton
1e551ec0c3 README.hardware: clarify NFS requirements for edgerouter
You don't need NFS/TFTP for a plain USB setup.

(From meta-yocto rev: 76ea21bdb1448417fb4e2e2f5659c911a30a5026)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:38 +01:00
Belen Barros Pena
e643f3defe toaster: updating toasterconf.json for fido release
We update the toasterconf.json file for the fido release.

A small update to the release help text in the
toasterconf.json file shipped with the meta-yocto layer.

We now make explicit that Toaster will build with the
tip of the selected branch. We also link the
Yocto Project Dizzy release to the git repository,
and not to the release page on the website.

(From meta-yocto rev: d9348157c4bee1789be7f7af9439c5ba287bb139)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:37 +01:00
Randy Witt
31d301a3f6 populate_sdk_ext: Log the "Preparing build system" step
When using bitbake to do the setscene as part of sdk setup, it would be
useful to have a log in the case where it fails.

The log is called preparing_build_system.log and is in the top level
directory of the extracted sdk.

(From OE-Core rev: cdcfd2211c86880772a65827975ad94d8a5be478)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:37 +01:00
Richard Purdie
b803944ce6 dpkg-native: Avoid 'file changed' errors from tar
Hardlink count duing do_package_write_deb can change causing dpkg-deb
failures. We don't care about this error case so avoid it by checking
the tar exit code.

[YOCTO #7529]

(From OE-Core rev: 77e077a57536c764034f06723edd0749dc578626)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:36 +01:00
Otavio Salvador
64b75d4276 wpa-supplicant: Make SystemD D-Bus config conditional
The SystemD D-Bus configuration should only to be installed when
SystemD support is enabled.

(From OE-Core rev: e658ee16dc026b96f67a4c9666d3eb7bf7027de3)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:36 +01:00
Chunrong Guo
2ac2706bb7 u-boot.inc: fix rename image error
Resolve mismatch between U-Boot configs and uboot image name.
   The ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX} may alway be false
   and repeat compile or install so we need to check if ${type} match ${config}

(From OE-Core rev: cc14f461a65b2266caa8acc2c24c0eec02f8e3d7)

Signed-off-by: Chunrong Guo <B40290@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:35 +01:00
Krishnanjanappa, Jagadeesh
a3360f2cc6 libart-lgpl: add art_config.h for armeb/aarch64be/aarch64be_32
The preprocessor macro values present in art_config.h
differ for individual architectures, basically libart-lgpl recipe will
pick up correct art_config.h file based on

ART_CONFIG = "${HOST_ARCH}/art_config.h"

and thereby having correct preprocessor macros definition
of each architectures.

(From OE-Core rev: a4e705930e3236bdb188192c0959d807587500ff)

Signed-off-by: Krishnanjanappa, Jagadeesh <jagadeesh.krishnanjanappa@caviumnetworks.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:35 +01:00
Patrick Ohly
ef73b474fb combo-layer: fix file_exclude for empty commits
The code detecting empty patches after removing files with
file_exclude failed for commits which were already empty before (like
the initial commit in some repos): such patches are completely empty
files, without a From line.

Detect that case and just let the normal empty patch detection deal
with it.

(From OE-Core rev: 6fd7f40728ebf57dfbc367dedeaf350b8d69784c)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:34 +01:00
Patrick Ohly
b936350fc2 combo-layer: fix file_exclude for dest_dir = .
"filterdiff -x ./some/file" does not remove changes for some/file.
We must be more careful about constructing the path name and
only add the prefix when it really means a directory.

While at it, also better normalize the path in copy_selected_files()
early on, to handle double slashes. Useful should the function ever
gets used for something other that dest_dir (which gets normalized in
sanity_check()).

(From OE-Core rev: 6c93520b5aaceefecccd83dc77e8ad7681d312c6)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:34 +01:00
Patrick Ohly
d81ee4d277 combo-layer: clean up dest_dir checking
Empty dest_dir is basically undocumented behavior. The sample conf
only mentions using just a dot for the current directory. In practice,
the empty string does not work because of code like this:

def action_splitpatch(conf, args):
    ...
        if dest_dir != ".":
            filerange_root = '%s -x "%s/*"' % (filerange_root, dest_dir)

However, the empty string was not explicitly checked for, leading to
strange errors when trying to apply patches:

[12:50:23] Applying: foobar: xyz
fatal: unable to stat newly created file '/foobar': No such file or directory

This patch turns the empty string into an alias for the dot. This seems
more user-friendly than throwing an error. This alias is intentionally
not document in the sample conf, because the dot is clearer and works also
with older copies of combo-layer.

Instead of checking for both all the time and normalizing the path when
needed (as done in some places), rewrite the value in sanity_check()
and then only check for '.'.

(From OE-Core rev: a8547b3c2c0b8bf3150043b1b6570f0d44b20335)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:34 +01:00
Juro Bystricky
232ccf23cf glibc-testing: Specify location of c++ header files
Glibc test suite contains several c++ files. They are built
with g++ -nostdinc. In this case the location of c++ include files
needs to be specified explicitly, or the programs may fail to build.

The header locations are assumed to be:
    sysroot/usr/include/c++/<version>
    sysroot/usr/include/c++/<version>/<machine>

The new code parses "configparms" to get the actual CXX and sysroot
used for the glibc test suite, then it queries CXX to determine
CXX <version> and CXX <machine>. With the known values for <version>
and <machine> the code composes a new value for c++-sysincludes
and appends "configparms" with that value.

[YOCTO #7081]

(From OE-Core rev: 15c5e5e83af409509140eaf29d4e10d9db99eb8a)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:33 +01:00
Juro Bystricky
a7e20761bd oe-git-proxy: Redirect error messages to STDERR
oe-git-proxy script needs socat. If socat is not found,
an error message is issued on STDOUT. This leads to a misleading
git message:

fatal: protocol error: bad line length character: ERRO

instead of the intended message:

ERROR: socat binary not in PATH

Redirecting the error message to STDERR fixes this issue.

(From OE-Core rev: d611d7009631aa8a372f248995b52938163966c6)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:33 +01:00
Richard Purdie
bc090aa673 autotools: Avoid find race for S = "${WORKDIR}"
For recipes with PACKAGES_remove = "${PN}", the find which removes .la files
can race against deletion of other directories in WORKDIR e.g.:

find: '/home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7/sstate-build-populate_lic': No such file or directory
| WARNING: /home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7/temp/run.do_configure.6558:1 exit 1 from
|   find /home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7 -name \*.la -delete

The simplest fix is to add the find option which ignores these kind of races.

[YOCTO #7522]

(From OE-Core rev: 7dd17effffc00cd6e58ba6a004b811c8452254d7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:32 +01:00
Richard Purdie
6891ae6425 gcc: Tweak arm multilib endian patch for baremetal
In a baremetal build, TARGET_ENDIAN_OPTION isn't set leading to build
failures. Add in ifdefs to avoid this.

(From OE-Core rev: 5325c763a66b252c976ece3a08e5fc916fd6c416)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:32 +01:00
Ross Burton
a842038bca kernel-yocto: merge duplicate kernel_configme task definitions
The kernel_configme task was added twice (once in the .bbclass, one in a .inc)
with different ordering constraints.

Change this to be just one definition in the bbclass with the stronger ordering
constraints.

(From OE-Core rev: 0830078cd1d6a365543877bf8eda93c3fff71b0d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:32 +01:00
Ross Burton
7c0846cc5b linux-yocto: add kern-tools-native to kernel_metadata depends
The autobuilder failed like this:

  temp/run.do_kernel_metadata.25242: line 165: createme: command not found

createme is provided by kern-tools-native.  do_patch has a dependency on
kern-tools-native, but do_kernel_metadata runs before do_patch.  So move the
dependency from do_patch to do_kernel_metadata, moving the statement from the
.inc to the class so it's alongside the task definition.

[ YOCTO #7531 ]

(From OE-Core rev: 938d0288adc2ace3c66dab5904ad958a4c7615cc)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:31 +01:00
Belen Barros Pena
47686dc42f toaster: update toasterconf.json for fido release
We update the toasterconf.json for the 1.8 "fido"
release.

A small update to the release help text in the
toasterconf.json file shipped with the
openembedded-core layer.

We now make explicit that Toaster will build with
the tip of the selected branch, and we add links
to the OpenEmbedded repository.

(From OE-Core rev: 6ab371da72ce119c1b32ec7428aec1250e7aaf15)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:31 +01:00
Alexandru DAMIAN
938fa5cebf toaster.bbclass: do not add symbolic links to artifacts
This patch removes the symbolic links from the artifact list.

[YOCTO #7184]

(From OE-Core rev: 1243b616e2b375061fafb6b504df7106a808f7d2)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:30 +01:00
Robert Yang
18661937e4 cpio: fix CVE-2015-1197
Additional directory traversal vulnerability via symlinks
cpio CVE-2015-1197

Initial report:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=774669
Upstream report:
https://lists.gnu.org/archive/html/bug-cpio/2015-01/msg00000.html

And fix the indent in SRC_URI.

[YOCTO #7182]

(From OE-Core rev: 87d8c11e7504210e377cb6201e672d32048e000c)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:30 +01:00
Robert Yang
c1d31cf2c7 patch: fix CVE-2015-1196
A directory traversal flaw was reported in patch:

References:
http://www.openwall.com/lists/oss-security/2015/01/18/6
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=775227
https://bugzilla.redhat.com/show_bug.cgi?id=1182154

[YOCTO #7182]

(From OE-Core rev: bf986b527038821b49c81c4b9abc10e2dff32c38)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:29 +01:00
Richard Purdie
8b3d3e7c95 build-appliance-image: Update to fido head revision
(From OE-Core rev: da6a62eac903e66174e32d749d1c463fc3e78b78)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 13:14:35 +00:00
Richard Purdie
fe5b98019d poky: Add 1.8 to sanity tested distro list
(From meta-yocto rev: 44f0d5fc79be64d18c8bb84326606c16621806d4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 13:13:13 +00:00
Richard Purdie
184e00a36b build-appliance-image: Update to fido head revision
(From OE-Core rev: d343fbcad91d1f1379facec80b380b4ee75138cf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 13:01:19 +00:00
Beth Flanagan
8f1decb32b poky.conf: Flip DISTRO_VERSION for pending 1.8 release
Flipping DISTRO_VERSION for fido.

(From meta-yocto rev: 5d025acb4a37f74c17562bba3f1a35e0852c883f)

Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:55:37 +00:00
Richard Purdie
36ac2c6dfd bitbake: Update to version 1.26.0
(Bitbake rev: 71316d2239a42f9914e64f26fa9141dfe3232354)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:55:37 +00:00
83 changed files with 4566 additions and 1362 deletions

View File

@@ -352,19 +352,22 @@ Setup instructions
------------------
You will need the following:
* NFS root setup on your workstation
* TFTP server installed on your workstation
* RJ45 -> serial ("rollover") cable connected from your PC to the CONSOLE
port on the board
port on the device
* Ethernet connected to the first ethernet port on the board
If using NFS as part of the setup process, you will also need:
* NFS root setup on your workstation
* TFTP server installed on your workstation (if fetching the kernel from
TFTP, see below).
--- Preparation ---
Build an image (e.g. core-image-minimal) using "edgerouter" as the MACHINE.
In the following instruction it is based on core-image-minimal. Another target
may be similiar with it.
--- Booting from NFS root ---
--- Booting from NFS root / kernel via TFTP ---
Load the kernel, and boot the system as follows:

View File

@@ -34,7 +34,7 @@ from bb.ui.crumbs.hig.deployimagedialog import DeployImageDialog
from bb.ui.crumbs.hig.imageselectiondialog import ImageSelectionDialog
# I put all the fs bitbake supported here. Need more test.
DEPLOYABLE_IMAGE_TYPES = ["jffs2", "cramfs", "ext2", "ext3", "btrfs", "squashfs", "ubi", "vmdk"]
DEPLOYABLE_IMAGE_TYPES = ["jffs2", "cramfs", "ext2", "ext3", "ext4", "btrfs", "squashfs", "ubi", "vmdk"]
Title = "USB Image Writer"
class DeployWindow(gtk.Window):

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.25.0"
__version__ = "1.26.0"
import sys
if sys.version_info < (2, 7, 3):

View File

@@ -1573,6 +1573,7 @@ class CookerExit(bb.event.Event):
class CookerCollectFiles(object):
def __init__(self, priorities):
self.appendlist = {}
self.bbappends = []
self.appliedappendlist = []
self.bbfile_config_priorities = priorities
@@ -1667,6 +1668,7 @@ class CookerCollectFiles(object):
# Build a list of .bbappend files for each .bb file
for f in bbappend:
base = os.path.basename(f).replace('.bbappend', '.bb')
self.bbappends.append((base, f))
if not base in self.appendlist:
self.appendlist[base] = []
if f not in self.appendlist[base]:
@@ -1692,11 +1694,11 @@ class CookerCollectFiles(object):
"""
filelist = []
f = os.path.basename(fn)
for bbappend in self.appendlist:
for b in self.bbappends:
(bbappend, filename) = b
if (bbappend == f) or ('%' in bbappend and bbappend.startswith(f[:bbappend.index('%')])):
self.appliedappendlist.append(bbappend)
for filename in self.appendlist[bbappend]:
filelist.append(filename)
filelist.append(filename)
return filelist
def collection_priorities(self, pkgfns, d):
@@ -1716,10 +1718,10 @@ class CookerCollectFiles(object):
unmatched.add(regex)
def findmatch(regex):
for bbfile in self.appendlist:
for append in self.appendlist[bbfile]:
if regex.match(append):
return True
for b in self.bbappends:
(bbfile, append) = b
if regex.match(append):
return True
return False
for unmatch in unmatched.copy():

View File

@@ -36,7 +36,7 @@ from bb import ui
from bb import server
from bb import cookerdata
__version__ = "1.25.0"
__version__ = "1.26.0"
logger = logging.getLogger("BitBake")
class BBMainException(bb.BBHandledException):

View File

@@ -106,7 +106,7 @@ class BuildRequest(models.Model):
(REQ_ARCHIVE, "archive"),
)
search_allowed_fields = ("brtarget__target", "build__project__name", "build__machine")
search_allowed_fields = ("brtarget__target", "build__project__name")
project = models.ForeignKey(Project)
build = models.OneToOneField(Build, null = True) # TODO: toasterui should set this when Build is created

View File

@@ -155,7 +155,7 @@ function layerDetailsPageInit (ctx) {
if (!ctx.layerVersion.inCurrentPrj){
if (ctx.numTargets > 0) {
var text = " Add the "+ctx.layerVersion.name+" layer to your project "+
"to enable these targets";
"to enable these recipes";
addRmLayerBtn.text(text);
addRmLayerBtn.prepend("<span class=\"icon-plus\"></span>");
} else {

View File

@@ -100,9 +100,9 @@
<p><a href="{% if project.id %}{% url 'project' project.id %}{% endif %}">View project configuration</a></p>
</div>
<li id="targets-form">
<h6>Target(s):</h6>
<h6>Recipe(s):</h6>
<form>
<input type="text" class="input-xlarge" id="build-target-input" placeholder="Type a target name" autocomplete="off" data-minLength="1" data-autocomplete="off" data-provide="typeahead" />
<input type="text" class="input-xlarge" id="build-target-input" placeholder="Type a recipe name" autocomplete="off" data-minLength="1" data-autocomplete="off" data-provide="typeahead" />
<div>
<a class="btn btn-primary" id="build-button" disabled="disabled" data-project-id="{{project.id}}">Build</a>
</div>

View File

@@ -84,7 +84,7 @@
<a data-toggle="tab" href="#information" id="details-tab">Layer details</a>
</li>
<li>
<a data-toggle="tab" href="#targets" id="targets-tab">Targets ({{total_targets}})</a>
<a data-toggle="tab" href="#targets" id="targets-tab">Recipes ({{total_targets}})</a>
</li>
<li>
<a data-toggle="tab" href="#machines" id="machines-tab">Machines ({{total_machines}})</a>
@@ -190,8 +190,8 @@
<div name="targets" id="targets" class="tab-pane">
{% if total_targets == 0 %}
<div class="alert alert-info">
<p>Toaster does not have target information for the <strong> {{layerversion.layer.name}} </strong> layer.</p>
<p>Toaster learns about layers when you build them. If this layer provides any targets, they will be listed here after you build the <strong> {{layerversion.layer.name}} </strong> layer.</p>
<p>Toaster does not have recipe information for the <strong> {{layerversion.layer.name}} </strong> layer.</p>
<p>Toaster learns about layers when you build them. If this layer provides any recipes, they will be listed here after you build the <strong> {{layerversion.layer.name}} </strong> layer.</p>
</div>
{% else %}
@@ -210,7 +210,7 @@
<form class="navbar-search input-append pull-left">
{% endif %}
<input type="text" id="target-search" name="targets_search" placeholder="Search targets" class="input-xlarge" value="{{request.GET.targets_search}}">
<input type="text" id="target-search" name="targets_search" placeholder="Search recipes" class="input-xlarge" value="{{request.GET.targets_search}}">
{% if request.GET.targets_search %}
<a class="add-on btn target-search-clear">
<i class="icon-remove"></i>
@@ -253,17 +253,17 @@
<tr>
<th>
<i class="icon-question-sign get-help" title="Information about a single piece of software, including where to download the source, configuration options, how to compile the source files and how to package the compiled output"></i>
Target
Recipe
{% if request.GET.targets_search %}
<span class="badge badge-info">{{targets.paginator.count}}</span>
{% endif %}
</th>
<th>
<i class="icon-question-sign get-help" title="The recipe version and revision"></i>
Target version
Recipe version
</th>
<th class="span4">Summary</th>
<th class="span2">Build target</th>
<th class="span2">Build recipe</th>
</tr>
</thead>
<tbody>
@@ -277,7 +277,7 @@
</td>
<td>{{target.version}}</td>
<td>{{target.summary}}</td>
<td><button class="btn btn-block build-target-btn" data-target-name="{{target.name}}" {% if layer_in_project == 0 %}disabled="disabled"{% endif %} >Build target</button></td>
<td><button class="btn btn-block build-target-btn" data-target-name="{{target.name}}" {% if layer_in_project == 0 %}disabled="disabled"{% endif %} >Build recipe</button></td>
</tr>
{% endfor %}
</tbody>

View File

@@ -104,15 +104,15 @@ vim: expandtab tabstop=2
<div class="well">
<form class="build-form" ng-submit="buildNamedTarget()">
<div class="input-append controls">
<input type="text" class="huge input-xxlarge" placeholder="Type the target(s) you want to build" autocomplete="off" ng-model="targetName" typeahead="e.name for e in getAutocompleteSuggestions('targets', $viewValue)|filter:$viewValue" typeahead-template-url="suggestion_details" ng-disabled="!layers.length"/>
<input type="text" class="huge input-xxlarge" placeholder="Type the recipe(s) you want to build" autocomplete="off" ng-model="targetName" typeahead="e.name for e in getAutocompleteSuggestions('targets', $viewValue)|filter:$viewValue" typeahead-template-url="suggestion_details" ng-disabled="!layers.length"/>
<button type="submit" class="btn btn-large btn-primary" ng-disabled="!targetName.length">
Build
</button>
</div>
<i class="icon-question-sign get-help get-help-blue" title="Type the name of one or more targets you want to build, separated by a space. You can also specify a task by appending a semicolon and a task name to a target name, like so: <code>core-image-minimal:do_build</code>"></i>
<i class="icon-question-sign get-help get-help-blue" title="Type the name of one or more recipes you want to build, separated by a space. You can also specify a task by appending a semicolon and a task name to a recipe name, like so: <code>core-image-minimal:do_build</code>"></i>
<p>
<a href="{% url 'all-targets' %}">View all compatible targets</a>
<i class="icon-question-sign get-help get-help-blue heading-help" title="View all the targets you can build with the release selected for this project, which is {[project.release.desc]}"></i>
<a href="{% url 'all-targets' %}">View all compatible recipes</a>
<i class="icon-question-sign get-help get-help-blue heading-help" title="View all the recipes you can build with the release selected for this project, which is {[project.release.desc]}"></i>
{% if completedbuilds.count %}
| <a href="{% url 'projectbuilds' project.id %}">View all project builds ({{completedbuilds.count}})</a>
{% endif %}
@@ -309,24 +309,24 @@ vim: expandtab tabstop=2
<!-- project targets -->
<div id="target-container" class="well well-transparent span4">
<h3>
Targets
<i class="icon-question-sign get-help heading-help" title="What you build, often a recipe producing a root file system file (an image). Something like <code>core-image-minimal</code> or <code>core-image-sato</code>"></i>
Recipes
<i class="icon-question-sign get-help heading-help" title="What you build, often an image recipe that produces a root file system file. Something like <code>core-image-minimal</code> or <code>core-image-sato</code>"></i>
</h3>
<form ng-submit="buildNamedTarget()">
<div class="input-append">
<input type="text" class="input-xlarge" placeholder="Type the target(s) you want to build" autocomplete="off" data-minLength="1" ng-model="targetName1" typeahead="e.name for e in getAutocompleteSuggestions('targets', $viewValue)|filter:$viewValue" typeahead-template-url="suggestion_details" ng-disabled="!layers.length">
<input type="text" class="input-xlarge" placeholder="Type the recipe(s) you want to build" autocomplete="off" data-minLength="1" ng-model="targetName1" typeahead="e.name for e in getAutocompleteSuggestions('targets', $viewValue)|filter:$viewValue" typeahead-template-url="suggestion_details" ng-disabled="!layers.length">
<button type="submit" class="btn btn-primary" ng-disabled="!targetName1.length">
Build </button>
</div>
{% csrf_token %}
</form>
<p>
<a href="{% url 'all-targets' %}">View all compatible targets</a>
<i class="icon-question-sign get-help" title="View all the targets you can build with the release selected for this project, which is {[project.release.desc]}"></i>
<a href="{% url 'all-targets' %}">View all compatible recipes</a>
<i class="icon-question-sign get-help" title="View all the recipes you can build with the release selected for this project, which is {[project.release.desc]}"></i>
</p>
<div ng-if="frequenttargets.length">
<h4 class="air">
Most built targets
Most built recipes
</h4>
<ul class="unstyled configuration-list {[mutedtargets]}">
<li ng-repeat="t in frequenttargets">
@@ -335,7 +335,7 @@ vim: expandtab tabstop=2
</label>
</li>
</ul>
<button class="btn btn-large btn-primary" ng-disabled="enableBuildSelectedTargets()" ng-click="buildSelectedTargets()">Build selected targets</button>
<button class="btn btn-large btn-primary" ng-disabled="enableBuildSelectedTargets()" ng-click="buildSelectedTargets()">Build selected recipes</button>
</div>
</div>

View File

@@ -3,20 +3,20 @@
{% load humanize %}
{% block localbreadcrumb %}
<li>All compatible targets</li>
<li>All compatible recipes</li>
{% endblock %}
{% block projectinfomain %}
<div class="page-header">
<h1>
{% if request.GET.filter and objects.paginator.count > 0 or request.GET.search and objects.paginator.count > 0 %}
{{objects.paginator.count}} target{{objects.paginator.count|pluralize}} found
{{objects.paginator.count}} recipe{{objects.paginator.count|pluralize}} found
{% elif request.GET.filter and objects.paginator.count == 0 or request.GET.search and objects.paginator.count == 0 %}
No targets found
No recipes found
{%else%}
All compatible targets
All compatible recipes
{%endif%}
<i class="icon-question-sign get-help heading-help" title="This page lists all the targets compatible with the release selected for this project, which is {{project.release.description}}"></i>
<i class="icon-question-sign get-help heading-help" title="This page lists all the recipes compatible with the release selected for this project, which is {{project.release.description}}"></i>
</h1>
</div>
@@ -31,13 +31,13 @@
<form class="no-results input-append" id="searchform">
<input id="search" name="search" class="input-xxlarge" type="text" value="{{request.GET.search}}"/>{% if request.GET.search %}<a href="javascript:$('#search').val('');searchform.submit()" class="add-on btn" tabindex="-1"><i class="icon-remove"></i></a>{% endif %}
<button class="btn" type="submit" value="Search">Search</button>
<button class="btn btn-link" onclick="javascript:$('#search').val('');searchform.submit()">Show all targets</button>
<button class="btn btn-link" onclick="javascript:$('#search').val('');searchform.submit()">Show all recipes</button>
</form>
</div>
</div>
{% else %}
<div class="alert alert-info lead">
<p>Toaster has no target information. To generate target information you can:</p>
<p>Toaster has no recipe information. To generate recipe information you can:</p>
<ul>
<li><a href="http://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#layer-source">Configure a layer source</a></li>
<li><a href="{% url 'importlayer' %}">Import a layer</a>, then run a build</li>
@@ -78,7 +78,7 @@
<td class="add-layer" value="{{o.pk}}" layerversion_id="{{o.preffered_layerversion.pk}}">
<div id="layer-tooltip-{{o.pk}}" style="display: none; font-size: 11px; line-height: 1.3;" class="tooltip-inner">layer was modified</div>
<a href="{% url 'project' project.id %}#/targetbuild={{o.name}}" id="target-build-{{o.pk}}" class="btn btn-block remove-layer" style="display:none;" >
Build target
Build recipe
</a>
<a id="layer-add-{{o.pk}}" class="btn btn-block" style="display:none;" href="javascript:layerAdd({{o.preffered_layerversion.pk}}, '{{o.preffered_layerversion.layer.name}}', '{%url 'layerdetails' o.preffered_layerversion.pk%}', {{o.pk}})" >
<i class="icon-plus"></i>

View File

@@ -334,8 +334,14 @@ def _add_daterange_context(queryset_all, request, daterange_list):
context_date['daterange_filter']=''
for key in daterange_list:
queryset_key = queryset_all.order_by(key)
context_date['dateMin_'+key]=timezone.localtime(getattr(queryset_key.first(),key)).strftime("%d/%m/%Y")
context_date['dateMax_'+key]=timezone.localtime(getattr(queryset_key.last(),key)).strftime("%d/%m/%Y")
try:
context_date['dateMin_'+key]=timezone.localtime(getattr(queryset_key.first(),key)).strftime("%d/%m/%Y")
except AttributeError:
context_date['dateMin_'+key]=timezone.localtime(timezone.now())
try:
context_date['dateMax_'+key]=timezone.localtime(getattr(queryset_key.last(),key)).strftime("%d/%m/%Y")
except AttributeError:
context_date['dateMax_'+key]=timezone.localtime(timezone.now())
return context_date,today_begin,yesterday_begin
@@ -1999,8 +2005,8 @@ if toastermain.settings.MANAGED:
]
}
},
{'name': 'Target', # default column, disabled box, with just the name in the list
'qhelp': "This is the build target or build targets (i.e. one or more recipes or image recipes)",
{'name': 'Recipe', # default column, disabled box, with just the name in the list
'qhelp': "What you built (i.e. one or more recipes or image recipes)",
'orderfield': _get_toggle_order(request, "brtarget__target"),
'ordericon':_get_toggle_order_icon(request, "brtarget__target"),
},
@@ -2878,15 +2884,15 @@ if toastermain.settings.MANAGED:
context = {
'projectlayerset' : jsonfilter(map(lambda x: x.layercommit.id, prj.projectlayer_set.all().select_related("layercommit"))),
'objects' : target_info,
'objectname' : "targets",
'objectname' : "recipes",
'default_orderby' : 'name:+',
'tablecols' : [
{ 'name': 'Target',
{ 'name': 'Recipe',
'orderfield': _get_toggle_order(request, "name"),
'ordericon' : _get_toggle_order_icon(request, "name"),
},
{ 'name': 'Target version',
{ 'name': 'Recipe version',
'dclass': 'span2',
},
{ 'name': 'Description',
@@ -3039,7 +3045,7 @@ if toastermain.settings.MANAGED:
vars_fstypes = {
'btrfs','cpio','cpio.gz','cpio.lz4','cpio.lzma','cpio.xz','cramfs',
'elf','ext2','ext2.bz2','ext2.gz','ext2.lzma', 'ext3','ext3.gz','hddimg',
'elf','ext2','ext2.bz2','ext2.gz','ext2.lzma', 'ext4', 'ext4.gz', 'ext3','ext3.gz','hddimg',
'iso','jffs2','jffs2.sum','squashfs','squashfs-lzo','squashfs-xz','tar.bz2',
'tar.lz4','tar.xz','tartar.gz','ubi','ubifs','vmdk'
}
@@ -3310,8 +3316,8 @@ if toastermain.settings.MANAGED:
{'name': 'Last build outcome', 'clclass': 'loutcome',
'qhelp': "Tells you if the last project build completed successfully or failed",
},
{'name': 'Target', 'clclass': 'ltarget',
'qhelp': "The last project build target(s): one or more recipes or image recipes",
{'name': 'Recipe', 'clclass': 'ltarget',
'qhelp': "The last recipe that was built in this project",
},
{'name': 'Errors', 'clclass': 'lerrors',
'qhelp': "How many errors were encountered during the last project build (if any)",
@@ -3425,8 +3431,8 @@ else:
]
}
},
{'name': 'Target', # default column, disabled box, with just the name in the list
'qhelp': "This is the build target or build targets (i.e. one or more recipes or image recipes)",
{'name': 'Recipe', # default column, disabled box, with just the name in the list
'qhelp': "What you built (i.e. one or more recipes or image recipes)",
'orderfield': _get_toggle_order(request, "target__target"),
'ordericon':_get_toggle_order_icon(request, "target__target"),
},

View File

@@ -241,7 +241,9 @@ TARFILES = mega-manual.html mega-style.css figures/yocto-environment.png \
figures/analysis-for-package-splitting.png \
figures/image-generation.png \
figures/sdk-generation.png figures/recipe-workflow.png \
figures/build-workspace-directory.png figures/mega-title.png
figures/build-workspace-directory.png figures/mega-title.png \
figures/toaster-title.png figures/hosted-service.png \
figures/simple-configuration.png
endif
MANUALS = $(DOC)/$(DOC).html
@@ -328,7 +330,9 @@ endif
ifeq ($(DOC),toaster-manual)
XSLTOPTS = --xinclude
ALLPREQ = html tarball
TARFILES = toaster-manual.html toaster-manual-style.css figures/toaster-title.png
TARFILES = toaster-manual.html toaster-manual-style.css \
figures/toaster-title.png figures/simple-configuration.png \
figures/hosted-service.png
MANUALS = $(DOC)/$(DOC).html $(DOC)/$(DOC).pdf
FIGURES = figures
STYLESHEET = $(DOC)/*.css
@@ -338,7 +342,7 @@ endif
##
# These URI should be rewritten by your distribution's xml catalog to
# match your locally installed XSL stylesheets.
XSL_BASE_URI = http://docbook.sourceforge.net/release/xsl/current
XSL_BASE_URI = http://docbook.sourceforge.net/release/xsl/1.76.1
XSL_XHTML_URI = $(XSL_BASE_URI)/xhtml/docbook.xsl
all: $(ALLPREQ)

View File

@@ -6,7 +6,7 @@
version="1.0">
<xsl:import
href="http://docbook.sourceforge.net/release/xsl/current/eclipse/eclipse3.xsl" />
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"/>

View File

@@ -6,7 +6,7 @@
version="1.0">
<xsl:import
href="http://docbook.sourceforge.net/release/xsl/current/eclipse/eclipse3.xsl" />
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"/>

View File

@@ -100,11 +100,6 @@
/usr/local/src/yocto/meta-yocto \
/usr/local/src/yocto/meta-yocto-bsp \
/usr/local/src/yocto/meta-mylayer \
"
BBLAYERS_NON_REMOVABLE ?= " \
/usr/local/src/yocto/meta \
/usr/local/src/yocto/meta-yocto \
"
</literallayout>
</para>

View File

@@ -447,11 +447,6 @@
$HOME/poky/meta-yocto \
$HOME/poky/meta-yocto-bsp \
$HOME/poky/meta-mylayer \
"
BBLAYERS_NON_REMOVABLE ?= " \
$HOME/poky/meta \
$HOME/poky/meta-yocto \
"
</literallayout>
</para>
@@ -878,11 +873,6 @@
/usr/local/src/yocto/meta-yocto \
/usr/local/src/yocto/meta-yocto-bsp \
/usr/local/src/yocto/meta-mylayer \
"
BBLAYERS_NON_REMOVABLE ?= " \
/usr/local/src/yocto/meta \
/usr/local/src/yocto/meta-yocto \
"
</literallayout>
Adding the layer to this file enables the build system to
@@ -1304,10 +1294,16 @@
or
<ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>).
Here is the basic <filename>recipetool</filename> syntax:
<note>
Running <filename>recipetool -h</filename> or
<filename>recipetool create -h</filename> produces the
Python-generated help, which presented differently
than what follows here.
</note>
<literallayout class='monospaced'>
recipetool -h
recipetool create [-h]
recipetool [-d] [-q] [--color auto | always | never ] create [-o <replaceable>OUTFILE</replaceable>] [-m] [-x <replaceable>EXTERNALSRC</replaceable>] <replaceable>source</replaceable>
recipetool [-d] [-q] [--color auto | always | never ] create -o <replaceable>OUTFILE</replaceable> [-m] [-x <replaceable>EXTERNALSRC</replaceable>] <replaceable>source</replaceable>
-d Enables debug output.
-q Outputs only errors (quiet mode).
@@ -1330,9 +1326,9 @@
</para>
<para>
Running <filename>recipetool</filename> creates the base
recipe and locates it properly in the layer that contains
your source files.
Running <filename>recipetool create -o</filename>&nbsp;<replaceable>OUTFILE</replaceable>
creates the base recipe and locates it properly in the
layer that contains your source files.
Following are some syntax examples:
</para>
@@ -1341,20 +1337,14 @@
Once generated, the recipe resides in the existing source
code layer:
<literallayout class='monospaced'>
recipetool create <replaceable>source</replaceable>
recipetool create -o <replaceable>OUTFILE</replaceable>&nbsp;<replaceable>source</replaceable>
</literallayout>
Use this syntax to generate a recipe using code that you
extract from <replaceable>source</replaceable>.
The extracted code is placed in its own layer defined
by <replaceable>EXTERNALSRC</replaceable>.
<literallayout class='monospaced'>
recipetool create -x <replaceable>EXTERNALSRC</replaceable> <replaceable>source</replaceable>
</literallayout>
Use this syntax to generate a recipe and override the
tool's default placement of the recipe by specifying both
its location and name using <replaceable>OUTFILE</replaceable>.
<literallayout class='monospaced'>
recipetool create -o <replaceable>OUTFILE</replaceable> <replaceable>source</replaceable>
recipetool create -o <replaceable>OUTFILE</replaceable> -x <replaceable>EXTERNALSRC</replaceable> <replaceable>source</replaceable>
</literallayout>
Use this syntax to generate a recipe based on <replaceable>source</replaceable>.
The options direct <filename>recipetool</filename> to
@@ -5169,11 +5159,6 @@
$HOME/poky/meta-yocto \
$HOME/poky/meta-yocto-bsp \
$HOME/poky/meta-mylayer \
"
BBLAYERS_NON_REMOVABLE ?= " \
$HOME/poky/meta \
$HOME/poky/meta-yocto \
"
</literallayout></para></listitem>
</itemizedlist>
@@ -9351,217 +9336,6 @@
</section>
</section>
<section id="examining-builds-using-toaster">
<title>Examining Builds Using the Toaster API</title>
<para>
Toaster is an Application Programming Interface (API) and
web-based interface to the OpenEmbedded build system, which uses
BitBake.
Both interfaces are based on a Representational State Transfer
(REST) API that queries for and returns build information using
<filename>GET</filename> and <filename>JSON</filename>.
These types of search operations retrieve sets of objects from
a datastore used to collect build information.
The results contain all the data for the objects being returned.
You can order the results of the search by key and the search
parameters are consistent for all object types.
</para>
<para>
Using the interfaces you can do the following:
<itemizedlist>
<listitem><para>See information about the tasks executed
and reused during the build.</para></listitem>
<listitem><para>See what is built (recipes and
packages) and what packages were installed into the final
image.</para></listitem>
<listitem><para>See performance-related information such
as build time, CPU usage, and disk I/O.</para></listitem>
<listitem><para>Examine error, warning and trace messages
to aid in debugging.</para></listitem>
</itemizedlist>
</para>
<note>
<para>This release of Toaster provides you with information
about a BitBake run.
The tool does not allow you to configure and launch a build.
However, future development includes plans to integrate the
configuration and build launching capabilities of
<ulink url='&YOCTO_HOME_URL;/tools-resources/projects/hob'>Hob</ulink>.
</para>
<para>For more information on using Hob to build an image,
see the
"<link linkend='image-development-using-hob'>Image Development Using Hob</link>"
section.</para>
</note>
<para>
The remainder of this section describes what you need to have in
place to use Toaster, how to start it, use it, and stop it.
For additional information on installing and running Toaster, see the
"<ulink url='https://wiki.yoctoproject.org/wiki/Toaster#Installation_and_Running'>Installation and Running</ulink>"
section of the "Toaster" wiki page.
For complete information on the API and its search operation
URI, parameters, and responses, see the
<ulink url='https://wiki.yoctoproject.org/wiki/REST_API_Contracts'>REST API Contracts</ulink>
Wiki page.
</para>
<section id='starting-toaster'>
<title>Starting Toaster</title>
<para>
Getting set up to use and start Toaster is simple.
First, be sure you have met the following requirements:
<itemizedlist>
<listitem><para>You have set up your
<link linkend='source-directory'>Source Directory</link>
by cloning the upstream <filename>poky</filename>
repository.
See the
<link linkend='local-yp-release'>Yocto Project Release</link>
item for information on how to set up the Source
Directory.</para></listitem>
<listitem><para>Be sure your build machine has
<ulink url='http://en.wikipedia.org/wiki/Django_%28web_framework%29'>Django</ulink>
version 1.5 installed.</para></listitem>
<listitem><para>Make sure that port 8000 and 8200 are
free (i.e. they have no servers on them).
</para></listitem>
</itemizedlist>
</para>
<para>
Once you have met the requirements, follow these steps to
start Toaster running in the background of your shell:
<orderedlist>
<listitem><para><emphasis>Set up your build environment:</emphasis>
Source a build environment script (i.e.
<ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
or
<ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>).
</para></listitem>
<listitem><para><emphasis>Start Toaster:</emphasis>
Start the Toaster service using this
command from within your
<link linkend='build-directory'>Build Directory</link>:
<literallayout class='monospaced'>
$ source toaster start
</literallayout></para></listitem>
<note>
The Toaster must be started and running in order
for it to collect data.
</note>
</orderedlist>
</para>
<para>
When Toaster starts, it creates some additional files in your
Build Directory.
Deleting these files will cause you to lose data or interrupt
Toaster:
<itemizedlist>
<listitem><para><emphasis><filename>toaster.sqlite</filename>:</emphasis>
Toaster's database file.</para></listitem>
<listitem><para><emphasis><filename>toaster_web.log</filename>:</emphasis>
The log file of the web server.</para></listitem>
<listitem><para><emphasis><filename>toaster_ui.log</filename>:</emphasis>
The log file of the user interface component.
</para></listitem>
<listitem><para><emphasis><filename>toastermain.pid</filename>:</emphasis>
The PID of the web server.</para></listitem>
<listitem><para><emphasis><filename>toasterui.pid</filename>:</emphasis>
The PID of the DSI data bridge.</para></listitem>
<listitem><para><emphasis><filename>bitbake-cookerdaemon.log</filename>:</emphasis>
The BitBake server's log file.</para></listitem>
</itemizedlist>
</para>
</section>
<section id='using-toaster'>
<title>Using Toaster</title>
<para>
Once Toaster is running, it logs information for any BitBake
run from your Build Directory.
This logging is automatic.
All you need to do is access and use the information.
</para>
<para>
You access the information one of two ways:
<itemizedlist>
<listitem><para>Open a Browser and enter
<filename>http://localhost:8000</filename>
for the URL.
</para></listitem>
<listitem><para>Use the <filename>xdg-open</filename>
tool from the shell and pass it the same URL.
</para></listitem>
</itemizedlist>
Either method opens the home page for the Toaster interface.
</para>
<note><title>Notes</title>
<itemizedlist>
<listitem><para>
For information on how to delete information from the
Toaster database, see the
<ulink url='https://wiki.yoctoproject.org/wiki/Toaster#Deleting_a_Build_from_the_Toaster_Database'>Deleting a Build from the Toaster Database</ulink>
wiki page.
</para></listitem>
<listitem><para>
For information on how to set up an instance of Toaster
on a remote host, see the
<ulink url='https://wiki.yoctoproject.org/wiki/Toaster#Setting_up_a_Toaster_Instance_on_a_Remote_Host'>Setting Up a Toaster Instance on a Remote Host</ulink>
wiki page.
</para></listitem>
</itemizedlist>
</note>
</section>
<section id='examining-toaster-data'>
<title>Examining Toaster Data</title>
<para>
The Toaster database is persistent regardless of whether you
start or stop the service.
</para>
<para>
Toaster's interface shows you a list of builds
(successful and unsuccessful) for which it has data.
You can click on any build to see related information.
This information includes configuration details, information
about tasks, all recipes and packages built and their
dependencies, packages and their directory structure as
installed in your final image,
execution time, CPU usage and disk I/O per task.
</para>
<para>
For details on the interface, see the
<ulink url='https://www.yoctoproject.org/documentation/toaster-manual'>Toaster Manual</ulink>.
</para>
</section>
<section id='stopping-toaster'>
<title>Stopping Toaster</title>
<para>
Stop the Toaster service with the following command
from with the
<link linkend='build-directory'>Build Directory</link>:
<literallayout class='monospaced'>
$ source toaster stop
</literallayout>
The service stops but the Toaster database remains persistent.
</para>
</section>
</section>
<section id="platdev-oprofile">
<title>Profiling with OProfile</title>
@@ -10037,11 +9811,6 @@
##OEROOT##/meta-yocto \
##OEROOT##/meta-yocto-bsp \
##OEROOT##/meta-mylayer \
"
BBLAYERS_NON_REMOVABLE ?= " \
##OEROOT##/meta \
##OEROOT##/meta-yocto \
"
</literallayout>
Creating and providing an archive of the

View File

@@ -6,7 +6,7 @@
version="1.0">
<xsl:import
href="http://docbook.sourceforge.net/release/xsl/current/eclipse/eclipse3.xsl" />
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"/>

View File

@@ -146,6 +146,12 @@
This manual presents a set of common and generally useful tracing and
profiling schemes along with their applications (as appropriate) to each tool.
</para></listitem>
<listitem><para><emphasis>
<ulink url='&YOCTO_DOCS_TOAST_URL;'>Toaster User Manual</ulink>:</emphasis>
This manual introduces and describes how to set up and use
Toaster, which is a web interface to the Yocto Project's
<link linkend='build-system-term'>OpenEmbedded Build System</link>.
</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.youtube.com/watch?v=3ZlOu-gLsh0'>
Eclipse IDE Yocto Plug-in</ulink>:</emphasis>

View File

@@ -335,12 +335,12 @@
<para>
Within the figure, the "Kernel.org Branch Point" represents the point in the tree
where a supported base kernel is modified from the Linux kernel.
For example, this could be the branch point for the <filename>linux-yocto-3.4</filename>
For example, this could be the branch point for the <filename>linux-yocto-3.19</filename>
kernel.
Thus, everything further to the right in the structure is based on the
<filename>linux-yocto-3.4</filename> kernel.
<filename>linux-yocto-3.19</filename> kernel.
Branch points to the right in the figure represent where the
<filename>linux-yocto-3.4</filename> kernel is modified for specific hardware
<filename>linux-yocto-3.19</filename> kernel is modified for specific hardware
or types of kernels, such as real-time kernels.
Each leaf thus represents the end-point for a kernel designed to run on a specific
targeted device.
@@ -1669,8 +1669,8 @@
<para>
A common development workflow consists of modifying project source
files that are external to the Yocto Project and then integrating
that project's build output into an image built using the Yocto
Project.
that project's build output into an image built using the
OpenEmbedded build system.
Given this scenario, development engineers typically want to stick
to their familiar project development tools and methods, which allows
them to just focus on the project.
@@ -1679,14 +1679,12 @@
<para>
Several workflows exist that allow you to develop, build, and test
code that is going to be integrated into an image built using the
Yocto Project.
OpenEmbedded build system.
This section describes two:
<itemizedlist>
<listitem><para><emphasis><filename>devtool</filename>:</emphasis>
A set of tools and
enhancements put together by the Yocto Project team that
makes it easier for you to modify code that is external to
the Yocto Project.
A set of tools to aid in working on the source code built by
the OpenEmbedded build system.
Section
"<link linkend='using-devtool-in-your-workflow'>Using <filename>devtool</filename> in Your Workflow</link>"
describes this workflow.
@@ -1715,9 +1713,19 @@
<para>
As mentioned earlier, <filename>devtool</filename> helps
you easily develop projects whose build output must be part of
an image built using the Yocto Project.
an image built using the OpenEmbedded build system.
The remainder of this section presents the workflow you would
use that includes <filename>devtool</filename>.
<footnote>
<para>
Kudos and thanks to
<ulink url='mailto:twoerner@gmail.com'>Trevor Woerner</ulink>
whose
"<ulink url='https://drive.google.com/file/d/0B3KGzY5fW7laTDVxUXo3UDRvd2s/view'>Yocto Project Developer Workflow Tutorial</ulink>"
paper contributed nicely towards the development of this
section.
</para>
</footnote>
<note>
The workflow considers the entire build process for the
image and not just modification of the external source
@@ -1729,9 +1737,6 @@
<title>Establish the Reference Image</title>
<para>
Local repositories for both the Yocto Project and your
project must exist in addition to the image built by
the OpenEmbedded build system.
The steps to clone the <filename>poky</filename> Git
repository, build out an image, and test it using QEMU
are well documented as follows:
@@ -1770,51 +1775,59 @@
Several opportunities exist in the workflow to extract and
work on the files.
For now, just realize that you need to be able to have
access to and edit files in your layer.
One obvious solution is to initially extract the code into its
own layer in preparation for modification.
access to and edit files.
One obvious solution is to initially extract the code into an
isolated area in preparation for modification.
</para>
<para>
Another option is to use the <filename>devtool</filename>
command.
<filename>devtool</filename> makes use of a
"workspace" layer where much of the transitional work
occurs, which is needed for setting up Metadata used by the
OpenEmbedded build system that lets you build your software.
Options exist using <filename>devtool</filename> that
enable you to use the tool to extract source code.
Another option is to use the
<filename>devtool modify</filename> command.
This command makes use of a "workspace" layer where much of
the transitional work occurs, which is needed for setting up
Metadata used by the OpenEmbedded build system that lets you
build your software.
Options (i.e. "-x") exist using <filename>devtool</filename>
that enable you to use the tool to extract source code.
</para>
</section>
<section id='use-devtool-to-integrate-your-code-with-the-image'>
<title>Use <filename>dev-tool</filename> to Integrate Your Code with the Image</title>
<title>Use <filename>devtool add</filename> to Integrate Your Code with the Image</title>
<para>
<filename>devtool</filename> automatically
The <filename>devtool add</filename> command automatically
generates the needed Metadata that allows the OpenEmbedded
build system to build your code into the image.
<note>
If a package or packages produced by the recipe on which
you are working are not already in
<ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'><filename>IMAGE_INSTALL</filename></ulink>
for the image, you must add them.
The <filename>devtool add</filename> command does not
add them for you.
</note>
Use the following command form:
<literallayout class='monospaced'>
$ devtool add <replaceable>your-project-name</replaceable>&nbsp;<replaceable>path-to-source</replaceable>/<replaceable>your-project-name</replaceable>
$ devtool add <replaceable>your-project-name</replaceable>&nbsp;<replaceable>path-to-source</replaceable>
</literallayout>
Running <filename>devtool</filename> modifies the
<filename>bblayers.conf</filename> used to build the
image in the Yocto Project.
Running <filename>devtool add</filename> modifies the
<filename>bblayers.conf</filename> that the
OpenEmbedded build system uses to build an image.
For more information on the <filename>bblayers.conf</filename>,
see the
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>"
section in the Yocto Project Board Support Package (BSP) Developer's Guide.
"<ulink url='&YOCTO_DOCS_REF_URL;#structure-build-conf-bblayers.conf'><filename>build/conf/bblayers.conf</filename></ulink>"
section in the Yocto Project Reference Manual.
</para>
<para>
Running <filename>devtool</filename> adds a new workspace
Running <filename>devtool add</filename> adds a new workspace
layer to the <filename>bblayers.conf</filename> file that
is based on your project's location:
<literallayout class='monospaced'>
<replaceable>path-to-source</replaceable>/<replaceable>build-directory</replaceable>/<replaceable>workspace-layer</replaceable>
</literallayout>
By default, the name of the workspace layer is "workplace".
By default, the name of the workspace layer is "workspace".
</para>
<para>
@@ -1825,6 +1838,7 @@
section.
</para>
<!--
<para>
Of course, each layer must have a
<filename>layer.conf</filename> configuration file.
@@ -1842,9 +1856,10 @@
BBFILE_PRIORITY_workspacelayer = "99"
</literallayout>
</para>
-->
<para>
Running <filename>devtool</filename> also automatically
Running <filename>devtool add</filename> automatically
generates your recipe:
<literallayout class='monospaced'>
$ cat workspace/recipes/<replaceable>your-project-name</replaceable>/<replaceable>your-project-name</replaceable>.bb
@@ -1873,7 +1888,7 @@
</para>
<para>
Lastly, the <filename>devtool</filename> creates the
Lastly, the <filename>devtool add</filename> command creates the
<filename>.bbappend</filename> file:
<literallayout class='monospaced'>
$ cat workspace/appends/<replaceable>your-project-name</replaceable>.bbappend
@@ -1889,8 +1904,8 @@
<title>Build Your Project</title>
<para>
You can use BitBake or <filename>devtool</filename> to build
your modified project.
You can use BitBake or <filename>devtool build</filename> to
build your modified project.
</para>
<para>
@@ -1898,8 +1913,10 @@
<literallayout class='monospaced'>
$ bitbake <replaceable>your-project-name</replaceable>
</literallayout>
To use <filename>devtool</filename>, run the tool with the
<filename>build</filename> option:
Alternatively, you can use
<filename>devtool build</filename>, which is equivalent to
<filename>bitbake -c populate_sysroot</filename>.
For example:
<literallayout class='monospaced'>
$ devtool build <replaceable>your-project-name</replaceable>
</literallayout>
@@ -1913,11 +1930,9 @@
The final step before testing is to rebuild the base image
with your project changes as part of the image.
Simply run BitBake again on your image.
Here is an example that assumes
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
is set to "qemux86":
Here is an example:
<literallayout class='monospaced'>
$ bitbake qemux86 <replaceable>image</replaceable>
$ bitbake <replaceable>image</replaceable>
</literallayout>
</para>
</section>
@@ -1958,35 +1973,32 @@
<filename>--help</filename> option:
<literallayout class='monospaced'>
$ devtool --help
usage: devtool [-h] [--basepath BASEPATH] [-d] [-q]
[--color {auto,always,never}]
{create-workspace,deploy-target,undeploy-target,add,modify,extract,update-recipe,status,build,reset}
...
usage: devtool [-h] [--basepath BASEPATH] [-d] [-q] [--color COLOR]
&lt;subcommand&gt; ...
OpenEmbedded development tool
positional arguments:
{create-workspace,deploy-target,undeploy-target,add,modify,extract,update-recipe,status,build,reset}
create-workspace Set up a workspace
deploy-target Deploy recipe output files to live target machine
undeploy-target Undeploy recipe output files in live target machine
add Add a new recipe
modify Modify the source for an existing recipe
extract Extract the source for an existing recipe
update-recipe Apply changes from external source tree to recipe
status Show status
build Build recipe
reset Remove a recipe from your workspace
optional arguments:
-h, --help show this help message and exit
--basepath BASEPATH Base directory of SDK / build directory
-d, --debug Enable debug output
-q, --quiet Print only errors
--color {auto,always,never}
Colorize output
-h, --help show this help message and exit
--basepath BASEPATH Base directory of SDK / build directory
-d, --debug Enable debug output
-q, --quiet Print only errors
--color COLOR Colorize output (where COLOR is auto, always, never)
Use devtool &lt;command&gt; --help to get help on a specific command
subcommands:
&lt;subcommand&gt;
create-workspace Set up a workspace
deploy-target Deploy recipe output files to live target machine
undeploy-target Undeploy recipe output files in live target machine
add Add a new recipe
modify Modify the source for an existing recipe
extract Extract the source for an existing recipe
update-recipe Apply changes from external source tree to recipe
status Show workspace status
build Build a recipe
reset Remove a recipe from your workspace
Use devtool &lt;subcommand&gt; --help to get help on a specific command
</literallayout>
</para>
@@ -1996,7 +2008,9 @@
name and using <filename>--help</filename>:
<literallayout class='monospaced'>
$ devtool add --help
usage: devtool add [-h] [--version VERSION] recipename srctree
usage: devtool add [-h] [--same-dir] [--version VERSION] recipename srctree
Adds a new recipe
positional arguments:
recipename Name for new recipe to add
@@ -2004,7 +2018,9 @@
optional arguments:
-h, --help show this help message and exit
--same-dir, -s Build in same directory as source (default: False)
--version VERSION, -V VERSION
Version to use within recipe (PV) (default: None)
</literallayout>
</para>
</section>
@@ -2013,7 +2029,7 @@
<title>Adding a New Recipe to the Workspace Layer</title>
<para>
Use the <filename>add</filename> command to add a new recipe
Use the <filename>devtool add</filename> command to add a new recipe
to the workspace layer.
The recipe you add should not exist -
<filename>devtool</filename> creates it for you.
@@ -2050,7 +2066,8 @@
README - Provides information on what is in workspace layer and how to
manage it.
appends - A directory that contains *.bbappend files.
appends - A directory that contains *.bbappend files, which point to
external source.
conf - A configuration directory that contains the layer.conf file.
@@ -2065,6 +2082,8 @@
Running <filename>devtool add</filename> when the
workspace layer exists causes the tool to add the recipe
and append files into the existing workspace layer.
The <filename>.bbappend</filename> file is created to point
to the external source tree.
</para>
</section>
@@ -2072,7 +2091,7 @@
<title>Creating the Workspace Layer</title>
<para>
Use the <filename>create-workspace</filename> command to
Use the <filename>devtool create-workspace</filename> command to
create a new workspace layer in your
<link linkend='build-directory'>Build Directory</link>.
When you create a new workspace layer, it is populated with the
@@ -2108,19 +2127,21 @@
<title>Modifying a Recipe</title>
<para>
Use the <filename>modify</filename> command to configure
an external recipe in the workspace layer.
Use the <filename>devtool modify</filename> command to begin
modifying the source of an existing recipe.
This command is very similar to the
<link linkend='devtool-adding-a-new-recipe-to-the-workspace'><filename>add</filename></link>
command except that it does not physically create the
recipe in the workspace layer because the recipe already
exists in an external layer.
exists in an another layer.
</para>
<para>
The <filename>modify</filename> command provides options
that allow you to extract the source and provide a
development branch name where you can do your work.
The <filename>devtool modify</filename> command extracts the
source for a recipe, sets it up as a Git repository if the
source had not already been fetched from Git, checks out a
branch for development, and applies any patches from the recipe
as commits on top.
You can use the following command to checkout the source
files:
<literallayout class='monospaced'>
@@ -2148,15 +2169,23 @@
<title>Resetting a Recipe</title>
<para>
Use the <filename>reset</filename> command to remove a
Use the <filename>devtool reset</filename> command to remove a
recipe and its configuration (e.g. the corresponding
<filename>.bbappend</filename> file) from the workspace layer.
Realize that this command deletes the recipe and and the
Realize that this command deletes the recipe and the
append file.
The command does not physically move them for you.
Consequently, you must be sure to physically relocate your
updated recipe and the append file outside of the workspace
layer before running the <filename>reset</filename> command.
layer before running the <filename>devtool reset</filename>
command.
</para>
<para>
If the <filename>devtool reset</filename> command detects that
the recipe or the append files have been modified, the
command preserves the modified files in a separate "attic"
subdirectory under the workspace layer.
<note>
For complete syntax, use the
<filename>devtool reset --help</filename> command.
@@ -2168,18 +2197,17 @@
<title>Updating a Recipe</title>
<para>
Use the <filename>update-recipe</filename> command to cause
<filename>devtool</filename> to update your recipe with patches
that reflect changes you make to the source files.
Use the <filename>devtool update-recipe</filename> command to
update your recipe with patches that reflect changes you make
to the source files.
For example, if you know you are going to work on some
code, you could first use the
<link linkend='devtool-modifying-a-recipe'><filename>modify</filename></link>
<link linkend='devtool-modifying-a-recipe'><filename>devtool modify</filename></link>
command to extract the code and set up the workspace.
After which, you could modify, compile, and test the code
in its own layer to which it was extracted.
After which, you could modify, compile, and test the code.
When you are satisfied with the results you can then
run the <filename>update-recipe</filename> to create the
patches and update the recipe in the external layer:
run the <filename>devtool update-recipe</filename> to create the
patches and update the recipe:
<literallayout class='monospaced'>
$ devtool update-recipe <replaceable>recipe</replaceable>
</literallayout>
@@ -2194,9 +2222,12 @@
<title>Building Your Software</title>
<para>
Use the <filename>build</filename> command to cause the
Use the <filename>devtool build</filename> command to cause the
OpenEmbedded build system to build your software based
on the recipe file:
on the recipe file.
The <filename>devtool build</filename> command is equivalent to
<filename>bitbake -c populate_sysroot</filename>.
Here is an example:
<literallayout class='monospaced'>
$ devtool build <replaceable>recipe</replaceable>
</literallayout>
@@ -2204,8 +2235,8 @@
For complete syntax, use the
<filename>devtool update-recipe --help</filename> command.
</note>
Building your software using <filename>build</filename> is
identical to using BitBake to build the software.
Building your software using <filename>devtool build</filename>
is identical to using BitBake to build the software.
</para>
</section>
@@ -2213,17 +2244,36 @@
<title>Deploying Your Software on the Target Machine</title>
<para>
Use the <filename>deploy-target</filename> command to deploy
the recipe's build output to the the live target machine:
Use the <filename>devtool deploy-target</filename> command to
deploy the recipe's build output to the live target machine:
<literallayout class='monospaced'>
$ devtool deploy-target <replaceable>recipe</replaceable>&nbsp;<replaceable>target</replaceable>
</literallayout>
The <replaceable>target</replaceable> is the actual
target running on an SSH server (i.e.
<filename>user@hostname[:destdir]</filename>.
<note>
For complete syntax, use the
<filename>devtool deploy-target --help</filename> command.
The <replaceable>target</replaceable> is the address of the
target machine, which must be running an SSH server (i.e.
<filename>user@hostname[:destdir]</filename>).
</para>
<para>
This command deploys all files installed during the
<ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-install'><filename>do_install</filename></ulink>
task.
Furthermore, you do not need to have package management enabled
within the target machine.
If you do, the package manager is bypassed.
<note><title>Notes</title>
<para>
The <filename>deploy-target</filename>
functionality is for development only.
You should never use it to update an image that will be
used in production.
</para>
<para>
For complete syntax, use the
<filename>devtool deploy-target --help</filename>
command.
</para>
</note>
</para>
</section>
@@ -2232,18 +2282,18 @@
<title>Removing Your Software from the Target Machine</title>
<para>
Use the <filename>undeploy-target</filename> command to remove
deployed build output from the target machine.
For <filename>undeploy-target</filename> command to work,
you must have previously used the
<link linkend='devtool-deploying-your-software-on-the-target-machine'><filename>deploy-target</filename></link>
Use the <filename>devtool undeploy-target</filename> command to
remove deployed build output from the target machine.
For the <filename>devtool undeploy-target</filename> command to
work, you must have previously used the
<link linkend='devtool-deploying-your-software-on-the-target-machine'><filename>devtool deploy-target</filename></link>
command.
<literallayout class='monospaced'>
$ devtool undeploy-target <replaceable>recipe</replaceable>&nbsp;<replaceable>target</replaceable>
</literallayout>
The <replaceable>target</replaceable> is the actual
target running on an SSH server (i.e.
<filename>user@hostname</filename>.
The <replaceable>target</replaceable> is the address of the
target machine, which must be running an SSH server (i.e.
<filename>user@hostname</filename>).
<note>
For complete syntax, use the
<filename>devtool undeploy-target --help</filename> command.
@@ -2257,11 +2307,19 @@
<para>
<ulink url='http://savannah.nongnu.org/projects/quilt'>Quilt</ulink>
is a powerful tool that allows you to capture source code changes without having
a clean source tree.
is a powerful tool that allows you to capture source code changes
without having a clean source tree.
This section outlines the typical workflow you can use to modify
source code, test changes, and then preserve the changes in the
form of a patch all using Quilt.
<note><title>Tip</title>
With regard to preserving changes to source files if you
clean a recipe or have <filename>rm_work</filename> enabled,
the workflow described in the
"<link linkend='using-devtool-in-your-workflow'>Using <filename>devtool</filename> in Your Workflow</link>"
section is a safer development flow than than the flow that
uses Quilt.
</note>
</para>
<para>
@@ -2449,6 +2507,20 @@
</section>
</section>
<section id='image-development-using-toaster'>
<title>Image Development Using Toaster</title>
<para>
Toaster is a web interface to the Yocto Project's OpenEmbedded build
system.
You can initiate builds using Toaster as well as examine the results
and statistics of builds.
See the
<ulink url='&YOCTO_DOCS_TOAST_URL;'>Toaster User Manual</ulink>
for information on how to set up and use Toaster to build images.
</para>
</section>
<section id='image-development-using-hob'>
<title>Image Development Using Hob</title>

View File

@@ -1597,7 +1597,7 @@
<para>
You can find general Git information on how to push a change upstream in the
<ulink url='http://book.git-scm.com/3_distributed_workflows.html'>Git Community Book</ulink>.
<ulink url='http://git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows'>Git Community Book</ulink>.
</para>
</section>

View File

@@ -72,7 +72,7 @@
You should also have about 50 Gbytes of free disk space for building images.
</para></listitem>
<listitem><para><emphasis>Packages:</emphasis> The OpenEmbedded build system
requires that certain packages exist on your development system (e.g. Python 2.6 or 2.7).
requires that certain packages exist on your development system (e.g. Python 2.7).
See "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>"
section in the Yocto Project Quick Start and the
"<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>"

View File

@@ -6,7 +6,7 @@
version="1.0">
<xsl:import
href="http://docbook.sourceforge.net/release/xsl/current/eclipse/eclipse3.xsl" />
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"/>

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -216,6 +216,9 @@
<xi:include
xmlns:xi="http://www.w3.org/2003/XInclude" href="../toaster-manual/toaster-manual-setup-and-use.xml"/>
<xi:include
xmlns:xi="http://www.w3.org/2003/XInclude" href="../toaster-manual/toaster-manual-reference.xml"/>
</book>
<!--

View File

@@ -32,7 +32,7 @@
<!ENTITY YOCTO_DOCS_URL "&YOCTO_HOME_URL;/docs">
<!ENTITY YOCTO_SOURCES_URL "&YOCTO_HOME_URL;/sources/">
<!ENTITY YOCTO_AB_PORT_URL "&YOCTO_AB_URL;:8010">
<!ENTITY YOCTO_AB_NIGHTLY_URL "&YOCTO_AB_URL;/nightly/">
<!ENTITY YOCTO_AB_NIGHTLY_URL "&YOCTO_AB_URL;/pub/nightly/">
<!ENTITY YOCTO_POKY_URL "&YOCTO_DL_URL;/releases/poky/">
<!ENTITY YOCTO_RELEASE_DL_URL "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;">
<!ENTITY YOCTO_TOOLCHAIN_DL_URL "&YOCTO_RELEASE_DL_URL;/toolchain/">

View File

@@ -6,7 +6,7 @@
version="1.0">
<xsl:import
href="http://docbook.sourceforge.net/release/xsl/current/eclipse/eclipse3.xsl" />
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"/>

View File

@@ -147,15 +147,18 @@
</para>
</note>
<itemizedlist>
<!-- <listitem><para>Ubuntu 10.04</para></listitem>
<listitem><para>Ubuntu 11.10</para></listitem> -->
<!--
<listitem><para>Ubuntu 10.04</para></listitem>
<listitem><para>Ubuntu 11.10</para></listitem>
<listitem><para>Ubuntu 12.04 (LTS)</para></listitem>
<listitem><para>Ubuntu 13.10</para></listitem>
<listitem><para>Ubuntu 13.10</para></listitem> -->
<listitem><para>Ubuntu 14.04 (LTS)</para></listitem>
<listitem><para>Ubuntu 14.10</para></listitem>
<!-- <listitem><para>Fedora 16 (Verne)</para></listitem>
<listitem><para>Fedora 17 (Spherical)</para></listitem> -->
<listitem><para>Fedora 17 (Spherical)</para></listitem>
<listitem><para>Fedora release 19 (Schrödinger's Cat)</para></listitem>
<listitem><para>Fedora release 20 (Heisenbug)</para></listitem>
<listitem><para>Fedora release 20 (Heisenbug)</para></listitem> -->
<listitem><para>Fedora release 21</para></listitem>
<!-- <listitem><para>CentOS release 5.6 (Final)</para></listitem>
<listitem><para>CentOS release 5.7 (Final)</para></listitem>
<listitem><para>CentOS release 5.8 (Final)</para></listitem>
@@ -164,6 +167,7 @@
<listitem><para>CentOS release 7.x</para></listitem>
<!-- <listitem><para>Debian GNU/Linux 6.0 (Squeeze)</para></listitem> -->
<listitem><para>Debian GNU/Linux 7.x (Wheezy)</para></listitem>
<listitem><para>Debian GNU/Linux 8.x (Jessie)</para></listitem>
<!-- <listitem><para>Debian GNU/Linux 7.1 (Wheezy)</para></listitem>
<listitem><para>Debian GNU/Linux 7.2 (Wheezy)</para></listitem>
<listitem><para>Debian GNU/Linux 7.3 (Wheezy)</para></listitem>
@@ -171,10 +175,11 @@
<listitem><para>Debian GNU/Linux 7.5 (Wheezy)</para></listitem>
<listitem><para>Debian GNU/Linux 7.6 (Wheezy)</para></listitem> -->
<!-- <listitem><para>openSUSE 11.4</para></listitem>
<listitem><para>openSUSE 12.1</para></listitem> -->
<listitem><para>openSUSE 12.1</para></listitem>
<listitem><para>openSUSE 12.2</para></listitem>
<listitem><para>openSUSE 12.3</para></listitem>
<listitem><para>openSUSE 13.1</para></listitem>
<listitem><para>openSUSE 13.1</para></listitem> -->
<listitem><para>openSUSE 13.2</para></listitem>
</itemizedlist>
</para>
@@ -262,7 +267,7 @@
Yocto Project documentation manuals:
<literallayout class='monospaced'>
$ sudo yum install make docbook-style-dsssl docbook-style-xsl \
docbook-dtds docbook-utils fop libxslt dblatex xmlto
docbook-dtds docbook-utils fop libxslt dblatex xmlto xsltproc
</literallayout></para></listitem>
<listitem><para><emphasis>ADT Installer Extras:</emphasis>
Packages needed if you are going to be using the
@@ -347,7 +352,7 @@
Yocto Project documentation manuals:
<literallayout class='monospaced'>
$ sudo yum install make docbook-style-dsssl docbook-style-xsl \
docbook-dtds docbook-utils fop libxslt dblatex xmlto
docbook-dtds docbook-utils fop libxslt dblatex xmlto xsltproc
</literallayout></para></listitem>
<listitem><para><emphasis>ADT Installer Extras:</emphasis>
Packages needed if you are going to be using the
@@ -538,7 +543,7 @@
<ulink url='&YOCTO_DL_URL;/releases/yocto/'/>.</para></listitem>
<listitem><para><emphasis>Nightly Builds:</emphasis> These
tarball releases are available at
<ulink url='http://autobuilder.yoctoproject.org/nightly'/>.
<ulink url='&YOCTO_AB_NIGHTLY_URL;'/>.
These builds include Yocto Project releases, meta-toolchain
tarball installation scripts, and experimental builds.
</para></listitem>

View File

@@ -2013,6 +2013,279 @@
</section>
</section>
<section id='moving-to-the-yocto-project-1.8-release'>
<title>Moving to the Yocto Project 1.8 Release</title>
<para>
This section provides migration information for moving to the
Yocto Project 1.8 Release from the prior release.
</para>
<section id='migration-1.8-removed-recipes'>
<title>Removed Recipes</title>
<para>
The following recipes have been removed:
<itemizedlist>
<listitem><para><filename>owl-video</filename>:
Functionality replaced by <filename>gst-player</filename>.
</para></listitem>
<listitem><para><filename>gaku</filename>:
Functionality replaced by <filename>gst-player</filename>.
</para></listitem>
<listitem><para><filename>gnome-desktop</filename>:
This recipe is now available in
<filename>meta-gnome</filename> and is no longer needed.
</para></listitem>
<listitem><para><filename>gsettings-desktop-schemas</filename>:
This recipe is now available in
<filename>meta-gnome</filename> and is no longer needed.
</para></listitem>
<listitem><para><filename>python-argparse</filename>:
The <filename>argparse</filename> module is already
provided in the default Python distribution in a
package named <filename>python-argparse</filename>.
Consequently, the separate
<filename>python-argparse</filename> recipe is no
longer needed.
</para></listitem>
<listitem><para><filename>telepathy-python, libtelepathy, telepathy-glib, telepathy-idle, telepathy-mission-control</filename>:
All these recipes have moved to
<filename>meta-oe</filename> and are consequently no
longer needed by any recipes in OpenEmbedded-Core.
</para></listitem>
<listitem><para><filename>linux-yocto_3.10</filename> and <filename>linux-yocto_3.17</filename>:
Support for the linux-yocto 3.10 and 3.17 kernels has been
dropped.
Support for the 3.14 kernel remains, while support for
3.19 kernel has been added.
</para></listitem>
<listitem><para><filename>poky-feed-config-opkg</filename>:
This recipe has become obsolete and is no longer needed.
Use <filename>distro-feed-config</filename> from
<filename>meta-oe</filename> instead.
</para></listitem>
<listitem><para><filename>libav 0.8.x</filename>:
<filename>libav 9.x</filename> is now used.
</para></listitem>
<listitem><para><filename>sed-native</filename>:
No longer needed.
A working version of <filename>sed</filename> is expected
to be provided by the host distribution.
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='migration-1.8-bluez'>
<title>BlueZ 4.x / 5.x Selection</title>
<para>
Proper built-in support for selecting BlueZ 5.x in preference
to the default of 4.x now exists.
To use BlueZ 5.x, simply add "bluez5" to your
<link linkend='var-DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></link>
value.
If you had previously added append files
(<filename>*.bbappend</filename>) to make this selection, you can
now remove them.
</para>
<para>
Additionally, a
<link linkend='ref-classes-bluetooth'><filename>bluetooth</filename></link>
class has been added to make selection of the appropriate bluetooth
support within a recipe a little easier.
If you wish to make use of this class in a recipe, add something
such as the following:
<literallayout class='monospaced'>
inherit bluetooth
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}
PACKAGECONFIG[bluez4] = "--enable-bluetooth,--disable-bluetooth,bluez4"
PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5"
</literallayout>
</para>
</section>
<section id='migration-1.8-kernel-build-changes'>
<title>Kernel Build Changes</title>
<para>
The kernel build process was changed to place the source
in a common shared work area and to place build artifacts
separately in the source code tree.
In theory, migration paths have been provided for most common
usages in kernel recipes but this might not work in all cases.
In particular, users need to ensure that
<filename>${S}</filename> (source files) and
<filename>${B}</filename> (build artifacts) are used
correctly in functions such as
<link linkend='ref-tasks-configure'><filename>do_configure</filename></link>
and
<link linkend='ref-tasks-install'><filename>do_install</filename></link>.
For kernel recipes that do not inherit from
<filename>kernel-yocto</filename> or include
<filename>linux-yocto.inc</filename>, you might wish to
refer to the <filename>linux.inc</filename> file in the
<filename>meta-oe</filename> layer for the kinds of changes you
need to make.
For reference, here is the
<ulink url='http://cgit.openembedded.org/meta-openembedded/commit/meta-oe/recipes-kernel/linux/linux.inc?id=fc7132ede27ac67669448d3d2845ce7d46c6a1ee'>commit</ulink>
where the <filename>linux.inc</filename> file in
<filename>meta-oe</filename> was updated.
</para>
<para>
Recipes that rely on the kernel source code and do not inherit
the module classes might need to add explicit dependencies on
the <filename>do_shared_workdir</filename> kernel task, for example:
<literallayout class='monospaced'>
do_configure[depends] += "virtual/kernel:do_shared_workdir"
</literallayout>
</para>
</section>
<section id='migration-1.8-ssl'>
<title>SSL 3.0 is Now Disabled in OpenSSL</title>
<para>
SSL 3.0 is now disabled when building OpenSSL.
Disabling SSL 3.0 avoids any lingering instances of the POODLE
vulnerability.
If you feel you must re-enable SSL 3.0, then you can add an
append file (<filename>*.bbappend</filename>) for the
<filename>openssl</filename> recipe to remove "-no-ssl3"
from
<link linkend='var-EXTRA_OECONF'><filename>EXTRA_OECONF</filename></link>.
</para>
</section>
<section id='migration-1.8-default-sysroot-poisoning'>
<title>Default Sysroot Poisoning</title>
<para>
<filename>gcc's</filename> default sysroot and include directories
are now "poisoned".
In other words, the sysroot and include directories are being
redirected to a non-existent location in order to catch when
host directories are being used due to the correct options not
being passed.
This poisoning applies both to the cross-compiler used within the
build and to the cross-compiler produced in the SDK.
</para>
<para>
If this change causes something in the build to fail, it almost
certainly means the various compiler flags and commands are not
being passed correctly to the underlying piece of software.
In such cases, you need to take corrective steps.
</para>
</section>
<section id='migration-1.8-rebuild-improvements'>
<title>Rebuild Improvements</title>
<para>
Changes have been made to the
<link linkend='ref-classes-base'><filename>base</filename></link>,
<link linkend='ref-classes-autotools'><filename>autotools</filename></link>,
and
<link linkend='ref-classes-cmake'><filename>cmake</filename></link>
classes to clean out generated files when the
<link linkend='ref-tasks-configure'><filename>do_configure</filename></link>
task needs to be re-executed.
</para>
<para>
One of the improvements is to attempt to run "make clean" during
the <filename>do_configure</filename> task if a
<filename>Makefile</filename> exists.
Some software packages do not provide a working clean target
within their make files.
If you have such recipes, you need to set
<link linkend='var-CLEANBROKEN'><filename>CLEANBROKEN</filename></link>
to "1" within the recipe, for example:
<literallayout class='monospaced'>
CLEANBROKEN = "1"
</literallayout>
</para>
</section>
<section id='migration-1.8-qa-check-and-validation-changes'>
<title>QA Check and Validation Changes</title>
<para>
The following QA Check and Validation Changes have occurred:
<itemizedlist>
<listitem><para>
Usage of
<link linkend='var-PRINC'><filename>PRINC</filename></link>
previously triggered a warning.
It now triggers an error.
You should remove any remaining usage of
<filename>PRINC</filename> in any recipe or append file.
</para></listitem>
<listitem><para>
An additional QA check has been added to detect usage of
<filename>${D}</filename> in
<link linkend='var-FILES'><filename>FILES</filename></link>
values where
<link linkend='var-D'><filename>D</filename></link> values
should not be used at all.
The same check ensures that <filename>$D</filename> is used
in
<filename>pkg_preinst/pkg_postinst/pkg_prerm/pkg_postrm</filename>
functions instead of <filename>${D}</filename>.
</para></listitem>
<listitem><para>
<link linkend='var-S'><filename>S</filename></link> now
needs to be set to a valid value within a recipe.
If <filename>S</filename> is not set in the recipe, the
directory is not automatically created.
If <filename>S</filename> does not point to a directory
that exists at the time the
<link linkend='ref-tasks-unpack'><filename>do_unpack</filename></link>
task finishes, a warning will be shown.
</para></listitem>
<listitem><para>
<link linkend='var-LICENSE'><filename>LICENSE</filename></link>
is now validated for correct formatting of multiple
licenses.
If the format is invalid (e.g. multiple licenses are
specified with no operators to specify how the multiple
licenses interact), then a warning will be shown.
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='migration-1.8-miscellaneous-changes'>
<title>Miscellaneous Changes</title>
<para>
The following miscellaneous changes have occurred:
<itemizedlist>
<listitem><para>
The <filename>send-error-report</filename> script now
expects a "-s" option to be specified before the server
address.
This assumes a server address is being specified.
</para></listitem>
<listitem><para>
The <filename>oe-pkgdata-util</filename> script now
expects a "-p" option to be specified before the
<filename>pkgdata</filename> directory, which is now
optional.
If the <filename>pkgdata</filename> directory is not
specified, the script will run BitBake to query
<link linkend='var-PKGDATA_DIR'><filename>PKGDATA_DIR</filename></link>
from the build environment.
</para></listitem>
</itemizedlist>
</para>
</section>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4

View File

@@ -270,6 +270,23 @@
</para>
</section>
<section id='ref-classes-bluetooth'>
<title><filename>bluetooth.bbclass</filename></title>
<para>
The <filename>bluetooth</filename> class defines a variable that
expands to the recipe (package) providing core
bluetooth support on the platform.
</para>
<para>
For details on how the class works, see the
<filename>meta/classes/bluetooth.bbclass</filename> file in the Yocto
Project
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
</para>
</section>
<section id='ref-classes-boot-directdisk'>
<title><filename>boot-directdisk.bbclass</filename></title>
@@ -2283,7 +2300,7 @@
<title><filename>package_rpm.bbclass</filename></title>
<para>
The <filename>package_deb</filename> class
The <filename>package_rpm</filename> class
provides support for creating packages that use the
<filename>.rpm</filename> file format.
The class ensures the packages are written out to the

View File

@@ -6,7 +6,7 @@
version="1.0">
<xsl:import
href="http://docbook.sourceforge.net/release/xsl/current/eclipse/eclipse3.xsl" />
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"/>

View File

@@ -323,7 +323,7 @@
<para>
If you do not provide a port number with the script, the
BitBake server at port "12345" is started.
BitBake server starts at a randomnly selected port.
</para>
<para>
@@ -373,7 +373,7 @@
<filename>source</filename> the script, the Build Directory is
created using that name.
For example, the following command starts the BitBake server using
the default port "12345" and creates a Build Directory named
a randomnly selected port and creates a Build Directory named
<filename>mybuilds</filename> that is outside of the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>:
<literallayout class='monospaced'>
@@ -522,9 +522,7 @@
which are directory trees, traversed (or walked) by BitBake.
The <filename>bblayers.conf</filename> file uses the
<link linkend='var-BBLAYERS'><filename>BBLAYERS</filename></link>
variable to list the layers BitBake tries to find, and uses the
<link linkend='var-BBLAYERS_NON_REMOVABLE'><filename>BBLAYERS_NON_REMOVABLE</filename></link>
variable to list layers that must not be removed.
variable to list the layers BitBake tries to find.
</para>
<para>

View File

@@ -193,6 +193,8 @@ h3.author {
padding: 0em 0em 0em 0em;
}
/* Use this set when you decide to get the images in for variables.
div.glossary dl,
div.variablelist dl {
}
@@ -225,6 +227,43 @@ div.variablelist dl {
.glossdeffirst {
text-indent: -70px;
}
*/
/* Start of non-image set */
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: 0em;
margin-left: 25.5em;
}
.glossary dd p,
.variablelist dd p {
margin-top: -1.3em;
margin-bottom: 1em;
}
.glossdeffirst {
text-indent: 0px;
}
/* End of non-image set */
div.calloutlist table td {
padding: 0em 0em 0em 0em;

File diff suppressed because it is too large Load Diff

View File

@@ -93,19 +93,10 @@
<listitem><para><emphasis>
<ulink url='http://www.openembedded.org/wiki/BitBake'>
BitBake</ulink>:</emphasis> The tool used to process metadata.</para></listitem>
<listitem><para><emphasis>
<ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>:</emphasis>
A comprehensive guide to the BitBake tool.
In the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>,
you can find the BitBake User Manual in the
<filename>bitbake/doc/bitbake-user-manual</filename> directory.
</para></listitem>
<listitem><para><emphasis>
<ulink url='http://wiki.qemu.org/Index.html'>QEMU</ulink>:
</emphasis> An open source machine emulator and virtualizer.
</para></listitem>
</itemizedlist>
For more links, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#other-information'>Other Information</ulink>"
section in the Yocto Project Development Manual.
</para>
</section>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:d="http://docbook.org/ns/docbook">
<xsl:output method="html" />
<xsl:template match="/d:chapter/d:section/d:mediaobject">
<xsl:for-each select=".">
<xsl:variable name="vid_url">
<xsl:value-of select="./d:videoobject/d:videodata/@fileref" />
</xsl:variable>
<div style="text-align: center; margin: auto">
<object type="application/x-shockwave-flash" width="640" height="420" data="{$vid_url}?color2=FBE9EC&amp;showsearch=0&amp;version=3&amp;modestbranding=1&amp;fs=1">
<param name="movie" value="{$vid_url}?color2=FBE9EC&amp;showsearch=0&amp;version=3&amp;modestbranding=1&amp;fs=1" />
<param name="allowFullScreen" value="true" />
<param name="allowscriptaccess" value="always" />
</object>
</div>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -2,12 +2,14 @@
<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://docbook.sourceforge.net/release/xsl/1.76.1/xhtml/docbook.xsl" />
<!-- <xsl:import href="../template/1.76.1/docbook-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:include href="../template/embedded_video.xsl"/>
<xsl:param name="html.stylesheet" select="'toaster-manual-style.css'" />
<xsl:param name="chapter.autolabel" select="1" />

View File

@@ -6,95 +6,12 @@
<title>Introduction</title>
<para>
Toaster is web interface to the OpenEmbedded build system, which uses
BitBake.
The interface allows you to access a datastore that retains build
information and report out on the information.
</para>
<!--THE FOLLOWING IS DETAIL THAT I THINK BELEN WANTED OUT FOR THE MOMENT
The interface is based on a Representational State Transfer
(REST) API that queries for and returns build information using
<filename>GET</filename> and <filename>JSON</filename>.
These types of search operations retrieve sets of objects from
a datastore used to collect build information.
The results contain all the data for the objects being returned.
You can order the results of the search by key and the search
parameters are consistent for all object types.
</para>
-->
<para>
You can use Toaster in several different modes:
<itemizedlist>
<listitem><para><emphasis>Analysis Mode:</emphasis>
In this mode, you can record builds and statistics.
In Analysis Mode, you have direct access to the
<filename>bitbake</filename> command, which you use to build
images.</para>
<para>Analysis Mode requires you to have first started
Toaster and then to initiate your build using the
<filename>bitbake</filename> command from the shell.
Toaster must be started before the build or it will not
collect build data.
</para></listitem>
<listitem><para><emphasis>Build Mode:</emphasis>
In this mode, Toaster handles the build configuration GUI
(through project pages) and build scheduling and execution.
In this mode, all your interaction with the build system
happens through the web interface.
You do not have direct access to the
<filename>bitbake</filename> command.</para>
<para>Using this mode, you configure and start your builds
with Toaster's GUI.
Each configuration is a project, which requires version and
build system selection.
As shipped, Toaster supports the Yocto Project releases
1.8 and beyond.
Aside from these supported releases, you can also select
the "Local Yocto Project", which allows you to use your
local clone of the Yocto Project
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>
(e.g. <filename>poky</filename>).</para>
<para>Build Mode also works two separate ways: locally and
remotely.
While you can use Build Mode locally, it is best to use
Toaster's Build Mode through a hosted service where it can
shared by multiple user.
</para></listitem>
</itemizedlist>
</para>
<para>
Using Toaster, you can do the following:
<note><title>REVIEWER NOTE</title>
Belen suggested we split this list out into things that
Analysis Mode and Build Mode can do.
Also, we can structure the lists so the Build Mode list
leverages off what is listed for Analysis Mode.
I do not know the information for the complete lists.
Someone needs to help me out here.
For now, I am leaving the list as follows and will need some
information.
</note>
<itemizedlist>
<listitem><para>
See information about the tasks executed
and reused during the build.
</para></listitem>
<listitem><para>
See what is built (recipes and
packages) and what packages were installed into the final
image.
</para></listitem>
<listitem><para>
See performance-related information such
as build time, CPU usage, and disk I/O.
</para></listitem>
<listitem><para>
Examine error, warning and trace messages
to aid in debugging.
</para></listitem>
</itemizedlist>
Toaster is a web interface to the Yocto Project's
<ulink url='&YOCTO_DOCS_DEV_URL;#build-system-term'>OpenEmbedded build system</ulink>.
The interface enables you to configure and run your builds.
Information about builds is collected and stored in a database.
You can use Toaster to configure and start builds on multiple
remote build servers.
</para>
<note>
@@ -116,10 +33,131 @@
</para>
</note>
<para>
The remainder of this manual describes what you need to have in
place to use Toaster, how to start it, use it, and stop it.
</para>
<section id='intro-modes'>
<title>Toaster Operational Modes</title>
<para>
You can use Toaster in Analysis Mode or Build Mode:
<itemizedlist>
<listitem><para><emphasis>Analysis Mode:</emphasis>
In Analysis Mode, you can record builds and statistics.
In this Mode, you directly access the
<filename>bitbake</filename> command, which you then use to
build images.</para>
<para>Analysis Mode requires you to have first started
Toaster and then to initiate your build using the
<filename>bitbake</filename> command from the shell.
Toaster must be started before the build or it will not
collect build data.</para>
<para>Toaster has the following capabilities in
Analysis Mode:
<itemizedlist>
<listitem><para>
See what was built (recipes and packages) and what
packages were installed into your final image.
</para></listitem>
<listitem><para>
Browse the directory structure of your image.
</para></listitem>
<listitem><para>
See the value of all variables in your build
configuration, and which files set each value.
</para></listitem>
<listitem><para>
Examine error, warning and trace messages to aid
in debugging.
</para></listitem>
<listitem><para>
See information about the BitBake tasks executed
and reused during your build, including those that
used shared state.
</para></listitem>
<listitem><para>
See dependency relationships between recipes,
packages and tasks
</para></listitem>
<listitem><para>
See performance information such as build time,
task time, CPU usage, and disk I/O.
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para><emphasis>Build Mode:</emphasis>
In Build Mode, Toaster handles the build configuration,
scheduling and execution.
In this mode, all your interaction with the build system
happens through the web interface.
You do not have direct access to the
<filename>bitbake</filename> command.</para>
<para>Using this mode, you configure and start your builds
within Toaster's GUI.
Each project can be configured for a specific version
of the build system.
As shipped, Toaster supports Yocto Project Releases 1.7 and
beyond.</para>
<para>Toaster has all the same capabilities in Build Mode
as it does in Analysis Mode plus the following:
<itemizedlist>
<listitem><para>
Browse layers listed in the various
<link linkend='layer-source'>layer sources</link>
that are available in your project (e.g. the
OpenEmbedded Metadata Index at
<ulink url='http://layers.openembedded.org/layerindex/'></ulink>).
</para></listitem>
<listitem><para>
Import your own layers for building.
</para></listitem>
<listitem><para>
Add and remove layers from your configuration.
</para></listitem>
<listitem><para>
Set configuration variables.
</para></listitem>
<listitem><para>
Select a target or multiple targets to build.
</para></listitem>
<listitem><para>
Start your builds.
</para></listitem>
</itemizedlist>
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='toaster-installation-options'>
<title>Installation Options</title>
<para>
You can set Toaster up to run as a local instance or as a shared
hosted service.
Regardless of how you set up Toaster, both Analysis and Build
Modes are available.
</para>
<para>
When Toaster is set up as a local instance, all the components
reside on a single build host.
Fundamentally, a local instance of Toaster is suited for a single
user developing on a single build host.
</para>
<para>
<imagedata fileref="figures/simple-configuration.png" align="center" width="6in" depth="1.5in" />
</para>
<para>
Toaster as a hosted service is suited for multiple users
developing across several build hosts.
When Toaster is set up as a hosted service, its components can
be spread across several machines:
</para>
<para>
<imagedata fileref="figures/hosted-service.png" align="center" width="6in" depth="3.5in" />
</para>
</section>
<!--THIS EXTRA INFORMATION PROBABLY WILL GO AWAY
For additional information on installing and running Toaster, see the

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -9,8 +9,6 @@
<para>
This chapter describes how you need to prepare your system in order to
use Toaster.
Toaster requires some packages that you must have installed before
trying to run Toaster.
</para>
<section id='toaster-setting-up-the-basic-system-requirements'>
@@ -30,54 +28,114 @@
<title>Establishing Toaster System Dependencies</title>
<para>
Toaster requires extra Python dependencies that Bitbake
does not need in order to run.
In order to make it easy to run Toaster, a requirements file
located in the root directory of
Toaster requires extra Python dependencies and
<ulink url='http://www.libslack.org/daemon/'><filename>daemon</filename></ulink>
in order to run.
A Toaster requirements file named
<filename>toaster-requirements.txt</filename> defines the
Python dependencies.
The requirements file is located in the
<filename>bitbake</filename> directory, which is located in the
root directory of the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>
<filename>bitbake/</filename>
(e.g. <filename>poky/bitbake/toaster-requirements.txt</filename>).
The dependencies appear in a <filename>pip</filename>,
install-compatible format:
<literallayout class='monospaced'>
Django==1.6
South==0.8.4
argparse==1.2.1
wsgiref==0.1.2
</literallayout>
Follow these steps to get set up:
<orderedlist>
<listitem><para><emphasis>Install <filename>virtualenv</filename>:</emphasis>
<filename>virtualenv</filename> is a tool to create
isolated Python environments by creating folders that
contain all the necessary executables to use the packages
that Python projects need.
You can use <filename>pip</filename> to install
<filename>virtualenv</filename>:
<literallayout class='monospaced'>
$ pip install virtualenv
</literallayout>
</para></listitem>
<listitem><para><emphasis>Create and activate a virtual environment:</emphasis>
<literallayout class='monospaced'>
install-compatible format.
</para>
<section id='toaster-optional-virtual-environment'>
<title>Optionally Setting Up a Python Virtual Environment</title>
<para>
It is highly recommended that you use a Python virtual
environment that allows you to maintain a dedicated Python
executable and its own set of installed modules.
Doing so separates the executable from the Python and modules
provided by the operating system and therefore avoids any
version conflicts.
</para>
<para>
Follow these steps to set up your virtual environment.
These steps assume a Ubuntu distribution:
<orderedlist>
<listitem><para><emphasis>Install <filename>virtualenv</filename>:</emphasis>
Install the supported
<filename>python-virtualenv</filename> package from your
distribution rather than using <filename>pip</filename>.
<literallayout class='monospaced'>
$ sudo apt-get install python-virtualenv
</literallayout>
</para></listitem>
<listitem><para><emphasis>Create and Activate a Virtual Environment:</emphasis>
<literallayout class='monospaced'>
$ virtualenv venv
$ source venv/bin/activate
</literallayout>
</para></listitem>
<listitem><para><emphasis>Use <filename>pip</filename> to install needed packages:</emphasis>
</literallayout>
</para></listitem>
</orderedlist>
<note>
If you do choose to set up a virtual environment in
which to run Toaster, you must initialize that
virtual environment each time you want to start
Toaster.
Use the following to initialize the environment just
before you start Toaster:
<literallayout class='monospaced'>
$ pip install -r bitbake/toaster-requirements.txt
$ source venv/bin/activate
</literallayout>
</para></listitem>
</orderedlist>
Once you complete these steps, you execute in a lightweight
"virtual environment” with its own site directories that are
optionally isolated from system site directories.
The virtual environment has its own Python binary
(allowing creation of environments with various Python versions)
and can have its own independent set of installed Python packages
in its site directories.
</para>
</section>
</note>
</para>
</section>
<section id='toaster-load-packages'>
<title>Install Toaster Packages</title>
<para>
You need to install the packages that Toaster requires.
Use this command:
<literallayout class='monospaced'>
$ pip install -r bitbake/toaster-requirements.txt
</literallayout>
</para>
</section>
<section id='toaster-install-daemon'>
<title>Install <filename>daemon</filename></title>
<para>
Toaster depends on
<ulink url='http://www.libslack.org/daemon/'><filename>daemon</filename></ulink>.
Depending on your distribution, how you install
<filename>daemon</filename> differs:
<itemizedlist>
<listitem><para><emphasis>Debian-Based Systems:</emphasis>
If you are running a Debian-based distribution,
install <filename>daemon</filename> using the
following command:
<literallayout class='monospaced'>
$ sudo apt-get install daemon
</literallayout>
</para></listitem>
<listitem><para><emphasis>Non-Debian-Based Systems:</emphasis>
If you are not running a Debian-based distribution
(Redhat-based distribution such as Fedora),
you need to download the file relevant to the
architecture and then install
<filename>daemon</filename> manually.
Following are the commands for 64-bit distributions:
<literallayout class='monospaced'>
$ wget http://libslack.org/daemon/download/daemon-0.6.4-1.x86_64.rpm
$ sudo rpm -i daemon-0.6.4-1.x86_64.rpm
</literallayout>
Here are the commands for a 32-bit distribution:
<literallayout class='monospaced'>
$ wget http://libslack.org/daemon/download/daemon-0.6.4-1.i686.rpm
$ sudo rpm -i daemon-0.6.4-1.i686.rpm
</literallayout>
</para></listitem>
</itemizedlist>
</para>
</section>
</section>
</chapter>

View File

@@ -33,7 +33,7 @@
<revhistory>
<revision>
<revnumber>1.8</revnumber>
<date>Sometime in 2015</date>
<date>April 2015</date>
<revremark>Released with the Yocto Project 1.8 Release.</revremark>
</revision>
</revhistory>
@@ -51,7 +51,7 @@
<note>
For the latest version of this manual associated with this
Yocto Project release, see the
<ulink url='&YOCTO_DOCS_ADT_URL;'>Toaster User Manual</ulink>
<ulink url='&YOCTO_DOCS_TOAST_URL;'>Toaster User Manual</ulink>
from the Yocto Project website.
</note>
@@ -65,6 +65,8 @@
<xi:include href="toaster-manual-setup-and-use.xml"/>
<xi:include href="toaster-manual-reference.xml"/>
</book>
<!--
vim: expandtab tw=80 ts=4

View File

@@ -19,6 +19,7 @@ s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.8\/dev-manual\/dev-man
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.8\/kernel-dev\/kernel-dev.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.8\/profile-manual\/profile-manual.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.8\/ref-manual\/ref-manual.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.8\/toaster-manual\/toaster-manual.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.8\/yocto-project-qs\/yocto-project-qs.html#/\"link\" href=\"#/g
# Process cases where just an external manual is referenced without an id anchor
@@ -29,4 +30,4 @@ s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.8\/bsp-guide\
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.8\/profile-manual\/profile-manual.html\" target=\"_top\">Yocto Project Profiling and Tracing Manual<\/a>/Yocto Project Profiling and Tracing Manual/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.8\/kernel-dev\/kernel-dev.html\" target=\"_top\">Yocto Project Linux Kernel Development Manual<\/a>/Yocto Project Linux Kernel Development Manual/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.8\/ref-manual\/ref-manual.html\" target=\"_top\">Yocto Project Reference Manual<\/a>/Yocto Project Reference Manual/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.8\/toaster-manual\/toaster-manual.html\" target=\"_top\">Yocto Project Toaster User Manual<\/a>/Yocto Project Toaster User Manual/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.8\/toaster-manual\/toaster-manual.html\" target=\"_top\">Toaster User Manual<\/a>/Toaster User Manual/g

View File

@@ -6,7 +6,7 @@
version="1.0">
<xsl:import
href="http://docbook.sourceforge.net/release/xsl/current/eclipse/eclipse3.xsl" />
href="http://docbook.sourceforge.net/release/xsl/1.76.1/eclipse/eclipse3.xsl" />
<xsl:import href="yocto-project-qs-titlepage.xsl"/>
<xsl:param name="chunker.output.indent" select="'yes'"/>

View File

@@ -571,7 +571,7 @@
$ bitbake -k core-image-sato
</literallayout>
<note>
BitBake requires Python 2.6 or 2.7. For more information on
BitBake requires Python 2.7. For more information on
this requirement, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#required-git-tar-and-python-versions'>Required Git, tar, and Python</ulink>"
section in the Yocto Project Reference Manual.

View File

@@ -1,6 +1,6 @@
#
# This is a list for tracking status of package relative to Major
# distributions such as Fedora, Ubuntu, Debian, ... The package
# distributions such as Fedora, Ubuntu, Debian, ... The package
# name is the major distribution equivalent to the name used in oe-core
#
# The format is as a bitbake variable override for each recipe
@@ -25,8 +25,10 @@ DISTRO_PN_ALIAS_pn-blktool = "Debian=blktool Mandriva=blktool"
DISTRO_PN_ALIAS_pn-bluez4 = "Ubuntu=bluez Debian=bluez-utils"
DISTRO_PN_ALIAS_pn-bluez5 = "Fedora=bluez Opensuse=bluez"
DISTRO_PN_ALIAS_pn-bluez-dtl1-workaround = "OE-Core"
DISTRO_PN_ALIAS_pn-bootchart2 = "Fedora=bootchart2 Opensuse=bootchart"
DISTRO_PN_ALIAS_pn-btrfs-tools = "Debian=btrfs-tools Fedora=btrfs-progs"
DISTRO_PN_ALIAS_pn-build-appliance-image = "OSPDT"
DISTRO_PN_ALIAS_pn-build-compare = "Opensuse=build-compare Fedora=build-compare"
DISTRO_PN_ALIAS_pn-builder = "OE-Core"
DISTRO_PN_ALIAS_pn-buildtools-tarball = "OE-Core"
DISTRO_PN_ALIAS_pn-calibrateproto = "OSPDT upstream=http://cgit.freedesktop.org/xorg/proto/calibrateproto"
@@ -54,6 +56,7 @@ DISTRO_PN_ALIAS_pn-core-image-base = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-clutter = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-directfb = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-full-cmdline = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-kernel-dev = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-lsb = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-lsb-dev = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-lsb-qt3 = "OE-Core"
@@ -67,14 +70,19 @@ DISTRO_PN_ALIAS_pn-core-image-rt-sdk = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-sato = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-sato-dev = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-sato-sdk = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-testmaster = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-testmaster-initramfs = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-weston = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-x11 = "OE-Core"
DISTRO_PN_ALIAS_pn-cross-localedef = "OSPDT"
DISTRO_PN_ALIAS_pn-cryptodev-linux = "OE-Core"
DISTRO_PN_ALIAS_pn-cryptodev-module = "OE-Core"
DISTRO_PN_ALIAS_pn-cryptodev-tests = "OE-Core"
DISTRO_PN_ALIAS_pn-cwautomacros = "OSPDT upstream=http://cwautomacros.berlios.de/"
DISTRO_PN_ALIAS_pn-damageproto = "Meego=xorg-x11-proto-damageproto"
DISTRO_PN_ALIAS_pn-db = "Debian=db5.1 Ubuntu=db5.1"
DISTRO_PN_ALIAS_pn-dbus-ptest = "Fedora=dbus Ubuntu=dbus"
DISTRO_PN_ALIAS_pn-dbus-test = "Fedora=dbus Ubuntu=dbus"
DISTRO_PN_ALIAS_pn-dbus-wait = "OpenedHand"
DISTRO_PN_ALIAS_pn-depmodwrapper-cross = "OE-Core"
DISTRO_PN_ALIAS_pn-directfb-examples = "Debian=directfb Fedora=directfb"
@@ -85,7 +93,11 @@ DISTRO_PN_ALIAS_pn-docbook-dsssl-stylesheets = "Fedora=docbook-style-dsssl Ubunt
DISTRO_PN_ALIAS_pn-docbook-sgml-dtd-3.1 = "Fedora=docbook-dtds Mandriva=docbook-dtd31-sgml"
DISTRO_PN_ALIAS_pn-docbook-sgml-dtd-4.1 = "Fedora=docbook-dtds Mandriva=docbook-dtd41-sgml"
DISTRO_PN_ALIAS_pn-docbook-sgml-dtd-4.5 = "Fedora=docbook-dtds Mandriva=docbook-dtd42-sgml"
DISTRO_PN_ALIAS_pn-docbook-xml-dtd4 = "Ubuntu=docbook-xml Fedora=docbook-dtds"
DISTRO_PN_ALIAS_pn-docbook-xml-dtd4-native = "Ubuntu=docbook-xml Fedora=docbook-dtds"
DISTRO_PN_ALIAS_pn-docbook-xsl-stylesheets = "Fedora=docbook-xsl-stylesheets Opensuse=docbook-xsl-stylesheets"
DISTRO_PN_ALIAS_pn-dri2proto = "Meego=xorg-x11-proto-dri2proto"
DISTRO_PN_ALIAS_pn-dri3proto = "Fedora=dri3proto Opensuse=dri3proto-devel"
DISTRO_PN_ALIAS_pn-dropbear = "Debian=dropbear Ubuntu=dropbear"
DISTRO_PN_ALIAS_pn-dtc = "Fedora=dtc Ubuntu=dtc"
DISTRO_PN_ALIAS_pn-eds-tools = "OpenedHand"
@@ -112,17 +124,25 @@ DISTRO_PN_ALIAS_pn-gail = "Fedora=gail Ubuntu=libgail-3-0"
DISTRO_PN_ALIAS_pn-gaku = "OpenedHand"
DISTRO_PN_ALIAS_pn-galago-daemon = "Debian=galago-daemon Ubuntu=galago-daemon"
DISTRO_PN_ALIAS_pn-gcc-cross-initial = "OE-Core"
DISTRO_PN_ALIAS_pn-gcc-cross-initial-i586 = "OE-Core"
DISTRO_PN_ALIAS_pn-gcc-crosssdk-initial = "OE-Core"
DISTRO_PN_ALIAS_pn-gcc-crosssdk-initial-x86_64 = "OE-Core"
DISTRO_PN_ALIAS_pn-gccmakedep = "Mandriva=gccmakedep Ubuntu=xutils-dev"
DISTRO_PN_ALIAS_pn-gcc-runtime = "Ubuntu=gcc Fedora=gcc"
DISTRO_PN_ALIAS_pn-gcc-sanitizers = "Ubuntu=gcc Fedora=gcc"
DISTRO_PN_ALIAS_pn-gcc-source = "Ubuntu=gcc Fedora=gcc"
DISTRO_PN_ALIAS_pn-gconf-dbus = "Meego=GConf-dbus"
DISTRO_PN_ALIAS_pn-gdk-pixbuf = "Debian=libgdk-pixbuf2.0 Fedora=gdk-pixbuf"
DISTRO_PN_ALIAS_pn-gdk-pixbuf-csource = "Debian=libgdk-pixbuf2.0-0 Fedora=gdk-pixbuf2"
DISTRO_PN_ALIAS_pn-gettext-minimal = "Debian=gettext Fedora=gettext"
DISTRO_PN_ALIAS_pn-glib-2.0 = "Meego=glib2 Fedora=glib2 OpenSuSE=glib2 Ubuntu=glib2.0 Mandriva=glib2.0 Debian=glib2.0"
DISTRO_PN_ALIAS_pn-glibc-locale = "OpenSuSE=glibc-locale Fedora=glibc-devel"
DISTRO_PN_ALIAS_pn-glibc-mtrace = "Fedora=glibc-utils Ubuntu=libc-dev-bin"
DISTRO_PN_ALIAS_pn-glibc-scripts = "Fedora=glibc Ubuntu=libc-bin"
DISTRO_PN_ALIAS_pn-glproto = "Meego=xorg-x11-proto-glproto"
DISTRO_PN_ALIAS_pn-gnome-desktop-testing = "Debian=gnome-desktop-testing Fedora=gnome-desktop-testing"
DISTRO_PN_ALIAS_pn-gnu-config = "OpenedHand"
DISTRO_PN_ALIAS_pn-gptfdisk = "Fedora=gdisk Ubuntu=gdisk"
DISTRO_PN_ALIAS_pn-grub-efi = "Debian=grub-efi Fedora=grub2-efi"
DISTRO_PN_ALIAS_pn-grub-efi-i586 = "Debian=grub-efi Fedora=grub2-efi"
DISTRO_PN_ALIAS_pn-grub-efi-x86-64 = "Debian=grub-efi Fedora=grub2-efi"
@@ -131,10 +151,11 @@ DISTRO_PN_ALIAS_pn-gst-fluendo-mp3 = "Debian=gstreamer0.10-fluendo-mp3 Ubuntu=gs
DISTRO_PN_ALIAS_pn-gst-fluendo-mpegdemux = "Ubuntu=gstreamer0.10-fluendo-mpegdemux Debian=gstreamer0.10-fluendo-mpegdemux"
DISTRO_PN_ALIAS_pn-gst-meta-base = "Meego=gstreamer Fedora=gstreamer OpenSuSE=gstreamer Ubuntu=gstreamer0.10 Mandriva=gstreamer0.10 Debian=gstreamer0.10"
DISTRO_PN_ALIAS_pn-gst-openmax = "OSPDT upstream=http://cgit.freedesktop.org/gstreamer/gst-openmax"
DISTRO_PN_ALIAS_pn-gst-player = "Ubuntu=gst-player Fedora=gstreamer-player"
DISTRO_PN_ALIAS_pn-gst-plugin-bluetooth = "Ubuntu=libgstreamer-plugins-base Fedora=gstreamer-plugins-base"
DISTRO_PN_ALIAS_pn-gst-plugins-bad = "Fedora=gstreamer-plugins-bad-free OpenSuSE=gstreamer-plugins-bad Debian=gst-plugins-bad0.10"
DISTRO_PN_ALIAS_pn-gst-plugins-base = "Meego=gst-plugins-base Fedora=gstreamer-plugins-base OpenSuSE=gstreamer-plugins-base Ubuntu=gst-plugins-base0.10 Mandriva=gstreamer0.10-plugins-base Debian=gst-plugins-base0.10"
DISTRO_PN_ALIAS_pn-gst-plugins-gl = "Debian=gstreamer0.10-plugins-gl OpenSuSE=gstreamer-0_10-plugins-gl"
DISTRO_PN_ALIAS_pn-gst-plugins-gl = "Debian=gstreamer0.10-plugins-gl OpenSuSE=gstreamer-0_10-plugins-gl"
DISTRO_PN_ALIAS_pn-gst-plugins-good = "Meego=gst-plugins-good Fedora=gstreamer-plugins-good OpenSuSE=gstreamer-plugins-good Ubuntu=gst-plugins-good0.10 Mandriva=gstreamer0.10-plugins-good Debian=gst-plugins-good0.10"
DISTRO_PN_ALIAS_pn-gst-plugins-ugly = "OpenSuSE=gstreamer-plugins-ugly Mandriva=gstreamer0.10-plugins-ugly Debian=gst-plugins-ugly0.10"
DISTRO_PN_ALIAS_pn-gstreamer1.0 = "Debian=gstreamer1.0 Ubuntu=gstreamer1.0"
@@ -142,6 +163,7 @@ DISTRO_PN_ALIAS_pn-gstreamer1.0-meta-base = "Meego=gstreamer Fedora=gstreamer Op
DISTRO_PN_ALIAS_pn-gstreamer1.0-plugins-bad = "Debian=gstreamer1.0-plugins-bad Ubuntu=gstreamer1.0-plugins-bad"
DISTRO_PN_ALIAS_pn-gstreamer1.0-plugins-base = "Debian=gstreamer1.0-plugins-base Ubuntu=gstreamer1.0-plugins-base"
DISTRO_PN_ALIAS_pn-gstreamer1.0-plugins-good = "Debian=gstreamer1.0-plugins-good Ubuntu=gstreamer1.0-plugins-bad"
DISTRO_PN_ALIAS_pn-gstreamer1.0-rtsp-server = "Ubuntu=gstreamer0.10-rtsp Fedora=gstreamer-rtsp"
DISTRO_PN_ALIAS_pn-gstreamer = "Debian=gstreamer1.0 Ubuntu=gstreamer1.0"
DISTRO_PN_ALIAS_pn-gtk+ = "Meego=gtk2 Fedora=gtk2 OpenSuSE=gtk2 Ubuntu=gtk+2.0 Mandriva=gtk+2.0 Debian=gtk+2.0"
DISTRO_PN_ALIAS_pn-gtk+3 = "Ubuntu=gtk+3.0 Debian=gtk+3.0 Fedora=gtk3"
@@ -169,6 +191,7 @@ DISTRO_PN_ALIAS_pn-iproute2 = "OSPDT"
DISTRO_PN_ALIAS_pn-jpeg = "OpenSuSE=libjpeg Ubuntu=libjpeg62"
DISTRO_PN_ALIAS_pn-kbproto = "Meego=xorg-x11-proto-kbproto Ubuntu=x11proto-kb-dev Debian=x11proto-kb-dev"
DISTRO_PN_ALIAS_pn-kconfig-frontends = "OSPDT"
DISTRO_PN_ALIAS_pn-kernel-devsrc = "Debian=linux-base Ubuntu=linux"
DISTRO_PN_ALIAS_pn-kernelshark = "Mandriva=kernelshark Ubuntu=kernelshark"
DISTRO_PN_ALIAS_pn-kern-tools-native = "Windriver"
DISTRO_PN_ALIAS_pn-keymaps = "OE-Core"
@@ -185,8 +208,10 @@ DISTRO_PN_ALIAS_pn-libclass-isa-perl = "OSPDT"
DISTRO_PN_ALIAS_pn-libdrm-poulsbo = "Debian=libdrm-intel1 Ubuntu=libdrm-intel1"
DISTRO_PN_ALIAS_pn-libdumpvalue-perl = "OSPDT"
DISTRO_PN_ALIAS_pn-libenv-perl = "OSPDT"
DISTRO_PN_ALIAS_pn-liberation-fonts = "Ubuntu=fonts-liberation Fedora=liberation-fonts-ttf"
DISTRO_PN_ALIAS_pn-libfakekey = "Meego1.0=libfakekey Debian=libfakekey"
DISTRO_PN_ALIAS_pn-libfile-checktree-perl = "OSPDT"
DISTRO_PN_ALIAS_pn-libfm-extra = "Opensuse=libfm-extra4 Ubuntu=libfm-extra4"
DISTRO_PN_ALIAS_pn-libfribidi = "OpenSuSE=fribidi Ubuntu=fribidi Mandriva=fribidi Debian=fribidi"
DISTRO_PN_ALIAS_pn-libgcc = "Debian=libgcc4 Ubuntu=libgcc1 OpenSuSE=libgcc46"
DISTRO_PN_ALIAS_pn-libgdbus = "Intel"
@@ -198,6 +223,7 @@ DISTRO_PN_ALIAS_pn-libgu = "OpenSuSE=glu OSPDT"
DISTRO_PN_ALIAS_pn-libi18n-collate-perl = "OSPDT"
DISTRO_PN_ALIAS_pn-libical = "Ubuntu=libical Fedora=libical"
DISTRO_PN_ALIAS_pn-libiconv = "Fedora=mingw-libiconv Opensuse=cross-mingw-libiconv"
DISTRO_PN_ALIAS_pn-libinput = "Ubuntu=libinput0 Fedora=libinput0"
DISTRO_PN_ALIAS_pn-libjson = "Ubuntu=libjson0-dev Debian=libjson0-dev"
DISTRO_PN_ALIAS_pn-libksba = "Fedora=libksba Debian=libksba8 Ubuntu=libksba"
DISTRO_PN_ALIAS_pn-liblbxutil = "Mandriva=liblbxutil OpenSuse=xorg-x11-devel"
@@ -237,6 +263,7 @@ DISTRO_PN_ALIAS_pn-libxsettings-client = "Debian=libxsettings-client0 Ubuntu=lib
DISTRO_PN_ALIAS_pn-libxtrap = "Debian=libxtrap6 Fedora=libXTrap"
DISTRO_PN_ALIAS_pn-libxxf86misc = "Mandriva=libxxf86misc Fedora=libXxf86misc"
DISTRO_PN_ALIAS_pn-linux-dummy = "Intel"
DISTRO_PN_ALIAS_pn-linux-firmware = "Fedora=linux-firmware Ubuntu=linux-firmware"
DISTRO_PN_ALIAS_pn-linux-libc-headers = "Debian=linux-kernel-headers Ubuntu=linux-kernel-headers"
DISTRO_PN_ALIAS_pn-linux-libc-headers-yocto = "Debian=linux-kernel-headers Ubuntu=linux-kernel-headers"
DISTRO_PN_ALIAS_pn-linux-yocto = "Debian=linux-base Ubuntu=linux"
@@ -272,6 +299,7 @@ DISTRO_PN_ALIAS_pn-menu-cache = "OSPDT"
DISTRO_PN_ALIAS_pn-mesa = "Fedora=mesa Ubuntu=libgl1-mesa-dri"
DISTRO_PN_ALIAS_pn-mesa-gl = "Fedora=mesa Ubuntu=libgl1-mesa-dri"
DISTRO_PN_ALIAS_pn-mesa-glsl = "Fedora=mesa Ubuntu=libgl1-mesa-dri"
DISTRO_PN_ALIAS_pn-meta-environment-extsdk-qemux86 = "OE-Core"
DISTRO_PN_ALIAS_pn-meta-environment-i586 = "OE-Core"
DISTRO_PN_ALIAS_pn-meta-environment-qemux86 = "OE-Core"
DISTRO_PN_ALIAS_pn-meta-environment-qemux86-64 = "OE-Core"
@@ -280,6 +308,7 @@ DISTRO_PN_ALIAS_pn-meta-toolchain = "OE-Core"
DISTRO_PN_ALIAS_pn-meta-toolchain-qt = "OE-Core"
DISTRO_PN_ALIAS_pn-meta-toolchain-qte = "OE-Core"
DISTRO_PN_ALIAS_pn-mini-x-session = "OSPDT"
DISTRO_PN_ALIAS_pn-mkelfimage = "Ubuntu=mkelfimage Fedora=mkelfimage"
DISTRO_PN_ALIAS_pn-mkfontdir = "Mandriva=mkfontdir Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils"
DISTRO_PN_ALIAS_pn-mkfontscale = "Mandriva=mkfontscale Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils"
DISTRO_PN_ALIAS_pn-mktemp = "Mandriva=mktemp Fedora=mktemp"
@@ -292,6 +321,7 @@ DISTRO_PN_ALIAS_pn-mtd-utils = "Debian=mtd-utils Ubuntu=mtd-utils"
DISTRO_PN_ALIAS_pn-mx-1.0 = "Ubuntu=mx Debian=mx Fedora=mx"
DISTRO_PN_ALIAS_pn-n450-audio = "Intel"
DISTRO_PN_ALIAS_pn-neard = "Intel"
DISTRO_PN_ALIAS_pn-neon = "Fedora=neon Opensuse=neon"
DISTRO_PN_ALIAS_pn-network-suspend-scripts = "OE-Core"
DISTRO_PN_ALIAS_pn-nfs-export-root = "OpenedHand"
DISTRO_PN_ALIAS_pn-npth = "OSPDT"
@@ -300,13 +330,15 @@ DISTRO_PN_ALIAS_pn-ocf-linux = "OSPDT"
DISTRO_PN_ALIAS_pn-ofono = "Debian=ofono Ubuntu=ofono"
DISTRO_PN_ALIAS_pn-oh-puzzles = "OpenedHand"
DISTRO_PN_ALIAS_pn-opkg = "OSPDT upstream=http://svn.openmoko.org/trunk/src/tar"
DISTRO_PN_ALIAS_pn-opkg-arch-config = "OE-Core"
DISTRO_PN_ALIAS_pn-opkg-collateral = "OE-Core"
DISTRO_PN_ALIAS_pn-opkg-config-base = "OE-Core"
DISTRO_PN_ALIAS_pn-opkg-nogpg = "OSPDT upstream=http://svn.openmoko.org/trunk/src/tar"
DISTRO_PN_ALIAS_pn-opkg-utils = "OSPDT upstream=http://svn.openmoko.org/trunk/src/target/opkg/"
DISTRO_PN_ALIAS_pn-opkg-keyrings = "OSPDT upstream=git://git.yoctoproject.org/opkg-utils"
DISTRO_PN_ALIAS_pn-opkg-nogpg = "OSPDT upstream=git://git.yoctoproject.org/opkg-utils"
DISTRO_PN_ALIAS_pn-opkg-utils = "OSPDT upstream=git://git.yoctoproject.org/opkg-utils"
DISTRO_PN_ALIAS_pn-oprofile = "Debian=oprofile Fedora=oprofile"
DISTRO_PN_ALIAS_pn-oprofileui = "Fedora=oprofileui Ubuntu=oprofile-gui Debian=oprofile-gui"
DISTRO_PN_ALIAS_pn-oprofileui-server = "Fedora=oprofileui Ubuntu=oprofile-gui Debian=oprofile-gui"
DISTRO_PN_ALIAS_pn-os-release = "OE-Core"
DISTRO_PN_ALIAS_pn-owl-video = "OpenedHand"
DISTRO_PN_ALIAS_pn-packagegroup-base = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core = "OE-Core"
@@ -345,6 +377,7 @@ DISTRO_PN_ALIAS_pn-packagegroup-qt-toolchain-target = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-sdk-host = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-self-hosted = "OE-Core"
DISTRO_PN_ALIAS_pn-package-index = "OE-Core"
DISTRO_PN_ALIAS_pn-patchelf = "Opensuse=patchelf Fedora=patchelf"
DISTRO_PN_ALIAS_pn-perf = "OSPDT"
DISTRO_PN_ALIAS_pn-piglit = "OE-Core"
DISTRO_PN_ALIAS_pn-pkgconfig = "Ubuntu=pkg-config Fedora=pkgconfig"
@@ -362,12 +395,15 @@ DISTRO_PN_ALIAS_pn-pseudo = "Windriver"
DISTRO_PN_ALIAS_pn-psplash = "OpenedHand"
DISTRO_PN_ALIAS_pn-ptest-runner = "OE-Core"
DISTRO_PN_ALIAS_pn-puzzles = "Debian=sgt-puzzles Fedora=puzzles"
DISTRO_PN_ALIAS_pn-python3 = "Fedora=python3 Debian=python3.2"
DISTRO_PN_ALIAS_pn-python3-distribute = "Debian=python3-setuptools Fedora=python3-setuptools"
DISTRO_PN_ALIAS_pn-python-ZSI = "OE-Core"
DISTRO_PN_ALIAS_pn-python-argparse = "Fedora=python-argparse OpenSuSE=python-argparse"
DISTRO_PN_ALIAS_pn-python-dbus = "Ubuntu=python-dbus Debian=python-dbus Mandriva=python-dbus"
DISTRO_PN_ALIAS_pn-python-distribute = "Opensuse=python-setuptools Fedora=python-setuptools"
DISTRO_PN_ALIAS_pn-python-git = "Debian=python-git Fedora=GitPython"
DISTRO_PN_ALIAS_pn-python-gst = "OpenSuSE=python-gstreamer Ubuntu=gst0.10-python Debian=gst0.10-python"
DISTRO_PN_ALIAS_pn-python-mako = "Fedora=python-mako Opensuse=python-Mako"
DISTRO_PN_ALIAS_pn-python-pycairo = "Meego=pycairo Fedora=pycairo Ubuntu=pycairo Debian=pycairo"
DISTRO_PN_ALIAS_pn-python-pycurl = "Debian=python-pycurl Ubuntu=python-pycurl"
DISTRO_PN_ALIAS_pn-python-pygobject = "Meego=pygobject2 Fedora=pygobject2 Ubuntu=pygobject Debian=pygobject"
@@ -424,9 +460,10 @@ DISTRO_PN_ALIAS_pn-systemd-systemdctl = "Fedora=systemd Ubuntu=systemd"
DISTRO_PN_ALIAS_pn-systemtap-uprobes = "Ubuntu=systemtap Debian=systemtap"
DISTRO_PN_ALIAS_pn-sysvinit-inittab = "OE-Core"
DISTRO_PN_ALIAS_pn-table = "Intel"
DISTRO_PN_ALIAS_pn-tar-replacement = "OE-Core"
DISTRO_PN_ALIAS_pn-tar-replacement = "Fedora=tar Ubuntu=tar"
DISTRO_PN_ALIAS_pn-tcf-agent = "Windriver upstream=http://www.eclipse.org/dsdp/tm/"
DISTRO_PN_ALIAS_pn-telepathy-python = "Debian=telepathy-python Ubuntu=telepathy-python"
DISTRO_PN_ALIAS_pn-texinfo-dummy-native = "OE-Core"
DISTRO_PN_ALIAS_pn-tiny-init = "OSPDT"
DISTRO_PN_ALIAS_pn-tinylogin = "Debian=busybox Ubuntu=busybox Mandriva=busybox"
DISTRO_PN_ALIAS_pn-trace-cmd = "Mandriva=trace-cmd Ubuntu=trace-cmd"
@@ -441,6 +478,7 @@ DISTRO_PN_ALIAS_pn-u-boot-mkimage = "Ubuntu=uboot-mkimage Debian=uboot-mkimage"
DISTRO_PN_ALIAS_pn-udev-extraconf = "OE-Core"
DISTRO_PN_ALIAS_pn-unfs3 = "Debian=unfs3 Fedora=unfs3"
DISTRO_PN_ALIAS_pn-unfs-server = "OE-Core"
DISTRO_PN_ALIAS_pn-uninative-tarball = "OE-Core"
DISTRO_PN_ALIAS_pn-update-alternatives-dpkg = "Opensuse=update-alternatives Mandriva=update-alternatives"
DISTRO_PN_ALIAS_pn-update-rc.d = "OE-Core"
DISTRO_PN_ALIAS_pn-usbinit = "OE-Core"
@@ -477,6 +515,7 @@ DISTRO_PN_ALIAS_pn-xf86-input-synaptics = "Meego=xorg-x11-drv-synaptics Fedora=x
DISTRO_PN_ALIAS_pn-xf86-input-vmmouse = "Fedora=xorg-x11-drv-vmmouse Ubuntu=xserver-xorg-input-vmmouse Mandriva=x11-driver-input-vmmouse Debian=xserver-xorg-input-vmmouse"
DISTRO_PN_ALIAS_pn-xf86miscproto = "Meego=xorg-x11-proto-xf86miscproto"
DISTRO_PN_ALIAS_pn-xf86rushproto = "Meego=xorg-x11-proto-xf86rushproto"
DISTRO_PN_ALIAS_pn-xf86-video-cirrus = "Opensuse=xf86-video-cirrus Debian=xserver-xorg-video-cirrus"
DISTRO_PN_ALIAS_pn-xf86-video-fbdev = "Ubuntu=xserver-xorg-video-fbdev Debian=xserver-xorg-video-fbdev"
DISTRO_PN_ALIAS_pn-xf86-video-intel = "Debian=xserver-xorg-video-intel Fedora=xorg-x11-drv-intel Mandriva=x11-driver-video-intel Meego=xorg-x11-drv-intel Ubuntu=xserver-xorg-video-intel"
DISTRO_PN_ALIAS_pn-xf86-video-modesetting = "Debian=xserver-xorg-video-modesetting Fedora=xf86-video-modesetting"

View File

@@ -1,6 +1,6 @@
DISTRO = "poky"
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
DISTRO_VERSION = "1.7+snapshot-${DATE}"
DISTRO_VERSION = "1.8"
DISTRO_CODENAME = "fido"
SDK_VENDOR = "-pokysdk"
SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"
@@ -72,6 +72,7 @@ CONNECTIVITY_CHECK_URIS ?= " \
SANITY_TESTED_DISTROS ?= " \
poky-1.7 \n \
poky-1.8 \n \
Ubuntu-14.04 \n \
Ubuntu-14.10 \n \
Fedora-21 \n \

View File

@@ -12,7 +12,7 @@
"name": "Local Yocto Project",
"sourcetype": "local",
"apiurl": "../../",
"branches": ["HEAD", "master", "dizzy"],
"branches": ["HEAD", "master", "fido", "dizzy"],
"layers": [
{
"name": "openembedded-core",
@@ -39,13 +39,13 @@
"name": "OpenEmbedded",
"sourcetype": "layerindex",
"apiurl": "http://layers.openembedded.org/layerindex/api/",
"branches": ["master", "dizzy"]
"branches": ["master", "fido", "dizzy"]
},
{
"name": "Imported layers",
"sourcetype": "imported",
"apiurl": "",
"branches": ["master", "dizzy", "HEAD"]
"branches": ["master", "fido", "dizzy", "HEAD"]
}
],
@@ -56,6 +56,12 @@
"branch": "master",
"dirpath": "bitbake"
},
{
"name": "fido",
"giturl": "remote:origin",
"branch": "fido",
"dirpath": "bitbake"
},
{
"name": "dizzy",
"giturl": "remote:origin",
@@ -80,7 +86,16 @@
"branch": "master",
"defaultlayers": [ "openembedded-core", "meta-yocto", "meta-yocto-bsp"],
"layersourcepriority": { "Imported layers": 99, "Local Yocto Project" : 10, "OpenEmbedded" : 0 },
"helptext": "Toaster will run your builds using the <a href=\"http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/\">Yocto Project master branch</a>, where active development takes place. This is not a stable branch, so your builds might not work as expected."
"helptext": "Toaster will run your builds using the tip of the <a href=\"http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/\">Yocto Project master branch</a>, where active development takes place. This is not a stable branch, so your builds might not work as expected."
},
{
"name": "fido",
"description": "Yocto Project 1.8 Fido",
"bitbake": "fido",
"branch": "fido",
"defaultlayers": [ "openembedded-core", "meta-yocto", "meta-yocto-bsp"],
"layersourcepriority": { "Imported layers": 99, "Local Yocto Project" : 10, "OpenEmbedded" : 0 },
"helptext": "Toaster will run your builds with the tip of the <a href=\"http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=fido\">Yocto Project 1.8 \"Fido\"</a> branch."
},
{
"name": "dizzy",
@@ -89,7 +104,7 @@
"branch": "dizzy",
"defaultlayers": [ "openembedded-core", "meta-yocto", "meta-yocto-bsp"],
"layersourcepriority": { "Imported layers": 99, "Local Yocto Project" : 10, "OpenEmbedded" : 0 },
"helptext": "Toaster will run your builds with the <a href=\"https://www.yoctoproject.org/downloads/core/dizzy1\">Yocto Project 1.7 \"Dizzy\"</a> release"
"helptext": "Toaster will run your builds with the tip of the <a href=\"http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=dizzy\">Yocto Project 1.7 \"Dizzy\"</a> branch."
},
{
"name": "local",

View File

@@ -86,7 +86,7 @@ oe_runconf () {
${CACHED_CONFIGUREVARS} $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} "$@"
if [ "$?" != "0" ]; then
echo "Configure failed. The contents of all config.log files follows to aid debugging"
find ${S} -name config.log -print -exec cat {} \;
find ${S} -ignore_readdir_race -name config.log -print -exec cat {} \;
bbfatal "oe_runconf failed"
fi
set -e

View File

@@ -146,6 +146,7 @@ IMAGE_TYPES = " \
cramfs \
ext2 ext2.gz ext2.bz2 ext2.lzma \
ext3 ext3.gz \
ext4 ext4.gz \
btrfs \
iso \
hddimg \
@@ -171,7 +172,7 @@ COMPRESS_DEPENDS_xz = "xz-native"
COMPRESS_DEPENDS_lz4 = "lz4-native"
COMPRESS_DEPENDS_sum = "mtd-utils-native"
RUNNABLE_IMAGE_TYPES ?= "ext2 ext3"
RUNNABLE_IMAGE_TYPES ?= "ext2 ext3 ext4"
RUNNABLE_MACHINE_PATTERNS ?= "qemu"
DEPLOYABLE_IMAGE_TYPES ?= "hddimg iso"

View File

@@ -53,6 +53,13 @@ def package_qa_get_machine_dict():
"darwin9" : {
"arm" : (40, 0, 0, True, 32),
},
"eabi" : {
"arm" : (40, 0, 0, True, 32),
},
"elf" : {
"i586" : (3, 0, 0, True, 32),
"x86_64": (62, 0, 0, True, 64),
},
"linux" : {
"aarch64" : (183, 0, 0, True, 64),
"aarch64_be" :(183, 0, 0, False, 64),

View File

@@ -261,6 +261,7 @@ do_kernel_checkout[dirs] = "${S}"
addtask kernel_checkout before do_patch after do_unpack
addtask kernel_metadata after do_validate_branches before do_patch
do_kernel_metadata[depends] = "kern-tools-native:do_populate_sysroot"
do_kernel_configme[dirs] += "${S} ${B}"
do_kernel_configme() {
@@ -288,7 +289,7 @@ do_kernel_configme() {
echo "CONFIG_LOCALVERSION="\"${LINUX_VERSION_EXTENSION}\" >> ${B}/.config
}
addtask kernel_configme after do_patch
addtask kernel_configme before do_configure after do_patch
python do_kernel_configcheck() {
import re, string, sys

View File

@@ -182,7 +182,7 @@ sdk_ext_postinst() {
# dash which is /bin/sh on Ubuntu will not preserve the
# current working directory when first ran, nor will it set $1 when
# sourcing a script. That is why this has to look so ugly.
sh -c ". buildtools/environment-setup* > /dev/null && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir > /dev/null && bitbake ${SDK_TARGETS} > /dev/null" || { echo "SDK preparation failed" ; exit 1 ; }
sh -c ". buildtools/environment-setup* > preparing_build_system.log && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> preparing_build_system.log && bitbake ${SDK_TARGETS} >> preparing_build_system.log" || { echo "SDK preparation failed: see `pwd`/preparing_build_system.log" ; exit 1 ; }
echo done
}

View File

@@ -95,6 +95,7 @@ def siteinfo_data(d):
"x86_64-linux": "bit-64",
"x86_64-linux-musl": "x86_64-linux bit-64",
"x86_64-linux-uclibc": "bit-64",
"x86_64-elf": "bit-64",
"x86_64-linux-gnu": "bit-64 x86_64-linux",
"x86_64-linux-gnux32": "bit-32 ix86-common x32-linux",
"x86_64-mingw32": "bit-64",

View File

@@ -162,7 +162,7 @@ python toaster_image_dumpdata() {
import stat
artifact_path = os.path.join(dirpath, fn)
filestat = os.stat(artifact_path)
if stat.S_ISREG(filestat.st_mode):
if not os.path.islink(artifact_path):
artifact_info_data[artifact_path] = filestat.st_size
except OSError as e:
bb.event.fire(bb.event.MetadataEvent("OSErrorException", e), d)

View File

@@ -12,7 +12,7 @@
"name": "Local OpenEmbedded",
"sourcetype": "local",
"apiurl": "../../",
"branches": ["HEAD", "master", "dizzy"],
"branches": ["HEAD", "master", "fido", "dizzy"],
"layers": [
{
"name": "openembedded-core",
@@ -26,13 +26,13 @@
"name": "OpenEmbedded",
"sourcetype": "layerindex",
"apiurl": "http://layers.openembedded.org/layerindex/api/",
"branches": ["master", "dizzy"]
"branches": ["master", "fido", "dizzy"]
},
{
"name": "Imported layers",
"sourcetype": "imported",
"apiurl": "",
"branches": ["master", "dizzy", "HEAD"]
"branches": ["master", "fido", "dizzy", "HEAD"]
}
],
@@ -43,6 +43,12 @@
"branch": "master",
"dirpath": ""
},
{
"name": "fido",
"giturl": "git://git.openembedded.org/bitbake",
"branch": "1.26",
"dirpath": ""
},
{
"name": "dizzy",
"giturl": "git://git.openembedded.org/bitbake",
@@ -67,7 +73,16 @@
"branch": "master",
"defaultlayers": [ "openembedded-core" ],
"layersourcepriority": { "Imported layers": 99, "Local OpenEmbedded" : 10, "OpenEmbedded" : 0 },
"helptext": "Toaster will run your builds using the OpenEmbedded master branch, where active development takes place. This is not a stable branch, so your builds might not work as expected."
"helptext": "Toaster will run your builds using the tip of the <a href=\"http://cgit.openembedded.org/openembedded-core/log/\">OpenEmbedded master</a> branch, where active development takes place. This is not a stable branch, so your builds might not work as expected."
},
{
"name": "fido",
"description": "OpenEmbedded Fido",
"bitbake": "fido",
"branch": "fido",
"defaultlayers": [ "openembedded-core" ],
"layersourcepriority": { "Imported layers": 99, "Local OpenEmbedded" : 10, "OpenEmbedded" : 0 },
"helptext": "Toaster will run your builds with the tip of the <a href=\"http://cgit.openembedded.org/openembedded-core/log/?h=fido\">OpenEmbedded \"Fido\"</a> branch"
},
{
"name": "dizzy",
@@ -76,7 +91,7 @@
"branch": "dizzy",
"defaultlayers": [ "openembedded-core" ],
"layersourcepriority": { "Imported layers": 99, "Local OpenEmbedded" : 10, "OpenEmbedded" : 0 },
"helptext": "Toaster will run your builds with the OpenEmbedded Dizzy release"
"helptext": "Toaster will run your builds with the tip of the <a href=\"http://cgit.openembedded.org/openembedded-core/log/?h=dizzy\">OpenEmbedded \"Dizzy\"</a> branch"
},
{
"name": "local",

View File

@@ -111,11 +111,15 @@ class RpmIndexer(Indexer):
index_cmds = []
rpm_dirs_found = False
for arch in archs:
dbpath = os.path.join(self.d.getVar('WORKDIR', True), 'rpmdb', arch)
if os.path.exists(dbpath):
bb.utils.remove(dbpath, True)
arch_dir = os.path.join(self.deploy_dir, arch)
if not os.path.isdir(arch_dir):
continue
index_cmds.append("%s --update -q %s" % (rpm_createrepo, arch_dir))
index_cmds.append("%s --dbpath %s --update -q %s" % \
(rpm_createrepo, dbpath, arch_dir))
rpm_dirs_found = True

View File

@@ -66,20 +66,17 @@ do_compile () {
if [ "x${UBOOT_CONFIG}" != "x" ]
then
for config in ${UBOOT_MACHINE}; do
for type in in ${UBOOT_CONFIG}; do
if [ "${type}"x = "in"x ]
i=`expr $i + 1`;
for type in ${UBOOT_CONFIG}; do
j=`expr $j + 1`;
if [ $j -eq $i ]
then
continue
fi
if [ -d "${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX}" ]
then
break
else
oe_runmake O=${config} ${config}
oe_runmake O=${config} ${UBOOT_MAKE_TARGET}
cp ${S}/${config}/${UBOOT_BINARY} ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
fi
done
unset j
done
else
oe_runmake ${UBOOT_MACHINE}
@@ -92,20 +89,17 @@ do_install () {
if [ "x${UBOOT_CONFIG}" != "x" ]
then
for config in ${UBOOT_MACHINE}; do
for type in in ${UBOOT_CONFIG}; do
if [ "${type}"x = "in"x ]
i=`expr $i + 1`;
for type in ${UBOOT_CONFIG}; do
j=`expr $j + 1`;
if [ $j -eq $i ]
then
continue
fi
if [ -d "${D}/boot/u-boot-${type}.${UBOOT_SUFFIX}" ]
then
break
else
install -d ${D}/boot
install ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${D}/boot/u-boot-${type}.${UBOOT_SUFFIX}
ln -sf u-boot-${type}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}
install ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}
fi
done
unset j
done
else
install -d ${D}/boot
@@ -123,20 +117,17 @@ do_install () {
if [ "x${UBOOT_CONFIG}" != "x" ]
then
for config in ${UBOOT_MACHINE}; do
for type in in ${UBOOT_CONFIG}; do
if [ "${type}"x = "in"x ]
then
continue
fi
if [ -d "${D}/boot/${SPL_IMAGE}-${type}" ]
then
break
else
install ${S}/${config}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}-${type}
ln -sf ${SPL_IMAGE}-${type} ${D}/boot/${SPL_BINARY}-${type}
ln -sf ${SPL_IMAGE}-${type} ${D}/boot/${SPL_BINARY}
fi
i=`expr $i + 1`;
for type in ${UBOOT_CONFIG}; do
j=`expr $j + 1`;
if [ $j -eq $i ]
then
install ${S}/${config}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}-${type}-${PV}-${PR}
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARY}-${type}
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARY}
fi
done
unset j
done
else
install ${S}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
@@ -157,22 +148,19 @@ do_deploy () {
if [ "x${UBOOT_CONFIG}" != "x" ]
then
for config in ${UBOOT_MACHINE}; do
for type in in ${UBOOT_CONFIG}; do
if [ "${type}"x = "in"x ]
i=`expr $i + 1`;
for type in ${UBOOT_CONFIG}; do
j=`expr $j + 1`;
if [ $j -eq $i ]
then
continue
fi
if [ -d "${DEPLOYDIR}/u-boot-${type}.${UBOOT_SUFFIX}" ]
then
break
else
install -d ${DEPLOYDIR}
install ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/u-boot-${type}.${UBOOT_SUFFIX}
install ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
cd ${DEPLOYDIR}
ln -sf u-boot-${type}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}
ln -sf u-boot-${type}.${UBOOT_SUFFIX} ${UBOOT_BINARY}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}
fi
done
unset j
done
else
install -d ${DEPLOYDIR}
@@ -190,23 +178,20 @@ do_deploy () {
if [ "x${UBOOT_CONFIG}" != "x" ]
then
for config in ${UBOOT_MACHINE}; do
for type in in ${UBOOT_CONFIG}; do
if [ "${type}"x = "in"x ]
then
continue
fi
if [ -d "${DEPLOYDIR}/${SPL_IMAGE}-${type}" ]
then
break
else
install ${S}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}-${type}
rm -f ${DEPLOYDIR}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
ln -sf ${SPL_IMAGE}-${type} ${DEPLOYDIR}/${SPL_BINARY}-${type}
ln -sf ${SPL_IMAGE}-${type} ${DEPLOYDIR}/${SPL_BINARY}
ln -sf ${SPL_IMAGE}-${type} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
ln -sf ${SPL_IMAGE}-${type} ${DEPLOYDIR}/${SPL_SYMLINK}
fi
i=`expr $i + 1`;
for type in ${UBOOT_CONFIG}; do
j=`expr $j + 1`;
if [ $j -eq $i ]
then
install ${S}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}-${type}-${PV}-${PR}
rm -f ${DEPLOYDIR}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARY}-${type}
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARY}
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK}
fi
done
unset j
done
else
install ${S}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}

View File

@@ -86,12 +86,13 @@ do_install () {
cd ${D}${sysconfdir}/network/ && \
ln -sf ../if-pre-up.d/wpa-supplicant if-post-down.d/wpa-supplicant
install -d ${D}/${sysconfdir}/dbus-1/system.d
install -m 644 ${S}/wpa_supplicant/dbus/dbus-wpa_supplicant.conf ${D}/${sysconfdir}/dbus-1/system.d
install -d ${D}/${datadir}/dbus-1/system-services
install -m 644 ${S}/wpa_supplicant/dbus/*.service ${D}/${datadir}/dbus-1/system-services
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
install -d ${D}/${sysconfdir}/dbus-1/system.d
install -m 644 ${S}/wpa_supplicant/dbus/dbus-wpa_supplicant.conf ${D}/${sysconfdir}/dbus-1/system.d
install -d ${D}/${systemd_unitdir}/system
install -m 644 ${S}/wpa_supplicant/systemd/*.service ${D}/${systemd_unitdir}/system
fi

View File

@@ -65,9 +65,26 @@ then
fi
echo "# we test using cross compiler from real sysroot therefore override the" > ${B}/configparms
echo "# definitions that come from ${B}/config.make" >> ${B}/configparms
fgrep tcbootstrap ${B}/config.make > ${B}/configparms
sed -i -e "s/\-tcbootstrap//g" ${B}/configparms
# g++ uses flag -nostdinc, so the locations of system include headers must be explicitly specified
# If the locations are not already specified in config.make, then we provide the following locations:
# <sysroot>/usr/include/c++/<g++ version>
# <sysroot>/usr/include/c++/<g++ version>/<machine>
cxxincludes=\`cat ${B}/config.make | gawk '\$1 == "c++-sysincludes"' | gawk -F"=" '{print \$2}' | sed "s/[ \t]\?//g"\`
if [ -z "\$cxxincludes" ]; then
sysroot=\`cat ${B}/configparms | sed -n "/CXX/p" | sed -e "s/^.*--sysroot=//"\`
cxx=\`cat ${B}/configparms | gawk '\$1 ~ /^CXX/' | gawk -F"=" '{print \$2}' | gawk '{print \$1}'\`
cxxmachine=\`\$cxx -dumpmachine\`
cxxversion=\`\$cxx -dumpversion\`
# pass the new value of c++-sysincludes via configparms
echo "# c++-sysincludes added:" >> ${B}/configparms
echo "c++-sysincludes = -isystem \$sysroot/usr/include/c++/\$cxxversion -isystem \$sysroot/usr/include/c++/\$cxxversion/\$cxxmachine" >> ${B}/configparms
fi
wrapper="${S}/scripts/cross-test-ssh.sh \$target"
localedef="${STAGING_BINDIR_NATIVE}/cross-localedef --little-endian --uint32-align=4"
make tests-clean

View File

@@ -0,0 +1,36 @@
From 6207fb45553ee98f2f326883b7c21b76c8267343 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Tue, 31 Mar 2015 02:31:25 -0700
Subject: [PATCH] elf/Makefile: fix a typo
Fixed a typo:
name-target-directory -> make-target-directory
There is no name-target-directory, it should be make-target-directory,
this fixed the error:
/bin/bash: /path/to/elf/runtime-linker.T: No such file or directory
Makefile:361: recipe for target '/path/to/elf/runtime-linker.st' failed
Upstream-Status: Pending
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
elf/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/elf/Makefile b/elf/Makefile
index e5b142c..62fe245 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -358,7 +358,7 @@ $(objpfx)interp.os: $(elf-objpfx)runtime-linker.h
$(elf-objpfx)runtime-linker.h: $(elf-objpfx)runtime-linker.st; @:
$(elf-objpfx)runtime-linker.st: $(common-objpfx)config.make
- $(name-target-directory)
+ $(make-target-directory)
echo '#define RUNTIME_LINKER "$(rtlddir)/$(rtld-installed-name)"' \
> ${@:st=T}
$(move-if-change) ${@:st=T} ${@:st=h}
--
1.7.9.5

View File

@@ -25,6 +25,7 @@ SRC_URI = "git://sourceware.org/git/glibc.git;branch=${BRANCH} \
file://0001-Add-unused-attribute.patch \
file://0001-When-disabling-SSE-also-make-sure-that-fpmath-is-not.patch \
file://0001-yes-within-the-path-sets-wrong-config-variables.patch \
file://elf-Makefile-fix-a-typo.patch \
${EGLIBCPATCHES} \
"
EGLIBCPATCHES = "\

View File

@@ -21,8 +21,8 @@ IMAGE_FSTYPES = "vmdk"
inherit core-image
SRCREV ?= "d01cd53429b1c20f01dac97f1b9b659cb9dc9812"
SRC_URI = "git://git.yoctoproject.org/poky \
SRCREV ?= "0db74ea8f414c88932b9028a6973f39851ad9e6e"
SRC_URI = "git://git.yoctoproject.org/poky;branch=fido \
file://Yocto_Build_Appliance.vmx \
file://Yocto_Build_Appliance.vmxf \
"

View File

@@ -4,6 +4,8 @@ SECTION = "base"
SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.xz"
SRC_URI_append_class-native = " file://tar-error-code.patch"
DEPENDS = "zlib bzip2 perl ncurses"
DEPENDS_class-native = "bzip2-replacement-native zlib-native virtual/update-alternatives-native gettext-native perl-native"
RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives} xz run-postinsts perl"

View File

@@ -0,0 +1,54 @@
When running do_package_write_deb, we have trees of hardlinked files
such as the dbg source files in ${PN}-dbg. If something makes another
copy of one of those files (or deletes one), the number of links a file
has changes and tar can notice this, e.g.:
| DEBUG: Executing python function do_package_deb
| dpkg-deb: building package `sed-ptest' in `/media/build1/poky/build/tmp/work/i586-poky-linux/sed/4.2.2-r0/deploy-debs/i586/sed-ptest_4.2.2-r0.3_i386.deb'.
| tar: ./usr/lib/sed/ptest/testsuite/tst-regex2: file changed as we read it
| dpkg-deb: error: subprocess tar -cf returned error exit status 1
Tar returns an error of 1 when files 'change' and other errors codes
in other error cases. We tweak dpkg-deb here so that it ignores an exit
code of 1 from tar. The files don't really change (and we have locking in
place to avoid that kind of issue).
Upsteam-Status: Inappropriate
RP 2015/3/27
Index: dpkg-1.17.21/dpkg-deb/build.c
===================================================================
--- dpkg-1.17.21.orig/dpkg-deb/build.c
+++ dpkg-1.17.21/dpkg-deb/build.c
@@ -398,7 +398,7 @@ do_build(const char *const *argv)
bool subdir;
char *tfbuf;
int arfd;
- int p1[2], p2[2], gzfd;
+ int p1[2], p2[2], gzfd, rc;
pid_t c1, c2;
/* Decode our arguments. */
@@ -493,7 +493,9 @@ do_build(const char *const *argv)
}
close(p1[0]);
subproc_reap(c2, "gzip -9c", 0);
- subproc_reap(c1, "tar -cf", 0);
+ rc = subproc_reap(c1, "tar -cf", SUBPROC_RETERROR);
+ if (rc && rc != 1)
+ ohshite(_("subprocess %s returned error exit status %d"), "tar -cf", rc);
if (lseek(gzfd, 0, SEEK_SET))
ohshite(_("failed to rewind temporary file (%s)"), _("control member"));
@@ -581,7 +583,10 @@ do_build(const char *const *argv)
/* All done, clean up wait for tar and gzip to finish their job. */
close(p1[1]);
subproc_reap(c2, _("<compress> from tar -cf"), 0);
- subproc_reap(c1, "tar -cf", 0);
+ rc = subproc_reap(c1, "tar -cf", SUBPROC_RETERROR);
+ if (rc && rc != 1)
+ ohshite(_("subprocess %s returned error exit status %d"), "tar -cf", rc);
+
/* Okay, we have data.tar as well now, add it to the ar wrapper. */
if (deb_format.major == 2) {
char datamember[16 + 1];

View File

@@ -11,26 +11,34 @@ Upstream-Status: Pending
gcc/config/arm/linux-elf.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: gcc-4.9-20140316/gcc/config/arm/coff.h
Index: gcc-4.9.2/gcc/config/arm/coff.h
===================================================================
--- gcc-4.9-20140316.orig/gcc/config/arm/coff.h
+++ gcc-4.9-20140316/gcc/config/arm/coff.h
@@ -33,7 +33,7 @@
--- gcc-4.9.2.orig/gcc/config/arm/coff.h
+++ gcc-4.9.2/gcc/config/arm/coff.h
@@ -32,8 +32,11 @@
#define TARGET_DEFAULT (MASK_APCS_FRAME)
#ifndef MULTILIB_DEFAULTS
+#ifndef TARGET_ENDIAN_OPTION
+#define TARGET_ENDIAN_OPTION "mlittle-endian"
+#endif
#define MULTILIB_DEFAULTS \
- { "marm", "mlittle-endian", "mfloat-abi=soft", "mno-thumb-interwork" }
+ { "marm", TARGET_ENDIAN_OPTION, "mfloat-abi=soft", "mno-thumb-interwork" }
#endif
/* This is COFF, but prefer stabs. */
Index: gcc-4.9-20140316/gcc/config/arm/elf.h
Index: gcc-4.9.2/gcc/config/arm/elf.h
===================================================================
--- gcc-4.9-20140316.orig/gcc/config/arm/elf.h
+++ gcc-4.9-20140316/gcc/config/arm/elf.h
@@ -112,7 +112,7 @@
--- gcc-4.9.2.orig/gcc/config/arm/elf.h
+++ gcc-4.9.2/gcc/config/arm/elf.h
@@ -116,8 +116,11 @@
#endif
#ifndef MULTILIB_DEFAULTS
+#ifndef TARGET_ENDIAN_OPTION
+#define TARGET_ENDIAN_OPTION "mlittle-endian"
+#endif
#define MULTILIB_DEFAULTS \
- { "marm", "mlittle-endian", "mfloat-abi=soft", "mno-thumb-interwork", "fno-leading-underscore" }
+ { "marm", TARGET_ENDIAN_OPTION, "mfloat-abi=soft", "mno-thumb-interwork", "fno-leading-underscore" }

View File

@@ -0,0 +1,200 @@
From 4e9269a5fc1fe80a1095a92593dd85db871e1fd3 Mon Sep 17 00:00:00 2001
From: Andreas Gruenbacher <andreas.gruenbacher@gmail.com>
Date: Mon, 19 Jan 2015 23:18:30 +0100
Subject: [PATCH] Make sure symlinks don't point outside working directory
(CVE-2015-1196)
When creating symlinks from git-style patches, make sure the symlinks don't
point above the current working directory. Otherwise, a subsequent patch could
use the symlink to write outside the working directory.
* src/pch.c (symlink_target_is_valid): New function to check for valid symlink
targets.
* src/util.c (move_file): Use symlink_target_is_valid() here.
* tests/symlinks: Add valid and invalid symlink test cases.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Upstream-Status: Backport
---
NEWS | 3 ++
src/pch.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/pch.h | 1 +
src/util.c | 7 +++++++
tests/symlinks | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 117 insertions(+)
diff --git a/NEWS b/NEWS
index 42afed7..d3f1c2d 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+* With git-style patches, symlinks that point outside the working directory
+ will no longer be created.
+
Changes in version 2.7.1:
* Two critical bug fixes in the "diff --git" format support.
diff --git a/src/pch.c b/src/pch.c
index 55e1504..f05ef83 100644
--- a/src/pch.c
+++ b/src/pch.c
@@ -454,6 +454,60 @@ name_is_valid (char const *name)
return is_valid;
}
+bool
+symlink_target_is_valid (char const *target, char const *to)
+{
+ bool is_valid;
+
+ if (IS_ABSOLUTE_FILE_NAME (to))
+ is_valid = true;
+ else if (IS_ABSOLUTE_FILE_NAME (target))
+ is_valid = false;
+ else
+ {
+ unsigned int depth = 0;
+ char const *t;
+
+ is_valid = true;
+ t = to;
+ while (*t)
+ {
+ while (*t && ! ISSLASH (*t))
+ t++;
+ if (ISSLASH (*t))
+ {
+ while (ISSLASH (*t))
+ t++;
+ depth++;
+ }
+ }
+
+ t = target;
+ while (*t)
+ {
+ if (*t == '.' && *++t == '.' && (! *++t || ISSLASH (*t)))
+ {
+ if (! depth--)
+ {
+ is_valid = false;
+ break;
+ }
+ }
+ else
+ {
+ while (*t && ! ISSLASH (*t))
+ t++;
+ depth++;
+ }
+ while (ISSLASH (*t))
+ t++;
+ }
+ }
+
+ /* Allow any symlink target if we are in the filesystem root. */
+ return is_valid || cwd_is_root (to);
+}
+
/* Determine what kind of diff is in the remaining part of the patch file. */
static enum diff
diff --git a/src/pch.h b/src/pch.h
index 0c7ff62..58861b0 100644
--- a/src/pch.h
+++ b/src/pch.h
@@ -37,6 +37,7 @@ bool pch_write_line (lin, FILE *);
bool there_is_another_patch (bool, mode_t *);
char *pfetch (lin) _GL_ATTRIBUTE_PURE;
char pch_char (lin) _GL_ATTRIBUTE_PURE;
+bool symlink_target_is_valid (char const *, char const *);
int another_hunk (enum diff, bool);
int pch_says_nonexistent (bool) _GL_ATTRIBUTE_PURE;
size_t pch_line_len (lin) _GL_ATTRIBUTE_PURE;
diff --git a/src/util.c b/src/util.c
index 66ae90f..636eded 100644
--- a/src/util.c
+++ b/src/util.c
@@ -470,6 +470,13 @@ move_file (char const *from, bool *from_needs_removal,
read_fatal ();
buffer[size] = 0;
+ if (! symlink_target_is_valid (buffer, to))
+ {
+ fprintf (stderr, "symbolic link target '%s' is invalid\n",
+ buffer);
+ fatal_exit (0);
+ }
+
if (! backup)
{
if (unlink (to) == 0)
diff --git a/tests/symlinks b/tests/symlinks
index 96626b3..6211026 100644
--- a/tests/symlinks
+++ b/tests/symlinks
@@ -146,6 +146,59 @@ ncheck 'test ! -L symlink'
# --------------------------------------------------------------
+# Patch should not create symlinks which point outside the working directory.
+
+cat > symlink-target.diff <<EOF
+diff --git a/dir/foo b/dir/foo
+new file mode 120000
+index 0000000..cad2309
+--- /dev/null
++++ b/dir/foo
+@@ -0,0 +1 @@
++../foo
+\ No newline at end of file
+EOF
+
+check 'patch -p1 < symlink-target.diff || echo "Status: $?"' <<EOF
+patching symbolic link dir/foo
+EOF
+
+cat > bad-symlink-target1.diff <<EOF
+diff --git a/bar b/bar
+new file mode 120000
+index 0000000..cad2309
+--- /dev/null
++++ b/bar
+@@ -0,0 +1 @@
++/bar
+\ No newline at end of file
+EOF
+
+check 'patch -p1 < bad-symlink-target1.diff || echo "Status: $?"' <<EOF
+patching symbolic link bar
+symbolic link target '/bar' is invalid
+Status: 2
+EOF
+
+cat > bad-symlink-target2.diff <<EOF
+diff --git a/baz b/baz
+new file mode 120000
+index 0000000..cad2309
+--- /dev/null
++++ b/baz
+@@ -0,0 +1 @@
++../baz
+\ No newline at end of file
+EOF
+
+check 'patch -p1 < bad-symlink-target2.diff || echo "Status: $?"' <<EOF
+patching symbolic link baz
+symbolic link target '../baz' is invalid
+Status: 2
+EOF
+
+# --------------------------------------------------------------
+
# The backup file of a new symlink is an empty regular file.
check 'patch -p1 --backup < create-symlink.diff || echo "Status: $?"' <<EOF
--
2.1.4

View File

@@ -1,6 +1,7 @@
require patch.inc
LICENSE = "GPLv3"
SRC_URI += "file://patch-CVE-2015-1196.patch"
SRC_URI[md5sum] = "95dd8d7e41dcbcecdd5cd88ef915378d"
SRC_URI[sha256sum] = "c05f28668c3474bc63adcd48abae921d15e71c254fbebdbaeda40456d64039d5"

View File

@@ -0,0 +1,154 @@
Description: CVE-2015-1197
Apply patch by Vitezslav Cizek of SuSE to fix CVE-2015-1197.
Upstream is dormant or no longer existing. To restore the old
behaviour use --extract-over-symlinks (Closes: #774669)
This issue has been discovered by Alexander Cherepanov.
Author: Vitezslav Cizek <vcizek@suse.cz>
Bug-Debian: https://bugs.debian.org/774669
Upstream-Status: Backport
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
--- cpio-2.11+dfsg.orig/doc/cpio.1
+++ cpio-2.11+dfsg/doc/cpio.1
@@ -22,6 +22,7 @@ cpio \- copy files to and from archives
[\-\-owner=[user][:.][group]] [\-\-no-preserve-owner] [\-\-message=message]
[\-\-force\-local] [\-\-no\-absolute\-filenames] [\-\-sparse]
[\-\-only\-verify\-crc] [\-\-to\-stdout] [\-\-quiet] [\-\-rsh-command=command]
+[\-\-extract\-over\-symlinks]
[\-\-help] [\-\-version] [pattern...] [< archive]
.B cpio
--- cpio-2.11+dfsg.orig/src/copyin.c
+++ cpio-2.11+dfsg/src/copyin.c
@@ -700,6 +700,51 @@ copyin_link (struct cpio_file_stat *file
free (link_name);
}
+
+static int
+path_contains_symlink(char *path)
+{
+ struct stat st;
+ char *slash;
+ char *nextslash;
+
+ /* we got NULL pointer or empty string */
+ if (!path || !*path) {
+ return false;
+ }
+
+ slash = path;
+
+ while ((nextslash = strchr(slash + 1, '/')) != NULL) {
+ slash = nextslash;
+ *slash = '\0';
+
+ if (lstat(path, &st) != 0) {
+ if (errno == ELOOP) {
+ /* ELOOP - too many symlinks */
+ *slash = '/';
+ return true;
+ } else if (errno == ENOMEM) {
+ /* No memory for lstat - terminate */
+ xalloc_die();
+ } else {
+ /* cannot lstat path - give up */
+ *slash = '/';
+ return false;
+ }
+ }
+
+ if (S_ISLNK(st.st_mode)) {
+ *slash = '/';
+ return true;
+ }
+
+ *slash = '/';
+ }
+
+ return false;
+}
+
static void
copyin_file (struct cpio_file_stat *file_hdr, int in_file_des)
{
@@ -1471,6 +1516,23 @@ process_copy_in ()
{
/* Copy the input file into the directory structure. */
+ /* Can we write files over symlinks? */
+ if (!extract_over_symlinks)
+ {
+ if (path_contains_symlink(file_hdr.c_name))
+ {
+ /* skip the file */
+ /*
+ fprintf(stderr, "Can't write over symlinks. Skipping %s\n", file_hdr.c_name);
+ tape_toss_input (in_file_des, file_hdr.c_filesize);
+ tape_skip_padding (in_file_des, file_hdr.c_filesize);
+ continue;
+ */
+ /* terminate */
+ error (1, 0, _("Can't write over symlinks: %s\n"), file_hdr.c_name);
+ }
+ }
+
/* Do we need to rename the file? */
if (rename_flag || rename_batch_file)
{
--- cpio-2.11+dfsg.orig/src/extern.h
+++ cpio-2.11+dfsg/src/extern.h
@@ -95,6 +95,7 @@ extern char input_is_special;
extern char output_is_special;
extern char input_is_seekable;
extern char output_is_seekable;
+extern bool extract_over_symlinks;
extern int (*xstat) ();
extern void (*copy_function) ();
--- cpio-2.11+dfsg.orig/src/global.c
+++ cpio-2.11+dfsg/src/global.c
@@ -187,6 +187,9 @@ bool to_stdout_option = false;
/* The name this program was run with. */
char *program_name;
+/* Extract files over symbolic links */
+bool extract_over_symlinks;
+
/* A pointer to either lstat or stat, depending on whether
dereferencing of symlinks is done for input files. */
int (*xstat) ();
--- cpio-2.11+dfsg.orig/src/main.c
+++ cpio-2.11+dfsg/src/main.c
@@ -57,7 +57,8 @@ enum cpio_options {
FORCE_LOCAL_OPTION,
DEBUG_OPTION,
BLOCK_SIZE_OPTION,
- TO_STDOUT_OPTION
+ TO_STDOUT_OPTION,
+ EXTRACT_OVER_SYMLINKS
};
const char *program_authors[] =
@@ -222,6 +223,8 @@ static struct argp_option options[] = {
N_("Create leading directories where needed"), GRID+1 },
{"no-preserve-owner", NO_PRESERVE_OWNER_OPTION, 0, 0,
N_("Do not change the ownership of the files"), GRID+1 },
+ {"extract-over-symlinks", EXTRACT_OVER_SYMLINKS, 0, 0,
+ N_("Force writing over symbolic links"), GRID+1 },
{"unconditional", 'u', NULL, 0,
N_("Replace all files unconditionally"), GRID+1 },
{"sparse", SPARSE_OPTION, NULL, 0,
@@ -412,6 +415,10 @@ crc newc odc bin ustar tar (all-caps als
no_chown_flag = true;
break;
+ case EXTRACT_OVER_SYMLINKS: /* --extract-over-symlinks */
+ extract_over_symlinks = true;
+ break;
+
case 'o': /* Copy-out mode. */
if (copy_function != 0)
error (PAXEXIT_FAILURE, 0, _("Mode already defined"));

View File

@@ -6,7 +6,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
PR = "r5"
SRC_URI += "file://remove-gets.patch \
file://fix-memory-overrun.patch \
file://fix-memory-overrun.patch \
file://cpio-CVE-2015-1197.patch \
"
SRC_URI[md5sum] = "1112bb6c45863468b5496ba128792f6c"

View File

@@ -0,0 +1,10 @@
/* Automatically generated by gen_art_config.c */
#define ART_SIZEOF_CHAR 1
#define ART_SIZEOF_SHORT 2
#define ART_SIZEOF_INT 4
#define ART_SIZEOF_LONG 8
typedef unsigned char art_u8;
typedef unsigned short art_u16;
typedef unsigned int art_u32;

View File

@@ -0,0 +1,10 @@
/* Automatically generated by gen_art_config.c */
#define ART_SIZEOF_CHAR 1
#define ART_SIZEOF_SHORT 2
#define ART_SIZEOF_INT 4
#define ART_SIZEOF_LONG 4
typedef unsigned char art_u8;
typedef unsigned short art_u16;
typedef unsigned int art_u32;

View File

@@ -0,0 +1,10 @@
/* Automatically generated by gen_art_config.c */
#define ART_SIZEOF_CHAR 1
#define ART_SIZEOF_SHORT 2
#define ART_SIZEOF_INT 4
#define ART_SIZEOF_LONG 4
typedef unsigned char art_u8;
typedef unsigned short art_u16;
typedef unsigned int art_u32;

View File

@@ -32,10 +32,6 @@ KCONF_BSP_AUDIT_LEVEL ?= "0"
LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE}"
do_patch[depends] = "kern-tools-native:do_populate_sysroot"
addtask kernel_configme before do_configure after do_patch
# Pick up shared functions
inherit kernel
inherit kernel-yocto

View File

@@ -0,0 +1,61 @@
createrepo: Implement --dbpath command line option
--dbpath option allows to specify path to the directory
with rpm database. By default createrepo uses or creates
rpm database in /var/lib/rpm/
Upstream-Status: Pending
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
--- createrepo-0.4.11.orig/genpkgmetadata.py 2015-03-30 22:18:19.904000000 +0300
+++ createrepo-0.4.11/genpkgmetadata.py 2015-03-30 22:28:49.208000000 +0300
@@ -65,6 +65,7 @@
-p, --pretty = output xml files in pretty format.
--update = update existing metadata (if present)
-d, --database = generate the sqlite databases.
+ --dbpath <dir> = specify path to rpm db directory.
""")
sys.exit(retval)
@@ -72,10 +73,13 @@
class MetaDataGenerator:
def __init__(self, cmds):
self.cmds = cmds
- self.ts = rpm.TransactionSet()
self.pkgcount = 0
self.files = []
+ if self.cmds['dbpath']:
+ rpm.addMacro("_dbpath", self.cmds['dbpath'])
+ self.ts = rpm.TransactionSet()
+
def _os_path_walk(self, top, func, arg):
"""Directory tree walk with callback function.
copy of os.path.walk, fixes the link/stating problem
@@ -435,6 +439,7 @@
cmds['dir-pattern-match'] = ['.*bin\/.*', '^\/etc\/.*']
cmds['skip-symlinks'] = False
cmds['pkglist'] = []
+ cmds['dbpath'] = None
try:
gopts, argsleft = getopt.getopt(args, 'phqVvndg:s:x:u:c:o:CSi:', ['help', 'exclude=',
@@ -442,7 +447,7 @@
'baseurl=', 'groupfile=', 'checksum=',
'version', 'pretty', 'split', 'outputdir=',
'noepoch', 'checkts', 'database', 'update',
- 'skip-symlinks', 'pkglist='])
+ 'skip-symlinks', 'pkglist=', 'dbpath='])
except getopt.error, e:
errorprint(_('Options Error: %s.') % e)
usage()
@@ -516,6 +521,8 @@
cmds['skip-symlinks'] = True
elif arg in ['-i', '--pkglist']:
cmds['pkglist'] = a
+ elif arg == '--dbpath':
+ cmds['dbpath'] = os.path.realpath(a)
except ValueError, e:
errorprint(_('Options Error: %s') % e)

View File

@@ -14,6 +14,7 @@ SRC_URI= "http://createrepo.baseurl.org/download/${BP}.tar.gz \
file://python-scripts-should-use-interpreter-from-env.patch \
file://createrepo-rpm549.patch \
file://recommends.patch \
file://createrepo-dbpath.patch \
file://rpm-createsolvedb.py \
"

View File

@@ -0,0 +1,30 @@
From c640ff9340f358a00835816d0fea03d27a7be978 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Tue, 31 Mar 2015 00:56:44 -0700
Subject: [PATCH] Makefile: let libso_target depend on bt_rec
Fixed parallel issue:
libtool: link: `bt_rec.lo' is not a valid libtool object
Makefile:867: recipe for target 'libdb-6.0.la' failed
make: *** [libdb-6.0.la] Error 1
Upstream-Status: Pending
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
index e451f70..0a42375 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -863,7 +863,7 @@ $(libdb_version): $(C_OBJS)
$(LN) -s $(libdb_version) $(libdb)
# Shared C library.
-$(libso_target): $(C_OBJS)
+$(libso_target): $(C_OBJS) bt_rec@o@
$(SOLINK) $(SOFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) \
$(LIBCSO_LIBS)
$(RM) $(libdb)

View File

@@ -18,6 +18,7 @@ RCONFLICTS_${PN} = "db3"
SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz"
SRC_URI += "file://arm-thumb-mutex_db5.patch;patchdir=.. \
file://fix-parallel-build.patch \
file://Makefile-let-libso_target-depend-on-bt_rec.patch \
"
SRC_URI[md5sum] = "ad28eb86ad3203b5422844db179c585b"

View File

@@ -144,6 +144,10 @@ class Configuration(object):
if option not in self.repos[name]:
msg = "%s\nOption %s is not defined for component %s" %(msg, option, name)
missing_options.append(option)
# Sanitize dest_dir so that we do not have to deal with edge cases
# (empty string, double slashes) in the rest of the code.
dest_dir = os.path.normpath(self.repos[name]["dest_dir"])
self.repos[name]["dest_dir"] = "." if not dest_dir else dest_dir
if msg != "":
logger.error("configuration file %s has the following error: %s" % (self.conffile,msg))
if self.localconffile and 'last_revision' in missing_options:
@@ -231,7 +235,7 @@ def action_init(conf, args):
pass
initialrev = rev
dest_dir = repo['dest_dir']
if dest_dir and dest_dir != ".":
if dest_dir != ".":
extract_dir = os.path.join(os.getcwd(), dest_dir)
if not os.path.exists(extract_dir):
os.makedirs(extract_dir)
@@ -245,13 +249,16 @@ def action_init(conf, args):
# files already moved, we need to prepend the
# subdirectory to all filters, otherwise they would
# not match.
if subdir:
if subdir == '.':
subdir = ''
elif subdir:
subdir = os.path.normpath(subdir)
file_filter = ' '.join([subdir + '/' + x for x in file_filter.split()])
exclude_patterns = [subdir + '/' + x for x in exclude_patterns]
# To handle both cases, we cd into the target
# directory and optionally tell tar to strip the path
# prefix when the files were already moved.
subdir_components = len(os.path.normpath(subdir).split(os.path.sep)) if subdir else 0
subdir_components = len(subdir.split(os.path.sep)) if subdir else 0
strip=('--strip-components=%d' % subdir_components) if subdir else ''
# TODO: file_filter wild cards do not work (and haven't worked before either), because
# a) GNU tar requires a --wildcards parameter before turning on wild card matching.
@@ -325,7 +332,7 @@ EOF
runcmd('git replace --edit %s' % rev)
# Optional: rewrite history to change commit messages or to move files.
if 'hook' in repo or dest_dir and dest_dir != ".":
if 'hook' in repo or dest_dir != ".":
filter_branch = ['git', 'filter-branch', '--force']
with tempfile.NamedTemporaryFile() as hookwrapper:
if 'hook' in repo:
@@ -353,7 +360,7 @@ tail -c +18 $tmpname | head -c -4
''' % (hook, name))
hookwrapper.flush()
filter_branch.extend(['--msg-filter', 'bash %s' % hookwrapper.name])
if dest_dir and dest_dir != ".":
if dest_dir != ".":
parent = os.path.dirname(dest_dir)
if not parent:
parent = '.'
@@ -371,7 +378,7 @@ tail -c +18 $tmpname | head -c -4
if not os.path.exists(extract_dir):
os.makedirs(extract_dir)
copy_selected_files('HEAD', extract_dir, file_filter, exclude_patterns, '.',
subdir=dest_dir if dest_dir and dest_dir != '.' else '')
subdir=dest_dir)
runcmd('git add --all --force .')
if runcmd('git status --porcelain'):
# Something to commit.
@@ -644,7 +651,7 @@ def action_update(conf, args):
filter = ['filterdiff', '-p1']
for path in exclude.split():
filter.append('-x')
filter.append('%s/%s' % (dest_dir, path) if dest_dir else path)
filter.append('%s/%s' % (dest_dir, path) if dest_dir != '.' else path)
for patch in patchlist[:]:
filtered = patch + '.tmp'
with open(filtered, 'w') as f:
@@ -658,6 +665,10 @@ def action_update(conf, args):
# Empty, ignore it. Must also remove from revlist.
with open(patch, 'r') as f:
fromline = f.readline()
if not fromline:
# Patch must have been empty to start with. No need
# to remove it.
continue
m = re.match(r'''^From ([0-9a-fA-F]+) .*\n''', fromline)
rev = m.group(1)
logger.debug('skipping empty patch %s = %s' % (patch, rev))

View File

@@ -19,7 +19,7 @@
# Locate the netcat binary
SOCAT=$(which socat 2>/dev/null)
if [ $? -ne 0 ]; then
echo "ERROR: socat binary not in PATH"
echo "ERROR: socat binary not in PATH" 1>&2
exit 1
fi
METHOD=""