add dev doc
This commit is contained in:
57
DEVELOPING.md
Normal file
57
DEVELOPING.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# Being a Hush Developer
|
||||
|
||||
## Compiling Hush
|
||||
|
||||
Normal compiling is as simple as:
|
||||
|
||||
./zcutil/build.sh
|
||||
|
||||
To make it use as many CPU threads as you have:
|
||||
|
||||
./zcutil/build.sh -j$(nproc) # assumes linux
|
||||
./zcutil/build.sh -j8 # use a fixed 8 threads, more portable
|
||||
|
||||
## Good Hygiene
|
||||
|
||||
To avoid weirld build system issues, it's often good to run:
|
||||
|
||||
make clean
|
||||
|
||||
*before* you switch Git branches. Otherwise, the new branches Makefiles
|
||||
often are incompatible and `make clean` will be impossible, which can
|
||||
sometimes introduce weird bugs or make compiling really annoying.
|
||||
|
||||
## Switching branches
|
||||
|
||||
Switching branches and doing partial compiles in Komodo/Hush source code
|
||||
can introduce weird bugs, which are fixed by running `build.sh` again.
|
||||
When in doubt, if you run into a compile error, especially if it mentions
|
||||
`OCTET_STRING`, run `build.sh` again. Running `make clean` before switching
|
||||
branches can often prevent those problems.
|
||||
|
||||
## Partial compiles
|
||||
|
||||
At any point, you can modify hush source code and then use `make` or `build.sh`
|
||||
to do a partial compile. The first is faster but the latter is more likely to
|
||||
work correctly in all circustances. Sometimes partial compiles break weird
|
||||
build system dependencies, and you must do a `make clean` first, or even
|
||||
`git clean -fdx` (look up what it means first!) to clean things. The nuclear
|
||||
option is to re-clone the repo, which sometimes is the least work to fix
|
||||
the problem.
|
||||
|
||||
## Generating new unix man pages
|
||||
|
||||
Make sure that you have updated all version numbers in hushd and compiled, then
|
||||
to generate new unix man pages for that version :
|
||||
|
||||
./contrib/devtools/gen-manpages.sh
|
||||
|
||||
## Generating new debian packages
|
||||
|
||||
After successfully compiling Hush, you can generate a debian package of these binaries with:
|
||||
|
||||
./zcutil/build-debian-package.sh
|
||||
|
||||
This command will not work on Mac OS X. Currently you cannot generate a Debian package
|
||||
from operating systems other than Linux.
|
||||
|
||||
Reference in New Issue
Block a user