smart_proxy_abrt 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0b818423fa22af257c309b076b1f7617ba4554af
4
- data.tar.gz: 80c9913d7368d68a6fb7997d96c3f11893257fb8
3
+ metadata.gz: c4dc83a2f1040df307420e2e75ee192c56901628
4
+ data.tar.gz: 13e7f426850a904b6cdf1b5156a215995bf3171f
5
5
  SHA512:
6
- metadata.gz: ff9a396e73063d03b71244a3afa62cb9778240e4b11f74ed06eeef0beb38f2f292718f8658fa799f35de8c851722c8ce059057a394e94eefee5d1db5768e5746
7
- data.tar.gz: 89c5e9d13cbacfe0c9af58698273f8e10fe8f499e7987bcd0030400f0ab9b6fbafa54d262ea5f583184a693f11162e9c67e5ec17438bd503bf142e61833c283c
6
+ metadata.gz: 84210dcc4ca882d2f42c1142fd6673a2411f1c5a71e306ae6435f24fed311d8f6d94c8ed11658f45fd4b969179e7f72723de79788757d1c9f7c2e2a288b52b6d
7
+ data.tar.gz: 939ebb9cf9d2b801da774a04132091b2afd70cfa3a556f252755d2e4552903723eaa5537d508c5c67918d70163414e31460b66f8c6e1379217245875b12f09a4
data/Rakefile CHANGED
@@ -1,11 +1,6 @@
1
1
  require 'rake'
2
2
  require 'rake/testtask'
3
3
 
4
- # Test for 1.9
5
- if (RUBY_VERSION.split('.').map{|s|s.to_i} <=> [1,9,0]) > 0 then
6
- PLATFORM = RUBY_PLATFORM
7
- end
8
-
9
4
  desc 'Default: run unit tests.'
10
5
  task :default => :test
11
6
 
@@ -14,12 +9,6 @@ Rake::TestTask.new(:test) do |t|
14
9
  t.libs << '.'
15
10
  t.libs << 'lib'
16
11
  t.libs << 'test'
17
- files = FileList['test/**/*_test.rb']
18
- if PLATFORM =~ /mingw/
19
- files = FileList['test/**/server_ms_test*']
20
- else
21
- files = FileList['test/**/*_test.rb'].delete_if{|f| f =~ /_ms_/}
22
- end
23
- t.test_files = files
12
+ t.test_files = FileList['test/**/*_test.rb']
24
13
  t.verbose = true
25
14
  end
@@ -1,7 +1,10 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- $LOAD_PATH.unshift '/usr/share/foreman-proxy/lib' #XXX!
4
- $LOAD_PATH.unshift '/usr/share/foreman-proxy/modules' #XXX!
3
+ # XXX I can't think of a sane way to not hardcode the paths: the RPM package of
4
+ # smart-proxy does not contain a gem so the gem machinery cannot be used. And
5
+ # we can't have it in the config because we need smart_proxy to read it ...
6
+ $LOAD_PATH.unshift '/usr/share/foreman-proxy/lib'
7
+ $LOAD_PATH.unshift '/usr/share/foreman-proxy/modules'
5
8
 
6
9
  # We rely on the main smart_proxy module to initialize the plugins so that we
7
10
  # can access our module's settings. Also used from smart-proxy code: global
@@ -1,2 +1,2 @@
1
- # Send collected ABRT reports once every 10 minutes
1
+ # Send collected ABRT reports once every 30 minutes
2
2
  */30 * * * * foreman-proxy smart-proxy-abrt-send
@@ -4,21 +4,21 @@ require 'uri'
4
4
  require 'time'
5
5
  require 'fileutils'
6
6
 
7
+ require 'openssl'
8
+
7
9
  require 'proxy/log'
8
10
  require 'proxy/request'
9
11
 
10
12
  module Proxy::Abrt
