4 Development
Luchesar ILIEV edited this page 2026-07-20 11:02:07 +03:00

Development

Note

The previous contents of this page described the old repo.sh and Packer/QEMU workflow. That path is historical, destructive, and incomplete. Current production builds and publishes through GitHub Actions.

Read the main repository's architecture and agent guidance before changing package generation, release workflows, signing, failover, or generated package repositories:

Release-infrastructure changes should be validated in the disposable archzfs-testing fork before a production pull request. The staging repository is for CI behavior and release mutation, not an end-user package channel.

Initcpio Hooks

The initcpio hook declares ash compatibility. Bash syntax checks alone are not sufficient when changing it. A focused parse check can use dash:

dash
. src/zfs-utils/zfs-utils.initcpio.hook

Running build.sh -U rewrites the corresponding hashes in conf.sh; review those changes as package inputs rather than incidental formatting.

Do not use repo.sh, push.sh, signing commands, remote rsync, or the legacy VM test harness without explicit authorization and environment review.