Skip to content

Commit 115e16c

Browse files
authored
Packaging: Split pages to reduce duplication and new recipe creation page (AerynOS#72)
* NewRecipe: Draft page from CookieSource for creating a new recipe CookieSource created a draft page for creating a new recipe. Uploading as a draft so we can colaboratively refine To-Do: - Check structure and language against "Updating an existing package recipe" - Answer comments and questions raised - Remove drafting notes * Packaging Workflow: Complete review of packaging section Updated the complete packaging workflow with the addition of a new "Creating a new package recipe" page and then splitting out additional copy into separate pages so copy isn't duplicated across Creating and Updating package recipe pages - New "Preparing for packaging" page - New "Creating a new package recipe" page - New "Building and testing packages" page - New "Checking for package updates" page - Updated "Updating a package recipe" page **Testing** - Built dotdev locally and ensured site was wroking, particularly given the new pages added * Packaging: Add notes and important context information
1 parent 9e52c06 commit 115e16c

9 files changed

Lines changed: 495 additions & 126 deletions

astro.config.mjs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,9 +144,12 @@ export default defineConfig({
144144
{ slug: "packaging/workflow" },
145145
{ slug: "packaging/workflow/prerequisites" },
146146
{ slug: "packaging/workflow/basic-workflow" },
147+
{ slug: "packaging/workflow/preparing-for-packaging" },
147148
{ slug: "packaging/workflow/creating-a-new-recipe" },
148149
{ slug: "packaging/workflow/updating-an-existing-recipe" },
150+
{ slug: "packaging/workflow/building-and-testing-packages" },
149151
{ slug: "packaging/workflow/submitting-a-pr" },
152+
{ slug: "packaging/workflow/checking-for-updates" },
150153
],
151154
},
152155
{

src/content/docs/Packaging/Workflow/basic-workflow.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: 'Basic Packaging Workflow'
2+
title: 'Basic packaging workflow'
33
lastUpdated: 2025-06-23T00:00:00Z
44
description: "Building packages locally and testing them"
55
---
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
title : 'Building and testing packages'
3+
lastUpdated: 2026-01-25T12:00:00+00:00
4+
description: "How to build and test packages locally on your system"
5+
---
6+
import { Aside } from '@astrojs/starlight/components';
7+
8+
9+
This guide will walk you through the process of building and testing packages locally on your system, regardless of whether they come from new package recipes or existing ones you are updating.
10+
11+
## Build the package
12+
13+
Once you have created or updated a package recipe, you will need to build it locally. If you are only updating one package, you can either keep your local repository disabled prior to building the package. If you prefer to keep it enabled, make sure there are no other packages indexed locally that could interfere with your new package build.
14+
15+
<Aside type="note">
16+
Please ensure you have followed the steps in the [Preparing for Packaging](/packaging/workflow/preparing-for-packaging/) guide to ensure you volatile repository is enabled.
17+
</Aside>
18+
19+
20+
The command to build the updated package is:
21+
22+
```bash
23+
just build
24+
```
25+
26+
If the package is successfully built, you will need to move it to your local repository. You can do this using the following command:
27+
28+
```bash
29+
just mv-local
30+
```
31+
32+
If you have not yet enabled the local repository, you do this with the following command:
33+
34+
```bash
35+
sudo moss repo enable local
36+
```
37+
38+
You will then need to sync the local repository using the command:
39+
40+
```bash
41+
sudo moss sync -u
42+
```
43+
44+
Note, if you already have an older version of the package installed, you will be asked if you want to update to the new local version you have just built. If you have not yet installed this package, you would install it as normal using the command:
45+
46+
```bash
47+
sudo moss install "package name"
48+
```
49+
50+
Once you have tested the package, you can make a submission for including the update in the repository.
51+
52+
<Aside type="tip" title="How to submit pull requests">
53+
To find guidance on how to submit a pull request (PR), you can refer to our [submit a pull request](/packaging/workflow/submitting-a-pr) page. s
54+
</Aside>
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
title : 'Checking for package updates'
3+
lastUpdated: 2026-01-25T12:00:00+00:00
4+
description: "How to check for package updates"
5+
---
6+
import { Aside } from '@astrojs/starlight/components';
7+
8+
9+
## Use `ent` to check for package updates
10+
11+
This guide will walk you through the process using `ent`, a tool built by the AerynOS team to check for package updates. `ent` checks recipes against upstream sources to determine whether updates are available.
12+
13+
`ent` is not installed on your system by default. To install `ent` using `moss`, use the following command:
14+
15+
```bash
16+
sudo moss install ent
17+
```
18+
### How `ent` works
19+
20+
`ent` scans the current directory and all subdirectories beneath it. It inspects each recipe `monitoring.yaml` file and compares the referenced `stone.yaml` recipe upstreams to determine whether newer versions are available.
21+
22+
Because `ent` operates relative to the directory in which it is executed, you can control the scope of the update check by choosing where to run the command within the recipes repository.
23+
24+
### Running update checks
25+
26+
To check for updates across all recipes, run the following command from the root of the recipes repository:
27+
28+
```bash
29+
gotoaosrepo
30+
ent check updates
31+
```
32+
33+
You can also run this command from more specific locations:
34+
35+
* **Repository root**
36+
Checks all recipes in the repository.
37+
38+
* **Letter directory (for example, `f/`)**
39+
Checks only recipes whose names start with that letter.
40+
41+
* **Specific recipe directory (for example, `f/firefox/`)**
42+
Checks only that single recipe.
43+
44+
For example, running the command from `f/firefox/` will check only the Firefox recipe for available updates.
45+
46+
<Aside type="note" title="What is ent?">
47+
`ent` queries an upstream site for package release info *every time you run it*. Please be mindful of not running it gratuitously so as to remain a good ecosystem citizen.
48+
</Aside>

0 commit comments

Comments
 (0)