packageiq 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/build/Dockerfile +26 -0
- data/build/c7_build.sh +3 -0
- data/build/etc/packageiq/elasticsearch.json +11 -0
- data/build/etc/packageiq/indexer.json +6 -0
- data/build/etc/packageiq/rabbitmq.json +11 -0
- data/build/lib/systemd/system/piq_indexer.service +13 -0
- data/build/recipes/amqp-protocol.rb +5 -0
- data/build/recipes/bunny.rb +5 -0
- data/build/recipes/elasticsearch-api.rb +5 -0
- data/build/recipes/elasticsearch-model.rb +5 -0
- data/build/recipes/elasticsearch-persistence.rb +5 -0
- data/build/recipes/elasticsearch-transport.rb +5 -0
- data/build/recipes/elasticsearch.rb +5 -0
- data/build/recipes/faraday.rb +5 -0
- data/build/recipes/json.rb +5 -0
- data/build/recipes/multi_json.rb +5 -0
- data/build/recipes/multipart-post.rb +6 -0
- data/build/recipes/packageiq.rb +5 -0
- data/build/recipes/postinst +13 -0
- data/build/recipes/recipe.rb +54 -0
- data/build/recipes/serverengine.rb +5 -0
- data/build/recipes/sigdump.rb +5 -0
- data/build/recipes/sneakers.rb +5 -0
- data/build/recipes/thor.rb +5 -0
- data/build/recipes/thread.rb +5 -0
- data/lib/packageiq/provider/rhel.rb +25 -21
- data/lib/packageiq/version.rb +1 -1
- data/packageiq.gemspec +3 -0
- metadata +69 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 13cabd108b556704036440b3d81d080a240474fa
|
|
4
|
+
data.tar.gz: 846f9df4e844d3c4695ae21bc770763dea39b8dc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d03e7146e6e3bb1dbda41cb3288d1e3082cfe04736e5cac45b0b6e182997b4803544ff09c70063948cd9d1e4ad1687b0d5b3f733520d7c0527145c5fb61c8b7c
|
|
7
|
+
data.tar.gz: ecff6b00c67880e0bfc2ad512389dbcba774cf0e7ce9b69859e0854bbe4dcb362dfed445079e9bd86851646e6aca9c5d643ac079f4b1ec4db1ea52a97cce7651
|
data/.gitignore
CHANGED
data/build/Dockerfile
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
FROM centos:7
|
|
2
|
+
|
|
3
|
+
MAINTAINER Eric Olsen <eric@ericolsen.net>
|
|
4
|
+
|
|
5
|
+
ENV REFRESHED_AT 2015-02-04
|
|
6
|
+
|
|
7
|
+
RUN yum update -y && yum install -y \
|
|
8
|
+
curl \
|
|
9
|
+
gcc \
|
|
10
|
+
git \
|
|
11
|
+
make \
|
|
12
|
+
rpm-build \
|
|
13
|
+
ruby \
|
|
14
|
+
ruby-devel \
|
|
15
|
+
tar
|
|
16
|
+
|
|
17
|
+
RUN echo "gem: --no-ri --no-rdoc" >/etc/gemrc
|
|
18
|
+
RUN gem install fpm -v 1.4.0
|
|
19
|
+
RUN gem install fpm-cookery -v 0.31.0
|
|
20
|
+
RUN yum -y install vim
|
|
21
|
+
|
|
22
|
+
VOLUME /data
|
|
23
|
+
WORKDIR /data
|
|
24
|
+
|
|
25
|
+
CMD ["fpm-cook", "install-build-deps", "--debug", "--tmp-root", "/tmp", "recipes/recipe.rb"]
|
|
26
|
+
CMD ["fpm-cook", "package", "--debug", "--tmp-root", "/tmp", "--pkg-dir", "pkg", "--no-deps", "recipes/recipe.rb"]
|
data/build/c7_build.sh
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
|
|
3
|
+
set -e
|
|
4
|
+
|
|
5
|
+
if ! getent passwd packageiq > /dev/null; then
|
|
6
|
+
useradd -c "PackageIQ User" -d /home/packageiq -m -U -s "/sbin/nologin" packageiq
|
|
7
|
+
fi
|
|
8
|
+
|
|
9
|
+
chown -R root:root /etc/packageiq
|
|
10
|
+
chmod 0755 /etc/packageiq
|
|
11
|
+
chmod 0644 /etc/packageiq/*
|
|
12
|
+
|
|
13
|
+
systemctl daemon-reload
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
class PackageIQ < FPM::Cookery::Recipe
|
|
2
|
+
name 'packageiq'
|
|
3
|
+
version '0.1.2'
|
|
4
|
+
|
|
5
|
+
source '', :with => :noop
|
|
6
|
+
|
|
7
|
+
description 'PackageIQ'
|
|
8
|
+
|
|
9
|
+
maintainer 'Eric Olsen <eric@ericolsen.net>'
|
|
10
|
+
|
|
11
|
+
homepage 'https://github.com/eoly/packageiq'
|
|
12
|
+
|
|
13
|
+
depends ['rubygem-packageiq',
|
|
14
|
+
'rubygem-bunny',
|
|
15
|
+
'rubygem-json',
|
|
16
|
+
'rubygem-elasticsearch',
|
|
17
|
+
'rubygem-sneakers']
|
|
18
|
+
|
|
19
|
+
config_files ['/etc/packageiq/rabbitmq.json',
|
|
20
|
+
'/etc/packageiq/indexer.json',
|
|
21
|
+
'/etc/packageiq/elasticsearch.json']
|
|
22
|
+
|
|
23
|
+
chain_package true
|
|
24
|
+
chain_recipes ['bunny',
|
|
25
|
+
'packageiq',
|
|
26
|
+
'amqp-protocol',
|
|
27
|
+
'faraday',
|
|
28
|
+
'json',
|
|
29
|
+
'multi_json',
|
|
30
|
+
'multipart-post',
|
|
31
|
+
'serverengine',
|
|
32
|
+
'sigdump',
|
|
33
|
+
'thor',
|
|
34
|
+
'thread',
|
|
35
|
+
'elasticsearch',
|
|
36
|
+
'elasticsearch-api',
|
|
37
|
+
'elasticsearch-model',
|
|
38
|
+
'elasticsearch-persistence',
|
|
39
|
+
'elasticsearch-transport',
|
|
40
|
+
'sneakers']
|
|
41
|
+
|
|
42
|
+
post_install 'postinst'
|
|
43
|
+
|
|
44
|
+
def build
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def install
|
|
48
|
+
etc('packageiq').mkdir
|
|
49
|
+
etc('packageiq').install workdir('../etc/packageiq/rabbitmq.json')
|
|
50
|
+
etc('packageiq').install workdir('../etc/packageiq/elasticsearch.json')
|
|
51
|
+
etc('packageiq').install workdir('../etc/packageiq/indexer.json')
|
|
52
|
+
lib('systemd/system').install workdir('../lib/systemd/system/piq_indexer.service')
|
|
53
|
+
end
|
|
54
|
+
end
|
|
@@ -5,25 +5,25 @@ module Packageiq
|
|
|
5
5
|
module Provider
|
|
6
6
|
# rhel based system package provider
|
|
7
7
|
class RHEL
|
|
8
|
-
# mapping
|
|
8
|
+
# mapping of yum info query tags to symbol
|
|
9
9
|
RPM_INFO_KEY = {
|
|
10
|
-
'
|
|
11
|
-
'
|
|
12
|
-
'
|
|
13
|
-
'
|
|
14
|
-
'
|
|
15
|
-
|
|
16
|
-
'
|
|
17
|
-
'
|
|
18
|
-
'
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
'
|
|
24
|
-
'
|
|
25
|
-
'URL'
|
|
26
|
-
'
|
|
10
|
+
:name => '%{NAME}',
|
|
11
|
+
:epoch => '%{EPOCH}',
|
|
12
|
+
:version => '%{VERSION}',
|
|
13
|
+
:release => '%{RELEASE}',
|
|
14
|
+
:arch => '%{ARCH}',
|
|
15
|
+
:install_date => '%{INSTALLTIME:date}',
|
|
16
|
+
:group => '%{GROUP}',
|
|
17
|
+
:size => '%{SIZE}',
|
|
18
|
+
:license => '%{LICENSE}',
|
|
19
|
+
:signature => '%|DSAHEADER?{%{DSAHEADER:pgpsig}}:{%|RSAHEADER?{%{RSAHEADER:pgpsig}}:{%|SIGGPG?{%{SIGGPG:pgpsig}}:{%|SIGPGP?{%{SIGPGP:pgpsig}}:{(none)}|}|}|}|',
|
|
20
|
+
:source_rpm => '%{SOURCERPM}',
|
|
21
|
+
:build_date => '%{BUILDTIME:date}',
|
|
22
|
+
:build_host => '%{BUILDHOST}',
|
|
23
|
+
:packager => '%{PACKAGER}',
|
|
24
|
+
:vendor => '%{VENDOR}',
|
|
25
|
+
:url => '%{URL}',
|
|
26
|
+
:summary => '%{SUMMARY}'
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
attr_reader :command_handler, :hostname, :timestamp, :os_release
|
|
@@ -49,7 +49,11 @@ module Packageiq
|
|
|
49
49
|
|
|
50
50
|
# returns hash of rpm info
|
|
51
51
|
def info(package)
|
|
52
|
-
|
|
52
|
+
queryformat = ''
|
|
53
|
+
RPM_INFO_KEY.each do |symbol, query|
|
|
54
|
+
queryformat += "#{symbol}: #{query}\\n"
|
|
55
|
+
end
|
|
56
|
+
info = run("rpm -q --queryformat \"#{queryformat}\" #{package}")
|
|
53
57
|
parse_info(info)
|
|
54
58
|
end
|
|
55
59
|
|
|
@@ -135,8 +139,8 @@ module Packageiq
|
|
|
135
139
|
lines = info.split("\n")
|
|
136
140
|
info_hash = { package: {} }
|
|
137
141
|
lines.each do |line|
|
|
138
|
-
RPM_INFO_KEY.each do |
|
|
139
|
-
parse_regex = Regexp.new("^(#{
|
|
142
|
+
RPM_INFO_KEY.each do |symbol, query|
|
|
143
|
+
parse_regex = Regexp.new("^(#{symbol})+\s*:{1}\s{1}(.*)$")
|
|
140
144
|
parts = parse_regex.match(line)
|
|
141
145
|
info_hash[:package][symbol] = parts[2] if parts
|
|
142
146
|
end
|
data/lib/packageiq/version.rb
CHANGED
data/packageiq.gemspec
CHANGED
|
@@ -33,4 +33,7 @@ Gem::Specification.new do |spec|
|
|
|
33
33
|
|
|
34
34
|
spec.add_development_dependency 'bundler', '~> 1.10'
|
|
35
35
|
spec.add_development_dependency 'rake', '~> 10.0'
|
|
36
|
+
spec.add_development_dependency 'pleaserun', '~> 0.0.16'
|
|
37
|
+
spec.add_development_dependency 'fpm', '~> 1.4.0'
|
|
38
|
+
spec.add_development_dependency 'fpm-cookery', '~> 0.31.0'
|
|
36
39
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: packageiq
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Eric Olsen
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-
|
|
11
|
+
date: 2016-04-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bunny
|
|
@@ -94,6 +94,48 @@ dependencies:
|
|
|
94
94
|
- - "~>"
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
96
|
version: '10.0'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: pleaserun
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - "~>"
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: 0.0.16
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - "~>"
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: 0.0.16
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: fpm
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - "~>"
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: 1.4.0
|
|
118
|
+
type: :development
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - "~>"
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: 1.4.0
|
|
125
|
+
- !ruby/object:Gem::Dependency
|
|
126
|
+
name: fpm-cookery
|
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - "~>"
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: 0.31.0
|
|
132
|
+
type: :development
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - "~>"
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: 0.31.0
|
|
97
139
|
description: Package Intelligence Gathering System
|
|
98
140
|
email:
|
|
99
141
|
- eric@ericolsen.net
|
|
@@ -110,6 +152,31 @@ files:
|
|
|
110
152
|
- Rakefile
|
|
111
153
|
- bin/console
|
|
112
154
|
- bin/setup
|
|
155
|
+
- build/Dockerfile
|
|
156
|
+
- build/c7_build.sh
|
|
157
|
+
- build/etc/packageiq/elasticsearch.json
|
|
158
|
+
- build/etc/packageiq/indexer.json
|
|
159
|
+
- build/etc/packageiq/rabbitmq.json
|
|
160
|
+
- build/lib/systemd/system/piq_indexer.service
|
|
161
|
+
- build/recipes/amqp-protocol.rb
|
|
162
|
+
- build/recipes/bunny.rb
|
|
163
|
+
- build/recipes/elasticsearch-api.rb
|
|
164
|
+
- build/recipes/elasticsearch-model.rb
|
|
165
|
+
- build/recipes/elasticsearch-persistence.rb
|
|
166
|
+
- build/recipes/elasticsearch-transport.rb
|
|
167
|
+
- build/recipes/elasticsearch.rb
|
|
168
|
+
- build/recipes/faraday.rb
|
|
169
|
+
- build/recipes/json.rb
|
|
170
|
+
- build/recipes/multi_json.rb
|
|
171
|
+
- build/recipes/multipart-post.rb
|
|
172
|
+
- build/recipes/packageiq.rb
|
|
173
|
+
- build/recipes/postinst
|
|
174
|
+
- build/recipes/recipe.rb
|
|
175
|
+
- build/recipes/serverengine.rb
|
|
176
|
+
- build/recipes/sigdump.rb
|
|
177
|
+
- build/recipes/sneakers.rb
|
|
178
|
+
- build/recipes/thor.rb
|
|
179
|
+
- build/recipes/thread.rb
|
|
113
180
|
- etc/packageiq/elasticsearch.json
|
|
114
181
|
- etc/packageiq/indexer.json
|
|
115
182
|
- etc/packageiq/rabbitmq.json
|
|
@@ -150,4 +217,3 @@ signing_key:
|
|
|
150
217
|
specification_version: 4
|
|
151
218
|
summary: Package Intelligence Gathering System
|
|
152
219
|
test_files: []
|
|
153
|
-
has_rdoc:
|