sambal 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.envrc +1 -0
- data/Jenkinsfile +34 -0
- data/README.md +4 -3
- data/default.nix +6 -0
- data/lib/sambal/client.rb +1 -1
- data/lib/sambal/test_server.rb +3 -3
- data/lib/sambal/version.rb +1 -1
- metadata +6 -4
- data/circle.yml +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a50e0a519bdbc0ab8cccb0116250c2b073e5e305a906d9f46fac5012dc11814
|
4
|
+
data.tar.gz: 71ac3f8493eae53b548a0e58a207e38034615af0f0d915956d50ab338b5bc16e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e14f217b9d83deceae6bd11a17d94ce17ca59800850031a0d57d416fe5f1f1431a0de3b8c9d9e8a3f4b4695f9d4e16b15fa2e2cbb808cf16ba409ad60dc67d3
|
7
|
+
data.tar.gz: ba2eb773c39c1dccfd4b71dbe2b184f453b17cf02690124d010d30d18d3456e4976a7d33f5b11bacda7c192882d1336b686f859ca0147a736ac0a9ff8191ede4
|
data/.envrc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
use_nix
|
data/Jenkinsfile
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
#!/usr/bin/groovy
|
2
|
+
|
3
|
+
def hasCmd(cmd) { "command -v ${cmd} >/dev/null 2>&1" }
|
4
|
+
|
5
|
+
def shell(cmd) {
|
6
|
+
def nixInitPath = '$HOME/.nix-profile/etc/profile.d/nix.sh'
|
7
|
+
sh """
|
8
|
+
if ! ${hasCmd('nix-shell')}; then
|
9
|
+
if [ -e ${nixInitPath} ]; then
|
10
|
+
. ${nixInitPath}
|
11
|
+
else
|
12
|
+
curl https://nixos.org/nix/install | sh
|
13
|
+
. ${nixInitPath}
|
14
|
+
fi
|
15
|
+
fi
|
16
|
+
${cmd}
|
17
|
+
"""
|
18
|
+
}
|
19
|
+
|
20
|
+
def nixShell(cmd) { shell """ nix-shell --run "${cmd}" """ }
|
21
|
+
|
22
|
+
node('linux') {
|
23
|
+
stage("Prerequisites") { shell """ nix-env -iA nixpkgs.git """ }
|
24
|
+
|
25
|
+
stage("Checkout") { checkout scm }
|
26
|
+
|
27
|
+
stage("Setup") { nixShell '''
|
28
|
+
bundle install
|
29
|
+
mkdir -p /tmp/sambal-temp-path
|
30
|
+
'''
|
31
|
+
}
|
32
|
+
|
33
|
+
stage("Test") { nixShell "SAMBAL_TEMP_PATH=/tmp/sambal-temp-path bundle exec rspec" }
|
34
|
+
}
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
[![
|
1
|
+
[![Build Status](https://ci.insane.se/buildStatus/icon?job=sambal/master)](https://ci.insane.se/job/sambal/job/master/)
|
2
2
|
|
3
3
|
# Sambal
|
4
4
|
|
@@ -27,14 +27,15 @@ On a mac this can be installed through homebrew https://github.com/mxcl/homebrew
|
|
27
27
|
|
28
28
|
brew install samba
|
29
29
|
|
30
|
-
On the Mac it can probably also be installed both through Fink and MacPorts.
|
31
|
-
|
32
30
|
On Linux (Ubuntu) it's as easy as:
|
33
31
|
|
34
32
|
apt-get install smbclient
|
35
33
|
|
36
34
|
It should be available in a similar way on all major Linux distributions.
|
37
35
|
|
36
|
+
If you happen to be running [NixOS](https://nixos.org/) or at least the [Nix package manager](https://nixos.org/nix/download.html) you could just
|
37
|
+
use the `default.nix` file in this repo. That should also set you up for running the tests (which require samba).
|
38
|
+
|
38
39
|
## Usage
|
39
40
|
|
40
41
|
client = Sambal::Client.new(domain: 'WORKGROUP', host: '127.0.0.1', share: '', user: 'guest', password: '--no-pass', port: 445)
|
data/default.nix
ADDED
data/lib/sambal/client.rb
CHANGED
data/lib/sambal/test_server.rb
CHANGED
@@ -39,7 +39,7 @@ module Sambal
|
|
39
39
|
@erb_path = "#{File.expand_path(File.dirname(__FILE__))}/smb.conf.erb"
|
40
40
|
@host = "127.0.0.1" ## will always just be localhost
|
41
41
|
@root_path = File.expand_path(File.dirname(File.dirname(File.dirname(__FILE__))))
|
42
|
-
@tmp_path = "#{root_path}/spec_tmp"
|
42
|
+
@tmp_path = ENV.key?('SAMBAL_TEMP_PATH') ? ENV['SAMBAL_TEMP_PATH'] : "#{root_path}/spec_tmp"
|
43
43
|
@share_path = "#{tmp_path}/share"
|
44
44
|
@share_name = share_name
|
45
45
|
@config_path = "#{tmp_path}/smb.conf"
|
@@ -71,11 +71,11 @@ module Sambal
|
|
71
71
|
def start
|
72
72
|
if RUBY_PLATFORM=="java"
|
73
73
|
@smb_server_pid = Thread.new do
|
74
|
-
`smbd -S -F -s #{@config_path} -p #{@port} --option="lockdir"=#{@lock_path} --option="pid directory"=#{@pid_dir} --option="private directory"=#{@private_dir} --option="cache directory"=#{@cache_dir} --option="state directory"=#{@state_dir} > #{@log_path}/smb.log`
|
74
|
+
`smbd -S -F -s #{@config_path} -p #{@port} --option="lockdir"=#{@lock_path} --option="pid directory"=#{@pid_dir} --option="private directory"=#{@private_dir} --option="cache directory"=#{@cache_dir} --option="state directory"=#{@state_dir} < /dev/null > #{@log_path}/smb.log`
|
75
75
|
end
|
76
76
|
else
|
77
77
|
@smb_server_pid = fork do
|
78
|
-
|
78
|
+
exec "smbd -S -F -s #{@config_path} -p #{@port} --option=\"lockdir\"=#{@lock_path} --option=\"pid directory\"=#{@pid_dir} --option=\"private directory\"=#{@private_dir} --option=\"cache directory\"=#{@cache_dir} --option=\"state directory\"=#{@state_dir} < /dev/null > #{@log_path}/smb.log"
|
79
79
|
end
|
80
80
|
end
|
81
81
|
sleep 2 ## takes a short time to start up
|
data/lib/sambal/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sambal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Axel Eriksson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-09-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -31,13 +31,15 @@ executables: []
|
|
31
31
|
extensions: []
|
32
32
|
extra_rdoc_files: []
|
33
33
|
files:
|
34
|
+
- ".envrc"
|
34
35
|
- ".gitignore"
|
35
36
|
- Gemfile
|
37
|
+
- Jenkinsfile
|
36
38
|
- LICENSE
|
37
39
|
- README.md
|
38
40
|
- Rakefile
|
39
41
|
- Spookfile
|
40
|
-
-
|
42
|
+
- default.nix
|
41
43
|
- lib/sambal.rb
|
42
44
|
- lib/sambal/client.rb
|
43
45
|
- lib/sambal/response.rb
|
@@ -66,7 +68,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
66
68
|
version: '0'
|
67
69
|
requirements: []
|
68
70
|
rubyforge_project:
|
69
|
-
rubygems_version: 2.7.
|
71
|
+
rubygems_version: 2.7.7
|
70
72
|
signing_key:
|
71
73
|
specification_version: 4
|
72
74
|
summary: Ruby Samba Client
|
data/circle.yml
DELETED