Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
3abf89f
Update toltecmk version to 0.4.0
Eeems Oct 29, 2025
26ed5da
Add 3.22, split out display packages, start adding rmpp/rmppm
Eeems Oct 29, 2025
795e9fd
Use latest image, install git
Eeems Oct 29, 2025
b851b95
Install git-lfs
Eeems Oct 29, 2025
6380eab
Add empty installdepends for display package base
Eeems Oct 29, 2025
8c06e1f
Install xxd for rm2 build
Eeems Oct 29, 2025
f383040
Use new install paths
Eeems Oct 29, 2025
6a14d64
Add missing items from install
Eeems Oct 29, 2025
02ba38d
Fix build
Eeems Oct 29, 2025
d14d1e8
Fix display package
Eeems Oct 29, 2025
c3e0abb
Start adding aarch support to install/reenable, update all packages
Eeems Oct 29, 2025
021ba23
Fix git based builds
Eeems Oct 29, 2025
1ba6925
Update toltecmk and use new preparedepends
Eeems Oct 29, 2025
33618da
Log disk usage before each recipe build
Eeems Oct 30, 2025
c1293e4
Missing preparedepends in linux-stracciatella, output disk usage afte…
Eeems Oct 30, 2025
fda197e
Allow building linux-* with more than 8 threads if there are extra cores
Eeems Oct 30, 2025
8d22687
Don't deliver rmpp/rmppm restream
Eeems Oct 30, 2025
f22a5ee
Fix rerunning make repo-local
Eeems Oct 30, 2025
530c991
Free up space between builds
Eeems Oct 30, 2025
5f27705
Consolidate
Eeems Oct 30, 2025
211e4ca
Update toltecmk
Eeems Oct 30, 2025
9fecfc3
Only remove image once
Eeems Oct 30, 2025
84b9c69
Fix lint
Eeems Oct 30, 2025
9608e8d
Upgrade toltecmk
Eeems Oct 30, 2025
cc9a3c3
Fix selecting thread count
Eeems Oct 30, 2025
38c1f1f
Don't try to prune when image is empty
Eeems Oct 30, 2025
c732eaf
Bump toltecmk
Eeems Oct 30, 2025
2ea11a8
Fix regenda build, will need to test on device
Eeems Oct 30, 2025
72974da
Fix sudoku and netsurf
Eeems Oct 30, 2025
a09d6e5
Fix various packages
Eeems Oct 30, 2025
930f0f7
Speed up oxide build
Eeems Oct 30, 2025
aa336d8
Fix vnsee build
Eeems Oct 30, 2025
f8b0aa6
Speed up rmkit build
Eeems Oct 30, 2025
178d995
Fix doomarkable build
Eeems Oct 30, 2025
8808557
Fix evtest build
Eeems Oct 30, 2025
5ff295d
Split out package builds into one job per dependency chain
Eeems Oct 30, 2025
f71dcaf
Debug output
Eeems Oct 30, 2025
8aa9b33
Cache repo status, fix dependencies outputs
Eeems Oct 30, 2025
50ecdee
Setup venv before getting output
Eeems Oct 30, 2025
b872177
Fix format
Eeems Oct 30, 2025
f4eab7c
Filter repo build based on missing packages
Eeems Oct 30, 2025
bd1fce2
Move package filter to fetch_packages
Eeems Oct 30, 2025
9b3f9d8
Recipes, not packages
Eeems Oct 30, 2025
dc11d99
Use better env name
Eeems Oct 30, 2025
4dc6195
switch to --filter and move experimental sync to new job
Eeems Oct 30, 2025
dd5900e
Make dependency chain use package name, not recipe name
Eeems Oct 30, 2025
8edd0f2
Cleanup, use github mirror for wireguard
Eeems Oct 30, 2025
46560e3
Update dotnet, add rmpp/m support to dotnet
Eeems Oct 30, 2025
fea4a33
Fix linux-stracciatella
Eeems Oct 30, 2025
36e96d0
Split recipe parsing in testing/stable deployments as well
Eeems Oct 30, 2025
a961d06
Fix mount generation for rmpp/m
Eeems Oct 30, 2025
7b5c125
Attempt to speed up netsurf build
Eeems Oct 31, 2025
5519929
Fix netsurf build, don't remove src on build
Eeems Oct 31, 2025
b79165b
Fix bandwhich
Eeems Oct 31, 2025
49ab006
Upgrade quickjs, add aarch64 micro, upgrade tilem, bump missed versions
Eeems Oct 31, 2025
f525f7c
Add rmpp/m to lf
Eeems Oct 31, 2025
89e43fb
Fix netevent and mmc-utils
Eeems Oct 31, 2025
15b8906
Fix mmc-utils install location and add mmc-utils-doc
Eeems Oct 31, 2025
0674353
Fix filepath
Eeems Oct 31, 2025
27479bc
More aarch64 support
Eeems Oct 31, 2025
ac57509
Bump toltec-bootstrap version
Eeems Nov 1, 2025
1498392
Fix version check
Eeems Nov 1, 2025
064a0a1
Select correct arch for rmpp/m
Eeems Nov 1, 2025
150d090
Fix #900
Eeems Nov 1, 2025
0c84f1e
Fix reboot, mmc comes on rmpp and rmppm
Eeems Nov 1, 2025
2ca89d5
Port rmfakecloud-proxy to rmpp/m
Eeems Nov 1, 2025
c7502b8
Fix rmpp/m micro package
Eeems Nov 1, 2025
72cc7f9
Have launcherctl depend on xochitl so there is always a launcher conf…
Eeems Nov 1, 2025
28c2256
Split xochitl package between devices
Eeems Nov 1, 2025
921a149
Fix manual-sync logic hole
Eeems Nov 1, 2025
d27048b
Handle rw and overlay
Eeems Nov 1, 2025
62a6609
Add more hosts to rmfakecloudctl
Eeems Nov 1, 2025
62247d8
Add new host
Eeems Nov 1, 2025
a2e721b
Make toltecctl status output in one go, better launcherctl output
Eeems Nov 1, 2025
44f3e3f
Add more status information if available
Eeems Nov 1, 2025
54d506b
Hide entware services if there are none
Eeems Nov 1, 2025
5147efd
Update toltecmk
Eeems Nov 1, 2025
f653bc5
Only go back to rw and overlay when uninstalling
Eeems Nov 1, 2025
afdc750
Add toltecctl info command
Eeems Nov 1, 2025
ddf31da
Fix rmpp/m uninstall
Eeems Nov 1, 2025
02fc4c6
Fix uninstall
Eeems Nov 2, 2025
4e071ea
Fix entware-rc uninstall
Eeems Nov 2, 2025
44aa966
Fix version compare on 3.3.2.1666, fix keyd configure
Eeems Nov 2, 2025
0b82057
Flush out toltec-bbase and toltec-deletions
Eeems Nov 2, 2025
fbb5a58
Fix keyd on os3
Eeems Nov 3, 2025
1e00e29
Add back shellcheck, and fix lint
Eeems Nov 4, 2025
c9c9708
Ignore chroot errors
Eeems Nov 4, 2025
a6a2f80
Fix netsurf build
Eeems Nov 5, 2025
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
77 changes: 68 additions & 9 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,27 +13,86 @@ jobs:
run: make format
- name: Check for erroneous constructs
run: make lint
pr:
name: Check that it builds without error
dependencies:
name: Generate dependency chains
runs-on: ubuntu-24.04
needs: lint
outputs:
recipes-matrix: ${{ steps.recipes-matrix.outputs.JSON_CONTENT }}
steps:
- name: Checkout the Git repository
uses: actions/checkout@v4
- name: Setup Toltec dependencies
uses: ./.github/actions/setup
- name: Cache repo
uses: actions/cache@v4
with:
path: build/repo
key: ${{ github.base_ref }}-${{ hashFiles('package/*/package') }}
- name: Get recipe lists
id: recipes-matrix
run: |
make .venv/bin/activate
echo 'JSON_CONTENT<<EOF' >> $GITHUB_OUTPUT
echo '{"include":' >> $GITHUB_OUTPUT
make dependency-chain >> $GITHUB_OUTPUT
echo "}" >> $GITHUB_OUTPUT
echo 'EOF' >> $GITHUB_OUTPUT
env:
FLAGS: --remote-repo ${{ secrets.REMOTE_HTTP }}//${{ github.base_ref }}
build:
name: Build ${{ matrix.recipes }}
runs-on: ubuntu-24.04
needs: [lint, dependencies]
strategy:
matrix: ${{ fromJson(needs.dependencies.outputs.recipes-matrix) }}
fail-fast: false
steps:
- name: Checkout the Git repository
uses: actions/checkout@v4
- name: Setup Toltec dependencies
uses: ./.github/actions/setup
- name: Cache repo
uses: actions/cache@v4
with:
path: build/repo
key: ${{ github.base_ref }}-${{ hashFiles('package/*/package') }}
- name: Build packages
run: FLAGS='--remote-repo https://toltec-dev.org/${{ github.base_ref }}' make repo-new
- name: Save the build output
run: make repo-new
env:
FLAGS: --remote-repo ${{ secrets.REMOTE_HTTP }}//${{ github.base_ref }} --filter "${{ matrix.recipes }}"
CLEANUP: 1
- name: Upload all ipk
uses: actions/upload-artifact@v4
with:
name: repo
name: recipes-${{ matrix.recipes }}
path: build/repo/**/*.ipk
deploy:
name: Deploy experimental branch
runs-on: ubuntu-24.04
needs: [build]
if: ${{ contains(github.event.pull_request.labels.*.name, 'experimental') }}
steps:
- name: Checkout the Git repository
uses: actions/checkout@v4
- name: Setup Toltec dependencies
uses: ./.github/actions/setup
- name: Cache repo
uses: actions/cache@v4
with:
path: build/repo
key: ${{ github.base_ref }}-${{ hashFiles('package/*/package') }}
- name: Download all packages
uses: actions/download-artifact@v5
with:
path: build/repo
pattern: recipes-*
merge-multiple: true
- name: Build packages for experimental
if: ${{ contains(github.event.pull_request.labels.*.name, 'experimental') }}
run: make repo FLAGS='--remote-repo https://toltec-dev.org/${{ github.base_ref }}'
run: make repo
env:
FLAGS: --remote-repo ${{ secrets.REMOTE_HTTP }}//${{ github.base_ref }}
CLEANUP: 1
- name: Sync packages with the remote repository
if: ${{ contains(github.event.pull_request.labels.*.name, 'experimental') }}
uses: ./.github/actions/sync-repository
with:
local-path: build/repo/
Expand Down
75 changes: 71 additions & 4 deletions .github/workflows/stable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,84 @@ on:
branches:
- stable
jobs:
stable:
name: Build and publish the stable channel
dependencies:
name: Generate dependency chains
runs-on: ubuntu-24.04
outputs:
recipes-matrix: ${{ steps.recipes-matrix.outputs.JSON_CONTENT }}
steps:
- name: Checkout the Git repository
uses: actions/checkout@v4
- name: Setup Toltec dependencies
uses: ./.github/actions/setup
- name: Build packages
- name: Cache repo
uses: actions/cache@v4
with:
path: build/repo
key: stable-${{ hashFiles('package/*/package') }}
- name: Get recipe lists
id: recipes-matrix
run: |
make repo FLAGS='--remote-repo ${{ secrets.REMOTE_HTTP }}/stable'
make .venv/bin/activate
echo 'JSON_CONTENT<<EOF' >> $GITHUB_OUTPUT
echo '{"include":' >> $GITHUB_OUTPUT
make dependency-chain >> $GITHUB_OUTPUT
echo "}" >> $GITHUB_OUTPUT
echo 'EOF' >> $GITHUB_OUTPUT
env:
FLAGS: --remote-repo ${{ secrets.REMOTE_HTTP }}/stable
build:
name: Build ${{ matrix.recipes }}
runs-on: ubuntu-24.04
needs: [dependencies]
strategy:
matrix: ${{ fromJson(needs.dependencies.outputs.recipes-matrix) }}
fail-fast: false
steps:
- name: Checkout the Git repository
uses: actions/checkout@v4
- name: Setup Toltec dependencies
uses: ./.github/actions/setup
- name: Cache repo
uses: actions/cache@v4
with:
path: build/repo
key: stable-${{ hashFiles('package/*/package') }}
- name: Build packages
run: make repo-new
env:
FLAGS: --remote-repo ${{ secrets.REMOTE_HTTP }}/stable --filter "${{ matrix.recipes }}"
CLEANUP: 1
- name: Upload all ipk
uses: actions/upload-artifact@v4
with:
name: recipes-${{ matrix.recipes }}
path: build/repo/**/*.ipk
deploy:
name: Deploy stable branch
runs-on: ubuntu-24.04
needs: [build]
steps:
- name: Checkout the Git repository
uses: actions/checkout@v4
- name: Setup Toltec dependencies
uses: ./.github/actions/setup
- name: Cache repo
uses: actions/cache@v4
with:
path: build/repo
key: stable-${{ hashFiles('package/*/package') }}
- name: Download all packages
uses: actions/download-artifact@v5
with:
path: build/repo
pattern: recipes-*
merge-multiple: true
- name: Build packages for stable
run: make repo
env:
FLAGS: --remote-repo ${{ secrets.REMOTE_HTTP }}//stable
CLEANUP: 1
- name: Sync packages with the remote repository
uses: ./.github/actions/sync-repository
with:
Expand Down
75 changes: 71 additions & 4 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,84 @@ on:
branches:
- testing
jobs:
testing:
name: Build and publish the testing channel
dependencies:
name: Generate dependency chains
runs-on: ubuntu-24.04
outputs:
recipes-matrix: ${{ steps.recipes-matrix.outputs.JSON_CONTENT }}
steps:
- name: Checkout the Git repository
uses: actions/checkout@v4
- name: Setup Toltec dependencies
uses: ./.github/actions/setup
- name: Build packages
- name: Cache repo
uses: actions/cache@v4
with:
path: build/repo
key: testing-${{ hashFiles('package/*/package') }}
- name: Get recipe lists
id: recipes-matrix
run: |
make repo FLAGS='--remote-repo ${{ secrets.REMOTE_HTTP }}/testing'
make .venv/bin/activate
echo 'JSON_CONTENT<<EOF' >> $GITHUB_OUTPUT
echo '{"include":' >> $GITHUB_OUTPUT
make dependency-chain >> $GITHUB_OUTPUT
echo "}" >> $GITHUB_OUTPUT
echo 'EOF' >> $GITHUB_OUTPUT
env:
FLAGS: --remote-repo ${{ secrets.REMOTE_HTTP }}//testing
build:
name: Build ${{ matrix.recipes }}
runs-on: ubuntu-24.04
needs: [dependencies]
strategy:
matrix: ${{ fromJson(needs.dependencies.outputs.recipes-matrix) }}
fail-fast: false
steps:
- name: Checkout the Git repository
uses: actions/checkout@v4
- name: Setup Toltec dependencies
uses: ./.github/actions/setup
- name: Cache repo
uses: actions/cache@v4
with:
path: build/repo
key: testing-${{ hashFiles('package/*/package') }}
- name: Build packages
run: make repo-new
env:
FLAGS: --remote-repo ${{ secrets.REMOTE_HTTP }}//testing --filter "${{ matrix.recipes }}"
CLEANUP: 1
- name: Upload all ipk
uses: actions/upload-artifact@v4
with:
name: recipes-${{ matrix.recipes }}
path: build/repo/**/*.ipk
deploy:
name: Deploy testing branch
runs-on: ubuntu-24.04
needs: [build]
steps:
- name: Checkout the Git repository
uses: actions/checkout@v4
- name: Setup Toltec dependencies
uses: ./.github/actions/setup
- name: Cache repo
uses: actions/cache@v4
with:
path: build/repo
key: testing-${{ hashFiles('package/*/package') }}
- name: Download all packages
uses: actions/download-artifact@v5
with:
path: build/repo
pattern: recipes-*
merge-multiple: true
- name: Build packages for testing
run: make repo
env:
FLAGS: --remote-repo ${{ secrets.REMOTE_HTTP }}//testing
CLEANUP: 1
- name: Sync packages with the remote repository
uses: ./.github/actions/sync-repository
with:
Expand Down
15 changes: 14 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ RECIPES_CLEAN=$(foreach app, $(RECIPES), $(app)-clean)

