journald-native 1.0.7 → 1.0.9

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: 4020a007bf01dcb53dde8935a7772ab71e28c882
4
- data.tar.gz: b95b33ae4d6014cf76c0b1b6e138829274f3d433
3
+ metadata.gz: 2149bd01df881850f2b28981f5205b3927a8a1ad
4
+ data.tar.gz: e3e6dca4d82b253c973c646120c179da9a9e797f
5
5
  SHA512:
6
- metadata.gz: 6ab72f2d53e00b60be3489609ee7065e293bef46c13145c14cfae7eae4adddbb465e1a4a785ba05930a50f1b97fa5de809a20f0b2d628a9073d7655c82dd3f74
7
- data.tar.gz: 3983b62b9f1dc7367013048cab266f2adc71b5c0ed14ae9ad77bafe214866d6310c5d7b70f672d10636319815d7d815b4cab5a1078cbf672909d69c8659ebbef
6
+ metadata.gz: 5ff414045a42a08b18043404efbc581024ed723d5452ba4770c7f5aba24d683d8a6c8d426914774ba9630d586bf33a98ea4f9a8b04e0db7938da70d0fb171cb2
7
+ data.tar.gz: bfb25979bdec849aab3076a82a076d9a6ed705602c69f9c547f60cc68d9d143cd992ea596971704508d48c5367f933f6669d53b9dfa2e600d0893b4b1d5ce9b6
@@ -0,0 +1,13 @@
1
+ # test with minimum and current and previous version of ruby; try default version of rbx
2
+
3
+ language: ruby
4
+ os:
5
+ - xenial # we cannot actually test until xenial is added to Travis
6
+ rvm:
7
+ - '1.9.2'
8
+ - '2.2.4'
9
+ - '2.3.0'
10
+ - rbx
11
+ script:
12
+ - bundle exec rake compile
13
+ - bundle exec rspec
@@ -0,0 +1,450 @@
1
+ GNU Lesser General Public License
2
+ =================================
3
+
4
+ _Version 2.1, February 1999_
5
+ _Copyright © 1991, 1999 Free Software Foundation, Inc._
6
+ _51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA_
7
+
8
+ Everyone is permitted to copy and distribute verbatim copies
9
+ of this license document, but changing it is not allowed.
10
+
11
+ _This is the first released version of the Lesser GPL. It also counts
12
+ as the successor of the GNU Library Public License, version 2, hence
13
+ the version number 2.1._
14
+
15
+ ### Preamble
16
+
17
+ The licenses for most software are designed to take away your
18
+ freedom to share and change it. By contrast, the GNU General Public
19
+ Licenses are intended to guarantee your freedom to share and change
20
+ free software--to make sure the software is free for all its users.
21
+
22
+ This license, the Lesser General Public License, applies to some
23
+ specially designated software packages--typically libraries--of the
24
+ Free Software Foundation and other authors who decide to use it. You
25
+ can use it too, but we suggest you first think carefully about whether
26
+ this license or the ordinary General Public License is the better
27
+ strategy to use in any particular case, based on the explanations below.
28
+
29
+ When we speak of free software, we are referring to freedom of use,
30
+ not price. Our General Public Licenses are designed to make sure that
31
+ you have the freedom to distribute copies of free software (and charge
32
+ for this service if you wish); that you receive source code or can get
33
+ it if you want it; that you can change the software and use pieces of
34
+ it in new free programs; and that you are informed that you can do
35
+ these things.
36
+
37
+ To protect your rights, we need to make restrictions that forbid
38
+ distributors to deny you these rights or to ask you to surrender these
39
+ rights. These restrictions translate to certain responsibilities for
40
+ you if you distribute copies of the library or if you modify it.
41
+
42
+ For example, if you distribute copies of the library, whether gratis
43
+ or for a fee, you must give the recipients all the rights that we gave
44
+ you. You must make sure that they, too, receive or can get the source
45
+ code. If you link other code with the library, you must provide
46
+ complete object files to the recipients, so that they can relink them
47
+ with the library after making changes to the library and recompiling
48
+ it. And you must show them these terms so they know their rights.
49
+
50
+ We protect your rights with a two-step method: **(1)** we copyright the
51
+ library, and **(2)** we offer you this license, which gives you legal
52
+ permission to copy, distribute and/or modify the library.
53
+
54
+ To protect each distributor, we want to make it very clear that
55
+ there is no warranty for the free library. Also, if the library is
56
+ modified by someone else and passed on, the recipients should know
57
+ that what they have is not the original version, so that the original
58
+ author's reputation will not be affected by problems that might be
59
+ introduced by others.
60
+
61
+ Finally, software patents pose a constant threat to the existence of
62
+ any free program. We wish to make sure that a company cannot
63
+ effectively restrict the users of a free program by obtaining a
64
+ restrictive license from a patent holder. Therefore, we insist that
65
+ any patent license obtained for a version of the library must be
66
+ consistent with the full freedom of use specified in this license.
67
+
68
+ Most GNU software, including some libraries, is covered by the
69
+ ordinary GNU General Public License. This license, the GNU Lesser
70
+ General Public License, applies to certain designated libraries, and
71
+ is quite different from the ordinary General Public License. We use
72
+ this license for certain libraries in order to permit linking those
73
+ libraries into non-free programs.
74
+
75
+ When a program is linked with a library, whether statically or using
76
+ a shared library, the combination of the two is legally speaking a
77
+ combined work, a derivative of the original library. The ordinary
78
+ General Public License therefore permits such linking only if the
79
+ entire combination fits its criteria of freedom. The Lesser General
80
+ Public License permits more lax criteria for linking other code with
81
+ the library.
82
+
83
+ We call this license the “Lesser” General Public License because it
84
+ does Less to protect the user's freedom than the ordinary General
85
+ Public License. It also provides other free software developers Less
86
+ of an advantage over competing non-free programs. These disadvantages
87
+ are the reason we use the ordinary General Public License for many
88
+ libraries. However, the Lesser license provides advantages in certain
89
+ special circumstances.
90
+
91
+ For example, on rare occasions, there may be a special need to
92
+ encourage the widest possible use of a certain library, so that it becomes
93
+ a de-facto standard. To achieve this, non-free programs must be
94
+ allowed to use the library. A more frequent case is that a free
95
+ library does the same job as widely used non-free libraries. In this
96
+ case, there is little to gain by limiting the free library to free
97
+ software only, so we use the Lesser General Public License.
98
+
99
+ In other cases, permission to use a particular library in non-free
100
+ programs enables a greater number of people to use a large body of
101
+ free software. For example, permission to use the GNU C Library in
102
+ non-free programs enables many more people to use the whole GNU
103
+ operating system, as well as its variant, the GNU/Linux operating
104
+ system.
105
+
106
+ Although the Lesser General Public License is Less protective of the
107
+ users' freedom, it does ensure that the user of a program that is
108
+ linked with the Library has the freedom and the wherewithal to run
109
+ that program using a modified version of the Library.
110
+
111
+ The precise terms and conditions for copying, distribution and
112
+ modification follow. Pay close attention to the difference between a
113
+ “work based on the library” and a “work that uses the library”. The
114
+ former contains code derived from the library, whereas the latter must
115
+ be combined with the library in order to run.
116
+
117
+ ### TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
118
+
119
+ **0.** This License Agreement applies to any software library or other
120
+ program which contains a notice placed by the copyright holder or
121
+ other authorized party saying it may be distributed under the terms of
122
+ this Lesser General Public License (also called “this License”).
123
+ Each licensee is addressed as “you”.
124
+
125
+ A “library” means a collection of software functions and/or data
126
+ prepared so as to be conveniently linked with application programs
127
+ (which use some of those functions and data) to form executables.
128
+
129
+ The “Library”, below, refers to any such software library or work
130
+ which has been distributed under these terms. A “work based on the
131
+ Library” means either the Library or any derivative work under
132
+ copyright law: that is to say, a work containing the Library or a
133
+ portion of it, either verbatim or with modifications and/or translated
134
+ straightforwardly into another language. (Hereinafter, translation is
135
+ included without limitation in the term “modification”.)
136
+
137
+ “Source code” for a work means the preferred form of the work for
138
+ making modifications to it. For a library, complete source code means
139
+ all the source code for all modules it contains, plus any associated
140
+ interface definition files, plus the scripts used to control compilation
141
+ and installation of the library.
142
+
143
+ Activities other than copying, distribution and modification are not
144
+ covered by this License; they are outside its scope. The act of
145
+ running a program using the Library is not restricted, and output from
146
+ such a program is covered only if its contents constitute a work based
147
+ on the Library (independent of the use of the Library in a tool for
148
+ writing it). Whether that is true depends on what the Library does
149
+ and what the program that uses the Library does.
150
+
151
+ **1.** You may copy and distribute verbatim copies of the Library's
152
+ complete source code as you receive it, in any medium, provided that
153
+ you conspicuously and appropriately publish on each copy an
154
+ appropriate copyright notice and disclaimer of warranty; keep intact
155
+ all the notices that refer to this License and to the absence of any
156
+ warranty; and distribute a copy of this License along with the
157
+ Library.
158
+
159
+ You may charge a fee for the physical act of transferring a copy,
160
+ and you may at your option offer warranty protection in exchange for a
161
+ fee.
162
+
163
+ **2.** You may modify your copy or copies of the Library or any portion
164
+ of it, thus forming a work based on the Library, and copy and
165
+ distribute such modifications or work under the terms of Section 1
166
+ above, provided that you also meet all of these conditions:
167
+
168
+ * **a)** The modified work must itself be a software library.
169
+ * **b)** You must cause the files modified to carry prominent notices
170
+ stating that you changed the files and the date of any change.
171
+ * **c)** You must cause the whole of the work to be licensed at no
172
+ charge to all third parties under the terms of this License.
173
+ * **d)** If a facility in the modified Library refers to a function or a
174
+ table of data to be supplied by an application program that uses
175
+ the facility, other than as an argument passed when the facility
176
+ is invoked, then you must make a good faith effort to ensure that,
177
+ in the event an application does not supply such function or
178
+ table, the facility still operates, and performs whatever part of
179
+ its purpose remains meaningful.
180
+ (For example, a function in a library to compute square roots has
181
+ a purpose that is entirely well-defined independent of the
182
+ application. Therefore, Subsection 2d requires that any
183
+ application-supplied function or table used by this function must
184
+ be optional: if the application does not supply it, the square
185
+ root function must still compute square roots.)
186
+
187
+ These requirements apply to the modified work as a whole. If
188
+ identifiable sections of that work are not derived from the Library,
189
+ and can be reasonably considered independent and separate works in
190
+ themselves, then this License, and its terms, do not apply to those
191
+ sections when you distribute them as separate works. But when you
192
+ distribute the same sections as part of a whole which is a work based
193
+ on the Library, the distribution of the whole must be on the terms of
194
+ this License, whose permissions for other licensees extend to the
195
+ entire whole, and thus to each and every part regardless of who wrote
196
+ it.
197
+
198
+ Thus, it is not the intent of this section to claim rights or contest
199
+ your rights to work written entirely by you; rather, the intent is to
200
+ exercise the right to control the distribution of derivative or
201
+ collective works based on the Library.
202
+
203
+ In addition, mere aggregation of another work not based on the Library
204
+ with the Library (or with a work based on the Library) on a volume of
205
+ a storage or distribution medium does not bring the other work under
206
+ the scope of this License.
207
+
208
+ **3.** You may opt to apply the terms of the ordinary GNU General Public
209
+ License instead of this License to a given copy of the Library. To do
210
+ this, you must alter all the notices that refer to this License, so
211
+ that they refer to the ordinary GNU General Public License, version 2,
212
+ instead of to this License. (If a newer version than version 2 of the
213
+ ordinary GNU General Public License has appeared, then you can specify
214
+ that version instead if you wish.) Do not make any other change in
215
+ these notices.
216
+
217
+ Once this change is made in a given copy, it is irreversible for
218
+ that copy, so the ordinary GNU General Public License applies to all
219
+ subsequent copies and derivative works made from that copy.
220
+
221
+ This option is useful when you wish to copy part of the code of
222
+ the Library into a program that is not a library.
223
+
224
+ **4.** You may copy and distribute the Library (or a portion or
225
+ derivative of it, under Section 2) in object code or executable form
226
+ under the terms of Sections 1 and 2 above provided that you accompany
227
+ it with the complete corresponding machine-readable source code, which
228
+ must be distributed under the terms of Sections 1 and 2 above on a
229
+ medium customarily used for software interchange.
230
+
231
+ If distribution of object code is made by offering access to copy
232
+ from a designated place, then offering equivalent access to copy the
233
+ source code from the same place satisfies the requirement to
234
+ distribute the source code, even though third parties are not
235
+ compelled to copy the source along with the object code.
236
+
237
+ **5.** A program that contains no derivative of any portion of the
238
+ Library, but is designed to work with the Library by being compiled or
239
+ linked with it, is called a “work that uses the Library”. Such a
240
+ work, in isolation, is not a derivative work of the Library, and
241
+ therefore falls outside the scope of this License.
242
+
243
+ However, linking a “work that uses the Library” with the Library
244
+ creates an executable that is a derivative of the Library (because it
245
+ contains portions of the Library), rather than a “work that uses the
246
+ library”. The executable is therefore covered by this License.
247
+ Section 6 states terms for distribution of such executables.
248
+
249
+ When a “work that uses the Library” uses material from a header file
250
+ that is part of the Library, the object code for the work may be a
251
+ derivative work of the Library even though the source code is not.
252
+ Whether this is true is especially significant if the work can be
253
+ linked without the Library, or if the work is itself a library. The
254
+ threshold for this to be true is not precisely defined by law.
255
+
256
+ If such an object file uses only numerical parameters, data
257
+ structure layouts and accessors, and small macros and small inline
258
+ functions (ten lines or less in length), then the use of the object
259
+ file is unrestricted, regardless of whether it is legally a derivative
260
+ work. (Executables containing this object code plus portions of the
261
+ Library will still fall under Section 6.)
262
+
263
+ Otherwise, if the work is a derivative of the Library, you may
264
+ distribute the object code for the work under the terms of Section 6.
265
+ Any executables containing that work also fall under Section 6,
266
+ whether or not they are linked directly with the Library itself.
267
+
268
+ **6.** As an exception to the Sections above, you may also combine or
269
+ link a “work that uses the Library” with the Library to produce a
270
+ work containing portions of the Library, and distribute that work
271
+ under terms of your choice, provided that the terms permit
272
+ modification of the work for the customer's own use and reverse
273
+ engineering for debugging such modifications.
274
+
275
+ You must give prominent notice with each copy of the work that the
276
+ Library is used in it and that the Library and its use are covered by
277
+ this License. You must supply a copy of this License. If the work
278
+ during execution displays copyright notices, you must include the
279
+ copyright notice for the Library among them, as well as a reference
280
+ directing the user to the copy of this License. Also, you must do one
281
+ of these things:
282
+
283
+ * **a)** Accompany the work with the complete corresponding
284
+ machine-readable source code for the Library including whatever
285
+ changes were used in the work (which must be distributed under
286
+ Sections 1 and 2 above); and, if the work is an executable linked
287
+ with the Library, with the complete machine-readable “work that
288
+ uses the Library”, as object code and/or source code, so that the
289
+ user can modify the Library and then relink to produce a modified
290
+ executable containing the modified Library. (It is understood
291
+ that the user who changes the contents of definitions files in the
292
+ Library will not necessarily be able to recompile the application
293
+ to use the modified definitions.)
294
+ * **b)** Use a suitable shared library mechanism for linking with the
295
+ Library. A suitable mechanism is one that (1) uses at run time a
296
+ copy of the library already present on the user's computer system,
297
+ rather than copying library functions into the executable, and (2)
298
+ will operate properly with a modified version of the library, if
299
+ the user installs one, as long as the modified version is
300
+ interface-compatible with the version that the work was made with.
301
+ * **c)** Accompany the work with a written offer, valid for at
302
+ least three years, to give the same user the materials
303
+ specified in Subsection 6a, above, for a charge no more
304
+ than the cost of performing this distribution.
305
+ * **d)** If distribution of the work is made by offering access to copy
306
+ from a designated place, offer equivalent access to copy the above
307
+ specified materials from the same place.
308
+ * **e)** Verify that the user has already received a copy of these
309
+ materials or that you have already sent this user a copy.
310
+
311
+ For an executable, the required form of the “work that uses the
312
+ Library” must include any data and utility programs needed for
313
+ reproducing the executable from it. However, as a special exception,
314
+ the materials to be distributed need not include anything that is
315
+ normally distributed (in either source or binary form) with the major
316
+ components (compiler, kernel, and so on) of the operating system on
317
+ which the executable runs, unless that component itself accompanies
318
+ the executable.
319
+
320
+ It may happen that this requirement contradicts the license
321
+ restrictions of other proprietary libraries that do not normally
322
+ accompany the operating system. Such a contradiction means you cannot
323
+ use both them and the Library together in an executable that you
324
+ distribute.
325
+
326
+ **7.** You may place library facilities that are a work based on the
327
+ Library side-by-side in a single library together with other library
328
+ facilities not covered by this License, and distribute such a combined
329
+ library, provided that the separate distribution of the work based on
330
+ the Library and of the other library facilities is otherwise
331
+ permitted, and provided that you do these two things:
332
+
333
+ * **a)** Accompany the combined library with a copy of the same work
334
+ based on the Library, uncombined with any other library
335
+ facilities. This must be distributed under the terms of the
336
+ Sections above.
337
+ * **b)** Give prominent notice with the combined library of the fact
338
+ that part of it is a work based on the Library, and explaining
339
+ where to find the accompanying uncombined form of the same work.
340
+
341
+ **8.** You may not copy, modify, sublicense, link with, or distribute
342
+ the Library except as expressly provided under this License. Any
343
+ attempt otherwise to copy, modify, sublicense, link with, or
344
+ distribute the Library is void, and will automatically terminate your
345
+ rights under this License. However, parties who have received copies,
346
+ or rights, from you under this License will not have their licenses
347
+ terminated so long as such parties remain in full compliance.
348
+
349
+ **9.** You are not required to accept this License, since you have not
350
+ signed it. However, nothing else grants you permission to modify or
351
+ distribute the Library or its derivative works. These actions are
352
+ prohibited by law if you do not accept this License. Therefore, by
353
+ modifying or distributing the Library (or any work based on the
354
+ Library), you indicate your acceptance of this License to do so, and
355
+ all its terms and conditions for copying, distributing or modifying
356
+ the Library or works based on it.
357
+
358
+ **10.** Each time you redistribute the Library (or any work based on the
359
+ Library), the recipient automatically receives a license from the
360
+ original licensor to copy, distribute, link with or modify the Library
361
+ subject to these terms and conditions. You may not impose any further
362
+ restrictions on the recipients' exercise of the rights granted herein.
363
+ You are not responsible for enforcing compliance by third parties with
364
+ this License.
365
+
366
+ **11.** If, as a consequence of a court judgment or allegation of patent
367
+ infringement or for any other reason (not limited to patent issues),
368
+ conditions are imposed on you (whether by court order, agreement or
369
+ otherwise) that contradict the conditions of this License, they do not
370
+ excuse you from the conditions of this License. If you cannot
371
+ distribute so as to satisfy simultaneously your obligations under this
372
+ License and any other pertinent obligations, then as a consequence you
373
+ may not distribute the Library at all. For example, if a patent
374
+ license would not permit royalty-free redistribution of the Library by
375
+ all those who receive copies directly or indirectly through you, then
376
+ the only way you could satisfy both it and this License would be to
377
+ refrain entirely from distribution of the Library.
378
+
379
+ If any portion of this section is held invalid or unenforceable under any
380
+ particular circumstance, the balance of the section is intended to apply,
381
+ and the section as a whole is intended to apply in other circumstances.
382
+
383
+ It is not the purpose of this section to induce you to infringe any
384
+ patents or other property right claims or to contest validity of any
385
+ such claims; this section has the sole purpose of protecting the
386
+ integrity of the free software distribution system which is
387
+ implemented by public license practices. Many people have made
388
+ generous contributions to the wide range of software distributed
389
+ through that system in reliance on consistent application of that
390
+ system; it is up to the author/donor to decide if he or she is willing
391
+ to distribute software through any other system and a licensee cannot
392
+ impose that choice.
393
+
394
+ This section is intended to make thoroughly clear what is believed to
395
+ be a consequence of the rest of this License.
396
+
397
+ **12.** If the distribution and/or use of the Library is restricted in
398
+ certain countries either by patents or by copyrighted interfaces, the
399
+ original copyright holder who places the Library under this License may add
400
+ an explicit geographical distribution limitation excluding those countries,
401
+ so that distribution is permitted only in or among countries not thus
402
+ excluded. In such case, this License incorporates the limitation as if
403
+ written in the body of this License.
404
+
405
+ **13.** The Free Software Foundation may publish revised and/or new
406
+ versions of the Lesser General Public License from time to time.
407
+ Such new versions will be similar in spirit to the present version,
408
+ but may differ in detail to address new problems or concerns.
409
+
410
+ Each version is given a distinguishing version number. If the Library
411
+ specifies a version number of this License which applies to it and
412
+ “any later version”, you have the option of following the terms and
413
+ conditions either of that version or of any later version published by
414
+ the Free Software Foundation. If the Library does not specify a
415
+ license version number, you may choose any version ever published by
416
+ the Free Software Foundation.
417
+
418
+ **14.** If you wish to incorporate parts of the Library into other free
419
+ programs whose distribution conditions are incompatible with these,
420
+ write to the author to ask for permission. For software which is
421
+ copyrighted by the Free Software Foundation, write to the Free
422
+ Software Foundation; we sometimes make exceptions for this. Our
423
+ decision will be guided by the two goals of preserving the free status
424
+ of all derivatives of our free software and of promoting the sharing
425
+ and reuse of software generally.
426
+
427
+ ### NO WARRANTY
428
+
429
+ **15.** BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
430
+ WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
431
+ EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
432
+ OTHER PARTIES PROVIDE THE LIBRARY “AS IS” WITHOUT WARRANTY OF ANY
433
+ KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
434
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
435
+ PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
436
+ LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
437
+ THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
438
+
439
+ **16.** IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
440
+ WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
441
+ AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
442
+ FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
443
+ CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
444
+ LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
445
+ RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
446
+ FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
447
+ SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
448
+ DAMAGES.
449
+
450
+ _END OF TERMS AND CONDITIONS_
@@ -1,22 +1,14 @@
1
1
  Copyright (c) 2014 Anton Smirnov
