Difference between revisions of "Repository Layout"

From WebOS-Ports
Jump to navigation Jump to search
 
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
== Overview ==
 
== Overview ==
Right layers and branches/revs are always defined in webos-ports-setup/conf/layers.txt. Currently we're using Yocto 2.3 Pyro release through testing and stable branch.
+
Right layers and branches/revs are always defined in webos-ports-setup/conf/layers.txt. Currently we're using Yocto 3.2 Gatesgarth release through testing (with LTS Qt 5.15) and Yocto 3.3 Hardknott through unstable branch. Next stable build will be with Yocto 3.2 Gatesgarth as well, once we're ready for new release.
  
For newer Yocto release there are rocko, sumo, thud, master branches and unstable points to one of them. These branches are for testing against new Yocto, (but not very often tested on target).
+
The stable, testing, unstable branches in webos-ports-setup are rebased on top of Yocto release branch and the only difference is the branch name in the Makefile. That way if you use e.g. testing branch it will automatically switch between Yocto releases once we switch the testing builds on jenkins. Stable is the same as testing most of the time, but has locked meta-webos-ports and meta-smartphone revisions instead of latest.
  
 
Layerman will take care of the checkout of right layers with right revisions - just type make update if you want newer.
 
Layerman will take care of the checkout of right layers with right revisions - just type make update if you want newer.
  
The Yocto upgrade was blocked by very old mesa we're still using in pyro, there was some progress recently, so hopefully we'll move forward soon.
+
The layout of directories on fileserver looks like this:
  
Currently failing builds with new Yocto:
+
Basically jenkins jobs are rsyncing artifacts to
 +
a) luneos-stable-staging for stable builds, which are later promoted to luneos-stable by separate jenkins job after testing
 +
  drwxrwxr-x  5 jenkins jenkins 4.0K Sep 15 14:57 luneos-stable
 +
  drwxrwxr-x 60 jenkins jenkins 4.0K Oct 30  2019 luneos-stable-staging
 +
b) luneos-{testing,unstable} symlinks
 +
  lrwxrwxrwx  1 jenkins jenkins  25 Oct 22 09:31 luneos-testing -> luneos-testing-gatesgarth
 +
  lrwxrwxrwx  1 jenkins jenkins  25 Nov  1 11:26 luneos-unstable -> luneos-unstable-hardknott
 +
which point to corresponding luneos-{testing,unstable}-<yocto-release> directory:
 +
  drwxrwxr-x  4 jenkins jenkins 4.0K Oct 22 09:47 luneos-testing-dunfell
 +
  drwxrwxr-x  5 jenkins jenkins 4.0K Nov  1 05:16 luneos-testing-gatesgarth
 +
  drwxrwxr-x  3 jenkins jenkins 4.0K Oct 30  2019 luneos-testing-warrior
 +
  drwxrwxr-x  4 jenkins jenkins 4.0K Sep 14 17:16 luneos-testing-zeus
 +
  drwxrwxr-x  5 jenkins jenkins 4.0K Oct 23 05:51 luneos-unstable-gatesgarth
 +
  drwxrwxr-x  2 jenkins jenkins 4.0K Nov  1 11:26 luneos-unstable-hardknott
  
=== Yocto 2.5 Sumo ===
+
And there is luneos-<yocto-release> convenience symlinks pointing to best LuneOS build for given yocto-release (testing if already available, otherwise unstable).
==== initramfs-android-recovery* file-rdeps ====
+
  lrwxrwxrwx  1 jenkins jenkins  22 Sep 14 17:34 luneos-dunfell -> luneos-testing-dunfell
ERROR: initramfs-android-recovery-tissot-3.1.1-1-r0 do_package_qa: QA Issue: /recovery/sbin/permissive.sh contained in package initramfs-android-recovery-tissot requires /sbin/sh, but no providers found in RDEPENDS_initramfs-android-recovery-tissot? [file-rdeps]
+
  lrwxrwxrwx  1 jenkins jenkins  25 Oct 22 09:30 luneos-gatesgarth -> luneos-testing-gatesgarth
http://jenkins.nas-admin.org/view/luneos-unstable/job/luneos-unstable_tissot/12/console
+
  lrwxrwxrwx  1 jenkins jenkins  25 Nov  1 11:33 luneos-hardknott -> luneos-unstable-hardknott
 
 
=== Yocto 2.6 Thud ===
 
==== mtp-server ====
 
mtp-server meta-webos-ports/meta-luneos/recipes-luneos/mtp-server/mtp-server_git.bb:do_configure
 
http://jenkins.nas-admin.org/view/luneos-unstable/job/luneos-unstable_tissot/11/consoleFull
 
fixed in master, will get it backported to thud later
 
 
 
=== Yocto 2.7 Warrior (master) ===
 
 
 
== Very old Overview ==
 
 
 
 
 
