Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions docs/recipe-format.md
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,29 @@ For example, `build:autotools` and `libvncserver>=0.9.13` are valid dependency s

**Dependencies declared in the `makedepends` field are only satisfied during the build process, not at install time** — see the [`installdepends`](#installdepends-field) below for declaring install-time dependencies.

#### `preparedepends` field

<table>
<tr>
<th>Required?</th>
<td>No, defaults to <code>()</code></th>
</tr>
<tr>
<th>Type</th>
<td>Array of dependency specifications (strings)</td>
</tr>
</table>

The list of Debian, Toltec or Entware packages that are needed to prepare this package.
Dependency specifications have the following format: `[host:|build:]package-name`.
For example, `build:autotools` and `libvncserver>=0.9.13` are valid dependency specifications.

*Build-type dependencies* (prefixed with `build:`) are packages from Debian to install in the container’s root system before the recipe’s build script is executed.

*Host-type dependencies* (prefixed with `host:`) are packages from Toltec or Entware to install in the container’s `$SYSROOT` before the recipe’s build script is executed. The packages are offline-installed (i.e., none of their [install scripts](#install-section) are executed).

**Dependencies declared in the `preparedepends` field are only satisfied during the prepare process, not at install time** — see the [`installdepends`](#installdepends-field) below for declaring install-time dependencies.

#### `pkgnames` field

<table>
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "toltecmk"
version = "0.4.0"
version = "0.5.0"
authors = [
{ name="Mattéo Delabre", email="[email protected]" },
{ name="Eeems", email="[email protected]" },
Expand Down
2 changes: 2 additions & 0 deletions tests/fixtures/rmkit/package
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,10 @@ sha256sums=(
SKIP
SKIP
)
preparedepends=(build:rsync)

prepare() {
rsync --help > /dev/null
patch -p1 -d"$srcdir" < "$srcdir"/patch-remux-duplicate-xochitl.diff
patch -p1 -d"$srcdir" < "$srcdir"/patch-remux-start-xochitl.diff
rm "$srcdir"/*.diff
Expand Down
20 changes: 20 additions & 0 deletions tests/recipe_parsers/test_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ def test_basic_recipe(self) -> None:
},
)
self.assertEqual(recipe.makedepends, set())
self.assertEqual(recipe.preparedepends, set())
self.assertEqual(recipe.maintainer, "None <[email protected]>")
self.assertEqual(recipe.image, "base:v2.1")
self.assertEqual(recipe.arch, "rmall")
Expand All @@ -94,6 +95,7 @@ def test_basic_recipe(self) -> None:
declare -a sha256sums=([0]=SKIP)
declare -a noextract=()
declare -a makedepends=()
declare -a preparedepends=()
declare -- maintainer='None <[email protected]>'
declare -- image=base:v2.1
declare -- arch=rmall
Expand Down Expand Up @@ -136,6 +138,7 @@ def test_basic_recipe(self) -> None:
declare -a sha256sums=([0]=SKIP)
declare -a noextract=()
declare -a makedepends=()
declare -a preparedepends=()
declare -- maintainer='None <[email protected]>'
declare -- image=base:v2.1
declare -- arch=rmall
Expand Down Expand Up @@ -383,6 +386,7 @@ def test_split_packages(self):

self.assertEqual(recipe.path, rec_path)
self.assertEqual(recipe.makedepends, set())
self.assertEqual(recipe.preparedepends, set())
self.assertEqual(recipe.maintainer, "None <[email protected]>")
self.assertEqual(recipe.image, "base:v2.1")
self.assertEqual(recipe.arch, "rmall")
Expand All @@ -396,6 +400,7 @@ def test_split_packages(self):
declare -a sha256sums=([0]=SKIP)
declare -a noextract=()
declare -a makedepends=()
declare -a preparedepends=()
declare -- maintainer='None <[email protected]>'
declare -- image=base:v2.1
declare -- arch=rmall
Expand All @@ -417,6 +422,7 @@ def test_split_packages(self):
declare -a sha256sums=([0]=SKIP)
declare -a noextract=()
declare -a makedepends=()
declare -a preparedepends=()
declare -- maintainer='None <[email protected]>'
declare -- image=base:v2.1
declare -- arch=rmall
Expand Down Expand Up @@ -457,6 +463,7 @@ def test_split_packages(self):
declare -a sha256sums=([0]=SKIP)
declare -a noextract=()
declare -a makedepends=()
declare -a preparedepends=()
declare -- maintainer='None <[email protected]>'
declare -- image=base:v2.1
declare -- arch=rmall
Expand Down Expand Up @@ -505,6 +512,7 @@ def test_split_packages(self):
declare -a sha256sums=([0]=SKIP)
declare -a noextract=()
declare -a makedepends=()
declare -a preparedepends=()
declare -- maintainer='None <[email protected]>'
declare -- image=base:v2.1
declare -- arch=rmall
Expand Down Expand Up @@ -554,6 +562,7 @@ def test_split_packages(self):
declare -a sha256sums=([0]=SKIP)
declare -a noextract=()
declare -a makedepends=()
declare -a preparedepends=()
declare -- maintainer='None <[email protected]>'
declare -- image=base:v2.1
declare -- arch=rmall
Expand Down Expand Up @@ -664,6 +673,7 @@ def test_split_archs(self):
declare -a sha256sums=()
declare -a noextract=()
declare -a makedepends=()
declare -a preparedepends=()
declare -- maintainer='Mattéo Delabre <[email protected]>'
declare -- image=qt:v1.1
declare -- arch=rm1
Expand Down Expand Up @@ -718,6 +728,7 @@ def test_split_archs(self):
declare -a sha256sums=()
declare -a noextract=()
declare -a makedepends=()
declare -a preparedepends=()
declare -- maintainer='Mattéo Delabre <[email protected]>'
declare -- image=qt:v1.1
declare -- arch=rm1
Expand Down Expand Up @@ -753,6 +764,7 @@ def test_split_archs(self):
declare -a sha256sums=()
declare -a noextract=()
declare -a makedepends=()
declare -a preparedepends=()
declare -- maintainer='Mattéo Delabre <[email protected]>'
declare -- image=qt:v1.1
declare -- arch=rm1
Expand Down Expand Up @@ -810,6 +822,7 @@ def test_split_archs(self):
declare -a sha256sums=()
declare -a noextract=()
declare -a makedepends=()
declare -a preparedepends=()
declare -- maintainer='Mattéo Delabre <[email protected]>'
declare -- image=qt:v1.1
declare -- arch=rm1
Expand Down Expand Up @@ -845,6 +858,7 @@ def test_split_archs(self):
declare -a sha256sums=()
declare -a noextract=()
declare -a makedepends=()
declare -a preparedepends=()
declare -- maintainer='Mattéo Delabre <[email protected]>'
declare -- image=qt:v1.1
declare -- arch=rm1
Expand Down Expand Up @@ -883,6 +897,7 @@ def test_split_archs(self):
)
self.assertEqual(rm2.sources, set())
self.assertEqual(rm2.makedepends, set())
self.assertEqual(rm2.preparedepends, set())
self.assertEqual(rm2.maintainer, "None <[email protected]>")
self.assertEqual(rm2.image, "qt:v1.3")
self.assertEqual(rm2.arch, "rm2")
Expand All @@ -897,6 +912,7 @@ def test_split_archs(self):
declare -a sha256sums=()
declare -a noextract=()
declare -a makedepends=()
declare -a preparedepends=()
declare -- maintainer='None <[email protected]>'
declare -- image=qt:v1.3
declare -- arch=rm2
Expand Down Expand Up @@ -954,6 +970,7 @@ def test_split_archs(self):
declare -a sha256sums=()
declare -a noextract=()
declare -a makedepends=()
declare -a preparedepends=()
declare -- maintainer='None <[email protected]>'
declare -- image=qt:v1.3
declare -- arch=rm2
Expand Down Expand Up @@ -989,6 +1006,7 @@ def test_split_archs(self):
declare -a sha256sums=()
declare -a noextract=()
declare -a makedepends=()
declare -a preparedepends=()
declare -- maintainer='None <[email protected]>'
declare -- image=qt:v1.3
declare -- arch=rm2
Expand Down Expand Up @@ -1049,6 +1067,7 @@ def test_split_archs(self):
declare -a sha256sums=()
declare -a noextract=()
declare -a makedepends=()
declare -a preparedepends=()
declare -- maintainer='None <[email protected]>'
declare -- image=qt:v1.3
declare -- arch=rm2
Expand Down Expand Up @@ -1084,6 +1103,7 @@ def test_split_archs(self):
declare -a sha256sums=()
declare -a noextract=()
declare -a makedepends=()
declare -a preparedepends=()
declare -- maintainer='None <[email protected]>'
declare -- image=qt:v1.3
declare -- arch=rm2
Expand Down
1 change: 1 addition & 0 deletions tests/test_recipe.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ def test_derived_fields(self) -> None:
timestamp=datetime.now(),
sources=set(),
makedepends=set(),
preparedepends=set(),
maintainer="Test <[email protected]>",
image="",
arch="armv7-3.2",
Expand Down
Loading