MesaLock Linux Packages
To ensure the safty and security of the user space environment, unlike other Linux distributions, packages in MesaLock Linux are written in memory-safe language (e.g., Rust and Go). We select packages based on three metrics: quality, functionality and security. Please read the MesaLock Linux documentation to learn more.
There are four categories of all packages:
core: core packages to bootstrap the system
community: packages from community
core-testing: new core packages or new version for trying and testing
community-testing: new community packages or new version for trying and testing
core packages are essential packages to bootstrap the system and
have the basic function.
community packages are other nice-to-have packages
written in Rust/Go. And
community-testing will aggressively
use latest version or newer version code for testing.
Contributing new packages
A package consists of a
build.yml script and related files and patches. It is very
simple to include a new package in MesaLock Linux. The
build.yml is a YAML
file and should contain two parts: metadata and building functions.
The build tool (
mkpkg) will make a package in following steps:
- downloading source code and/or extract it into
build: building sources
check: testing and checking functions
install: zip the output as a package
There are several pre-defined variables which
mkpkg will look for:
license: package related metadata
install: script to build/check/install the package
Here are several pre-defined environment variables you can use in the script
version: package metadata information
builddir: directory for building package
pkgdir: directory to install compiled code
You can find more details in the
Here is an example of
build.yml script for
ripgrep, a Rust grep tool.
package: name: ripgrep version: 0.8.0 description: ripgrep combines the usability of The Silver Searcher with the raw speed of grep license: [MIT, Unlicense] url: https://github.com/BurntSushi/ripgrep skip_check: true source: - git+https://github.com/BurntSushi/$name.git prepare: - cd "$name".git && git checkout -B 0.8.0 build: - cd "$name".git && cargo build --release - cd "$name".git && cargo test install: - cd "$name".git && install -D -m744 target/release/rg -t "$pkgdir"/bin/
- Mingshen Sun
The MesaLock Linux Packages project is provided under the BSD license.