[yocto-announce] [ANNOUNCEMENT] Yocto Project 3.1.22 (dunfell-23.0.22) is Released

2023-01-23 Thread Lee Chee Yang
Hi

We are pleased to announce the Yocto Project 3.1.22 (dunfell-23.0.22) Release 
is now available for download.

http://downloads.yoctoproject.org/releases/yocto/yocto-3.1.22/poky-dunfell-23.0.22.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.1.22/poky-dunfell-23.0.22.tar.bz2

A gpg signed version of these release notes is available at:

http://downloads.yoctoproject.org/releases/yocto/yocto-3.1.22/RELEASENOTES

Full Test Report:

http://downloads.yoctoproject.org/releases/yocto/yocto-3.1.22/testreport.txt

Thank you for everyone's contributions to this release.

Chee Yang Lee chee.yang@intel.com
Yocto Project Build and Release


- --
yocto-3.1.22 Release Notes
- --


- --
Repositories/Downloads
- --

Repository Name: poky
Repository Location: https://git.yoctoproject.org/git/poky
Branch: dunfell
Tag: yocto-3.1.22
Git Revision: 6b8a307b7843af23d189d7ffcecf32c05afac850
Release Artefact: poky-dunfell-23.0.22
sha: 67d9822ae28831cff3803087853694e77df06532af29c9e52e290d566b1875b6
Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-3.1.22/poky-dunfell-23.0.22.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.1.22/poky-dunfell-23.0.22.tar.bz2

Repository Name: openembedded-core
Repository Location: https://git.openembedded.org/openembedded-core
Branch: dunfell
Tag: yocto-3.1.22
Git Revision: db81e3c7e7f1d4d9eba52ac35ac97627d0240b63
Release Artefact: oecore-dunfell-23.0.22
sha: 63e215da64bfd75bddba7400f0e61f4543a073f09ff8b9a109756a86af9dca7c
Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-3.1.22/oecore-dunfell-23.0.22.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.1.22/oecore-dunfell-23.0.22.tar.bz2

Repository Name: meta-mingw
Repository Location: https://git.yoctoproject.org/git/meta-mingw
Branch: dunfell
Tag: yocto-3.1.22
Git Revision: 524de686205b5d6736661d4532f5f98fee8589b7
Release Artefact: meta-mingw-dunfell-23.0.22
sha: 90745c497193ae8c79461d5c9d1311a4e130836c5a8b1648383a2cb7917abcf6
Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-3.1.22/meta-mingw-dunfell-23.0.22.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.1.22/meta-mingw-dunfell-23.0.22.tar.bz2

Repository Name: meta-gplv2
Repository Location: https://git.yoctoproject.org/git/meta-gplv2
Branch: dunfell
Tag: yocto-3.1.22
Git Revision: 60b251c25ba87e946a0ca4cdc8d17b1cb09292ac
Release Artefact: meta-gplv2-dunfell-23.0.22
sha: 84d52a013bb8425a76ccdd80b14dbf032b3cdcf2fb4ff7f8ac3456d30c035708
Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-3.1.22/meta-gplv2-dunfell-23.0.22.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.1.22/meta-gplv2-dunfell-23.0.22.tar.bz2

Repository Name: bitbake
Repository Location: https://git.openembedded.org/bitbake
Branch: dunfell
Tag: yocto-3.1.22
Git Revision: e3db9c2e9eded3c5cb6040714a6054b44f6b3880
Release Artefact: bitbake-dunfell-23.0.22
sha: f7f15c66bf5076536622ad9c02b8c12052cce0d3cb4553342519e298973aa3ec
Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-3.1.22/bitbake-dunfell-23.0.22.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.1.22/bitbake-dunfell-23.0.22.tar.bz2

Repository Name: yocto-docs
Repository Location: https://git.yoctoproject.org/git/yocto-docs
Branch: dunfell
Tag: yocto-3.1.22
Git Revision: 3dc2c423484585d04f586b721010c129571638c0


- ---
Known Issues
- ---
N/A


- ---
Security Fixes
- ---
cairo: update patch for CVE-2019-6461 with upstream solution
curl: Fix CVE CVE-2022-35260
dropbear: Fix CVE-2021-36369
golang: Fix CVE-2021-33195 CVE-2021-33198 CVE-2021-44716 CVE-2022-24291 
CVE-2022-28131 CVE-2022-28327 CVE-2022-41715 CVE-2022-41717
golang: ignore CVE-2021-33194 CVE-2021-41772 CVE-2022-29804 CVE-2022-30580 
CVE-2022-30630
grub2: Fix CVE-2022-2601 CVE-2022-3775 CVE-2022-28735
libarchive: Fix CVE-2022-36227
libksba: Fix CVE-2022-47629
libtasn1: Fix CVE-2021-46848
libx11: Fix CVE-2022-3555
libxml2: Fix CVE-2022-40303 CVE-2022-40304
pixman: Fix CVE-2022-44638
ppp: Fix CVE-2022-4603
python3: Fix CVE-2022-37454 CVE-2022-45061
qemu: Fix CVE-2021-3507 CVE-2021-20196
rpm: Fix rpm CVE CVE-2021-3521
rsync: fix CVE-2022-29154
sudo: Fix CVE-2022-43995
sysstat: Fix CVE-2022-39377
systemd: Fix CVE-2022-3821
vim: Fix CVE-2022-3705 CVE-2022-4141
xserver-xorg: Fix CVE-2022-3550 CVE-2022-3551 CVE-2022-3553

