-
Convert all headings into title case. Closes: https://booting.oniroproject.org/distro/oniro/-/issues/204 Signed-off-by:
Gururaj Shetty <gururaj.shetty@huawei.com>
Convert all headings into title case. Closes: https://booting.oniroproject.org/distro/oniro/-/issues/204 Signed-off-by:
Gururaj Shetty <gururaj.shetty@huawei.com>
Repo Workspace
|main_project_name| uses repo to provide full workspace setup that includes all the repositories needed for building |main_project_name| and developing on top.
Contents
The Repo Tool
In order to setup a sources workspace of |main_project_name|, the git-repo
tool is
required on the host.
|main_project_name| provides a patched version of the repo tool for Ubuntu 20.04
at launchpad PPA,
for rpm
/dnf
based distributions at
copr, and for
openSUSE, Arch and a few other distributions at OBS.
The patches are also available in the tool's source repository. One can install this tool by following the next steps:
On Ubuntu/Debian:
$ sudo apt-get update
$ sudo apt-get install repo
For Debian "contrib" repo should be [enabled](https://wiki.debian.org/SourcesList#Example_sources.list)
The repo package has not been backported to Ubuntu 20.04. PPA repository should be used for this release instead:
On Ubuntu 20.04:
$ sudo add-apt-repository ppa:ostc/ppa
$ sudo apt-get update
$ sudo apt-get install git-repo
On Distributions that Use dnf
:
$ sudo dnf copr enable oniroproject/tools
$ sudo dnf --refresh install repo
On openSUSE or SUSE Enterprise Linux:
$ sudo zypper addrepo https://build.opensuse.org/project/show/home:oniroproject:tools
$ sudo zypper in repo
In the zypper addrepo line, replace openSUSE_Tumbleweed
with the distribution you're using - a list of distributions
for which the package is available here.
On Arch Linux:
Add our OBS repository to /etc/pacman.conf
:
[openharmony-tools]
Server = http://download.opensuse.org/repositories/home:/openharmony:/tools/Arch/$arch/
Optionally, install the repository's signing key.
Then install the repo
package with pacman.
On OpenMandriva:
OpenMandriva has already added |main_project_name| version of repo
to its official
repositories. If you're on OpenMandriva, simply dnf install repo
.
The Manifests
The repo manifest
files are part of the main oniro repository
and are to be used for configuring a workspace. The project provides a single
default.xml
manifest file in each of the active branches.
Depending on the specific branch of the above-mentioned repository, that manifest may either allow some projects to follow changes by selecting git branches or pin all projects to a specific git commit revision.
Setting-up the Workspace
Once the repo tool is installed, you can initialize and populate the workspace. This will bring in all the needed sources for building |main_project_name|:
$ mkdir oniroproject; cd oniroproject
$ repo init -u https://booting.oniroproject.org/distro/oniro
$ repo sync --no-clone-bundle
Workspace Structure
A fully set workspace, will provide a structure similar to:
./oniroproject/
├── bitbake
├── docs
├── ip-policy
├── meta-openembedded
├── meta-raspberrypi
├── meta-zephyr
├── <various bitbake layers>
├── oe-core
├── oniro
└── README.md
All the bitbake layers are included at the root of the workspace. See for
example meta-openembedded
above.
It is recommended to use the root of the workspace for the build directories
using build-
as directory name prefix.