Date   

Re: Force nostamp from recipe

Chris Z. <winotu.email@...>
 

On Thu, Sep 29, 2016 at 10:23 AM, Svein Seldal <sveinse@...> wrote:
Hi

I have a recipe using externalsrc, and with the version of poky I'm running, it nostamps do_compile.

Can I force other nostamp tasks from my recipe? E.g. do_configure?

I'm building this recipe for one MACHINE and then rerun the compilation for another MACHINE. The recipe is setup to build for tune, which is equal. The latter run fails linking because it's referring to the first machine's sysroot, not the second. This would have been fixed if the second run would call the do_configure task.


Best regards,
Svein
--
_______________________________________________
yocto mailing list
yocto@...
https://lists.yoctoproject.org/listinfo/yocto


Re: build a toolchain compiler with ARM hard-float support

Richard Purdie
 

On Thu, 2016-09-29 at 09:10 +0000, Karim ATIKI wrote:
Hi,

I'm using Poky Jethro to build on Toradex Colibri-T20 (armv7).

I want to build my own SDK Installer to have  a toolchain and a
sysroot.

Currently, I realied that the toolchain installer files do not
provide an arm-poky-linux-gnuabi compiler with hard-float support.
For example, while compiling my project:

/opt/poky/2.0.1/sysroots/armv7a-vfp-neon-poky-linux-
gnueabi/usr/include/gnu/stubs.h:10:29: fatal error: gnu/stubs-hard.h:
No such file or directory

Therefore:

 How to be sure that the compiler generated by "bitbake -c
populate_sdk" will support hard-float ? Is there a configuration file
?
You need to choose a MACHINE which uses hard-float.

Cheers,

Richard


build a toolchain compiler with ARM hard-float support

Atiki Karim
 

Hi,


I'm using Poky Jethro to build on Toradex Colibri-T20 (armv7).


I want to build my own SDK Installer to have  a toolchain and a sysroot.


Currently, I realied that the toolchain installer files do not provide an arm-poky-linux-gnuabi compiler with hard-float support.

For example, while compiling my project:


/opt/poky/2.0.1/sysroots/armv7a-vfp-neon-poky-linux-gnueabi/usr/include/gnu/stubs.h:10:29: fatal error: gnu/stubs-hard.h: No such file or directory


Therefore:


 How to be sure that the compiler generated by "bitbake -c populate_sdk" will support hard-float ? Is there a configuration file ?


Karim



Re: [meta-cgl][PATCH] resource-agents: 3.9.6 -> 3.9.7

Adrian Dudau
 

On tor, 2016-09-22 at 01:45 +0000, Wang, Xin wrote:
ping

-----Original Message-----
From: Wang, Xin/王 鑫
Sent: Thursday, September 01, 2016 12:24 PM
To: yocto@...
Cc: Wang, Xin/王 鑫
Subject: [yocto][meta-cgl][PATCH] resource-agents: 3.9.6 -> 3.9.7

Upgrade resource-agents from 3.9.6 to 3.9.7.

Signed-off-by: Wang Xin <wangxin2015.fnst@...>
---
.../{resource-agents_3.9.6.bb => resource-agents_3.9.7.bb} | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-) rename meta-cgl-common/recipes-cgl/cluster-resource-agents/{resource-agents_3.9.6.bb => resource-agents_3.9.7.bb} (95%)

diff --git a/meta-cgl-common/recipes-cgl/cluster-resource-agents/resource-agents_3.9.6.bb b/meta-cgl-common/recipes-cgl/cluster-resource-agents/resource-agents_3.9.7.bb
similarity index 95%
rename from meta-cgl-common/recipes-cgl/cluster-resource-agents/resource-agents_3.9.6.bb
rename to meta-cgl-common/recipes-cgl/cluster-resource-agents/resource-agents_3.9.7.bb
index 18ef1e8..a0d4e1f 100644
--- a/meta-cgl-common/recipes-cgl/cluster-resource-agents/resource-agents_3.9.6.bb
+++ b/meta-cgl-common/recipes-cgl/cluster-resource-agents/resource-agent
+++ s_3.9.7.bb
@@ -20,8 +20,8 @@ SRC_URI = "https://codeload.github.com/ClusterLabs/resource-agents/tar.gz/v${PV}
file://03-fix-header-defs-lookup.patch \
"

-SRC_URI[md5sum] = "6873d5a217aee3026193fb85bfa18a4a"
-SRC_URI[sha256sum] = "39722cdee68ff96d06788f05f325bd21ec2fc59c59d847e5e4b23c6df23bf678"
+SRC_URI[md5sum] = "c59096b1bacc704e8a5a285f15729109"
+SRC_URI[sha256sum] = "e5bd62658fbc236acb83b709f64b2cd9fae52aa4a420a44fed5eb667e928b152"

LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \
--
2.7.4


Hi Wang