ifeq ($(RUNNER_DEBUG), 1)
FLAGS+= --verbose
else
ifeq ($(VERBOSE), 1)
FLAGS+= --verbose
endif
endif
ifeq ($(CLEANUP), 1)
FLAGS+= --cleanup
endif

define USAGE
Expand Down Expand Up @@ -62,6 +69,10 @@ repo-local: .venv/bin/activate
. .venv/bin/activate; \
./scripts/repo_build.py --local $(FLAGS)

dependency-chain: .venv/bin/activate
@. .venv/bin/activate; \
./scripts/dependency_chain.py $(FLAGS)

repo-new: .venv/bin/activate
. .venv/bin/activate; \
./scripts/repo_build.py --diff $(FLAGS)
Expand Down Expand Up @@ -112,7 +123,7 @@ format-fix: .venv/bin/activate

lint: .venv/bin/activate
@echo "==> Linting Bash scripts"
# shellcheck $$(shfmt -f .) -P SCRIPTDIR
shellcheck $$(shfmt -f .) -P SCRIPTDIR
@echo "==> Typechecking Python files"
. .venv/bin/activate; \
MYPYPATH=scripts mypy --disallow-untyped-defs scripts
Expand All @@ -130,6 +141,8 @@ clean:
help \
repo \
repo-local \
dependency-chain \
repo-new \
repo-check \
$(RECIPES) \
$(RECIPES_PUSH) \
Expand Down
29 changes: 18 additions & 11 deletions docs/package.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,24 @@ You can also declare custom variables to reduce repetition but make sure to pref
The list of devices that are compatible with this package.
The following values are accepted:

