summaryrefslogtreecommitdiffstats
path: root/libvirt-php8.patch
blob: c60a5da1f8d1690f1cdd19162dd19a6554adce25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
From 103665cce450db8e8c6cc0f8c3fe1e69186f3bb2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
Date: Mon, 4 May 2020 18:18:23 +0100
Subject: [PATCH] src: don't declare global variables in header files
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In Fedora 32 and later the linker will no longer merge duplicate global
variables. Thus headers need fixing to properly use "extern" and put the
actual declaration in the source files.

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 src/libvirt-connection.c | 2 ++
 src/libvirt-connection.h | 2 +-
 src/libvirt-domain.c     | 2 ++
 src/libvirt-domain.h     | 2 +-
 src/libvirt-network.c    | 2 ++
 src/libvirt-network.h    | 2 +-
 src/libvirt-nodedev.c    | 2 ++
 src/libvirt-nodedev.h    | 2 +-
 src/libvirt-nwfilter.c   | 2 ++
 src/libvirt-nwfilter.h   | 2 +-
 src/libvirt-php.c        | 2 ++
 src/libvirt-php.h        | 2 +-
 src/libvirt-snapshot.c   | 2 ++
 src/libvirt-snapshot.h   | 2 +-
 src/libvirt-storage.c    | 3 +++
 src/libvirt-storage.h    | 4 ++--
 src/libvirt-stream.c     | 2 ++
 src/libvirt-stream.h     | 2 +-
 18 files changed, 29 insertions(+), 10 deletions(-)

diff --git a/src/libvirt-connection.c b/src/libvirt-connection.c
index 9e70031..adc0045 100644
--- a/src/libvirt-connection.c
+++ b/src/libvirt-connection.c
@@ -11,6 +11,8 @@
 
 DEBUG_INIT("connection");
 
