├── Dockerfile ├── README.md ├── build.sh └── debian ├── changelog ├── control ├── copyright ├── rules └── znapzend.service /Dockerfile: -------------------------------------------------------------------------------- 1 | ARG image=debian:latest 2 | ARG znapzend-tag=v0.21.1 3 | 4 | FROM ${image} 5 | 6 | RUN apt-get update && apt-get install -y git devscripts debhelper unzip build-essential 7 | RUN git clone -b v0.21.1 https://github.com/oetiker/znapzend 8 | 9 | COPY debian znapzend/debian 10 | 11 | RUN cd znapzend && debuild --no-tgz-check -us -uc 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Testing ZnapZend Debian packages 2 | =============== 3 | 4 | You can download prebuilt package from 'releases' section of this repository. Please report back with problems. 5 | 6 | 7 | Creating ZnapZend Debian packages 8 | =============== 9 | 10 | You can either run the build manually or use a docker based build script 11 | 12 | ## Manual package creation 13 | Install required packages: 14 | ```sh 15 | apt install git debhelper devscripts unzip build-essential 16 | ``` 17 | 18 | Build debs: 19 | 20 | ```sh 21 | git clone https://github.com/Gregy/znapzend-debian.git 22 | cd znapzend-debian 23 | git clone -b v0.21.1 https://github.com/oetiker/znapzend 24 | cp -r debian/ znapzend 25 | cd znapzend 26 | debuild --no-tgz-check -us -uc 27 | ``` 28 | 29 | Resulting packages are in parent directory 30 | ```sh 31 | cd .. 32 | ``` 33 | 34 | 35 | 36 | ## Scripted package creation 37 | 38 | Convinient build script utilizing a docker container is present in the repo. Run it like this: 39 | 40 | ```sh 41 | ./build.sh 42 | ``` 43 | 44 | Installing ZnapZend Debian packages 45 | =============== 46 | 47 | ```sh 48 | apt install ./znapzend_*.deb 49 | ``` 50 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | znapzend_tag=0.21.1 5 | docker_tag=debian 6 | 7 | 8 | docker build -t znapzendbuild --build-arg=image=$docker_tag --build-arg=znapzend-tag=$znapzend_tag . 9 | docker run -v $PWD:/opt/workdir --rm znapzendbuild bash -c "cp /znapzend_*.deb /opt/workdir" 10 | 11 | -------------------------------------------------------------------------------- /debian/changelog: -------------------------------------------------------------------------------- 1 | znapzend (0.21.1-1) UNRELEASED; urgency=medium 2 | 3 | * Experimental package 4 | 5 | -- Petr Gregor Sat, 14 May 2022 22:11:00 +0000 6 | -------------------------------------------------------------------------------- /debian/control: -------------------------------------------------------------------------------- 1 | Source: znapzend 2 | Maintainer: Petr Gregor 3 | Section: misc 4 | Priority: optional 5 | Standards-Version: 4.5.1 6 | Build-Depends: debhelper (>= 9.20160709), debhelper-compat (= 13) 7 | 8 | Package: znapzend 9 | Architecture: any 10 | Depends: ${shlibs:Depends}, ${misc:Depends}, perl 11 | Description: High performance open source ZFS backup with mbuffer and ssh support 12 | Znapzend is leveraging ZFS and ssh creating flexible backup solution with 13 | features including mbuffer support, fileset-based configuration, 14 | flexible backup locations, progressive thining, online backup scheduler 15 | and flexible snapshot naming. 16 | -------------------------------------------------------------------------------- /debian/copyright: -------------------------------------------------------------------------------- 1 | Files: * 2 | Copyright: 2006 Dominik Hassler, Tobias Oetiker 3 | License: GPL-3+ 4 | 5 | On debian systems see /usr/share/common-licenses/GPL-3 for complete license. 6 | -------------------------------------------------------------------------------- /debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | %: 3 | dh $@ --with autoreconf --no-parallel 4 | 5 | override_dh_installinit: 6 | echo 'not installing init script, relying on systemd' 7 | override_dh_auto_test: 8 | echo ' skip tests' 9 | -------------------------------------------------------------------------------- /debian/znapzend.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=ZnapZend - ZFS Backup System 3 | Documentation=man:znapzend 4 | After=zfs-import-cache.service 5 | After=zfs-import-scan.service 6 | 7 | [Service] 8 | EnvironmentFile=-/etc/default/znapzend 9 | ExecStart=/usr/bin/znapzend $ZNAPZENDOPTIONS 10 | ExecReload=/bin/kill -HUP $MAINPID 11 | Restart=on-failure 12 | # might be neccessary on low power systems 13 | # Nice=19 14 | # IOSchedulingClass=2 15 | # IOSchedulingPriority=7 16 | 17 | [Install] 18 | WantedBy=multi-user.target 19 | --------------------------------------------------------------------------------