All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/52] Various metadata tweaks v3
@ 2015-10-22 15:21 Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 01/52] common-licenses: use correct GFDL-1.1 license text Joshua Lock
                   ` (52 more replies)
  0 siblings, 53 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core


The following series are some tidy ups and changes made whilst
porting a distro with systemd and a Weston + Xwayland userland to
Jethro.

Please consider them for inclusion.

Changes since v2:
* Backport weston patch to make enabling/disabling of systemd-login explicit
* Mention the change in default behaviour regarding systemds dbus-related tests

Regards,

Joshua

The following changes since commit 10e5df3503632a6e1c54612055b19f7258c3ae2f:

  lib/oe/image.py: Fix dependency handling for compressed types (2015-10-14 18:08:22 +0300)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib joshuagl/cleanup
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=joshuagl/cleanup

Alejandro Hernandez (1):
  archiver.bbclass: Fixes and improves archiver class for kernel and gcc
    packages

Alex Franco (2):
  test-empty-image: rename from core-image-empty
  sanity.bbclass: expand warning when chmod fails

Benjamin Esquivel (2):
  populate SDK: prepare calling of bb.utils for exceptions
  oeqa/selftest/manifest.py: Test support for manifests

Chen Qi (2):
  openssh: fix file permission for /etc/pam.d/sshd
  sudo: fix file permission for /etc/pam.d/sudo

Chris Hallinan (1):
  image-live: make SYSLINUX_ROOT changable in image recipes

Daniel Istrate (2):
  oeqa/selftest/bbtests: Updated bitbake TCs
  oeqa/selftest/wic: corrected testcase decorator for test18_iso_image

Joe MacDonald (1):
  classes/base: provide hints on PACKAGECONFIG error

Joshua Lock (6):
  systemd: add PACKAGECONFIG to build with compatibility libraries
  weston: add PACKAGECONFIG to build with systemd-login support
  systemd: make dbus an optional build time dependency
  weston: add a PACKAGECONFIG option for xwayland support
  xserver-xorg: add Xwayland RRECOMMENDS
  xserver-xorg: drop empty ${PN}-security-policy package

Kai Kang (1):
  gcc-4.x: fix wrong warning when using the universal zero initializer
    {0}

Khem Raj (1):
  grub-efi, gummiboot: Emit correct path in startup.nsh

Leonardo Sandoval (3):
  oeqa/utils/ftools: Ignore the exception if file does not exist
  oeqa/utils/ftools: From functions that expect data, check if None
  oeqa/selftest/buildoptions: Use the correct script for cleaning the
    workdir

Mariano Lopez (2):
  oetest: Add tearDownLocal class
  oeqa/runtime: Fix setUp and tearDown methods

Mark Hatle (1):
  gcc-5.2: Fix various _FOR_BUILD and related variables

Matt Madison (1):
  i2c-tools: fix inverted RDEPENDS

Maxin B. John (1):
  toolchain-shar-extract.sh: provide proper path for env_setup_script

Paul Eggleton (11):
  common-licenses: use correct GFDL-1.1 license text
  build-compare: drop PATCHTOOL setting
  tzdata: reinstate changes reverted in 2014c upgrade
  devtool: extract: fix error handling
  scripts/gen-lockedsig-cache: fix race with temp file creation
  classes/populate_sdk_ext: consistent indentation
  classes/populate_sdk_ext: prevent image construction from executing on
    install
  classes/populate_sdk_ext: add note to env setup script
  classes/populate_sdk_ext: detect and warn if running in OE environment
  toolchain-shar-extract.sh: print full-length title underline
  devtool: handle virtual providers

Peter Kjellerstedt (1):
  useradd_base.bbclass: Do not warn without a reason

Richard Purdie (2):
  libc-package: Fix localedef multilib dependency issues
  build-appliance-image: Update to jethro head revision

Robert Yang (1):
  coreutils: fix for native and nativesdk

Ross Burton (10):
  linux-yocto-custom: fix typo in Upstream-Status tag
  metadata_scm: rewrite git hash logic
  rpm: remove spurious build dependencies
  qemu: disable Valgrind
  oeqa/selftest/bbtests: clean up local DL_DIR/SSTATE_DIR safely
  oeqa/selftest: verify that devtool can use plugins in other layers
  oeqa/selftest/wic: fix cleaning
  oeqa/selftest: clean up selftest.inc in teardown
  oeqa/selftest/wic: remove numbers from test names
  oeqa/selftest: improve config writing and cleanup

 meta-selftest/lib/devtool/__init__.py              |   0
 meta-selftest/lib/devtool/test.py                  |  11 ++
 .../{core-image-empty.bb => test-empty-image.bb}   |   1 -
 .../0001-linux-version-tweak.patch                 |   2 +-
 meta/classes/archiver.bbclass                      |  27 ++-
 meta/classes/base.bbclass                          |   3 +-
 meta/classes/grub-efi.bbclass                      |   3 +-
 meta/classes/gummiboot.bbclass                     |   3 +-
 meta/classes/image-live.bbclass                    |   2 +-
 meta/classes/libc-package.bbclass                  |   4 +-
 meta/classes/metadata_scm.bbclass                  |  23 +--
 meta/classes/populate_sdk_ext.bbclass              |  18 +-
 meta/classes/sanity.bbclass                        |   4 +-
 meta/classes/useradd_base.bbclass                  |   6 +-
 meta/files/common-licenses/GFDL-1.1                | 206 ++++++++-------------
 meta/files/ext-sdk-prepare.sh                      |  20 ++
 meta/files/toolchain-shar-extract.sh               |   7 +-
 meta/lib/oe/recipeutils.py                         |   6 +-
 meta/lib/oe/sdk.py                                 |  76 +++++---
 meta/lib/oeqa/oetest.py                            |   6 +
 meta/lib/oeqa/runtime/_ptest.py                    |   2 +-
 meta/lib/oeqa/runtime/date.py                      |   4 +-
 meta/lib/oeqa/runtime/kernelmodule.py              |   4 +-
 meta/lib/oeqa/runtime/scanelf.py                   |   2 +-
 meta/lib/oeqa/selftest/base.py                     |   2 +-
 meta/lib/oeqa/selftest/bbtests.py                  |  60 ++++--
 meta/lib/oeqa/selftest/buildoptions.py             |   8 +-
 meta/lib/oeqa/selftest/devtool.py                  |  44 +++++
 meta/lib/oeqa/selftest/imagefeatures.py            |  16 +-
 meta/lib/oeqa/selftest/manifest.py                 | 163 ++++++++++++++++
 meta/lib/oeqa/selftest/wic.py                      |  67 ++++---
 meta/lib/oeqa/utils/ftools.py                      |  20 +-
 meta/recipes-connectivity/openssh/openssh_7.1p1.bb |   2 +-
 meta/recipes-core/coreutils/coreutils_8.24.bb      |   2 +-
 .../images/build-appliance-image_12.0.1.bb         |   2 +-
 meta/recipes-core/systemd/systemd_225.bb           |   4 +-
 .../build-compare/build-compare_git.bb             |   1 -
 meta/recipes-devtools/gcc/gcc-4.8.inc              |   1 +
 ...-gcc-483-universal-initializer-no-warning.patch | 107 +++++++++++
 meta/recipes-devtools/gcc/gcc-4.9.inc              |   1 +
 ...-gcc-483-universal-initializer-no-warning.patch | 107 +++++++++++
 meta/recipes-devtools/gcc/gcc-5.2.inc              |   1 +
 .../gcc/gcc-5.2/0042-cxxflags-for-build.patch      | 123 ++++++++++++
 meta/recipes-devtools/i2c-tools/i2c-tools_3.1.2.bb |   3 +-
 meta/recipes-devtools/qemu/qemu/no-valgrind.patch  |  19 ++
 meta/recipes-devtools/qemu/qemu_2.4.0.bb           |   1 +
 meta/recipes-devtools/rpm/rpm_4.11.2.bb            |   2 +-
 meta/recipes-extended/sudo/sudo_1.8.14p3.bb        |   2 +-
 meta/recipes-extended/tzdata/tzdata_2015g.bb       |   5 +-
 .../weston/explicit-enable-disable-systemd.patch   |  70 +++++++
 .../wayland/weston/libsystemd.patch                |  53 ++++++
 meta/recipes-graphics/wayland/weston_1.8.0.bb      |   8 +-
 .../recipes-graphics/xorg-xserver/xserver-xorg.inc |   8 +-
 scripts/gen-lockedsig-cache                        |   4 +
 scripts/lib/devtool/standard.py                    |  32 +++-
 scripts/lib/devtool/upgrade.py                     |  12 +-
 56 files changed, 1101 insertions(+), 289 deletions(-)
 create mode 100644 meta-selftest/lib/devtool/__init__.py
 create mode 100644 meta-selftest/lib/devtool/test.py
 rename meta-selftest/recipes-test/images/{core-image-empty.bb => test-empty-image.bb} (86%)
 create mode 100644 meta/files/ext-sdk-prepare.sh
 create mode 100644 meta/lib/oeqa/selftest/manifest.py
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.8/0051-gcc-483-universal-initializer-no-warning.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.9/0065-gcc-483-universal-initializer-no-warning.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-5.2/0042-cxxflags-for-build.patch
 create mode 100644 meta/recipes-devtools/qemu/qemu/no-valgrind.patch
 create mode 100644 meta/recipes-graphics/wayland/weston/explicit-enable-disable-systemd.patch
 create mode 100644 meta/recipes-graphics/wayland/weston/libsystemd.patch

-- 
2.1.4



^ permalink raw reply	[flat|nested] 54+ messages in thread

* [PATCH v3 01/52] common-licenses: use correct GFDL-1.1 license text
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 02/52] build-compare: drop PATCHTOOL setting Joshua Lock
                   ` (51 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Paul Eggleton <paul.eggleton@linux.intel.com>

It seems that the GFDL 1.1 license file that was originally committed
was actually the 1.2 version. Replace it with the 1.1 version fetched
from http://www.gnu.org/licenses/old-licenses/fdl-1.1.txt.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/files/common-licenses/GFDL-1.1 | 206 ++++++++++++++----------------------
 1 file changed, 82 insertions(+), 124 deletions(-)

diff --git a/meta/files/common-licenses/GFDL-1.1 b/meta/files/common-licenses/GFDL-1.1
index 4a0fe1c..1d74223 100644
--- a/meta/files/common-licenses/GFDL-1.1
+++ b/meta/files/common-licenses/GFDL-1.1
@@ -1,8 +1,7 @@
-		GNU Free Documentation License
-		  Version 1.2, November 2002
+                GNU Free Documentation License
+                   Version 1.1, March 2000
 
-
- Copyright (C) 2000,2001,2002  Free Software Foundation, Inc.
+ Copyright (C) 2000  Free Software Foundation, Inc.
      51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
@@ -11,12 +10,12 @@
 0. PREAMBLE
 
 The purpose of this License is to make a manual, textbook, or other
-functional and useful document "free" in the sense of freedom: to
-assure everyone the effective freedom to copy and redistribute it,
-with or without modifying it, either commercially or noncommercially.
-Secondarily, this License preserves for the author and publisher a way
-to get credit for their work, while not being considered responsible
-for modifications made by others.
+written document "free" in the sense of freedom: to assure everyone
+the effective freedom to copy and redistribute it, with or without
+modifying it, either commercially or noncommercially.  Secondarily,
+this License preserves for the author and publisher a way to get
+credit for their work, while not being considered responsible for
+modifications made by others.
 
 This License is a kind of "copyleft", which means that derivative
 works of the document must themselves be free in the same sense.  It
@@ -34,15 +33,11 @@ principally for works whose purpose is instruction or reference.
 
 1. APPLICABILITY AND DEFINITIONS
 
-This License applies to any manual or other work, in any medium, that
-contains a notice placed by the copyright holder saying it can be
-distributed under the terms of this License.  Such a notice grants a
-world-wide, royalty-free license, unlimited in duration, to use that
-work under the conditions stated herein.  The "Document", below,
-refers to any such manual or work.  Any member of the public is a
-licensee, and is addressed as "you".  You accept the license if you
-copy, modify or distribute the work in a way requiring permission
-under copyright law.
+This License applies to any manual or other work that contains a
+notice placed by the copyright holder saying it can be distributed
+under the terms of this License.  The "Document", below, refers to any
+such manual or work.  Any member of the public is a licensee, and is
+addressed as "you".
 
 A "Modified Version" of the Document means any work containing the
 Document or a portion of it, either copied verbatim, or with
@@ -52,7 +47,7 @@ A "Secondary Section" is a named appendix or a front-matter section of
 the Document that deals exclusively with the relationship of the
 publishers or authors of the Document to the Document's overall subject
 (or to related matters) and contains nothing that could fall directly
-within that overall subject.  (Thus, if the Document is in part a
+within that overall subject.  (For example, if the Document is in part a
 textbook of mathematics, a Secondary Section may not explain any
 mathematics.)  The relationship could be a matter of historical
 connection with the subject or with related matters, or of legal,
@@ -61,40 +56,33 @@ them.
 
 The "Invariant Sections" are certain Secondary Sections whose titles
 are designated, as being those of Invariant Sections, in the notice
-that says that the Document is released under this License.  If a
-section does not fit the above definition of Secondary then it is not
-allowed to be designated as Invariant.  The Document may contain zero
-Invariant Sections.  If the Document does not identify any Invariant
-Sections then there are none.
+that says that the Document is released under this License.
 
 The "Cover Texts" are certain short passages of text that are listed,
 as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-the Document is released under this License.  A Front-Cover Text may
-be at most 5 words, and a Back-Cover Text may be at most 25 words.
+the Document is released under this License.
 
 A "Transparent" copy of the Document means a machine-readable copy,
 represented in a format whose specification is available to the
-general public, that is suitable for revising the document
+general public, whose contents can be viewed and edited directly and
 straightforwardly with generic text editors or (for images composed of
 pixels) generic paint programs or (for drawings) some widely available
 drawing editor, and that is suitable for input to text formatters or
 for automatic translation to a variety of formats suitable for input
 to text formatters.  A copy made in an otherwise Transparent file
-format whose markup, or absence of markup, has been arranged to thwart
-or discourage subsequent modification by readers is not Transparent.
-An image format is not Transparent if used for any substantial amount
-of text.  A copy that is not "Transparent" is called "Opaque".
+format whose markup has been designed to thwart or discourage
+subsequent modification by readers is not Transparent.  A copy that is
+not "Transparent" is called "Opaque".
 
 Examples of suitable formats for Transparent copies include plain
 ASCII without markup, Texinfo input format, LaTeX input format, SGML
 or XML using a publicly available DTD, and standard-conforming simple
-HTML, PostScript or PDF designed for human modification.  Examples of
-transparent image formats include PNG, XCF and JPG.  Opaque formats
-include proprietary formats that can be read and edited only by
-proprietary word processors, SGML or XML for which the DTD and/or
+HTML designed for human modification.  Opaque formats include
+PostScript, PDF, proprietary formats that can be read and edited only
+by proprietary word processors, SGML or XML for which the DTD and/or
 processing tools are not generally available, and the
-machine-generated HTML, PostScript or PDF produced by some word
-processors for output purposes only.
+machine-generated HTML produced by some word processors for output
+purposes only.
 
 The "Title Page" means, for a printed book, the title page itself,
 plus such following pages as are needed to hold, legibly, the material
@@ -103,21 +91,6 @@ formats which do not have any title page as such, "Title Page" means
 the text near the most prominent appearance of the work's title,
 preceding the beginning of the body of the text.
 
-A section "Entitled XYZ" means a named subunit of the Document whose
-title either is precisely XYZ or contains XYZ in parentheses following
-text that translates XYZ in another language.  (Here XYZ stands for a
-specific section name mentioned below, such as "Acknowledgements",
-"Dedications", "Endorsements", or "History".)  To "Preserve the Title"
-of such a section when you modify the Document means that it remains a
-section "Entitled XYZ" according to this definition.
-
-The Document may include Warranty Disclaimers next to the notice which
-states that this License applies to the Document.  These Warranty
-Disclaimers are considered to be included by reference in this
-License, but only as regards disclaiming warranties: any other
-implication that these Warranty Disclaimers may have is void and has
-no effect on the meaning of this License.
-
 
 2. VERBATIM COPYING
 
@@ -137,10 +110,9 @@ you may publicly display copies.
 
 3. COPYING IN QUANTITY
 
-If you publish printed copies (or copies in media that commonly have
-printed covers) of the Document, numbering more than 100, and the
-Document's license notice requires Cover Texts, you must enclose the
-copies in covers that carry, clearly and legibly, all these Cover
+If you publish printed copies of the Document numbering more than 100,
+and the Document's license notice requires Cover Texts, you must enclose
+the copies in covers that carry, clearly and legibly, all these Cover
 Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
 the back cover.  Both covers must also clearly and legibly identify
 you as the publisher of these copies.  The front cover must present
@@ -158,15 +130,16 @@ pages.
 If you publish or distribute Opaque copies of the Document numbering
 more than 100, you must either include a machine-readable Transparent
 copy along with each Opaque copy, or state in or with each Opaque copy
-a computer-network location from which the general network-using
-public has access to download using public-standard network protocols
-a complete Transparent copy of the Document, free of added material.
-If you use the latter option, you must take reasonably prudent steps,
-when you begin distribution of Opaque copies in quantity, to ensure
-that this Transparent copy will remain thus accessible at the stated
-location until at least one year after the last time you distribute an
-Opaque copy (directly or through your agents or retailers) of that
-edition to the public.
+a publicly-accessible computer-network location containing a complete
+Transparent copy of the Document, free of added material, which the
+general network-using public has access to download anonymously at no
+charge using public-standard network protocols.  If you use the latter
+option, you must take reasonably prudent steps, when you begin
+distribution of Opaque copies in quantity, to ensure that this
+Transparent copy will remain thus accessible at the stated location
+until at least one year after the last time you distribute an Opaque
+copy (directly or through your agents or retailers) of that edition to
+the public.
 
 It is requested, but not required, that you contact the authors of the
 Document well before redistributing any large number of copies, to give
@@ -190,8 +163,7 @@ A. Use in the Title Page (and on the covers, if any) a title distinct
 B. List on the Title Page, as authors, one or more persons or entities
    responsible for authorship of the modifications in the Modified
    Version, together with at least five of the principal authors of the
-   Document (all of its principal authors, if it has fewer than five),
-   unless they release you from this requirement.
+   Document (all of its principal authors, if it has less than five).
 C. State on the Title page the name of the publisher of the
    Modified Version, as the publisher.
 D. Preserve all the copyright notices of the Document.
@@ -203,10 +175,10 @@ F. Include, immediately after the copyright notices, a license notice
 G. Preserve in that license notice the full lists of Invariant Sections
    and required Cover Texts given in the Document's license notice.
 H. Include an unaltered copy of this License.
-I. Preserve the section Entitled "History", Preserve its Title, and add
-   to it an item stating at least the title, year, new authors, and
+I. Preserve the section entitled "History", and its title, and add to
+   it an item stating at least the title, year, new authors, and
    publisher of the Modified Version as given on the Title Page.  If
-   there is no section Entitled "History" in the Document, create one
+   there is no section entitled "History" in the Document, create one
    stating the title, year, authors, and publisher of the Document as
    given on its Title Page, then add an item describing the Modified
    Version as stated in the previous sentence.
@@ -217,18 +189,17 @@ J. Preserve the network location, if any, given in the Document for
    You may omit a network location for a work that was published at
    least four years before the Document itself, or if the original
    publisher of the version it refers to gives permission.
-K. For any section Entitled "Acknowledgements" or "Dedications",
-   Preserve the Title of the section, and preserve in the section all
-   the substance and tone of each of the contributor acknowledgements
+K. In any section entitled "Acknowledgements" or "Dedications",
+   preserve the section's title, and preserve in the section all the
+   substance and tone of each of the contributor acknowledgements
    and/or dedications given therein.
 L. Preserve all the Invariant Sections of the Document,
    unaltered in their text and in their titles.  Section numbers
    or the equivalent are not considered part of the section titles.
-M. Delete any section Entitled "Endorsements".  Such a section
+M. Delete any section entitled "Endorsements".  Such a section
    may not be included in the Modified Version.
-N. Do not retitle any existing section to be Entitled "Endorsements"
+N. Do not retitle any existing section as "Endorsements"
    or to conflict in title with any Invariant Section.
-O. Preserve any Warranty Disclaimers.
 
 If the Modified Version includes new front-matter sections or
 appendices that qualify as Secondary Sections and contain no material
@@ -237,7 +208,7 @@ of these sections as invariant.  To do this, add their titles to the
 list of Invariant Sections in the Modified Version's license notice.
 These titles must be distinct from any other section titles.
 
-You may add a section Entitled "Endorsements", provided it contains
+You may add a section entitled "Endorsements", provided it contains
 nothing but endorsements of your Modified Version by various
 parties--for example, statements of peer review or that the text has
 been approved by an organization as the authoritative definition of a
@@ -265,7 +236,7 @@ License, under the terms defined in section 4 above for modified
 versions, provided that you include in the combination all of the
 Invariant Sections of all of the original documents, unmodified, and
 list them all as Invariant Sections of your combined work in its
-license notice, and that you preserve all their Warranty Disclaimers.
+license notice.
 
 The combined work need only contain one copy of this License, and
 multiple identical Invariant Sections may be replaced with a single
@@ -276,11 +247,11 @@ author or publisher of that section if known, or else a unique number.
 Make the same adjustment to the section titles in the list of
 Invariant Sections in the license notice of the combined work.
 
-In the combination, you must combine any sections Entitled "History"
-in the various original documents, forming one section Entitled
-"History"; likewise combine any sections Entitled "Acknowledgements",
-and any sections Entitled "Dedications".  You must delete all sections
-Entitled "Endorsements".
+In the combination, you must combine any sections entitled "History"
+in the various original documents, forming one section entitled
+"History"; likewise combine any sections entitled "Acknowledgements",
+and any sections entitled "Dedications".  You must delete all sections
+entitled "Endorsements."
 
 
 6. COLLECTIONS OF DOCUMENTS
@@ -301,20 +272,18 @@ other respects regarding verbatim copying of that document.
 
 A compilation of the Document or its derivatives with other separate
 and independent documents or works, in or on a volume of a storage or
-distribution medium, is called an "aggregate" if the copyright
-resulting from the compilation is not used to limit the legal rights
-of the compilation's users beyond what the individual works permit.
-When the Document is included in an aggregate, this License does not
-apply to the other works in the aggregate which are not themselves
-derivative works of the Document.
+distribution medium, does not as a whole count as a Modified Version
+of the Document, provided no compilation copyright is claimed for the
+compilation.  Such a compilation is called an "aggregate", and this
+License does not apply to the other self-contained works thus compiled
+with the Document, on account of their being thus compiled, if they
+are not themselves derivative works of the Document.
 
 If the Cover Text requirement of section 3 is applicable to these
-copies of the Document, then if the Document is less than one half of
-the entire aggregate, the Document's Cover Texts may be placed on
-covers that bracket the Document within the aggregate, or the
-electronic equivalent of covers if the Document is in electronic form.
-Otherwise they must appear on printed covers that bracket the whole
-aggregate.
+copies of the Document, then if the Document is less than one quarter
+of the entire aggregate, the Document's Cover Texts may be placed on
+covers that surround only the Document within the aggregate.
+Otherwise they must appear on covers around the whole aggregate.
 
 
 8. TRANSLATION
@@ -325,17 +294,10 @@ Replacing Invariant Sections with translations requires special
 permission from their copyright holders, but you may include
 translations of some or all Invariant Sections in addition to the
 original versions of these Invariant Sections.  You may include a
-translation of this License, and all the license notices in the
-Document, and any Warranty Disclaimers, provided that you also include
-the original English version of this License and the original versions
-of those notices and disclaimers.  In case of a disagreement between
-the translation and the original version of this License or a notice
-or disclaimer, the original version will prevail.
-
-If a section in the Document is Entitled "Acknowledgements",
-"Dedications", or "History", the requirement (section 4) to Preserve
-its Title (section 1) will typically require changing the actual
-title.
+translation of this License provided that you also include the
+original English version of this License.  In case of a disagreement
+between the translation and the original English version of this
+License, the original English version will prevail.
 
 
 9. TERMINATION
@@ -373,23 +335,19 @@ To use this License in a document you have written, include a copy of
 the License in the document and put the following copyright and
 license notices just after the title page:
 
-    Copyright (c)  YEAR  YOUR NAME.
-    Permission is granted to copy, distribute and/or modify this document
-    under the terms of the GNU Free Documentation License, Version 1.2
-    or any later version published by the Free Software Foundation;
-    with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
-    A copy of the license is included in the section entitled "GNU
-    Free Documentation License".
-
-If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the "with...Texts." line with this:
-
-    with the Invariant Sections being LIST THEIR TITLES, with the
-    Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
-
-If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
+      Copyright (c)  YEAR  YOUR NAME.
+      Permission is granted to copy, distribute and/or modify this document
+      under the terms of the GNU Free Documentation License, Version 1.1
+      or any later version published by the Free Software Foundation;
+      with the Invariant Sections being LIST THEIR TITLES, with the
+      Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+      A copy of the license is included in the section entitled "GNU
+      Free Documentation License".
+
+If you have no Invariant Sections, write "with no Invariant Sections"
+instead of saying which ones are invariant.  If you have no
+Front-Cover Texts, write "no Front-Cover Texts" instead of
+"Front-Cover Texts being LIST"; likewise for Back-Cover Texts.
 
 If your document contains nontrivial examples of program code, we
 recommend releasing these examples in parallel under your choice of
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 02/52] build-compare: drop PATCHTOOL setting
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 01/52] common-licenses: use correct GFDL-1.1 license text Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 03/52] tzdata: reinstate changes reverted in 2014c upgrade Joshua Lock
                   ` (50 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Paul Eggleton <paul.eggleton@linux.intel.com>

We don't need PATCHTOOL to be set to git in this recipe, and setting it
that way requires that the running user has git user & email configured,
which on a build server it might well not be.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-devtools/build-compare/build-compare_git.bb | 1 -
 1 file changed, 1 deletion(-)

diff --git a/meta/recipes-devtools/build-compare/build-compare_git.bb b/meta/recipes-devtools/build-compare/build-compare_git.bb
index 7ac3784..676f11d 100644
--- a/meta/recipes-devtools/build-compare/build-compare_git.bb
+++ b/meta/recipes-devtools/build-compare/build-compare_git.bb
@@ -10,7 +10,6 @@ SRC_URI = "git://github.com/openSUSE/build-compare.git \
            file://Ignore-DWARF-sections.patch;striplevel=1 \
            file://0001-Add-support-for-deb-and-ipk-packaging.patch \
            "
-PATCHTOOL = "git"
 
 SRCREV = "c5352c054c6ef15735da31b76d6d88620f4aff0a"
 
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 03/52] tzdata: reinstate changes reverted in 2014c upgrade
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 01/52] common-licenses: use correct GFDL-1.1 license text Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 02/52] build-compare: drop PATCHTOOL setting Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 04/52] gcc-4.x: fix wrong warning when using the universal zero initializer {0} Joshua Lock
                   ` (49 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Paul Eggleton <paul.eggleton@linux.intel.com>

OE-Core commit 57af3fb9662106f0a65a1b4edf83e2398be0a8f1 upgraded tzdata
but also reverted a couple of changes to SUMMARY and LIC_FILES_CHKSUM.
Reinstate these (with an update to the README md5 value since that has
changed slightly, without any change to the licensing statements
within).

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-extended/tzdata/tzdata_2015g.bb | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-extended/tzdata/tzdata_2015g.bb b/meta/recipes-extended/tzdata/tzdata_2015g.bb
index 039a7c1..5b2afa6 100644
--- a/meta/recipes-extended/tzdata/tzdata_2015g.bb
+++ b/meta/recipes-extended/tzdata/tzdata_2015g.bb
@@ -1,8 +1,9 @@
-DESCRIPTION = "Timezone data"
+SUMMARY = "Timezone data"
 HOMEPAGE = "http://www.iana.org/time-zones"
 SECTION = "base"
 LICENSE = "PD & BSD"
-LIC_FILES_CHKSUM = "file://asia;beginline=2;endline=3;md5=996a9811747aa48db91ed239e5b355a1"
+LIC_FILES_CHKSUM = "file://asia;beginline=2;endline=3;md5=996a9811747aa48db91ed239e5b355a1 \
+                    file://README;md5=d0ff93a73dd5bc3c6e724bb4343760f6"
 DEPENDS = "tzcode-native"
 
 SRC_URI = "ftp://ftp.iana.org/tz/releases/tzdata${PV}.tar.gz;name=tzdata"
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 04/52] gcc-4.x: fix wrong warning when using the universal zero initializer {0}
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (2 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 03/52] tzdata: reinstate changes reverted in 2014c upgrade Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 05/52] coreutils: fix for native and nativesdk Joshua Lock
                   ` (48 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Kai Kang <kai.kang@windriver.com>

When I upgrade efivar to 0.21, it fails to compile with error messages:

| linux.c:850:9: error: missing braces around initializer
[-Werror=missing-braces]
|   struct ifreq ifr = { 0, };
|          ^

It is a known issue of gcc. Backport patch from

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119

to fix wrong warning when using the universal zero initializer {0}.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-devtools/gcc/gcc-4.8.inc              |   1 +
 ...-gcc-483-universal-initializer-no-warning.patch | 107 +++++++++++++++++++++
 meta/recipes-devtools/gcc/gcc-4.9.inc              |   1 +
 ...-gcc-483-universal-initializer-no-warning.patch | 107 +++++++++++++++++++++
 4 files changed, 216 insertions(+)
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.8/0051-gcc-483-universal-initializer-no-warning.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.9/0065-gcc-483-universal-initializer-no-warning.patch

diff --git a/meta/recipes-devtools/gcc/gcc-4.8.inc b/meta/recipes-devtools/gcc/gcc-4.8.inc
index 6a2454d..b3e1c33 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.8.inc
@@ -69,6 +69,7 @@ SRC_URI = "\
     file://0047-repomembug.patch \
     file://0049-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch \
     file://target-gcc-includedir.patch \
+    file://0051-gcc-483-universal-initializer-no-warning.patch \
 "
 SRC_URI[md5sum] = "5a84a30839b2aca22a2d723de2a626ec"
 SRC_URI[sha256sum] = "4a80aa23798b8e9b5793494b8c976b39b8d9aa2e53cd5ed5534aff662a7f8695"
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/0051-gcc-483-universal-initializer-no-warning.patch b/meta/recipes-devtools/gcc/gcc-4.8/0051-gcc-483-universal-initializer-no-warning.patch
new file mode 100644
index 0000000..fde227b
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0051-gcc-483-universal-initializer-no-warning.patch
@@ -0,0 +1,107 @@
+Upstream-Status: Backport
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+Fix for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119
+wrong warning when using the universal zero initializer {0}
+
+Backported to GCC 4.8.3
+
+Subject: 2014-06-05  S. Gilles  <sgilles@terpmail.umd.edu>
+X-Git-Url: http://repo.or.cz/w/official-gcc.git/commitdiff_plain/95cdf3fdf2d440eb7775def8e35ab970651c33d9?hp=14a3093e9943937cbc63dfbf4d51ca60f8325b29
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211289 138bc75d-0d04-0410-961f-82ee72b054a4
+
+--- gcc-4.8.3.org/gcc/c/c-typeck.c	2014-08-03 20:52:09.257042137 +0200
++++ gcc-4.8.3/gcc/c/c-typeck.c	2014-08-03 20:57:10.645042614 +0200
+@@ -62,9 +62,9 @@
+    if expr.original_code == SIZEOF_EXPR.  */
+ tree c_last_sizeof_arg;
+ 
+-/* Nonzero if we've already printed a "missing braces around initializer"
+-   message within this initializer.  */
+-static int missing_braces_mentioned;
++/* Nonzero if we might need to print a "missing braces around
++   initializer" message within this initializer.  */
++static int found_missing_braces;
+ 
+ static int require_constant_value;
+ static int require_constant_elements;
+@@ -6379,6 +6379,9 @@
+ /* 1 if this constructor is erroneous so far.  */
+ static int constructor_erroneous;
+ 
++/* 1 if this constructor is the universal zero initializer { 0 }.  */
++static int constructor_zeroinit;
++
+ /* Structure for managing pending initializer elements, organized as an
+    AVL tree.  */
+ 
+@@ -6540,7 +6543,7 @@
+   constructor_stack = 0;
+   constructor_range_stack = 0;
+ 
+-  missing_braces_mentioned = 0;
++  found_missing_braces = 0;
+ 
+   spelling_base = 0;
+   spelling_size = 0;
+@@ -6635,6 +6638,7 @@
+   constructor_type = type;
+   constructor_incremental = 1;
+   constructor_designated = 0;
++  constructor_zeroinit = 1;
+   designator_depth = 0;
+   designator_erroneous = 0;
+ 
+@@ -6832,11 +6836,8 @@
+ 	set_nonincremental_init (braced_init_obstack);
+     }
+ 
+-  if (implicit == 1 && warn_missing_braces && !missing_braces_mentioned)
+-    {
+-      missing_braces_mentioned = 1;
+-      warning_init (OPT_Wmissing_braces, "missing braces around initializer");
+-    }
++  if (implicit == 1)
++    found_missing_braces = 1;
+ 
+   if (TREE_CODE (constructor_type) == RECORD_TYPE
+ 	   || TREE_CODE (constructor_type) == UNION_TYPE)
+@@ -6969,16 +6970,23 @@
+ 	}
+     }
+ 
++  if (vec_safe_length (constructor_elements) != 1)
++    constructor_zeroinit = 0;
++
++  /* Warn when some structs are initialized with direct aggregation.  */
++  if (!implicit && found_missing_braces && warn_missing_braces
++      && !constructor_zeroinit)
++    {
++      warning_init (OPT_Wmissing_braces,
++		    "missing braces around initializer");
++    }
++
+   /* Warn when some struct elements are implicitly initialized to zero.  */
+   if (warn_missing_field_initializers
+       && constructor_type
+       && TREE_CODE (constructor_type) == RECORD_TYPE
+       && constructor_unfilled_fields)
+     {
+-	bool constructor_zeroinit =
+-	 (vec_safe_length (constructor_elements) == 1
+-	  && integer_zerop ((*constructor_elements)[0].value));
+-
+ 	/* Do not warn for flexible array members or zero-length arrays.  */
+ 	while (constructor_unfilled_fields
+ 	       && (!DECL_SIZE (constructor_unfilled_fields)
+@@ -8093,6 +8101,9 @@
+   designator_depth = 0;
+   designator_erroneous = 0;
+ 
++  if (!implicit && value.value && !integer_zerop (value.value))
++    constructor_zeroinit = 0;
++
+   /* Handle superfluous braces around string cst as in
+      char x[] = {"foo"}; */
+   if (string_flag
diff --git a/meta/recipes-devtools/gcc/gcc-4.9.inc b/meta/recipes-devtools/gcc/gcc-4.9.inc
index 691ba5f..95b553c 100644
--- a/meta/recipes-devtools/gcc/gcc-4.9.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.9.inc
@@ -80,6 +80,7 @@ SRC_URI = "\
     file://0062-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \
     file://0063-nativesdk-gcc-support.patch \
     file://0064-handle-target-sysroot-multilib.patch \
+    file://0065-gcc-483-universal-initializer-no-warning.patch \
 "
 SRC_URI[md5sum] = "6f831b4d251872736e8e9cc09746f327"
 SRC_URI[sha256sum] = "2332b2a5a321b57508b9031354a8503af6fdfb868b8c1748d33028d100a8b67e"
diff --git a/meta/recipes-devtools/gcc/gcc-4.9/0065-gcc-483-universal-initializer-no-warning.patch b/meta/recipes-devtools/gcc/gcc-4.9/0065-gcc-483-universal-initializer-no-warning.patch
new file mode 100644
index 0000000..fde227b
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.9/0065-gcc-483-universal-initializer-no-warning.patch
@@ -0,0 +1,107 @@
+Upstream-Status: Backport
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+Fix for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119
+wrong warning when using the universal zero initializer {0}
+
+Backported to GCC 4.8.3
+
+Subject: 2014-06-05  S. Gilles  <sgilles@terpmail.umd.edu>
+X-Git-Url: http://repo.or.cz/w/official-gcc.git/commitdiff_plain/95cdf3fdf2d440eb7775def8e35ab970651c33d9?hp=14a3093e9943937cbc63dfbf4d51ca60f8325b29
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211289 138bc75d-0d04-0410-961f-82ee72b054a4
+
+--- gcc-4.8.3.org/gcc/c/c-typeck.c	2014-08-03 20:52:09.257042137 +0200
++++ gcc-4.8.3/gcc/c/c-typeck.c	2014-08-03 20:57:10.645042614 +0200
+@@ -62,9 +62,9 @@
+    if expr.original_code == SIZEOF_EXPR.  */
+ tree c_last_sizeof_arg;
+ 
+-/* Nonzero if we've already printed a "missing braces around initializer"
+-   message within this initializer.  */
+-static int missing_braces_mentioned;
++/* Nonzero if we might need to print a "missing braces around
++   initializer" message within this initializer.  */
++static int found_missing_braces;
+ 
+ static int require_constant_value;
+ static int require_constant_elements;
+@@ -6379,6 +6379,9 @@
+ /* 1 if this constructor is erroneous so far.  */
+ static int constructor_erroneous;
+ 
++/* 1 if this constructor is the universal zero initializer { 0 }.  */
++static int constructor_zeroinit;
++
+ /* Structure for managing pending initializer elements, organized as an
+    AVL tree.  */
+ 
+@@ -6540,7 +6543,7 @@
+   constructor_stack = 0;
+   constructor_range_stack = 0;
+ 
+-  missing_braces_mentioned = 0;
++  found_missing_braces = 0;
+ 
+   spelling_base = 0;
+   spelling_size = 0;
+@@ -6635,6 +6638,7 @@
+   constructor_type = type;
+   constructor_incremental = 1;
+   constructor_designated = 0;
++  constructor_zeroinit = 1;
+   designator_depth = 0;
+   designator_erroneous = 0;
+ 
+@@ -6832,11 +6836,8 @@
+ 	set_nonincremental_init (braced_init_obstack);
+     }
+ 
+-  if (implicit == 1 && warn_missing_braces && !missing_braces_mentioned)
+-    {
+-      missing_braces_mentioned = 1;
+-      warning_init (OPT_Wmissing_braces, "missing braces around initializer");
+-    }
++  if (implicit == 1)
++    found_missing_braces = 1;
+ 
+   if (TREE_CODE (constructor_type) == RECORD_TYPE
+ 	   || TREE_CODE (constructor_type) == UNION_TYPE)
+@@ -6969,16 +6970,23 @@
+ 	}
+     }
+ 
++  if (vec_safe_length (constructor_elements) != 1)
++    constructor_zeroinit = 0;
++
++  /* Warn when some structs are initialized with direct aggregation.  */
++  if (!implicit && found_missing_braces && warn_missing_braces
++      && !constructor_zeroinit)
++    {
++      warning_init (OPT_Wmissing_braces,
++		    "missing braces around initializer");
++    }
++
+   /* Warn when some struct elements are implicitly initialized to zero.  */
+   if (warn_missing_field_initializers
+       && constructor_type
+       && TREE_CODE (constructor_type) == RECORD_TYPE
+       && constructor_unfilled_fields)
+     {
+-	bool constructor_zeroinit =
+-	 (vec_safe_length (constructor_elements) == 1
+-	  && integer_zerop ((*constructor_elements)[0].value));
+-
+ 	/* Do not warn for flexible array members or zero-length arrays.  */
+ 	while (constructor_unfilled_fields
+ 	       && (!DECL_SIZE (constructor_unfilled_fields)
+@@ -8093,6 +8101,9 @@
+   designator_depth = 0;
+   designator_erroneous = 0;
+ 
++  if (!implicit && value.value && !integer_zerop (value.value))
++    constructor_zeroinit = 0;
++
+   /* Handle superfluous braces around string cst as in
+      char x[] = {"foo"}; */
+   if (string_flag
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 05/52] coreutils: fix for native and nativesdk
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (3 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 04/52] gcc-4.x: fix wrong warning when using the universal zero initializer {0} Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 06/52] grub-efi, gummiboot: Emit correct path in startup.nsh Joshua Lock
                   ` (47 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Robert Yang <liezhi.yang@windriver.com>

The do_install_append is used for moving/renaming for ALTERNATIVE, but
it breaks native and nativesdk, for example there is no ln, but
ln.coreutils, that makes coreutils-native or nativesdk-coreutils doesn't
work. This patch fixes the problem.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-core/coreutils/coreutils_8.24.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-core/coreutils/coreutils_8.24.bb b/meta/recipes-core/coreutils/coreutils_8.24.bb
index 034ebcd..f042346 100644
--- a/meta/recipes-core/coreutils/coreutils_8.24.bb
+++ b/meta/recipes-core/coreutils/coreutils_8.24.bb
@@ -62,7 +62,7 @@ do_compile_prepend () {
 	mkdir -p ${B}/src
 }
 
-do_install_append() {
+do_install_append_class-target() {
 	for i in df mktemp base64; do mv ${D}${bindir}/$i ${D}${bindir}/$i.${BPN}; done
 
 	install -d ${D}${base_bindir}
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 06/52] grub-efi, gummiboot: Emit correct path in startup.nsh
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (4 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 05/52] coreutils: fix for native and nativesdk Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 07/52] linux-yocto-custom: fix typo in Upstream-Status tag Joshua Lock
                   ` (46 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Khem Raj <raj.khem@gmail.com>

when we generate hddimage and use it to prepare SD card
using scripts/contrib/mkefidisk.sh as described here

http://elinux.org/Minnowboard:MinnowMaxYoctoProject

The content of startup.nsh contains

bootx64.efi

but this file is actually not in same dir as startup.nsh
its in /EFI/BOOT so for this to work entry in startup.nsh
should be

fs0:\EFI\BOOT\bootx64.efi

Otherwise the image is D-O-A

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/classes/grub-efi.bbclass  | 3 ++-
 meta/classes/gummiboot.bbclass | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/meta/classes/grub-efi.bbclass b/meta/classes/grub-efi.bbclass
index 4ddc2bb..9a4220a 100644
--- a/meta/classes/grub-efi.bbclass
+++ b/meta/classes/grub-efi.bbclass
@@ -52,7 +52,8 @@ efi_iso_populate() {
 	mkdir -p ${EFIIMGDIR}/${EFIDIR}
 	cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
 	cp $iso_dir/vmlinuz ${EFIIMGDIR}
-	echo "${GRUB_IMAGE}" > ${EFIIMGDIR}/startup.nsh
+	EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
+	echo "fs0:${EFIPATH}\\${GRUB_IMAGE}" > ${EFIIMGDIR}/startup.nsh
 	if [ -f "$iso_dir/initrd" ] ; then
 		cp $iso_dir/initrd ${EFIIMGDIR}
 	fi
diff --git a/meta/classes/gummiboot.bbclass b/meta/classes/gummiboot.bbclass
index 3d9c08b..9a97ac1 100644
--- a/meta/classes/gummiboot.bbclass
+++ b/meta/classes/gummiboot.bbclass
@@ -46,7 +46,8 @@ efi_iso_populate() {
         mkdir -p ${EFIIMGDIR}/${EFIDIR}
         cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
         cp $iso_dir/vmlinuz ${EFIIMGDIR}
-        echo "${DEST_EFI_IMAGE}" > ${EFIIMGDIR}/startup.nsh
+        EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
+        echo "fs0:${EFIPATH}\\${DEST_EFI_IMAGE}" > ${EFIIMGDIR}/startup.nsh
         if [ -f "$iso_dir/initrd" ] ; then
             cp $iso_dir/initrd ${EFIIMGDIR}
         fi
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 07/52] linux-yocto-custom: fix typo in Upstream-Status tag
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (5 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 06/52] grub-efi, gummiboot: Emit correct path in startup.nsh Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 08/52] metadata_scm: rewrite git hash logic Joshua Lock
                   ` (45 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Ross Burton <ross.burton@intel.com>

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 .../linux/linux-yocto-custom/0001-linux-version-tweak.patch             | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-skeleton/recipes-kernel/linux/linux-yocto-custom/0001-linux-version-tweak.patch b/meta-skeleton/recipes-kernel/linux/linux-yocto-custom/0001-linux-version-tweak.patch
index 39c7ee8..1c88315 100644
--- a/meta-skeleton/recipes-kernel/linux/linux-yocto-custom/0001-linux-version-tweak.patch
+++ b/meta-skeleton/recipes-kernel/linux/linux-yocto-custom/0001-linux-version-tweak.patch
@@ -3,7 +3,7 @@ From: Bruce Ashfield <bruce.ashfield@windriver.com>
 Date: Mon, 11 Jun 2012 15:31:42 -0400
 Subject: [PATCH] linux: version tweak
 
-Upstream-Status: Inapproriate [example code]
+Upstream-Status: Inappropriate [example code]
 
 Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
 Signed-off-by: Saul Wold <sgw@linux.intel.com>
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 08/52] metadata_scm: rewrite git hash logic
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (6 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 07/52] linux-yocto-custom: fix typo in Upstream-Status tag Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 09/52] devtool: extract: fix error handling Joshua Lock
                   ` (44 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Ross Burton <ross.burton@intel.com>

The code to get the git and branch hash for the current commit in a specific
repository was quite complex and prone to breakage, replace it with subprocess
and git rev-parse.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/classes/metadata_scm.bbclass | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/meta/classes/metadata_scm.bbclass b/meta/classes/metadata_scm.bbclass
index 237e618..64465fa 100644
--- a/meta/classes/metadata_scm.bbclass
+++ b/meta/classes/metadata_scm.bbclass
@@ -65,18 +65,19 @@ def base_get_metadata_svn_revision(path, d):
     return revision
 
 def base_get_metadata_git_branch(path, d):
-    branch = os.popen('cd %s; git branch 2>&1 | grep "^* " | tr -d "* "' % path).read()
+    import subprocess
 
-    if len(branch) != 0:
-        return branch
-    return "<unknown>"
+    try:
+        return subprocess.check_output(["git", "rev-parse", "--abbrev-ref", "HEAD"],
+                                       cwd=path).strip()
+    except:
+        return "<unknown>"
 
 def base_get_metadata_git_revision(path, d):
-    f = os.popen("cd %s; git log -n 1 --pretty=oneline -- 2>&1" % path)
-    data = f.read()
-    if f.close() is None:        
-        rev = data.split(" ")[0]
-        if len(rev) != 0:
-            return rev
-    return "<unknown>"
+    import subprocess
 
+    try:
+        return subprocess.check_output(["git", "rev-parse", "HEAD"],
+                                       cwd=path).strip()
+    except:
+        return "<unknown>"
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 09/52] devtool: extract: fix error handling
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (7 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 08/52] metadata_scm: rewrite git hash logic Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 10/52] classes/base: provide hints on PACKAGECONFIG error Joshua Lock
                   ` (43 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Paul Eggleton <paul.eggleton@linux.intel.com>

If recipe parsing fails we need to exit out instead of attempting to use
the data object that's set to None, which resulted in a traceback.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 scripts/lib/devtool/standard.py | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index 6ce3144..5d7e903 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -225,6 +225,9 @@ def extract(args, config, basepath, workspace):
     import bb
 
     tinfoil = _prep_extract_operation(config, basepath, args.recipename)
+    if not tinfoil:
+        # Error already shown
+        return 1
 
     rd = parse_recipe(config, tinfoil, args.recipename, True)
     if not rd:
@@ -271,6 +274,8 @@ def _prep_extract_operation(config, basepath, recipename):
        trying to extract a package. Returns the tinfoil instance to be used."""
     tinfoil = setup_tinfoil(basepath=basepath)
     rd = parse_recipe(config, tinfoil, recipename, True)
+    if not rd:
+        return None
 
     if bb.data.inherits_class('kernel-yocto', rd):
         tinfoil.shutdown()
@@ -500,6 +505,9 @@ def modify(args, config, basepath, workspace):
                            args.srctree)
     if args.extract:
         tinfoil = _prep_extract_operation(config, basepath, args.recipename)
+        if not tinfoil:
+            # Error already shown
+            return 1
     else:
         tinfoil = setup_tinfoil(basepath=basepath)
 
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 10/52] classes/base: provide hints on PACKAGECONFIG error
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (8 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 09/52] devtool: extract: fix error handling Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 11/52] toolchain-shar-extract.sh: provide proper path for env_setup_script Joshua Lock
                   ` (42 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Joe MacDonald <joe_macdonald@mentor.com>

Commit 771f89498c introduces an error message that is very rarely hit and
when it is, it is usually easy to trace the root cause very quickly.  The
information provided in the error message isn't enough to lead you back to
the actual failure, however, so expand upon it a bit, pinpointing the
specific package and flag that fails.

Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/classes/base.bbclass | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index f078001..d711ae4 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -391,7 +391,8 @@ python () {
             items = flagval.split(",")
             num = len(items)
             if num > 4:
-                bb.error("Only enable,disable,depend,rdepend can be specified!")
+                bb.error("%s: PACKAGECONFIG[%s] Only enable,disable,depend,rdepend can be specified!"
+                    % (d.getVar('PN', True), flag))
 
             if flag in pkgconfig:
                 if num >= 3 and items[2]:
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 11/52] toolchain-shar-extract.sh: provide proper path for env_setup_script
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (9 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 10/52] classes/base: provide hints on PACKAGECONFIG error Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 12/52] image-live: make SYSLINUX_ROOT changable in image recipes Joshua Lock
                   ` (41 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: "Maxin B. John" <maxin.john@intel.com>

The toolchain install script suggest the user to source env_setup_script
from wrong path now. eg:

" Each time you wish to use the SDK in a new shell session, you need to
source the environment setup script e.g.
$ . /opt/poky/2.0//opt/poky/2.0/environment-setup-armv5e-poky-linux-gnueabi
"

fix it.

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/files/toolchain-shar-extract.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/files/toolchain-shar-extract.sh b/meta/files/toolchain-shar-extract.sh
index 2ffc2d1..2eeb290 100644
--- a/meta/files/toolchain-shar-extract.sh
+++ b/meta/files/toolchain-shar-extract.sh
@@ -183,7 +183,7 @@ fi
 echo "SDK has been successfully set up and is ready to be used."
 echo "Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g."
 for env_setup_script in `ls $target_sdk_dir/environment-setup-*`; do
-	echo " \$ . $target_sdk_dir/$env_setup_script"
+	echo " \$ . $env_setup_script"
 done
 
 exit 0
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 12/52] image-live: make SYSLINUX_ROOT changable in image recipes
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (10 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 11/52] toolchain-shar-extract.sh: provide proper path for env_setup_script Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 13/52] scripts/gen-lockedsig-cache: fix race with temp file creation Joshua Lock
                   ` (40 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Chris Hallinan <challinan@gmail.com>

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/classes/image-live.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/image-live.bbclass b/meta/classes/image-live.bbclass
index fa7a131..23e4a5c 100644
--- a/meta/classes/image-live.bbclass
+++ b/meta/classes/image-live.bbclass
@@ -2,7 +2,7 @@
 AUTO_SYSLINUXCFG = "1"
 INITRD_IMAGE ?= "core-image-minimal-initramfs"
 INITRD ?= "${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE}-${MACHINE}.cpio.gz"
-SYSLINUX_ROOT = "root=/dev/ram0"
+SYSLINUX_ROOT ?= "root=/dev/ram0"
 SYSLINUX_TIMEOUT ?= "50"
 SYSLINUX_LABELS ?= "boot install"
 LABELS_append = " ${SYSLINUX_LABELS} "
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 13/52] scripts/gen-lockedsig-cache: fix race with temp file creation
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (11 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 12/52] image-live: make SYSLINUX_ROOT changable in image recipes Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 14/52] test-empty-image: rename from core-image-empty Joshua Lock
                   ` (39 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Paul Eggleton <paul.eggleton@linux.intel.com>

As part of populating the sstate-cache with an artifact (.tgz file) we
create a temp file and then atomically move it to the final name. Due to
the glob used in this script such temp files were being matched, and
between the time they were matched and the time the script started
copying files, the temp file may have vanished.

This fixes random "No such file or directory" failures building the
extensible SDK on build setups where the sstate-cache directory is shared
amongst multiple build machines.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 scripts/gen-lockedsig-cache | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/scripts/gen-lockedsig-cache b/scripts/gen-lockedsig-cache
index c93b2c0..806c1e4 100755
--- a/scripts/gen-lockedsig-cache
+++ b/scripts/gen-lockedsig-cache
@@ -34,6 +34,10 @@ for s in sigs:
     files |= set(glob.glob(p))
 
 for f in files:
+    _, ext = os.path.splitext(f)
+    if not ext in ['.tgz', '.siginfo', '.sig']:
+        # Most likely a temp file, skip it
+        continue
     dst = f.replace(sys.argv[2], sys.argv[3])
     destdir = os.path.dirname(dst)
     mkdir(destdir)
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 14/52] test-empty-image: rename from core-image-empty
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (12 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 13/52] scripts/gen-lockedsig-cache: fix race with temp file creation Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 15/52] oetest: Add tearDownLocal class Joshua Lock
                   ` (38 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Alex Franco <alejandro.franco@linux.intel.com>

As the empty image isn't a "core" image, and it's meant for testing

Additionally, don't set LICENSE as it is inherited from image

[YOCTO #7664]

Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 .../recipes-test/images/{core-image-empty.bb => test-empty-image.bb}     | 1 -
 1 file changed, 1 deletion(-)
 rename meta-selftest/recipes-test/images/{core-image-empty.bb => test-empty-image.bb} (86%)

diff --git a/meta-selftest/recipes-test/images/core-image-empty.bb b/meta-selftest/recipes-test/images/test-empty-image.bb
similarity index 86%
rename from meta-selftest/recipes-test/images/core-image-empty.bb
rename to meta-selftest/recipes-test/images/test-empty-image.bb
index 550567c..88d8d61 100644
--- a/meta-selftest/recipes-test/images/core-image-empty.bb
+++ b/meta-selftest/recipes-test/images/test-empty-image.bb
@@ -2,6 +2,5 @@ SUMMARY = "An empty image."
 IMAGE_INSTALL = ""
 IMAGE_LINGUAS = ""
 PACKAGE_INSTALL = ""
-LICENSE = "MIT"
 
 inherit image
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 15/52] oetest: Add tearDownLocal class
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (13 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 14/52] test-empty-image: rename from core-image-empty Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 16/52] oeqa/runtime: Fix setUp and tearDown methods Joshua Lock
                   ` (37 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Mariano Lopez <mariano.lopez@linux.intel.com>

In the current state there are some runtime test that
don't run the tearDown method fromm oeRuntimeTest class
because the tearDown class is overwritten in the child
class.

This change adds tearDownLocal method in oeRuntimeTest
class that will run after tearDown. This method can be
overwritten in the child classes to implement specific
test functionality.

[YOCTO #8465]

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/lib/oeqa/oetest.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py
index e3bbc46..6f9edec 100644
--- a/meta/lib/oeqa/oetest.py
+++ b/meta/lib/oeqa/oetest.py
@@ -196,6 +196,12 @@ class oeRuntimeTest(oeTest):
             print ("%s dump data stored in %s" % (self._testMethodName,
                      self.tc.host_dumper.dump_dir))
 
+        self.tearDownLocal()
+
+    # Method to be run after tearDown and implemented by child classes
+    def tearDownLocal(self):
+        pass
+
     #TODO: use package_manager.py to install packages on any type of image
     def install_packages(self, packagelist):
         for package in packagelist:
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 16/52] oeqa/runtime: Fix setUp and tearDown methods
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (14 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 15/52] oetest: Add tearDownLocal class Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 17/52] classes/populate_sdk_ext: consistent indentation Joshua Lock
                   ` (36 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Mariano Lopez <mariano.lopez@linux.intel.com>

Currently some of the runtime test overwrites
the setUp and tearDown methods provided by
oeRuntimeTest, this will avoid some checks
required when running the test suit.

This patch changes the setUp and tearDown methods
for their local counterparts, so when these
tests are called, it will run the parent setUp
and tearDown and also the local ones.

[YOCTO #8465]

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/lib/oeqa/runtime/_ptest.py       | 2 +-
 meta/lib/oeqa/runtime/date.py         | 4 ++--
 meta/lib/oeqa/runtime/kernelmodule.py | 4 ++--
 meta/lib/oeqa/runtime/scanelf.py      | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/meta/lib/oeqa/runtime/_ptest.py b/meta/lib/oeqa/runtime/_ptest.py
index 81c9c43..0621028 100644
--- a/meta/lib/oeqa/runtime/_ptest.py
+++ b/meta/lib/oeqa/runtime/_ptest.py
@@ -98,7 +98,7 @@ class PtestRunnerTest(oeRuntimeTest):
 
         return complementary_pkgs.split()
 
-    def setUp(self):
+    def setUpLocal(self):
         self.ptest_log = os.path.join(oeRuntimeTest.tc.d.getVar("TEST_LOG_DIR",True), "ptest-%s.log" % oeRuntimeTest.tc.d.getVar('DATETIME', True))
 
     @skipUnlessPassed('test_ssh')
diff --git a/meta/lib/oeqa/runtime/date.py b/meta/lib/oeqa/runtime/date.py
index 3a8fe84..447987e 100644
--- a/meta/lib/oeqa/runtime/date.py
+++ b/meta/lib/oeqa/runtime/date.py
@@ -4,11 +4,11 @@ import re
 
 class DateTest(oeRuntimeTest):
 
-    def setUp(self):
+    def setUpLocal(self):
         if oeRuntimeTest.tc.d.getVar("VIRTUAL-RUNTIME_init_manager", True) == "systemd":
             self.target.run('systemctl stop systemd-timesyncd')
 
-    def tearDown(self):
+    def tearDownLocal(self):
         if oeRuntimeTest.tc.d.getVar("VIRTUAL-RUNTIME_init_manager", True) == "systemd":
             self.target.run('systemctl start systemd-timesyncd')
 
diff --git a/meta/lib/oeqa/runtime/kernelmodule.py b/meta/lib/oeqa/runtime/kernelmodule.py
index 2e81720..38ca184 100644
--- a/meta/lib/oeqa/runtime/kernelmodule.py
+++ b/meta/lib/oeqa/runtime/kernelmodule.py
@@ -10,7 +10,7 @@ def setUpModule():
 
 class KernelModuleTest(oeRuntimeTest):
 
-    def setUp(self):
+    def setUpLocal(self):
         self.target.copy_to(os.path.join(oeRuntimeTest.tc.filesdir, "hellomod.c"), "/tmp/hellomod.c")
         self.target.copy_to(os.path.join(oeRuntimeTest.tc.filesdir, "hellomod_makefile"), "/tmp/Makefile")
 
@@ -30,5 +30,5 @@ class KernelModuleTest(oeRuntimeTest):
             (status, output) = self.target.run(cmd, 900)
             self.assertEqual(status, 0, msg="\n".join([cmd, output]))
 
-    def tearDown(self):
+    def tearDownLocal(self):
         self.target.run('rm -f /tmp/Makefile /tmp/hellomod.c')
diff --git a/meta/lib/oeqa/runtime/scanelf.py b/meta/lib/oeqa/runtime/scanelf.py
index 43a024a..67e02ff 100644
--- a/meta/lib/oeqa/runtime/scanelf.py
+++ b/meta/lib/oeqa/runtime/scanelf.py
@@ -8,7 +8,7 @@ def setUpModule():
 
 class ScanelfTest(oeRuntimeTest):
 
-    def setUp(self):
+    def setUpLocal(self):
         self.scancmd = 'scanelf --quiet --recursive --mount --ldpath --path'
 
     @testcase(966)
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 17/52] classes/populate_sdk_ext: consistent indentation
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (15 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 16/52] oeqa/runtime: Fix setUp and tearDown methods Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 18/52] classes/populate_sdk_ext: prevent image construction from executing on install Joshua Lock
                   ` (35 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Paul Eggleton <paul.eggleton@linux.intel.com>

Make indentation consistent here in preparation for the changes that
follow.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/classes/populate_sdk_ext.bbclass | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index c244d93..90033ba 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -238,11 +238,11 @@ sdk_ext_postinst() {
 	mv *-nativesdk-libc.tar.* $target_sdk_dir/`dirname ${oe_init_build_env_path}`
 
 	if [ "$prepare_buildsystem" != "no" ]; then
-	    printf "Preparing build system...\n"
-	    # 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* > 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 ; }
+		printf "Preparing build system...\n"
+		# 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* > 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 ; }
 	fi
 	echo done
 }
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 18/52] classes/populate_sdk_ext: prevent image construction from executing on install
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (16 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 17/52] classes/populate_sdk_ext: consistent indentation Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 19/52] classes/populate_sdk_ext: add note to env setup script Joshua Lock
                   ` (34 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Paul Eggleton <paul.eggleton@linux.intel.com>

In order to prepare the build system within the extensible SDK, we
actually go ahead and build the targets specified by SDK_TARGETS (by
default the image the SDK was built for). Assuming that's an image, we
don't actually need to build the image itself - we just need to have
everything done up to the point before building the image, so that we
have everything needed in the sysroot.

In order to do this, create temporary bbappends for each of the targets
in the workspace layer that stub out do_rootfs and related tasks if they
exist. This is a little bit of a hack but is the least intrusive fix at
this point. To make things a bit tidier, I have split out the
preparation commands into a separate script so we can run that in the
appropriate environment rather than all the commands separately.

Fixes [YOCTO #7590].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/classes/populate_sdk_ext.bbclass |  5 ++++-
 meta/files/ext-sdk-prepare.sh         | 20 ++++++++++++++++++++
 2 files changed, 24 insertions(+), 1 deletion(-)
 create mode 100644 meta/files/ext-sdk-prepare.sh

diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index 90033ba..0feb3b2 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -203,6 +203,8 @@ install_tools() {
 	install $buildtools_path ${SDK_OUTPUT}/${SDKPATH}
 
 	install ${SDK_DEPLOY}/${BUILD_ARCH}-nativesdk-libc.tar.bz2 ${SDK_OUTPUT}/${SDKPATH}
+
+	install -m 0755 ${COREBASE}/meta/files/ext-sdk-prepare.sh ${SDK_OUTPUT}/${SDKPATH}
 }
 
 # Since bitbake won't run as root it doesn't make sense to try and install
@@ -242,8 +244,9 @@ 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* > 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 ; }
+		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 && $target_sdk_dir/ext-sdk-prepare.sh $target_sdk_dir '${SDK_TARGETS}' >> preparing_build_system.log 2>&1" || { echo "SDK preparation failed: see `pwd`/preparing_build_system.log" ; exit 1 ; }
 	fi
+	rm -f $target_sdk_dir/ext-sdk-prepare.sh
 	echo done
 }
 
diff --git a/meta/files/ext-sdk-prepare.sh b/meta/files/ext-sdk-prepare.sh
new file mode 100644
index 0000000..160c71e
--- /dev/null
+++ b/meta/files/ext-sdk-prepare.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+# Prepare the build system within the extensible SDK
+
+target_sdk_dir="$1"
+sdk_targets="$2"
+
+# Avoid actually building images during this phase, but still
+# ensure all dependencies are extracted from sstate
+# This is a hack, to be sure, but we really don't need to do this here
+for sdktarget in $sdk_targets ; do
+	bbappend=`recipetool newappend $target_sdk_dir/workspace $sdktarget`
+	printf 'python do_rootfs_forcevariable () {\n    bb.utils.mkdirhier(d.getVar("IMAGE_ROOTFS", True))\n}\n' > $bbappend
+	printf 'python do_bootimg () {\n    pass\n}\n' >> $bbappend
+	printf 'python do_bootdirectdisk () {\n    pass\n}\n' >> $bbappend
+	printf 'python do_vmimg () {\n    pass\n}\n' >> $bbappend
+	printf "Created bbappend %s\n" "$bbappend"
+done
+bitbake $sdk_targets || exit 1
+rm -rf $target_sdk_dir/workspace/appends/*
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 19/52] classes/populate_sdk_ext: add note to env setup script
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (17 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 18/52] classes/populate_sdk_ext: prevent image construction from executing on install Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 20/52] classes/populate_sdk_ext: detect and warn if running in OE environment Joshua Lock
                   ` (33 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Paul Eggleton <paul.eggleton@linux.intel.com>

Print a note at the end of the environment setup script pointing to
devtool.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/classes/populate_sdk_ext.bbclass | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index 0feb3b2..060a44a 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -236,6 +236,8 @@ sdk_ext_postinst() {
 	# so put it at the end of $PATH.
 	echo "export PATH=\$PATH:$target_sdk_dir/sysroots/${SDK_SYS}/${bindir_nativesdk}" >> $env_setup_script
 
+	echo "printf 'SDK environment now set up; additionally you may now run devtool to perform development tasks.\nRun devtool --help for further details.\n'" >> $env_setup_script
+
 	# For now this is where uninative.bbclass expects the tarball
 	mv *-nativesdk-libc.tar.* $target_sdk_dir/`dirname ${oe_init_build_env_path}`
 
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 20/52] classes/populate_sdk_ext: detect and warn if running in OE environment
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (18 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 19/52] classes/populate_sdk_ext: add note to env setup script Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 21/52] toolchain-shar-extract.sh: print full-length title underline Joshua Lock
                   ` (32 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Paul Eggleton <paul.eggleton@linux.intel.com>

If you run the extensible SDK environment setup script in a shell
session where oe-init-build-env has been run already, and attempt to use
the two together, strange things happen - you may not even be running
devtool from the extensible SDK, but the OE tree. This isn't a supported
use case anyway, so show a warning recommending starting a new shell
session.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/classes/populate_sdk_ext.bbclass | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index 060a44a..249ec36 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -238,6 +238,9 @@ sdk_ext_postinst() {
 
 	echo "printf 'SDK environment now set up; additionally you may now run devtool to perform development tasks.\nRun devtool --help for further details.\n'" >> $env_setup_script
 
+	# Warn if trying to use external bitbake and the ext SDK together
+	echo "(which bitbake > /dev/null 2>&1 && echo 'WARNING: attempting to use the extensible SDK in an environment set up to run bitbake - this may lead to unexpected results. Please source this script in a new shell session instead.') || true" >> $env_setup_script
+
 	# For now this is where uninative.bbclass expects the tarball
 	mv *-nativesdk-libc.tar.* $target_sdk_dir/`dirname ${oe_init_build_env_path}`
 
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 21/52] toolchain-shar-extract.sh: print full-length title underline
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (19 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 20/52] classes/populate_sdk_ext: detect and warn if running in OE environment Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 22/52] libc-package: Fix localedef multilib dependency issues Joshua Lock
                   ` (31 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Paul Eggleton <paul.eggleton@linux.intel.com>

Print a line that's the full length of the title that it's underneath.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/files/toolchain-shar-extract.sh | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/files/toolchain-shar-extract.sh b/meta/files/toolchain-shar-extract.sh
index 2eeb290..98b9f1c 100644
--- a/meta/files/toolchain-shar-extract.sh
+++ b/meta/files/toolchain-shar-extract.sh
@@ -68,8 +68,9 @@ while getopts ":yd:nDRS" OPT; do
 	esac
 done
 
-echo "@SDK_TITLE@ installer version @SDK_VERSION@"
-echo "==========================================================="
+titlestr="@SDK_TITLE@ installer version @SDK_VERSION@"
+printf "%s\n" "$titlestr"
+printf "%${#titlestr}s\n" | tr " " "="
 
 if [ $verbose = 1 ] ; then
 	set -x
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 22/52] libc-package: Fix localedef multilib dependency issues
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (20 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 21/52] toolchain-shar-extract.sh: print full-length title underline Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 23/52] devtool: handle virtual providers Joshua Lock
                   ` (30 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Richard Purdie <richard.purdie@linuxfoundation.org>

Building nativesdk-glibc-locale results in many messages like:

QA Issue: nativesdk-locale-base-en-sg rdepends on localedef, but it isn't a build dependency? [build-deps]

It should depend on ${MLPREFIX}localedef, not just localedef
to fix these warnings.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/classes/libc-package.bbclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass
index 47be691..adb4230 100644
--- a/meta/classes/libc-package.bbclass
+++ b/meta/classes/libc-package.bbclass
@@ -236,8 +236,8 @@ python package_do_split_gconvs () {
                 supported[locale] = charset
 
     def output_locale_source(name, pkgname, locale, encoding):
-        d.setVar('RDEPENDS_%s' % pkgname, 'localedef %s-localedata-%s %s-charmap-%s' % \
-        (mlprefix+bpn, legitimize_package_name(locale), mlprefix+bpn, legitimize_package_name(encoding)))
+        d.setVar('RDEPENDS_%s' % pkgname, '%slocaledef %s-localedata-%s %s-charmap-%s' % \
+        (mlprefix, mlprefix+bpn, legitimize_package_name(locale), mlprefix+bpn, legitimize_package_name(encoding)))
         d.setVar('pkg_postinst_%s' % pkgname, d.getVar('locale_base_postinst', True) \
         % (locale, encoding, locale))
         d.setVar('pkg_postrm_%s' % pkgname, d.getVar('locale_base_postrm', True) % \
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 23/52] devtool: handle virtual providers
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (21 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 22/52] libc-package: Fix localedef multilib dependency issues Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 24/52] populate SDK: prepare calling of bb.utils for exceptions Joshua Lock
                   ` (29 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Paul Eggleton <paul.eggleton@linux.intel.com>

For modify / extract / upgrade, if the specified "recipe" is not
actually a recipe but a virtual target such as virtual/kernel, map it
correctly to the actual recipe and make sure we use that name within the
workspace. Thanks to Chris Larson for reminding me this was still broken
and for a hint on how to fix it.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/lib/oe/recipeutils.py        |  6 +++++-
 meta/lib/oeqa/selftest/devtool.py | 32 ++++++++++++++++++++++++++++++++
 scripts/lib/devtool/standard.py   | 24 ++++++++++++++++++------
 scripts/lib/devtool/upgrade.py    | 12 +++++++++---
 4 files changed, 64 insertions(+), 10 deletions(-)

diff --git a/meta/lib/oe/recipeutils.py b/meta/lib/oe/recipeutils.py
index 207c300..119a688 100644
--- a/meta/lib/oe/recipeutils.py
+++ b/meta/lib/oe/recipeutils.py
@@ -31,9 +31,13 @@ def pn_to_recipe(cooker, pn):
     import bb.providers
 
     if pn in cooker.recipecache.pkg_pn:
-        filenames = cooker.recipecache.pkg_pn[pn]
         best = bb.providers.findBestProvider(pn, cooker.data, cooker.recipecache, cooker.recipecache.pkg_pn)
         return best[3]
+    elif pn in cooker.recipecache.providers:
+        filenames = cooker.recipecache.providers[pn]
+        eligible, foundUnique = bb.providers.filterProviders(filenames, pn, cooker.expanded_data, cooker.recipecache)
+        filename = eligible[0]
+        return filename
     else:
         return None
 
diff --git a/meta/lib/oeqa/selftest/devtool.py b/meta/lib/oeqa/selftest/devtool.py
index baa56d6..e4de309 100644
--- a/meta/lib/oeqa/selftest/devtool.py
+++ b/meta/lib/oeqa/selftest/devtool.py
@@ -466,6 +466,28 @@ class DevtoolTests(DevtoolBase):
         # Try building
         bitbake(testrecipe)
 
+    def test_devtool_modify_virtual(self):
+        # Try modifying a virtual recipe
+        virtrecipe = 'virtual/libx11'
+        realrecipe = 'libx11'
+        tempdir = tempfile.mkdtemp(prefix='devtoolqa')
+        self.track_for_cleanup(tempdir)
+        self.track_for_cleanup(self.workspacedir)
+        self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
+        result = runCmd('devtool modify %s -x %s' % (virtrecipe, tempdir))
+        self.assertTrue(os.path.exists(os.path.join(tempdir, 'Makefile.am')), 'Extracted source could not be found')
+        self.assertTrue(os.path.exists(os.path.join(self.workspacedir, 'conf', 'layer.conf')), 'Workspace directory not created')
+        matches = glob.glob(os.path.join(self.workspacedir, 'appends', '%s_*.bbappend' % realrecipe))
+        self.assertTrue(matches, 'bbappend not created %s' % result.output)
+        # Test devtool status
+        result = runCmd('devtool status')
+        self.assertNotIn(virtrecipe, result.output)
+        self.assertIn(realrecipe, result.output)
+        # Check git repo
+        self._check_src_repo(tempdir)
+        # This is probably sufficient
+
+
     @testcase(1169)
     def test_devtool_update_recipe(self):
         # Check preconditions
@@ -805,6 +827,16 @@ class DevtoolTests(DevtoolBase):
         self.assertTrue(os.path.exists(os.path.join(tempdir, 'Makefile.am')), 'Extracted source could not be found')
         self._check_src_repo(tempdir)
 
+    def test_devtool_extract_virtual(self):
+        tempdir = tempfile.mkdtemp(prefix='devtoolqa')
+        # Try devtool extract
+        self.track_for_cleanup(tempdir)
+        self.track_for_cleanup(self.workspacedir)
+        self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
+        result = runCmd('devtool extract virtual/libx11 %s' % tempdir)
+        self.assertTrue(os.path.exists(os.path.join(tempdir, 'Makefile.am')), 'Extracted source could not be found')
+        self._check_src_repo(tempdir)
+
     @testcase(1168)
     def test_devtool_reset_all(self):
         tempdir = tempfile.mkdtemp(prefix='devtoolqa')
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index 5d7e903..1285974 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -45,6 +45,10 @@ def add(args, config, basepath, workspace):
     if reason:
         raise DevtoolError(reason)
 
+    # FIXME this ought to be in validate_pn but we're using that in other contexts
+    if '/' in args.recipename:
+        raise DevtoolError('"/" is not a valid character in recipe names')
+
     srctree = os.path.abspath(args.srctree)
     if os.path.exists(srctree):
         if args.fetch:
@@ -514,6 +518,14 @@ def modify(args, config, basepath, workspace):
     rd = parse_recipe(config, tinfoil, args.recipename, True)
     if not rd:
         return 1
+
+    pn = rd.getVar('PN', True)
+    if pn != args.recipename:
+        logger.info('Mapping %s to %s' % (args.recipename, pn))
+    if pn in workspace:
+        raise DevtoolError("recipe %s is already in your workspace" %
+                           pn)
+
     recipefile = rd.getVar('FILE', True)
     appendname = os.path.splitext(os.path.basename(recipefile))[0]
     if args.wildcard:
@@ -524,9 +536,9 @@ def modify(args, config, basepath, workspace):
         raise DevtoolError("Another variant of recipe %s is already in your "
                            "workspace (only one variant of a recipe can "
                            "currently be worked on at once)"
-                           % args.recipename)
+                           % pn)
 
-    _check_compatible_recipe(args.recipename, rd)
+    _check_compatible_recipe(pn, rd)
 
     initial_rev = None
     commits = []
@@ -574,11 +586,11 @@ def modify(args, config, basepath, workspace):
 
         f.write('\ninherit externalsrc\n')
         f.write('# NOTE: We use pn- overrides here to avoid affecting multiple variants in the case where the recipe uses BBCLASSEXTEND\n')
-        f.write('EXTERNALSRC_pn-%s = "%s"\n' % (args.recipename, srctree))
+        f.write('EXTERNALSRC_pn-%s = "%s"\n' % (pn, srctree))
 
         b_is_s = use_external_build(args.same_dir, args.no_same_dir, rd)
         if b_is_s:
-            f.write('EXTERNALSRC_BUILD_pn-%s = "%s"\n' % (args.recipename, srctree))
+            f.write('EXTERNALSRC_BUILD_pn-%s = "%s"\n' % (pn, srctree))
 
         if bb.data.inherits_class('kernel', rd):
             f.write('SRCTREECOVEREDTASKS = "do_validate_branches do_kernel_checkout do_fetch do_unpack"\n')
@@ -587,9 +599,9 @@ def modify(args, config, basepath, workspace):
             for commit in commits:
                 f.write('# commit: %s\n' % commit)
 
-    _add_md5(config, args.recipename, appendfile)
+    _add_md5(config, pn, appendfile)
 
-    logger.info('Recipe %s now set up to build from %s' % (args.recipename, srctree))
+    logger.info('Recipe %s now set up to build from %s' % (pn, srctree))
 
     return 0
 
diff --git a/scripts/lib/devtool/upgrade.py b/scripts/lib/devtool/upgrade.py
index 4f850cf..d387623 100644
--- a/scripts/lib/devtool/upgrade.py
+++ b/scripts/lib/devtool/upgrade.py
@@ -300,7 +300,13 @@ def upgrade(args, config, basepath, workspace):
     if not rd:
         return 1
 
-    standard._check_compatible_recipe(args.recipename, rd)
+    pn = rd.getVar('PN', True)
+    if pn != args.recipename:
+        logger.info('Mapping %s to %s' % (args.recipename, pn))
+    if pn in workspace:
+        raise DevtoolError("recipe %s is already in your workspace" % pn)
+
+    standard._check_compatible_recipe(pn, rd)
     if rd.getVar('PV', True) == args.version and rd.getVar('SRCREV', True) == args.srcrev:
         raise DevtoolError("Current and upgrade versions are the same version" % version)
 
@@ -315,11 +321,11 @@ def upgrade(args, config, basepath, workspace):
         _upgrade_error(e, rf, args.srctree)
     except DevtoolError as e:
         _upgrade_error(e, rf, args.srctree)
-    standard._add_md5(config, args.recipename, os.path.dirname(rf))
+    standard._add_md5(config, pn, os.path.dirname(rf))
 
     af = _write_append(rf, args.srctree, args.same_dir, args.no_same_dir, rev2,
                        config.workspace_path, rd)
-    standard._add_md5(config, args.recipename, af)
+    standard._add_md5(config, pn, af)
     logger.info('Upgraded source extracted to %s' % args.srctree)
     return 0
 
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 24/52] populate SDK: prepare calling of bb.utils for exceptions
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (22 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 23/52] devtool: handle virtual providers Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 25/52] sanity.bbclass: expand warning when chmod fails Joshua Lock
                   ` (28 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Benjamin Esquivel <benjamin.esquivel@linux.intel.com>

bb.utils.remove, bb.utils.movefile and bb.utils.mkdirhier can throw
exceptions that need handling and proper error messages
more work is required for these methods to handle properly the
exceptions that can be raised within the various OS calls they make
but this is a start to at least not hide the errors in the requested
operations

[YOCTO#8213]

Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/lib/oe/sdk.py | 76 +++++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 52 insertions(+), 24 deletions(-)

diff --git a/meta/lib/oe/sdk.py b/meta/lib/oe/sdk.py
index 53da0f0..3103f48 100644
--- a/meta/lib/oe/sdk.py
+++ b/meta/lib/oe/sdk.py
@@ -5,6 +5,7 @@ from oe.package_manager import *
 import os
 import shutil
 import glob
+import traceback
 
 
 class Sdk(object):
@@ -25,7 +26,7 @@ class Sdk(object):
         else:
             self.manifest_dir = manifest_dir
 
-        bb.utils.remove(self.sdk_output, True)
+        self.remove(self.sdk_output, True)
 
         self.install_order = Manifest.INSTALL_ORDER
 
@@ -34,29 +35,56 @@ class Sdk(object):
         pass
 
     def populate(self):
-        bb.utils.mkdirhier(self.sdk_output)
+        self.mkdirhier(self.sdk_output)
 
         # call backend dependent implementation
         self._populate()
 
         # Don't ship any libGL in the SDK
-        bb.utils.remove(os.path.join(self.sdk_output, self.sdk_native_path,
-                                     self.d.getVar('libdir_nativesdk', True).strip('/'),
-                                     "libGL*"))
+        self.remove(os.path.join(self.sdk_output, self.sdk_native_path,
+                         self.d.getVar('libdir_nativesdk', True).strip('/'),
+                         "libGL*"))
 
         # Fix or remove broken .la files
-        bb.utils.remove(os.path.join(self.sdk_output, self.sdk_native_path,
-                                     self.d.getVar('libdir_nativesdk', True).strip('/'),
-                                     "*.la"))
+        self.remove(os.path.join(self.sdk_output, self.sdk_native_path,
+                         self.d.getVar('libdir_nativesdk', True).strip('/'),
+                         "*.la"))
 
         # Link the ld.so.cache file into the hosts filesystem
         link_name = os.path.join(self.sdk_output, self.sdk_native_path,
                                  self.sysconfdir, "ld.so.cache")
-        bb.utils.mkdirhier(os.path.dirname(link_name))
+        self.mkdirhier(os.path.dirname(link_name))
         os.symlink("/etc/ld.so.cache", link_name)
 
         execute_pre_post_process(self.d, self.d.getVar('SDK_POSTPROCESS_COMMAND', True))
 
+    def movefile(self, sourcefile, destdir):
+        try:
+            # FIXME: this check of movefile's return code to None should be
+            # fixed within the function to use only exceptions to signal when
+            # something goes wrong
+            if (bb.utils.movefile(sourcefile, destdir) == None):
+                raise OSError("moving %s to %s failed"
+                        %(sourcefile, destdir))
+        #FIXME: using umbrella exc catching because bb.utils method raises it
+        except Exception as e:
+            bb.debug(1, "printing the stack trace\n %s" %traceback.format_exc())
+            bb.error("unable to place %s in final SDK location" % sourcefile)
+
+    def mkdirhier(self, dirpath):
+        try:
+            bb.utils.mkdirhier(dirpath)
+        except OSError as e:
+            bb.debug(1, "printing the stack trace\n %s" %traceback.format_exc())
+            bb.fatal("cannot make dir for SDK: %s" % dirpath)
+
+    def remove(self, path, recurse=False):
+        try:
+            bb.utils.remove(path, recurse)
+        #FIXME: using umbrella exc catching because bb.utils method raises it
+        except Exception as e:
+            bb.debug(1, "printing the stack trace\n %s" %traceback.format_exc())
+            bb.warn("cannot remove SDK dir: %s" % path)
 
 class RpmSdk(Sdk):
     def __init__(self, d, manifest_dir=None):
@@ -143,15 +171,15 @@ class RpmSdk(Sdk):
                                             "lib",
                                             "rpm"
                                             )
-        bb.utils.mkdirhier(native_rpm_state_dir)
+        self.mkdirhier(native_rpm_state_dir)
         for f in glob.glob(os.path.join(self.sdk_output,
                                         "var",
                                         "lib",
                                         "rpm",
                                         "*")):
-            bb.utils.movefile(f, native_rpm_state_dir)
+            self.movefile(f, native_rpm_state_dir)
 
-        bb.utils.remove(os.path.join(self.sdk_output, "var"), True)
+        self.remove(os.path.join(self.sdk_output, "var"), True)
 
         # Move host sysconfig data
         native_sysconf_dir = os.path.join(self.sdk_output,
@@ -159,10 +187,10 @@ class RpmSdk(Sdk):
                                           self.d.getVar('sysconfdir',
                                                         True).strip('/'),
                                           )
-        bb.utils.mkdirhier(native_sysconf_dir)
+        self.mkdirhier(native_sysconf_dir)
         for f in glob.glob(os.path.join(self.sdk_output, "etc", "*")):
-            bb.utils.movefile(f, native_sysconf_dir)
-        bb.utils.remove(os.path.join(self.sdk_output, "etc"), True)
+            self.movefile(f, native_sysconf_dir)
+        self.remove(os.path.join(self.sdk_output, "etc"), True)
 
 
 class OpkgSdk(Sdk):
@@ -219,12 +247,12 @@ class OpkgSdk(Sdk):
         target_sysconfdir = os.path.join(self.sdk_target_sysroot, self.sysconfdir)
         host_sysconfdir = os.path.join(self.sdk_host_sysroot, self.sysconfdir)
 
-        bb.utils.mkdirhier(target_sysconfdir)
+        self.mkdirhier(target_sysconfdir)
         shutil.copy(self.target_conf, target_sysconfdir)
         os.chmod(os.path.join(target_sysconfdir,
                               os.path.basename(self.target_conf)), 0644)
 
-        bb.utils.mkdirhier(host_sysconfdir)
+        self.mkdirhier(host_sysconfdir)
         shutil.copy(self.host_conf, host_sysconfdir)
         os.chmod(os.path.join(host_sysconfdir,
                               os.path.basename(self.host_conf)), 0644)
@@ -232,11 +260,11 @@ class OpkgSdk(Sdk):
         native_opkg_state_dir = os.path.join(self.sdk_output, self.sdk_native_path,
                                              self.d.getVar('localstatedir_nativesdk', True).strip('/'),
                                              "lib", "opkg")
-        bb.utils.mkdirhier(native_opkg_state_dir)
+        self.mkdirhier(native_opkg_state_dir)
         for f in glob.glob(os.path.join(self.sdk_output, "var", "lib", "opkg", "*")):
-            bb.utils.movefile(f, native_opkg_state_dir)
+            self.movefile(f, native_opkg_state_dir)
 
-        bb.utils.remove(os.path.join(self.sdk_output, "var"), True)
+        self.remove(os.path.join(self.sdk_output, "var"), True)
 
 
 class DpkgSdk(Sdk):
@@ -264,7 +292,7 @@ class DpkgSdk(Sdk):
     def _copy_apt_dir_to(self, dst_dir):
         staging_etcdir_native = self.d.getVar("STAGING_ETCDIR_NATIVE", True)
 
-        bb.utils.remove(dst_dir, True)
+        self.remove(dst_dir, True)
 
         shutil.copytree(os.path.join(staging_etcdir_native, "apt"), dst_dir)
 
@@ -306,11 +334,11 @@ class DpkgSdk(Sdk):
 
         native_dpkg_state_dir = os.path.join(self.sdk_output, self.sdk_native_path,
                                              "var", "lib", "dpkg")
-        bb.utils.mkdirhier(native_dpkg_state_dir)
+        self.mkdirhier(native_dpkg_state_dir)
         for f in glob.glob(os.path.join(self.sdk_output, "var", "lib", "dpkg", "*")):
-            bb.utils.movefile(f, native_dpkg_state_dir)
+            self.movefile(f, native_dpkg_state_dir)
+        self.remove(os.path.join(self.sdk_output, "var"), True)
 
-        bb.utils.remove(os.path.join(self.sdk_output, "var"), True)
 
 
 def sdk_list_installed_packages(d, target, format=None, rootfs_dir=None):
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 25/52] sanity.bbclass: expand warning when chmod fails
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (23 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 24/52] populate SDK: prepare calling of bb.utils for exceptions Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 26/52] openssh: fix file permission for /etc/pam.d/sshd Joshua Lock
                   ` (27 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Alex Franco <alejandro.franco@linux.intel.com>

As suggested, add exception message to warning in
sanity.bbclass when chmod fails on TMPDIR.

[YOCTO #7669]

Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/classes/sanity.bbclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 34f8618..d0b5cd0 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -843,8 +843,8 @@ def check_sanity_everybuild(status, d):
             os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISUID)
             os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISGID)
             os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISVTX)
-        except OSError:
-            bb.warn("Unable to chmod TMPDIR: %s" % tmpdir)
+        except OSError as exc:
+            bb.warn("Unable to chmod TMPDIR: %s" % exc)
         with open(checkfile, "w") as f:
             f.write(tmpdir)
 
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 26/52] openssh: fix file permission for /etc/pam.d/sshd
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (24 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 25/52] sanity.bbclass: expand warning when chmod fails Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 27/52] sudo: fix file permission for /etc/pam.d/sudo Joshua Lock
                   ` (26 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Chen Qi <Qi.Chen@windriver.com>

The file permission should be 0644 instead of 0755.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-connectivity/openssh/openssh_7.1p1.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-connectivity/openssh/openssh_7.1p1.bb b/meta/recipes-connectivity/openssh/openssh_7.1p1.bb
index eeeb4b4..40938cc 100644
--- a/meta/recipes-connectivity/openssh/openssh_7.1p1.bb
+++ b/meta/recipes-connectivity/openssh/openssh_7.1p1.bb
@@ -87,7 +87,7 @@ do_compile_ptest() {
 
 do_install_append () {
 	if [ "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" = "pam" ]; then
-		install -D -m 0755 ${WORKDIR}/sshd ${D}${sysconfdir}/pam.d/sshd
+		install -D -m 0644 ${WORKDIR}/sshd ${D}${sysconfdir}/pam.d/sshd
 		sed -i -e 's:#UsePAM no:UsePAM yes:' ${WORKDIR}/sshd_config ${D}${sysconfdir}/ssh/sshd_config
 	fi
 
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 27/52] sudo: fix file permission for /etc/pam.d/sudo
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (25 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 26/52] openssh: fix file permission for /etc/pam.d/sshd Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 28/52] gcc-5.2: Fix various _FOR_BUILD and related variables Joshua Lock
                   ` (25 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Chen Qi <Qi.Chen@windriver.com>

The file permission should be 0644 instead of 0664.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-extended/sudo/sudo_1.8.14p3.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-extended/sudo/sudo_1.8.14p3.bb b/meta/recipes-extended/sudo/sudo_1.8.14p3.bb
index 6b3cd6d..b93112f 100644
--- a/meta/recipes-extended/sudo/sudo_1.8.14p3.bb
+++ b/meta/recipes-extended/sudo/sudo_1.8.14p3.bb
@@ -22,7 +22,7 @@ EXTRA_OECONF += " \
 
 do_install_append () {
 	if [ "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" = "pam" ]; then
-		install -D -m 664 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo
+		install -D -m 644 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo
 	fi
 
 	chmod 4111 ${D}${bindir}/sudo
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 28/52] gcc-5.2: Fix various _FOR_BUILD and related variables
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (26 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 27/52] sudo: fix file permission for /etc/pam.d/sudo Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 29/52] rpm: remove spurious build dependencies Joshua Lock
                   ` (24 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Mark Hatle <mark.hatle@windriver.com>

When doing a FOR_BUILD thing, you have to override CFLAGS with
CFLAGS_FOR_BUILD. And if you use C++, you also have to override
CXXFLAGS with CXXFLAGS_FOR_BUILD.
Without this, when building for mingw, you end up trying to use
the mingw headers for a host build.

The same goes for other variables as well, such as CPPFLAGS,
CPP, and GMPINC.

Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-devtools/gcc/gcc-5.2.inc              |   1 +
 .../gcc/gcc-5.2/0042-cxxflags-for-build.patch      | 123 +++++++++++++++++++++
 2 files changed, 124 insertions(+)
 create mode 100644 meta/recipes-devtools/gcc/gcc-5.2/0042-cxxflags-for-build.patch

diff --git a/meta/recipes-devtools/gcc/gcc-5.2.inc b/meta/recipes-devtools/gcc/gcc-5.2.inc
index f6673e6..a6b385a 100644
--- a/meta/recipes-devtools/gcc/gcc-5.2.inc
+++ b/meta/recipes-devtools/gcc/gcc-5.2.inc
@@ -73,6 +73,7 @@ SRC_URI = "\
            file://0039-libcc1-fix-libcc1-s-install-path-and-rpath.patch \
            file://0040-nativesdk-gcc-support.patch \
            file://0041-handle-target-sysroot-multilib.patch \
+           file://0042-cxxflags-for-build.patch \
           "
 
 BACKPORTS = ""
diff --git a/meta/recipes-devtools/gcc/gcc-5.2/0042-cxxflags-for-build.patch b/meta/recipes-devtools/gcc/gcc-5.2/0042-cxxflags-for-build.patch
new file mode 100644
index 0000000..1105e29
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-5.2/0042-cxxflags-for-build.patch
@@ -0,0 +1,123 @@
+Fix various _FOR_BUILD and related variables
+
+When doing a FOR_BUILD thing, you have to override CFLAGS with
+CFLAGS_FOR_BUILD. And if you use C++, you also have to override
+CXXFLAGS with CXXFLAGS_FOR_BUILD.
+Without this, when building for mingw, you end up trying to use
+the mingw headers for a host build.
+
+The same goes for other variables as well, such as CPPFLAGS,
+CPP, and GMPINC.
+
+Upstream-Status: Pending
+
+Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+diff --git a/Makefile.in b/Makefile.in
+index 9370174..011c29a 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -152,6 +152,7 @@ BUILD_EXPORTS = \
+ 	CPP="$(CC_FOR_BUILD) -E"; export CPP; \
+ 	CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
+ 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
++	CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
+ 	CXX="$(CXX_FOR_BUILD)"; export CXX; \
+ 	CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
+ 	GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \
+@@ -170,6 +171,9 @@ BUILD_EXPORTS = \
+ # built for the build system to override those in BASE_FLAGS_TO_PASS.
+ EXTRA_BUILD_FLAGS = \
+ 	CFLAGS="$(CFLAGS_FOR_BUILD)" \
++	CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
++	CPP="$(CC_FOR_BUILD) -E" \
++	CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \
+ 	LDFLAGS="$(LDFLAGS_FOR_BUILD)"
+ 
+ # This is the list of directories to built for the host system.
+@@ -187,6 +191,7 @@ HOST_SUBDIR = @host_subdir@
+ HOST_EXPORTS = \
+ 	$(BASE_EXPORTS) \
+ 	CC="$(CC)"; export CC; \
++	CPP="$(CC) -E"; export CPP; \
+ 	ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
+ 	CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+@@ -711,6 +715,7 @@ BASE_FLAGS_TO_PASS = \
+ 	"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
+ 	"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
+ 	"CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \
++	"CXXFLAGS_FOR_BUILD=$(CXXFLAGS_FOR_BUILD)" \
+ 	"EXPECT=$(EXPECT)" \
+ 	"FLEX=$(FLEX)" \
+ 	"INSTALL=$(INSTALL)" \
+diff --git a/Makefile.tpl b/Makefile.tpl
+index 1ea1954..78a59c3 100644
+--- a/Makefile.tpl
++++ b/Makefile.tpl
+@@ -154,6 +154,7 @@ BUILD_EXPORTS = \
+ 	CC="$(CC_FOR_BUILD)"; export CC; \
+ 	CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
+ 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
++	CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
+ 	CXX="$(CXX_FOR_BUILD)"; export CXX; \
+ 	CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
+ 	GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \
+@@ -172,6 +173,9 @@ BUILD_EXPORTS = \
+ # built for the build system to override those in BASE_FLAGS_TO_PASS.
+ EXTRA_BUILD_FLAGS = \
+ 	CFLAGS="$(CFLAGS_FOR_BUILD)" \
++	CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
++	CPP="$(CC_FOR_BUILD) -E" \
++	CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \
+ 	LDFLAGS="$(LDFLAGS_FOR_BUILD)"
+ 
+ # This is the list of directories to built for the host system.
+@@ -189,6 +193,7 @@ HOST_SUBDIR = @host_subdir@
+ HOST_EXPORTS = \
+ 	$(BASE_EXPORTS) \
+ 	CC="$(CC)"; export CC; \
++	CPP="$(CC) -E"; export CPP; \
+ 	ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
+ 	CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index cd5bc4a..98ae4f4 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -762,7 +762,7 @@ BUILD_LINKERFLAGS = $(BUILD_CXXFLAGS)
+ # Native linker and preprocessor flags.  For x-fragment overrides.
+ BUILD_LDFLAGS=@BUILD_LDFLAGS@
+ BUILD_CPPFLAGS= -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
+-		-I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS)
++		-I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS_FOR_BUILD)
+ 
+ # Actual name to use when installing a native compiler.
+ GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)')
+diff --git a/gcc/configure b/gcc/configure
+index c7ac14b..5ac63e4 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -11521,7 +11521,7 @@ else
+ 	CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
+ 	CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
+ 	LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
+-	GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
++	GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
+ 	${realsrcdir}/configure \
+ 		--enable-languages=${enable_languages-all} \
+ 		--target=$target_alias --host=$build_alias --build=$build_alias
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index 50856e6..17a4dfd 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1633,7 +1633,7 @@ else
+ 	CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
+ 	CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
+ 	LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
+-	GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
++	GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
+ 	${realsrcdir}/configure \
+ 		--enable-languages=${enable_languages-all} \
+ 		--target=$target_alias --host=$build_alias --build=$build_alias
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 29/52] rpm: remove spurious build dependencies
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (27 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 28/52] gcc-5.2: Fix various _FOR_BUILD and related variables Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 30/52] i2c-tools: fix inverted RDEPENDS Joshua Lock
                   ` (23 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Ross Burton <ross.burton@intel.com>

make, patch and binutils are assumed to exist on the host, so there's no need to
have them in DEPENDS and can result in the building of make-native for no good
reason.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-devtools/rpm/rpm_4.11.2.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/rpm/rpm_4.11.2.bb b/meta/recipes-devtools/rpm/rpm_4.11.2.bb
index 210c943..bc36f99 100644
--- a/meta/recipes-devtools/rpm/rpm_4.11.2.bb
+++ b/meta/recipes-devtools/rpm/rpm_4.11.2.bb
@@ -22,7 +22,7 @@ HOMEPAGE = "http://www.rpm.org"
 LICENSE = "GPL-2.0+"
 LIC_FILES_CHKSUM ??= "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
 
-DEPENDS = "db libxml2 xz findutils file popt nss bzip2 elfutils patch attr zlib acl gzip make binutils python"
+DEPENDS = "db libxml2 xz findutils file popt nss bzip2 elfutils attr zlib acl gzip python"
 
 SRC_URI += "http://rpm.org/releases/rpm-4.11.x/${BP}.tar.bz2 \
             file://use-pkgconfig-for-python.patch \
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 30/52] i2c-tools: fix inverted RDEPENDS
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (28 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 29/52] rpm: remove spurious build dependencies Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 31/52] qemu: disable Valgrind Joshua Lock
                   ` (22 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Matt Madison <matt@madison.systems>

The runtime dependency between i2c-tools and i2c-tools-misc was
backwards when the packages were split.  With this change,
including i2c-tools in an image no longer drags in perl.

Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-devtools/i2c-tools/i2c-tools_3.1.2.bb | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/i2c-tools/i2c-tools_3.1.2.bb b/meta/recipes-devtools/i2c-tools/i2c-tools_3.1.2.bb
index 92f4d69..042695b 100644
--- a/meta/recipes-devtools/i2c-tools/i2c-tools_3.1.2.bb
+++ b/meta/recipes-devtools/i2c-tools/i2c-tools_3.1.2.bb
@@ -30,5 +30,4 @@ FILES_${PN}-misc = "${sbindir}/i2c-stub-from-dump \
                         ${bindir}/decode-dimms \
                         ${bindir}/decode-vaio \
                        "
-RDEPENDS_${PN} += "${PN}-misc"
-RDEPENDS_${PN}-misc += "perl"
+RDEPENDS_${PN}-misc = "${PN} perl"
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 31/52] qemu: disable Valgrind
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (29 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 30/52] i2c-tools: fix inverted RDEPENDS Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 32/52] useradd_base.bbclass: Do not warn without a reason Joshua Lock
                   ` (21 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Ross Burton <ross.burton@intel.com>

Qemu has an automatic dependency on valgrind which cannot be disabled, which
causes non-deterministic builds and build failures.  As Valgrind wasn't enabled
previously make this deterministic by forcibly disabling it.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-devtools/qemu/qemu/no-valgrind.patch | 19 +++++++++++++++++++
 meta/recipes-devtools/qemu/qemu_2.4.0.bb          |  1 +
 2 files changed, 20 insertions(+)
 create mode 100644 meta/recipes-devtools/qemu/qemu/no-valgrind.patch

diff --git a/meta/recipes-devtools/qemu/qemu/no-valgrind.patch b/meta/recipes-devtools/qemu/qemu/no-valgrind.patch
new file mode 100644
index 0000000..91f7280
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu/no-valgrind.patch
@@ -0,0 +1,19 @@
+There isn't an option to enable or disable valgrind support, so disable it to avoid non-deterministic builds.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/configure b/configure
+index b3c4f51..4d3929e 100755
+--- a/configure
++++ b/configure
+@@ -4193,9 +4192,0 @@ valgrind_h=no
+-cat > $TMPC << EOF
+-#include <valgrind/valgrind.h>
+-int main(void) {
+-  return 0;
+-}
+-EOF
+-if compile_prog "" "" ; then
+-    valgrind_h=yes
+-fi
diff --git a/meta/recipes-devtools/qemu/qemu_2.4.0.bb b/meta/recipes-devtools/qemu/qemu_2.4.0.bb
index 59b1788..1505b80 100644
--- a/meta/recipes-devtools/qemu/qemu_2.4.0.bb
+++ b/meta/recipes-devtools/qemu/qemu_2.4.0.bb
@@ -9,6 +9,7 @@ SRC_URI += "file://configure-fix-Darwin-target-detection.patch \
             file://smc91c111_fix1.patch \
             file://smc91c111_fix2.patch \
             file://smc91c111_fix3.patch \
+            file://no-valgrind.patch \
            "
 SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BP}.tar.bz2"
 SRC_URI[md5sum] = "186ee8194140a484a455f8e3c74589f4"
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 32/52] useradd_base.bbclass: Do not warn without a reason
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (30 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 31/52] qemu: disable Valgrind Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 33/52] oeqa/selftest/manifest.py: Test support for manifests Joshua Lock
                   ` (20 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Peter Kjellerstedt <peter.kjellerstedt@axis.com>

In c0da4270c76375a7a8cbcc09319fe4570ebbc5bd two bbwarn were changed to
bbnote for the case where an added user or group already exists. The
same should have been done for groupmems, groupdel and userdel as well
since the warnings that are currently generated are superflouous.

The two remaining similar bbwarn for groupmod and usermod are left as
is since there they actually make sense.

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/classes/useradd_base.bbclass | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta/classes/useradd_base.bbclass b/meta/classes/useradd_base.bbclass
index 802f3a1..ab3cd35 100644
--- a/meta/classes/useradd_base.bbclass
+++ b/meta/classes/useradd_base.bbclass
@@ -104,7 +104,7 @@ perform_groupmems () {
 			sleep $count
 		done
 	else
-		bbwarn "${PN}: group $groupname already contains $username, not re-adding it"
+		bbnote "${PN}: group $groupname already contains $username, not re-adding it"
 	fi
 	if test "x$gshadow" = "xno"; then
 		rm -f $rootdir${sysconfdir}/gshadow
@@ -136,7 +136,7 @@ perform_groupdel () {
 			sleep $count
 		done
 	else
-		bbwarn "${PN}: group $groupname doesn't exist, not removing it"
+		bbnote "${PN}: group $groupname doesn't exist, not removing it"
 	fi
 }
 
@@ -164,7 +164,7 @@ perform_userdel () {
 		       sleep $count
 	       done
 	else
-		bbwarn "${PN}: user $username doesn't exist, not removing it"
+		bbnote "${PN}: user $username doesn't exist, not removing it"
 	fi
 }
 
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 33/52] oeqa/selftest/manifest.py: Test support for manifests
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (31 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 32/52] useradd_base.bbclass: Do not warn without a reason Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 34/52] oeqa/utils/ftools: Ignore the exception if file does not exist Joshua Lock
                   ` (19 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Benjamin Esquivel <benjamin.esquivel@linux.intel.com>

adding support for tests to verify that manifest contents
contain entries that exist in an specified pkgdata dir

tests added:
 - manifest.VerifyManifest.test_image_manifest_entries
 - manifest.VerifyManifest.test_SDK_manifest_entries
test support written for future tests:
 -adding a setUpClass that supports other manifest tests
 -a get dir from bb var function that verifies if the dir exists
 -a ManifestEntry class defined with missing items list
 -check for the paths and fail gracefully if not there
 -debug prints for failure analysis

[YOCTO#8028]

Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/lib/oeqa/selftest/manifest.py | 163 +++++++++++++++++++++++++++++++++++++
 1 file changed, 163 insertions(+)
 create mode 100644 meta/lib/oeqa/selftest/manifest.py

diff --git a/meta/lib/oeqa/selftest/manifest.py b/meta/lib/oeqa/selftest/manifest.py
new file mode 100644
index 0000000..c813c1d
--- /dev/null
+++ b/meta/lib/oeqa/selftest/manifest.py
@@ -0,0 +1,163 @@
+import unittest
+import os
+
+from oeqa.selftest.base import oeSelfTest
+from oeqa.utils.commands import get_bb_var, bitbake
+from oeqa.utils.decorators import testcase
+
+class ManifestEntry:
+    '''A manifest item of a collection able to list missing packages'''
+    def __init__(self, entry):
+        self.file = entry
+        self.missing = []
+
+class VerifyManifest(oeSelfTest):
+    '''Tests for the manifest files and contents of an image'''
+
+    @classmethod
+    def check_manifest_entries(self, manifest, path):
+        manifest_errors = []
+        try:
+            with open(manifest, "r") as mfile:
+                for line in mfile:
+                    manifest_entry = os.path.join(path, line.split()[0])
+                    self.log.debug("{}: looking for {}"\
+                                    .format(self.classname, manifest_entry))
+                    if not os.path.isfile(manifest_entry):
+                        manifest_errors.append(manifest_entry)
+                        self.log.debug("{}: {} not found"\
+                                    .format(self.classname, manifest_entry))
+        except OSError as e:
+            self.log.debug("{}: checking of {} failed"\
+                    .format(self.classname, manifest))
+            raise e
+
+        return manifest_errors
+
+    #this will possibly move from here
+    @classmethod
+    def get_dir_from_bb_var(self, bb_var, target = None):
+        target == self.buildtarget if target == None else target
+        directory = get_bb_var(bb_var, target);
+        if not directory or not os.path.isdir(directory):
+            self.log.debug("{}: {} points to {} when target = {}"\
+                    .format(self.classname, bb_var, directory, target))
+            raise OSError
+        return directory
+
+    @classmethod
+    def setUpClass(self):
+
+        self.buildtarget = 'core-image-minimal'
+        self.classname = 'VerifyManifest'
+
+        self.log.info("{}: doing bitbake {} as a prerequisite of the test"\
+                .format(self.classname, self.buildtarget))
+        if bitbake(self.buildtarget).status:
+            self.log.debug("{} Failed to setup {}"\
+                    .format(self.classname, self.buildtarget))
+            unittest.SkipTest("{}: Cannot setup testing scenario"\
+                    .format(self.classname))
+
+    def test_SDK_manifest_entries(self):
+        '''Verifying the SDK manifest entries exist, this may take a build'''
+
+        # the setup should bitbake core-image-minimal and here it is required
+        # to do an additional setup for the sdk
+        sdktask = '-c populate_sdk'
+        bbargs = sdktask + ' ' + self.buildtarget
+        self.log.debug("{}: doing bitbake {} as a prerequisite of the test"\
+                .format(self.classname, bbargs))
+        if bitbake(bbargs).status:
+            self.log.debug("{} Failed to bitbake {}"\
+                    .format(self.classname, bbargs))
+            unittest.SkipTest("{}: Cannot setup testing scenario"\
+                    .format(self.classname))
+
+
+        pkgdata_dir = reverse_dir = {}
+        mfilename = mpath = m_entry = {}
+        # get manifest location based on target to query about
+        d_target= dict(target = self.buildtarget,
+                         host = 'nativesdk-packagegroup-sdk-host')
+        try:
+            mdir = self.get_dir_from_bb_var('SDK_DEPLOY', self.buildtarget)
+            for k in d_target.keys():
+                mfilename[k] = "{}-toolchain-{}.{}.manifest".format(
+                        get_bb_var("SDK_NAME", self.buildtarget),
+                        get_bb_var("SDK_VERSION", self.buildtarget),
+                        k)
+                mpath[k] = os.path.join(mdir, mfilename[k])
+                if not os.path.isfile(mpath[k]):
+                    self.log.debug("{}: {} does not exist".format(
+                        self.classname, mpath[k]))
+                    raise IOError
+                m_entry[k] = ManifestEntry(mpath[k])
+
+                pkgdata_dir[k] = self.get_dir_from_bb_var('PKGDATA_DIR',
+                        d_target[k])
+                reverse_dir[k] = os.path.join(pkgdata_dir[k],
+                        'runtime-reverse')
+                if not os.path.exists(reverse_dir[k]):
+                    self.log.debug("{}: {} does not exist".format(
+                        self.classname, reverse_dir[k]))
+                    raise IOError
+        except OSError:
+            raise unittest.SkipTest("{}: Error in obtaining manifest dirs"\
+                .format(self.classname))
+        except IOError:
+            msg = "{}: Error cannot find manifests in the specified dir:\n{}"\
+                    .format(self.classname, mdir)
+            self.fail(msg)
+
+        for k in d_target.keys():
+            self.log.debug("{}: Check manifest {}".format(
+                self.classname, m_entry[k].file))
+
+            m_entry[k].missing = self.check_manifest_entries(\
+                                               m_entry[k].file,reverse_dir[k])
+            if m_entry[k].missing:
+                msg = '{}: {} Error has the following missing entries'\
+                        .format(self.classname, m_entry[k].file)
+                logmsg = msg+':\n'+'\n'.join(m_entry[k].missing)
+                self.log.debug(logmsg)
+                self.log.info(msg)
+                self.fail(logmsg)
+
+    def test_image_manifest_entries(self):
+        '''Verifying the image manifest entries exist'''
+
+        # get manifest location based on target to query about
+        try:
+            mdir = self.get_dir_from_bb_var('DEPLOY_DIR_IMAGE',
+                                                self.buildtarget)
+            mfilename = get_bb_var("IMAGE_LINK_NAME", self.buildtarget)\
+                    + ".manifest"
+            mpath = os.path.join(mdir, mfilename)
+            if not os.path.isfile(mpath): raise IOError
+            m_entry = ManifestEntry(mpath)
+
+            pkgdata_dir = {}
+            pkgdata_dir = self.get_dir_from_bb_var('PKGDATA_DIR',
+                                                self.buildtarget)
+            revdir = os.path.join(pkgdata_dir, 'runtime-reverse')
+            if not os.path.exists(revdir): raise IOError
+        except OSError:
+            raise unittest.SkipTest("{}: Error in obtaining manifest dirs"\
+                .format(self.classname))
+        except IOError:
+            msg = "{}: Error cannot find manifests in dir:\n{}"\
+                    .format(self.classname, mdir)
+            self.fail(msg)
+
+        self.log.debug("{}: Check manifest {}"\
+                            .format(self.classname, m_entry.file))
+        m_entry.missing = self.check_manifest_entries(\
+                                                    m_entry.file, revdir)
+        if m_entry.missing:
+            msg = '{}: {} Error has the following missing entries'\
+                    .format(self.classname, m_entry.file)
+            logmsg = msg+':\n'+'\n'.join(m_entry.missing)
+            self.log.debug(logmsg)
+            self.log.info(msg)
+            self.fail(logmsg)
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 34/52] oeqa/utils/ftools: Ignore the exception if file does not exist
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (32 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 33/52] oeqa/selftest/manifest.py: Test support for manifests Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 35/52] oeqa/utils/ftools: From functions that expect data, check if None Joshua Lock
                   ` (18 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>

There may be cases where the configuration file (path) does not exist,
thus the remove_from_file should catch this exception. In case the exception
is not the latter (errno.ENOENT), then re-raise it.

[YOCTO #8540]

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/lib/oeqa/utils/ftools.py | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/meta/lib/oeqa/utils/ftools.py b/meta/lib/oeqa/utils/ftools.py
index 64ebe3d..1ec8a09 100644
--- a/meta/lib/oeqa/utils/ftools.py
+++ b/meta/lib/oeqa/utils/ftools.py
@@ -1,5 +1,6 @@
 import os
 import re
+import errno
 
 def write_file(path, data):
     wdata = data.rstrip() + "\n"
@@ -18,7 +19,15 @@ def read_file(path):
     return data
 
 def remove_from_file(path, data):
-    lines = read_file(path).splitlines()
+    try:
+        rdata = read_file(path)
+    except IOError as e:
+        # if file does not exit, just quit, otherwise raise an exception
+        if e.errno == errno.ENOENT:
+            return
+        else:
+            raise
+    lines = rdata.splitlines()
     rmdata = data.strip().splitlines()
     for l in rmdata:
         for c in range(0, lines.count(l)):
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 35/52] oeqa/utils/ftools: From functions that expect data, check if None
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (33 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 34/52] oeqa/utils/ftools: Ignore the exception if file does not exist Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 36/52] oeqa/selftest/bbtests: clean up local DL_DIR/SSTATE_DIR safely Joshua Lock
                   ` (17 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>

ftools functions that expect data may get 'None'; this patch does this check
and return immediately if this is the case.

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/lib/oeqa/utils/ftools.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/meta/lib/oeqa/utils/ftools.py b/meta/lib/oeqa/utils/ftools.py
index 1ec8a09..1bd9a30 100644
--- a/meta/lib/oeqa/utils/ftools.py
+++ b/meta/lib/oeqa/utils/ftools.py
@@ -3,11 +3,17 @@ import re
 import errno
 
 def write_file(path, data):
+    # In case data is None, return immediately
+    if data is None:
+        return
     wdata = data.rstrip() + "\n"
     with open(path, "w") as f:
         f.write(wdata)
 
 def append_file(path, data):
+    # In case data is None, return immediately
+    if data is None:
+        return
     wdata = data.rstrip() + "\n"
     with open(path, "a") as f:
             f.write(wdata)
@@ -19,6 +25,9 @@ def read_file(path):
     return data
 
 def remove_from_file(path, data):
+    # In case data is None, return immediately
+    if data is None:
+        return
     try:
         rdata = read_file(path)
     except IOError as e:
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 36/52] oeqa/selftest/bbtests: clean up local DL_DIR/SSTATE_DIR safely
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (34 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 35/52] oeqa/utils/ftools: From functions that expect data, check if None Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 37/52] oeqa/selftest/bbtests: Updated bitbake TCs Joshua Lock
                   ` (16 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Ross Burton <ross.burton@intel.com>

Now that the selftests clean selftest.inc in the tearDown using bitbake in a
function passed to addCleanup (which happens after teardown) will use the
default configuration and not the customised one.

As the intention was to clean away the temporary DL_DIR and SSTATE_DIR, simple
use track_for_cleanup to delete the entire directory instead.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/lib/oeqa/selftest/bbtests.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/meta/lib/oeqa/selftest/bbtests.py b/meta/lib/oeqa/selftest/bbtests.py
index 3d6860f..af0773d 100644
--- a/meta/lib/oeqa/selftest/bbtests.py
+++ b/meta/lib/oeqa/selftest/bbtests.py
@@ -101,6 +101,8 @@ class BitbakeTests(oeSelfTest):
         self.write_config("""DL_DIR = \"${TOPDIR}/download-selftest\"
 SSTATE_DIR = \"${TOPDIR}/download-selftest\"
 """)
+        self.track_for_cleanup(os.path.join(self.builddir, "download-selftest"))
+
         bitbake('-ccleanall man')
         result = bitbake('-c fetch man', ignore_status=True)
         bitbake('-ccleanall man')
@@ -116,12 +118,13 @@ doesn't exist, yet fetcher didn't report any error. bitbake output: %s" % result
         self.write_config("""DL_DIR = \"${TOPDIR}/download-selftest\"
 SSTATE_DIR = \"${TOPDIR}/download-selftest\"
 """)
+        self.track_for_cleanup(os.path.join(self.builddir, "download-selftest"))
+
         data = 'SRC_URI_append = ";downloadfilename=test-aspell.tar.gz"'
         self.write_recipeinc('aspell', data)
         bitbake('-ccleanall aspell')
         result = bitbake('-c fetch aspell', ignore_status=True)
         self.delete_recipeinc('aspell')
-        self.addCleanup(bitbake, '-ccleanall aspell')
         self.assertEqual(result.status, 0, msg = "Couldn't fetch aspell. %s" % result.output)
         self.assertTrue(os.path.isfile(os.path.join(get_bb_var("DL_DIR"), 'test-aspell.tar.gz')), msg = "File rename failed. No corresponding test-aspell.tar.gz file found under %s" % str(get_bb_var("DL_DIR")))
         self.assertTrue(os.path.isfile(os.path.join(get_bb_var("DL_DIR"), 'test-aspell.tar.gz.done')), "File rename failed. No corresponding test-aspell.tar.gz.done file found under %s" % str(get_bb_var("DL_DIR")))
@@ -181,6 +184,7 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\"
         self.write_config("""DL_DIR = \"${TOPDIR}/download-selftest\"
 SSTATE_DIR = \"${TOPDIR}/download-selftest\"
 """)
+        self.track_for_cleanup(os.path.join(self.builddir, "download-selftest"))
         self.write_recipeinc('man',"\ndo_fail_task () {\nexit 1 \n}\n\naddtask do_fail_task before do_fetch\n" )
         runCmd('bitbake -c cleanall man xcursor-transparent-theme')
         result = runCmd('bitbake man xcursor-transparent-theme -k', ignore_status=True)
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 37/52] oeqa/selftest/bbtests: Updated bitbake TCs
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (35 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 36/52] oeqa/selftest/bbtests: clean up local DL_DIR/SSTATE_DIR safely Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:21 ` [PATCH v3 38/52] oeqa/selftest/buildoptions: Use the correct script for cleaning the workdir Joshua Lock
                   ` (15 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Daniel Istrate <daniel.alexandrux.istrate@intel.com>

- Added new TC test_force_task_1 (1354);
check that do_package_write_rpm() re-executes
upon changes in package image.

- Updated TC test_force_task_2 (163);
changed test recipe to zlib and added
do_package() to the task execution list.

- Removed unnecessary imports.

Fix for bug [YOCTO #5875].

Signed-off-by: Daniel Istrate <daniel.alexandrux.istrate@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/lib/oeqa/selftest/bbtests.py | 45 ++++++++++++++++++++++++++++++---------
 1 file changed, 35 insertions(+), 10 deletions(-)

diff --git a/meta/lib/oeqa/selftest/bbtests.py b/meta/lib/oeqa/selftest/bbtests.py
index af0773d..1c0e588 100644
--- a/meta/lib/oeqa/selftest/bbtests.py
+++ b/meta/lib/oeqa/selftest/bbtests.py
@@ -1,8 +1,5 @@
-import unittest
 import os
-import logging
 import re
-import shutil
 
 import oeqa.utils.ftools as ftools
 from oeqa.selftest.base import oeSelfTest
@@ -68,15 +65,43 @@ class BitbakeTests(oeSelfTest):
         bitbake('-cclean man')
         self.assertTrue("ERROR: Function failed: patch_do_patch" in result.output, msg = "Though no man-1.5h1-make.patch file exists, bitbake didn't output any err. message. bitbake output: %s" % result.output)
 
+    @testcase(1354)
+    def test_force_task_1(self):
+        # test 1 from bug 5875
+        test_recipe = 'zlib'
+        test_data = "Microsoft Made No Profit From Anyone's Zunes Yo"
+        image_dir = get_bb_var('D', test_recipe)
+        pkgsplit_dir = get_bb_var('PKGDEST', test_recipe)
+        man_dir = get_bb_var('mandir', test_recipe)
+
+        bitbake('-c cleansstate %s' % test_recipe)
+        bitbake(test_recipe)
+        self.add_command_to_tearDown('bitbake -c clean %s' % test_recipe)
+
+        man_file = os.path.join(image_dir + man_dir, 'man3/zlib.3')
+        ftools.append_file(man_file, test_data)
+        bitbake('-c package -f %s' % test_recipe)
+
+        man_split_file = os.path.join(pkgsplit_dir, 'zlib-doc' + man_dir, 'man3/zlib.3')
+        man_split_content = ftools.read_file(man_split_file)
+        self.assertIn(test_data, man_split_content, 'The man file has not changed in packages-split.')
+
+        ret = bitbake(test_recipe)
+        self.assertIn('task do_package_write_rpm:', ret.output, 'Task do_package_write_rpm did not re-executed.')
+
     @testcase(163)
-    def test_force_task(self):
-        bitbake('m4-native')
-        self.add_command_to_tearDown('bitbake -c clean m4-native')
-        result = bitbake('-C compile m4-native')
-        look_for_tasks = ['do_compile', 'do_install', 'do_populate_sysroot']
+    def test_force_task_2(self):
+        # test 2 from bug 5875
+        test_recipe = 'zlib'
+
+        bitbake('-c cleansstate %s' % test_recipe)
+        bitbake(test_recipe)
+        self.add_command_to_tearDown('bitbake -c clean %s' % test_recipe)
+
+        result = bitbake('-C compile %s' % test_recipe)
+        look_for_tasks = ['do_compile:', 'do_install:', 'do_populate_sysroot:', 'do_package:']
         for task in look_for_tasks:
-            find_task = re.search("m4-native.*%s" % task, result.output)
-            self.assertTrue(find_task, msg = "Couldn't find %s task. bitbake output %s" % (task, result.output))
+            self.assertIn(task, result.output, msg="Couldn't find %s task.")
 
     @testcase(167)
     def test_bitbake_g(self):
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 38/52] oeqa/selftest/buildoptions: Use the correct script for cleaning the workdir
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (36 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 37/52] oeqa/selftest/bbtests: Updated bitbake TCs Joshua Lock
@ 2015-10-22 15:21 ` Joshua Lock
  2015-10-22 15:22 ` [PATCH v3 39/52] oeqa/selftest: verify that devtool can use plugins in other layers Joshua Lock
                   ` (14 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:21 UTC (permalink / raw)
  To: openembedded-core

From: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>

The script 'cleanupworkdir' does not exit, so changing it to 'cleanup-workdir'.

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/lib/oeqa/selftest/buildoptions.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/lib/oeqa/selftest/buildoptions.py b/meta/lib/oeqa/selftest/buildoptions.py
index d76aef1..fbe0cd7 100644
--- a/meta/lib/oeqa/selftest/buildoptions.py
+++ b/meta/lib/oeqa/selftest/buildoptions.py
@@ -125,7 +125,7 @@ class BuildImagesTest(oeSelfTest):
         This method is used to test the build of directfb image for arm arch.
         In essence we build a coreimagedirectfb and test the exitcode of bitbake that in case of success is 0.
         """
-        self.add_command_to_tearDown('cleanupworkdir')
+        self.add_command_to_tearDown('cleanup-workdir')
         self.write_config("DISTRO_FEATURES_remove = \"x11\"\nDISTRO_FEATURES_append = \" directfb\"\nMACHINE ??= \"qemuarm\"")
         res = bitbake("core-image-directfb", ignore_status=True)
         self.assertEqual(res.status, 0, "\ncoreimagedirectfb failed to build. Please check logs for further details.\nbitbake output %s" % res.output)
@@ -136,7 +136,7 @@ class ArchiverTest(oeSelfTest):
         """
         Test for archiving the work directory and exporting the source files.
         """
-        self.add_command_to_tearDown('cleanupworkdir')
+        self.add_command_to_tearDown('cleanup-workdir')
         self.write_config("INHERIT = \"archiver\"\nARCHIVER_MODE[src] = \"original\"\nARCHIVER_MODE[srpm] = \"1\"")
         res = bitbake("xcursor-transparent-theme", ignore_status=True)
         self.assertEqual(res.status, 0, "\nCouldn't build xcursortransparenttheme.\nbitbake output %s" % res.output)
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 39/52] oeqa/selftest: verify that devtool can use plugins in other layers
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (37 preceding siblings ...)
  2015-10-22 15:21 ` [PATCH v3 38/52] oeqa/selftest/buildoptions: Use the correct script for cleaning the workdir Joshua Lock
@ 2015-10-22 15:22 ` Joshua Lock
  2015-10-22 15:22 ` [PATCH v3 40/52] oeqa/selftest/wic: corrected testcase decorator for test18_iso_image Joshua Lock
                   ` (13 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:22 UTC (permalink / raw)
  To: openembedded-core

From: Ross Burton <ross.burton@intel.com>

In selftest we want to exercise devtool's ability to use plugins from other
layers, so add a basic command to reverse a string to meta-selftest and a test
in oe-selftest to call it.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta-selftest/lib/devtool/__init__.py |  0
 meta-selftest/lib/devtool/test.py     | 11 +++++++++++
 meta/lib/oeqa/selftest/devtool.py     | 12 ++++++++++++
 3 files changed, 23 insertions(+)
 create mode 100644 meta-selftest/lib/devtool/__init__.py
 create mode 100644 meta-selftest/lib/devtool/test.py

diff --git a/meta-selftest/lib/devtool/__init__.py b/meta-selftest/lib/devtool/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/meta-selftest/lib/devtool/test.py b/meta-selftest/lib/devtool/test.py
new file mode 100644
index 0000000..b7474b5
--- /dev/null
+++ b/meta-selftest/lib/devtool/test.py
@@ -0,0 +1,11 @@
+import argparse
+
+def selftest_reverse(args, config, basepath, workspace):
+    """Reverse the value passed to verify the plugin is executing."""
+    print args.value[::-1]
+
+def register_commands(subparsers, context):
+    parser_build = subparsers.add_parser('selftest-reverse', help='Reverse value (for selftest)',
+                                         formatter_class=argparse.ArgumentDefaultsHelpFormatter)
+    parser_build.add_argument('value', help='Value to reverse')
+    parser_build.set_defaults(func=selftest_reverse)
diff --git a/meta/lib/oeqa/selftest/devtool.py b/meta/lib/oeqa/selftest/devtool.py
index e4de309..fb46559 100644
--- a/meta/lib/oeqa/selftest/devtool.py
+++ b/meta/lib/oeqa/selftest/devtool.py
@@ -1015,3 +1015,15 @@ class DevtoolTests(DevtoolBase):
         self.track_for_cleanup(tempdir)
         self.track_for_cleanup(self.workspacedir)
         self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
+
+    def test_devtool_layer_plugins(self):
+        """Test that devtool can use plugins from other layers.
+
+        This test executes the selftest-reverse command from meta-selftest."""
+
+        self.track_for_cleanup(self.workspacedir)
+        self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
+
+        s = "Microsoft Made No Profit From Anyone's Zunes Yo"
+        result = runCmd("devtool --quiet selftest-reverse \"%s\"" % s)
+        self.assertEqual(result.output, s[::-1])
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 40/52] oeqa/selftest/wic: corrected testcase decorator for test18_iso_image
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (38 preceding siblings ...)
  2015-10-22 15:22 ` [PATCH v3 39/52] oeqa/selftest: verify that devtool can use plugins in other layers Joshua Lock
@ 2015-10-22 15:22 ` Joshua Lock
  2015-10-22 15:22 ` [PATCH v3 41/52] oeqa/selftest/wic: fix cleaning Joshua Lock
                   ` (12 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:22 UTC (permalink / raw)
  To: openembedded-core

From: Daniel Istrate <daniel.alexandrux.istrate@intel.com>

Changed testcase decorator for TC test18_iso_image from 1264 to 1346.

Signed-off-by: Daniel Istrate <daniel.alexandrux.istrate@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/lib/oeqa/selftest/wic.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py
index 7625505..f4c22f7 100644
--- a/meta/lib/oeqa/selftest/wic.py
+++ b/meta/lib/oeqa/selftest/wic.py
@@ -190,7 +190,7 @@ class Wic(oeSelfTest):
         self.assertEqual(1, len(glob(self.resultdir + \
                                      "%(wks)s-*.direct" % vars)))
 
-    @testcase(1264)
+    @testcase(1346)
     def test18_iso_image(self):
         """Test creation of hybrid iso image with legacy and EFI boot"""
         self.assertEqual(0, runCmd("wic create mkhybridiso "
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 41/52] oeqa/selftest/wic: fix cleaning
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (39 preceding siblings ...)
  2015-10-22 15:22 ` [PATCH v3 40/52] oeqa/selftest/wic: corrected testcase decorator for test18_iso_image Joshua Lock
@ 2015-10-22 15:22 ` Joshua Lock
  2015-10-22 15:22 ` [PATCH v3 42/52] oeqa/selftest: clean up selftest.inc in teardown Joshua Lock
                   ` (11 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:22 UTC (permalink / raw)
  To: openembedded-core

From: Ross Burton <ross.burton@intel.com>

In some situations the native tools built in setUpClass() are wiped from the
sysroot by the time the tests are executed, likely due to the cleanup performed
in the base setUp() method.

Avoid this by doing all of the preparatory building in setUpLocal.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/lib/oeqa/selftest/wic.py | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py
index f4c22f7..ca9a598 100644
--- a/meta/lib/oeqa/selftest/wic.py
+++ b/meta/lib/oeqa/selftest/wic.py
@@ -38,22 +38,19 @@ class Wic(oeSelfTest):
     """Wic test class."""
 
     resultdir = "/var/tmp/wic/build/"
-
-    @classmethod
-    def setUpClass(cls):
-        """Build wic runtime dependencies."""
-        bitbake('syslinux syslinux-native parted-native gptfdisk-native '
-                'dosfstools-native mtools-native')
-        Wic.image_is_ready = False
+    image_is_ready = False
 
     def setUpLocal(self):
         """This code is executed before each test method."""
-        features = 'IMAGE_FSTYPES += " hddimg"\nMACHINE_FEATURES_append = " efi"\n'
-        self.append_config(features)
+        self.write_config('IMAGE_FSTYPES += " hddimg"\nMACHINE_FEATURES_append = " efi"\n')
+
+        # Do this here instead of in setUpClass as the base setUp does some
+        # clean up which can result in the native tools built earlier in
+        # setUpClass being unavailable.
         if not Wic.image_is_ready:
-            # build core-image-minimal with required features
+            bitbake('syslinux syslinux-native parted-native gptfdisk-native '
+                    'dosfstools-native mtools-native')
             bitbake('core-image-minimal')
-            # set this class variable to avoid buiding image many times
             Wic.image_is_ready = True
 
         rmtree(self.resultdir, ignore_errors=True)
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 42/52] oeqa/selftest: clean up selftest.inc in teardown
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (40 preceding siblings ...)
  2015-10-22 15:22 ` [PATCH v3 41/52] oeqa/selftest/wic: fix cleaning Joshua Lock
@ 2015-10-22 15:22 ` Joshua Lock
  2015-10-22 15:22 ` [PATCH v3 43/52] oeqa/selftest/wic: remove numbers from test names Joshua Lock
                   ` (10 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:22 UTC (permalink / raw)
  To: openembedded-core

From: Ross Burton <ross.burton@intel.com>

Test cases may want to do call bitbake in setUpClass() but at that point the
previous selftest.inc is still present which could change the build
configuration and result in any built artifacts being removed in the next
bitbake invocation as part of the sysroot clean up.

Resolve this by cleaning selftest.inc in the tearDown, the clean in setUp should
be considered a safety net.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/lib/oeqa/selftest/base.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/lib/oeqa/selftest/base.py b/meta/lib/oeqa/selftest/base.py
index b2faa66..9bddc23 100644
--- a/meta/lib/oeqa/selftest/base.py
+++ b/meta/lib/oeqa/selftest/base.py
@@ -31,7 +31,7 @@ class oeSelfTest(unittest.TestCase):
         self.testinc_bblayers_path = os.path.join(self.builddir, "conf/bblayers.inc")
         self.testlayer_path = oeSelfTest.testlayer_path
         self._extra_tear_down_commands = []
-        self._track_for_cleanup = []
+        self._track_for_cleanup = [self.testinc_path]
         super(oeSelfTest, self).__init__(methodName)
 
     def setUp(self):
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 43/52] oeqa/selftest/wic: remove numbers from test names
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (41 preceding siblings ...)
  2015-10-22 15:22 ` [PATCH v3 42/52] oeqa/selftest: clean up selftest.inc in teardown Joshua Lock
@ 2015-10-22 15:22 ` Joshua Lock
  2015-10-22 15:22 ` [PATCH v3 44/52] oeqa/selftest: improve config writing and cleanup Joshua Lock
                   ` (9 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:22 UTC (permalink / raw)
  To: openembedded-core

From: Ross Burton <ross.burton@intel.com>

There isn't any required ordering of tests, and the numbers meant that the tests
didn't appear in oe-selftest --list-classes.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/lib/oeqa/selftest/wic.py | 46 +++++++++++++++++++++----------------------
 1 file changed, 23 insertions(+), 23 deletions(-)

diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py
index ca9a598..ea78e22 100644
--- a/meta/lib/oeqa/selftest/wic.py
+++ b/meta/lib/oeqa/selftest/wic.py
@@ -56,29 +56,29 @@ class Wic(oeSelfTest):
         rmtree(self.resultdir, ignore_errors=True)
 
     @testcase(1208)
-    def test01_help(self):
+    def test_help(self):
         """Test wic --help"""
         self.assertEqual(0, runCmd('wic --help').status)
 
     @testcase(1209)
-    def test02_createhelp(self):
+    def test_createhelp(self):
         """Test wic create --help"""
         self.assertEqual(0, runCmd('wic create --help').status)
 
     @testcase(1210)
-    def test03_listhelp(self):
+    def test_listhelp(self):
         """Test wic list --help"""
         self.assertEqual(0, runCmd('wic list --help').status)
 
     @testcase(1211)
-    def test04_build_image_name(self):
+    def test_build_image_name(self):
         """Test wic create directdisk --image-name core-image-minimal"""
         self.assertEqual(0, runCmd("wic create directdisk "
                                    "--image-name core-image-minimal").status)
         self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
 
     @testcase(1212)
-    def test05_build_artifacts(self):
+    def test_build_artifacts(self):
         """Test wic create directdisk providing all artifacts."""
         vars = dict((var.lower(), get_bb_var(var, 'core-image-minimal')) \
                         for var in ('STAGING_DATADIR', 'DEPLOY_DIR_IMAGE',
@@ -92,40 +92,40 @@ class Wic(oeSelfTest):
         self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
 
     @testcase(1157)
-    def test06_gpt_image(self):
+    def test_gpt_image(self):
         """Test creation of core-image-minimal with gpt table and UUID boot"""
         self.assertEqual(0, runCmd("wic create directdisk-gpt "
                                    "--image-name core-image-minimal").status)
         self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
 
     @testcase(1213)
-    def test07_unsupported_subcommand(self):
+    def test_unsupported_subcommand(self):
         """Test unsupported subcommand"""
         self.assertEqual(1, runCmd('wic unsupported',
                          ignore_status=True).status)
 
     @testcase(1214)
-    def test08_no_command(self):
+    def test_no_command(self):
         """Test wic without command"""
         self.assertEqual(1, runCmd('wic', ignore_status=True).status)
 
     @testcase(1215)
-    def test09_help_overview(self):
+    def test_help_overview(self):
         """Test wic help overview"""
         self.assertEqual(0, runCmd('wic help overview').status)
 
     @testcase(1216)
-    def test10_help_plugins(self):
+    def test_help_plugins(self):
         """Test wic help plugins"""
         self.assertEqual(0, runCmd('wic help plugins').status)
 
     @testcase(1217)
-    def test11_help_kickstart(self):
+    def test_help_kickstart(self):
         """Test wic help kickstart"""
         self.assertEqual(0, runCmd('wic help kickstart').status)
 
     @testcase(1264)
-    def test12_compress_gzip(self):
+    def test_compress_gzip(self):
         """Test compressing an image with gzip"""
         self.assertEqual(0, runCmd("wic create directdisk "
                                    "--image-name core-image-minimal "
@@ -134,7 +134,7 @@ class Wic(oeSelfTest):
                                          "directdisk-*.direct.gz")))
 
     @testcase(1265)
-    def test13_compress_bzip2(self):
+    def test_compress_bzip2(self):
         """Test compressing an image with bzip2"""
         self.assertEqual(0, runCmd("wic create directdisk "
                                    "--image-name core-image-minimal "
@@ -143,7 +143,7 @@ class Wic(oeSelfTest):
                                          "directdisk-*.direct.bz2")))
 
     @testcase(1266)
-    def test14_compress_xz(self):
+    def test_compress_xz(self):
         """Test compressing an image with xz"""
         self.assertEqual(0, runCmd("wic create directdisk "
                                    "--image-name core-image-minimal "
@@ -152,14 +152,14 @@ class Wic(oeSelfTest):
                                          "directdisk-*.direct.xz")))
 
     @testcase(1267)
-    def test15_wrong_compressor(self):
+    def test_wrong_compressor(self):
         """Test how wic breaks if wrong compressor is provided"""
         self.assertEqual(2, runCmd("wic create directdisk "
                                    "--image-name core-image-minimal "
                                    "-c wrong", ignore_status=True).status)
 
     @testcase(1268)
-    def test16_rootfs_indirect_recipes(self):
+    def test_rootfs_indirect_recipes(self):
         """Test usage of rootfs plugin with rootfs recipes"""
         wks = "directdisk-multi-rootfs"
         self.assertEqual(0, runCmd("wic create %s "
@@ -170,7 +170,7 @@ class Wic(oeSelfTest):
         self.assertEqual(1, len(glob(self.resultdir + "%s*.direct" % wks)))
 
     @testcase(1269)
-    def test17_rootfs_artifacts(self):
+    def test_rootfs_artifacts(self):
         """Test usage of rootfs plugin with rootfs paths"""
         vars = dict((var.lower(), get_bb_var(var, 'core-image-minimal')) \
                         for var in ('STAGING_DATADIR', 'DEPLOY_DIR_IMAGE',
@@ -188,7 +188,7 @@ class Wic(oeSelfTest):
                                      "%(wks)s-*.direct" % vars)))
 
     @testcase(1346)
-    def test18_iso_image(self):
+    def test_iso_image(self):
         """Test creation of hybrid iso image with legacy and EFI boot"""
         self.assertEqual(0, runCmd("wic create mkhybridiso "
                                    "--image-name core-image-minimal").status)
@@ -196,7 +196,7 @@ class Wic(oeSelfTest):
         self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.iso")))
 
     @testcase(1347)
-    def test19_image_env(self):
+    def test_image_env(self):
         """Test generation of <image>.env files."""
         image = 'core-image-minimal'
         stdir = get_bb_var('STAGING_DIR_TARGET', image)
@@ -219,7 +219,7 @@ class Wic(oeSelfTest):
                 self.assertTrue(content[var])
 
     @testcase(1351)
-    def test20_wic_image_type(self):
+    def test_wic_image_type(self):
         """Test building wic images by bitbake"""
         self.assertEqual(0, bitbake('wic-image-minimal').status)
 
@@ -234,7 +234,7 @@ class Wic(oeSelfTest):
             self.assertTrue(os.path.isfile(os.path.realpath(path)))
 
     @testcase(1348)
-    def test21_qemux86_directdisk(self):
+    def test_qemux86_directdisk(self):
         """Test creation of qemux-86-directdisk image"""
         image = "qemux86-directdisk"
         self.assertEqual(0, runCmd("wic create %s -e core-image-minimal" \
@@ -242,7 +242,7 @@ class Wic(oeSelfTest):
         self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
 
     @testcase(1349)
-    def test22_mkgummidisk(self):
+    def test_mkgummidisk(self):
         """Test creation of mkgummidisk image"""
         image = "mkgummidisk"
         self.assertEqual(0, runCmd("wic create %s -e core-image-minimal" \
@@ -250,7 +250,7 @@ class Wic(oeSelfTest):
         self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
 
     @testcase(1350)
-    def test23_mkefidisk(self):
+    def test_mkefidisk(self):
         """Test creation of mkefidisk image"""
         image = "mkefidisk"
         self.assertEqual(0, runCmd("wic create %s -e core-image-minimal" \
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 44/52] oeqa/selftest: improve config writing and cleanup
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (42 preceding siblings ...)
  2015-10-22 15:22 ` [PATCH v3 43/52] oeqa/selftest/wic: remove numbers from test names Joshua Lock
@ 2015-10-22 15:22 ` Joshua Lock
  2015-10-22 15:22 ` [PATCH v3 45/52] archiver.bbclass: Fixes and improves archiver class for kernel and gcc packages Joshua Lock
                   ` (8 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:22 UTC (permalink / raw)
  To: openembedded-core

From: Ross Burton <ross.burton@intel.com>

The selftest.inc configuration file is deleted in both tearDown() and setUp() so
there's no need to use addCleanup() to remove statements from it.

Use write_config instead of append_config if the intention is to start from an
empty config file, for clarity.

Finally remove some misleading comments that claim that append_config() writes
to local.conf when it doesn't.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/lib/oeqa/selftest/bbtests.py       |  9 +++------
 meta/lib/oeqa/selftest/buildoptions.py  |  4 ++--
 meta/lib/oeqa/selftest/imagefeatures.py | 16 ++++------------
 3 files changed, 9 insertions(+), 20 deletions(-)

diff --git a/meta/lib/oeqa/selftest/bbtests.py b/meta/lib/oeqa/selftest/bbtests.py
index 1c0e588..94ca79c 100644
--- a/meta/lib/oeqa/selftest/bbtests.py
+++ b/meta/lib/oeqa/selftest/bbtests.py
@@ -156,8 +156,7 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\"
 
     @testcase(1028)
     def test_environment(self):
-        self.append_config("TEST_ENV=\"localconf\"")
-        self.addCleanup(self.remove_config, "TEST_ENV=\"localconf\"")
+        self.write_config("TEST_ENV=\"localconf\"")
         result = runCmd('bitbake -e | grep TEST_ENV=')
         self.assertTrue('localconf' in result.output, msg = "bitbake didn't report any value for TEST_ENV variable. To test, run 'bitbake -e | grep TEST_ENV='")
 
@@ -184,8 +183,7 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\"
         ftools.write_file(preconf ,"TEST_PREFILE=\"prefile\"")
         result = runCmd('bitbake -r conf/prefile.conf -e | grep TEST_PREFILE=')
         self.assertTrue('prefile' in result.output, "Preconfigure file \"prefile.conf\"was not taken into consideration. ")
-        self.append_config("TEST_PREFILE=\"localconf\"")
-        self.addCleanup(self.remove_config, "TEST_PREFILE=\"localconf\"")
+        self.write_config("TEST_PREFILE=\"localconf\"")
         result = runCmd('bitbake -r conf/prefile.conf -e | grep TEST_PREFILE=')
         self.assertTrue('localconf' in result.output, "Preconfigure file \"prefile.conf\"was not taken into consideration.")
 
@@ -194,8 +192,7 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\"
         postconf = os.path.join(self.builddir, 'conf/postfile.conf')
         self.track_for_cleanup(postconf)
         ftools.write_file(postconf , "TEST_POSTFILE=\"postfile\"")
-        self.append_config("TEST_POSTFILE=\"localconf\"")
-        self.addCleanup(self.remove_config, "TEST_POSTFILE=\"localconf\"")
+        self.write_config("TEST_POSTFILE=\"localconf\"")
         result = runCmd('bitbake -R conf/postfile.conf -e | grep TEST_POSTFILE=')
         self.assertTrue('postfile' in result.output, "Postconfigure file \"postfile.conf\"was not taken into consideration.")
 
diff --git a/meta/lib/oeqa/selftest/buildoptions.py b/meta/lib/oeqa/selftest/buildoptions.py
index fbe0cd7..acf481f 100644
--- a/meta/lib/oeqa/selftest/buildoptions.py
+++ b/meta/lib/oeqa/selftest/buildoptions.py
@@ -39,7 +39,7 @@ class ImageOptionsTests(oeSelfTest):
         for image_file in deploydir_files:
             if imagename in image_file and os.path.islink(os.path.join(deploydir, image_file)):
                 track_original_files.append(os.path.realpath(os.path.join(deploydir, image_file)))
-        self.append_config("RM_OLD_IMAGE = \"1\"")
+        self.write_config("RM_OLD_IMAGE = \"1\"")
         bitbake("-C rootfs core-image-minimal")
         deploydir_files = os.listdir(deploydir)
         remaining_not_expected = [path for path in track_original_files if os.path.basename(path) in deploydir_files]
@@ -97,7 +97,7 @@ class SanityOptionsTest(oeSelfTest):
 
     @testcase(278)
     def test_sanity_userspace_dependency(self):
-        self.append_config('WARN_QA_append = " unsafe-references-in-binaries unsafe-references-in-scripts"')
+        self.write_config('WARN_QA_append = " unsafe-references-in-binaries unsafe-references-in-scripts"')
         bitbake("-ccleansstate gzip nfs-utils")
         res = bitbake("gzip nfs-utils")
         self.assertTrue("WARNING: QA Issue: gzip" in res.output, "WARNING: QA Issue: gzip message is not present in bitbake's output: %s" % res.output)
diff --git a/meta/lib/oeqa/selftest/imagefeatures.py b/meta/lib/oeqa/selftest/imagefeatures.py
index fcffc42..4efb0d9 100644
--- a/meta/lib/oeqa/selftest/imagefeatures.py
+++ b/meta/lib/oeqa/selftest/imagefeatures.py
@@ -25,9 +25,7 @@ class ImageFeatures(oeSelfTest):
         features = 'EXTRA_IMAGE_FEATURES = "ssh-server-openssh empty-root-password allow-empty-password"\n'
         features += 'INHERIT += "extrausers"\n'
         features += 'EXTRA_USERS_PARAMS = "useradd -p \'\' {}; usermod -s /bin/sh {};"'.format(self.test_user, self.test_user)
-
-        # Append 'features' to local.conf
-        self.append_config(features)
+        self.write_config(features)
 
         # Build a core-image-minimal
         bitbake('core-image-minimal')
@@ -53,9 +51,7 @@ class ImageFeatures(oeSelfTest):
         features = 'EXTRA_IMAGE_FEATURES = "ssh-server-openssh allow-empty-password"\n'
         features += 'INHERIT += "extrausers"\n'
         features += 'EXTRA_USERS_PARAMS = "useradd -p \'\' {}; usermod -s /bin/sh {};"'.format(self.test_user, self.test_user)
-
-        # Append 'features' to local.conf
-        self.append_config(features)
+        self.write_config(features)
 
         # Build a core-image-minimal
         bitbake('core-image-minimal')
@@ -87,9 +83,7 @@ class ImageFeatures(oeSelfTest):
         features += 'IMAGE_INSTALL_append = " openssh"\n'
         features += 'EXTRA_IMAGE_FEATURES = "empty-root-password allow-empty-password package-management"\n'
         features += 'RPMROOTFSDEPENDS_remove = "rpmresolve-native:do_populate_sysroot"'
-
-        # Append 'features' to local.conf
-        self.append_config(features)
+        self.write_config(features)
 
         # Build a core-image-minimal
         bitbake('core-image-minimal')
@@ -159,9 +153,7 @@ class ImageFeatures(oeSelfTest):
 
         features = 'DISTRO_FEATURES_append = " wayland"\n'
         features += 'CORE_IMAGE_EXTRA_INSTALL += "wayland weston"'
-
-        # Append 'features' to local.conf
-        self.append_config(features)
+        self.write_config(features)
 
         # Build a core-image-weston
         bitbake('core-image-weston')
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 45/52] archiver.bbclass: Fixes and improves archiver class for kernel and gcc packages
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (43 preceding siblings ...)
  2015-10-22 15:22 ` [PATCH v3 44/52] oeqa/selftest: improve config writing and cleanup Joshua Lock
@ 2015-10-22 15:22 ` Joshua Lock
  2015-10-22 15:22 ` [PATCH v3 46/52] build-appliance-image: Update to jethro head revision Joshua Lock
                   ` (7 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:22 UTC (permalink / raw)
  To: openembedded-core

From: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>

gcc packages use a shared source directory, this causes an issue since the archiver will
try to patch the same source several times (one for each gcc package), producing an error,
the archiver class used stamp-base to check this, nonetheless our gcc packages no longer
use stamp-base, they use gcc-shared instead, which is what broke this functionality.
This patch adds a check to see whether or not the source should be patched,
avoiding patching the source when it shouldn't.

Also, we dont need to create multiple identical tarballs for all gcc packages,
this patch fixes this and creates a single source tarball for gcc.

When requesting patched sources, a race condition is created for linux-yocto tasks,
unpack_and_patch is executed along with kernel_configme, which most of the time
causes errors during configure, since kernel_configme task is specific to the kernel,
simply modifying the tasks order by creating a dependency to kernel_configme was impossible,
causing errors on all other packages that didnt use kernel_configme, this is fixed by
creating a special case for the kernel, adding tasks with correct dependencies,
avoiding the race condition and behaving the way it should for all other packages as well.

[YOCTO #8378]

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/classes/archiver.bbclass | 27 ++++++++++++++++++++-------
 1 file changed, 20 insertions(+), 7 deletions(-)

diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass
index eec8024..41a552c 100644
--- a/meta/classes/archiver.bbclass
+++ b/meta/classes/archiver.bbclass
@@ -157,7 +157,7 @@ python do_ar_patched() {
     # Get the ARCHIVER_OUTDIR before we reset the WORKDIR
     ar_outdir = d.getVar('ARCHIVER_OUTDIR', True)
     bb.note('Archiving the patched source...')
-    d.setVar('WORKDIR', d.getVar('ARCHIVER_WORKDIR', True))
+    d.setVar('WORKDIR', ar_outdir)
     create_tarball(d, d.getVar('S', True), 'patched', ar_outdir)
 }
 
@@ -202,6 +202,10 @@ def create_tarball(d, srcdir, suffix, ar_outdir):
     """
     import tarfile
 
+    # Make sure we are only creating a single tarball for gcc sources
+    if d.getVar('SRC_URI', True) == "" and 'gcc' in d.getVar('PN', True):
+        return
+
     bb.utils.mkdirhier(ar_outdir)
     tarname = os.path.join(ar_outdir, '%s-%s.tar.gz' % \
             (d.getVar('PF', True), suffix))
@@ -246,11 +250,9 @@ python do_unpack_and_patch() {
             [ 'patched', 'configured'] and \
             d.getVarFlag('ARCHIVER_MODE', 'diff', True) != '1':
         return
-
-    ar_outdir = d.getVar('ARCHIVER_OUTDIR', True)
-
     # Change the WORKDIR to make do_unpack do_patch run in another dir.
-    d.setVar('WORKDIR', d.getVar('ARCHIVER_WORKDIR', True))
+    ar_outdir = d.getVar('ARCHIVER_OUTDIR', True)
+    d.setVar('WORKDIR', ar_outdir)
 
     # The changed 'WORKDIR' also casued 'B' changed, create dir 'B' for the
     # possibly requiring of the following tasks (such as some recipes's
@@ -270,7 +272,11 @@ python do_unpack_and_patch() {
         src = d.getVar('S', True).rstrip('/')
         src_orig = '%s.orig' % src
         oe.path.copytree(src, src_orig)
-    bb.build.exec_func('do_patch', d)
+
+    # Make sure gcc sources are patched only once
+    if not ((d.getVar('SRC_URI', True) == "" and 'gcc' in d.getVar('PN', True))):
+        bb.build.exec_func('do_patch', d)
+
     # Create the patches
     if d.getVarFlag('ARCHIVER_MODE', 'diff', True) == '1':
         bb.note('Creating diff gz...')
@@ -341,7 +347,6 @@ do_deploy_archives[sstate-inputdirs] = "${ARCHIVER_TOPDIR}"
 do_deploy_archives[sstate-outputdirs] = "${DEPLOY_DIR_SRC}"
 
 addtask do_ar_original after do_unpack
-addtask do_unpack_and_patch after do_patch
 addtask do_ar_patched after do_unpack_and_patch
 addtask do_ar_configured after do_unpack_and_patch
 addtask do_dumpdata
@@ -354,3 +359,11 @@ do_deploy_all_archives[recideptask] = "do_${BB_DEFAULT_TASK}"
 do_deploy_all_archives() {
         :
 }
+
+python () {
+    # Add tasks in the correct order, specifically for linux-yocto to avoid race condition
+    if bb.data.inherits_class('kernel-yocto', d):
+        bb.build.addtask('do_kernel_configme', 'do_configure', 'do_unpack_and_patch', d)
+    else:
+        bb.build.addtask('do_unpack_and_patch', None, 'do_patch', d)
+}
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 46/52] build-appliance-image: Update to jethro head revision
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (44 preceding siblings ...)
  2015-10-22 15:22 ` [PATCH v3 45/52] archiver.bbclass: Fixes and improves archiver class for kernel and gcc packages Joshua Lock
@ 2015-10-22 15:22 ` Joshua Lock
  2015-10-22 15:22 ` [PATCH v3 47/52] systemd: add PACKAGECONFIG to build with compatibility libraries Joshua Lock
                   ` (6 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:22 UTC (permalink / raw)
  To: openembedded-core

From: Richard Purdie <richard.purdie@linuxfoundation.org>

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/recipes-core/images/build-appliance-image_12.0.1.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-core/images/build-appliance-image_12.0.1.bb b/meta/recipes-core/images/build-appliance-image_12.0.1.bb
index 6f23ed4..ba24402 100644
--- a/meta/recipes-core/images/build-appliance-image_12.0.1.bb
+++ b/meta/recipes-core/images/build-appliance-image_12.0.1.bb
@@ -21,7 +21,7 @@ IMAGE_FSTYPES = "vmdk"
 
 inherit core-image
 
-SRCREV ?= "c9bdcf5be7f589ca95ad67d87f71efae41ac7c3e"
+SRCREV ?= "7d30d67b26f0d2408540c7bb820e47ce8815d546"
 SRC_URI = "git://git.yoctoproject.org/poky \
            file://Yocto_Build_Appliance.vmx \
            file://Yocto_Build_Appliance.vmxf \
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 47/52] systemd: add PACKAGECONFIG to build with compatibility libraries
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (45 preceding siblings ...)
  2015-10-22 15:22 ` [PATCH v3 46/52] build-appliance-image: Update to jethro head revision Joshua Lock
@ 2015-10-22 15:22 ` Joshua Lock
  2015-10-22 15:22 ` [PATCH v3 48/52] weston: add PACKAGECONFIG to build with systemd-login support Joshua Lock
                   ` (5 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:22 UTC (permalink / raw)
  To: openembedded-core

Systemd < 209 shipped separate pc files for various interfaces, these
can still be generated for compatibility with code using the older
interfaces.

Add a PACKAGECONFIG option to build systemd with the compatibility
pc files.

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>

FIX: systemd-compat
---
 meta/recipes-core/systemd/systemd_225.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-core/systemd/systemd_225.bb b/meta/recipes-core/systemd/systemd_225.bb
index c2dad58..9388046 100644
--- a/meta/recipes-core/systemd/systemd_225.bb
+++ b/meta/recipes-core/systemd/systemd_225.bb
@@ -89,6 +89,7 @@ PACKAGECONFIG[ldconfig] = "--enable-ldconfig,--disable-ldconfig,,"
 PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
 PACKAGECONFIG[valgrind] = "ac_cv_header_valgrind_memcheck_h=yes ac_cv_header_valgrind_valgrind_h=yes ,ac_cv_header_valgrind_memcheck_h=no ac_cv_header_valgrind_valgrind_h=no ,valgrind"
 PACKAGECONFIG[qrencode] = "--enable-qrencode,--disable-qrencode,qrencode"
+PACKAGECONFIG[compat] = "--enable-compat-libs,--disable-compat-libs"
 
 CACHED_CONFIGUREVARS += "ac_cv_path_KILL=${base_bindir}/kill"
 CACHED_CONFIGUREVARS += "ac_cv_path_KMOD=${base_bindir}/kmod"
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 48/52] weston: add PACKAGECONFIG to build with systemd-login support
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (46 preceding siblings ...)
  2015-10-22 15:22 ` [PATCH v3 47/52] systemd: add PACKAGECONFIG to build with compatibility libraries Joshua Lock
@ 2015-10-22 15:22 ` Joshua Lock
  2015-10-22 15:22 ` [PATCH v3 49/52] systemd: make dbus an optional build time dependency Joshua Lock
                   ` (4 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:22 UTC (permalink / raw)
  To: openembedded-core

Automatically enable this support for distributions which have
systemd in DISTRO_FEATURES.

We add additional patches to weston, backported from Weston
git, to support the newer single libsystemd pkg-config file
and to make the enabling of systemd-login support explicit.

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
---
 .../weston/explicit-enable-disable-systemd.patch   | 70 ++++++++++++++++++++++
 .../wayland/weston/libsystemd.patch                | 53 ++++++++++++++++
 meta/recipes-graphics/wayland/weston_1.8.0.bb      |  5 ++
 3 files changed, 128 insertions(+)
 create mode 100644 meta/recipes-graphics/wayland/weston/explicit-enable-disable-systemd.patch
 create mode 100644 meta/recipes-graphics/wayland/weston/libsystemd.patch

diff --git a/meta/recipes-graphics/wayland/weston/explicit-enable-disable-systemd.patch b/meta/recipes-graphics/wayland/weston/explicit-enable-disable-systemd.patch
new file mode 100644
index 0000000..a40eaf1
--- /dev/null
+++ b/meta/recipes-graphics/wayland/weston/explicit-enable-disable-systemd.patch
@@ -0,0 +1,70 @@
+From 8e1efcd40b3bad81c83744e2e120d70c2b567ef2 Mon Sep 17 00:00:00 2001
+From: Frederico Cadete <frederico@cadete.eu>
+Date: Mon, 28 Sep 2015 00:30:10 +0200
+Subject: configure.ac: add explicit enable/disable for systemd-login support
+
+Otherwise, auto-enable depending on whether the system has the necessary
+libraries.
+
+[Updated help text as per pq suggestion -- bwh]
+
+Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
+Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
+Tested-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
+
+Upstream-Status: Backport
+Backported from Weston git:
+http://cgit.freedesktop.org/wayland/weston/commit/?id=8e1efc
+
+Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
+
+diff --git a/configure.ac b/configure.ac
+index a9cd429..67e80d0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -380,18 +380,30 @@ AC_ARG_ENABLE(resize-optimization,
+ AS_IF([test "x$enable_resize_optimization" = "xyes"],
+       [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])])
+ 
+-PKG_CHECK_MODULES(SYSTEMD_LOGIN,
+-                  [libsystemd >= 209],
+-                  [have_systemd_login_209=yes;have_systemd_login=yes],
+-                  [have_systemd_login_209=no;have_systemd_login=no])
+-
+-# Older versions of systemd package systemd-login separately. Fall back on that
+-AS_IF([test x$have_systemd_login != xyes],[
+-      PKG_CHECK_MODULES(SYSTEMD_LOGIN,
+-                        [libsystemd-login >= 198],
+-                        [have_systemd_login=yes],
+-                        [have_systemd_login=no])
+-      ])
++AC_ARG_ENABLE(systemd-login,
++              AS_HELP_STRING([--enable-systemd-login],
++                             [Enable logind support]),,
++              enable_systemd_login=auto)
++if test x$enable_systemd_login != xno; then
++  PKG_CHECK_MODULES(SYSTEMD_LOGIN,
++                    [libsystemd >= 209],
++                    [have_systemd_login_209=yes;have_systemd_login=yes],
++                    [have_systemd_login_209=no;have_systemd_login=no])
++
++  # Older versions of systemd package systemd-login separately. Fall back on that
++  AS_IF([test x$have_systemd_login != xyes],[
++        PKG_CHECK_MODULES(SYSTEMD_LOGIN,
++                          [libsystemd-login >= 198],
++                          [have_systemd_login=yes],
++                          [have_systemd_login=no])
++        ])
++else
++  have_systemd_login=no
++fi
++
++if test "x$have_systemd_login" = "xno" -a "x$enable_systemd_login" = "xyes"; then
++  AC_MSG_ERROR([systemd-login support explicitly enabled, but can't find libsystemd>=209 or libsystemd-login])
++fi
+ 
+ AS_IF([test "x$have_systemd_login" = "xyes"],
+       [AC_DEFINE([HAVE_SYSTEMD_LOGIN], [1], [Have systemd-login])])
+-- 
+cgit v0.10.2
+
diff --git a/meta/recipes-graphics/wayland/weston/libsystemd.patch b/meta/recipes-graphics/wayland/weston/libsystemd.patch
new file mode 100644
index 0000000..2d28d56
--- /dev/null
+++ b/meta/recipes-graphics/wayland/weston/libsystemd.patch
@@ -0,0 +1,53 @@
+From 5eb025a867b42f8bc7bc73279eac8de58e51a13e Mon Sep 17 00:00:00 2001
+From: Frederico Cadete <frederico@cadete.eu>
+Date: Mon, 28 Sep 2015 00:30:09 +0200
+Subject: configure.ac: add support for new versions of systemd
+
+Starting from systemd version 209, a single libsystemd.pc is provided.
+For previous versions, fall back on libsystemd-login.pc.
+
+Signed-off-by: Frederico Cadete <frederico@cadete.eu>
+Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
+Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
+
+Upstream-Status: Backport
+Backported from Weston git:
+http://cgit.freedesktop.org/wayland/weston/commit/?id=5eb025
+
+Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
+
+diff --git a/configure.ac b/configure.ac
+index 045291c..a9cd429 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -380,14 +380,23 @@ AC_ARG_ENABLE(resize-optimization,
+ AS_IF([test "x$enable_resize_optimization" = "xyes"],
+       [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])])
+ 
+-PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libsystemd-login >= 198],
+-                  [have_systemd_login=yes], [have_systemd_login=no])
++PKG_CHECK_MODULES(SYSTEMD_LOGIN,
++                  [libsystemd >= 209],
++                  [have_systemd_login_209=yes;have_systemd_login=yes],
++                  [have_systemd_login_209=no;have_systemd_login=no])
++
++# Older versions of systemd package systemd-login separately. Fall back on that
++AS_IF([test x$have_systemd_login != xyes],[
++      PKG_CHECK_MODULES(SYSTEMD_LOGIN,
++                        [libsystemd-login >= 198],
++                        [have_systemd_login=yes],
++                        [have_systemd_login=no])
++      ])
++
+ AS_IF([test "x$have_systemd_login" = "xyes"],
+       [AC_DEFINE([HAVE_SYSTEMD_LOGIN], [1], [Have systemd-login])])
+ AM_CONDITIONAL(HAVE_SYSTEMD_LOGIN, test "x$have_systemd_login" = "xyes")
+ 
+-PKG_CHECK_MODULES(SYSTEMD_LOGIN_209, [libsystemd-login >= 209],
+-                  [have_systemd_login_209=yes], [have_systemd_login_209=no])
+ AS_IF([test "x$have_systemd_login_209" = "xyes"],
+       [AC_DEFINE([HAVE_SYSTEMD_LOGIN_209], [1], [Have systemd-login >= 209])])
+ 
+-- 
+cgit v0.10.2
+
diff --git a/meta/recipes-graphics/wayland/weston_1.8.0.bb b/meta/recipes-graphics/wayland/weston_1.8.0.bb
index 342c604..ec7d4f4 100644
--- a/meta/recipes-graphics/wayland/weston_1.8.0.bb
+++ b/meta/recipes-graphics/wayland/weston_1.8.0.bb
@@ -12,6 +12,8 @@ SRC_URI = "http://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
            file://make-libwebp-explicitly-configurable.patch \
            file://0001-make-error-portable.patch \
            file://parallelmake.patch \
+           file://libsystemd.patch \
+           file://explicit-enable-disable-systemd.patch \
 "
 SRC_URI[md5sum] = "24cb8a7ed0535b4fc3642643988dab36"
 SRC_URI[sha256sum] = "8963e69f328e815cec42c58046c4af721476c7541bb7d9edc71740fada5ad312"
@@ -39,6 +41,7 @@ EXTRA_OECONF_append_qemux86-64 = "\
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'launch', '', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
                   "
 #
 # Compositor choices
@@ -67,6 +70,8 @@ PACKAGECONFIG[lcms] = "--enable-lcms,--disable-lcms,lcms"
 PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
 # Weston with unwinding support
 PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind"
+# Weston with systemd-login support
+PACKAGECONFIG[systemd] = ",,systemd dbus"
 
 do_install_append() {
 	# Weston doesn't need the .la files to load modules, so wipe them
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 49/52] systemd: make dbus an optional build time dependency
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (47 preceding siblings ...)
  2015-10-22 15:22 ` [PATCH v3 48/52] weston: add PACKAGECONFIG to build with systemd-login support Joshua Lock
@ 2015-10-22 15:22 ` Joshua Lock
  2015-10-22 15:22 ` [PATCH v3 50/52] weston: add a PACKAGECONFIG option for xwayland support Joshua Lock
                   ` (3 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:22 UTC (permalink / raw)
  To: openembedded-core

The dbus buildtime dependency is only required in order to build
dbus related tests in modern systemd, make this a PACKAGECONFIG
option.

This changes the default behaviour to no longer build dbus
related tests without explicitly enabling the PACKAGECONFIG.

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
---
 meta/recipes-core/systemd/systemd_225.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-core/systemd/systemd_225.bb b/meta/recipes-core/systemd/systemd_225.bb
index 9388046..ac3e9b8 100644
--- a/meta/recipes-core/systemd/systemd_225.bb
+++ b/meta/recipes-core/systemd/systemd_225.bb
@@ -18,7 +18,7 @@ PROVIDES = "udev"
 
 PE = "1"
 
-DEPENDS = "kmod docbook-sgml-dtd-4.1-native intltool-native gperf-native acl readline dbus libcap libcgroup qemu-native util-linux"
+DEPENDS = "kmod docbook-sgml-dtd-4.1-native intltool-native gperf-native acl readline libcap libcgroup qemu-native util-linux"
 
 SECTION = "base/shell"
 
@@ -90,6 +90,7 @@ PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
 PACKAGECONFIG[valgrind] = "ac_cv_header_valgrind_memcheck_h=yes ac_cv_header_valgrind_valgrind_h=yes ,ac_cv_header_valgrind_memcheck_h=no ac_cv_header_valgrind_valgrind_h=no ,valgrind"
 PACKAGECONFIG[qrencode] = "--enable-qrencode,--disable-qrencode,qrencode"
 PACKAGECONFIG[compat] = "--enable-compat-libs,--disable-compat-libs"
+PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
 
 CACHED_CONFIGUREVARS += "ac_cv_path_KILL=${base_bindir}/kill"
 CACHED_CONFIGUREVARS += "ac_cv_path_KMOD=${base_bindir}/kmod"
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 50/52] weston: add a PACKAGECONFIG option for xwayland support
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (48 preceding siblings ...)
  2015-10-22 15:22 ` [PATCH v3 49/52] systemd: make dbus an optional build time dependency Joshua Lock
@ 2015-10-22 15:22 ` Joshua Lock
  2015-10-22 15:22 ` [PATCH v3 51/52] xserver-xorg: add Xwayland RRECOMMENDS Joshua Lock
                   ` (2 subsequent siblings)
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:22 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
---
 meta/recipes-graphics/wayland/weston_1.8.0.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-graphics/wayland/weston_1.8.0.bb b/meta/recipes-graphics/wayland/weston_1.8.0.bb
index ec7d4f4..544144d 100644
--- a/meta/recipes-graphics/wayland/weston_1.8.0.bb
+++ b/meta/recipes-graphics/wayland/weston_1.8.0.bb
@@ -24,7 +24,6 @@ DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg"
 DEPENDS += "wayland libinput virtual/egl pango"
 
 EXTRA_OECONF = "--enable-setuid-install \
-                --disable-xwayland \
                 --enable-simple-clients \
                 --enable-clients \
                 --enable-demo-clients-install \
@@ -72,6 +71,8 @@ PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
 PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind"
 # Weston with systemd-login support
 PACKAGECONFIG[systemd] = ",,systemd dbus"
+# Weston with Xwayland support
+PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland,libxcb libxcursor cairo"
 
 do_install_append() {
 	# Weston doesn't need the .la files to load modules, so wipe them
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 51/52] xserver-xorg: add Xwayland RRECOMMENDS
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (49 preceding siblings ...)
  2015-10-22 15:22 ` [PATCH v3 50/52] weston: add a PACKAGECONFIG option for xwayland support Joshua Lock
@ 2015-10-22 15:22 ` Joshua Lock
  2015-10-22 15:22 ` [PATCH v3 52/52] xserver-xorg: drop empty ${PN}-security-policy package Joshua Lock
  2015-10-22 15:23 ` [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:22 UTC (permalink / raw)
  To: openembedded-core

Xwayland has the same runtime dependencies as the standard
xserver so set RRECOMMENDS the same way.

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
---
 meta/recipes-graphics/xorg-xserver/xserver-xorg.inc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
index 9881c94..30b3485 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
@@ -72,7 +72,9 @@ PACKAGES =+ "${PN}-security-policy \
 SUMMARY_xf86-video-modesetting = "X.Org X server -- modesetting display driver"
 INSANE_SKIP_xf86-video-modesetting = "xorg-driver-abi"
 
-RRECOMMENDS_${PN} += "${PN}-security-policy xkeyboard-config rgb xserver-xf86-config xkbcomp"
+XSERVER_RRECOMMENDS = "${PN}-security-policy xkeyboard-config rgb xserver-xf86-config xkbcomp"
+RRECOMMENDS_${PN} += "${XSERVER_RRECOMMENDS}"
+RRECOMMENDS_${PN}-xwayland += "${XSERVER_RRECOMMENDS}"
 RDEPENDS_${PN}-xvfb += "xkeyboard-config"
 RDEPENDS_${PN}-module-exa = "${PN} (= ${EXTENDPKGV})"
 
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* [PATCH v3 52/52] xserver-xorg: drop empty ${PN}-security-policy package
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (50 preceding siblings ...)
  2015-10-22 15:22 ` [PATCH v3 51/52] xserver-xorg: add Xwayland RRECOMMENDS Joshua Lock
@ 2015-10-22 15:22 ` Joshua Lock
  2015-10-22 15:23 ` [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:22 UTC (permalink / raw)
  To: openembedded-core

The SecurityPolicy hasn't been included since 2007[1] and the
last remnants were removed from the code base in 2010[2].

1. http://cgit.freedesktop.org/xorg/xserver/commit/?id=9d03ca
2. http://cgit.freedesktop.org/xorg/xserver/commit/?id=19d03d

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
---
 meta/recipes-graphics/xorg-xserver/xserver-xorg.inc | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
index 30b3485..91df2b7 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
@@ -44,8 +44,7 @@ DEPENDS = "${PROTO_DEPS} ${LIB_DEPS} font-util"
 #          libextmod.so
 #          libdbe.so
 
-PACKAGES =+ "${PN}-security-policy \
-             ${PN}-sdl \
+PACKAGES =+ "${PN}-sdl \
              ${PN}-fbdev \
              ${PN}-xvfb \
              ${PN}-utils \
@@ -72,7 +71,7 @@ PACKAGES =+ "${PN}-security-policy \
 SUMMARY_xf86-video-modesetting = "X.Org X server -- modesetting display driver"
 INSANE_SKIP_xf86-video-modesetting = "xorg-driver-abi"
 
-XSERVER_RRECOMMENDS = "${PN}-security-policy xkeyboard-config rgb xserver-xf86-config xkbcomp"
+XSERVER_RRECOMMENDS = "xkeyboard-config rgb xserver-xf86-config xkbcomp"
 RRECOMMENDS_${PN} += "${XSERVER_RRECOMMENDS}"
 RRECOMMENDS_${PN}-xwayland += "${XSERVER_RRECOMMENDS}"
 RDEPENDS_${PN}-xvfb += "xkeyboard-config"
@@ -85,7 +84,6 @@ FILES_${PN}-dbg += "${libdir}/xorg/modules/.debug \
                     ${libdir}/xorg/modules/*/.debug \
                     ${libdir}/xorg/modules/*/*/.debug \
                     "
-FILES_${PN}-security-policy += "${libdir}/xserver/SecurityPolicy"
 FILES_${PN}-sdl = "${bindir}/Xsdl"
 FILES_${PN}-fbdev = "${bindir}/Xfbdev"
 FILES_${PN}-xvfb = "${bindir}/Xvfb"
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 54+ messages in thread

* Re: [PATCH v3 00/52] Various metadata tweaks v3
  2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
                   ` (51 preceding siblings ...)
  2015-10-22 15:22 ` [PATCH v3 52/52] xserver-xorg: drop empty ${PN}-security-policy package Joshua Lock
@ 2015-10-22 15:23 ` Joshua Lock
  52 siblings, 0 replies; 54+ messages in thread
From: Joshua Lock @ 2015-10-22 15:23 UTC (permalink / raw)
  To: openembedded-core

On 22/10/15 16:21, Joshua Lock wrote:
>
> The following series are some tidy ups and changes made whilst
> porting a distro with systemd and a Weston + Xwayland userland to
> Jethro.

Ugh, please ignore - due to user error driving the pull request scripts 
this series includes a bunch of patches I didn't write that are already 
merged.

Sincere apologies,

Joshua



^ permalink raw reply	[flat|nested] 54+ messages in thread

end of thread, other threads:[~2015-10-22 15:24 UTC | newest]

Thread overview: 54+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-22 15:21 [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock
2015-10-22 15:21 ` [PATCH v3 01/52] common-licenses: use correct GFDL-1.1 license text Joshua Lock
2015-10-22 15:21 ` [PATCH v3 02/52] build-compare: drop PATCHTOOL setting Joshua Lock
2015-10-22 15:21 ` [PATCH v3 03/52] tzdata: reinstate changes reverted in 2014c upgrade Joshua Lock
2015-10-22 15:21 ` [PATCH v3 04/52] gcc-4.x: fix wrong warning when using the universal zero initializer {0} Joshua Lock
2015-10-22 15:21 ` [PATCH v3 05/52] coreutils: fix for native and nativesdk Joshua Lock
2015-10-22 15:21 ` [PATCH v3 06/52] grub-efi, gummiboot: Emit correct path in startup.nsh Joshua Lock
2015-10-22 15:21 ` [PATCH v3 07/52] linux-yocto-custom: fix typo in Upstream-Status tag Joshua Lock
2015-10-22 15:21 ` [PATCH v3 08/52] metadata_scm: rewrite git hash logic Joshua Lock
2015-10-22 15:21 ` [PATCH v3 09/52] devtool: extract: fix error handling Joshua Lock
2015-10-22 15:21 ` [PATCH v3 10/52] classes/base: provide hints on PACKAGECONFIG error Joshua Lock
2015-10-22 15:21 ` [PATCH v3 11/52] toolchain-shar-extract.sh: provide proper path for env_setup_script Joshua Lock
2015-10-22 15:21 ` [PATCH v3 12/52] image-live: make SYSLINUX_ROOT changable in image recipes Joshua Lock
2015-10-22 15:21 ` [PATCH v3 13/52] scripts/gen-lockedsig-cache: fix race with temp file creation Joshua Lock
2015-10-22 15:21 ` [PATCH v3 14/52] test-empty-image: rename from core-image-empty Joshua Lock
2015-10-22 15:21 ` [PATCH v3 15/52] oetest: Add tearDownLocal class Joshua Lock
2015-10-22 15:21 ` [PATCH v3 16/52] oeqa/runtime: Fix setUp and tearDown methods Joshua Lock
2015-10-22 15:21 ` [PATCH v3 17/52] classes/populate_sdk_ext: consistent indentation Joshua Lock
2015-10-22 15:21 ` [PATCH v3 18/52] classes/populate_sdk_ext: prevent image construction from executing on install Joshua Lock
2015-10-22 15:21 ` [PATCH v3 19/52] classes/populate_sdk_ext: add note to env setup script Joshua Lock
2015-10-22 15:21 ` [PATCH v3 20/52] classes/populate_sdk_ext: detect and warn if running in OE environment Joshua Lock
2015-10-22 15:21 ` [PATCH v3 21/52] toolchain-shar-extract.sh: print full-length title underline Joshua Lock
2015-10-22 15:21 ` [PATCH v3 22/52] libc-package: Fix localedef multilib dependency issues Joshua Lock
2015-10-22 15:21 ` [PATCH v3 23/52] devtool: handle virtual providers Joshua Lock
2015-10-22 15:21 ` [PATCH v3 24/52] populate SDK: prepare calling of bb.utils for exceptions Joshua Lock
2015-10-22 15:21 ` [PATCH v3 25/52] sanity.bbclass: expand warning when chmod fails Joshua Lock
2015-10-22 15:21 ` [PATCH v3 26/52] openssh: fix file permission for /etc/pam.d/sshd Joshua Lock
2015-10-22 15:21 ` [PATCH v3 27/52] sudo: fix file permission for /etc/pam.d/sudo Joshua Lock
2015-10-22 15:21 ` [PATCH v3 28/52] gcc-5.2: Fix various _FOR_BUILD and related variables Joshua Lock
2015-10-22 15:21 ` [PATCH v3 29/52] rpm: remove spurious build dependencies Joshua Lock
2015-10-22 15:21 ` [PATCH v3 30/52] i2c-tools: fix inverted RDEPENDS Joshua Lock
2015-10-22 15:21 ` [PATCH v3 31/52] qemu: disable Valgrind Joshua Lock
2015-10-22 15:21 ` [PATCH v3 32/52] useradd_base.bbclass: Do not warn without a reason Joshua Lock
2015-10-22 15:21 ` [PATCH v3 33/52] oeqa/selftest/manifest.py: Test support for manifests Joshua Lock
2015-10-22 15:21 ` [PATCH v3 34/52] oeqa/utils/ftools: Ignore the exception if file does not exist Joshua Lock
2015-10-22 15:21 ` [PATCH v3 35/52] oeqa/utils/ftools: From functions that expect data, check if None Joshua Lock
2015-10-22 15:21 ` [PATCH v3 36/52] oeqa/selftest/bbtests: clean up local DL_DIR/SSTATE_DIR safely Joshua Lock
2015-10-22 15:21 ` [PATCH v3 37/52] oeqa/selftest/bbtests: Updated bitbake TCs Joshua Lock
2015-10-22 15:21 ` [PATCH v3 38/52] oeqa/selftest/buildoptions: Use the correct script for cleaning the workdir Joshua Lock
2015-10-22 15:22 ` [PATCH v3 39/52] oeqa/selftest: verify that devtool can use plugins in other layers Joshua Lock
2015-10-22 15:22 ` [PATCH v3 40/52] oeqa/selftest/wic: corrected testcase decorator for test18_iso_image Joshua Lock
2015-10-22 15:22 ` [PATCH v3 41/52] oeqa/selftest/wic: fix cleaning Joshua Lock
2015-10-22 15:22 ` [PATCH v3 42/52] oeqa/selftest: clean up selftest.inc in teardown Joshua Lock
2015-10-22 15:22 ` [PATCH v3 43/52] oeqa/selftest/wic: remove numbers from test names Joshua Lock
2015-10-22 15:22 ` [PATCH v3 44/52] oeqa/selftest: improve config writing and cleanup Joshua Lock
2015-10-22 15:22 ` [PATCH v3 45/52] archiver.bbclass: Fixes and improves archiver class for kernel and gcc packages Joshua Lock
2015-10-22 15:22 ` [PATCH v3 46/52] build-appliance-image: Update to jethro head revision Joshua Lock
2015-10-22 15:22 ` [PATCH v3 47/52] systemd: add PACKAGECONFIG to build with compatibility libraries Joshua Lock
2015-10-22 15:22 ` [PATCH v3 48/52] weston: add PACKAGECONFIG to build with systemd-login support Joshua Lock
2015-10-22 15:22 ` [PATCH v3 49/52] systemd: make dbus an optional build time dependency Joshua Lock
2015-10-22 15:22 ` [PATCH v3 50/52] weston: add a PACKAGECONFIG option for xwayland support Joshua Lock
2015-10-22 15:22 ` [PATCH v3 51/52] xserver-xorg: add Xwayland RRECOMMENDS Joshua Lock
2015-10-22 15:22 ` [PATCH v3 52/52] xserver-xorg: drop empty ${PN}-security-policy package Joshua Lock
2015-10-22 15:23 ` [PATCH v3 00/52] Various metadata tweaks v3 Joshua Lock

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.