Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rsbep: init at 0.1.0 #36182

Closed
wants to merge 1 commit into from
Closed

Conversation

erikarvstedt
Copy link
Member

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@dotlambda
Copy link
Member

@erikarvstedt
Copy link
Member Author

erikarvstedt commented Mar 1, 2018

Oh, sorry, my other introductory PR fixes this, but it's still pending.
I'm closing this for now.

@dotlambda
Copy link
Member

Is there a reason not to use https://www.thanassis.space/rsbep-0.1.0-ttsiodras.tar.bz2 as the source?
And I think the package should just be called "rsbep".

@erikarvstedt
Copy link
Member Author

I've changed the name to rsbep.

The differences to the tar version don't affect any code. Nonetheless, I'd prefer to reference a source tree that's in version control; for transparency and future maintainability. If you strongly recommend the tar version, I'll change it.

@erikarvstedt erikarvstedt changed the title rsbep-backup: init at 2010.06.14 rsbep: init at 2010.06.14 Mar 2, 2018
@dotlambda
Copy link
Member

I think we should use the tarball because it's versioned.

@erikarvstedt
Copy link
Member Author

Done.

@erikarvstedt erikarvstedt changed the title rsbep: init at 2010.06.14 rsbep: init at 0.1.0 Mar 2, 2018
@erikarvstedt
Copy link
Member Author

erikarvstedt commented Mar 2, 2018

Change: I've adopted the more technical meta.description from the debian manpages

@Mic92
Copy link
Member

Mic92 commented Mar 2, 2018

@GrahamcOfBorg build rsbep

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Partial log (click to expand)

Package ‘fuse-2.9.7’ in /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/os-specific/linux/fuse/common.nix:77 is not supported on ‘x86_64-darwin’, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Partial log (click to expand)

shrinking /nix/store/ivs8icf1ngk99gs86ljpqy2229zlvg9j-rsbep-0.1.0/bin/rsbep_chopper
shrinking /nix/store/ivs8icf1ngk99gs86ljpqy2229zlvg9j-rsbep-0.1.0/bin/rsbep
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/ivs8icf1ngk99gs86ljpqy2229zlvg9j-rsbep-0.1.0/bin 
patching script interpreter paths in /nix/store/ivs8icf1ngk99gs86ljpqy2229zlvg9j-rsbep-0.1.0
/nix/store/ivs8icf1ngk99gs86ljpqy2229zlvg9j-rsbep-0.1.0/bin/melt.sh: interpreter directive changed from "/bin/sh" to "/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/sh"
/nix/store/ivs8icf1ngk99gs86ljpqy2229zlvg9j-rsbep-0.1.0/bin/poorZFS.py: interpreter directive changed from "/usr/bin/env python" to "/nix/store/g91hijypiqyfd1h11lsz0x75aymn3jdn-python-2.7.14-env/bin/python"
/nix/store/ivs8icf1ngk99gs86ljpqy2229zlvg9j-rsbep-0.1.0/bin/freeze.sh: interpreter directive changed from "/bin/sh" to "/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/sh"
checking for references to /tmp/nix-build-rsbep-0.1.0.drv-0 in /nix/store/ivs8icf1ngk99gs86ljpqy2229zlvg9j-rsbep-0.1.0...
/nix/store/ivs8icf1ngk99gs86ljpqy2229zlvg9j-rsbep-0.1.0

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Partial log (click to expand)

shrinking /nix/store/bwvizpl2ygqyszlqmdjicvqbghp6n0p9-rsbep-0.1.0/bin/rsbep_chopper
shrinking /nix/store/bwvizpl2ygqyszlqmdjicvqbghp6n0p9-rsbep-0.1.0/bin/rsbep
strip is /nix/store/lvx1acn1ig1j2km8jds5x3ggh3f2wa8v-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/bwvizpl2ygqyszlqmdjicvqbghp6n0p9-rsbep-0.1.0/bin
patching script interpreter paths in /nix/store/bwvizpl2ygqyszlqmdjicvqbghp6n0p9-rsbep-0.1.0
/nix/store/bwvizpl2ygqyszlqmdjicvqbghp6n0p9-rsbep-0.1.0/bin/poorZFS.py: interpreter directive changed from "/usr/bin/env python" to "/nix/store/arcajcjh1j23pbdfcmdjl7l3dhaf4miw-python-2.7.14-env/bin/python"
/nix/store/bwvizpl2ygqyszlqmdjicvqbghp6n0p9-rsbep-0.1.0/bin/freeze.sh: interpreter directive changed from "/bin/sh" to "/nix/store/lnws52qanbi5vz8qg24v4ym57nznfndg-bash-4.4-p12/bin/sh"
/nix/store/bwvizpl2ygqyszlqmdjicvqbghp6n0p9-rsbep-0.1.0/bin/melt.sh: interpreter directive changed from "/bin/sh" to "/nix/store/lnws52qanbi5vz8qg24v4ym57nznfndg-bash-4.4-p12/bin/sh"
checking for references to /build in /nix/store/bwvizpl2ygqyszlqmdjicvqbghp6n0p9-rsbep-0.1.0...
/nix/store/bwvizpl2ygqyszlqmdjicvqbghp6n0p9-rsbep-0.1.0

@erikarvstedt
Copy link
Member Author

For Darwin, I could disable poorZFS.py with its failing fuse depenency. Would this make sense?

@erikarvstedt
Copy link
Member Author

I could also remove it alltogether. I think the author wrote it as a proof of concept and not for real world use on a modern UNIX.

@Mic92
Copy link
Member

Mic92 commented Mar 2, 2018

What does this script? If it not useful it can be removed. Otherwise it can be conditionally removed with lib.optional on the platforms it breaks.

@erikarvstedt
Copy link
Member Author

erikarvstedt commented Mar 2, 2018

Quoting the author:

$ poorZFS.py -f /reed-solomoned-data /strong

This command will mount a FUSE-based filesystem in /strong (using the
/reed-solomoned-data directory to store the actual files and their "shielded"
versions). Any file you create in /strong, will in fact exist under
/reed-solomoned-data and will also be shielded there (via freeze.sh). When opening
for reading any file in /strong, data corruption is detected (via melt.sh) and in
case of corruption the file will be corrected using the Reed-Solomon "shielded"
version of the file (which is stored alongside the original, and named as
originalFilename.frozen.RS). The .frozen.RS versions of the files are not visible in
the /strong directory, and are automatically created (in /reed-solomoned-data) when a
file (opened for writing or appending) is closed. I coded this mini-fs using
Python-FUSE in a couple of hours on a boring Sunday afternoon, so don't trust your
bank account data with it... It's just a proof of concept (not to mention dog-slow -
due to the necessary data interleaving). Still, if your machine is only equipped with
one drive, this will in fact transparently shield you against bad sectors, faulty
power supplies, messy IDE cabling, etc.

There are obviously better alternatives to this.

@Mic92
Copy link
Member

Mic92 commented Mar 2, 2018

@erikarvstedt I guess we don't need it badly.

@erikarvstedt
Copy link
Member Author

Here's a branch without poorZFS.py. Merge what you prefer. (I'd vote for removing it.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants