Skip to main content

Getting Started

This is a quick guide to getting started with the source codes of Apostrophy OS.

Not For Everyone

Many of the source code repositories require proper authorization. This excludes some 8 billion people, give or take a dozen.

We are in the process of addressing what come-and-gone contributors' work looks like once published, and repositories will therefore be trickling in over time.

Step 1: Where?

Please consider choosing a root for source code and build hierarchies, such as the example below, so that you may be able to work with multiple build hierarchies in parallel. This increases disk space requirements, but allows for each to be built and rebuilt against its appropriate previous version.

Example root for source and build hierarchies
$ mkdir ~/devel/src/aphy/aphyos/
$ cd ~/devel/src/aphy/aphyos/

While it doesn't really matter where exactly you put this APHY_ROOT, it should have more than enough disk space, and ideally also rather speedy disks.

We will continue to refer to $APHY_ROOT, so ...

... maybe include the following line in ~/.bashrc:

export APHY_ROOT="$HOME/devel/src/aphy/aphyos/"

Step 2: Synchronize Some Source Code

Example process for the mainstream source and build hierarchy
$ mkdir -p $APHY_ROOT/build/
$ cd $APHY_ROOT/build/
$ repo init -u ssh://gerrit.aphy.ag/aphy/platform_manifest -b master
$ repo sync -j8
TODO

We have to work on;

  • optimizing these initial clones and their footprint on disk, by using a maximum clone-depth of probably 1, and

  • anonymous cloning, and/or public registration.

Step 3: Your First Build

Execute your first build. If you run in to trouble here, you may not have all the required system packages installed, or some more mysterious problem is causing troubles.

The script by default removes any old OUT_DIR= and builds the variants user (in OUT_DIR=./user/) and userdebug (in OUT_DIR=./userdebug/).

This could take a while
$ ./build.sh

See Also

Step 4 - 264-1: Lather, Rinse and Repeat

Edit some code, launch another build, try again.

note

Subsequent builds are probably best be executed using the --quick parameter to ./build.sh. Yes please.