- ---
Fixes
- ---
base.bbclass: Fix way to check ccache path
bc: extend to nativesdk
build-appliance-image: Update to dunfell head revision
classes: make TOOLCHAIN more permissive for kernel
dev-manual: update session about multiconfig
documentation: update for 3.1.22
externalsrc: fix lookup for .gitmodules
gcc: upgrade to v9.5
go-crosssdk: avoid host contamination by GOCACHE
kernel.bbclass: make KERNEL_DEBUG_TIMESTAMPS work at rebuild
kernel: improve 

[yocto] [ANNOUNCEMENT] Yocto Project 3.1.22 (dunfell-23.0.22) is Released

2023-01-23 Thread Lee Chee Yang
Hi

We are pleased to announce the Yocto Project 3.1.22 (dunfell-23.0.22) Release 
is now available for download.

http://downloads.yoctoproject.org/releases/yocto/yocto-3.1.22/poky-dunfell-23.0.22.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.1.22/poky-dunfell-23.0.22.tar.bz2

A gpg signed version of these release notes is available at:

http://downloads.yoctoproject.org/releases/yocto/yocto-3.1.22/RELEASENOTES

Full Test Report:

http://downloads.yoctoproject.org/releases/yocto/yocto-3.1.22/testreport.txt

Thank you for everyone's contributions to this release.

Chee Yang Lee chee.yang@intel.com
Yocto Project Build and Release


- --
yocto-3.1.22 Release Notes
- --


- --
Repositories/Downloads
- --

Repository Name: poky
Repository Location: https://git.yoctoproject.org/git/poky
Branch: dunfell
Tag: yocto-3.1.22
Git Revision: 6b8a307b7843af23d189d7ffcecf32c05afac850
Release Artefact: poky-dunfell-23.0.22
sha: 67d9822ae28831cff3803087853694e77df06532af29c9e52e290d566b1875b6
Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-3.1.22/poky-dunfell-23.0.22.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.1.22/poky-dunfell-23.0.22.tar.bz2

Repository Name: openembedded-core
Repository Location: https://git.openembedded.org/openembedded-core
Branch: dunfell
Tag: yocto-3.1.22
Git Revision: db81e3c7e7f1d4d9eba52ac35ac97627d0240b63
Release Artefact: oecore-dunfell-23.0.22
sha: 63e215da64bfd75bddba7400f0e61f4543a073f09ff8b9a109756a86af9dca7c
Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-3.1.22/oecore-dunfell-23.0.22.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.1.22/oecore-dunfell-23.0.22.tar.bz2

Repository Name: meta-mingw
Repository Location: https://git.yoctoproject.org/git/meta-mingw
Branch: dunfell
Tag: yocto-3.1.22
Git Revision: 524de686205b5d6736661d4532f5f98fee8589b7
Release Artefact: meta-mingw-dunfell-23.0.22
sha: 90745c497193ae8c79461d5c9d1311a4e130836c5a8b1648383a2cb7917abcf6
Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-3.1.22/meta-mingw-dunfell-23.0.22.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.1.22/meta-mingw-dunfell-23.0.22.tar.bz2

Repository Name: meta-gplv2
Repository Location: https://git.yoctoproject.org/git/meta-gplv2
Branch: dunfell
Tag: yocto-3.1.22
Git Revision: 60b251c25ba87e946a0ca4cdc8d17b1cb09292ac
Release Artefact: meta-gplv2-dunfell-23.0.22
sha: 84d52a013bb8425a76ccdd80b14dbf032b3cdcf2fb4ff7f8ac3456d30c035708
Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-3.1.22/meta-gplv2-dunfell-23.0.22.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.1.22/meta-gplv2-dunfell-23.0.22.tar.bz2

Repository Name: bitbake
Repository Location: https://git.openembedded.org/bitbake
Branch: dunfell
Tag: yocto-3.1.22
Git Revision: e3db9c2e9eded3c5cb6040714a6054b44f6b3880
Release Artefact: bitbake-dunfell-23.0.22
sha: f7f15c66bf5076536622ad9c02b8c12052cce0d3cb4553342519e298973aa3ec
Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-3.1.22/bitbake-dunfell-23.0.22.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.1.22/bitbake-dunfell-23.0.22.tar.bz2

Repository Name: yocto-docs
Repository Location: https://git.yoctoproject.org/git/yocto-docs
Branch: dunfell
Tag: yocto-3.1.22
Git Revision: 3dc2c423484585d04f586b721010c129571638c0


- ---
Known Issues
- ---
N/A


- ---
Security Fixes
- ---
cairo: update patch for CVE-2019-6461 with upstream solution
curl: Fix CVE CVE-2022-35260
dropbear: Fix CVE-2021-36369
golang: Fix CVE-2021-33195 CVE-2021-33198 CVE-2021-44716 CVE-2022-24291 
CVE-2022-28131 CVE-2022-28327 CVE-2022-41715 CVE-2022-41717
golang: ignore CVE-2021-33194 CVE-2021-41772 CVE-2022-29804 CVE-2022-30580 
CVE-2022-30630
grub2: Fix CVE-2022-2601 CVE-2022-3775 CVE-2022-28735
libarchive: Fix CVE-2022-36227
libksba: Fix CVE-2022-47629
libtasn1: Fix CVE-2021-46848
libx11: Fix CVE-2022-3555
libxml2: Fix CVE-2022-40303 CVE-2022-40304
pixman: Fix CVE-2022-44638
ppp: Fix CVE-2022-4603
python3: Fix CVE-2022-37454 CVE-2022-45061
qemu: Fix CVE-2021-3507 CVE-2021-20196
rpm: Fix rpm CVE CVE-2021-3521
rsync: fix CVE-2022-29154
sudo: Fix CVE-2022-43995
sysstat: Fix CVE-2022-39377
systemd: Fix CVE-2022-3821
vim: Fix CVE-2022-3705 CVE-2022-4141
xserver-xorg: Fix CVE-2022-3550 CVE-2022-3551 CVE-2022-3553