Name | Meaning
------------|-------------------------------------------------------------------------
`rmall` | Packages which work on all reMarkable devices without modification.
`rm1` | Packages requiring reMarkable 1-specific resources or compilation flags.
`rm2` | Packages requiring reMarkable 2-specific resources or compilation flags.
`rmallos2` | Packages which work on all reMarkable devices without modification, but only on the 2.x series of operating system.
`rm1os2` | Packages requiring reMarkable 1-specific resources or compilation flags, but only on the 2.x series of operating system.
`rm2os2` | Packages requiring reMarkable 2-specific resources or compilation flags, but only on the 2.x series of operating system.
`rmallos3` | Packages which work on all reMarkable devices without modification, but only on the 3.x series of operating system.
`rm1os3` | Packages requiring reMarkable 1-specific resources or compilation flags, but only on the 3.x series of operating system.
`rm2os3` | Packages requiring reMarkable 2-specific resources or compilation flags, but only on the 3.x series of operating system.
Name | Meaning
--------------|-------------------------------------------------------------------------
`rmall` | Packages which work on all reMarkable devices without modification.
`rm1` | Packages requiring reMarkable 1 specific resources or compilation flags.
`rm2` | Packages requiring reMarkable 2 specific resources or compilation flags.
`rmpp` | Packages requiring reMarkable Paper Pro specific resources or compilation flags.
`rmppm` | Packages requiring reMarkable Paper Pro Move specific resources or compilation flags.
`rmallos2` | Packages which work on all reMarkable devices without modification, but only on the 2.x series of operating system.
`rm1os2` | Packages requiring reMarkable 1 specific resources or compilation flags, but only on the 2.x series of operating system.
`rm2os2` | Packages requiring reMarkable 2 specific resources or compilation flags, but only on the 2.x series of operating system.
`rmallos3` | Packages which work on all reMarkable devices without modification, but only on 3.0 to 3.3.2 versions of the operating system.
`rm1os3` | Packages requiring reMarkable 1 specific resources or compilation flags, but only on 3.0 to 3.3.2 versions of the operating system.
`rm2os3` | Packages requiring reMarkable 2 specific resources or compilation flags, but only on 3.0 to 3.3.2 versions of the operating system.
`rmallos3v22` | Packages which work on all reMarkable devices without modification, but only on 3.22.0.64 or newer operating system versions.
`rm1os3v22` | Packages requiring reMarkable 1-specific resources or compilation flags, but only on 3.22.0.64 or newer operating system versions.
`rm2os3v22` | Packages requiring reMarkable 2-specific resources or compilation flags, but only on 3.22.0.64 or newer operating system versions.
`rmppos3v22` | Packages requiring reMarkable Paper Pro specific resources or compilation flags, but only on 3.22.0.64 or newer operating system versions.
`rmppmos3v22` | Packages requiring reMarkable Pape Pro Move specific resources or compilation flags, but only on 3.22.0.64 or newer operating system versions.

