Prerequisites
You must install the following software:
- A current, supported release of Go,
- staticcheck,
- shadow,
- unparam,
- govulncheck,
- Fossil,
- Git (so that Go can download some dependencies).
See folder docs/development (a zettel box) for details.
Clone the repository
Most of this is covered by the excellent Fossil documentation.
- Create a directory to store your Fossil repositories. Let's assume, you have created $HOME/fossils.
- Clone the repository:
fossil clone https://zettelstore.de/ $HOME/fossils/zettelstore.fossil
. - Create a working directory. Let's assume, you have created $HOME/zettelstore.
- Change into this directory:
cd $HOME/zettelstore
. - Open development:
fossil open $HOME/fossils/zettelstore.fossil
.
(If you are not able to use Fossil, you could try the GitHub mirror https://github.com/zettelstore/zettelstore.)
The build tool
In directory tools there is a Go file called build.go. It automates most aspects, (hopefully) platform-independent.
The script is called as:
go run tools/build.go [-v] COMMAND
The flag -v
enables the verbose mode.
It outputs all commands called by the tool.
Some important COMMAND
s are:
build
: builds the software with correct version information and puts it into a freshly created directory bin.check
: checks the current state of the working directory to be ready for release (or commit).clean
: removes the build directories and cleans the Go cache.version
: prints the current version information.tools
: installs / updates the tools described above: staticcheck, shadow, unparam, govulncheck.
Therefore, the easiest way to build your own version of the Zettelstore software is to execute the command
go run tools/build.go build
In case of errors, please send the output of the verbose execution:
go run tools/build.go -v build