OpenHarmony uses repo to provide full workspace setup that includes all the repositories needed for building OpenHarmony and developing on top.
In order to setup a sources workspace of OpenHarmony, the
git-repo tool is
required on the host.
The patches are also available in the tool’s source repository. One can install this tool by following the next steps:
$ sudo add-apt-repository ppa:openharmony/tools $ sudo apt-get update $ sudo apt-get install git-repo
On distributions that use
$ sudo dnf copr enable openharmony/tools $ sudo dnf --refresh install repo
On openSUSE or SUSE Enterprise Linux:¶
$ sudo zypper addrepo http://download.opensuse.org/repositories/home:/openharmony:/tools/openSUSE_Tumbleweed/home:openharmony:tools.repo $ 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
[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.
OpenMandriva has already added OpenHarmony’s version of
repo to its official
repositories. If you’re on OpenMandriva, simply
dnf install repo.
The manifest repository
provides the manifest for configuring a workspace. The project provides
default.xml manifest file in each of the active branches.
Depending on the specific branch of the manifest 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.
Once the repo tool is installed, you can initialize and populate the workspace. This will bring in all the needed sources for building OpenHarmony:
$ mkdir ohos; cd ohos $ repo init -u https://git.ostc-eu.org/OSTC/OHOS/manifest.git -b stable $ repo sync --no-clone-bundle
You can checkout latest development source code by using develop branch instead of stable as part of the above repo init command.
A fully set workspace, will provide a structure similar to:
./ohos/ └── sources ├── meta-freertos ├── meta-ohos ├── meta-openembedded ├── meta-zephyr ├── <various yocto layers> └── poky
The sources directory will include
poky and all the build system layers
that are part of the build process. Any new layers will be included under this
It is recommended to use the root of the workspace for the build directories
build as directory name prefix.