+int le_libvirt_connection;
+
 /*
  * Private function name:   free_resources_on_connection
  * Since version:           0.4.2
diff --git a/src/libvirt-connection.h b/src/libvirt-connection.h
index 0cae5ec..20f79e0 100644
--- a/src/libvirt-connection.h
+++ b/src/libvirt-connection.h
@@ -46,7 +46,7 @@
             RETURN_FALSE;                                                      \
     } while (0)
 
-int le_libvirt_connection;
+extern int le_libvirt_connection;
 
 typedef struct _php_libvirt_connection {
     virConnectPtr conn;
diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
index f594253..419630b 100644
--- a/src/libvirt-domain.c
+++ b/src/libvirt-domain.c
@@ -15,6 +15,8 @@
 
 DEBUG_INIT("domain");
 
+int le_libvirt_domain;
+
 void
 php_libvirt_domain_dtor(virt_resource *rsrc TSRMLS_DC)
 {
diff --git a/src/libvirt-domain.h b/src/libvirt-domain.h
index 8b80c9c..8640df8 100644
--- a/src/libvirt-domain.h
+++ b/src/libvirt-domain.h
@@ -120,7 +120,7 @@
     PHP_FE(libvirt_list_active_domains,          arginfo_libvirt_conn)                         \
     PHP_FE(libvirt_list_inactive_domains,        arginfo_libvirt_conn)
 
-int le_libvirt_domain;
+extern int le_libvirt_domain;
 
 typedef struct _php_libvirt_domain {
     virDomainPtr domain;
diff --git a/src/libvirt-network.c b/src/libvirt-network.c
index 673790a..3888780 100644
--- a/src/libvirt-network.c
+++ b/src/libvirt-network.c
@@ -11,6 +11,8 @@
 
 DEBUG_INIT("network");
 
+int le_libvirt_network;
+
 void
 php_libvirt_network_dtor(virt_resource *rsrc TSRMLS_DC)
 {
diff --git a/src/libvirt-network.h b/src/libvirt-network.h
index 604b803..634c681 100644
--- a/src/libvirt-network.h
+++ b/src/libvirt-network.h
@@ -45,7 +45,7 @@
     PHP_FE(libvirt_list_all_networks,       arginfo_libvirt_conn_optflags)     \
     PHP_FE(libvirt_list_networks,           arginfo_libvirt_conn_optflags)
 
-int le_libvirt_network;
+extern int le_libvirt_network;
 
 typedef struct _php_libvirt_network {
     virNetworkPtr network;
diff --git a/src/libvirt-nodedev.c b/src/libvirt-nodedev.c
index 5cfe428..e7a8535 100644
--- a/src/libvirt-nodedev.c
+++ b/src/libvirt-nodedev.c
@@ -11,6 +11,8 @@
 
 DEBUG_INIT("nodedev");
 
+int le_libvirt_nodedev;
+
 void
 php_libvirt_nodedev_dtor(virt_resource *rsrc TSRMLS_DC)
 {
diff --git a/src/libvirt-nodedev.h b/src/libvirt-nodedev.h
index 350b213..1357037 100644
--- a/src/libvirt-nodedev.h
+++ b/src/libvirt-nodedev.h
@@ -35,7 +35,7 @@
             RETURN_FALSE;                                                      \
     } while (0)
 
-int le_libvirt_nodedev;
+extern int le_libvirt_nodedev;
 
 typedef struct _php_libvirt_nodedev {
     virNodeDevicePtr device;
diff --git a/src/libvirt-nwfilter.c b/src/libvirt-nwfilter.c
index d949052..fa824cb 100644
--- a/src/libvirt-nwfilter.c
+++ b/src/libvirt-nwfilter.c
@@ -11,6 +11,8 @@
 
 DEBUG_INIT("nwfilter");
 
+int le_libvirt_nwfilter;
+
 void
 php_libvirt_nwfilter_dtor(virt_resource *rsrc TSRMLS_DC)
 {
diff --git a/src/libvirt-nwfilter.h b/src/libvirt-nwfilter.h
index c0cebb3..b450419 100644
--- a/src/libvirt-nwfilter.h
+++ b/src/libvirt-nwfilter.h
@@ -42,7 +42,7 @@
             RETURN_FALSE;                                                      \
     } while (0)                                                                \
 
-int le_libvirt_nwfilter;
+extern int le_libvirt_nwfilter;
 
 typedef struct _php_libvirt_nwfilter {
     virNWFilterPtr nwfilter;
diff --git a/src/libvirt-php.c b/src/libvirt-php.c
index 75cbf68..04f73d9 100644
--- a/src/libvirt-php.c
+++ b/src/libvirt-php.c
@@ -31,6 +31,8 @@
 
 DEBUG_INIT("core");
 
+ZEND_DECLARE_MODULE_GLOBALS(libvirt)
+
 #ifndef EXTWIN
 /* Additional binaries */
 const char *features[] = { "screenshot", "create-image", "screenshot-convert", NULL };
diff --git a/src/libvirt-php.h b/src/libvirt-php.h
index d6e61c5..f0c77ce 100644
--- a/src/libvirt-php.h
+++ b/src/libvirt-php.h
@@ -155,7 +155,7 @@ ZEND_BEGIN_MODULE_GLOBALS(libvirt)
     int binding_resources_count;
 ZEND_END_MODULE_GLOBALS(libvirt)
 
-ZEND_DECLARE_MODULE_GLOBALS(libvirt)
+ZEND_EXTERN_MODULE_GLOBALS(libvirt)
 
 /* Private definitions */
 void set_error(char *msg TSRMLS_DC);
diff --git a/src/libvirt-snapshot.c b/src/libvirt-snapshot.c
index e1445a2..3b10c10 100644
--- a/src/libvirt-snapshot.c
+++ b/src/libvirt-snapshot.c
@@ -11,6 +11,8 @@
 
 DEBUG_INIT("snapshot");
 
+int le_libvirt_snapshot;
+
 void php_libvirt_snapshot_dtor(virt_resource *rsrc TSRMLS_DC)
 {
     php_libvirt_snapshot *snapshot = (php_libvirt_snapshot *)rsrc->ptr;
diff --git a/src/libvirt-snapshot.h b/src/libvirt-snapshot.h
index 32db210..f8339a6 100644
--- a/src/libvirt-snapshot.h
+++ b/src/libvirt-snapshot.h
@@ -39,7 +39,7 @@
             RETURN_FALSE;                                                      \
     } while (0)                                                                \
 
