forked from mirrors/nixpkgs
btrbk: Init at 0.22.2
This commit is contained in:
parent
edac7f0ee2
commit
ea30f86814
|
@ -0,0 +1,39 @@
|
|||
From d5978c207f2b266165140dd21e9746ace5792daf Mon Sep 17 00:00:00 2001
|
||||
From: Moritz Ulrich <moritz@tarn-vedra.de>
|
||||
Date: Fri, 18 Mar 2016 14:01:22 +0100
|
||||
Subject: [PATCH] btrbk: Prefix PATH instead of resetting it.
|
||||
|
||||
Some distros don't even install use /usr/bin, /sbin, etc. (notably
|
||||
NixOS). Instead, they use PATH to specify which programs are available
|
||||
to a given executable.
|
||||
|
||||
This patch changes the behavior or `btrbk` so it extends PATH with its
|
||||
own search paths instead of resetting it. This allows users and distros
|
||||
to specify their own custom location for `btrfs` via `PATH`.
|
||||
---
|
||||
btrbk | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/btrbk b/btrbk
|
||||
index ab15858..0b91cbe 100755
|
||||
--- a/btrbk
|
||||
+++ b/btrbk
|
||||
@@ -2464,10 +2464,11 @@ sub exit_status
|
||||
|
||||
MAIN:
|
||||
{
|
||||
- # set PATH instead of using absolute "/sbin/btrfs" (for now), as
|
||||
- # different distros (and even different versions of btrfs-progs)
|
||||
- # install the "btrfs" executable to different locations.
|
||||
- $ENV{PATH} = '/sbin:/bin:/usr/sbin:/usr/bin';
|
||||
+ # Prefix PATH with /sbin etc. instead of using absolute
|
||||
+ # "/sbin/btrfs" (for now), as different distros (and even different
|
||||
+ # versions of btrfs-progs) install the "btrfs" executable to
|
||||
+ # different locations.
|
||||
+ $ENV{PATH} .= '/sbin:/bin:/usr/sbin:/usr/bin';
|
||||
|
||||
Getopt::Long::Configure qw(gnu_getopt);
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
--
|
||||
2.7.3
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
From 8abe8a915aa2d0c79c4dbe00dc7d255c32b7b85d Mon Sep 17 00:00:00 2001
|
||||
From: Moritz Ulrich <moritz@tarn-vedra.de>
|
||||
Date: Fri, 18 Mar 2016 13:20:48 +0100
|
||||
Subject: [PATCH] btrbk-mail: Use `btrbk` instead of unbound variable `$btrbk`
|
||||
|
||||
---
|
||||
contrib/cron/btrbk-mail | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/contrib/cron/btrbk-mail b/contrib/cron/btrbk-mail
|
||||
index f7e4f12..9143f2d 100755
|
||||
--- a/contrib/cron/btrbk-mail
|
||||
+++ b/contrib/cron/btrbk-mail
|
||||
@@ -113,7 +113,7 @@ case $exitcode in
|
||||
;;
|
||||
10) status="ERROR: At least one backup task aborted!"
|
||||
;;
|
||||
- *) status="ERROR: $btrbk failed with error code $exitcode"
|
||||
+ *) status="ERROR: btrbk failed with error code $exitcode"
|
||||
;;
|
||||
esac
|
||||
|
||||
--
|
||||
2.7.3
|
||||
|
52
pkgs/tools/backup/btrbk/default.nix
Normal file
52
pkgs/tools/backup/btrbk/default.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
{ stdenv, fetchurl, coreutils, bash, btrfs-progs, perl, perlPackages, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "btrbk-${version}";
|
||||
version = "0.22.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://digint.ch/download/btrbk/releases/${name}.tar.xz";
|
||||
sha256 = "1gbgi0dp62wlw7y72pgxjs6byxkrk73g35kqxzw0gjf32r5i4sb8";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# https://github.com/digint/btrbk/pull/74
|
||||
./btrbk-Prefix-PATH-instead-of-resetting-it.patch
|
||||
# https://github.com/digint/btrbk/pull/73
|
||||
./btrbk-mail-Use-btrbk-instead-of-unbound-variable-btr.patch
|
||||
];
|
||||
|
||||
buildInputs = with perlPackages; [ makeWrapper perl DateCalc ];
|
||||
|
||||
preInstall = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace "/usr" "$out" \
|
||||
--replace "/etc" "$out/etc"
|
||||
|
||||
# Tainted Mode disables PERL5LIB
|
||||
substituteInPlace btrbk --replace "perl -T" "perl"
|
||||
|
||||
# Fix btrbk-mail
|
||||
substituteInPlace contrib/cron/btrbk-mail \
|
||||
--replace "/bin/date" "${coreutils}/bin/date" \
|
||||
--replace "/bin/echo" "${coreutils}/bin/echo" \
|
||||
--replace '$btrbk' 'btrbk'
|
||||
'';
|
||||
|
||||
fixupPhase = ''
|
||||
patchShebangs $out/
|
||||
|
||||
wrapProgram $out/sbin/btrbk \
|
||||
--set PERL5LIB $PERL5LIB \
|
||||
--prefix PATH ':' "${btrfs-progs}/bin:${bash}/bin/"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A backup tool for btrfs subvolumes";
|
||||
homepage = http://digint.ch/btrbk;
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ the-kenny ];
|
||||
inherit version;
|
||||
};
|
||||
}
|
|
@ -769,6 +769,8 @@ let
|
|||
|
||||
btrfs-progs = callPackage ../tools/filesystems/btrfs-progs { };
|
||||
|
||||
btrbk = callPackage ../tools/backup/btrbk { };
|
||||
|
||||
bwm_ng = callPackage ../tools/networking/bwm-ng { };
|
||||
|
||||
byobu = callPackage ../tools/misc/byobu {
|
||||
|
|
Loading…
Reference in a new issue