2
2
 
3
- MIT License
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3
+ This library is free software; you can redistribute it and/or
4
+ modify it under the terms of the GNU Lesser General Public
5
+ License as published by the Free Software Foundation; either
6
+ version 2.1 of the License, or (at your option) any later version.
7
+
8
+ This library is distributed in the hope that it will be useful,
9
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ Lesser General Public License for more details.
12
+
13
+ You can find a copy of the GNU Lesser General Public License
14
+ in COPYING.md.
data/README.md CHANGED
@@ -50,4 +50,5 @@ does not have this shortcoming.
50
50
 
51
51
  ### License
52
52
 
53
- Licensed under the MIT License. See ```LICENSE.txt``` for more info
53
+ The gem is available as open source under the terms of the GNU Lesser General Public License, version 2.1
54
+ or later.
@@ -1,3 +1,22 @@
1
+ ##
2
+ # journald-native ruby gem - a simple systemd-journal wrapper
3
+ # Copyright (C) 2014 Anton Smirnov
4
+ #
5
+ # This library is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU Lesser General Public
7
+ # License as published by the Free Software Foundation; either
8
+ # version 2.1 of the License, or (at your option) any later version.
9
+ #
10
+ # This library is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Lesser General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Lesser General Public
16
+ # License along with this library; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
+ #
19
+
1
20
  require 'mkmf'
