anywhere 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,57 @@
1
+ require "net/ssh"
2
+ require "anywhere"
3
+ require "anywhere/base"
4
+ require "anywhere/result"
5
+ require "anywhere/execution_error"
6
+
7
+ module Anywhere
8
+ class SSH < Base
9
+ attr_reader :host, :user
10
+
11
+ def initialize(host, user, attributes = {})
12
+ @host = host
13
+ @user = user
14
+ @attributes = attributes.merge(paranoid: false)
15
+ end
16
+
17
+ def do_execute(cmd, stdin = nil)
18
+ result = Result.new(cmd)
19
+ result.started!
20
+ ssh.open_channel do |ch|
21
+ ch.exec cmd do |ch, success|
22
+ raise "could not execute command" unless success
23
+ ch.on_data do |ch, data|
24
+ result.add_stdout data
25
+ yield(:stdout, data) if block_given?
26
+ end
27
+
28
+ ch.on_extended_data do |ch, type, data|
29
+ result.add_stderr data
30
+ yield(:stderr, data) if block_given?
31
+ end
32
+
33
+ ch.on_request("exit-status") do |ch, data|
34
+ result.exit_status = data.read_long
35
+ end
36
+ if stdin
37
+ ch.send_data stdin
38
+ ch.eof!
39
+ end
40
+ end
41
+ end
42
+ ssh.loop
43
+ result.finished!
44
+ if !result.success?
45
+ raise Anywhere::ExecutionError.new(result)
46
+ end
47
+ result
48
+ rescue Net::SSH::AuthenticationFailed
49
+ puts "ERROR: try adding your ssh key to you ssh-agent (ssh-add /path/to/ssh.pem)"
50
+ raise
51
+ end
52
+
53
+ def ssh
54
+ @ssh ||= Net::SSH.start(@host, @user, @attributes)
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,21 @@
1
+ module Anywhere
2
+ class SystemPackage
3
+ attr_reader :name, :version, :arch
4
+
5
+ class << self
6
+ def from_list(list)
7
+ list.split("\n").map do |line|
8
+ name_and_arch, version = line.strip.split("\t")
9
+ name, arch = name_and_arch.split(":")
10
+ self.new(name, version, arch)
11
+ end
12
+ end
13
+ end
14
+
15
+ def initialize(name, version, arch = nil)
16
+ @name = name
17
+ @version = version
18
+ @arch = arch
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,3 @@
1
+ module Anywhere
2
+ VERSION = "0.0.1"
3
+ end
Binary file
@@ -0,0 +1,387 @@
1
+ acpid 1:2.0.10-1ubuntu3
2
+ adduser 3.113ubuntu2
3
+ anacron 2.3-14ubuntu1
4
+ apparmor 2.7.102-0ubuntu3.7
5
+ apt 0.8.16~exp12ubuntu10
6
+ apt-utils 0.8.16~exp12ubuntu10
7
+ apt-xapian-index 0.44ubuntu5
8
+ aptitude 0.6.6-1ubuntu1
9
+ at 3.1.13-1ubuntu1
10
+ base-files 6.5ubuntu6
11
+ base-passwd 3.5.24
12
+ bash 4.2-2ubuntu2
13
+ bash-completion 1:1.3-1ubuntu8
14
+ bind9-host 1:9.8.1.dfsg.P1-4
15
+ binutils 2.22-6ubuntu1
16
+ bridge-utils 1.5-2ubuntu7
17
+ bsdmainutils 8.2.3ubuntu1
18
+ bsdtar 3.0.3-6ubuntu1
19
+ bsdutils 1:2.20.1-1ubuntu3
20
+ build-essential 11.5ubuntu2.1
21
+ busybox-initramfs 1:1.18.5-1ubuntu4
22
+ bzip2 1.0.6-1
23
+ ca-certificates 20111211
24
+ cgroup-lite 1.1.2
25
+ cloud-utils 0.25-0ubuntu5
26
+ console-common 0.7.87
27
+ console-data 2:1.12-1
28
+ console-setup 1.70ubuntu5
29
+ coreutils 8.13-3ubuntu3
30
+ cpio 2.11-7ubuntu3
31
+ cpp 4:4.6.3-1ubuntu5
32
+ cpp-4.6 4.6.3-1ubuntu5
33
+ crda 1.1.2-1ubuntu1
34
+ cron 3.0pl1-120ubuntu3
35
+ cryptsetup 2:1.4.1-2ubuntu4
36
+ cryptsetup-bin 2:1.4.1-2ubuntu4
37
+ curl 7.22.0-3ubuntu4.1
38
+ dash 0.5.7-2ubuntu2
39
+ dbus 1.4.18-1ubuntu1
40
+ debconf 1.5.42ubuntu1
41
+ debconf-i18n 1.5.42ubuntu1
42
+ debconf-utils 1.5.42ubuntu1
43
+ debianutils 4.2.1ubuntu2
44
+ debootstrap 1.0.39ubuntu0.3
45
+ diffutils 1:3.2-1ubuntu1
46
+ dmidecode 2.11-4
47
+ dmsetup 2:1.02.48-4ubuntu7
48
+ dnsmasq-base 2.59-4ubuntu0.1
49
+ dnsutils 1:9.8.1.dfsg.P1-4
50
+ dpkg 1.16.1.2ubuntu7
51
+ dpkg-dev 1.16.1.2ubuntu7.1
52
+ e2fslibs 1.42-1ubuntu2
53
+ e2fsprogs 1.42-1ubuntu2
54
+ ecryptfs-utils 96-0ubuntu3
55
+ eject 2.1.5+deb1+cvs20081104-9
56
+ euca2ools 2.0.0~bzr516-0ubuntu3.1
57
+ fakeroot 1.18.2-1
58
+ file 5.09-2
59
+ findutils 4.4.2-4ubuntu1
60
+ firefox-locale-en 11.0+build1-0ubuntu4
61
+ ftp 0.17-25
62
+ g++ 4:4.6.3-1ubuntu5
63
+ g++-4.6 4.6.3-1ubuntu5
64
+ gcc 4:4.6.3-1ubuntu5
65
+ gcc-4.6 4.6.3-1ubuntu5
66
+ gcc-4.6-base 4.6.3-1ubuntu5
67
+ geoip-database 20111220-1
68
+ gettext-base 0.18.1.1-5ubuntu3
69
+ git 1:1.7.9.5-1
70
+ git-core 1:1.7.9.5-1
71
+ git-man 1:1.7.9.5-1
72
+ gnupg 1.4.11-3ubuntu2
73
+ golang 2:1-5
74
+ golang-doc 2:1-5
75
+ golang-go 2:1-5
76
+ golang-src 2:1-5
77
+ gpgv 1.4.11-3ubuntu2
78
+ grep 2.10-1
79
+ groff-base 1.21-7
80
+ grub 0.97-29ubuntu66
81
+ grub-common 1.99-21ubuntu3
82
+ gzip 1.4-1ubuntu2
83
+ hostname 3.06ubuntu1
84
+ ifupdown 0.7~beta2ubuntu8
85
+ info 4.13a.dfsg.1-8ubuntu2
86
+ initramfs-tools 0.99ubuntu13
87
+ initramfs-tools-bin 0.99ubuntu13
88
+ initscripts 2.88dsf-13.10ubuntu11
89
+ insserv 1.14.0-2.1ubuntu2
90
+ install-info 4.13a.dfsg.1-8ubuntu2
91
+ installation-report 2.46ubuntu1
92
+ iproute 20111117-1ubuntu2
93
+ iptables 1.4.12-1ubuntu4
94
+ iputils-ping 3:20101006-1ubuntu1
95
+ isc-dhcp-client 4.1.ESV-R4-0ubuntu5
96
+ isc-dhcp-common 4.1.ESV-R4-0ubuntu5
97
+ iso-codes 3.31-1
98
+ iw 3.2-1
99
+ kbd 1.15.2-3ubuntu4
100
+ keyboard-configuration 1.70ubuntu5
101
+ keyutils 1.5.2-2
102
+ klibc-utils 1.5.25-1ubuntu2
103
+ krb5-locales 1.10+dfsg~beta1-2
104
+ language-pack-en 1:12.04+20120417
105
+ language-pack-en-base 1:12.04+20120417
106
+ laptop-detect 0.13.7ubuntu2
107
+ less 444-1ubuntu1
108
+ libacl1 2.2.51-5ubuntu1
109
+ libalgorithm-diff-perl 1.19.02-2
110
+ libalgorithm-diff-xs-perl 0.04-2build2
111
+ libalgorithm-merge-perl 0.08-2
112
+ libapparmor1 2.7.102-0ubuntu3.7
113
+ libapt-inst1.4 0.8.16~exp12ubuntu10
114
+ libapt-pkg4.12 0.8.16~exp12ubuntu10
115
+ libarchive12 3.0.3-6ubuntu1
116
+ libasn1-8-heimdal 1.6~git20120311.dfsg.1-2
117
+ libatm1 1:2.5.1-1.3
118
+ libattr1 1:2.4.46-5ubuntu1
119
+ libbind9-80 1:9.8.1.dfsg.P1-4
120
+ libblkid1 2.20.1-1ubuntu3
121
+ libboost-iostreams1.46.1 1.46.1-7ubuntu3
122
+ libbsd0 0.3.0-2
123
+ libbz2-1.0 1.0.6-1
124
+ libc-bin 2.15-0ubuntu10.4
125
+ libc-dev-bin 2.15-0ubuntu10.4
126
+ libc6 2.15-0ubuntu10.4
127
+ libc6-dev 2.15-0ubuntu10.4
128
+ libcap2 1:2.22-1ubuntu3
129
+ libcap2-bin 1:2.22-1ubuntu3
130
+ libclass-accessor-perl 0.34-1
131
+ libclass-isa-perl 0.36-3
132
+ libcomerr2 1.42-1ubuntu2
133
+ libcryptsetup4 2:1.4.1-2ubuntu4
134
+ libcurl3 7.22.0-3ubuntu4
135
+ libcurl3-gnutls 7.22.0-3ubuntu4.1
136
+ libcwidget3 0.5.16-3.1ubuntu1
137
+ libdb5.1 5.1.25-11build1
138
+ libdbus-1-3 1.4.18-1ubuntu1
139
+ libdevmapper1.02.1 2:1.02.48-4ubuntu7
140
+ libdns81 1:9.8.1.dfsg.P1-4
141
+ libdpkg-perl 1.16.1.2ubuntu7.1
142
+ libdrm-intel1 2.4.32-1ubuntu1
143
+ libdrm-nouveau1a 2.4.32-1ubuntu1
144
+ libdrm-radeon1 2.4.32-1ubuntu1
145
+ libdrm2 2.4.32-1ubuntu1
146
+ libecryptfs0 96-0ubuntu3
147
+ libedit2 2.11-20080614-3ubuntu2
148
+ libelf1 0.152-1ubuntu3
149
+ libept1.4.12 1.0.6~exp1ubuntu1
150
+ liberror-perl 0.17-1
151
+ libexpat1 2.0.1-7.2ubuntu1
152
+ libffi6 3.0.11~rc1-5
153
+ libfile-copy-recursive-perl 0.38-1
154
+ libfreetype6 2.4.8-1ubuntu2
155
+ libfribidi0 0.19.2-1
156
+ libfuse2 2.8.6-2ubuntu2
157
+ libgc1c2 1:7.1-8build1
158
+ libgcc1 1:4.6.3-1ubuntu5
159
+ libgcrypt11 1.5.0-3
160
+ libgdbm3 1.8.3-10
161
+ libgeoip1 1.4.8+dfsg-2
162
+ libglib2.0-0 2.32.1-0ubuntu2
163
+ libglib2.0-data 2.32.1-0ubuntu2
164
+ libgmp10 2:5.0.2+dfsg-2ubuntu1
165
+ libgnutls26 2.12.14-5ubuntu3
166
+ libgomp1 4.6.3-1ubuntu5
167
+ libgpg-error0 1.10-2ubuntu1
168
+ libgpm2 1.20.4-4
169
+ libgssapi-krb5-2 1.10+dfsg~beta1-2
170
+ libgssapi3-heimdal 1.6~git20120311.dfsg.1-2
171
+ libhcrypto4-heimdal 1.6~git20120311.dfsg.1-2
172
+ libheimbase1-heimdal 1.6~git20120311.dfsg.1-2
173
+ libheimntlm0-heimdal 1.6~git20120311.dfsg.1-2
174
+ libhx509-5-heimdal 1.6~git20120311.dfsg.1-2
175
+ libidn11 1.23-2
176
+ libio-string-perl 1.08-2
177
+ libisc83 1:9.8.1.dfsg.P1-4
178
+ libisccc80 1:9.8.1.dfsg.P1-4
179
+ libisccfg82 1:9.8.1.dfsg.P1-4
180
+ libk5crypto3 1.10+dfsg~beta1-2
181
+ libkeyutils1 1.5.2-2
182
+ libklibc 1.5.25-1ubuntu2
183
+ libkrb5-26-heimdal 1.6~git20120311.dfsg.1-2
184
+ libkrb5-3 1.10+dfsg~beta1-2
185
+ libkrb5support0 1.10+dfsg~beta1-2
186
+ libldap-2.4-2 2.4.28-1.1ubuntu4
187
+ liblocale-gettext-perl 1.05-7build1
188
+ liblockfile-bin 1.09-3
189
+ liblockfile1 1.09-3
190
+ liblua5.1-0 5.1.4-12ubuntu1
191
+ liblwres80 1:9.8.1.dfsg.P1-4
192
+ liblzma5 5.1.1alpha+20110809-3
193
+ libmagic1 5.09-2
194
+ libmount1 2.20.1-1ubuntu3
195
+ libmpc2 0.9-4
196
+ libmpfr4 3.1.0-3ubuntu2
197
+ libncurses5 5.9-4
198
+ libncursesw5 5.9-4
199
+ libnetfilter-conntrack3 0.9.1-1ubuntu1
200
+ libnettle4 2.4-1
201
+ libnewt0.52 0.52.11-2ubuntu10
202
+ libnfnetlink0 1.0.0-1
203
+ libnih-dbus1 1.0.3-4ubuntu9
204
+ libnih1 1.0.3-4ubuntu9
205
+ libnl-3-200 3.2.3-2ubuntu2
206
+ libnl-genl-3-200 3.2.3-2ubuntu2
207
+ libnspr4 4.8.9-1ubuntu2
208
+ libnss3 3.13.1.with.ckbi.1.88-1ubuntu6
209
+ libnss3-1d 3.13.1.with.ckbi.1.88-1ubuntu6
210
+ libp11-kit0 0.12-2ubuntu1
211
+ libpam-cap 1:2.22-1ubuntu3
212
+ libpam-modules 1.1.3-7ubuntu2
213
+ libpam-modules-bin 1.1.3-7ubuntu2
214
+ libpam-runtime 1.1.3-7ubuntu2
215
+ libpam0g 1.1.3-7ubuntu2
216
+ libparse-debianchangelog-perl 1.2.0-1ubuntu1
217
+ libpci3 1:3.1.8-2ubuntu5
218
+ libpciaccess0 0.12.902-1
219
+ libpcre3 8.12-4
220
+ libperl5.14 5.14.2-6ubuntu2.3
221
+ libpipeline1 1.2.1-1
222
+ libplymouth2 0.8.2-2ubuntu30
223
+ libpng12-0 1.2.46-3ubuntu4
224
+ libpopt0 1.16-3ubuntu1
225
+ libpython2.7 2.7.3-0ubuntu3.1
226
+ libquadmath0 4.6.3-1ubuntu5
227
+ libreadline-dev 6.2-8
228
+ libreadline5 5.2-11
229
+ libreadline6 6.2-8
230
+ libreadline6-dev 6.2-8
231
+ libroken18-heimdal 1.6~git20120311.dfsg.1-2
232
+ librtmp0 2.4~20110711.gitc28f1bab-1
233
+ libruby1.8 1.8.7.352-2ubuntu1.2
234
+ libsasl2-2 2.1.25.dfsg1-3
235
+ libsasl2-modules 2.1.25.dfsg1-3
236
+ libselinux1 2.1.0-4.1ubuntu1
237
+ libsigc++-2.0-0c2a 2.2.10-0ubuntu2
238
+ libslang2 2.2.4-3ubuntu1
239
+ libsqlite3-0 3.7.9-2ubuntu1
240
+ libss2 1.42-1ubuntu2
241
+ libssl-dev 1.0.1-4ubuntu5.9
242
+ libssl-doc 1.0.1-4ubuntu5.9
243
+ libssl1.0.0 1.0.1-4ubuntu5.9
244
+ libstdc++6 4.6.3-1ubuntu5
245
+ libstdc++6-4.6-dev 4.6.3-1ubuntu5
246
+ libsub-name-perl 0.05-1build2
247
+ libswitch-perl 2.16-2
248
+ libtasn1-3 2.10-1ubuntu1
249
+ libtext-charwidth-perl 0.04-7build1
250
+ libtext-iconv-perl 1.7-5
251
+ libtext-wrapi18n-perl 0.06-7
252
+ libtimedate-perl 1.2000-1
253
+ libtinfo-dev 5.9-4
254
+ libtinfo5 5.9-4
255
+ libudev0 175-0ubuntu9
256
+ libusb-0.1-4 2:0.1.12-20
257
+ libuuid1 2.20.1-1ubuntu3
258
+ libwind0-heimdal 1.6~git20120311.dfsg.1-2
259
+ libwrap0 7.6.q-21
260
+ libx11-6 2:1.4.99.1-0ubuntu2
261
+ libx11-data 2:1.4.99.1-0ubuntu2
262
+ libxapian22 1.2.8-1
263
+ libxau6 1:1.0.6-4
264
+ libxcb1 1.8.1-1
265
+ libxdmcp6 1:1.1.0-4
266
+ libxext6 2:1.3.0-3build1
267
+ libxml2 2.7.8.dfsg-5.1ubuntu4.4
268
+ libxml2-dev 2.7.8.dfsg-5.1ubuntu4.4
269
+ libxmuu1 2:1.1.0-3
270
+ libxslt1-dev 1.1.26-8ubuntu1.3
271
+ libxslt1.1 1.1.26-8ubuntu1.3
272
+ libyaml-0-2 0.1.4-2
273
+ libyaml-dev 0.1.4-2
274
+ linux-firmware 1.79
275
+ linux-generic-lts-raring 3.8.0.23.22
276
+ linux-headers-3.8.0-23 3.8.0-23.34~precise1
277
+ linux-headers-3.8.0-23-generic 3.8.0-23.34~precise1
278
+ linux-headers-generic-lts-raring 3.8.0.23.22
279
+ linux-image-3.2.0-23-virtual 3.2.0-23.36
280
+ linux-image-3.8.0-23-generic 3.8.0-23.34~precise1
281
+ linux-image-generic-lts-raring 3.8.0.23.22
282
+ linux-image-virtual 3.2.0.23.25
283
+ linux-libc-dev 3.2.0-45.70
284
+ locales 2.13+git20120306-3
285
+ lockfile-progs 0.1.16
286
+ login 1:4.1.4.2+svn3283-3ubuntu5
287
+ logrotate 3.7.8-6ubuntu5
288
+ lsb-base 4.0-0ubuntu20
289
+ lsb-release 4.0-0ubuntu20
290
+ lsof 4.81.dfsg.1-1build1
291
+ lxc 0.7.5-3ubuntu67
292
+ make 3.81-8.1ubuntu1.1
293
+ makedev 2.3.1-89ubuntu2
294
+ man-db 2.6.1-2
295
+ manpages 3.35-0.1ubuntu1
296
+ manpages-dev 3.35-0.1ubuntu1
297
+ mawk 1.3.3-17
298
+ mime-support 3.51-1ubuntu1
299
+ mktemp 8.13-3ubuntu3
300
+ module-init-tools 3.16-1ubuntu2
301
+ mount 2.20.1-1ubuntu3
302
+ mountall 2.36
303
+ multiarch-support 2.15-0ubuntu10
304
+ nano 2.2.6-1
305
+ ncurses-base 5.9-4
306
+ ncurses-bin 5.9-4
307
+ ncurses-term 5.9-4
308
+ net-tools 1.60-24.1ubuntu2
309
+ netbase 4.47ubuntu1
310
+ netcat 1.10-39
311
+ netcat-openbsd 1.89-4ubuntu1
312
+ netcat-traditional 1.10-39
313
+ ntpdate 1:4.2.6.p3+dfsg-1ubuntu3
314
+ openssh-client 1:5.9p1-5ubuntu1
315
+ openssh-server 1:5.9p1-5ubuntu1
316
+ openssl 1.0.1-4ubuntu3
317
+ os-prober 1.51ubuntu3
318
+ passwd 1:4.1.4.2+svn3283-3ubuntu5
319
+ patch 2.6.1-3
320
+ pciutils 1:3.1.8-2ubuntu5
321
+ perl 5.14.2-6ubuntu2.3
322
+ perl-base 5.14.2-6ubuntu2.3
323
+ perl-modules 5.14.2-6ubuntu2.3
324
+ plymouth 0.8.2-2ubuntu30
325
+ plymouth-theme-ubuntu-text 0.8.2-2ubuntu30
326
+ procps 1:3.2.8-11ubuntu6
327
+ psmisc 22.15-2ubuntu1
328
+ python 2.7.3-0ubuntu2
329
+ python-apt 0.8.3ubuntu7
330
+ python-apt-common 0.8.3ubuntu7
331
+ python-boto 2.2.2-0ubuntu2
332
+ python-chardet 2.0.1-2build1
333
+ python-crypto 2.4.1-1ubuntu0.1
334
+ python-debian 0.1.21ubuntu1
335
+ python-m2crypto 0.21.1-2ubuntu2
336
+ python-minimal 2.7.3-0ubuntu2
337
+ python-paramiko 1.7.7.1-2ubuntu1
338
+ python-xapian 1.2.8-1
339
+ python-yaml 3.10-2
340
+ python2.7 2.7.3-0ubuntu3.1
341
+ python2.7-minimal 2.7.3-0ubuntu3.1
342
+ readline-common 6.2-8
343
+ resolvconf 1.63ubuntu11
344
+ rsync 3.0.9-1ubuntu1
345
+ rsyslog 5.8.6-1ubuntu8
346
+ sed 4.2.1-9
347
+ sensible-utils 0.0.6ubuntu2
348
+ sgml-base 1.26+nmu1ubuntu1
349
+ shared-mime-info 1.0-0ubuntu4
350
+ ssh 1:5.9p1-5ubuntu1
351
+ ssh-import-id 2.10-0ubuntu1
352
+ sudo 1.8.3p1-1ubuntu3
353
+ sysv-rc 2.88dsf-13.10ubuntu11
354
+ sysvinit-utils 2.88dsf-13.10ubuntu11
355
+ tar 1.26-4ubuntu1
356
+ tasksel 2.88ubuntu9
357
+ tasksel-data 2.88ubuntu9
358
+ tcl8.5 8.5.11-1ubuntu1
359
+ tcpd 7.6.q-21
360
+ telnet 0.17-36build1
361
+ traceroute 1:2.0.18-1
362
+ tzdata 2012b-1
363
+ ubuntu-keyring 2011.11.21
364
+ ubuntu-minimal 1.267
365
+ ucf 3.0025+nmu2ubuntu1
366
+ udev 175-0ubuntu9
367
+ update-inetd 4.41
368
+ upstart 1.5-0ubuntu5
369
+ ureadahead 0.100.0-12
370
+ util-linux 2.20.1-1ubuntu3
371
+ uuid-runtime 2.20.1-1ubuntu3
372
+ vim-common 2:7.3.429-2ubuntu2.1
373
+ vim-nox 2:7.3.429-2ubuntu2.1
374
+ vim-runtime 2:7.3.429-2ubuntu2.1
375
+ vim-tiny 2:7.3.429-2ubuntu2.1
376
+ w3m 0.5.3-5ubuntu1
377
+ wget 1.13.4-2ubuntu1
378
+ whiptail 0.52.11-2ubuntu10
379
+ whois 5.0.15ubuntu2
380
+ wireless-regdb 2011.04.28-1ubuntu3
381
+ xauth 1:1.0.6-1
382
+ xkb-data 2.5-1ubuntu1
383
+ xml-core 0.13
384
+ xz-lzma 5.1.1alpha+20110809-3
385
+ xz-utils 5.1.1alpha+20110809-3
386
+ zlib1g 1:1.2.3.4.dfsg-3ubuntu4
387
+ zlib1g-dev 1:1.2.3.4.dfsg-3ubuntu4