oswitch 0.1.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/context/_switch +96 -0
- data/context/wheel +1 -0
- data/oswitch.gemspec +5 -3
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bbe3ef281a84b86f6912113be364ff1db6c2732d
|
4
|
+
data.tar.gz: 9abab4b1888052a8ad92c097dca8a238e743f7ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 702620d1e4c891b48ad70d846ec8c744e8f370cde50820f83035e86120357566030cb091b1036eb4449ef9e35aa5f9c0e2306285c0240938736f4e854b919e20
|
7
|
+
data.tar.gz: f8a1ed6d3b66716f2bff1caad751f3f21421c76f7ecaafb8b26fc562077a045c7b0455103b9cb85c3298c474469bbe3b40718807f0accddc46932e79db8c562c
|
data/context/_switch
ADDED
@@ -0,0 +1,96 @@
|
|
1
|
+
#!/usr/bin/env sh
|
2
|
+
|
3
|
+
if [ $# -lt 5 ]; then
|
4
|
+
echo "Usage: ... <uid> <gid> <user> <home> <shell>"
|
5
|
+
exit
|
6
|
+
fi
|
7
|
+
|
8
|
+
uid=$1
|
9
|
+
gid=$2
|
10
|
+
user=$3;
|
11
|
+
home=$4;
|
12
|
+
shell=$5;
|
13
|
+
shift 5
|
14
|
+
|
15
|
+
echo
|
16
|
+
echo "Switch-ifying ..."
|
17
|
+
|
18
|
+
## Debian ##
|
19
|
+
if command -v apt-get >/dev/null; then
|
20
|
+
|
21
|
+
export DEBIAN_FRONTEND=noninteractive
|
22
|
+
|
23
|
+
echo
|
24
|
+
echo 'Assuming Ubuntu.'
|
25
|
+
echo 'Attempting to activate universe and multiverse repositories.'
|
26
|
+
apt-get install -y software-properties-common
|
27
|
+
apt-add-repository universe
|
28
|
+
apt-add-repository multiverse
|
29
|
+
|
30
|
+
if [ $? -ne 0 ]; then
|
31
|
+
echo
|
32
|
+
echo 'Oops ... it is Debian. Continuing.'
|
33
|
+
fi
|
34
|
+
|
35
|
+
echo
|
36
|
+
echo 'Updating list of packages.'
|
37
|
+
apt-get update
|
38
|
+
|
39
|
+
echo
|
40
|
+
echo 'Installing utilities.'
|
41
|
+
apt-get install -y sudo less
|
42
|
+
|
43
|
+
echo
|
44
|
+
echo 'Setting up locale.'
|
45
|
+
apt-get install -y locales
|
46
|
+
echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen
|
47
|
+
locale-gen en_US.UTF-8
|
48
|
+
|
49
|
+
echo
|
50
|
+
echo "Installing $shell as requested."
|
51
|
+
apt-get install -y $shell
|
52
|
+
|
53
|
+
## Red Hat ##
|
54
|
+
elif command -v yum >/dev/null; then
|
55
|
+
|
56
|
+
echo 'Red Hat based image detected.'
|
57
|
+
|
58
|
+
echo
|
59
|
+
echo 'Installing utilities.'
|
60
|
+
yum install -y sudo passwd
|
61
|
+
|
62
|
+
echo
|
63
|
+
echo "Installing $shell as requested."
|
64
|
+
yum install -y $shell
|
65
|
+
|
66
|
+
## Arch ##
|
67
|
+
# elif command -v pacman >/dev/null; then
|
68
|
+
#
|
69
|
+
# echo 'Arch based image detected.'
|
70
|
+
#
|
71
|
+
# echo
|
72
|
+
# echo 'Updating list of packages.'
|
73
|
+
# pacman --noconfirm -Sy
|
74
|
+
#
|
75
|
+
# echo
|
76
|
+
# echo "Installing $shell as requested."
|
77
|
+
# pacman --noconfirm -S $shell
|
78
|
+
else
|
79
|
+
echo
|
80
|
+
echo "Can't infer base image."
|
81
|
+
fi
|
82
|
+
|
83
|
+
# Will create group 'wheel' to give passwordless sudo access to users. Will
|
84
|
+
# create the user, without password, keeping the same uid as the host. Will
|
85
|
+
# set newly created user as the current user in container.
|
86
|
+
|
87
|
+
echo
|
88
|
+
echo "Creating user $user with uid $uid ..."
|
89
|
+
groupadd -f wheel
|
90
|
+
groupadd -f $user -g $gid
|
91
|
+
useradd -M -N -g $gid -G wheel -d $home -u $uid $user
|
92
|
+
passwd -d $user &> /dev/null
|
93
|
+
|
94
|
+
echo 'Done.'
|
95
|
+
echo "Your home directory is $homedir."
|
96
|
+
echo 'You can use sudo.'
|
data/context/wheel
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
%wheel ALL = (ALL) NOPASSWD: ALL
|
data/oswitch.gemspec
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
# meta
|
3
3
|
s.name = 'oswitch'
|
4
|
-
s.version = '0.1
|
5
|
-
s.authors = ['Anurag Priyam']
|
4
|
+
s.version = '0.2.1'
|
5
|
+
s.authors = ['Anurag Priyam', 'Bruno Vieira', 'Yannick Wurm']
|
6
6
|
s.email = ['anurag08priyam@gmail.com']
|
7
7
|
s.homepage = 'https://github.com/yeban/oswitch'
|
8
8
|
s.license = 'MIT'
|
@@ -17,11 +17,13 @@ DESC
|
|
17
17
|
|
18
18
|
# dependencies
|
19
19
|
s.add_dependency('colorize', '~> 0.7.5')
|
20
|
+
s.required_ruby_version = '>= 2.0'
|
20
21
|
|
21
22
|
# gem
|
22
|
-
s.files = Dir['lib/**/*'] + Dir['
|
23
|
+
s.files = Dir['lib/**/*'] + Dir['context/**/*']
|
23
24
|
s.files = s.files + ['Gemfile', 'oswitch.gemspec']
|
24
25
|
s.files = s.files + ['README.mkd']
|
25
26
|
s.require_paths = ['lib']
|
26
27
|
s.executables = ['oswitch']
|
28
|
+
|
27
29
|
end
|
metadata
CHANGED
@@ -1,14 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oswitch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anurag Priyam
|
8
|
+
- Bruno Vieira
|
9
|
+
- Yannick Wurm
|
8
10
|
autorequire:
|
9
11
|
bindir: bin
|
10
12
|
cert_chain: []
|
11
|
-
date: 2015-02-
|
13
|
+
date: 2015-02-20 00:00:00.000000000 Z
|
12
14
|
dependencies:
|
13
15
|
- !ruby/object:Gem::Dependency
|
14
16
|
name: colorize
|
@@ -38,6 +40,8 @@ files:
|
|
38
40
|
- Gemfile
|
39
41
|
- README.mkd
|
40
42
|
- bin/oswitch
|
43
|
+
- context/_switch
|
44
|
+
- context/wheel
|
41
45
|
- lib/oswitch.rb
|
42
46
|
- oswitch.gemspec
|
43
47
|
homepage: https://github.com/yeban/oswitch
|
@@ -52,7 +56,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
52
56
|
requirements:
|
53
57
|
- - ">="
|
54
58
|
- !ruby/object:Gem::Version
|
55
|
-
version: '0'
|
59
|
+
version: '2.0'
|
56
60
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
57
61
|
requirements:
|
58
62
|
- - ">="
|