2
21
 
3
22
  LIBDIR = RbConfig::CONFIG['libdir']
@@ -8,17 +27,13 @@ LIB_DIRS = [LIBDIR]
8
27
 
9
28
  dir_config('systemd', HEADER_DIRS, LIB_DIRS)
10
29
 
11
- $CFLAGS = '-std=c99'
30
+ $CFLAGS = '-std=c11'
12
31
 
13
32
  def have_funcs
14
- have_funcs = true
15
-
16
33
  # check functions. redefine const list in sd_journal.h if changed
17
- %w(sd_journal_print sd_journal_sendv sd_journal_perror).each do |func|
18
- have_funcs &&= have_func(func)
34
+ %w(sd_journal_print sd_journal_sendv sd_journal_perror).inject(true) do |have_funcs, func|
35
+ have_funcs && have_func(func)
19
36
  end
20
-
21
- have_funcs
22
37
  end
23
38
 
24
39
  # check headers
@@ -1,5 +1,21 @@
1
- /* Do not add C line and file to the log messages */
2
- #define SD_JOURNAL_SUPPRESS_LOCATION
1
+ /**
2
+ * journald-native ruby gem - a simple systemd-journal wrapper
3
+ * Copyright (C) 2014 Anton Smirnov
4
+ *
5
+ * This library is free software; you can redistribute it and/or
6
+ * modify it under the terms of the GNU Lesser General Public
7
+ * License as published by the Free Software Foundation; either
8
+ * version 2.1 of the License, or (at your option) any later version.
9
+ *
10
+ * This library is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ * Lesser General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public
16
+ * License along with this library; if not, write to the Free Software
17
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
+ */
3
19
 
