systemd-journal 1.3.0 → 1.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: c3e6b1c29dbf1ebfb965fb46cc8b4d6a74b99c0c
4
- data.tar.gz: 82a5ec063e3d282c9c87ae670ca09ed009d0a3de
2
+ SHA256:
3
+ metadata.gz: dba31ecf5a267f987bbb2f8986c9c73039a9b6baf51803a717cc5658fdfcee96
4
+ data.tar.gz: bac252ca548a5d09d316f8445b0f17e5307e9ccf5a41beb0443e3dabc8495ab7
5
5
  SHA512:
6
- metadata.gz: ce52fb6b99913e16cbf5d44f2f076e24d3fc36bfe95427f345faca78ba1895f14d9c46d26e4d74ee396c47250161220244be9d3f5e573b5fffdf9e1274d0ae08
7
- data.tar.gz: 4a231f9e05a15535a95d713f10aa3c822989358666679d15756e5e1d30abc2391c77c5d814406b8430dbad581691baf3e10291a539d33005397f5df30b8e6770
6
+ metadata.gz: 05f31a764d3f64ead90e25b3956778c5c563bd4133c994e76920fb3702b889c8d0042205e99e8be8d6c9884dc70ea29cb4429299239014d406344318547bff80
7
+ data.tar.gz: ab946f8aaa1555591828571bb31ea2861d0dace3a32f1f97fe50af981901e993cf030667d637c4e47ed64a05dbfe57939f3673eb32e7e2ea074aeb2a6e264267
@@ -1,3 +1,2 @@
1
- �����*̿�0iAX5H�"�a��h����N 0n旆P�9J���e�M��A+���v.�,olU�����Y��,��5^�9�r= �/7���D�J��
2
- ����[x�<Z;��݉�`�q�rg4Ud�ғ�C�aFʼn�����h��~d
3
- ���(4�ԇ���/��G��$��r�j�Η��t �j4F�1�`B��G',�N���<v�P�Wo�@���Y�u�d�в���#o��R�k�a��g
1
+ 5*�rqp�@�[��� k��c��
2
+ _(*;�e&�߮L}�J��^+`u���J� �9#B��͈������'D�|����ꔕ�S��*�F�.�2
data.tar.gz.sig CHANGED
Binary file
@@ -0,0 +1,17 @@
1
+ name: RSpec Matrix
2
+ on: [push]
3
+ jobs:
4
+ test:
5
+ strategy:
6
+ fail-fast: false
7
+ matrix:
8
+ os: [ubuntu]
9
+ ruby: [2.5, 2.6, 2.7, jruby]
10
+ runs-on: ${{ matrix.os }}-latest
11
+ steps:
12
+ - uses: actions/checkout@v2
13
+ - uses: ruby/setup-ruby@v1
14
+ with:
15
+ ruby-version: ${{ matrix.ruby }}
16
+ - run: bundle install
17
+ - run: bundle exec rake spec
data/.gitignore CHANGED
@@ -15,3 +15,4 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ certs/gem-private_key.pem
@@ -1,27 +1,10 @@
1
- language: ruby
2
- rvm:
3
- - 2.4.0
4
- - 2.3.0
5
- before_install:
6
- - gem install bundler
7
- before_script:
8
- - export PREV_DIR=$(pwd)
9
- - sudo apt-get update -qq
10
- - sudo apt-get install autotools-dev automake autoconf libtool libdbus-1-dev libcap-dev libblkid-dev libpam-dev libcryptsetup-dev libaudit-dev libacl1-dev libattr1-dev libselinux-dev liblzma-dev libgcrypt-dev libqrencode-dev libmicrohttpd-dev gtk-doc-tools gperf python2.7-dev
11
- - git clone git://github.com/systemd/systemd.git /tmp/systemd
12
- - >
13
- cd /tmp/systemd/ &&
14
- git checkout v209 &&
15
- sh autogen.sh &&
16
- ./configure --disable-apparmor --disable-audit --disable-selinux
17
- --disable-machined --disable-logind --disable-timedated
18
- --disable-timesyncd --disable-localed --disable-resolved
19
- --disable-networkd --disable-tests --disable-coredump --disable-hostnamed
20
- --disable-manpages --disable-libcryptsetup --disable-python-devel
21
- --sysconfdir=/etc --localstatedir=/var --libdir=/usr/lib
22
- --with-rootprefix= --with-rootlibdir=/lib
23
- - cd /tmp/systemd/ && make && sudo make install
24
- - echo "done building in $(pwd), switching back to $PREV_DIR, library path is $LD_LIBRARY_PATH"
25
- - cd $PREV_DIR
26
- - >
27
- [ -f /etc/machine-id ] || cat /dev/urandom | tr -cd 'a-f0-9' | head -c 32 | awk '{ print $1 }' | sudo tee /etc/machine-id
1
+ language: generic
2
+ sudo: required
3
+ env:
4
+ - DIST=xenial
5
+ - DIST=bionic
6
+ - DIST=centos
7
+ matrix:
8
+ allow_failures:
9
+ - env: DIST=bionic
10
+ script: docker build -f Dockerfile.$DIST .
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Systemd::Journal [![Gem Version](https://badge.fury.io/rb/systemd-journal.png)](http://badge.fury.io/rb/systemd-journal) [![Build Status](https://travis-ci.org/ledbettj/systemd-journal.png?branch=master)](https://travis-ci.org/ledbettj/systemd-journal) [![Code Climate](https://codeclimate.com/github/ledbettj/systemd-journal.png)](https://codeclimate.com/github/ledbettj/systemd-journal)
1
+ # Systemd::Journal [![Gem Version](https://badge.fury.io/rb/systemd-journal.png)](http://badge.fury.io/rb/systemd-journal) [![Code Climate](https://codeclimate.com/github/ledbettj/systemd-journal.png)](https://codeclimate.com/github/ledbettj/systemd-journal)
2
2
 
3
3
  Ruby bindings for reading from the systemd journal.
4
4
 
@@ -10,7 +10,7 @@ Ruby bindings for reading from the systemd journal.
10
10
  Add this line to your application's Gemfile:
11
11
 
12
12
  ```ruby
13
- gem 'systemd-journal', '~> 1.2.0'
13
+ gem 'systemd-journal', '~> 1.4'
14
14
  ```
15
15
 
16
16
  And then execute:
@@ -49,13 +49,14 @@ require 'systemd/journal'
49
49
  Print all messages as they occur:
50
50
 
51
51
  ```ruby
52
- j = Systemd::Journal.new
53
- j.seek(:tail)
54
- j.move_previous
55
-
56
- # watch() does not return
57
- j.watch do |entry|
58
- puts entry.message
52
+ Systemd::Journal.open do |j|
53
+ j.seek(:tail)
54
+ j.move_previous
55
+
56
+ # watch() does not return
57
+ j.watch do |entry|
58
+ puts entry.message
59
+ end
59
60
  end
60
61
  ```
61
62
 
@@ -69,6 +70,7 @@ j.filter(priority: 6, _exe: '/usr/bin/sshd')
69
70
  j.each do |entry|
70
71
  puts entry.message
71
72
  end
73
+ j.close # close open files
72
74
  ```
73
75
 
74
76
  Moving around the journal:
@@ -99,11 +101,10 @@ j = Systemd::Journal.new
99
101
  j.seek(:tail)
100
102
  j.move_previous
101
103
  # wait up to one second for something to happen
102
- if j.wait(1_000_000)
103
- puts 'something changed!'
104
+ puts 'something changed!' if j.wait(1_000_000)
105
+
104
106
  # same as above, but can be interrupted with Control+C.
105
- if j.wait(1_000_000, select: true)
106
- puts 'something changed!'
107
+ puts 'something changed!' if j.wait(1_000_000, select: true)
107
108
  ```
108
109
 
109
110
  Accessing the catalog:
@@ -150,6 +151,14 @@ The solution is to always call one of `move`, `move_next`, `move_previous` and
150
151
  friends before reading after issuing one of the above calls. For most functions,
151
152
  call `move_next`. For `seek(:tail)`, call `move_previous`.
152
153
 
154
+ ### I get a segfault pointing at Native.sd_journal_get_fd
155
+
156
+ This is caused by a bug in libsystemd v245 (and maybe earlier) which cannot be
157
+ solved in this gem, sadly. It's fixed upstream in [this commit](https://github.com/systemd/systemd/commit/2b6df46d21abe8a8b7481e420588a9a129699cf9), which you can ask your distribution to backport if
158
+ necessary until v246 is released.
159
+
160
+ In ArchLinux, this patch is applied in systemd-libs 245.6-2.
161
+
153
162
  ## Issues?
154
163
 
155
164
  This gem has been tested primarily on MRI and Arch Linux running systemd version
@@ -159,6 +168,8 @@ distributions.
159
168
  The gem will run under JRuby, although some features which rely on native file
160
169
  descriptor support will not work.
161
170
 
171
+ The gem will not run under truffleruby due to missing support for some FFI features.
172
+
162
173
  If you run into problems or have questions, please open an
163
174
  [Issue](https://github.com/ledbettj/systemd-journal/issues) or Pull Request.
164
175
 
data/Rakefile CHANGED
@@ -1,18 +1,21 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require 'yard'
3
3
  require 'rspec/core/rake_task'
4
- require 'rubocop/rake_task'
4
+
5
+ unless ENV['RUBOCOP'] == 'false'
6
+ require 'rubocop/rake_task'
7
+
8
+ RuboCop::RakeTask.new(:rubocop) do |task|
9
+ task.patterns = ['lib/**/*.rb', 'spec/**/*.rb']
10
+ task.fail_on_error = false
11
+ end
12
+ end
5
13
 
6
14
  desc 'open a console with systemd/journal required'
7
15
  task :console do
8
16
  exec 'pry -I./lib -r systemd/journal'
9
17
  end
10
18
 
11
- RuboCop::RakeTask.new(:rubocop) do |task|
12
- task.patterns = ['lib/**/*.rb', 'spec/**/*.rb']
13
- task.fail_on_error = false
14
- end
15
-
16
19
  YARD::Rake::YardocTask.new do |t|
17
20
  t.files = ['lib/**/*.rb']
18
21
  t.options = ['--no-private', '--markup=markdown']
@@ -1,21 +1,25 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIDaDCCAlCgAwIBAgIBATANBgkqhkiG9w0BAQUFADA9MQ0wCwYDVQQDDARqb2hu
3
- MRgwFgYKCZImiZPyLGQBGRYIdGhyb3R0bGUxEjAQBgoJkiaJk/IsZAEZFgJpbzAe
4
- Fw0xNzA4MDgxNDMyMjdaFw0xODA4MDgxNDMyMjdaMD0xDTALBgNVBAMMBGpvaG4x
5
- GDAWBgoJkiaJk/IsZAEZFgh0aHJvdHRsZTESMBAGCgmSJomT8ixkARkWAmlvMIIB
6
- IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoNysk6eAiijtXvE+Yp+i5n/g
7
- n6mzDAuV5cA2E37v5LUCnNJXRnVOt0pO+CfWw0AV8dxbBKddwVvwkT+u/pBMce6B
8
- cATETUMYjzryb+5Sbf1k0MFiIsAc9ASlP5OWF3cQTefJhpGlklqCZwpdBeh5p4XM
9
- WYJ85StSH/OzMg0PcX07d1Ps5MmLV7qyMQEvaOCKnme5OmxCQzVBv3ySgyBLh7hj
10
- gUUzMFYeYZU0tPBJHHKxW19wmdis59/ktMo5JOGCBRKYNwcOYEaMUP3Mrmc+ZDk3
11
- YikJg7xL8eQa3qJjZ5xEeXSI34u2VUqBmqs2CMH4ZvdXZl4rZrFZs8uePdxCxQID
12
- AQABo3MwcTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU3jyZnlOE
13
- slGWjYuqMAfdqBCyoaUwGwYDVR0RBBQwEoEQam9obkB0aHJvdHRsZS5pbzAbBgNV
14
- HRIEFDASgRBqb2huQHRocm90dGxlLmlvMA0GCSqGSIb3DQEBBQUAA4IBAQCdXeiJ
15
- 7LDI9AdMXqJsDAHps+2sN/77BLxuNXB3BZRgrJ0+VaSfNKdMvf69h195bFjP/VD5
16
- PePsf+ZoQTOVpPaunWP2u4Np9NgXi3EWywLAlmEqt1/1P2Cw4QOePTV/BVs4XRal
17
- hnjXkfWlHd6ngozGr4ICBR0x0WqLRR09pSKuwEUspzUWuunU5Z0vJPHDZAoTGdrR
18
- fqWHVr6WwoNUEZH3D+kMyJNwDpuq5m0n/iKhHypAE1LI0l4EapKzSXlBImywCTIh
19
- LnHNrDPklxqI1pnkXyKU9OrcCVuFnKY6te48kWZ8ZN/WhegL1fbNtLuvgoS2WuUJ
20
- 5MDu0m5ogQUz8Ijw
2
+ MIIEMDCCApigAwIBAgIBATANBgkqhkiG9w0BAQsFADAhMR8wHQYDVQQDDBZqb2hu
3
+ L0RDPXRocm90dGxlL0RDPWlvMB4XDTIwMDczMDIyMTUxNVoXDTIxMDczMDIyMTUx
4
+ NVowITEfMB0GA1UEAwwWam9obi9EQz10aHJvdHRsZS9EQz1pbzCCAaIwDQYJKoZI
5
+ hvcNAQEBBQADggGPADCCAYoCggGBAMEZjnWtA5/YsYEDvWlTAPOP2NshfBVcNSXE
6
+ FHg4refJstCaf59iqFEWbEjLmbezK6HA5vzM6ZenEom2S1Rzj0OButABHKaISjxE
7
+ wJG/DZ8fJTx+Yn970cIA7jH0r03/kpg8fzrCWjUH+Jy3vX8dkTa0I+fWz45k9o1g
8
+ e+ENGeIRklG7T8rNCmJP6oacGJUfdmXSHDszg0u1dCi4scth1vksDbZwyL/BPqGF
9
+ hLvIeAXwm1TPXKvD13odTRBgHj5h7w7YOBmcqGwq+rgEC+iRJhdS00x+mquD9Gdm
10
+ CjCvRnS7JG4UTpmUxsdY0snPCiHZjbjCKhZr+dciOOWLQE2NVuTeiyNg5di7XMq+
11
+ blIh6acnMZThiR8+bHAprJ1P+DtZ6uY0oePnRZ2K1pebGIOjA/UKaHlvbatyB49z
12
+ NdTvAWRWAQ2tSOpQhtR/3Pp6SYniT+/lnsW3H4bBsY14wEfPp8tkp7SdbyjoEeaz
13
+ ljX4Qi8q0ozKO22jbtwzE6F9V/EzzwIDAQABo3MwcTAJBgNVHRMEAjAAMAsGA1Ud
14
+ DwQEAwIEsDAdBgNVHQ4EFgQUVLZVCCB2lbddzYxAxk/g4bfBjhQwGwYDVR0RBBQw
15
+ EoEQam9obkB0aHJvdHRsZS5pbzAbBgNVHRIEFDASgRBqb2huQHRocm90dGxlLmlv
16
+ MA0GCSqGSIb3DQEBCwUAA4IBgQAxwbDSdDZjJQ4pKoV1Xf5kj9JKL1GvJ8jotTyx
17
+ Oy8BXUV+iiYXCelwfvBIsBtz64pH1VVg4/xrv2Vsi3It3IUdlbxUHi5Bn0X0W9ci
18
+ xkQYlszu4au+oz86MY/LMx83r9y+3GKy633JH5qmILotKHgzAcoFK5mASC9QyJWV
19
+ EK5FWtQGVJUelB4K3P93pxICfN5os04TCW4lAzLEwYwc+TVGDa1q1u8Wr7haId4o
20
+ fsQvapSzlO/jXwtepH363FhrdqYnXJ1acyCGBtaHzOcRUTmgRtTwNoMQICwNzeJ+
21
+ VvAOtMDRJT68kz5nD1G6AyriHzLptEt2/+Oq/DmAY3E2q+qN7Rb3THDBDFV7u3Cw
22
+ aNcGx7j1YvV5morU/wytvIA1XvjZlp27MBu0dd4kL8k7SRApTxnRjavsDrz1Oxa6
23
+ BTJGZ4qddTGCNj/QRwzZegXpckYB3u60wiU6EECWndotUYuKbgObSDU4Nh1cdrzw
24
+ FIew3kKXPiBpZBN3eDxal56e+R0=
21
25
  -----END CERTIFICATE-----
@@ -48,11 +48,20 @@ module Systemd
48
48
  open_type, flags = validate_options!(opts)
49
49
  ptr = FFI::MemoryPointer.new(:pointer, 1)
50
50
 
51
+ @finalize = (opts.key?(:finalize) ? opts.delete(:finalize) : true)
51
52
  rc = open_journal(open_type, ptr, opts, flags)
52
53
  raise JournalError, rc if rc < 0
53
54
 
54
55
  @ptr = ptr.read_pointer
55
- ObjectSpace.define_finalizer(self, self.class.finalize(@ptr))
56
+ file_descriptor
57
+ ObjectSpace.define_finalizer(self, self.class.finalize(@ptr)) if @finalize
58
+ end
59
+
60
+ def self.open(opts = {})
61
+ j = new(opts.merge(finalize: false))
62
+ yield j
63
+ ensure
64
+ j.close if j
56
65
  end
57
66
 
58
67
  # Iterate over each entry in the journal, respecting the applied
@@ -197,7 +206,7 @@ module Systemd
197
206
  def close
198
207
  return if @ptr.nil?
199
208
 
200
- ObjectSpace.undefine_finalizer(self)
209
+ ObjectSpace.undefine_finalizer(self) if @finalize
201
210
  Native.sd_journal_close(@ptr)
202
211
 
203
212
  @ptr = nil
@@ -1,6 +1,6 @@
1
1
  module Systemd
2
2
  class Journal
3
3
  # The version of the systemd-journal gem.
4
- VERSION = '1.3.0'
4
+ VERSION = '1.4.2'.freeze
5
5
  end
6
6
  end
@@ -61,7 +61,7 @@ module Systemd
61
61
 
62
62
  def file_descriptor
63
63
  fd = Native.sd_journal_get_fd(@ptr)
64
- raise JournalError, rc if fd < 0
64
+ raise JournalError, fd if fd < 0
65
65
  fd
66
66
  end
67
67
 
@@ -66,7 +66,7 @@ module Systemd
66
66
  # severity of the event.
67
67
  # @param [String] message the content of the message to write.
68
68
  def print(level, message)
69
- rc = Native.sd_journal_print(level, message)
69
+ rc = Native.sd_journal_print(level, message.to_s.gsub('%', '%%'))
70
70
  raise JournalError, rc if rc < 0
71
71
  end
72
72
 
@@ -74,7 +74,8 @@ module Systemd
74
74
  # @param [Hash] contents the set of key-value pairs defining the event.
75
75
  def message(contents)
76
76
  items = contents.flat_map do |k, v|
77
- [:string, "#{k.to_s.upcase}=#{v}"]
77
+ value = v.to_s.gsub('%', '%%')
78
+ [:string, "#{k.to_s.upcase}=#{value}"]
78
79
  end
79
80
  # add a null pointer to terminate the varargs
80
81
  items += [:string, nil]
@@ -8,6 +8,24 @@ RSpec.describe Systemd::Journal do
8
8
  end
9
9
  end
10
10
 
11
+ describe 'open' do
12
+ it 'creates and closes' do
13
+ expect(Systemd::Journal::Native).to receive(:sd_journal_close)
14
+ .and_call_original
15
+
16
+ result = Systemd::Journal.open { 1 }
17
+ expect(result).to eq 1
18
+ end
19
+
20
+ it 'raises original exception when creating journal fails' do
21
+ expect(Systemd::Journal::Native).to_not receive(:sd_journal_close)
22
+
23
+ expect do
24
+ Systemd::Journal.open(file: 1, path: 2, files: 3) { 1 }
25
+ end.to raise_error(ArgumentError)
26
+ end
27
+ end
28
+
11
29
  describe 'initialize' do
12
30
  subject(:j) { Systemd::Journal }
13
31
 
@@ -410,4 +428,24 @@ RSpec.describe Systemd::Journal do
410
428
  expect([true, false]).to include(j.wait_select_reliable?)
411
429
  end
412
430
  end
431
+
432
+ describe 'message' do
433
+ it 'escapes percent signs in messages' do
434
+ expect(Systemd::Journal::Native).to receive(:sd_journal_send)
435
+ .with(:string, 'MESSAGE=hello %% world %%', :string, nil)
436
+ .and_return(0)
437
+
438
+ Systemd::Journal.message(message: 'hello % world %')
439
+ end
440
+ end
441
+
442
+ describe 'print' do
443
+ it 'escapes percent signs' do
444
+ expect(Systemd::Journal::Native).to receive(:sd_journal_print)
445
+ .with(Systemd::Journal::LOG_DEBUG, 'hello %% world %%')
446
+ .and_return(0)
447
+
448
+ Systemd::Journal.print(Systemd::Journal::LOG_DEBUG, 'hello % world %')
449
+ end
450
+ end
413
451
  end
@@ -13,7 +13,7 @@ Gem::Specification.new do |gem|
13
13
  gem.summary = 'Ruby bindings to libsystemd-journal'
14
14
  gem.homepage = 'https://github.com/ledbettj/systemd-journal'
15
15
 
16
- gem.cert_chain = Dir['certs/*']
16
+ gem.cert_chain = Dir['certs/john@throttle.io.pem']
17
17
 
18
18
  if $PROGRAM_NAME.end_with?('gem')
19
19
  gem.signing_key = ENV['GEM_SIGNING_KEY']
@@ -31,8 +31,8 @@ Gem::Specification.new do |gem|
31
31
 
32
32
  gem.add_development_dependency 'rspec', '~> 3.4'
33
33
  gem.add_development_dependency 'simplecov', '~> 0.9'
34
- gem.add_development_dependency 'rubocop', '~> 0.26'
35
- gem.add_development_dependency 'rake', '~> 10.3'
36
- gem.add_development_dependency 'yard', '~> 0.8'
34
+ gem.add_development_dependency 'rubocop', '~> 0.26' unless ENV['RUBOCOP'] == 'false'
35
+ gem.add_development_dependency 'rake', '~> 12.3'
36
+ gem.add_development_dependency 'yard', '~> 0.9'
37
37
  gem.add_development_dependency 'pry', '~> 0.10'
38
38
  end
metadata CHANGED
@@ -1,37 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: systemd-journal
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Ledbetter
8
8
  - Daniel Mack
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain:
12
12
  - |
13
13
  -----BEGIN CERTIFICATE-----
14
- MIIDaDCCAlCgAwIBAgIBATANBgkqhkiG9w0BAQUFADA9MQ0wCwYDVQQDDARqb2hu
15
- MRgwFgYKCZImiZPyLGQBGRYIdGhyb3R0bGUxEjAQBgoJkiaJk/IsZAEZFgJpbzAe
16
- Fw0xNzA4MDgxNDMyMjdaFw0xODA4MDgxNDMyMjdaMD0xDTALBgNVBAMMBGpvaG4x
17
- GDAWBgoJkiaJk/IsZAEZFgh0aHJvdHRsZTESMBAGCgmSJomT8ixkARkWAmlvMIIB
18
- IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoNysk6eAiijtXvE+Yp+i5n/g
19
- n6mzDAuV5cA2E37v5LUCnNJXRnVOt0pO+CfWw0AV8dxbBKddwVvwkT+u/pBMce6B
20
- cATETUMYjzryb+5Sbf1k0MFiIsAc9ASlP5OWF3cQTefJhpGlklqCZwpdBeh5p4XM
21
- WYJ85StSH/OzMg0PcX07d1Ps5MmLV7qyMQEvaOCKnme5OmxCQzVBv3ySgyBLh7hj
22
- gUUzMFYeYZU0tPBJHHKxW19wmdis59/ktMo5JOGCBRKYNwcOYEaMUP3Mrmc+ZDk3
23
- YikJg7xL8eQa3qJjZ5xEeXSI34u2VUqBmqs2CMH4ZvdXZl4rZrFZs8uePdxCxQID
24
- AQABo3MwcTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU3jyZnlOE
25
- slGWjYuqMAfdqBCyoaUwGwYDVR0RBBQwEoEQam9obkB0aHJvdHRsZS5pbzAbBgNV
26
- HRIEFDASgRBqb2huQHRocm90dGxlLmlvMA0GCSqGSIb3DQEBBQUAA4IBAQCdXeiJ
27
- 7LDI9AdMXqJsDAHps+2sN/77BLxuNXB3BZRgrJ0+VaSfNKdMvf69h195bFjP/VD5
28
- PePsf+ZoQTOVpPaunWP2u4Np9NgXi3EWywLAlmEqt1/1P2Cw4QOePTV/BVs4XRal
29
- hnjXkfWlHd6ngozGr4ICBR0x0WqLRR09pSKuwEUspzUWuunU5Z0vJPHDZAoTGdrR
30
- fqWHVr6WwoNUEZH3D+kMyJNwDpuq5m0n/iKhHypAE1LI0l4EapKzSXlBImywCTIh
31
- LnHNrDPklxqI1pnkXyKU9OrcCVuFnKY6te48kWZ8ZN/WhegL1fbNtLuvgoS2WuUJ
32
- 5MDu0m5ogQUz8Ijw
14
+ MIIEMDCCApigAwIBAgIBATANBgkqhkiG9w0BAQsFADAhMR8wHQYDVQQDDBZqb2hu
15
+ L0RDPXRocm90dGxlL0RDPWlvMB4XDTIwMDczMDIyMTUxNVoXDTIxMDczMDIyMTUx
16
+ NVowITEfMB0GA1UEAwwWam9obi9EQz10aHJvdHRsZS9EQz1pbzCCAaIwDQYJKoZI
17
+ hvcNAQEBBQADggGPADCCAYoCggGBAMEZjnWtA5/YsYEDvWlTAPOP2NshfBVcNSXE
18
+ FHg4refJstCaf59iqFEWbEjLmbezK6HA5vzM6ZenEom2S1Rzj0OButABHKaISjxE
19
+ wJG/DZ8fJTx+Yn970cIA7jH0r03/kpg8fzrCWjUH+Jy3vX8dkTa0I+fWz45k9o1g
20
+ e+ENGeIRklG7T8rNCmJP6oacGJUfdmXSHDszg0u1dCi4scth1vksDbZwyL/BPqGF
21
+ hLvIeAXwm1TPXKvD13odTRBgHj5h7w7YOBmcqGwq+rgEC+iRJhdS00x+mquD9Gdm
22
+ CjCvRnS7JG4UTpmUxsdY0snPCiHZjbjCKhZr+dciOOWLQE2NVuTeiyNg5di7XMq+
23
+ blIh6acnMZThiR8+bHAprJ1P+DtZ6uY0oePnRZ2K1pebGIOjA/UKaHlvbatyB49z
24
+ NdTvAWRWAQ2tSOpQhtR/3Pp6SYniT+/lnsW3H4bBsY14wEfPp8tkp7SdbyjoEeaz
25
+ ljX4Qi8q0ozKO22jbtwzE6F9V/EzzwIDAQABo3MwcTAJBgNVHRMEAjAAMAsGA1Ud
26
+ DwQEAwIEsDAdBgNVHQ4EFgQUVLZVCCB2lbddzYxAxk/g4bfBjhQwGwYDVR0RBBQw
27
+ EoEQam9obkB0aHJvdHRsZS5pbzAbBgNVHRIEFDASgRBqb2huQHRocm90dGxlLmlv
28
+ MA0GCSqGSIb3DQEBCwUAA4IBgQAxwbDSdDZjJQ4pKoV1Xf5kj9JKL1GvJ8jotTyx
29
+ Oy8BXUV+iiYXCelwfvBIsBtz64pH1VVg4/xrv2Vsi3It3IUdlbxUHi5Bn0X0W9ci
30
+ xkQYlszu4au+oz86MY/LMx83r9y+3GKy633JH5qmILotKHgzAcoFK5mASC9QyJWV
31
+ EK5FWtQGVJUelB4K3P93pxICfN5os04TCW4lAzLEwYwc+TVGDa1q1u8Wr7haId4o
32
+ fsQvapSzlO/jXwtepH363FhrdqYnXJ1acyCGBtaHzOcRUTmgRtTwNoMQICwNzeJ+
33
+ VvAOtMDRJT68kz5nD1G6AyriHzLptEt2/+Oq/DmAY3E2q+qN7Rb3THDBDFV7u3Cw
34
+ aNcGx7j1YvV5morU/wytvIA1XvjZlp27MBu0dd4kL8k7SRApTxnRjavsDrz1Oxa6
35
+ BTJGZ4qddTGCNj/QRwzZegXpckYB3u60wiU6EECWndotUYuKbgObSDU4Nh1cdrzw
36
+ FIew3kKXPiBpZBN3eDxal56e+R0=
33
37
  -----END CERTIFICATE-----
34
- date: 2017-08-08 00:00:00.000000000 Z
38
+ date: 2020-07-30 00:00:00.000000000 Z
35
39
  dependencies:
36
40
  - !ruby/object:Gem::Dependency
37
41
  name: ffi
@@ -95,28 +99,28 @@ dependencies:
95
99
  requirements:
96
100
  - - "~>"
97
101
  - !ruby/object:Gem::Version
98
- version: '10.3'
102
+ version: '12.3'
99
103
  type: :development
100
104
  prerelease: false
101
105
  version_requirements: !ruby/object:Gem::Requirement
102
106
  requirements:
103
107
  - - "~>"
104
108
  - !ruby/object:Gem::Version
105
- version: '10.3'
109
+ version: '12.3'
106
110
  - !ruby/object:Gem::Dependency
107
111
  name: yard
108
112
  requirement: !ruby/object:Gem::Requirement
109
113
  requirements:
110
114
  - - "~>"
111
115
  - !ruby/object:Gem::Version
112
- version: '0.8'
116
+ version: '0.9'
113
117
  type: :development
114
118
  prerelease: false
115
119
  version_requirements: !ruby/object:Gem::Requirement
116
120
  requirements:
117
121
  - - "~>"
118
122
  - !ruby/object:Gem::Version
119
- version: '0.8'
123
+ version: '0.9'
120
124
  - !ruby/object:Gem::Dependency
121
125
  name: pry
122
126
  requirement: !ruby/object:Gem::Requirement
@@ -139,6 +143,7 @@ executables: []
139
143
  extensions: []
140
144
  extra_rdoc_files: []
141
145
  files:
146
+ - ".github/workflows/ruby.yml"
142
147
  - ".gitignore"
143
148
  - ".rubocop.yml"
144
149
  - ".travis.yml"
@@ -176,7 +181,7 @@ homepage: https://github.com/ledbettj/systemd-journal
176
181
  licenses:
177
182
  - MIT
178
183
  metadata: {}
179
- post_install_message:
184
+ post_install_message:
180
185
  rdoc_options: []
181
186
  require_paths:
182
187
  - lib
@@ -191,9 +196,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
191
196
  - !ruby/object:Gem::Version
192
197
  version: '0'
193
198
  requirements: []
194
- rubyforge_project:
195
- rubygems_version: 2.6.11
196
- signing_key:
199
+ rubygems_version: 3.1.4
200
+ signing_key:
197
201
  specification_version: 4
198
202
  summary: Ruby bindings to libsystemd-journal
199
203
  test_files:
metadata.gz.sig CHANGED
Binary file