This repository was archived by the owner on Feb 21, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
the hopefully ever lasting archive
License
marook/everarch
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
______________________
< this repo has moved! >
----------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
the current upstream version is at:
https://git.ma300k.de/everarch/
everarch - the hopefully ever lasting archive
1) Introduction
2) Build & Installation
3) Podman Images
4) Usage
5) Tests
6) Release
7) License
8) Contact
------------------------------------------------------------------------
Introduction
everarch is a collection of applications to store your personal
data. The goals of everarch are:
- store your tiny and GB sized files
- provide a customized index over your data
- make backups complete and fast
- access your files via a virtual file system
- store your data in a format which you still can read in 20 years in
_future programming language_
- store your data in a way that allows you to easily adopt new data
structures without the need to migrate the existing data
- detect corrupt or externally modified data and restore it with a
partial backup
What everarch is not:
- a database which handles inserts every few milliseconds over a long
amount of time very well
- a multi user storage with fine grained access permissions
everarch is right now in a pre alpha state. It's not intended to be
used for your production data yet. Check out the backlog file to see
what we are heading for in the v0.1 release.
To get a more in depth overview about everarch watch the presentation
at https://evr.ma300k.de
The everarch source code is available at
git://git.ma300k.de/everarch
https://evr.ma300k.de/dist
------------------------------------------------------------------------
Build & Installation
everarch should compile on linux and BSD systems. It relies on some
POSIX APIs which make it incompatible to Windows.
Everarch is known to run at least on i686, arm64 and arm32 systems.
Install at least the minimal required dependencies on Debian. For
other distributions see the corresponding doc/BUILD.* files:
$ apt install make automake pkg-config libtool texinfo libxml2-dev \
libxslt1-dev libssl-dev libgpgme-dev libgcrypt-dev libsqlite3-dev
The minimum required dependencies will just build the
evr-glacier-storage server. Usually you also want to build
evr-attr-index which requires the following extra dependencies:
$ apt install flex bison
evr-fs let's you access everarch content from the file system instead
of just via the evr command line interface. You need the following
extra dependencies if you want to build evr-fs:
$ apt install fuse3 libfuse3-dev
evr-attr-index has an optional http server to query the index. Install
the following if you want to use it:
$ apt install libmicrohttpd-dev
Install the following if you want to use the emacs integration:
$ apt install emacs elpa-helm elpa-s elpa-seq
Install the following if you want to build the unfinished and
experimental evr-attr-ui:
$ apt install libgtk-3-dev
On linux you can execute the following within the everarch directory
to build the application.
Setup the build system once after you clone the repository:
$ autoreconf --install --symlink
$ ./configure
There are some feature toggles available with the configure
script. For example --enable-futile-claim-set-tracking. List them
with:
$ ./configure --help
Run every time you want to build the applications:
$ make
Install the applications:
$ make install
------------------------------------------------------------------------
Podman Images
Some parts of everarch are available as podman or docker images. These
images can either be compiled by yourself or are available at
https://hub.docker.com/u/ma300k
Files for building the images are below etc/podman. Also there is a
podman compose configuration for starting up an evr-websocket-server
together with an evr-glacier-storage server. See
etc/podman/standalone-glacier-websocket.
------------------------------------------------------------------------
Usage
A detailed manual can be found in src/evr.texi.
------------------------------------------------------------------------
Tests
Executing the tests requires more dependencies:
$ apt install valgrind socat
Executing the tests also requires a GPG key usable for signing. If you
don't have one it can be created using:
$ gpg --gen-key
Execute the following to run the whole test suite with unit and
integration tests:
$ ./test.sh
Test execution relies on valgrind ( https://www.valgrind.org ) and
socat ( http://www.dest-unreach.org/socat/ ).
You can customize some integration test variables for you local
system's needs if you create the file testing/suite/config.local. See
testing/suite/config for potential variables.
------------------------------------------------------------------------
Release
Releases the source code committed to the main branch to
https://evr.ma300k.de/dist
$ ./release
------------------------------------------------------------------------
License
See COPYING for details about everarch files copying conditions.
There are a few files which got a different license. See their header
comments for more details. These files include at least:
src/rollsum.h
src/rollsum.c
My sincere thank you goes out to the original authors Martin Pool and
Donovan Baarda.
------------------------------------------------------------------------
Contact
For questions about everarch you can contact me via email at Markus
Peröbner <[email protected]>.
About
the hopefully ever lasting archive
Resources
License
Stars
Watchers
Forks
Releases
No releases published