iniquity 0.0.9 → 0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/iniquity +5 -5
- data/bin/ipm +63 -18
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 237ae3f5509308968278b3ffd3771ca323882eb5d874f3cd79e5ce167c0070fb
|
4
|
+
data.tar.gz: 541843f9fcd074224f85e4b25f0ea6cd675791c4dee0ccc7b36e4094b7eb2562
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e5dbc92156a2a3a1e6d93a2b8cb2d8ac50b3eb6ab55347454e7bf6d650cd16595afb8068062fd0976d0ba1d3dc52dfce1a172639e65787b8fcd0168ef4c8ac9f
|
7
|
+
data.tar.gz: 3bf9c1af730875f6bfb4bfac1d47e571fc04de29080197fabe67239b7bf3a7f7f992039de290efc3b387ef06f8d08427e00983e801b7bbc271a534adf3fd7fab
|
data/bin/iniquity
CHANGED
@@ -19,6 +19,8 @@
|
|
19
19
|
# t h e i n i q u i t y b u l l e t i n b o a r d s y s t e m
|
20
20
|
#==============================================================================
|
21
21
|
|
22
|
+
trap("INT") {exit}
|
23
|
+
|
22
24
|
SYSTEM = ENV["INIQUITY_SYSTEM"] || Dir.pwd
|
23
25
|
ENV["INIQUITY_SYSTEM"] = SYSTEM
|
24
26
|
|
@@ -30,12 +32,12 @@ class Telnet < EM::Connection
|
|
30
32
|
|
31
33
|
def initialize
|
32
34
|
super
|
33
|
-
send_data "\nIniquity BBS 0.0.
|
35
|
+
send_data "\nIniquity BBS 0.0.10 - Telnet/UTF_8\n"
|
34
36
|
end
|
35
37
|
|
36
38
|
def post_init
|
37
39
|
|
38
|
-
puts "
|
40
|
+
puts "iniquity - Someone connected to Iniquity..."
|
39
41
|
|
40
42
|
#IO.readlines("./modules/welcome.ans").each do |line|
|
41
43
|
# send_data line.force_encoding(Encoding::IBM437).encode(Encoding::UTF_8)
|
@@ -54,7 +56,7 @@ class Telnet < EM::Connection
|
|
54
56
|
end
|
55
57
|
|
56
58
|
def unbind
|
57
|
-
puts "
|
59
|
+
puts "iniquity - Someone disconnected from Iniquity..."
|
58
60
|
end
|
59
61
|
end
|
60
62
|
|
@@ -137,5 +139,3 @@ EM.run do
|
|
137
139
|
end
|
138
140
|
end
|
139
141
|
end
|
140
|
-
|
141
|
-
trap("INT") {exit}
|
data/bin/ipm
CHANGED
@@ -19,18 +19,20 @@
|
|
19
19
|
# t h e i n i q u i t y p a c k a g e m a n a g e r
|
20
20
|
#==============================================================================
|
21
21
|
|
22
|
+
trap("INT") {exit}
|
23
|
+
|
22
24
|
SYSTEM = ENV["INIQUITY_SYSTEM"] || Dir.pwd
|
23
25
|
ENV["INIQUITY_SYSTEM"] = SYSTEM
|
24
26
|
|
25
27
|
require "inifile"
|
26
28
|
require "github_api"
|
27
29
|
require "highline"
|
28
|
-
require
|
30
|
+
require "open-uri"
|
29
31
|
require "zip"
|
30
32
|
|
31
33
|
puts "\nipm - The Iniquity Package Manager.\n\n"
|
32
34
|
|
33
|
-
# If "init" passed
|
35
|
+
# If "init" passed.
|
34
36
|
if ARGV[0] && ARGV[0] == "init"
|
35
37
|
new_system_file = File.new(SYSTEM + "/iniquity.ini", "w")
|
36
38
|
new_system_file.puts "[profile]\nname=NewBBS\n"
|
@@ -46,7 +48,7 @@ else
|
|
46
48
|
end
|
47
49
|
|
48
50
|
# Find all available ipm packages across all sources...
|
49
|
-
|
51
|
+
available_packages = []
|
50
52
|
|
51
53
|
if CONFIG["ipm"]["sources"]
|
52
54
|
CONFIG["ipm"]["sources"].split(",").each do |source|
|
@@ -55,28 +57,46 @@ if CONFIG["ipm"]["sources"]
|
|
55
57
|
|
56
58
|
repositories.each do |pkg|
|
57
59
|
if pkg.name.match(/^ip/)
|
58
|
-
|
60
|
+
available_packages.push(pkg)
|
59
61
|
end
|
60
62
|
end
|
61
63
|
end
|
62
64
|
end
|
63
65
|
|
64
|
-
|
66
|
+
installed_packages = []
|
67
|
+
|
68
|
+
Dir.chdir SYSTEM
|
69
|
+
Dir.glob('*').select { |pkg|
|
70
|
+
if File.directory? pkg
|
71
|
+
installed_packages.push pkg
|
72
|
+
end
|
73
|
+
}
|
74
|
+
|
75
|
+
# If "install" passed.
|
65
76
|
if ARGV[0] && ARGV[0] == "install"
|
66
77
|
|
67
78
|
ARGV.shift
|
68
79
|
|
69
80
|
if ARGV[0]
|
70
81
|
ARGV.each do |install|
|
71
|
-
|
82
|
+
available_packages.each do |ipm|
|
72
83
|
|
73
84
|
if install == ipm.name
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
85
|
+
next if Dir.exists? SYSTEM + "/#{ipm.name}"
|
86
|
+
|
87
|
+
# Need to wrap this sequence in a try/catch of some kind...
|
88
|
+
|
89
|
+
download = open("https://github.com/#{ipm.full_name}/archive/master.zip")
|
90
|
+
IO.copy_stream(download, SYSTEM + "/#{ipm.name}.zip")
|
91
|
+
|
92
|
+
Zip::File.open(SYSTEM + "/#{ipm.name}.zip") do |zip_file|
|
93
|
+
zip_file.each do |entry|
|
94
|
+
entry.extract(SYSTEM + "/#{entry.name}")
|
95
|
+
end
|
79
96
|
end
|
97
|
+
|
98
|
+
FileUtils.mv SYSTEM + "/#{ipm.name}-master", SYSTEM + "/#{ipm.name}"
|
99
|
+
FileUtils.rm SYSTEM + "/#{ipm.name}.zip"
|
80
100
|
puts "ipm - Installed #{ipm.name}\n\n"
|
81
101
|
end
|
82
102
|
end
|
@@ -86,12 +106,37 @@ if ARGV[0] && ARGV[0] == "install"
|
|
86
106
|
end
|
87
107
|
end
|
88
108
|
|
89
|
-
# If
|
109
|
+
# If "uninstall" passed.
|
110
|
+
if ARGV[0] && ARGV[0] == "uninstall"
|
111
|
+
|
112
|
+
#ARGV.shift
|
113
|
+
|
114
|
+
if ARGV[0]
|
115
|
+
ARGV.each do |uninstall|
|
116
|
+
abort "ipm - Sorry, uninstall doesn't work yet.\n\n"
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
# If no options passed.
|
90
122
|
unless ARGV[0]
|
91
|
-
|
92
|
-
|
93
|
-
puts ipm
|
94
|
-
|
95
|
-
|
123
|
+
|
124
|
+
if available_packages.length > 0
|
125
|
+
puts "ipm - Packages available for installation.\n\n"
|
126
|
+
|
127
|
+
available_packages.each do |ipm|
|
128
|
+
puts ipm.name
|
129
|
+
puts ipm.description
|
130
|
+
#puts "https://github.com/#{ipm.full_name}/archive/master.zip"
|
131
|
+
puts ""
|
132
|
+
end
|
96
133
|
end
|
97
|
-
|
134
|
+
|
135
|
+
if installed_packages.length > 0
|
136
|
+
puts "ipm - Packages currently installed.\n\n"
|
137
|
+
|
138
|
+
installed_packages.each do |ipm|
|
139
|
+
puts ipm
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iniquity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Stephenson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-11-
|
11
|
+
date: 2017-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A re-imagining of the iconic BBS software.
|
14
14
|
email: ispyhumanfly@gmail.com
|
@@ -28,8 +28,7 @@ metadata:
|
|
28
28
|
post_install_message:
|
29
29
|
rdoc_options: []
|
30
30
|
require_paths:
|
31
|
-
- "./
|
32
|
-
- "./docs"
|
31
|
+
- "./doc"
|
33
32
|
required_ruby_version: !ruby/object:Gem::Requirement
|
34
33
|
requirements:
|
35
34
|
- - ">="
|