Skip to content

feat: add package scripts for Debian and Alpine#1

Draft
edubart wants to merge 6 commits intomainfrom
feature/debian-alpine
Draft

feat: add package scripts for Debian and Alpine#1
edubart wants to merge 6 commits intomainfrom
feature/debian-alpine

Conversation

@edubart
Copy link
Copy Markdown

@edubart edubart commented Jan 17, 2025

This PR contains hardlinks to https://edubart.github.io/linux-packages in many places, where I am personally temporary hosting packages using GitHub pages, the idea is to change this to official cartesi URL once when have official distribution repository.

Building

There is no CI workflow set up, you can build all packages locally with:

make -C alpine
make -C debian

This will use Docker to build packages for amd64/arm64/riscv64 for both Alpine/Debian without any cross compilaton, this may take hours, please do not use make -j$(nproc) to speed up, this is not supported at the moment and may mess the package registry. Once done Debian/Ubuntu packages will be available in the cdn/apt directory, and Alpine packages in cdn/apk directory. The idea of cdn directory is to copy and host it in a HTTPS web server, at the moment I am temporarily hosting in a separate repository using GitHub Pages.

The first time you execute make it will automatically generate private signature keys in alpine/key and debian/key. This keys should be kept private. Debian uses GPG keys, while Alpine uses customized OpenSSL keys.

Typing make subsequent times will only build packages if its build script is newer than the ones found in package archive cdn.

Testing locally

After all packages are build, assuming cdn directory is filled with the package registry, you can test installing all of them locally with:

make -C alpine test
make -C debian test

This test will also execute some of the packages to check if it's indeed working, for instance it execute cartesi-machine command for amd64/arm64/riscv64 to check if it can boot its guest Linux system.

Testing remotely

The README of Alpine/Debian contains instructions on how to use remote repository in both host or guest environments, you can manually follow the instructions in a brand new Docker image shell to check if the remote repository is working.

@edubart edubart added the enhancement New feature or request label Jan 17, 2025
@edubart edubart self-assigned this Jan 17, 2025
@edubart edubart linked an issue Jan 17, 2025 that may be closed by this pull request
@edubart edubart force-pushed the feature/debian-alpine branch 2 times, most recently from 5f752a8 to ca08870 Compare January 21, 2025 15:32
@edubart edubart requested review from tuler and vfusco January 21, 2025 15:40
@edubart edubart force-pushed the feature/debian-alpine branch from ca08870 to c234d33 Compare January 21, 2025 16:06
@edubart edubart force-pushed the feature/debian-alpine branch from c234d33 to b50d94f Compare January 23, 2025 14:39
tuler

This comment was marked as resolved.

@edubart edubart requested a review from tuler January 28, 2025 19:32
@edubart edubart force-pushed the feature/debian-alpine branch from b6a524a to c4c076b Compare May 28, 2025 19:53
@edubart edubart moved this from Waiting Review to On Hold in Machine Unit Nov 6, 2025
@edubart edubart moved this from On Hold to In Progress in Machine Unit Apr 14, 2026
@edubart edubart removed request for tuler and vfusco April 14, 2026 15:18
@endersonmaia endersonmaia marked this pull request as draft April 14, 2026 18:56
@endersonmaia endersonmaia force-pushed the feature/debian-alpine branch 7 times, most recently from 1e61a54 to f46600a Compare April 14, 2026 21:59
@endersonmaia endersonmaia force-pushed the feature/debian-alpine branch from f46600a to 461ded2 Compare April 15, 2026 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

Create cartesi-machine debian source packages

3 participants