Right layers and branches/revs are always defined in webos-ports-setup/conf/layers.txt. Currently we're using dylan release, master is sometimes updated to test newer stuff in upstream layers (but not very often tested on target).
 
 
 
Layerman will take care of checkouting right layers with right revisions - just type make update if you want newer.
 
 
 
Current (as of right now 21th September 2013) we're using this set of layers:
 
 
 
* changes in our meta-webos fork (meta-webos-ports repository) are described here [[MetaWebosCommits]]
 
 
 
webos-ports-setup/master (this will be renamed when new oe-core 1.5 is released - master always tracks master in upstream layers)
 
 
 
https://github.com/webOS-ports/webos-ports-setup/blob/master/conf/layers.txt
 
* bitbake,master
 
* oe-core,webOS-ports/master
 
* meta-oe,master
 
* meta-qt5,master
 
* meta-smartphone,webOS-ports/master
 
* meta-webos-ports,master
 
 
 
Branch name prefixed with 'webOS-ports/', means we're modifying some upstream repository. webOS-ports/danny, webOS-ports/dylan also means that this modification is compatible with older danny, dylan branches and also indicates that this branch is sometimes rebased on danny, dylan branch in upstream repository.
 
 
 
Where to push changes:
 
meta-webos-ports: master branch
 
meta-smartphone: please try to push all changes to webOS-ports/master *and* shr (compatible with master) branches. meta-smartphone/shr is merged to meta-smartphone/master (when there isn't explicit dependency on other shr branches) and after that webOS-ports/master is rebased from meta-smartphone/master. If some change isn't pushed to "shr" branch, then there is a risk that we'll forget to forward-port that change when moving to next release.
 
oe-core: webOS-ports/master
 
 
 
Branches which are rebased now have git tags with date when it was rebased (this way we can continue to use older revisions, which are no longer in branch after last rebase).
 

Latest revision as of 11:37, 1 November 2020

Overview

Right layers and branches/revs are always defined in webos-ports-setup/conf/layers.txt. Currently we're using Yocto 3.2 Gatesgarth release through testing (with LTS Qt 5.15) and Yocto 3.3 Hardknott through unstable branch. Next stable build will be with Yocto 3.2 Gatesgarth as well, once we're ready for new release.

The stable, testing, unstable branches in webos-ports-setup are rebased on top of Yocto release branch and the only difference is the branch name in the Makefile. That way if you use e.g. testing branch it will automatically switch between Yocto releases once we switch the testing builds on jenkins. Stable is the same as testing most of the time, but has locked meta-webos-ports and meta-smartphone revisions instead of latest.

Layerman will take care of the checkout of right layers with right revisions - just type make update if you want newer.

The layout of directories on fileserver looks like this:

Basically jenkins jobs are rsyncing artifacts to a) luneos-stable-staging for stable builds, which are later promoted to luneos-stable by separate jenkins job after testing

 drwxrwxr-x  5 jenkins jenkins 4.0K Sep 15 14:57 luneos-stable
 drwxrwxr-x 60 jenkins jenkins 4.0K Oct 30  2019 luneos-stable-staging

b) luneos-{testing,unstable} symlinks

 lrwxrwxrwx  1 jenkins jenkins   25 Oct 22 09:31 luneos-testing -> luneos-testing-gatesgarth
 lrwxrwxrwx  1 jenkins jenkins   25 Nov  1 11:26 luneos-unstable -> luneos-unstable-hardknott

which point to corresponding luneos-{testing,unstable}-<yocto-release> directory:

 drwxrwxr-x  4 jenkins jenkins 4.0K Oct 22 09:47 luneos-testing-dunfell
 drwxrwxr-x  5 jenkins jenkins 4.0K Nov  1 05:16 luneos-testing-gatesgarth
 drwxrwxr-x  3 jenkins jenkins 4.0K Oct 30  2019 luneos-testing-warrior
 drwxrwxr-x  4 jenkins jenkins 4.0K Sep 14 17:16 luneos-testing-zeus
 drwxrwxr-x  5 jenkins jenkins 4.0K Oct 23 05:51 luneos-unstable-gatesgarth
 drwxrwxr-x  2 jenkins jenkins 4.0K Nov  1 11:26 luneos-unstable-hardknott

And there is luneos-<yocto-release> convenience symlinks pointing to best LuneOS build for given yocto-release (testing if already available, otherwise unstable).

 lrwxrwxrwx  1 jenkins jenkins   22 Sep 14 17:34 luneos-dunfell -> luneos-testing-dunfell
 lrwxrwxrwx  1 jenkins jenkins   25 Oct 22 09:30 luneos-gatesgarth -> luneos-testing-gatesgarth
 lrwxrwxrwx  1 jenkins jenkins   25 Nov  1 11:33 luneos-hardknott -> luneos-unstable-hardknott