- ---
Fixes
- ---
base.bbclass: Fix way to check ccache path
bc: extend to nativesdk
build-appliance-image: Update to dunfell head revision
classes: make TOOLCHAIN more permissive for kernel
dev-manual: update session about multiconfig
documentation: update for 3.1.22
externalsrc: fix lookup for .gitmodules
gcc: upgrade to v9.5
go-crosssdk: avoid host contamination by GOCACHE
kernel.bbclass: make KERNEL_DEBUG_TIMESTAMPS work at rebuild
kernel: improve 

[yocto] M+ & H bugs with Milestone Movements WW03

2023-01-23 Thread Stephen Jolley
All,

YP M+ or high bugs which moved to a new milestone in WW03 are listed below: 


Priority

Bug ID

Short Description

Changer

Owner

Was

Became


Medium+

  13889

python3 Windows distutils stubs regressed in upgrade to 3.8.2

randy.macl...@windriver.com

st...@sakoman.com

4.2 M2

3.1.23

Thanks, 

 

Stephen K. Jolley

Yocto Project Program Manager

*Cell:(208) 244-4460

* Email:  sjolley.yp...@gmail.com  

 


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#59043): https://lists.yoctoproject.org/g/yocto/message/59043
Mute This Topic: https://lists.yoctoproject.org/mt/96488724/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[yocto] Enhancements/Bugs closed WW03!

2023-01-23 Thread Stephen Jolley
All,

The below were the owners of enhancements or bugs closed during the last
week!


Who

Count


ross.bur...@arm.com

2


yoann.con...@smile.fr

2


richard.pur...@linuxfoundation.org

2


pa...@zhukoff.net

1


randy.macl...@windriver.com

1


alexandre.bell...@bootlin.com

1


Grand Total

9

Thanks,

 

Stephen K. Jolley

Yocto Project Program Manager

*Cell:(208) 244-4460

* Email:  sjolley.yp...@gmail.com

 


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#59042): https://lists.yoctoproject.org/g/yocto/message/59042
Mute This Topic: https://lists.yoctoproject.org/mt/96488710/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[yocto] Current high bug count owners for Yocto Project 4.2

2023-01-23 Thread Stephen Jolley
All,

Below is the list as of top 31 bug owners as of the end of WW03 of who have
open medium or higher bugs and enhancements against YP 4.2.   There are 67
possible work days left until the final release candidates for YP 4.2 needs
to be released.


Who

Count


michael.opdenac...@bootlin.com

34


ross.bur...@arm.com

31


richard.pur...@linuxfoundation.org

27


randy.macl...@windriver.com

27


bruce.ashfi...@gmail.com

25


david.re...@windriver.com

23


jpewhac...@gmail.com

10


sakib.sa...@windriver.com

8


pa...@zhukoff.net

6


saul.w...@windriver.com

5


pi...@toganlabs.com

4


tim.orl...@konsulko.com

4


bluelightn...@bluelightning.org

2


rybczyn...@gmail.com

2


zheng@windriver.com

2


alexis.loth...@bootlin.com

2


naveen.go...@windriver.com

2


jon.ma...@arm.com

2


s...@bigsur.com

2


sundeep.kokko...@gmail.com

2


martin.ja...@gmail.com

1


tvgamb...@gmail.com

1


mathew.pro...@gmail.com

1


hongxu@windriver.com

1


anton.anto...@arm.com

1


thr...@amazon.de

1


yashinde...@gmail.com

1


thomas.per...@bootlin.com

1


alexandre.bell...@bootlin.com

1


mhalst...@linuxfoundation.org

1


sundeep.kokko...@windriver.com

1


Grand Total

231

Thanks,

 

Stephen K. Jolley

Yocto Project Program Manager

*Cell:(208) 244-4460

* Email:  sjolley.yp...@gmail.com
 

 


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#59041): https://lists.yoctoproject.org/g/yocto/message/59041
Mute This Topic: https://lists.yoctoproject.org/mt/96488642/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[yocto] Yocto Project Newcomer & Unassigned Bugs - Help Needed

2023-01-23 Thread Stephen Jolley
All,

 

The triage team is starting to try and collect up and classify bugs which a
newcomer to the project would be able to work on in a way which means people
can find them. They're being listed on the triage page under the appropriate
heading:

https://wiki.yoctoproject.org/wiki/Bug_Triage#Newcomer_Bugs  Also please
review:
https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded and
how to create a bugzilla account at:

https://bugzilla.yoctoproject.org/createaccount.cgi

The idea is these bugs should be straight forward for a person to help work
on who doesn't have deep experience with the project.  If anyone can help,
please take ownership of the bug and send patches!  If anyone needs
help/advice there are people on irc who can likely do so, or some of the
more experienced contributors will likely be happy to help too.

 

Also, the triage team meets weekly and does its best to handle the bugs
reported into the Bugzilla. The number of people attending that meeting has
fallen, as have the number of people available to help fix bugs. One of the
things we hear users report is they don't know how to help. We (the triage
team) are therefore going to start reporting out the currently 415
unassigned or newcomer bugs.

 

