fork
Configure Feed
Select the types of activity you want to include in your feed.
lol
fork
Configure Feed
Select the types of activity you want to include in your feed.
1# CAVEATS:
2# - Have only tested this with rsync, scp, and sftp. cvs support should work, but chroot integration is unlikely to function without further work
3# - It is compiled without rdist support because rdist is ludicrously ancient (and not already in nixpkgs)
4
5{ stdenv, fetchurl, openssh, rsync, cvs }:
6
7stdenv.mkDerivation rec {
8 name = "rssh-${version}";
9 version = "2.3.4";
10
11 src = fetchurl {
12 url = "mirror://sourceforge/rssh/rssh/${version}/${name}.tar.gz";
13 sha256 = "f30c6a760918a0ed39cf9e49a49a76cb309d7ef1c25a66e77a41e2b1d0b40cd9";
14 };
15
16 patches = [
17 ./fix-config-path.patch
18
19 # Patches from AUR
20 (fetchurl {
21 url = https://aur.archlinux.org/cgit/aur.git/plain/0001-fail-logging.patch?h=rssh;
22 name = "0001-fail-logging.patch";
23 sha256 = "d30f2f4fdb1b57f94773f5b0968a4da3356b14a040efe69ec1e976c615035c65";
24 })
25 (fetchurl {
26 url = https://aur.archlinux.org/cgit/aur.git/plain/0002-info-to-debug.patch?h=rssh;
27 name = "0002-info-to-debug.patch";
28 sha256 = "86f6ecf34f62415b0d6204d4cbebc47322dc2ec71732d06aa27758e35d688fcd";
29 })
30 (fetchurl {
31 url = https://aur.archlinux.org/cgit/aur.git/plain/0003-man-page-spelling.patch?h=rssh;
32 name = "0003-man-page-spelling.patch";
33 sha256 = "455b3bbccddf1493999d00c2cd46e62930ef4fd8211e0b7d3a89d8010d6a5431";
34 })
35 (fetchurl {
36 url = https://aur.archlinux.org/cgit/aur.git/plain/0004-mkchroot.patch?h=rssh;
37 name = "0004-mkchroot.patch";
38 sha256 = "f7fd8723d2aa94e64e037c13c2f263a52104af680ab52bfcaea73dfa836457c2";
39 })
40 (fetchurl {
41 url = https://aur.archlinux.org/cgit/aur.git/plain/0005-mkchroot-arch.patch?h=rssh;
42 name = "0005-mkchroot-arch.patch";
43 sha256 = "ac8894c4087a063ae8267d2fdfcde69c2fe6b67a8ff5917e4518b8f73f08ba3f";
44 })
45 (fetchurl {
46 url = https://aur.archlinux.org/cgit/aur.git/plain/0006-mkchroot-symlink.patch?h=rssh;
47 name = "0006-mkchroot-symlink.patch";
48 sha256 = "bce98728cb9b55c92182d4901c5f9adf49376a07c5603514b0004e3d1c85e9c7";
49 })
50 (fetchurl {
51 url = https://aur.archlinux.org/cgit/aur.git/plain/0007-destdir.patch?h=rssh;
52 name = "0007-destdir.patch";
53 sha256 = "7fa03644f81dc37d77cc7e2cad994f17f91b2b8a49b1a74e41030a4ac764385e";
54 })
55 (fetchurl {
56 url = https://aur.archlinux.org/cgit/aur.git/plain/0008-rsync-protocol.patch?h=rssh;
57 name = "0008-rsync-protocol.patch";
58 sha256 = "0c772afe9088eeded129ead86775ef18e58c318bbc58fc3e2585e7ff09cc5e91";
59 })
60 ];
61
62 # Run this after to avoid conflict with patches above
63 postPatch = ''
64 sed -i '/chmod u+s/d' Makefile.in
65 '';
66
67
68 buildInputs = [ openssh rsync cvs ];
69
70 configureFlags = [
71 "--with-sftp-server=${openssh}/libexec/sftp-server"
72 "--with-scp=${openssh}/bin/scp"
73 "--with-rsync=${rsync}/bin/rsync"
74 "--with-cvs=${cvs}/bin/cvs"
75 ];
76
77
78 meta = with stdenv.lib; {
79 description = "A restricted shell for use with OpenSSH, allowing only scp and/or sftp";
80 longDescription = ''
81 rssh also includes support for rsync and cvs. For example, if you have a server which you only want to allow users to copy files off of via scp, without providing shell access, you can use rssh to do that.
82 '';
83 homepage = http://www.pizzashack.org/rssh/;
84 license = licenses.bsd2;
85 platforms = platforms.linux;
86 maintainers = with maintainers; [ arobyn ];
87 };
88
89 passthru = {
90 shellPath = "/bin/rssh";
91 };
92}