Haggis archive library
Find a file
2023-12-19 06:59:57 -05:00
include Add try_pop method for haggis_mq 2023-11-20 19:09:05 -05:00
man Update function parameters in man page 2023-09-19 00:40:14 -04:00
test Add tests for hardlink nodes 2023-12-01 16:03:31 -05:00
.gitignore Remove includes added by lsp server; Check in confg.mk; 2023-08-24 00:18:13 -04:00
bytes.c Fix NetBSD compilation 2023-08-22 03:27:03 -04:00
compile_flags.txt Added prototypes for many functions 2023-07-20 01:06:38 -04:00
config.mk Add manpages to make install 2023-08-28 20:50:29 -04:00
Format.md Add README and Format files 2023-08-10 10:22:09 -04:00
haggis.c If hardlink exists, remove it before attempting to recreate it 2023-12-19 06:59:57 -05:00
jobq.c Fix Linux compilation, simplify Makefiles 2023-08-10 22:42:43 -04:00
linkmap.c Change linkmap structure to handle collisions by placing into the 2023-09-14 22:17:11 -04:00
Makefile Get device file ezxtraction working and tested 2023-10-03 01:53:59 -04:00
mq.c Fix previous commit by saving file; 2023-11-20 19:10:15 -05:00
README.md Move certain vars into config.mk 2023-08-22 22:47:15 -04:00

SeaHag

This is a C implementation of the haggis archive format. It does not follow any particular C standard (c99, c11 etc) but has been written with portability in mind, being developed simultaneously on FreeBSD and Linux. It is implemented as a library and by default both shared and static versions will be built.

Building

Do a quick check of config.mk to be ensure the variables set therein work for your system, and edit as needed.

SeaHag is built using a portable Makefile which works with both BSD and GNU Make. Due to the limited subset of features used it may be portable to other versions of Make, but that is untested as is the code on systems other than BSD or Linux. The default target builds both shared and static libraries. If you prefer to build one or the other, use the shared or static targets. The Makefile also follows the Destdir pattern for ease of packaging.

Tests

There is a simple test harness which can be invoked via make test. If you wish to port this software to an untested platform the tests will greatly assist in that process.

Contributing

Contributions are always welcome and can be made via pull request or git send-email, sent to jeang3nie at hitchhiker-linux dot org. Coding style is four space indent, no tabs, with function signatures on one line unless that line would go past the long line marker in which case each parameter goes on a new line. The intention is that the software should remain portable with no further dependencies beyond libmd and libpthread, so contributions which introduce further dependencies will be rejected. Of particular interest are contributions in the form of documentation or porting to untested platforms.