This patch has already been merged to master
(http://git.yoctoproject.org/cgit/cgit.cgi/meta-cgl/commit/?id=7b0cd876eb215335a9fa6bfdfd0f0cfd14fbf2b9) as well as the other two.

Cheers,
--Adrian


Force nostamp from recipe

Svein Seldal
 

Hi

I have a recipe using externalsrc, and with the version of poky I'm running, it nostamps do_compile.

Can I force other nostamp tasks from my recipe? E.g. do_configure?

I'm building this recipe for one MACHINE and then rerun the compilation for another MACHINE. The recipe is setup to build for tune, which is equal. The latter run fails linking because it's referring to the first machine's sysroot, not the second. This would have been fixed if the second run would call the do_configure task.


Best regards,
Svein


[meta-security][PATCH] scapy: upgrade to 2.3.2

Jackie Huang
 

From: Jackie Huang <jackie.huang@...>

* update the SRC_URI since it's been moved
from bitbucket to github.

* add ptest support

Signed-off-by: Jackie Huang <jackie.huang@...>
---
recipes-security/scapy/scapy/run-ptest | 4 ++++
recipes-security/scapy/{scapy_2.3.1.bb => scapy_2.3.2.bb} | 15 +++++++++++----
2 files changed, 15 insertions(+), 4 deletions(-)
create mode 100755 recipes-security/scapy/scapy/run-ptest
rename recipes-security/scapy/{scapy_2.3.1.bb => scapy_2.3.2.bb} (71%)

diff --git a/recipes-security/scapy/scapy/run-ptest b/recipes-security/scapy/scapy/run-ptest
new file mode 100755
index 0000000..91b29f9
--- /dev/null
+++ b/recipes-security/scapy/scapy/run-ptest
@@ -0,0 +1,4 @@
+#!/bin/sh
+UTscapy -t regression.uts -f text -l -C \
+ -o @PTEST_PATH@/scapy_ptest_$(date +%Y%m%d-%H%M%S).log \
+ 2>&1 | sed -e 's/^passed None/PASS:/' -e 's/^failed None/FAIL:/'
diff --git a/recipes-security/scapy/scapy_2.3.1.bb b/recipes-security/scapy/scapy_2.3.2.bb
similarity index 71%
rename from recipes-security/scapy/scapy_2.3.1.bb
rename to recipes-security/scapy/scapy_2.3.2.bb
index d8c731b..0a42ad9 100644
--- a/recipes-security/scapy/scapy_2.3.1.bb
+++ b/recipes-security/scapy/scapy_2.3.2.bb
@@ -5,12 +5,19 @@ LICENSE = "GPLv2"

LIC_FILES_CHKSUM = "file://bin/scapy;beginline=9;endline=13;md5=1d5249872cc54cd4ca3d3879262d0c69"

-SRC_URI = "https://bitbucket.org/secdev/${PN}/downloads/${BP}.zip"
+SRC_URI = "https://github.com/secdev/${BPN}/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
+ file://run-ptest \
+"

-SRC_URI[md5sum] = "a30d828e59801d1d092219b349f1da9e"
-SRC_URI[sha256sum] = "8972c02e39a826a10c02c2bdd5025f7251dce9589c57befd9bb55c65f02e4934"
+SRC_URI[md5sum] = "00f11df3d6b46fe6ac306efd757486f9"
+SRC_URI[sha256sum] = "1b8a86d687feb8ed01114c0c016b428674cbfec04e3eb6f5249a018c427c4f6a"

-inherit setuptools
+inherit setuptools ptest
+
+do_install_ptest() {
+ install -m 0644 ${S}/test/regression.uts ${D}${PTEST_PATH}
+ sed -i 's,@PTEST_PATH@,${PTEST_PATH},' ${D}${PTEST_PATH}/run-ptest
+}

RDEPENDS_${PN} = "tcpdump python-subprocess python-compression python-netclient \
python-netserver python-pydoc python-pkgutil python-shell \
--
2.8.3


Re: How to add my own c++ project into a Yocto distro

Paul Eggleton
 

On Fri, 23 Sep 2016 20:10:17 Fred Ollinger wrote:
Here's how to write a recipe:


http://www.yoctoproject.org/docs/1.6/dev-manual/dev-manual.html#new-recipe-w
riting-a-new-recipe
That's the 1.6 version - you may want the "current" link so that you're
always looking the most recent stable version of the manual:

http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#new-recipe-writing-a-new-recipe

Cheers,
Paul

--

Paul Eggleton
Intel Open Source Technology Centre


Re: [meta-mingw][PATCH 0/7] Updates for krogoth/master

Richard Purdie
 

On Wed, 2016-09-28 at 17:06 +0300, Ioan-Adrian Ratiu wrote:
On Sat, 20 Aug 2016, Juro Bystricky <juro.bystricky@...> wrote:

Krogoth recipes fail to cross-compile for Windows using meta-mingw
layer.
In particular, the following should/used to work (jethro with meta-
mingw layer):

SDKMACHINE="i686-mingw32"
MACHINE="qemux86"
TCLIBC="baremetal"
bitbake gcc-cross-canadian-i586

SDKMACHINE="i686-mingw32"
MACHINE="qemux86"
bitbake meta-toolchain

This patchset updates meta-mingw layer so the above work for
krogoth as well.
There is no "krogoth" branch for meta-mingw, these patches should
go there once the
branch exists.
FWIW, I tested these patches with the current poky master as well,
and succeed in cross-compiling
of the most common recipes (for both SDKMACHINE=i686-mingw32 and
SDKMACHINE=x86_64-mingw32)
such as:
    bitbake gcc-cross-canadian-i586
    bitbake gdb-cross-canadian-i586
    bitbake meta-toolchain
    bitbake core-image-minimal -c populate_sdk

[YOCTO#10143]
Ping? Any info when this series will be integrated?
I'd tried multiple times to untangle which set of patches this needed
to be applied on top of (several of Mark Hatle's). I think I've finally
figured it out and have pushed things.

Cheers,

Richard


Re: [meta-mingw][PATCH 0/7] Updates for krogoth/master

Ioan-Adrian Ratiu
 

On Sat, 20 Aug 2016, Juro Bystricky <juro.bystricky@...> wrote:
Krogoth recipes fail to cross-compile for Windows using meta-mingw layer.
In particular, the following should/used to work (jethro with meta-mingw layer):

SDKMACHINE="i686-mingw32"
MACHINE="qemux86"
TCLIBC="baremetal"
bitbake gcc-cross-canadian-i586

SDKMACHINE="i686-mingw32"
MACHINE="qemux86"
bitbake meta-toolchain

This patchset updates meta-mingw layer so the above work for krogoth as well.
There is no "krogoth" branch for meta-mingw, these patches should go there once the
branch exists.
FWIW, I tested these patches with the current poky master as well, and succeed in cross-compiling
of the most common recipes (for both SDKMACHINE=i686-mingw32 and SDKMACHINE=x86_64-mingw32)
such as:
bitbake gcc-cross-canadian-i586
bitbake gdb-cross-canadian-i586
bitbake meta-toolchain
bitbake core-image-minimal -c populate_sdk

[YOCTO#10143]
Ping? Any info when this series will be integrated?

Thank you,
Ionel




Juro Bystricky (7):
*-mingw32.conf: Upgrade for krogoth
gettext_0.19.4.bbappend: Update for later versions
binutils-cross-canadian_2.25%.bbappend: Work with all 2.2* versions
gcc-runtime: Drop libitm for mingw32 runtime
gmp_6.0.0.bbappend: Removed
mpfr_3.1.3.bbappend: Work with all 3.1.% versions
gdb-cross-canadian_7.9.1: Work with all 7.% versions

conf/machine-sdk/i686-mingw32.conf | 7 ++++++-
conf/machine-sdk/x86_64-mingw32.conf | 7 ++++++-
recipes-core/gettext/gettext_0.19.%.bbappend | 6 ++++++
recipes-core/gettext/gettext_0.19.4.bbappend | 2 --
recipes-devtools/binutils/binutils-cross-canadian_2.2%.bbappend | 5 +++++
recipes-devtools/binutils/binutils-cross-canadian_2.25%.bbappend | 5 -----
recipes-devtools/gcc/gcc-runtime_%.bbappend | 1 +
recipes-devtools/gdb/gdb-cross-canadian_7.%.bbappend | 7 +++++++
recipes-devtools/gdb/gdb-cross-canadian_7.9.1.bbappend | 5 -----
recipes-support/gmp/gmp_6.0.0.bbappend | 3 ---
recipes-support/mpfr/mpfr_3.1.%.bbappend | 1 +
recipes-support/mpfr/mpfr_3.1.3.bbappend | 1 -
12 files changed, 32 insertions(+), 18 deletions(-)
create mode 100644 recipes-core/gettext/gettext_0.19.%.bbappend
delete mode 100644 recipes-core/gettext/gettext_0.19.4.bbappend
create mode 100644 recipes-devtools/binutils/binutils-cross-canadian_2.2%.bbappend
delete mode 100644 recipes-devtools/binutils/binutils-cross-canadian_2.25%.bbappend
create mode 100644 recipes-devtools/gdb/gdb-cross-canadian_7.%.bbappend
delete mode 100644 recipes-devtools/gdb/gdb-cross-canadian_7.9.1.bbappend
delete mode 100644 recipes-support/gmp/gmp_6.0.0.bbappend
create mode 100644 recipes-support/mpfr/mpfr_3.1.%.bbappend
delete mode 100644 recipes-support/mpfr/mpfr_3.1.3.bbappend

--
2.7.4

--
_______________________________________________
yocto mailing list
yocto@...
https://lists.yoctoproject.org/listinfo/yocto


Re: What is the common way to extend an package without bbappend?

Burton, Ross <ross.burton@...>
 


On 28 September 2016 at 14:50, <S.Jaritz@...> wrote:
do_install () {
        install -d ${D}/usr/share/apache2/htdocs/
        cp -r ${S}/myweb/* ${D}/usr/share/apache2/htdocs/
}
FILES_${PN} += "/usr/share/apache2/htdocs/*"

Just put the files somewhere else, like /var/www/myweb/.  You'll need to configure apache appropriately, of course, but I've not done that for about a decade.

Ross


Antwort: Re: What is the common way to extend an package without bbappend?

S.Jaritz@...
 

Can you give me an example how to modify my recipe?
I attach the simple code below:
##### myweb.bb ######
SUMMARY = "myweb"
SECTION = "example"
LICENSE = "CLOSED"

SRC_URI = "file://myweb.zip"

DEPENDS = "apache2"

S = "${WORKDIR}"

do_install () {
        install -d ${D}/usr/share/apache2/htdocs/
        cp -r ${S}/myweb/* ${D}/usr/share/apache2/htdocs/
}
FILES_${PN} += "/usr/share/apache2/htdocs/*"
###########

Regards!

Stefan Jaritz
------------------------------------------------------------
ESA Elektroschaltanlagen Grimma GmbH
Broner Ring 30
04668 Grimma
Telefon: +49 3437 9211 176
Telefax: +49 3437 9211 26
E-Mail: s.jaritz@...
Internet:
www.esa-grimma.de


Geschäftsführer:
Dipl.-Ing. Jörg Gaitzsch
Jörg Reinker

Sitz der Gesellschaft: Grimma
Ust.-ID: DE 141784437
Amtsgericht: Leipzig, HRB 5159
Steuernummer: 238/108/00755


Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten
haben, informieren Sie bitte sofort den Absender und löschen Sie diese
Nachricht. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail
ist nicht gestattet.

This e-mail may contain confidential and/or privileged information. If you are
not the intended recipient (or have received this e-mail in error) please
notify the sender immediately and destroy this e-mail. Any unauthorized
copying, disclosure or distribution of the material in this e-mail is strictly
forbidden.




Von:        "Burton, Ross" <ross.burton@...>
An:        S.Jaritz@...
Kopie:        "yocto@..." <yocto@...>
Datum:        28.09.2016 15:44
Betreff:        Re: [yocto] What is the common way to extend an package without bbappend?





On 28 September 2016 at 14:40, <S.Jaritz@...> wrote:
When populate_sysroot is called in myweb.bb finishes with the error:

myweb-1.0-r0 do_populate_sysroot: The recipe myweb is trying to install files into a shared area when those files already exist. Those files and their manifest location are:

   /home/user/myTC/poky/build/tmp/sysroots/sama5d3xek/usr/share/apache2/htdocs/index.html


because the index.html needs to be overwritten.


Is there a easy way to overwrite or tell bitbake to uses my index.html?


Put the myweb content into an entirely new directory and drop a configuration file in that tells apache to server from your own directory?

Ross


Re: What is the common way to extend an package without bbappend?

Burton, Ross <ross.burton@...>
 


On 28 September 2016 at 14:40, <S.Jaritz@...> wrote:
When populate_sysroot is called in myweb.bb finishes with the error:

myweb-1.0-r0 do_populate_sysroot: The recipe myweb is trying to install files into a shared area when those files already exist. Those files and their manifest location are:
   /home/user/myTC/poky/build/tmp/sysroots/sama5d3xek/usr/share/apache2/htdocs/index.html

because the index.html needs to be overwritten.

Is there a easy way to overwrite or tell bitbake to uses my index.html?

Put the myweb content into an entirely new directory and drop a configuration file in that tells apache to server from your own directory?

Ross


What is the common way to extend an package without bbappend?

S.Jaritz@...
 

Hej

I want to install apache2 + a website. For that I need to copy my website to the std. dir defined in the apache config file. In my thinking my website uses the apache service to be aviable and therefore is an own package (myweb.bb). This package contains the dependency to the "apache2" recipe.

When populate_sysroot is called in myweb.bb finishes with the error:

myweb-1.0-r0 do_populate_sysroot: The recipe myweb is trying to install files into a shared area when those files already exist. Those files and their manifest location are:
   /home/user/myTC/poky/build/tmp/sysroots/sama5d3xek/usr/share/apache2/htdocs/index.html

because the index.html needs to be overwritten.

Is there a easy way to overwrite or tell bitbake to uses my index.html?

regards!

Stefan Jaritz

------------------------------------------------------------
ESA Elektroschaltanlagen Grimma GmbH
Broner Ring 30
04668 Grimma
Telefon: +49 3437 9211 176
Telefax: +49 3437 9211 26
E-Mail: s.jaritz@...
Internet:
www.esa-grimma.de


Geschäftsführer:
Dipl.-Ing. Jörg Gaitzsch
Jörg Reinker

Sitz der Gesellschaft: Grimma
Ust.-ID: DE 141784437
Amtsgericht: Leipzig, HRB 5159
Steuernummer: 238/108/00755


Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten
haben, informieren Sie bitte sofort den Absender und löschen Sie diese
Nachricht. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail
ist nicht gestattet.

This e-mail may contain confidential and/or privileged information. If you are
not the intended recipient (or have received this e-mail in error) please
notify the sender immediately and destroy this e-mail. Any unauthorized
copying, disclosure or distribution of the material in this e-mail is strictly
forbidden.


[meta-raspberry] No spi, i2c when booting with uboot (RPI 3)

Romil84
 

Hello,
 
when Im booting my rpi3 (B Rev 1.2) without u-boot erverything works fine. I can see spi and i2c in dmesg.
 
But when I boot with u-boot (KERNEL_IMAGETYPE = "uImage"), spi and i2c seem to be disabled.
I dont see anything with spi or i2c in dmesg.
 
In both cases I use the same cmdline and device-tree (bcm2710-rpi-3-b.dtb).
 
I noticed something strange in the boot messages:
When bootings with u-boot i can see-> Machine model: Raspberry Pi 3 Model B
Without u-boot it is-> Machine model: Raspberry Pi 3 Model B Rev 1.2
 
Why is there a difference when Im using the same device-tree? Could this be the reason why spi and i2c is disabled?
 
Thx for helping,
Romil


Re: [yocto-autobuilder][PATCH] PublishArtifacts.py: Make PublishArtifacts step to fail when cp fails

Joshua Lock <joshua.g.lock@...>
 

On Tue, 2016-09-27 at 09:34 -0500, mariano.lopez@... wrote:
From: Mariano Lopez <mariano.lopez@...>

When publishing the artifacts, sometimes the cp commands fails
because it can't find the origin files, but the step in te
autobuilder
is green, like there were no errors at all. This will catch these
errors, and will mark the build step as failed when cp fails.
Merged and pushed, thanks!

Joshua


[YOCTO #10319]

Signed-off-by: Mariano Lopez <mariano.lopez@...>
---
 .../autobuilder/buildsteps/PublishArtifacts.py     | 54 +++++++++++-
----------
 1 file changed, 28 insertions(+), 26 deletions(-)

diff --git a/lib/python2.7/site-
packages/autobuilder/buildsteps/PublishArtifacts.py
b/lib/python2.7/site-
packages/autobuilder/buildsteps/PublishArtifacts.py
index e738521..633600c 100644
--- a/lib/python2.7/site-
packages/autobuilder/buildsteps/PublishArtifacts.py
+++ b/lib/python2.7/site-
packages/autobuilder/buildsteps/PublishArtifacts.py
@@ -34,6 +34,7 @@ class PublishArtifacts(ShellCommand):
         ShellCommand.__init__(self, **kwargs)
 
     def start(self):
+        pipeline = "|| export PA_FAIL=1"
         layerversion_yoctobsp=1
         DEST=self.getProperty("DEST")
         buildername=self.getProperty("buildername")
@@ -80,12 +81,12 @@ class PublishArtifacts(ShellCommand):
                     command=command+"mkdir -p " + os.path.join(DEST,
ADT_INST_PUBLISH_DIR) + ";"
                     command=command+"cp -R --no-dereference --
preserve=links " + \
                                     os.path.join(self.tmpdir,
"deploy/sdk/") + \
-                                    "*adt* " + os.path.join(DEST,
ADT_INST_PUBLISH_DIR) + ";"
+                                    "*adt* " + os.path.join(DEST,
ADT_INST_PUBLISH_DIR) + pipeline + ";"
                 elif artifact == "adt-installer-QA":
                     command=command+"mkdir -p " + os.path.join(DEST,
ADTQA_INST_PUBLISH_DIR) + ";"
                     command=command+"cp -R --no-dereference --
preserve=links " + \
                                     os.path.join(self.tmpdir,
"deploy/sdk/") + \
-                                    "*adt* " + os.path.join(DEST,
ADTQA_INST_PUBLISH_DIR)+ ";"
+                                    "*adt* " + os.path.join(DEST,
ADTQA_INST_PUBLISH_DIR) + pipeline + ";"
                 elif artifact == "adtrepo-dev":
                     adt_dev_dest= os.environ.get("ADTREPO_DEV_PATH")
+ "/" + distroversion + "-" + got_revision_poky + '-' +
self.getProperty("branch_poky")
                     command=command+"mkdir -p " + adt_dev_dest +
"/adt-ipk;"
@@ -105,39 +106,39 @@ class PublishArtifacts(ShellCommand):
                     command=command+"cp --no-dereference --
preserve=links " + \
                                      os.path.join(deploy_dir,
"org.*.zip") + \
                                      " " + os.path.join(deploy_dir,
"org.*.md5sum") + \
-                                     " " + DEST + "/eclipse-
plugin/"+ artifact_base +";"
+                                     " " + DEST + "/eclipse-
plugin/"+ artifact_base + pipeline + ";"
                 elif artifact == "build-appliance":
                     command=command+"mkdir -p " + DEST + "/" +
BA_PUBLISH_DIR + ";"
                     if self.layerversion_core is not None and
int(self.layerversion_core) > 2:
                         command=command+"cp -R --no-dereference --
preserve=links " + \
                                         os.path.join(self.tmpdir,
"deploy/images/qemux86-64/*.zip") + \
-                                        " " + DEST + "/" +
BA_PUBLISH_DIR + ";"
+                                        " " + DEST + "/" +
BA_PUBLISH_DIR + pipeline + ";"
                     else:
                         command=command+"cp -R --no-dereference --
preserve=links " + \
                                         os.path.join(self.tmpdir,
"deploy/images/*.zip") + \
-                                        " " + DEST + "/" +
BA_PUBLISH_DIR + ";"
+                                        " " + DEST + "/" +
BA_PUBLISH_DIR + pipeline + ";"
                 elif artifact == "buildtools-tarball":
                     artifact_name, deploy_image_dir =
self.getDeployNames(artifact, buildername)
                     command=command+self.generateMD5cmd(artifact,
deploy_image_dir)
                     command=command+"mkdir -p " + DEST +
"/buildtools;"
                     command=command+"cp -R --no-dereference --
preserve=links " + \
                                     os.path.join(deploy_image_dir,
"*buildtools*") + \
-                                    " " + DEST + "/buildtools;"
+                                    " " + DEST + "/buildtools" +
pipeline + ";"
                 elif artifact == "rpm":
                     command=command+"mkdir -p " + os.path.join(DEST,
RPM_PUBLISH_DIR) + ";"
                     command=command+"cp -R --no-dereference --
preserve=links " + \
                                     os.path.join(self.tmpdir,
"deploy/rpm/* ") + \
-                                    os.path.join(DEST,
RPM_PUBLISH_DIR) + ";"
+                                    os.path.join(DEST,
RPM_PUBLISH_DIR) + pipeline + ";"
                 elif artifact == "deb":
                     command=command+"mkdir -p " + os.path.join(DEST,
DEB_PUBLISH_DIR) + ";"
                     command=command+"cp -R --no-dereference --
preserve=links " + \
                                     os.path.join(self.tmpdir,
"deploy/deb/* ") + \
-                                    os.path.join(DEST,
DEB_PUBLISH_DIR) + ";"
+                                    os.path.join(DEST,
DEB_PUBLISH_DIR) + pipeline + ";"
                 elif artifact == "ipk":
                     command=command+"mkdir -p " + os.path.join(DEST,
IPK_PUBLISH_DIR) + ";"
                     command=command+"cp -R --no-dereference --
preserve=links " + \
                                     os.path.join(self.tmpdir,
"deploy/ipk/* ") + \
-                                    os.path.join(DEST,
IPK_PUBLISH_DIR) + ";"
+                                    os.path.join(DEST,
IPK_PUBLISH_DIR) + pipeline + ";"
                 elif artifact == "sstate":
                     if str(os.environ.get("PUBLISH_SSTATE")) ==
"True":
                         sstate_dir = os.environ.get("SSTATE_DIR")
@@ -145,7 +146,7 @@ class PublishArtifacts(ShellCommand):
                         if sstate_dir is not None and pub_dir is not
None:
                             command=command+"mkdir -p " + pub_dir +
";"
                             command=command+"cp -R --no-dereference
--preserve=links " + \
-                                     sstate_dir + "/* " + pub_dir +
";"
+                                     sstate_dir + "/* " + pub_dir +
pipeline + ";"
                         else:
                             command=command+"echo 'Skipping copy of
sstate, directories not configured.';"
                     else:
@@ -156,31 +157,31 @@ class PublishArtifacts(ShellCommand):
                     command=command+"mkdir -p " + os.path.join(DEST,
X86TC_PUBLISH_DIR) + ";"
                     command=command+"cp -R --no-dereference --
preserve=links " + \
                                     os.path.join(deploy_image_dir,
"poky-*i686-core-image*.sh ") + \
-                                    os.path.join(DEST,
X86TC_PUBLISH_DIR) + ";"
+                                    os.path.join(DEST,
X86TC_PUBLISH_DIR) + pipeline + ";"
                     command=command+"mkdir -p " + os.path.join(DEST,
X8664TC_PUBLISH_DIR) + ";"
                     command=command+"cp -R --no-dereference --
preserve=links " + \
                                     os.path.join(deploy_image_dir,
"poky-*x86_64-core-image*.sh ") + \
-                                    os.path.join(DEST,
X8664TC_PUBLISH_DIR) + ";"
+                                    os.path.join(DEST,
X8664TC_PUBLISH_DIR) + pipeline + ";"
                 elif artifact == "uninative":
                     artifact_name, deploy_image_dir =
self.getDeployNames(artifact, buildername)
                     command=command+self.generateMD5cmd(artifact,
deploy_image_dir)
                     command=command+"mkdir -p " + os.path.join(DEST,
X86TC_PUBLISH_DIR) + ";"
                     command=command+"cp -R --no-dereference --
preserve=links " + \
                                     os.path.join(deploy_image_dir,
"i686-nativesdk-libc* ") + \
-                                    os.path.join(DEST,
X86TC_PUBLISH_DIR) + ";"
+                                    os.path.join(DEST,
X86TC_PUBLISH_DIR) + pipeline + ";"
                     command=command+"mkdir -p " + os.path.join(DEST,
X8664TC_PUBLISH_DIR) + ";"
                     command=command+"cp -R --no-dereference --
preserve=links " + \
                                     os.path.join(deploy_image_dir,
"x86_64-nativesdk-libc* ") + \
-                                    os.path.join(DEST,
X8664TC_PUBLISH_DIR) + ";"
+                                    os.path.join(DEST,
X8664TC_PUBLISH_DIR) + pipeline + ";"
                 elif artifact == "oe-toolchain":
                     command=command+"mkdir -p " + os.path.join(DEST,
X86TC_PUBLISH_DIR) + ";"
                     command=command+"cp -R --no-dereference --
preserve=links " + \
                                     os.path.join(self.tmpdir,
"deploy/sdk/oecore-i686* ") + \
-                                    os.path.join(DEST,
X86TC_PUBLISH_DIR) + ";"
+                                    os.path.join(DEST,
X86TC_PUBLISH_DIR) + pipeline + ";"
                     command=command+"mkdir -p " + os.path.join(DEST,
X8664TC_PUBLISH_DIR) + ";"
                     command=command+"cp -R --no-dereference --
preserve=links " + \
                                     os.path.join(self.tmpdir,
"deploy/sdk/oecore-x86_64* ") + \
-                                    os.path.join(DEST,
X8664TC_PUBLISH_DIR) + ";"
+                                    os.path.join(DEST,
X8664TC_PUBLISH_DIR) + pipeline + ";"
                 elif "qemu" in artifact:
                     artifact_name, deploy_image_dir =
self.getDeployNames(artifact, buildername)
                     command += self.generateMD5cmd(artifact,
deploy_image_dir)
@@ -190,35 +191,35 @@ class PublishArtifacts(ShellCommand):
                         command=command+"cp --no-dereference --
preserve=links " + \
                                     deploy_image_dir + "/*\.direct "
+ \
                                     deploy_image_dir +
"/*\.direct.md5sum " + \
-                                    DEST + "/" + QEMU_PUBLISH_DIR +
"/" + artifact_name + ";"
+                                    DEST + "/" + QEMU_PUBLISH_DIR +
"/" + artifact_name + pipeline + ";"
                     else:
                         command=command+"cp -R --no-dereference --
preserve=links " + \
                                     deploy_image_dir + \
-                                    "/*" + artifact + "* " + DEST +
"/" + QEMU_PUBLISH_DIR + "/" + artifact_name + ";"
+                                    "/*" + artifact + "* " + DEST +
"/" + QEMU_PUBLISH_DIR + "/" + artifact_name + pipeline + ";"
                 elif "mpc8315e" in artifact:
                     artifact_name, deploy_image_dir =
self.getDeployNames(artifact, buildername)
                     command += self.generateMD5cmd(artifact,
deploy_image_dir)
                     command=command+"mkdir -p " + DEST + "/" +
MACHINE_PUBLISH_DIR + "/" + artifact_name + ";"
                     command=command+"cp -R --no-dereference --
preserve=links " + \
                                     deploy_image_dir + \
-                                    "/*mpc8315* " + DEST + "/" +
MACHINE_PUBLISH_DIR + "/" + artifact_name + ";"
+                                    "/*mpc8315* " + DEST + "/" +
MACHINE_PUBLISH_DIR + "/" + artifact_name + pipeline + ";"
                 elif artifact == "tiny":
                     command=command+"mkdir -p " + DEST + "/" +
QEMU_PUBLISH_DIR + "/qemu-tiny;"
                     command += self.generateMD5cmd(artifact,
QEMU_PUBLISH_DIR + "/qemu-tiny")
                     if self.layerversion_core is not None and
int(self.layerversion_core) > 2:
                         command=command+"cp -R --no-dereference --
preserve=links " + \
                                         os.path.join(self.tmpdir,
"deploy/images/qemux86/* ") + \
-                                        " " + DEST + "/" +
QEMU_PUBLISH_DIR + "/qemu-tiny;"
+                                        " " + DEST + "/" +
QEMU_PUBLISH_DIR + "/qemu-tiny" + pipeline + ";"
                     else:
                         command=command+"cp -R --no-dereference --
preserve=links " + \
                                         os.path.join(self.tmpdir,
"deploy/images/*") + \
-                                        DEST + "/" +
QEMU_PUBLISH_DIR + "/qemu-tiny;"
+                                        DEST + "/" +
QEMU_PUBLISH_DIR + "/qemu-tiny" +  pipeline + ";"
                 elif artifact == "conf":
                     artifact_name, deploy_image_dir =
self.getDeployNames(artifact, buildername)
                     command=command+"mkdir -p " + DEST + "/"+
MACHINE_PUBLISH_DIR + "/" + artifact_name + "/conf;"
                     command=command+"cp -R --no-dereference " + \
                                      os.path.join(self.basedir,
"conf/") + \
-                                     "/* " + DEST + "/" +
MACHINE_PUBLISH_DIR + "/" + artifact_name + "/conf;"
+                                     "/* " + DEST + "/" +
MACHINE_PUBLISH_DIR + "/" + artifact_name + "/conf" +  pipeline + ";"
                 elif artifact == "md5sums":
                     command = command + "echo 'MD5sums are generated
and deployed from the image or toolchain artifact';"
                 elif artifact == "None":
@@ -238,19 +239,20 @@ class PublishArtifacts(ShellCommand):
                             command=command+"cp --no-dereference --
preserve=links " + \
                                     deploy_image_dir + "/*\.direct "
+ \
                                     deploy_image_dir +
"/*\.direct.md5sum " + \
-                                    DEST + "/" + MACHINE_PUBLISH_DIR
+ "/" + artifact_name + ";"
+                                    DEST + "/" + MACHINE_PUBLISH_DIR
+ "/" + artifact_name + pipeline + ";"
                         else:
                             command=command+"mkdir -p " + DEST +
"/"+ MACHINE_PUBLISH_DIR +"/" + artifact_name + ";"
                             if "beagle" in artifact:
                                 command=command+"cp -R --no-
dereference --preserve=links " + \
                                              deploy_image_dir + \
-                                             "/*Image* " + DEST +
"/" + MACHINE_PUBLISH_DIR +"/" + artifact_name + ";"
+                                             "/*Image* " + DEST +
"/" + MACHINE_PUBLISH_DIR +"/" + artifact_name + pipeline + ";"
                                 command=command+"cp -R --no-
dereference --preserve=links " + \
                                              deploy_image_dir + \
-                                             "/u-boot* " + DEST +
"/" + MACHINE_PUBLISH_DIR +"/" + artifact_name + ";"
+                                             "/u-boot* " + DEST +
"/" + MACHINE_PUBLISH_DIR +"/" + artifact_name + pipeline + ";"
                             command=command+"cp -R --no-dereference
--preserve=links " + \
                                          deploy_image_dir + \
-                                         "/*"+artifact+"* " + DEST +
"/" + MACHINE_PUBLISH_DIR +"/" + artifact_name + ";"
+                                         "/*"+artifact+"* " + DEST +
"/" + MACHINE_PUBLISH_DIR +"/" + artifact_name + pipeline + ";"
+            command=command+'if [ "$PA_FAIL" = "1" ]; then exit 1;
fi;'
             self.command = command
         else:
             self.command = "echo 'Skipping Step.'"
-- 
1.9.1


Re: [layerindex-web][PATCH 08/10] layerindex: Add collection and version to layerbranch

Mark Hatle <mark.hatle@...>
 

On 9/26/16 1:25 PM, Liam R. Howlett wrote:
Collection and version will be pulled from the layer.conf if it exists
and dependencies will be resolved by first checking for layers with the
dependency name and then checking for collections. It is necessary to
shutdown tinfoil to avoid bitbake complaining about multiple instances.
I think I found a bug in this patch. The collection/version apparently needs to
be 'unique' in the layerbranch.

So if you have two layerbranch entries, associated with different branches (say
master and krogoth) you will get an error that they both have the same
collection name.

(This happened when I tried to use the admin interface to set the values.)

I will look into a solution for this problem.

--Mark

Signed-off-by: Liam R. Howlett <Liam.Howlett@...>
---
layerindex/models.py | 2 ++
layerindex/tools/import_layer.py | 3 ---
layerindex/update.py | 1 +
layerindex/update_layer.py | 25 +++++++++++++++++++------
layerindex/utils.py | 16 ++++++++++++++--
5 files changed, 36 insertions(+), 11 deletions(-)

diff --git a/layerindex/models.py b/layerindex/models.py
index 2db8818..dcccb1f 100644
--- a/layerindex/models.py
+++ b/layerindex/models.py
@@ -130,6 +130,8 @@ class LayerItem(models.Model):
class LayerBranch(models.Model):
layer = models.ForeignKey(LayerItem)
branch = models.ForeignKey(Branch)
+ collection = models.CharField('Layer Collection', max_length=40, unique=True, null=True, help_text='Name of the layer that could be used in the list of dependencies - must be unique and can only contain letters, numbers and dashes')
+ version = models.CharField('Layer Version', max_length=10, null=True, help_text='The layer version for this particular branch.')
vcs_subdir = models.CharField('Repository subdirectory', max_length=40, blank=True, help_text='Subdirectory within the repository where the layer is located, if not in the root (usually only used if the repository contains more than one layer)')
vcs_last_fetch = models.DateTimeField('Last successful fetch', blank=True, null=True)
vcs_last_rev = models.CharField('Last revision fetched', max_length=80, blank=True)
diff --git a/layerindex/tools/import_layer.py b/layerindex/tools/import_layer.py
index 0a13d21..21dd802 100755
--- a/layerindex/tools/import_layer.py
+++ b/layerindex/tools/import_layer.py
@@ -383,9 +383,6 @@ def main():
layerdep.layerbranch = layerbranch
layerdep.dependency = core_layer
layerdep.save()
- layerconfparser = LayerConfParse(logger=logger)
- config_data = layerconfparser.parse_layer(layerdir)
- layerconfparser.shutdown()
utils.add_dependencies(layerbranch, config_data, logger=logger)


diff --git a/layerindex/update.py b/layerindex/update.py
index ecd2380..e15caf6 100755
--- a/layerindex/update.py
+++ b/layerindex/update.py
@@ -213,6 +213,7 @@ def main():
layerbranch = layer.get_layerbranch(branch)
if layerbranch.vcs_subdir:
repodir = os.path.join(repodir, layerbranch.vcs_subdir)
+
config_data = layerconfparser.parse_layer(repodir)
utils.add_dependencies(layerbranch, config_data, logger=logger)

diff --git a/layerindex/update_layer.py b/layerindex/update_layer.py
index a937000..22c0dab 100644
--- a/layerindex/update_layer.py
+++ b/layerindex/update_layer.py
@@ -196,16 +196,18 @@ def main():
except recipeparse.RecipeParseError as e:
logger.error(str(e))
sys.exit(1)
+ config_data = bb.data.createCopy(tinfoil.config_data)
+ tinfoil.shutdown()

# Clear the default value of SUMMARY so that we can use DESCRIPTION instead if it hasn't been set
- tinfoil.config_data.setVar('SUMMARY', '')
+ config_data.setVar('SUMMARY', '')
# Clear the default value of DESCRIPTION so that we can see where it's not set
- tinfoil.config_data.setVar('DESCRIPTION', '')
+ config_data.setVar('DESCRIPTION', '')
# Clear the default value of HOMEPAGE ('unknown')
- tinfoil.config_data.setVar('HOMEPAGE', '')
+ config_data.setVar('HOMEPAGE', '')
# Set a blank value for LICENSE so that it doesn't cause the parser to die (e.g. with meta-ti -
# why won't they just fix that?!)
- tinfoil.config_data.setVar('LICENSE', '')
+ config_data.setVar('LICENSE', '')

try:
with transaction.atomic():
@@ -244,7 +246,7 @@ def main():
layerbranch = LayerBranch()
layerbranch.layer = layer
layerbranch.branch = branch
- layerbranch_source = layer.get_layerbranch('master')
+
if not layerbranch_source:
layerbranch_source = layer.get_layerbranch(None)
if layerbranch_source:
@@ -262,6 +264,9 @@ def main():
dep.layerbranch = layerbranch
dep.save()

+ layerbranch_source = layer.get_layerbranch('master')
+
+
if layerbranch.vcs_subdir and not options.nocheckout:
# Find latest commit in subdirectory
# A bit odd to do it this way but apparently there's no other way in the GitPython API
@@ -280,6 +285,14 @@ def main():

layerdir = os.path.join(repodir, layerbranch.vcs_subdir)
layerdir_start = os.path.normpath(layerdir) + os.sep
+
+ from layerconfparse import LayerConfParse
+ layerconfparser = LayerConfParse(logger=logger)
+ layer_config_data = layerconfparser.parse_layer(layerdir)
+ layerconfparser.shutdown()
+ utils.set_layerbranch_collection_version(layerbranch, layer_config_data, logger=logger)
+ layerbranch.save()
+
layerrecipes = Recipe.objects.filter(layerbranch=layerbranch)
layermachines = Machine.objects.filter(layerbranch=layerbranch)
layerdistributions = Distribution.objects.filter(layerbranch=layerbranch)
@@ -305,7 +318,7 @@ def main():
logger.info("Collecting data for layer %s on branch %s" % (layer.name, branchdesc))

try:
- config_data_copy = recipeparse.setup_layer(tinfoil.config_data, fetchdir, layerdir, layer, layerbranch)
+ config_data_copy = recipeparse.setup_layer(config_data, fetchdir, layerdir, layer, layerbranch)
except recipeparse.RecipeParseError as e:
logger.error(str(e))
sys.exit(1)
diff --git a/layerindex/utils.py b/layerindex/utils.py
index f82f8c7..2b49d64 100644
--- a/layerindex/utils.py
+++ b/layerindex/utils.py
@@ -30,8 +30,10 @@ def get_layer(layername):
def get_dependency_layer(depname, version_str=None, logger=None):
from layerindex.models import LayerItem, LayerBranch

- # Get any LayerBranch with a layer that has a name that matches the depname
- res = list(LayerBranch.objects.filter(layer__name=depname))
+ # Get any LayerBranch with a layer that has a name that matches depmod, or
+ # a LayerBranch that has the collection name depmod.
+ res = list(LayerBranch.objects.filter(layer__name=depname)) + \
+ list(LayerBranch.objects.filter(collection=depname))

# Nothing found, return.
if len(res) == 0:
@@ -104,11 +106,21 @@ def _add_dependency(var, name, layerbranch, config_data, logger=None):

if logger:
logger.debug('Adding %s %s to %s' % (name, dep_layer.name, layer_name))
+
layerdep = LayerDependency()
layerdep.layerbranch = layerbranch
layerdep.dependency = dep_layer
layerdep.save()

+def set_layerbranch_collection_version(layerbranch, config_data, logger=None):
+
+ layerbranch.collection = config_data.getVar('BBFILE_COLLECTIONS', True)
+ ver_str = "LAYERVERSION_"
+ if layerbranch.collection:
+ layerbranch.collection = layerbranch.collection.strip()
+ ver_str += layerbranch.collection
+ layerbranch.version = config_data.getVar(ver_str, True)
+
def setup_tinfoil(bitbakepath, enable_tracking):
sys.path.insert(0, bitbakepath + '/lib')
import bb.tinfoil


[yocto-autobuilder][PATCH] PublishArtifacts.py: Make PublishArtifacts step to fail when cp fails

mariano.lopez@...
 

From: Mariano Lopez <mariano.lopez@...>

When publishing the artifacts, sometimes the cp commands fails
because it can't find the origin files, but the step in te autobuilder
is green, like there were no errors at all. This will catch these
errors, and will mark the build step as failed when cp fails.

[YOCTO #10319]

Signed-off-by: Mariano Lopez <mariano.lopez@...>
---
.../autobuilder/buildsteps/PublishArtifacts.py | 54 +++++++++++-----------
1 file changed, 28 insertions(+), 26 deletions(-)

diff --git a/lib/python2.7/site-packages/autobuilder/buildsteps/PublishArtifacts.py b/lib/python2.7/site-packages/autobuilder/buildsteps/PublishArtifacts.py
index e738521..633600c 100644
--- a/lib/python2.7/site-packages/autobuilder/buildsteps/PublishArtifacts.py
+++ b/lib/python2.7/site-packages/autobuilder/buildsteps/PublishArtifacts.py
@@ -34,6 +34,7 @@ class PublishArtifacts(ShellCommand):
ShellCommand.__init__(self, **kwargs)

def start(self):
+ pipeline = "|| export PA_FAIL=1"
layerversion_yoctobsp=1
DEST=self.getProperty("DEST")
buildername=self.getProperty("buildername")
@@ -80,12 +81,12 @@ class PublishArtifacts(ShellCommand):
command=command+"mkdir -p " + os.path.join(DEST, ADT_INST_PUBLISH_DIR) + ";"
command=command+"cp -R --no-dereference --preserve=links " + \
os.path.join(self.tmpdir, "deploy/sdk/") + \
- "*adt* " + os.path.join(DEST, ADT_INST_PUBLISH_DIR) + ";"
+ "*adt* " + os.path.join(DEST, ADT_INST_PUBLISH_DIR) + pipeline + ";"
elif artifact == "adt-installer-QA":
command=command+"mkdir -p " + os.path.join(DEST, ADTQA_INST_PUBLISH_DIR) + ";"
command=command+"cp -R --no-dereference --preserve=links " + \
os.path.join(self.tmpdir, "deploy/sdk/") + \
- "*adt* " + os.path.join(DEST, ADTQA_INST_PUBLISH_DIR)+ ";"
+ "*adt* " + os.path.join(DEST, ADTQA_INST_PUBLISH_DIR) + pipeline + ";"
elif artifact == "adtrepo-dev":
adt_dev_dest= os.environ.get("ADTREPO_DEV_PATH") + "/" + distroversion + "-" + got_revision_poky + '-' + self.getProperty("branch_poky")
command=command+"mkdir -p " + adt_dev_dest + "/adt-ipk;"
@@ -105,39 +106,39 @@ class PublishArtifacts(ShellCommand):
command=command+"cp --no-dereference --preserve=links " + \
os.path.join(deploy_dir, "org.*.zip") + \
" " + os.path.join(deploy_dir, "org.*.md5sum") + \
- " " + DEST + "/eclipse-plugin/"+ artifact_base +";"
+ " " + DEST + "/eclipse-plugin/"+ artifact_base + pipeline + ";"
elif artifact == "build-appliance":
command=command+"mkdir -p " + DEST + "/" + BA_PUBLISH_DIR + ";"
if self.layerversion_core is not None and int(self.layerversion_core) > 2:
command=command+"cp -R --no-dereference --preserve=links " + \
os.path.join(self.tmpdir, "deploy/images/qemux86-64/*.zip") + \
- " " + DEST + "/" + BA_PUBLISH_DIR + ";"
+ " " + DEST + "/" + BA_PUBLISH_DIR + pipeline + ";"
else:
command=command+"cp -R --no-dereference --preserve=links " + \
os.path.join(self.tmpdir, "deploy/images/*.zip") + \
- " " + DEST + "/" + BA_PUBLISH_DIR + ";"
+ " " + DEST + "/" + BA_PUBLISH_DIR + pipeline + ";"
elif artifact == "buildtools-tarball":
artifact_name, deploy_image_dir = self.getDeployNames(artifact, buildername)
command=command+self.generateMD5cmd(artifact, deploy_image_dir)
command=command+"mkdir -p " + DEST + "/buildtools;"
command=command+"cp -R --no-dereference --preserve=links " + \
os.path.join(deploy_image_dir, "*buildtools*") + \
- " " + DEST + "/buildtools;"
+ " " + DEST + "/buildtools" + pipeline + ";"
elif artifact == "rpm":
command=command+"mkdir -p " + os.path.join(DEST, RPM_PUBLISH_DIR) + ";"
command=command+"cp -R --no-dereference --preserve=links " + \
os.path.join(self.tmpdir, "deploy/rpm/* ") + \
- os.path.join(DEST, RPM_PUBLISH_DIR) + ";"
+ os.path.join(DEST, RPM_PUBLISH_DIR) + pipeline + ";"
elif artifact == "deb":
command=command+"mkdir -p " + os.path.join(DEST, DEB_PUBLISH_DIR) + ";"
command=command+"cp -R --no-dereference --preserve=links " + \
os.path.join(self.tmpdir, "deploy/deb/* ") + \
- os.path.join(DEST, DEB_PUBLISH_DIR) + ";"
+ os.path.join(DEST, DEB_PUBLISH_DIR) + pipeline + ";"
elif artifact == "ipk":
command=command+"mkdir -p " + os.path.join(DEST, IPK_PUBLISH_DIR) + ";"
command=command+"cp -R --no-dereference --preserve=links " + \
os.path.join(self.tmpdir, "deploy/ipk/* ") + \
- os.path.join(DEST, IPK_PUBLISH_DIR) + ";"
+ os.path.join(DEST, IPK_PUBLISH_DIR) + pipeline + ";"
elif artifact == "sstate":
if str(os.environ.get("PUBLISH_SSTATE")) == "True":
sstate_dir = os.environ.get("SSTATE_DIR")
@@ -145,7 +146,7 @@ class PublishArtifacts(ShellCommand):
if sstate_dir is not None and pub_dir is not None:
command=command+"mkdir -p " + pub_dir + ";"
command=command+"cp -R --no-dereference --preserve=links " + \
- sstate_dir + "/* " + pub_dir + ";"
+ sstate_dir + "/* " + pub_dir + pipeline + ";"
else:
command=command+"echo 'Skipping copy of sstate, directories not configured.';"
else:
@@ -156,31 +157,31 @@ class PublishArtifacts(ShellCommand):
command=command+"mkdir -p " + os.path.join(DEST, X86TC_PUBLISH_DIR) + ";"
command=command+"cp -R --no-dereference --preserve=links " + \
os.path.join(deploy_image_dir, "poky-*i686-core-image*.sh ") + \
- os.path.join(DEST, X86TC_PUBLISH_DIR) + ";"
+ os.path.join(DEST, X86TC_PUBLISH_DIR) + pipeline + ";"
command=command+"mkdir -p " + os.path.join(DEST, X8664TC_PUBLISH_DIR) + ";"
command=command+"cp -R --no-dereference --preserve=links " + \
os.path.join(deploy_image_dir, "poky-*x86_64-core-image*.sh ") + \
- os.path.join(DEST, X8664TC_PUBLISH_DIR) + ";"
+ os.path.join(DEST, X8664TC_PUBLISH_DIR) + pipeline + ";"
elif artifact == "uninative":
artifact_name, deploy_image_dir = self.getDeployNames(artifact, buildername)
command=command+self.generateMD5cmd(artifact, deploy_image_dir)
command=command+"mkdir -p " + os.path.join(DEST, X86TC_PUBLISH_DIR) + ";"
command=command+"cp -R --no-dereference --preserve=links " + \
os.path.join(deploy_image_dir, "i686-nativesdk-libc* ") + \
- os.path.join(DEST, X86TC_PUBLISH_DIR) + ";"
+ os.path.join(DEST, X86TC_PUBLISH_DIR) + pipeline + ";"
command=command+"mkdir -p " + os.path.join(DEST, X8664TC_PUBLISH_DIR) + ";"
command=command+"cp -R --no-dereference --preserve=links " + \
os.path.join(deploy_image_dir, "x86_64-nativesdk-libc* ") + \
- os.path.join(DEST, X8664TC_PUBLISH_DIR) + ";"
+ os.path.join(DEST, X8664TC_PUBLISH_DIR) + pipeline + ";"
elif artifact == "oe-toolchain":
command=command+"mkdir -p " + os.path.join(DEST, X86TC_PUBLISH_DIR) + ";"
command=command+"cp -R --no-dereference --preserve=links " + \
os.path.join(self.tmpdir, "deploy/sdk/oecore-i686* ") + \
- os.path.join(DEST, X86TC_PUBLISH_DIR) + ";"
+ os.path.join(DEST, X86TC_PUBLISH_DIR) + pipeline + ";"
command=command+"mkdir -p " + os.path.join(DEST, X8664TC_PUBLISH_DIR) + ";"
command=command+"cp -R --no-dereference --preserve=links " + \
os.path.join(self.tmpdir, "deploy/sdk/oecore-x86_64* ") + \
- os.path.join(DEST, X8664TC_PUBLISH_DIR) + ";"
+ os.path.join(DEST, X8664TC_PUBLISH_DIR) + pipeline + ";"
elif "qemu" in artifact:
artifact_name, deploy_image_dir = self.getDeployNames(artifact, buildername)
command += self.generateMD5cmd(artifact, deploy_image_dir)
@@ -190,35 +191,35 @@ class PublishArtifacts(ShellCommand):
command=command+"cp --no-dereference --preserve=links " + \
deploy_image_dir + "/*\.direct " + \
deploy_image_dir + "/*\.direct.md5sum " + \
- DEST + "/" + QEMU_PUBLISH_DIR + "/" + artifact_name + ";"
+ DEST + "/" + QEMU_PUBLISH_DIR + "/" + artifact_name + pipeline + ";"
else:
command=command+"cp -R --no-dereference --preserve=links " + \
deploy_image_dir + \
- "/*" + artifact + "* " + DEST + "/" + QEMU_PUBLISH_DIR + "/" + artifact_name + ";"
+ "/*" + artifact + "* " + DEST + "/" + QEMU_PUBLISH_DIR + "/" + artifact_name + pipeline + ";"
elif "mpc8315e" in artifact:
artifact_name, deploy_image_dir = self.getDeployNames(artifact, buildername)
command += self.generateMD5cmd(artifact, deploy_image_dir)
command=command+"mkdir -p " + DEST + "/" + MACHINE_PUBLISH_DIR + "/" + artifact_name + ";"
command=command+"cp -R --no-dereference --preserve=links " + \
deploy_image_dir + \
- "/*mpc8315* " + DEST + "/" + MACHINE_PUBLISH_DIR + "/" + artifact_name + ";"
+ "/*mpc8315* " + DEST + "/" + MACHINE_PUBLISH_DIR + "/" + artifact_name + pipeline + ";"
elif artifact == "tiny":
command=command+"mkdir -p " + DEST + "/" + QEMU_PUBLISH_DIR + "/qemu-tiny;"
command += self.generateMD5cmd(artifact, QEMU_PUBLISH_DIR + "/qemu-tiny")
if self.layerversion_core is not None and int(self.layerversion_core) > 2:
command=command+"cp -R --no-dereference --preserve=links " + \
os.path.join(self.tmpdir, "deploy/images/qemux86/* ") + \
- " " + DEST + "/" + QEMU_PUBLISH_DIR + "/qemu-tiny;"
+ " " + DEST + "/" + QEMU_PUBLISH_DIR + "/qemu-tiny" + pipeline + ";"
else:
command=command+"cp -R --no-dereference --preserve=links " + \
os.path.join(self.tmpdir, "deploy/images/*") + \
- DEST + "/" + QEMU_PUBLISH_DIR + "/qemu-tiny;"
+ DEST + "/" + QEMU_PUBLISH_DIR + "/qemu-tiny" + pipeline + ";"
elif artifact == "conf":
artifact_name, deploy_image_dir = self.getDeployNames(artifact, buildername)
command=command+"mkdir -p " + DEST + "/"+ MACHINE_PUBLISH_DIR + "/" + artifact_name + "/conf;"
command=command+"cp -R --no-dereference " + \
os.path.join(self.basedir, "conf/") + \
- "/* " + DEST + "/" + MACHINE_PUBLISH_DIR + "/" + artifact_name + "/conf;"
+ "/* " + DEST + "/" + MACHINE_PUBLISH_DIR + "/" + artifact_name + "/conf" + pipeline + ";"
elif artifact == "md5sums":
command = command + "echo 'MD5sums are generated and deployed from the image or toolchain artifact';"
elif artifact == "None":
@@ -238,19 +239,20 @@ class PublishArtifacts(ShellCommand):
command=command+"cp --no-dereference --preserve=links " + \
deploy_image_dir + "/*\.direct " + \
deploy_image_dir + "/*\.direct.md5sum " + \
- DEST + "/" + MACHINE_PUBLISH_DIR + "/" + artifact_name + ";"
+ DEST + "/" + MACHINE_PUBLISH_DIR + "/" + artifact_name + pipeline + ";"
else:
command=command+"mkdir -p " + DEST + "/"+ MACHINE_PUBLISH_DIR +"/" + artifact_name + ";"
if "beagle" in artifact:
command=command+"cp -R --no-dereference --preserve=links " + \
deploy_image_dir + \
- "/*Image* " + DEST + "/" + MACHINE_PUBLISH_DIR +"/" + artifact_name + ";"
+ "/*Image* " + DEST + "/" + MACHINE_PUBLISH_DIR +"/" + artifact_name + pipeline + ";"
command=command+"cp -R --no-dereference --preserve=links " + \
deploy_image_dir + \
- "/u-boot* " + DEST + "/" + MACHINE_PUBLISH_DIR +"/" + artifact_name + ";"
+ "/u-boot* " + DEST + "/" + MACHINE_PUBLISH_DIR +"/" + artifact_name + pipeline + ";"
command=command+"cp -R --no-dereference --preserve=links " + \
deploy_image_dir + \
- "/*"+artifact+"* " + DEST + "/" + MACHINE_PUBLISH_DIR +"/" + artifact_name + ";"
+ "/*"+artifact+"* " + DEST + "/" + MACHINE_PUBLISH_DIR +"/" + artifact_name + pipeline + ";"
+ command=command+'if [ "$PA_FAIL" = "1" ]; then exit 1; fi;'
self.command = command
else:
self.command = "echo 'Skipping Step.'"
--
1.9.1


Re: fetcher failure

Anicic Damir (PSI) <damir.anicic@...>
 

If I replace


-SRC_URI = "git://git.freescale.com/ppc/sdk/linux.git;branch=sdk-v2.0.x \

with

+SRC_URI = "git://git.freescale.com/ppc/sdk/linux.git;nobranch=1 \


then it works, at least on Ubuntu 16.04 build host
(on ScientificLinx 6.4 fetch does not work, but I simply copied fetched folder from Ubuntu)





From: Zhenhua Luo [zhenhua.luo@...]
Sent: Tuesday, September 27, 2016 11:44
To: Anicic Damir (PSI); Chris Z.
Cc: yocto@...
Subject: RE: [yocto] fetcher failure

I have submitted a patch for the fetch issue, can you please give a try? You can use master-next branch of meta-fsl-ppc for the validation.

 

 

Best Regards,

 

Zhenhua

 

From: yocto-bounces@... [mailto:yocto-bounces@...] On Behalf Of Anicic Damir (PSI)
Sent: Tuesday, September 27, 2016 5:34 PM
To: Chris Z. <winotu.email@...>
Cc: yocto@...
Subject: Re: [yocto] fetcher failure

 

Why should I check,
the meta-fsl-ppc/recipes-kernel/linux/linux-qoriq_4.1.bb has

SRC_URI = "git://git.freescale.com/ppc/sdk/linux.git;branch=sdk-v2.0.x \
SRCREV = "bd51baffc04ecc73f933aee1c3a37c8b44b889a7"

If that is wrong freescale should correct it.

And besides, the downloaded file gets deleted.

But, OK, I'll try.


Re: fetcher failure

Anicic Damir (PSI) <damir.anicic@...>
 

This is anoying.

My primary build host, ScientificLinux 6.4, it stil fails (error log in previous mail).

But on my secondary build host,Ubuntu 16.04,  it now succeeded.



Re: fetcher failure

Anicic Damir (PSI) <damir.anicic@...>
 

If I understood properly,  all I have to do is to change the line:

-SRC_URI = "git://git.freescale.com/ppc/sdk/linux.git;branch=sdk-v2.0.x \

with

+SRC_URI = "git://git.freescale.com/ppc/sdk/linux.git;nobranch=1 \


If that is so, it did not help.

Attached the new log file.

Damir