4
20
  #include <ruby.h>
5
21
  #include "sd_journal.h"
@@ -61,52 +77,40 @@ static void jdl_init_methods()
61
77
 
62
78
  static VALUE jdl_native_print(VALUE v_self, VALUE v_priority, VALUE v_message)
63
79
  {
64
- int priority, result;
65
- char *message;
66
-
67
- priority = NUM2INT(v_priority);
68
- message = StringValueCStr(v_message);
69
-
70
- result = sd_journal_print(priority, "%s", message);
80
+ int priority = NUM2INT(v_priority);
81
+ char* message = StringValueCStr(v_message);
82
+ int result = sd_journal_print(priority, "%s", message);
71
83
 
72
84
  return INT2NUM(result);
73
85
  }
74
86
 
75
87
  static VALUE jdl_native_send(int argc, VALUE* argv, VALUE self)
76
88
  {
77
- struct iovec *msgs;
78
- int i;
79
- int result;
80
-
81
89
  /* first check everything is a string / convertable to string */
82
- for (i = 0; i < argc; i++) {
90
+ for (int i = 0; i < argc; i++) {
83
91
  StringValue(argv[i]); /* you may get a ruby exception here */
84
92
  }
85
93
 
86
94
  /* allocate memory after all checks to avoid possible memory leak */
87
- msgs = calloc(argc, sizeof(struct iovec));
95
+ struct iovec* msgs = xcalloc(argc, sizeof(struct iovec));
88
96
 
89
- for (i = 0; i < argc; i++) {
97
+ for (int i = 0; i < argc; i++) {
90
98
  VALUE v = argv[i];
91
99
  msgs[i].iov_base = RSTRING_PTR(v);
92
100
  msgs[i].iov_len = RSTRING_LEN(v);
93
101
  }
94
102
 
95
- result = sd_journal_sendv(msgs, argc);
103
+ int result = sd_journal_sendv(msgs, argc);
96
104
 
97
- free(msgs);
105
+ xfree(msgs);
98
106
 
99
107
  return INT2NUM(result);
100
108
  }
101
109
 
102
110
  static VALUE jdl_native_perror(VALUE v_self, VALUE v_message)
103
111
  {
104
- int result;
105
- char *message;
106
-
107
- message = StringValueCStr(v_message);
108
-
109
- result = sd_journal_perror(message);
112
+ char* message = StringValueCStr(v_message);
113
+ int result = sd_journal_perror(message);
110
114
 
111
115
  return INT2NUM(result);
112
116
  }
@@ -1,8 +1,23 @@
1
- #include <stdbool.h>
1
+ /**
2
+ * journald-native ruby gem - a simple systemd-journal wrapper
3
+ * Copyright (C) 2014 Anton Smirnov
4
+ *
5
+ * This library is free software; you can redistribute it and/or
6
+ * modify it under the terms of the GNU Lesser General Public
7
+ * License as published by the Free Software Foundation; either
8
+ * version 2.1 of the License, or (at your option) any later version.
9
+ *
10
+ * This library is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ * Lesser General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public
16
+ * License along with this library; if not, write to the Free Software
17
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
+ */
2
19
 
3
- #ifdef __cplusplus
4
- extern "C" {
5
- #endif
20
+ #include <stdbool.h>
6
21
 
7
22
  #ifndef JOURNALD_NATIVE_SD_JOURNAL_H
8
23
  #define JOURNALD_NATIVE_SD_JOURNAL_H
@@ -48,8 +63,4 @@ extern "C" {
48
63
 
49
64
  #endif
50
65
 
51
- #ifdef __cplusplus
52
- }
53
- #endif
54
-
55
66
  #endif // JOURNALD_NATIVE_SD_JOURNAL_H
@@ -1,3 +1,22 @@
1
+ /**
2
+ * journald-native ruby gem - a simple systemd-journal wrapper
3
+ * Copyright (C) 2014 Anton Smirnov
4
+ *
5
+ * This library is free software; you can redistribute it and/or
6
+ * modify it under the terms of the GNU Lesser General Public
7
+ * License as published by the Free Software Foundation; either
8
+ * version 2.1 of the License, or (at your option) any later version.
9
+ *
10
+ * This library is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ * Lesser General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public
16
+ * License along with this library; if not, write to the Free Software
17
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
+ */
19
+
1
20
  /* dummy code to be used in sd_journal.h on non-linux system */
2
21
 
3
22
  #include <stdlib.h>
@@ -7,11 +7,11 @@ Gem::Specification.new do |spec|
7
7
  spec.name = 'journald-native'
8
8
  spec.version = Journald::Native::VERSION
9
9
  spec.authors = ['Anton Smirnov']
10
- spec.email = ['sandfox@sandfox.im']
10
+ spec.email = ['sandfox@sandfox.me']
11
11
  spec.summary = %q{systemd-journal logging native lib wrapper}
12
12
  # spec.description = %q{Write a longer description. Optional.}
13
- spec.homepage = 'https://github.com/sandfox-im/journald-native'
14
- spec.license = 'MIT'
13
+ spec.homepage = 'https://github.com/sandfoxme/journald-native'
14
+ spec.license = 'LGPL-2.1+'
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0")
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
@@ -24,4 +24,5 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency 'bundler', '~> 1.6'
25
25
  spec.add_development_dependency 'rake'
26
26
  spec.add_development_dependency 'rake-compiler'
27
+ spec.add_development_dependency 'rspec', '~> 3.4'
27
28
  end
@@ -1,3 +1,22 @@
1
+ ##
2
+ # journald-native ruby gem - a simple systemd-journal wrapper
3
+ # Copyright (C) 2014 Anton Smirnov
4
+ #
5
+ # This library is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU Lesser General Public
7
+ # License as published by the Free Software Foundation; either
8
+ # version 2.1 of the License, or (at your option) any later version.
9
+ #
10
+ # This library is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Lesser General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Lesser General Public
16
+ # License along with this library; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
+ #
19
+
1
20
  require 'journald/native/version'
2
21
  require_relative '../journald_native'
3
22
 
@@ -1,5 +1,5 @@
1
1
  module Journald
2
2
  module Native
3
- VERSION = '1.0.7'
3
+ VERSION = '1.0.9'
4
4
  end
5
5
  end
@@ -0,0 +1,43 @@
1
+ require_relative 'spec_helper'
2
+
3
+ # I don't know how to mock inside the C extension so just call real journal methods
4
+
5
+ RSpec.describe Journald::Native do
6
+ describe 'sends log entries' do
7
+ it 'calls send()' do
8
+ expect(
9
+ Journald::Native.send(
10
+ "PRIORITY=#{Journald::LOG_DEBUG}",
11
+ 'MESSAGE=test send()',
12
+ 'SOMEFIELD=some value'
13
+ )
14
+ ).to eq(0)
15
+ end
16
+
17
+ it 'calls print()' do
18
+ expect(Journald::Native.print Journald::LOG_DEBUG, 'test print()').to eq(0)
19
+ end
20
+
21
+ it 'calls perror()' do
22
+ expect(Journald::Native.perror 'test perror()').to eq(0)
23
+ end
24
+
25
+ it 'calls send() with \0 symbol' do
26
+ expect(
27
+ Journald::Native.send(
28
+ "PRIORITY=#{Journald::LOG_DEBUG}",
29
+ "MESSAGE=test\0send() with zero",
30
+ "SOMEFIELD=some value\0with zero"
31
+ )
32
+ ).to eq(0)
33
+ end
34
+
35
+ it 'fails on print() with \0 symbol' do
36
+ expect{ Journald::Native.print Journald::LOG_DEBUG, "test print()\0with zero" }.to raise_error(ArgumentError, 'string contains null byte')
37
+ end
38
+
39
+ it 'fails on perror() with \0 symbol' do
40
+ expect{ Journald::Native.perror "test perror()\0with zero" }.to raise_error(ArgumentError, 'string contains null byte')
41
+ end
42
+ end
43
+ end
@@ -0,0 +1 @@
1
+ require_relative '../lib/journald/native'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: journald-native
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anton Smirnov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-28 00:00:00.000000000 Z
11
+ date: 2016-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,15 +52,31 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.4'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.4'
55
69
  description:
56
70
  email:
57
- - sandfox@sandfox.im
71
+ - sandfox@sandfox.me
58
72
  executables: []
59
73
  extensions:
60
74
  - ext/journald_native/extconf.rb
61
75
  extra_rdoc_files: []
62
76
  files:
63
77
  - ".gitignore"
78
+ - ".travis.yml"
79
+ - COPYING.md
64
80
  - Gemfile
65
81
  - LICENSE.txt
66
82
  - README.md
@@ -72,9 +88,11 @@ files:
72
88
  - journald-native.gemspec
73
89
  - lib/journald/native.rb
74
90
  - lib/journald/native/version.rb
75
- homepage: https://github.com/sandfox-im/journald-native
91
+ - spec/journald_native_spec.rb
92
+ - spec/spec_helper.rb
93
+ homepage: https://github.com/sandfoxme/journald-native
76
94
  licenses:
77
- - MIT
95
+ - LGPL-2.1+
78
96
  metadata: {}
79
97
  post_install_message:
80
98
  rdoc_options: []
@@ -92,8 +110,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
110
  version: '0'
93
111
  requirements: []
94
112
  rubyforge_project:
95
- rubygems_version: 2.4.5
113
+ rubygems_version: 2.4.6
96
114
  signing_key:
97
115
  specification_version: 4
98
116
  summary: systemd-journal logging native lib wrapper
99
- test_files: []
117
+ test_files:
118
+ - spec/journald_native_spec.rb
119
+ - spec/spec_helper.rb