flockit

This library and tool exists solely because rsync doesn't have file locking.

It's not used like a normal library; you don't link against it, and you don't have to patch your source code to use it. It's inserted between your program and its libraries by use of LD_PRELOAD.

For example:

$ env LD_PRELOAD=$(nix-build -A pkgs.flockit)/lib/libflockit.so FLOCKIT_FILE_PREFIX=test rsync SRC DEST

Besides the library a handy executable is provided which can simplify the above to:

$ $(nix-build -A pkgs.flockit)/bin/flockit test rsync SRC DEST

Also see the following blog post: https://www.swiftstack.com/blog/2012/08/15/old-school-monkeypatching/

Name
flockit
Main Program
flockit
Programs
  • flockit
Homepage
Version
2012-08-11
License
Maintainers
Platforms
  • aarch64-linux
  • armv5tel-linux
  • armv6l-linux
  • armv7a-linux
  • armv7l-linux
  • i686-linux
  • loongarch64-linux
  • m68k-linux
  • microblaze-linux
  • microblazeel-linux
  • mips-linux
  • mips64-linux
  • mips64el-linux
  • mipsel-linux
  • powerpc-linux
  • powerpc64-linux
  • powerpc64le-linux
  • riscv32-linux
  • riscv64-linux
  • s390-linux
  • s390x-linux
  • x86_64-linux
Defined
Source