11
- def self.random_alpha_string(length)
12
- base = ('a'..'z').to_a
13
- result = ""
14
- length.times { result << base[rand(base.size)] }
15
- result
13
+ # Returns hex representation of random bytes-long number
14
+ def self.random_hex_string(nbytes)
15
+ OpenSSL::Random.random_bytes(nbytes).unpack('H*').join
16
16
  end
17
17
 
18
18
  # Generate multipart boundary separator
19
19
  def self.suggest_separator
20
20
  separator = "-"*28
21
- separator + self.random_alpha_string(16)
21
+ separator + self.random_hex_string(16)
22
22
  end
23
23
 
24
24
  # It seems that Net::HTTP does not support multipart/form-data - this function
@@ -220,7 +220,7 @@ module Proxy::Abrt
220
220
  end
221
221
 
222
222
  def self.unique_filename(prefix)
223
- File.join(HostReport.spooldir, prefix + Proxy::Abrt::random_alpha_string(8))
223
+ File.join(HostReport.spooldir, prefix + Proxy::Abrt::random_hex_string(8))
224
224
  end
225
225
 
226
226
  def self.with_unique_filename(prefix)
@@ -1,5 +1,5 @@
1
1
  module Proxy
2
2
  module Abrt
3
- VERSION = '0.0.1'
3
+ VERSION = '0.0.2'
4
4
  end
5
5
  end
data/test/test_helper.rb CHANGED
@@ -1,10 +1,8 @@
1
- path_to_smart_proxy_repo = '../smart-proxy'
2
- $LOAD_PATH.unshift File.join(path_to_smart_proxy_repo, 'test')
1
+ require 'test/unit'
2
+ require 'mocha/setup'
3
+ require 'rack/test'
3
4
 
4
- # create log directory in our (not smart-proxy) repo
5
- logdir = File.join(File.dirname(__FILE__), '..', 'logs')
6
- FileUtils.mkdir_p(logdir) unless File.exists?(logdir)
5
+ require 'smart_proxy_for_testing'
7
6
 
8
- require 'test_helper'
9
-
10
- APP_ROOT = File.join(File.dirname(__FILE__), '..')
7
+ # create log directory in our (not smart-proxy) directory
8
+ FileUtils.mkdir_p File.dirname(Proxy::SETTINGS.log_file)
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smart_proxy_abrt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Milata
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-15 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2014-08-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: satyr
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '0.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '0.1'
13
27
  description: This smart proxy plugin, together with a Foreman plugin, add the capability
14
28
  to send ABRT micro-reports from your managed hosts to Foreman.
15
29
  email: mmilata@redhat.com
@@ -36,7 +50,6 @@ files:
36
50
  - test/abrt_test.rb
37
51
  - test/abrt_api_test.rb
38
52
  - extra/foreman-proxy-abrt-send.cron
39
- - extra/rubygem-smart_proxy_abrt.spec
40
53
  - README
41
54
  - LICENSE
42
55
  - Rakefile
