# net/syncffsd - The NetBSD Packages Collection

FFS file system mirroring using rsync

    syncffsd uses rsync(1) to replicate a directory tree to another host.
    This involves detecting changes, something NetBSD is not well prepared to
    handle. The kqueue(2) interface can detect changes, but it needs to use a
    file descriptor for every node monitored, and this does not scales very
    well for huge directories trees.

    syncffsd attempts to improve the situation until kqueue(2) gets better,
    by using FFS superblock's fs_time field, which is updated on every
    file system change. This lets syncffsd detects a change immediately if the
    file system is mounted synchronous, or after a few seconds if mounted with
    WAPBL(4) enabled.

    Once a change is detected, the relevant nodes are found by walking source
    looking for files that changed since the previous file system modification.
    The resulting nodes are deduped (i.e.: we do not retain a node in
    a directory if the directory itself changed), and are fed to rsync(1).

- Source version: `syncffsd-0.8`
- Maintainer: manu AT NetBSD.org
- Website: https://ftp.espci.fr/pub/syncffsd/
- License: modified-bsd
- Package history: cvs, hg, git

## Build dependencies

pkgtools/mktools pkgtools/cwrappers

## Runtime dependencies

(none)

## Binary packages

OS | Architecture | Version
--- | --- | ---
NetBSD 10.0 | aarch64 | syncffsd-0.8.tgz
NetBSD 10.0 | aarch64 | syncffsd-0.8.tgz
NetBSD 10.0 | aarch64eb | syncffsd-0.8.tgz
NetBSD 10.0 | alpha | syncffsd-0.8.tgz
NetBSD 10.0 | earmv4 | syncffsd-0.8.tgz
NetBSD 10.0 | earmv6hf | syncffsd-0.8.tgz
NetBSD 10.0 | earmv6hf | syncffsd-0.8.tgz
NetBSD 10.0 | earmv7hf | syncffsd-0.8.tgz
NetBSD 10.0 | earmv7hf | syncffsd-0.8.tgz
NetBSD 10.0 | i386 | syncffsd-0.8.tgz
NetBSD 10.0 | i386 | syncffsd-0.8.tgz
NetBSD 10.0 | m68k | syncffsd-0.8.tgz
NetBSD 10.0 | m68k | syncffsd-0.8.tgz
NetBSD 10.0 | powerpc | syncffsd-0.8.tgz
NetBSD 10.0 | powerpc | syncffsd-0.8.tgz
NetBSD 10.0 | powerpc | syncffsd-0.8.tgz
NetBSD 10.0 | sh3el | syncffsd-0.8.tgz
NetBSD 10.0 | sparc64 | syncffsd-0.8.tgz
NetBSD 10.0 | vax | syncffsd-0.8.tgz
NetBSD 10.0 | x86_64 | syncffsd-0.8.tgz
NetBSD 10.0 | x86_64 | syncffsd-0.8.tgz
NetBSD 11.0 | aarch64 | syncffsd-0.8.tgz
NetBSD 11.0 | aarch64 | syncffsd-0.8.tgz
NetBSD 11.0 | aarch64eb | syncffsd-0.8.tgz
NetBSD 11.0 | aarch64eb | syncffsd-0.8.tgz
NetBSD 11.0 | earmv6hf | syncffsd-0.8.tgz
NetBSD 11.0 | earmv6hf | syncffsd-0.8.tgz
NetBSD 11.0 | earmv7hf | syncffsd-0.8.tgz
NetBSD 11.0 | earmv7hf | syncffsd-0.8.tgz
NetBSD 11.0 | i386 | syncffsd-0.8.tgz
NetBSD 11.0 | i386 | syncffsd-0.8.tgz
NetBSD 11.0 | m68k | syncffsd-0.8.tgz
NetBSD 11.0 | m68k | syncffsd-0.8.tgz
NetBSD 11.0 | riscv64 | syncffsd-0.8.tgz
NetBSD 11.0 | riscv64 | syncffsd-0.8.tgz
NetBSD 11.0 | riscv64 | syncffsd-0.8.tgz
NetBSD 11.0 | sh3el | syncffsd-0.8.tgz
NetBSD 11.0 | vax | syncffsd-0.8.tgz
NetBSD 11.0 | vax | syncffsd-0.8.tgz
NetBSD 11.0 | x86_64 | syncffsd-0.8.tgz
NetBSD 11.0 | x86_64 | syncffsd-0.8.tgz
NetBSD 9.0 | aarch64 | syncffsd-0.8.tgz
NetBSD 9.0 | aarch64 | syncffsd-0.8.tgz
NetBSD 9.0 | earmv6hf | syncffsd-0.8.tgz
NetBSD 9.0 | earmv6hf | syncffsd-0.8.tgz
NetBSD 9.0 | earmv7hf | syncffsd-0.8.tgz
NetBSD 9.0 | earmv7hf | syncffsd-0.8.tgz
NetBSD 9.0 | i386 | syncffsd-0.8.tgz
NetBSD 9.0 | i386 | syncffsd-0.8.tgz
NetBSD 9.0 | powerpc | syncffsd-0.8.tgz
NetBSD 9.0 | x86_64 | syncffsd-0.8.tgz

Binary packages can be installed with the high-level tool pkgin (which can be installed with pkg_add) or pkg_add(1) (installed by default). The NetBSD packages collection is also designed to permit easy installation from source.

## Available build options

(none)

## Known vulnerabilities

(no vulnerabilities known)

The pkg_admin audit command locates any installed package which has been mentioned in security advisories as having vulnerabilities.

Please note the vulnerabilities database might not be fully accurate, and not every bug is exploitable with every configuration.

Problem reports, updates or suggestions for this package should be reported with send-pr.