-int le_libvirt_snapshot;
+extern int le_libvirt_snapshot;
 
 typedef struct _php_libvirt_snapshot {
     virDomainSnapshotPtr snapshot;
diff --git a/src/libvirt-storage.c b/src/libvirt-storage.c
index 0c0d943..593d4d2 100644
--- a/src/libvirt-storage.c
+++ b/src/libvirt-storage.c
@@ -12,6 +12,9 @@
 
 DEBUG_INIT("storage");
 
+int le_libvirt_storagepool;
+int le_libvirt_volume;
+
 void
 php_libvirt_storagepool_dtor(virt_resource *rsrc TSRMLS_DC)
 {
diff --git a/src/libvirt-storage.h b/src/libvirt-storage.h
index de972f7..7620c15 100644
--- a/src/libvirt-storage.h
+++ b/src/libvirt-storage.h
@@ -83,8 +83,8 @@
             RETURN_FALSE;                                                      \
     } while (0)                                                                \
 
-int le_libvirt_storagepool;
-int le_libvirt_volume;
+extern int le_libvirt_storagepool;
+extern int le_libvirt_volume;
 
 typedef struct _php_libvirt_storagepool {
     virStoragePoolPtr pool;
diff --git a/src/libvirt-stream.c b/src/libvirt-stream.c
index f1fc1ff..11d7752 100644
--- a/src/libvirt-stream.c
+++ b/src/libvirt-stream.c
@@ -11,6 +11,8 @@
 
 DEBUG_INIT("stream");
 
+int le_libvirt_stream;
+
 void
 php_libvirt_stream_dtor(virt_resource *rsrc TSRMLS_DC)
 {
diff --git a/src/libvirt-stream.h b/src/libvirt-stream.h
index 89b28a6..c041ccb 100644
--- a/src/libvirt-stream.h
+++ b/src/libvirt-stream.h
@@ -20,7 +20,7 @@
     PHP_FE(libvirt_stream_send,   arginfo_libvirt_stream_send)                 \
     PHP_FE(libvirt_stream_recv,   arginfo_libvirt_stream_recv)
 
-int le_libvirt_stream;
+extern int le_libvirt_stream;
 
 typedef struct _php_libvirt_stream {
     virStreamPtr stream;

From 6d2731fb449bf5b3eca3f77626e57576e545357d Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
Date: Wed, 27 Jan 2021 12:07:05 +0100
Subject: [PATCH] add compat macros for PHP 8

---
 src/libvirt-php.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/libvirt-php.h b/src/libvirt-php.h
index f0c77ce..2735272 100644
--- a/src/libvirt-php.h
+++ b/src/libvirt-php.h
@@ -7,6 +7,18 @@
 #ifndef PHP_LIBVIRT_H
 #define PHP_LIBVIRT_H 1
 
+/* Use in PHP5, unneeded in PHP 7, droped in PHP 8*/
+#ifndef TSRMLS_CC
+#define TSRMLS_D        void
+#define TSRMLS_DC
+#define TSRMLS_C
+#define TSRMLS_CC
+
+#define TSRMLS_FETCH()
+#define TSRMLS_FETCH_FROM_CTX(ctx)
+#define TSRMLS_SET_CTX(ctx)
+#endif
+
 /* Network constants */
 #define VIR_NETWORKS_ACTIVE     1
 #define VIR_NETWORKS_INACTIVE       2

From 05cdb0548dca50f32cbdaec559f2a1f5bd2ad5d3 Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
Date: Wed, 27 Jan 2021 12:09:37 +0100
Subject: [PATCH 2/2] missing ;

---
 src/libvirt-domain.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
index 29cb452..45deba6 100644
--- a/src/libvirt-domain.c
+++ b/src/libvirt-domain.c
@@ -2000,7 +2000,7 @@ PHP_FUNCTION(libvirt_domain_interface_addresses)
     GET_DOMAIN_FROM_ARGS("rl", &zdomain, &source);
 
     if ((count = virDomainInterfaceAddresses(domain->domain, &ifaces, source, 0)) < 0) {
-        RETURN_FALSE
+        RETURN_FALSE;
         goto cleanup;
     }