summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2017-06-17 10:21:36 -0700
committerMartin Jansa <Martin.Jansa@gmail.com>2017-06-19 19:30:44 +0200
commitfb94ad8429eff0d536c23018da13241847bd45de (patch)
tree6c5f458db7d0905aa25dc6012f41a112eea03d2b
parent69c2c10a9d47ee6aa6e58a2c1752e8afc27e5a99 (diff)
downloadmeta-openembedded-fb94ad8429eff0d536c23018da13241847bd45de.tar.gz
ssiapi: Fix build with gcc7 and musl
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--meta-oe/recipes-support/ssiapi/ssiapi/0001-Use-pragma-once-unconditionally.patch872
-rw-r--r--meta-oe/recipes-support/ssiapi/ssiapi/0002-Convert-macros-into-functions.patch123
-rw-r--r--meta-oe/recipes-support/ssiapi/ssiapi/0003-Replace-canonicalize_file_name-with-realpath-API.patch33
-rw-r--r--meta-oe/recipes-support/ssiapi/ssiapi/0004-engine-Fix-indentation-and-missing-semi-colon.patch54
-rw-r--r--meta-oe/recipes-support/ssiapi/ssiapi/0005-engine-Define-SENTINEL.patch40
-rw-r--r--meta-oe/recipes-support/ssiapi/ssiapi/0006-tools-Add-missing-includes-and-use-realpath-instead-.patch40
-rw-r--r--meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb9
7 files changed, 1170 insertions, 1 deletions
diff --git a/meta-oe/recipes-support/ssiapi/ssiapi/0001-Use-pragma-once-unconditionally.patch b/meta-oe/recipes-support/ssiapi/ssiapi/0001-Use-pragma-once-unconditionally.patch
new file mode 100644
index 000000000..ef6ae00e3
--- /dev/null
+++ b/meta-oe/recipes-support/ssiapi/ssiapi/0001-Use-pragma-once-unconditionally.patch
@@ -0,0 +1,872 @@
1From 3100e23c50e38bff0c2ec77bc30049c113c29414 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 16 Jun 2017 20:44:31 -0700
4Subject: [PATCH 1/6] Use pragma once unconditionally
5
6in OE we do not worry about supporting
7gcc 3.4 anyway
8
9Upstream-Status: Inappropriate[Bumps required gcc to be > 3.4]
10
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 lib/efi/efi.h | 2 --
14 lib/engine/ahci.h | 2 --
15 lib/engine/ahci_cdrom.h | 2 --
16 lib/engine/ahci_disk.h | 2 --
17 lib/engine/ahci_multiplier.h | 2 --
18 lib/engine/ahci_multiplier_phy.h | 2 --
19 lib/engine/ahci_multiplier_port.h | 2 --
20 lib/engine/ahci_phy.h | 2 --
21 lib/engine/ahci_port.h | 2 --
22 lib/engine/ahci_raid_info.h | 2 --
23 lib/engine/ahci_tape.h | 2 --
24 lib/engine/array.h | 2 --
25 lib/engine/block_device.h | 2 --
26 lib/engine/cache.h | 2 --
27 lib/engine/container.h | 2 --
28 lib/engine/context_manager.h | 2 --
29 lib/engine/controller.h | 2 --
30 lib/engine/enclosure.h | 2 --
31 lib/engine/end_device.h | 2 --
32 lib/engine/event.h | 2 --
33 lib/engine/event_manager.h | 2 --
34 lib/engine/exception.h | 2 --
35 lib/engine/filesystem.h | 2 --
36 lib/engine/isci.h | 2 --
37 lib/engine/isci_cdrom.h | 2 --
38 lib/engine/isci_disk.h | 2 --
39 lib/engine/isci_expander.h | 2 --
40 lib/engine/isci_expander_phy.h | 2 --
41 lib/engine/isci_expander_port.h | 2 --
42 lib/engine/isci_phy.h | 2 --
43 lib/engine/isci_port.h | 2 --
44 lib/engine/isci_raid_info.h | 2 --
45 lib/engine/isci_tape.h | 2 --
46 lib/engine/list.h | 2 --
47 lib/engine/mdadm_config.h | 2 --
48 lib/engine/multimedia_device.h | 2 --
49 lib/engine/nondisk_device.h | 2 --
50 lib/engine/object.h | 2 --
51 lib/engine/pci_header.h | 2 --
52 lib/engine/phy.h | 2 --
53 lib/engine/port.h | 2 --
54 lib/engine/raid_device.h | 2 --
55 lib/engine/raid_info.h | 2 --
56 lib/engine/remote_port.h | 2 --
57 lib/engine/routing_device.h | 2 --
58 lib/engine/session.h | 2 --
59 lib/engine/session_manager.h | 2 --
60 lib/engine/storage_device.h | 2 --
61 lib/engine/stream_device.h | 2 --
62 lib/engine/string.h | 2 --
63 lib/engine/unique_id_manager.h | 2 --
64 lib/engine/utils.h | 2 --
65 lib/engine/volume.h | 2 --
66 lib/log/log.h | 2 --
67 lib/mpb/machine_bytes.h | 2 --
68 lib/mpb/mpb.h | 2 --
69 lib/orom/orom.h | 2 --
70 57 files changed, 114 deletions(-)
71
72diff --git a/lib/efi/efi.h b/lib/efi/efi.h
73index 9e7e41b..804e567 100644
74--- a/lib/efi/efi.h
75+++ b/lib/efi/efi.h
76@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
77
78
79
80-#if __GNUC_PREREQ(3, 4)
81 #pragma once
82-#endif /* __GNUC_PREREQ */
83
84 #ifndef __EFI_H__INCLUDED__
85 #define __EFI_H__INCLUDED__
86diff --git a/lib/engine/ahci.h b/lib/engine/ahci.h
87index e883d1a..80a9699 100644
88--- a/lib/engine/ahci.h
89+++ b/lib/engine/ahci.h
90@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
91
92
93
94-#if __GNUC_PREREQ(3, 4)
95 #pragma once
96-#endif /* __GNUC_PREREQ */
97
98 #ifndef __AHCI_H__INCLUDED__
99 #define __AHCI_H__INCLUDED__
100diff --git a/lib/engine/ahci_cdrom.h b/lib/engine/ahci_cdrom.h
101index 442f301..d8ca042 100644
102--- a/lib/engine/ahci_cdrom.h
103+++ b/lib/engine/ahci_cdrom.h
104@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
105
106
107
108-#if __GNUC_PREREQ(3, 4)
109 #pragma once
110-#endif /* __GNUC_PREREQ */
111
112 #ifndef __AHCI_CDROM_H__INCLUDED__
113 #define __AHCI_CDROM_H__INCLUDED__
114diff --git a/lib/engine/ahci_disk.h b/lib/engine/ahci_disk.h
115index 7892a53..1bad9ad 100644
116--- a/lib/engine/ahci_disk.h
117+++ b/lib/engine/ahci_disk.h
118@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
119
120
121
122-#if __GNUC_PREREQ(3, 4)
123 #pragma once
124-#endif /* __GNUC_PREREQ */
125
126 #ifndef __AHCI_DISK_H__INCLUDED__
127 #define __AHCI_DISK_H__INCLUDED__
128diff --git a/lib/engine/ahci_multiplier.h b/lib/engine/ahci_multiplier.h
129index d63e9bc..1029af2 100644
130--- a/lib/engine/ahci_multiplier.h
131+++ b/lib/engine/ahci_multiplier.h
132@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
133
134
135
136-#if __GNUC_PREREQ(3, 4)
137 #pragma once
138-#endif /* __GNUC_PREREQ */
139
140 #ifndef __AHCI_MULTIPLIER_H__INCLUDED__
141 #define __AHCI_MULTIPLIER_H__INCLUDED__
142diff --git a/lib/engine/ahci_multiplier_phy.h b/lib/engine/ahci_multiplier_phy.h
143index 58ecebc..2132c23 100644
144--- a/lib/engine/ahci_multiplier_phy.h
145+++ b/lib/engine/ahci_multiplier_phy.h
146@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
147
148
149
150-#if __GNUC_PREREQ(3, 4)
151 #pragma once
152-#endif /* __GNUC_PREREQ */
153
154 #ifndef __AHCI_MULTIPLIER_PHY_H__INCLUDED__
155 #define __AHCI_MULTIPLIER_PHY_H__INCLUDED__
156diff --git a/lib/engine/ahci_multiplier_port.h b/lib/engine/ahci_multiplier_port.h
157index 5ff4cf7..2402473 100644
158--- a/lib/engine/ahci_multiplier_port.h
159+++ b/lib/engine/ahci_multiplier_port.h
160@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
161
162
163
164-#if __GNUC_PREREQ(3, 4)
165 #pragma once
166-#endif /* __GNUC_PREREQ */
167
168 #ifndef __AHCI_MULTIPLIER_PORT_H__INCLUDED__
169 #define __AHCI_MULTIPLIER_PORT_H__INCLUDED__
170diff --git a/lib/engine/ahci_phy.h b/lib/engine/ahci_phy.h
171index e2254e7..a44dae0 100644
172--- a/lib/engine/ahci_phy.h
173+++ b/lib/engine/ahci_phy.h
174@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
175
176
177
178-#if __GNUC_PREREQ(3, 4)
179 #pragma once
180-#endif /* __GNUC_PREREQ */
181
182 #ifndef __AHCI_PHY_H__INCLUDED__
183 #define __AHCI_PHY_H__INCLUDED__
184diff --git a/lib/engine/ahci_port.h b/lib/engine/ahci_port.h
185index f9e3308..03c109b 100644
186--- a/lib/engine/ahci_port.h
187+++ b/lib/engine/ahci_port.h
188@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
189
190
191
192-#if __GNUC_PREREQ(3, 4)
193 #pragma once
194-#endif /* __GNUC_PREREQ */
195
196 #ifndef __AHCI_PORT_H__INCLUDED__
197 #define __AHCI_PORT_H__INCLUDED__
198diff --git a/lib/engine/ahci_raid_info.h b/lib/engine/ahci_raid_info.h
199index e1c81ae..c70e63e 100644
200--- a/lib/engine/ahci_raid_info.h
201+++ b/lib/engine/ahci_raid_info.h
202@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
203
204
205
206-#if __GNUC_PREREQ(3, 4)
207 #pragma once
208-#endif /* __GNUC_PREREQ */
209
210 #ifndef __AHCI_RAID_INFO_H__INCLUDED__
211 #define __AHCI_RAID_INFO_H__INCLUDED__
212diff --git a/lib/engine/ahci_tape.h b/lib/engine/ahci_tape.h
213index cdd9f13..a91fd2c 100644
214--- a/lib/engine/ahci_tape.h
215+++ b/lib/engine/ahci_tape.h
216@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
217
218
219
220-#if __GNUC_PREREQ(3, 4)
221 #pragma once
222-#endif /* __GNUC_PREREQ */
223
224 #ifndef __AHCI_TAPE_H__INCLUDED__
225 #define __AHCI_TAPE_H__INCLUDED__
226diff --git a/lib/engine/array.h b/lib/engine/array.h
227index 36fb4a4..0986ce3 100644
228--- a/lib/engine/array.h
229+++ b/lib/engine/array.h
230@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
231
232
233
234-#if __GNUC_PREREQ(3, 4)
235 #pragma once
236-#endif /* __GNUC_PREREQ */
237
238 #ifndef __ARRAY_H__INCLUDED__
239 #define __ARRAY_H__INCLUDED__
240diff --git a/lib/engine/block_device.h b/lib/engine/block_device.h
241index 4503914..45dd3db 100644
242--- a/lib/engine/block_device.h
243+++ b/lib/engine/block_device.h
244@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
245
246
247
248-#if __GNUC_PREREQ(3, 4)
249 #pragma once
250-#endif /* __GNUC_PREREQ */
251
252 #ifndef __BLOCK_DEVICE_H__INCLUDED__
253 #define __BLOCK_DEVICE_H__INCLUDED__
254diff --git a/lib/engine/cache.h b/lib/engine/cache.h
255index 72cf521..72da20b 100644
256--- a/lib/engine/cache.h
257+++ b/lib/engine/cache.h
258@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
259
260
261
262-#if __GNUC_PREREQ(3,4)
263 #pragma once
264-#endif /* __GNUC_PREREQ */
265
266 #ifndef __CACHE_H__INCLUDED__
267 #define __CACHE_H__INCLUDED__
268diff --git a/lib/engine/container.h b/lib/engine/container.h
269index 53867b0..c71180c 100644
270--- a/lib/engine/container.h
271+++ b/lib/engine/container.h
272@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
273
274
275
276-#if __GNUC_PREREQ(3,4)
277 #pragma once
278-#endif /* __GNUC_PREREQ */
279
280 #ifndef __CONTAINER_H__INCLUDED__
281 #define __CONTAINER_H__INCLUDED__
282diff --git a/lib/engine/context_manager.h b/lib/engine/context_manager.h
283index fe9c256..6b4a2e7 100644
284--- a/lib/engine/context_manager.h
285+++ b/lib/engine/context_manager.h
286@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
287
288
289
290-#if __GNUC_PREREQ(3,4)
291 #pragma once
292-#endif /* __GNUC_PREREQ */
293
294 #ifndef __CONTEXT_H__INCLUDED__
295 #define __CONTEXT_H__INCLUDED__
296diff --git a/lib/engine/controller.h b/lib/engine/controller.h
297index a2f188a..6bd078f 100644
298--- a/lib/engine/controller.h
299+++ b/lib/engine/controller.h
300@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
301
302
303
304-#if __GNUC_PREREQ(3, 4)
305 #pragma once
306-#endif /* __GNUC_PREREQ */
307
308 #ifndef __CONTROLLER_H__INCLUDED__
309 #define __CONTROLLER_H__INCLUDED__
310diff --git a/lib/engine/enclosure.h b/lib/engine/enclosure.h
311index 3faef0c..f4b13cc 100644
312--- a/lib/engine/enclosure.h
313+++ b/lib/engine/enclosure.h
314@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
315
316
317
318-#if __GNUC_PREREQ(3, 4)
319 #pragma once
320-#endif /* __GNUC_PREREQ */
321
322 #ifndef __ENCLOSURE_H__INCLUDED__
323 #define __ENCLOSURE_H__INCLUDED__
324diff --git a/lib/engine/end_device.h b/lib/engine/end_device.h
325index f147e41..269b236 100644
326--- a/lib/engine/end_device.h
327+++ b/lib/engine/end_device.h
328@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
329
330
331
332-#if __GNUC_PREREQ(3, 4)
333 #pragma once
334-#endif /* __GNUC_PREREQ */
335
336 #ifndef __END_DEVICE_H__INCLUDED__
337 #define __END_DEVICE_H__INCLUDED__
338diff --git a/lib/engine/event.h b/lib/engine/event.h
339index cf9bb4f..11a4926 100644
340--- a/lib/engine/event.h
341+++ b/lib/engine/event.h
342@@ -12,9 +12,7 @@ Redistribution and use in source and binary forms, with or without modification,
343 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
344 */
345
346-#if __GNUC_PREREQ(3, 4)
347 #pragma once
348-#endif /* __GNUC_PREREQ */
349
350 #ifndef __EVENT_H__INCLUDED__
351 #define __EVENT_H__INCLUDED__
352diff --git a/lib/engine/event_manager.h b/lib/engine/event_manager.h
353index 65007b9..a7a8fc3 100644
354--- a/lib/engine/event_manager.h
355+++ b/lib/engine/event_manager.h
356@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
357
358
359
360-#if __GNUC_PREREQ(3, 4)
361 #pragma once
362-#endif /* __GNUC_PREREQ */
363
364 #ifndef __EVENT_MANAGER_H__INCLUDED__
365 #define __EVENT_MANAGER_H__INCLUDED__
366diff --git a/lib/engine/exception.h b/lib/engine/exception.h
367index 171e45d..183ebb5 100644
368--- a/lib/engine/exception.h
369+++ b/lib/engine/exception.h
370@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
371
372
373
374-#if __GNUC_PREREQ(3, 4)
375 #pragma once
376-#endif /* __GNUC_PREREQ */
377
378 #ifndef __EXCEPTION_H__INCLUDED__
379 #define __EXCEPTION_H__INCLUDED__
380diff --git a/lib/engine/filesystem.h b/lib/engine/filesystem.h
381index 9c2ce39..b49df07 100644
382--- a/lib/engine/filesystem.h
383+++ b/lib/engine/filesystem.h
384@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
385
386
387
388-#if __GNUC_PREREQ(3, 4)
389 #pragma once
390-#endif /* __GNUC_PREREQ */
391
392 #ifndef __FILESYSTEM_H__INCLUDED__
393 #define __FILESYSTEM_H__INCLUDED__
394diff --git a/lib/engine/isci.h b/lib/engine/isci.h
395index ea35cd4..0fa602a 100644
396--- a/lib/engine/isci.h
397+++ b/lib/engine/isci.h
398@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
399
400
401
402-#if __GNUC_PREREQ(3, 4)
403 #pragma once
404-#endif /* __GNUC_PREREQ */
405
406 #ifndef __ISCI_H__INCLUDED__
407 #define __ISCI_H__INCLUDED__
408diff --git a/lib/engine/isci_cdrom.h b/lib/engine/isci_cdrom.h
409index 87b7e7b..25637f9 100644
410--- a/lib/engine/isci_cdrom.h
411+++ b/lib/engine/isci_cdrom.h
412@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
413
414
415
416-#if __GNUC_PREREQ(3, 4)
417 #pragma once
418-#endif /* __GNUC_PREREQ */
419
420 #ifndef __ISCI_CDROM_H__INCLUDED__
421 #define __ISCI_CDROM_H__INCLUDED__
422diff --git a/lib/engine/isci_disk.h b/lib/engine/isci_disk.h
423index 596c3cf..8dd0dae 100644
424--- a/lib/engine/isci_disk.h
425+++ b/lib/engine/isci_disk.h
426@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
427
428
429
430-#if __GNUC_PREREQ(3, 4)
431 #pragma once
432-#endif /* __GNUC_PREREQ */
433
434 #ifndef __ISCI_DISK_H__INCLUDED__
435 #define __ISCI_DISK_H__INCLUDED__
436diff --git a/lib/engine/isci_expander.h b/lib/engine/isci_expander.h
437index ca7c2f1..7dc1920 100644
438--- a/lib/engine/isci_expander.h
439+++ b/lib/engine/isci_expander.h
440@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
441
442
443
444-#if __GNUC_PREREQ(3, 4)
445 #pragma once
446-#endif /* __GNUC_PREREQ */
447
448 #ifndef __ISCI_EXPANDER_H__INCLUDED__
449 #define __ISCI_EXPANDER_H__INCLUDED__
450diff --git a/lib/engine/isci_expander_phy.h b/lib/engine/isci_expander_phy.h
451index c9cd770..d3d2832 100644
452--- a/lib/engine/isci_expander_phy.h
453+++ b/lib/engine/isci_expander_phy.h
454@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
455
456
457
458-#if __GNUC_PREREQ(3, 4)
459 #pragma once
460-#endif /* __GNUC_PREREQ */
461
462 #ifndef __ISCI_EXPANDER_PHY_H__INCLUDED__
463 #define __ISCI_EXPANDER_PHY_H__INCLUDED__
464diff --git a/lib/engine/isci_expander_port.h b/lib/engine/isci_expander_port.h
465index e65a124..4fc9310 100644
466--- a/lib/engine/isci_expander_port.h
467+++ b/lib/engine/isci_expander_port.h
468@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
469
470
471
472-#if __GNUC_PREREQ(3, 4)
473 #pragma once
474-#endif /* __GNUC_PREREQ */
475
476 #ifndef __ISCI_EXPANDER_PORT_H__INCLUDED__
477 #define __ISCI_EXPANDER_PORT_H__INCLUDED__
478diff --git a/lib/engine/isci_phy.h b/lib/engine/isci_phy.h
479index 767a5b2..105c697 100644
480--- a/lib/engine/isci_phy.h
481+++ b/lib/engine/isci_phy.h
482@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
483
484
485
486-#if __GNUC_PREREQ(3, 4)
487 #pragma once
488-#endif /* __GNUC_PREREQ */
489
490 #ifndef __ISCI_PHY_H__INCLUDED__
491 #define __ISCI_PHY_H__INCLUDED__
492diff --git a/lib/engine/isci_port.h b/lib/engine/isci_port.h
493index b80be7f..5ccc151 100644
494--- a/lib/engine/isci_port.h
495+++ b/lib/engine/isci_port.h
496@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
497
498
499
500-#if __GNUC_PREREQ(3, 4)
501 #pragma once
502-#endif /* __GNUC_PREREQ */
503
504 #ifndef __ISCI_PORT_H__INCLUDED__
505 #define __ISCI_PORT_H__INCLUDED__
506diff --git a/lib/engine/isci_raid_info.h b/lib/engine/isci_raid_info.h
507index 1df6477..b0b046a 100644
508--- a/lib/engine/isci_raid_info.h
509+++ b/lib/engine/isci_raid_info.h
510@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
511
512
513
514-#if __GNUC_PREREQ(3, 4)
515 #pragma once
516-#endif /* __GNUC_PREREQ */
517
518 #ifndef __ISCI_RAID_INFO_H__INCLUDED__
519 #define __ISCI_RAID_INFO_H__INCLUDED__
520diff --git a/lib/engine/isci_tape.h b/lib/engine/isci_tape.h
521index 985f767..a2cef2d 100644
522--- a/lib/engine/isci_tape.h
523+++ b/lib/engine/isci_tape.h
524@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
525
526
527
528-#if __GNUC_PREREQ(3, 4)
529 #pragma once
530-#endif /* __GNUC_PREREQ */
531
532 #ifndef __ISCI_TAPE_H__INCLUDED__
533 #define __ISCI_TAPE_H__INCLUDED__
534diff --git a/lib/engine/list.h b/lib/engine/list.h
535index 9a7c3c3..6395830 100644
536--- a/lib/engine/list.h
537+++ b/lib/engine/list.h
538@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
539
540
541
542-#if __GNUC_PREREQ(3, 4)
543 #pragma once
544-#endif /* __GNUC_PREREQ */
545
546 #ifndef __LIST_H__INCLUDED__
547 #define __LIST_H__INCLUDED__
548diff --git a/lib/engine/mdadm_config.h b/lib/engine/mdadm_config.h
549index c94020f..e415b4f 100644
550--- a/lib/engine/mdadm_config.h
551+++ b/lib/engine/mdadm_config.h
552@@ -11,9 +11,7 @@ Redistribution and use in source and binary forms, with or without modification,
553 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
554 */
555
556-#if __GNUC_PREREQ(3, 4)
557 #pragma once
558-#endif /* __GNUC_PREREQ */
559
560 #ifndef __MDADM_CONFIG_H__INCLUDED__
561 #define __MDADM_CONFIG_H__INCLUDED__
562diff --git a/lib/engine/multimedia_device.h b/lib/engine/multimedia_device.h
563index 533370e..694e2a5 100644
564--- a/lib/engine/multimedia_device.h
565+++ b/lib/engine/multimedia_device.h
566@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
567
568
569
570-#if __GNUC_PREREQ(3, 4)
571 #pragma once
572-#endif /* __GNUC_PREREQ */
573
574 #ifndef __MULTIMEDIA_DEVICE_H__INCLUDED__
575 #define __MULTIMEDIA_DEVICE_H__INCLUDED__
576diff --git a/lib/engine/nondisk_device.h b/lib/engine/nondisk_device.h
577index 70ebb32..0f00e52 100644
578--- a/lib/engine/nondisk_device.h
579+++ b/lib/engine/nondisk_device.h
580@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
581
582
583
584-#if __GNUC_PREREQ(3, 4)
585 #pragma once
586-#endif /* __GNUC_PREREQ */
587
588 #ifndef __CHARACTER_DEVICE_H__INCLUDED__
589 #define __CHARACTER_DEVICE_H__INCLUDED__
590diff --git a/lib/engine/object.h b/lib/engine/object.h
591index b52d3d3..345d58c 100644
592--- a/lib/engine/object.h
593+++ b/lib/engine/object.h
594@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
595
596
597
598-#if __GNUC_PREREQ(3, 4)
599 #pragma once
600-#endif /* __GNUC_PREREQ */
601
602 #ifndef __OBJECT_H__INCLUDED__
603 #define __OBJECT_H__INCLUDED__
604diff --git a/lib/engine/pci_header.h b/lib/engine/pci_header.h
605index 376f296..c5129a0 100644
606--- a/lib/engine/pci_header.h
607+++ b/lib/engine/pci_header.h
608@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
609
610
611
612-#if __GNUC_PREREQ(3, 4)
613 #pragma once
614-#endif /* __GNUC_PREREQ */
615
616 #ifndef __PCI_HEADER_H__INCLUDED__
617 #define __PCI_HEADER_H__INCLUDED__
618diff --git a/lib/engine/phy.h b/lib/engine/phy.h
619index f5730a0..c59f7c8 100644
620--- a/lib/engine/phy.h
621+++ b/lib/engine/phy.h
622@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
623
624
625
626-#if __GNUC_PREREQ(3, 4)
627 #pragma once
628-#endif /* __GNUC_PREREQ */
629
630 #ifndef __PHY_H__INCLUDED__
631 #define __PHY_H__INCLUDED__
632diff --git a/lib/engine/port.h b/lib/engine/port.h
633index 2f33876..cc48c7c 100644
634--- a/lib/engine/port.h
635+++ b/lib/engine/port.h
636@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
637
638
639
640-#if __GNUC_PREREQ(3,4)
641 #pragma once
642-#endif /* __GNUC_PREREQ */
643
644 #ifndef __PORT_H__INCLUDED__
645 #define __PORT_H__INCLUDED__
646diff --git a/lib/engine/raid_device.h b/lib/engine/raid_device.h
647index 998e80c..2174162 100644
648--- a/lib/engine/raid_device.h
649+++ b/lib/engine/raid_device.h
650@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
651
652
653
654-#if __GNUC_PREREQ(3, 4)
655 #pragma once
656-#endif /* __GNUC_PREREQ */
657
658 #ifndef __RAID_DEVICE_H__INCLUDED__
659 #define __RAID_DEVICE_H__INCLUDED__
660diff --git a/lib/engine/raid_info.h b/lib/engine/raid_info.h
661index 174698a..302be9b 100644
662--- a/lib/engine/raid_info.h
663+++ b/lib/engine/raid_info.h
664@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
665
666
667
668-#if __GNUC_PREREQ(3, 4)
669 #pragma once
670-#endif /* __GNUC_PREREQ */
671
672 #ifndef __RAID_INFO_H__INCLUDED__
673 #define __RAID_INFO_H__INCLUDED__
674diff --git a/lib/engine/remote_port.h b/lib/engine/remote_port.h
675index c086656..4ddfee3 100644
676--- a/lib/engine/remote_port.h
677+++ b/lib/engine/remote_port.h
678@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
679
680
681
682-#if __GNUC_PREREQ(3, 4)
683 #pragma once
684-#endif /* __GNUC_PREREQ */
685
686 #ifndef __REMOTE_PORT_H__INCLUDED__
687 #define __REMOTE_PORT_H__INCLUDED__
688diff --git a/lib/engine/routing_device.h b/lib/engine/routing_device.h
689index 5f857a6..284621e 100644
690--- a/lib/engine/routing_device.h
691+++ b/lib/engine/routing_device.h
692@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
693
694
695
696-#if __GNUC_PREREQ(3, 4)
697 #pragma once
698-#endif /* __GNUC_PREREQ */
699
700 #ifndef __ROUTING_DEVICE_H__INCLUDED__
701 #define __ROUTING_DEVICE_H__INCLUDED__
702diff --git a/lib/engine/session.h b/lib/engine/session.h
703index a901d1c..3200da1 100644
704--- a/lib/engine/session.h
705+++ b/lib/engine/session.h
706@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
707
708
709
710-#if __GNUC_PREREQ(3, 4)
711 #pragma once
712-#endif /* __GNUC_PREREQ */
713
714 #ifndef __SESSION_H__INCLUDED__
715 #define __SESSION_H__INCLUDED__
716diff --git a/lib/engine/session_manager.h b/lib/engine/session_manager.h
717index 7177064..87e16c3 100644
718--- a/lib/engine/session_manager.h
719+++ b/lib/engine/session_manager.h
720@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
721
722
723
724-#if __GNUC_PREREQ(3, 4)
725 #pragma once
726-#endif /* __GNUC_PREREQ */
727
728 #ifndef __SESSION_MANAGER_H__INCLUDED__
729 #define __SESSION_MANAGER_H__INCLUDED__
730diff --git a/lib/engine/storage_device.h b/lib/engine/storage_device.h
731index ddeb66f..20bdab2 100644
732--- a/lib/engine/storage_device.h
733+++ b/lib/engine/storage_device.h
734@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
735
736
737
738-#if __GNUC_PREREQ(3, 4)
739 #pragma once
740-#endif /* __GNUC_PREREQ */
741
742 #ifndef __STORAGE_DEVICE_H__INCLUDED__
743 #define __STORAGE_DEVICE_H__INCLUDED__
744diff --git a/lib/engine/stream_device.h b/lib/engine/stream_device.h
745index 9bc111a..b29bd68 100644
746--- a/lib/engine/stream_device.h
747+++ b/lib/engine/stream_device.h
748@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
749
750
751
752-#if __GNUC_PREREQ(3, 4)
753 #pragma once
754-#endif /* __GNUC_PREREQ */
755
756 #ifndef __STREAM_DEVICE_H__INCLUDED__
757 #define __STREAM_DEVICE_H__INCLUDED__
758diff --git a/lib/engine/string.h b/lib/engine/string.h
759index 3007dc7..6f348c9 100644
760--- a/lib/engine/string.h
761+++ b/lib/engine/string.h
762@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
763
764
765
766-#if __GNUC_PREREQ(3, 4)
767 #pragma once
768-#endif /* __GNUC_PREREQ */
769
770 #ifndef __STRING_H__INCLUDED__
771 #define __STRING_H__INCLUDED__
772diff --git a/lib/engine/unique_id_manager.h b/lib/engine/unique_id_manager.h
773index fe79eac..4a13627 100644
774--- a/lib/engine/unique_id_manager.h
775+++ b/lib/engine/unique_id_manager.h
776@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
777
778
779
780-#if __GNUC_PREREQ(3, 4)
781 #pragma once
782-#endif /* __GNUC_PREREQ */
783
784 #ifndef __UNIQUE_ID_MANAGER_H__INCLUDED__
785 #define __UNIQUE_ID_MANAGER_H__INCLUDED__
786diff --git a/lib/engine/utils.h b/lib/engine/utils.h
787index 86c20cf..5525303 100644
788--- a/lib/engine/utils.h
789+++ b/lib/engine/utils.h
790@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
791
792
793
794-#if __GNUC_PREREQ(3, 4)
795 #pragma once
796-#endif /* __GNUC_PREREQ */
797
798 #ifndef __UTILS_H__INCLUDED__
799 #define __UTILS_H__INCLUDED__
800diff --git a/lib/engine/volume.h b/lib/engine/volume.h
801index 9a63cbf..3347b31 100644
802--- a/lib/engine/volume.h
803+++ b/lib/engine/volume.h
804@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
805
806
807
808-#if __GNUC_PREREQ(3, 4)
809 #pragma once
810-#endif /* __GNUC_PREREQ */
811
812 // Forward declarations
813 class Array;
814diff --git a/lib/log/log.h b/lib/log/log.h
815index c0bd63e..8b5f171 100644
816--- a/lib/log/log.h
817+++ b/lib/log/log.h
818@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
819
820
821
822-#if __GNUC_PREREQ(3, 4)
823 #pragma once
824-#endif /* __GNUC_PREREQ */
825
826 #ifndef __LOG_H__INCLUDED__
827 #define __LOG_H__INCLUDED__
828diff --git a/lib/mpb/machine_bytes.h b/lib/mpb/machine_bytes.h
829index 7fbb0e9..800b120 100644
830--- a/lib/mpb/machine_bytes.h
831+++ b/lib/mpb/machine_bytes.h
832@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
833
834
835
836-#if __GNUC_PREREQ(3, 4)
837 #pragma once
838-#endif /* __GNUC_PREREQ */
839
840 #ifndef __ENDIAN_H__INCLUDED__
841 #define __ENDIAN_H__INCLUDED__
842diff --git a/lib/mpb/mpb.h b/lib/mpb/mpb.h
843index 01782af..c42cdfb 100644
844--- a/lib/mpb/mpb.h
845+++ b/lib/mpb/mpb.h
846@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
847
848
849
850-#if __GNUC_PREREQ(3, 4)
851 #pragma once
852-#endif /* __GNUC_PREREQ */
853
854 #ifndef __MPB_H__INCLUDED__
855 #define __MPB_H__INCLUDED__
856diff --git a/lib/orom/orom.h b/lib/orom/orom.h
857index f76e3ee..e10311d 100644
858--- a/lib/orom/orom.h
859+++ b/lib/orom/orom.h
860@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
861
862
863
864-#if __GNUC_PREREQ(3, 4)
865 #pragma once
866-#endif /* __GNUC_PREREQ */
867
868 #ifndef __OROM_H__INCLUDED__
869 #define __OROM_H__INCLUDED__
870--
8712.13.1
872
diff --git a/meta-oe/recipes-support/ssiapi/ssiapi/0002-Convert-macros-into-functions.patch b/meta-oe/recipes-support/ssiapi/ssiapi/0002-Convert-macros-into-functions.patch
new file mode 100644
index 000000000..351301cdc
--- /dev/null
+++ b/meta-oe/recipes-support/ssiapi/ssiapi/0002-Convert-macros-into-functions.patch
@@ -0,0 +1,123 @@
1From 1338ee4e69c465f8f381ec3bfe5058080236edba Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 16 Jun 2017 22:08:35 -0700
4Subject: [PATCH 2/6] Convert macros into functions
5
6This helps in fixing the security format warnings
7add -fno-builtin-log
8
9Upstream-Status: Pending
10
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 lib/engine/Makefile.am | 3 ++-
14 lib/log/Makefile.am | 2 ++
15 lib/log/log.h | 34 +++++++++++++++++++++-------------
16 src/Makefile.am | 3 ++-
17 4 files changed, 27 insertions(+), 15 deletions(-)
18
19Index: ssiapi.1.0.1/lib/engine/Makefile.am
20===================================================================
21--- ssiapi.1.0.1.orig/lib/engine/Makefile.am
22+++ ssiapi.1.0.1/lib/engine/Makefile.am
23@@ -113,4 +113,5 @@ libengine_la_SOURCES = \
24 libengine_la_CPPFLAGS = \
25 -I$(top_srcdir) \
26 -I$(top_srcdir)/include \
27- -I$(top_srcdir)/lib
28+ -I$(top_srcdir)/lib \
29+ -fno-builtin-log
30Index: ssiapi.1.0.1/lib/log/Makefile.am
31===================================================================
32--- ssiapi.1.0.1.orig/lib/log/Makefile.am
33+++ ssiapi.1.0.1/lib/log/Makefile.am
34@@ -5,3 +5,5 @@ noinst_LTLIBRARIES = liblog.la
35 liblog_la_SOURCES = \
36 log.c \
37 log.h
38+
39+liblog_la_CPPFLAGS = -fno-builtin-log
40Index: ssiapi.1.0.1/lib/log/log.h
41===================================================================
42--- ssiapi.1.0.1.orig/lib/log/log.h
43+++ ssiapi.1.0.1/lib/log/log.h
44@@ -23,7 +23,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIG
45 #if defined(__cplusplus)
46 extern "C" {
47 #endif /* __cplusplus */
48-
49+#include <stdarg.h>
50 /* */
51 enum log_level {
52 LOG_FIRST = 0,
53@@ -37,26 +37,34 @@ enum log_level {
54 };
55
56 /* */
57-#define log(__level, __format, ...) \
58- do { if (log_get_level() >= (enum log_level)(__level)) \
59- __log(__level, __format, ## __VA_ARGS__); \
60- } while (0)
61-
62-#define dlog(__format, ...) \
63- log(LOG_DEBUG, __format, ## __VA_ARGS__);
64+void __log(enum log_level level, const char *format, ...)
65+ __attribute__((format(printf, 2, 3)));
66
67 /* */
68-void log_init(enum log_level level, const char *path);
69+enum log_level log_get_level(void);
70
71 /* */
72-void log_fini(void);
73-
74+static inline void log(enum log_level __level, const char* __format, ...) {
75+ va_list ap;
76+ va_start(ap, __format);
77+ do {
78+ if (log_get_level() >= (enum log_level)(__level))
79+ __log(__level, __format, ap);
80+ } while (0);
81+ va_end(ap);
82+}
83+
84+static inline void dlog(const char* __format, ...) {
85+ va_list ap;
86+ va_start(ap, __format);
87+ log(LOG_DEBUG, __format, ap);
88+ va_end(ap);
89+}
90 /* */
91-void __log(enum log_level level, const char *format, ...)
92- __attribute__((format(printf, 2, 3)));
93+void log_init(enum log_level level, const char *path);
94
95 /* */
96-enum log_level log_get_level(void);
97+void log_fini(void);
98
99 /* */
100 void log_set_level(enum log_level level);
101Index: ssiapi.1.0.1/src/Makefile.am
102===================================================================
103--- ssiapi.1.0.1.orig/src/Makefile.am
104+++ ssiapi.1.0.1/src/Makefile.am
105@@ -7,7 +7,8 @@ lib_LTLIBRARIES = libssi.la
106 libssi_la_CPPFLAGS = \
107 -I$(top_srcdir) \
108 -I$(top_srcdir)/include \
109- -I$(top_srcdir)/lib
110+ -I$(top_srcdir)/lib \
111+ -fno-builtin-log
112
113 libssi_la_LDFLAGS = \
114 $(SGUTILS_LDFLAGS) \
115Index: ssiapi.1.0.1/lib/efi/Makefile.am
116===================================================================
117--- ssiapi.1.0.1.orig/lib/efi/Makefile.am
118+++ ssiapi.1.0.1/lib/efi/Makefile.am
119@@ -5,3 +5,4 @@ noinst_LTLIBRARIES = libefi.la
120 libefi_la_SOURCES = \
121 efi.cpp \
122 efi.h
123+libefi_la_CPPFLAGS = -fno-builtin-log
diff --git a/meta-oe/recipes-support/ssiapi/ssiapi/0003-Replace-canonicalize_file_name-with-realpath-API.patch b/meta-oe/recipes-support/ssiapi/ssiapi/0003-Replace-canonicalize_file_name-with-realpath-API.patch
new file mode 100644
index 000000000..98cd40c84
--- /dev/null
+++ b/meta-oe/recipes-support/ssiapi/ssiapi/0003-Replace-canonicalize_file_name-with-realpath-API.patch
@@ -0,0 +1,33 @@
1From 781288d6307002cce70ddafb6efb200b7f60294d Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 16 Jun 2017 22:12:43 -0700
4Subject: [PATCH 3/6] Replace canonicalize_file_name with realpath() API
5
6Fixed build on musl where canonicalize_file_name is not implemented
7
8filesystem.cpp:46:15: error: 'canonicalize_file_name' was not declared in this scope
9 char *p = canonicalize_file_name(path);
10
11Upstream-Status: Pending
12
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15 lib/engine/filesystem.cpp | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/lib/engine/filesystem.cpp b/lib/engine/filesystem.cpp
19index b99257e..6064837 100644
20--- a/lib/engine/filesystem.cpp
21+++ b/lib/engine/filesystem.cpp
22@@ -43,7 +43,7 @@ void CanonicalPath::__canonicalize_path_name(const char *path)
23 if (path == 0) {
24 throw E_NULL_POINTER;
25 }
26- char *p = canonicalize_file_name(path);
27+ char *p = realpath(path, NULL);
28 assign(p);
29 if (p) {
30 free(p);
31--
322.13.1
33
diff --git a/meta-oe/recipes-support/ssiapi/ssiapi/0004-engine-Fix-indentation-and-missing-semi-colon.patch b/meta-oe/recipes-support/ssiapi/ssiapi/0004-engine-Fix-indentation-and-missing-semi-colon.patch
new file mode 100644
index 000000000..7dce0da40
--- /dev/null
+++ b/meta-oe/recipes-support/ssiapi/ssiapi/0004-engine-Fix-indentation-and-missing-semi-colon.patch
@@ -0,0 +1,54 @@
1From 04e8b99d8195a0e39982ecd27802421610633724 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 16 Jun 2017 22:18:31 -0700
4Subject: [PATCH 4/6] engine: Fix indentation and missing semi-colon
5
6Upstream-Status: Pending
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10 lib/engine/mdadm_config.cpp | 5 +++--
11 lib/engine/unique_id_manager.cpp | 2 +-
12 2 files changed, 4 insertions(+), 3 deletions(-)
13
14diff --git a/lib/engine/mdadm_config.cpp b/lib/engine/mdadm_config.cpp
15index 1914ddc..e40c2c7 100644
16--- a/lib/engine/mdadm_config.cpp
17+++ b/lib/engine/mdadm_config.cpp
18@@ -118,9 +118,10 @@ void check_configuration()
19 attr >> config;
20 configOk = correct_config(config);
21 } catch (Exception ex) {
22- if (ex != E_NOT_FOUND)
23+ if (ex != E_NOT_FOUND) {
24 dlog("Warning: mdadm config file cannot be read, new one will be written");
25 backup = false;
26+ }
27 }
28
29 if (configOk && monitor_running()) {
30@@ -134,7 +135,7 @@ void check_configuration()
31 dlog("Warning: failed to update mdadm.conf");
32 }
33 if (restart_monitor() == 0)
34- dlog("Monitor restarted successfully")
35+ dlog("Monitor restarted successfully");
36 else
37 dlog("Error starting Monitor");
38 }
39diff --git a/lib/engine/unique_id_manager.cpp b/lib/engine/unique_id_manager.cpp
40index 99c153c..87d6ddc 100644
41--- a/lib/engine/unique_id_manager.cpp
42+++ b/lib/engine/unique_id_manager.cpp
43@@ -185,7 +185,7 @@ void UniqueIdManager::refresh()
44 keyFile >> keyList;
45 keyList += "\n";
46 } catch (...) {
47- dlog("ssi.keys file missing")
48+ dlog("ssi.keys file missing");
49 /* no file? that's ok */
50 }
51 /* process the list to update IdCaches */
52--
532.13.1
54
diff --git a/meta-oe/recipes-support/ssiapi/ssiapi/0005-engine-Define-SENTINEL.patch b/meta-oe/recipes-support/ssiapi/ssiapi/0005-engine-Define-SENTINEL.patch
new file mode 100644
index 000000000..6f4dbf18e
--- /dev/null
+++ b/meta-oe/recipes-support/ssiapi/ssiapi/0005-engine-Define-SENTINEL.patch
@@ -0,0 +1,40 @@
1From a2e3a2e332c406ea3c56a8d74b61978107df68e6 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 16 Jun 2017 22:23:08 -0700
4Subject: [PATCH 5/6] engine: Define SENTINEL
5
6Fix warnings with gcc7
7test.cpp:12: warning: missing sentinel in function call
8
9Upstream-Status: Pending
10
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 lib/engine/utils.cpp | 4 ++--
14 1 file changed, 2 insertions(+), 2 deletions(-)
15
16diff --git a/lib/engine/utils.cpp b/lib/engine/utils.cpp
17index 44579a1..8812a8c 100644
18--- a/lib/engine/utils.cpp
19+++ b/lib/engine/utils.cpp
20@@ -35,7 +35,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
21 #include "filesystem.h"
22 #include "utils.h"
23 #include "log/log.h"
24-
25+#define SENTINEL (const char *)0
26 /**
27 * @brief capture shell output as binary data
28 *
29@@ -139,7 +139,7 @@ int shell(const String &s)
30 * Before switching into new executable close all non standard
31 * file handlers.*/
32 close_parent_fds();
33- execl("/bin/sh", "sh", "-c", cmd.get(), NULL);
34+ execl("/bin/sh", "sh", "-c", cmd.get(), SENTINEL);
35 /* If we're here then execl failed*/
36 exit(-1);
37 break;
38--
392.13.1
40
diff --git a/meta-oe/recipes-support/ssiapi/ssiapi/0006-tools-Add-missing-includes-and-use-realpath-instead-.patch b/meta-oe/recipes-support/ssiapi/ssiapi/0006-tools-Add-missing-includes-and-use-realpath-instead-.patch
new file mode 100644
index 000000000..a7b70e3f4
--- /dev/null
+++ b/meta-oe/recipes-support/ssiapi/ssiapi/0006-tools-Add-missing-includes-and-use-realpath-instead-.patch
@@ -0,0 +1,40 @@
1From df1d56d6b6a6b15d0137619eb8a4b623de6c9633 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 16 Jun 2017 22:28:59 -0700
4Subject: [PATCH 6/6] tools: Add missing includes and use realpath() instead of
5 canonicalize_file_name
6
7Upstream-Status: Pending
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 tools/ssieventmonitor.cpp | 6 ++++--
12 1 file changed, 4 insertions(+), 2 deletions(-)
13
14diff --git a/tools/ssieventmonitor.cpp b/tools/ssieventmonitor.cpp
15index 0553386..f04b8f0 100644
16--- a/tools/ssieventmonitor.cpp
17+++ b/tools/ssieventmonitor.cpp
18@@ -18,7 +18,9 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19 #include <unistd.h>
20 #include <dirent.h>
21 #include <errno.h>
22-#include <sys/fcntl.h>
23+#include <limits.h>
24+#include <fcntl.h>
25+#include <libgen.h>
26 #include <sys/select.h>
27 #include <sys/wait.h>
28 #include <sys/inotify.h>
29@@ -99,7 +101,7 @@ static int _exec_ssimsg(void)
30 int status;
31 switch (pid) {
32 case 0: {
33- cp = canonicalize_file_name("/proc/self/exe");
34+ cp = realpath("/proc/self/exe", NULL);
35 if (cp) {
36 strcpy(buffer, cp);
37 free(cp);
38--
392.13.1
40
diff --git a/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb b/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb
index 5b951eb26..f3c1fc43a 100644
--- a/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb
+++ b/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb
@@ -10,7 +10,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0413ff365e0bd733c4869a6797551c6f"
10 10
11DEPENDS += "sg3-utils" 11DEPENDS += "sg3-utils"
12 12
13SRC_URI = "http://sourceforge.net/projects/irstessi/files/${BPN}.${PV}.tgz" 13SRC_URI = "http://sourceforge.net/projects/irstessi/files/${BPN}.${PV}.tgz \
14 file://0001-Use-pragma-once-unconditionally.patch \
15 file://0002-Convert-macros-into-functions.patch \
16 file://0003-Replace-canonicalize_file_name-with-realpath-API.patch \
17 file://0004-engine-Fix-indentation-and-missing-semi-colon.patch \
18 file://0005-engine-Define-SENTINEL.patch \
19 file://0006-tools-Add-missing-includes-and-use-realpath-instead-.patch \
20"
14SRC_URI[md5sum] = "02f16d7cbd30d28034093212906591f5" 21SRC_URI[md5sum] = "02f16d7cbd30d28034093212906591f5"
15SRC_URI[sha256sum] = "e10d283b0f211afb8ebd0bde87c097769613d30a052cdf164753e35e803264c7" 22SRC_URI[sha256sum] = "e10d283b0f211afb8ebd0bde87c097769613d30a052cdf164753e35e803264c7"
16 23