- We follow the OpenBSD KNF.
- Always able to build and run on the latest OpenBSD and Debian.
- Use the OS and C library first.
OpenBSD KNF. See style(9) for details, or find it online. This is a way of thinking: explictness in an effort to understand what the software does, but not too much explictness so that the idea is not muddled by the syntax. Use these vim settings for the indentation format:
set sw=0
set ts=8
set noet
set cinoptions=:0,t0,+4,(4
Build and run on OpenBSD and Debian. These OSes represent the systems that we use, therefore they are the ones we are best able to support. Our target audience uses them, too.
Use libc first. It is far too easy to reach for convenience functions in extra libraries, but we should first use and practice what we have in our OS. This helps keep the code focused and accessible.
See the dependencies in the README.md
.
To build from a fresh checkout:
./autogen.sh
./configure
make pkgdatadir=$PWD/share/idiom
-
Update the version in
configure.ac
:AC_INIT([idiom], [0.2], [support@bitptr.org])
-
Verify the tarball:
make distcheck tar -ztf idiom-0.2.tar.gz | less
-
Tag the repo:
git checkout master git pull --rebase git push origin master git status git tag -u $keyid -m "Release version 0.2" v0.2 git push origin master --tags
-
Sign the tarball:
gpg -sab -u $keyid idiom-0.2.tar.gz
-
Verify the signature:
gpg --verify idiom-0.2.tar.gz.asc idiom-0.2.tar.gz