@@ -1,110 +0,0 @@
1
- %global gem_name smart_proxy_abrt
2
-
3
- %global foreman_proxy_bundlerd_dir /usr/share/foreman-proxy/bundler.d
4
- %global foreman_proxy_pluginconf_dir /etc/foreman-proxy/settings.d
5
- %global spool_dir /var/spool/foreman-proxy-abrt
6
-
7
- Name: rubygem-%{gem_name}
8
- Version: 0.0.1
9
- Release: 1%{?dist}
10
- Summary: Automatic Bug Reporting Tool plugin for Foreman's smart proxy
11
- Group: Applications/Internet
12
- License: GPLv3
13
- URL: http://github.com/abrt/smart-proxy-abrt
14
- Source0: https://fedorahosted.org/released/abrt/%{gem_name}-%{version}.gem
15
- Requires: ruby(release)
16
- Requires: ruby(rubygems)
17
- Requires: rubygem(ffi)
18
- Requires: foreman-proxy >= 1.6.0
19
- Requires: crontabs
20
- ## does not exist in repository yet
21
- #Requires: rubygem-satyr
22
- BuildRequires: ruby(release)
23
- BuildRequires: rubygems-devel
24
- BuildRequires: ruby
25
- BuildRequires: rubygem(ffi)
26
- BuildRequires: rubygem(minitest)
27
- BuildArch: noarch
28
- Provides: rubygem(%{gem_name}) = %{version}
29
-
30
- %description
31
- This smart proxy plugin, together with a Foreman plugin, add the capability to
32
- send ABRT micro-reports from your managed hosts to Foreman.
33
-
34
- %package doc
35
- Summary: Documentation for %{name}
36
- Group: Documentation
37
- Requires:%{name} = %{version}-%{release}
38
-
39
- %description doc
40
- Documentation for %{name}
41
-
42
- %prep
43
- gem unpack %{SOURCE0}
44
- %setup -q -D -T -n %{gem_name}-%{version}
45
- gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
46
-
47
- %build
48
- # Create the gem as gem install only works on a gem file
49
- gem build %{gem_name}.gemspec
50
-
51
- # %%gem_install compiles any C extensions and installs the gem into ./%gem_dir
52
- # by default, so that we can move it into the buildroot in %%install
53
- %gem_install
54
-
55
- %install
56
- # Packaging guidelines say: Do not ship tests
57
- rm -r .%{gem_instdir}/test .%{gem_instdir}/Rakefile
58
- rm .%{gem_instdir}/extra/*.spec
59
-
60
- mkdir -p %{buildroot}%{gem_dir}
61
- cp -a .%{gem_dir}/* \
62
- %{buildroot}%{gem_dir}/
63
-
64
- # executables
65
- mkdir -p %{buildroot}%{_bindir}
66
- cp -a .%{_bindir}/* \
67
- %{buildroot}%{_bindir}
68
-
69
- # bundler file
70
- mkdir -p %{buildroot}%{foreman_proxy_bundlerd_dir}
71
- mv %{buildroot}%{gem_instdir}/bundler.d/abrt.rb \
72
- %{buildroot}%{foreman_proxy_bundlerd_dir}
73
-
74
- # sample config
75
- mkdir -p %{buildroot}%{foreman_proxy_pluginconf_dir}
76
- mv %{buildroot}%{gem_instdir}/settings.d/abrt.yml.example \
77
- %{buildroot}%{foreman_proxy_pluginconf_dir}/
78
-
79
- # crontab
80
- mkdir -p %{buildroot}%{_sysconfdir}/cron.d/
81
- mv %{buildroot}%{gem_instdir}/extra/foreman-proxy-abrt-send.cron \
82
- %{buildroot}%{_sysconfdir}/cron.d/%{name}
83
-
84
- # create spool directory
85
- mkdir -p %{buildroot}%{spool_dir}
86
-
87
- #%check
88
- #testrb -Ilib test
89
-
90
- %files
91
- %dir %{gem_instdir}
92
- %{gem_libdir}
93
- %exclude %{gem_cache}
94
- %{gem_spec}
95
- %{gem_instdir}/bin
96
-
97
- %dir %attr(0755, foreman-proxy, foreman-proxy) %{spool_dir}
98
- %{foreman_proxy_bundlerd_dir}/abrt.rb
99
- %{_bindir}/smart-proxy-abrt-send
100
- %doc %{foreman_proxy_pluginconf_dir}/abrt.yml.example
101
- %config(noreplace) %{_sysconfdir}/cron.d/%{name}
102
-
103
- %files doc
104
- %{gem_docdir}
105
- %{gem_instdir}/README
106
- %{gem_instdir}/LICENSE
107
-
108
- %changelog
109
- * Tue Jul 15 2014 Martin Milata <mmilata@redhat.com> - 0.0.1-1
110
- - Initial package