mirror of
https://cagebreak.project-repo.co/cagebreak.git
synced 2026-08-18 03:29:12 +02:00
2.4 KiB
2.4 KiB
FAQ for Development
How is cagebreak adjusted to a new wlroots version?
There are three steps:
- Try to compile Cagebreak with the new wlroots.
- Fix the compiler errors one-by-one using the wlroots changelog for reference (https://gitlab.freedesktop.org/wlroots/wlroots/-/releases).
- Debug until Cagebreak works again.
How do I add a new test?
- Add a shell script to
test/ - Optionally add test configs to
test/testing-configurations/ - Make sure the files have shebang, copyright and SPDX License identifiers (use the other files for reference)
- Add the test to
meson.buildas in the example below. - Add paths and env vars as shown in the other tests
- Make sure the test is added to the correct suite (check out CONTRIBUTING.md for details)
test('Scan-build (static analysis)', find_program('test/scan-build'), env : [ ''.join('MESONCURRENTCONFIGDIR=', meson.current_source_dir()) ], suite: 'devel-long')
How do I add a new script?
- Add a shell script to
scripts/ - Make sure the files have shebang, copyright and SPDX License identifiers (use the other files for reference)
- Add the script to CONTRIBUTING.md
- Add the script to meson.build as shown below
run_target('create-sigs',
command : ['scripts/create-signatures', get_option('gpg_id')])
How do I add an example script?
Extrapolate from the examples in the example_scripts directory.
The script should be executable with the .sh library file in the same directory.
License, contributors etc. should be appropriate.
Shellcheck must pass on any script (judicious use of shellcheck pragmas is allowed but discouraged).
How do I add a new gpg key?
- Check which gpg key versions are currently valid.
- Generate keys with incremented numbers/emails/dates/passphrase.
- Use 4096 Bit RSA Keys
- Sign the new keys with at least one then-old signing key.
- Genereate new cagebreak@project-repo.co key
- Sign the new mail key with the new signing keys.
- Generate new pkgbuild key.
- Sign the pkgbuild key with the new signing keys.
- Add public keys to
keys/. - Update meson_options.txt
- Update all man pages, CONTRIBUTING & SECURITY.md
- Update the pkgbuild repo with the new key (key and readme).
- Securely distribute private keys and revocation certificates as per the internal wiki.