For example, use `archs=(rm1)` for a package that only works on reMarkable 1, or `archs=(rm1 rm2)` for a package that works both on reMarkable 1 and reMarkable 2 but needs different dependencies or compilation flags for each of those.

Expand Down
3 changes: 3 additions & 0 deletions package/.shellcheckrc
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,6 @@ disable=SC2034
# Do not warn about undeclared variables since recipes may use build variables
# such as `srcdir` or `pkgdir`
disable=SC2154

# Do not warn about unused functions, such as package() or build()
disable=SC2329
6 changes: 6 additions & 0 deletions package/Compatibility
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ rm1=3.0.4.1305
rm1=3.2.2.1581
rm1=3.2.3.1595
rm1=3.3.2.1666
rm1=3.22.0.64

rm2=2.6.1.71
rm2=2.6.2.75
Expand Down Expand Up @@ -68,3 +69,8 @@ rm2=3.0.4.1305
rm2=3.2.2.1581
rm2=3.2.3.1595
rm2=3.3.2.1666
rm2=3.22.0.64

rmpp=3.22.0.64

rmppm=3.22.0.64
4 changes: 2 additions & 2 deletions package/appmarkable/package
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
#!/usr/bin/env bash
# Copyright (c) 2021 The Toltec Contributors
# SPDX-License-Identifier: MIT

archs=(rm1 rm2)
pkgnames=(appmarkable)
pkgdesc="Front-end for apps that do not have a graphical user interface"
url="https://github.com/LinusCDE/appmarkable"
pkgver=0.1.3-1
pkgver=0.1.3-2
timestamp=2024-06-01T21:00Z
section="devel"
maintainer="Linus K. <linus@cosmos-ink.net>"
Expand Down
Loading