[RFC,v2,2/3] doc: Add section for isar-apt reuse functionality

Message ID 20220613070759.16949-3-ubely@ilbers.de
State RFC
Headers show
Series PoC for isar-apt repo reusing | expand

Commit Message

Uladzimir Bely June 12, 2022, 11:07 p.m. UTC
Signed-off-by: Uladzimir Bely <ubely@ilbers.de>
---
 doc/user_manual.md | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

Patch

diff --git a/doc/user_manual.md b/doc/user_manual.md
index 02874b6d..80f79ddd 100644
--- a/doc/user_manual.md
+++ b/doc/user_manual.md
@@ -24,6 +24,7 @@  Copyright (C) 2016-2019, ilbers GmbH
  - [Create an ISAR SDK root filesystem](#create-an-isar-sdk-root-filesystem)
  - [Create a containerized Isar SDK root filesystem](#create-a-containerized-isar-sdk-root-filesystem)
  - [Creation of local apt repo caching upstream Debian packages](#creation-of-local-apt-repo-caching-upstream-debian-packages)
+ - [Reusing isar-apt repository](#reusing-isar-apt-repository)
 
 
 ## Introduction
@@ -1254,6 +1255,28 @@  sudo rm -rf tmp
 bitbake mc:qemuarm-buster:isar-image-base
 ```
 
+## Reusing isar-apt repository
+
+### Motivation
+
+Building custom recipes from sources may take a lot of time to download the sources and build the package. Also, reusing isar-apt makes it possible to work offline.
+
+### Solution
+
+After a custom package is built, it's placed into isar-apt repository. It's possible to reuse this repository for further builds. The behavior is controlled by `ISAR_APT_REUSE` variable in `conf/local.conf`:
+
+- `ISAR_APT_REUSE = "0"` - always rebuild custom packages from sources, even if they already exist in the repository
+- `ISAR_APT_REUSE = "1"` - reuse previously built binary if it exists in repository with the same version
+
+If `ISAR_APT_REUSE` is not set it behaves like `"0"`
+
+It also may be useful to move `isar-apt` directory out from `tmp/deploy` so that it could be easily shared between builds. To do that, modify `conf/local.conf` by adding lines similar to the following ones:
+
+```
+REPO_ISAR_DIR = "/path/to/isar-apt/${DISTRO}-${DISTRO_ARCH}/apt"
+REPO_ISAR_DB_DIR = "/path/to/isar-apt/${DISTRO}-${DISTRO_ARCH}/db"
+```
+
 ## Add foreign packages from other repositories to the generated image
 
 ### Motivation