We're hoping people may be able to spare some time now and again to help out
with these.  Bugs are split into two types, "true bugs" where things don't
work as they should and "enhancements" which are features we'd want to add
to the system.  There are also roughly four different "priority" classes
right now,  "4.2", "4.3", "4.99" and "Future", the more pressing/urgent
issues being in "4.2" and then "4.3".

 

Please review this link and if a bug is something you would be able to help
with either take ownership of the bug, or send me (sjolley.yp...@gmail.com
 ) an e-mail with the bug number you would
like and I will assign it to you (please make sure you have a Bugzilla
account).  The list is at:
https://wiki.yoctoproject.org/wiki/Bug_Triage_Archive#Unassigned_or_Newcomer
_Bugs

 

Thanks,

 

Stephen K. Jolley

Yocto Project Program Manager

*Cell:(208) 244-4460

* Email:  sjolley.yp...@gmail.com
 

 


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#59040): https://lists.yoctoproject.org/g/yocto/message/59040
Mute This Topic: https://lists.yoctoproject.org/mt/96488619/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [yocto] [autobuilder][PATCH v2 1/1] builders: update send-qa-email name

2023-01-23 Thread Richard Purdie
On Mon, 2023-01-23 at 13:55 +, Richard Purdie via
lists.yoctoproject.org wrote:
> On Mon, 2023-01-23 at 13:33 +0100, Alexis Lothoré via
> lists.yoctoproject.org wrote:
> > Signed-off-by: Alexis Lothoré 
> > ---
> >  builders.py | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/builders.py b/builders.py
> > index d942346..b052f71 100644
> > --- a/builders.py
> > +++ b/builders.py
> > @@ -322,7 +322,7 @@ def create_parent_builder_factory(buildername, 
> > waitname):
> >  
> >  factory.addStep(steps.ShellCommand(
> >  command=[
> > -
> > util.Interpolate("%(prop:builddir)s/yocto-autobuilder-helper/scripts/send-qa-email"),
> > +
> > util.Interpolate("%(prop:builddir)s/yocto-autobuilder-helper/scripts/send_qa_email.py"),
> >  util.Property("send_email"),
> >  util.Interpolate("%(prop:builddir)s/layerinfo.json"),
> >  util.Interpolate("%(prop:sharedrepolocation)s"),
> 
> This gets a little tricky. Changes to autobuilder-helper are easy but
> if we change autobuilder2, it has to match changes on all active
> autobuilder-helper branches.

Thinking about this a little, we can probably push symlinks into the
older release branches, at least until we consider backporting some
changes.

Cheers,

Richard

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#59039): https://lists.yoctoproject.org/g/yocto/message/59039
Mute This Topic: https://lists.yoctoproject.org/mt/96472304/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [yocto] [meta-raspberrypi] Is Preempt-rt still supported in master / latest releases? #raspberrypi

2023-01-23 Thread Andrei Gherzan
On Mon, Jan 23, 2023 at 11:47:59AM +0100, Alexander Kanavin wrote:
> meta-raspberrypi kernel comes from
> https://github.com/raspberrypi/linux and they stopped providing -rt
> options some time ago.
> 
> Your options are to apply the -rt patchset to regular rpi kernel and
> enable needed options via custom .bbappend, or take linux-yocto-rt and
> see how far you get.

That would be correct. There is no support out of the box in the BSP layer and
I am not aware of any layers providing that. If we find a person who wants to
maintain a fork with the RT patches, I'm happy to bring it as an optional
kernel provider in the layer.

-- 
Andrei Gherzan

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#59038): https://lists.yoctoproject.org/g/yocto/message/59038
Mute This Topic: https://lists.yoctoproject.org/mt/96470693/21656
Mute #raspberrypi:https://lists.yoctoproject.org/g/yocto/mutehashtag/raspberrypi
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [yocto] [autobuilder][PATCH v2 1/1] builders: update send-qa-email name

2023-01-23 Thread Richard Purdie
On Mon, 2023-01-23 at 13:33 +0100, Alexis Lothoré via
lists.yoctoproject.org wrote:
> Signed-off-by: Alexis Lothoré 
> ---
>  builders.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/builders.py b/builders.py
> index d942346..b052f71 100644
> --- a/builders.py
> +++ b/builders.py
> @@ -322,7 +322,7 @@ def create_parent_builder_factory(buildername, waitname):
>  
>  factory.addStep(steps.ShellCommand(
>  command=[
> -
> util.Interpolate("%(prop:builddir)s/yocto-autobuilder-helper/scripts/send-qa-email"),
> +
> util.Interpolate("%(prop:builddir)s/yocto-autobuilder-helper/scripts/send_qa_email.py"),
>  util.Property("send_email"),
>  util.Interpolate("%(prop:builddir)s/layerinfo.json"),
>  util.Interpolate("%(prop:sharedrepolocation)s"),

This gets a little tricky. Changes to autobuilder-helper are easy but
if we change autobuilder2, it has to match changes on all active
autobuilder-helper branches.

Cheers,

Richard

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#59037): https://lists.yoctoproject.org/g/yocto/message/59037
Mute This Topic: https://lists.yoctoproject.org/mt/96472304/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[yocto] [autobuilder][PATCH v2 0/4] generate regression reports against proper releases

2023-01-23 Thread Alexis Lothoré via lists . yoctoproject . org
This is the 2nd version of work initiated to improve regression reports
usefulness, started around issue YOCTO #1465
(https://bugzilla.yoctoproject.org/show_bug.cgi?id=14065).

Please note : this new revision depends on another patch on yocto-autobuilder2
which updates name of qa-send-email in builders

Changes since v1:
 - minor rework to be able to import send_qa_email.py as a standard python
   module
 - properly manage non-releases versions since qe_send_email.py can be called
   with such "release" versions ("-r" parameter)
 - add unit tests on previous version computation
 - do not fetch yocto-testresults full history: identify needed revisions with
   git ls-remote and retrieve them with git fetch

Alexis Lothoré (4):
  scripts/send_qa_email.py: Rename send-qa-email to send_qa_email.py
  scripts/send_qa_email.py: Wrap send_qa_email.py content in function
  scripts/send-qa-email: Generate regression reports against most
relevant release
  scripts/send_qa_email.py: add unit tests on previous version
computation

 scripts/send-qa-email | 164 -
 scripts/send_qa_email.py  | 223 ++
 scripts/shared-repo-unpack|   2 +-
 scripts/test_send_qa_email.py |  57 +
 scripts/utils.py  |  47 +++
 5 files changed, 328 insertions(+), 165 deletions(-)
 delete mode 100755 scripts/send-qa-email
 create mode 100755 scripts/send_qa_email.py
 create mode 100755 scripts/test_send_qa_email.py

-- 
2.39.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#59032): https://lists.yoctoproject.org/g/yocto/message/59032
Mute This Topic: https://lists.yoctoproject.org/mt/96472272/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[yocto] [autobuilder][PATCH v2 3/4] scripts/send-qa-email: Generate regression reports against most relevant release

2023-01-23 Thread Alexis Lothoré via lists . yoctoproject . org
Instead of only generating regressions reports against HEAD of relevant branch, 
compute
most relevant tag (ie : release) against which we can check for regressions. 
General rules
introduced are the following :
- milestone release is checked against previous milestone if possible, otherwise
  against major release
- point release  is checked against previous point release if possible,
  otherwise against major release
- major release is checked against previous major release
- a non release build is checked against base branch
Examples :
- 4.1.2.rc1 is checked against yocto-4.1.1
- 4.1.2 is checked against yocto-4.1.1
- 4.1.1.rc1 is checked against yocto-4.1
- 4.1.1 is checked against yocto-4.1
- 4.1 is checked against yocto-4.0
- 4.1.rc4 is checked against yocto-4.0
- 4.1_M2.rc1 is checked against 4.1_M1
- 4.1_M2 is checked against 4.1_M1
- 4.1_M1.rc1 is checked against yocto-4.0
- 4.1_M1 is checked against yocto-4.0

Signed-off-by: Alexis Lothoré 
---
 scripts/send_qa_email.py | 86 +---
 scripts/utils.py | 47 ++
 2 files changed, 118 insertions(+), 15 deletions(-)

diff --git a/scripts/send_qa_email.py b/scripts/send_qa_email.py
index 4023918..199fe4e 100755
--- a/scripts/send_qa_email.py
+++ b/scripts/send_qa_email.py
@@ -9,11 +9,79 @@ import json
 import os
 import sys
 import subprocess
-import errno
 import tempfile
+import re
 
 import utils
 
+def is_non_release_version(version):
+p = re.compile('\d{8}-\d+')
+return p.match(version) is not None
+
+def get_previous_tag(targetrepodir, version):
+previousversion = None
+previousmilestone = None
+if version:
+if is_non_release_version(version):
+return subprocess.check_output(["git", "describe", "--abbrev=0"], 
cwd=targetrepodir).decode('utf-8').strip()
+compareversion, comparemilestone, _ = 
utils.get_version_from_string(version)
+compareversionminor = compareversion[-1]
+# After ignoring rc part, if we get a minor to 0 on point release (e.g 
4.0.0),
+# reject last digit since such versions do not exist
+if len(compareversion) == 3 and compareversionminor == 0:
+compareversion = compareversion[:-1]
+
+# Process milestone if not first in current release
+if comparemilestone and comparemilestone > 1:
+previousversion = compareversion
+previousmilestone = comparemilestone-1
+# Process first milestone or release if not first in major release
+elif compareversionminor > 0:
+previousversion = compareversion[:-1] + [compareversion[-1] - 1]
+# Otherwise : format it as tag (which must exist) and search previous 
tag
+else:
+comparetagstring = utils.get_tag_from_version(compareversion, 
comparemilestone)
+return subprocess.check_output(["git", "describe", "--abbrev=0", 
comparetagstring + "^"], cwd=targetrepodir).decode('utf-8').strip()
+
+return utils.get_tag_from_version(previousversion, previousmilestone)
+
+# All other cases : merely check against latest tag reachable
+defaultbaseversion, _, _ = 
utils.get_version_from_string(subprocess.check_output(["git", "describe", 
"--abbrev=0"], cwd=targetrepodir).decode('utf-8').strip())
+return utils.get_tag_from_version(defaultbaseversion, None)
+
+def get_sha1(targetrepodir, revision):
+return subprocess.check_output(["git", "rev-list", "-n", "1", revision], 
cwd=targetrepodir).decode('utf-8').strip()
+
+def fetch_testresults(resultdir, revision):
+rawtags = subprocess.check_output(["git", "ls-remote", "--refs", "--tags", 
"origin", f"*{revision}*"], cwd=resultdir).decode('utf-8').strip()
+if not rawtags:
+raise Exception(f"No reference found for commit {revision} in 
{resultdir}")
+for ref in [rawtag.split()[1] for rawtag in rawtags.splitlines()]:
+print(f"Fetching matching revisions: {ref}")
+subprocess.check_call(["git", "fetch", "--depth", "1", "origin", 
f"{ref}:{ref}"], cwd=resultdir)
+
+
+def generate_regression_report(resulttool, targetrepodir, basebranch, 
resultdir, outputdir, yoctoversion):
+baseversion = get_previous_tag(targetrepodir, yoctoversion)
+baserevision = get_sha1(targetrepodir, baseversion)
+comparerevision = get_sha1(targetrepodir, basebranch)
+print(f"Compare version : {basebranch} ({comparerevision})")
+print(f"Base tag : {baseversion} ({baserevision})")
+
+try:
+"""
+Results directory is likely a shallow clone :
+we need to fetch results corresponding to base revision before
+running resulttool
+"""
+fetch_testresults(resultdir, baserevision)
+regreport = subprocess.check_output([resulttool, "regression-git", 
"-B", basebranch, "--commit", baserevision, "--commit2", comparerevision, 
resultdir])
+with open(outputdir + "/testresult-regressions-report.txt", "wb") as f:
+   

[yocto] [autobuilder][PATCH v2 1/1] builders: update send-qa-email name

2023-01-23 Thread Alexis Lothoré via lists . yoctoproject . org
Signed-off-by: Alexis Lothoré 
---
 builders.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/builders.py b/builders.py
index d942346..b052f71 100644
--- a/builders.py
+++ b/builders.py
@@ -322,7 +322,7 @@ def create_parent_builder_factory(buildername, waitname):
 
 factory.addStep(steps.ShellCommand(
 command=[
-
util.Interpolate("%(prop:builddir)s/yocto-autobuilder-helper/scripts/send-qa-email"),
+
util.Interpolate("%(prop:builddir)s/yocto-autobuilder-helper/scripts/send_qa_email.py"),
 util.Property("send_email"),
 util.Interpolate("%(prop:builddir)s/layerinfo.json"),
 util.Interpolate("%(prop:sharedrepolocation)s"),
-- 
2.39.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#59036): https://lists.yoctoproject.org/g/yocto/message/59036
Mute This Topic: https://lists.yoctoproject.org/mt/96472304/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[yocto] [autobuilder][PATCH v2 0/1] rename send-qa-email in builder

2023-01-23 Thread Alexis Lothoré via lists . yoctoproject . org
This patch is tightly coupled to the patch serie in yocto-autobuilder-helper
which aims to improve regression reporting. This serie bring some
renaming/reorganization in send-qa-email to allow unit testing it, so the script
path used in autobuilder needs to be renamed.

This patch is sent alone/appart from the main serie on yocto-autobuilder-helper
since it is not the same codebase, but please let me know if there is another
expected procedure for this kind of "multiple repositories" submission

Alexis Lothoré (1):
  builders: update send-qa-email name

 builders.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.39.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#59035): https://lists.yoctoproject.org/g/yocto/message/59035
Mute This Topic: https://lists.yoctoproject.org/mt/96472302/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[yocto] [autobuilder][PATCH v2 4/4] scripts/send_qa_email.py: add unit tests on previous version computation

2023-01-23 Thread Alexis Lothoré via lists . yoctoproject . org
The "previous version" computation bring many edge cases depending on the
version under release. Add a basic test suite to validate currently implemented
computation strategy and to prevent mistakes when ediiting it in the future

Signed-off-by: Alexis Lothoré 
---
 scripts/test_send_qa_email.py | 57 +++
 1 file changed, 57 insertions(+)
 create mode 100755 scripts/test_send_qa_email.py

diff --git a/scripts/test_send_qa_email.py b/scripts/test_send_qa_email.py
new file mode 100755
index 000..6822451
--- /dev/null
+++ b/scripts/test_send_qa_email.py
@@ -0,0 +1,57 @@
+#!/usr/bin/env python3
+"""
+Test suite for send_qa_email.py
+
+The suite needs a valid poky clone to run since it will
+fetch and return revisions from remote repository. To run the suite,
+set POKY_PATH environment variable accordingly:
+`POKY_PATH=~/src/poky ./scripts/test_send_qa_email.py`
+"""
+import os
+import sys
+import unittest
+import send_qa_email
+
+
+class TestVersion(unittest.TestCase):
+test_data_get_version = [
+{"input": {"version": "4.1.2"}, "expected": "yocto-4.1.1"},
+{"input": {"version": "4.1"}, "expected": "yocto-4.0"},
+{"input": {"version": "4.1.1"}, "expected": "yocto-4.1"},
+{"input": {"version": "4.1_M2"}, "expected": "4.1_M1"},
+{"input": {"version": "4.1_M1"}, "expected": "yocto-4.0"},
+{"input": {"version": "4.1.1.rc1"}, "expected": "yocto-4.1"},
+{"input": {"version": "4.1.2.rc1"}, "expected": "yocto-4.1.1"},
+{"input": {"version": "4.1_M3.rc1"}, "expected": "4.1_M2"},
+{"input": {"version": "4.1_M3.rc4"}, "expected": "4.1_M2"},
+{"input": {"version": "4.1_M1.rc1"}, "expected": "yocto-4.0"},
+{"input": {"version": "4.1_M1.rc4"}, "expected": "yocto-4.0"},
+{"input": {"version": "4.1.rc4"}, "expected": "yocto-4.0"},
+{"input": {"version": "20230120-3"}, "expected": "origin/master"},
+]
+
+test_data_get_sha1 = [
+{"input": "yocto-4.0", "expected": 
"00cfdde791a0176c134f31e5a09eff725e75b905"},
+{"input": "4.1_M1", "expected": 
"95066dde6861ee08fdb505ab3e0422156cc24fae"},
+]
+
+def test_versions(self):
+for data in self.test_data_get_version:
+test_name = data["input"]["version"]
+with self.subTest(f"Test {test_name} previous tag"):
+self.assertEqual(send_qa_email.get_previous_tag(os.environ.get(
+"POKY_PATH"), data["input"]["version"]), data["expected"])
+
+def test_get_sha1(self):
+for data in self.test_data_get_sha1:
+test_name = data["input"]
+with self.subTest(f"Test SHA1 from {test_name}"):
+self.assertEqual(send_qa_email.get_sha1(os.environ.get(
+"POKY_PATH"), data["input"]), data["expected"])
+
+
+if __name__ == '__main__':
+if os.environ.get("POKY_PATH") is None:
+print("Please set POKY_PATH to proper poky clone location before 
running tests")
+sys.exit(1)
+unittest.main()
-- 
2.39.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#59034): https://lists.yoctoproject.org/g/yocto/message/59034
Mute This Topic: https://lists.yoctoproject.org/mt/96472274/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[yocto] [autobuilder][PATCH v2 1/4] scripts/send_qa_email.py: Rename send-qa-email to send_qa_email.py

2023-01-23 Thread Alexis Lothoré via lists . yoctoproject . org
This rename fixes send-qa-email regarding python guidelines, which allows to
import the script content in another script (for unit testing purpose for
example)

Signed-off-by: Alexis Lothoré 
---
 scripts/{send-qa-email => send_qa_email.py} | 0
 scripts/shared-repo-unpack  | 2 +-
 2 files changed, 1 insertion(+), 1 deletion(-)
 rename scripts/{send-qa-email => send_qa_email.py} (100%)

diff --git a/scripts/send-qa-email b/scripts/send_qa_email.py
similarity index 100%
rename from scripts/send-qa-email
rename to scripts/send_qa_email.py
diff --git a/scripts/shared-repo-unpack b/scripts/shared-repo-unpack
index b826c87..8e7ec95 100755
--- a/scripts/shared-repo-unpack
+++ b/scripts/shared-repo-unpack
@@ -61,7 +61,7 @@ for repo in sorted(repos.keys()):
 utils.printheader("Copying in repo %s" % repo)
 utils.mkdir(targetsubdir)
 if args.target in ["a-full", "a-quick"]:
-# full/quick need all repo data due to send-qa-email
+# full/quick need all repo data due to send_qa_email.py
 subprocess.check_call(["tar", "-I", "zstd", "-C", targetsubdir, 
"-xf", "%s.tar.zst" % args.cache_dir])
 else:
 subprocess.check_call(["tar", "-I", "zstd", "-C", targetsubdir, 
"-xf", "%s.tar.zst" % args.cache_dir, "./" + repo])
-- 
2.39.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#59030): https://lists.yoctoproject.org/g/yocto/message/59030
Mute This Topic: https://lists.yoctoproject.org/mt/96472270/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[yocto] [autobuilder][PATCH v2 2/4] scripts/send_qa_email.py: Wrap send_qa_email.py content in function

2023-01-23 Thread Alexis Lothoré via lists . yoctoproject . org
This wrapping allows importing send_qa_email.py in another script without
executing the QA emailing routine. This is useful for unit testing the script
internal functions

Signed-off-by: Alexis Lothoré 
---
 scripts/send_qa_email.py | 287 ---
 1 file changed, 145 insertions(+), 142 deletions(-)

diff --git a/scripts/send_qa_email.py b/scripts/send_qa_email.py
index d2f63dc..4023918 100755
--- a/scripts/send_qa_email.py
+++ b/scripts/send_qa_email.py
@@ -15,150 +15,153 @@ import tempfile
 import utils
 
 
-parser = utils.ArgParser(description='Process test results and optionally send 
an email about the build to prompt QA to begin testing.')
-
-parser.add_argument('send',
-help="True to send email, otherwise the script will 
display a message and exit")
-parser.add_argument('repojson',
-help="The json file containing the repositories to use")
-parser.add_argument('sharedrepodir',
-help="The shared repos directory (to resolve the repo 
revision hashes)")
-parser.add_argument('-p', '--publish-dir',
-action='store',
-help="Where the artefacts were published")
-parser.add_argument('-R', '--results-dir',
-action='store',
-help="Where the test results were published")
-parser.add_argument('-r', '--release',
-action='store',
-help="The build/release 'name' for release purposes 
(optional)")
-
-args = parser.parse_args()
-
-scriptsdir = os.path.dirname(os.path.realpath(__file__))
-ourconfig = utils.loadconfig()
-
-with open(args.repojson) as f:
-repos = json.load(f)
-
-resulttool = os.path.dirname(args.repojson) + "/build/scripts/resulttool"
-
-buildtoolsdir = os.path.dirname(args.repojson) + "/build/buildtools"
-if os.path.exists(buildtoolsdir):
-utils.enable_buildtools_tarball(buildtoolsdir)
-
-repodir = os.path.dirname(args.repojson) + "/build/repos"
-
-if 'poky' in repos and os.path.exists(resulttool) and args.results_dir:
-# Need the finalised revisions (not 'HEAD')
-targetrepodir = "%s/poky" % (repodir)
-revision = subprocess.check_output(["git", "rev-parse", "HEAD"], 
cwd=targetrepodir).decode('utf-8').strip()
-branch = repos['poky']['branch']
-repo = repos['poky']['url']
-
-extraopts = None
-basebranch, comparebranch = utils.getcomparisonbranch(ourconfig, repo, 
branch)
-if basebranch:
-extraopts = " --branch %s --commit %s" % (branch, revision)
-if comparebranch:
-extraopts = extraopts + " --branch2 %s" % (comparebranch)
-elif basebranch:
-print("No comparision branch found, comparing to %s" % basebranch)
-extraopts = extraopts + " --branch2 %s" % basebranch
-
-report = subprocess.check_output([resulttool, "report", args.results_dir])
-with open(args.results_dir + "/testresult-report.txt", "wb") as f:
-f.write(report)
-
-tempdir = tempfile.mkdtemp(prefix='sendqaemail.')
-try:
-cloneopts = []
+def send_qa_email():
+parser = utils.ArgParser(description='Process test results and optionally 
send an email about the build to prompt QA to begin testing.')
+
+parser.add_argument('send',
+help="True to send email, otherwise the script will 
display a message and exit")
+parser.add_argument('repojson',
+help="The json file containing the repositories to 
use")
+parser.add_argument('sharedrepodir',
+help="The shared repos directory (to resolve the repo 
revision hashes)")
+parser.add_argument('-p', '--publish-dir',
+action='store',
+help="Where the artefacts were published")
+parser.add_argument('-R', '--results-dir',
+action='store',
+help="Where the test results were published")
+parser.add_argument('-r', '--release',
+action='store',
+help="The build/release 'name' for release purposes 
(optional)")
+
+args = parser.parse_args()
+
+scriptsdir = os.path.dirname(os.path.realpath(__file__))
+ourconfig = utils.loadconfig()
+
+with open(args.repojson) as f:
+repos = json.load(f)
+
+resulttool = os.path.dirname(args.repojson) + "/build/scripts/resulttool"
+
+buildtoolsdir = os.path.dirname(args.repojson) + "/build/buildtools"
+if os.path.exists(buildtoolsdir):
+utils.enable_buildtools_tarball(buildtoolsdir)
+
+repodir = os.path.dirname(args.repojson) + "/build/repos"
+
+if 'poky' in repos and os.path.exists(resulttool) and args.results_dir:
+# Need the finalised revisions (not 'HEAD')
+targetrepodir = "%s/poky" % (repodir)
+revision = subprocess.check_output(["git", "rev-parse", "HEAD"], 
cwd=targetrepodir).decode('utf-8').strip()
+branch = repos['poky']['branch']
+

Re: [yocto] [meta-raspberrypi] Is Preempt-rt still supported in master / latest releases? #raspberrypi

2023-01-23 Thread Alexander Kanavin
meta-raspberrypi kernel comes from
https://github.com/raspberrypi/linux and they stopped providing -rt
options some time ago.

Your options are to apply the -rt patchset to regular rpi kernel and
enable needed options via custom .bbappend, or take linux-yocto-rt and
see how far you get.

Alex

On Mon, 23 Jan 2023 at 10:57, Carles Sole via lists.yoctoproject.org
 wrote:
>
> Hello all,
>
> I would like to understand if it is still possible to build an image for 
> raspberrypi4-64 where the preempt-rt patch is applied to the kernel, e.g. by 
> adding "PREFERRED_PROVIDER_virtual/kernel" to local.conf.
>
> I could see that in older branches of [meta-raspberrypi] there was a specific 
> recipe for the preempt-rt patch, e.g. linux-raspberrypi-rt_4.19.bb. This 
> recipe was using the specific raspberrypi branch rpi-4.19.y-rt.
>
> I see that in newer branches this rt branch disappeared but I was not able to 
> understand the history and what is the current method to implement this 
> patch, assuming is still supported.
>
> Any hints on how to do this would be much appreciated.
>
> Best Regards,
> Carles
>
> 
>

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#59029): https://lists.yoctoproject.org/g/yocto/message/59029
Mute This Topic: https://lists.yoctoproject.org/mt/96470693/21656
Mute #raspberrypi:https://lists.yoctoproject.org/g/yocto/mutehashtag/raspberrypi
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[yocto] [meta-raspberrypi] Is Preempt-rt still supported in master / latest releases? #raspberrypi

2023-01-23 Thread Carles Sole via lists.yoctoproject.org
Hello all,

I would like to understand if it is still possible to build an image for 
raspberrypi4-64 where the preempt-rt patch is applied to the kernel, e.g. by 
adding " PREFERRED_PROVIDER_virtual/kernel" to local.conf.

I could see that in older branches of [meta-raspberrypi] there was a specific 
recipe for the preempt-rt patch, e.g. linux-raspberrypi-rt_4.19.bb ( 
https://github.com/agherzan/meta-raspberrypi/blob/warrior/recipes-kernel/linux/linux-raspberrypi-rt_4.19.bb
 ). This recipe was using the specific raspberrypi branch rpi-4.19.y-rt.

I see that in newer branches this rt branch disappeared but I was not able to 
understand the history and what is the current method to implement this patch, 
assuming is still supported.

Any hints on how to do this would be much appreciated.

Best Regards,
Carles

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#59028): https://lists.yoctoproject.org/g/yocto/message/59028
Mute This Topic: https://lists.yoctoproject.org/mt/96470693/21656
Mute #raspberrypi:https://lists.yoctoproject.org/g/yocto/mutehashtag/raspberrypi
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-