summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--libvirt-php-0.4.5.tar.gzbin0 -> 234636 bytes
-rw-r--r--libvirt-php54.patch214
-rw-r--r--php-libvirt.spec133
4 files changed, 351 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..1e65467
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,4 @@
+SRCDIR := $(shell pwd)
+NAME := $(shell basename $(SRCDIR))
+include ../common/Makefile
+
diff --git a/libvirt-php-0.4.5.tar.gz b/libvirt-php-0.4.5.tar.gz
new file mode 100644
index 0000000..03f7c25
--- /dev/null
+++ b/libvirt-php-0.4.5.tar.gz
Binary files differ
diff --git a/libvirt-php54.patch b/libvirt-php54.patch
new file mode 100644
index 0000000..3b493cd
--- /dev/null
+++ b/libvirt-php54.patch
@@ -0,0 +1,214 @@
+diff -up libvirt-php-0.4.5/src/libvirt-php.c.php54 libvirt-php-0.4.5/src/libvirt-php.c
+--- libvirt-php-0.4.5/src/libvirt-php.c.php54 2011-11-27 16:49:11.201682937 +0100
++++ libvirt-php-0.4.5/src/libvirt-php.c 2011-11-27 17:05:24.092827417 +0100
+@@ -16,6 +16,11 @@
+
+ #include "libvirt-php.h"
+
++// From vncfunc.c
++int vnc_get_dimensions(char *server, char *port, int *width, int *height);
++// From sockets.c
++int connect_socket(char *server, char *port, int keepalive, int nodelay, int allow_server_override);
++
+ #ifdef DEBUG_CORE
+ #define DPRINTF(fmt, ...) \
+ if (LIBVIRT_G(debug)) \
+@@ -50,7 +55,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_libvirt_c
+ ZEND_ARG_INFO(0, readonly)
+ ZEND_END_ARG_INFO()
+
+-static function_entry libvirt_functions[] = {
++static zend_function_entry libvirt_functions[] = {
+ /* Common functions */
+ PHP_FE(libvirt_get_last_error,NULL)
+ /* Connect functions */
+@@ -775,7 +780,7 @@ unsigned long long size_def_to_mbytes(ch
+ return 0;
+
+ unit = arg[strlen(arg)-1];
+- switch (arg[strlen(arg)-1]) {
++ switch (unit) {
+ case 'G':
+ multiplicator = 1 << 10;
+ break;
+@@ -1419,7 +1424,7 @@ PHP_FUNCTION(libvirt_connect)
+ if (zend_hash_get_current_key_ex(arr_hash, &key, &key_len, &index, 0, &pointer) == HASH_KEY_IS_STRING) {
+ PHPWRITE(key, key_len);
+ } else {
+- DPRINTF("%s: credentials index %d\n", PHPFUNC, index);
++ DPRINTF("%s: credentials index %d\n", PHPFUNC, (int)index);
+ creds[j].type=index;
+ creds[j].result=emalloc( Z_STRLEN_PP(data) + 1 );
+ memset(creds[j].result, 0, Z_STRLEN_PP(data) + 1);
+@@ -1623,7 +1628,7 @@ PHP_FUNCTION(libvirt_image_create)
+ zval *zconn;
+ char msg[1024];
+ char cmd[4096] = { 0 };
+- char *path;
++ char *path = NULL;
+ char fpath[4096] = { 0 };
+ char *image = NULL;
+ int image_len;
+@@ -1965,7 +1970,7 @@ void dec_to_bin(unsigned long long decim
+ int k = 0, n = 0;
+ int neg_flag = 0;
+ int remain;
+- int old_decimal;
++ // int old_decimal;
+ char temp[128] = { 0 };
+
+ if (decimal < 0)
+@@ -1975,7 +1980,7 @@ void dec_to_bin(unsigned long long decim
+ }
+ do
+ {
+- old_decimal = decimal;
++ // old_decimal = decimal;
+ remain = decimal % 2;
+ decimal = decimal / 2;
+ temp[k++] = remain + '0';
+@@ -2050,7 +2055,7 @@ long get_next_free_numeric_value(virDoma
+ int retval = -1;
+ HashTable *arr_hash;
+ HashPosition pointer;
+- int array_count;
++ // int array_count;
+ zval **data;
+ char *key;
+ unsigned int key_len;
+@@ -2063,7 +2068,7 @@ long get_next_free_numeric_value(virDoma
+ free( get_string_from_xpath(xml, xpath, &output, &retval) );
+
+ arr_hash = Z_ARRVAL_P(output);
+- array_count = zend_hash_num_elements(arr_hash);
++ // array_count = zend_hash_num_elements(arr_hash);
+ for (zend_hash_internal_pointer_reset_ex(arr_hash, &pointer);
+ zend_hash_get_current_data_ex(arr_hash, (void**) &data, &pointer) == SUCCESS;
+ zend_hash_move_forward_ex(arr_hash, &pointer)) {
+@@ -2188,7 +2193,7 @@ char *connection_get_arch(virConnectPtr
+ int retval = -1;
+ char *tmp = NULL;
+ char *caps = NULL;
+- char xpath[1024] = { 0 };
++ // char xpath[1024] = { 0 };
+
+ caps = virConnectGetCapabilities(conn);
+ if (caps == NULL)
+@@ -2219,7 +2224,7 @@ char *generate_uuid_any()
+ int i;
+ char a[37] = { 0 };
+ char hexa[] = "0123456789abcdef";
+- virDomainPtr domain=NULL;
++ // virDomainPtr domain=NULL;
+
+ srand(time(NULL));
+ for (i = 0; i < 36; i++) {
+@@ -2304,7 +2309,7 @@ char *get_disk_xml(unsigned long long si
+ ret = WEXITSTATUS(system(cmd));
+ DPRINTF("%s: Command '%s' finished with error code %d\n", __FUNCTION__, cmd, ret);
+ if (ret != 0) {
+- DPRINTF("%s: File creation failed\n");
++ DPRINTF("%s: File creation failed\n", path);
+ return NULL;
+ }
+
+@@ -2387,7 +2392,7 @@ char *installation_get_xml(int step, vir
+ char features[128] = { 0 };
+ char *tmp = NULL;
+ char type[64] = { 0 };
+- virDomainPtr domain=NULL;
++ // virDomainPtr domain=NULL;
+
+ if (conn == NULL) {
+ DPRINTF("%s: Invalid libvirt connection pointer\n", __FUNCTION__);
+@@ -2978,7 +2983,7 @@ PHP_FUNCTION(libvirt_domain_send_keys)
+
+ GET_DOMAIN_FROM_ARGS("rss",&zdomain, &hostname, &hostname_len, &keys, &keys_len);
+
+- DPRINTF("%s: Sending %d VNC keys to %s...\n", PHPFUNC, strlen(keys), hostname);
++ DPRINTF("%s: Sending %d VNC keys to %s...\n", PHPFUNC, (int)strlen(keys), hostname);
+
+ xml=virDomainGetXMLDesc(domain->domain, 0);
+ if (xml==NULL) {
+@@ -2992,7 +2997,7 @@ PHP_FUNCTION(libvirt_domain_send_keys)
+ RETURN_FALSE;
+ }
+
+- DPRINTF("%s: About to send string '%s' (%d keys) to %s:%s\n", PHPFUNC, keys, strlen(keys), hostname, tmp);
++ DPRINTF("%s: About to send string '%s' (%d keys) to %s:%s\n", PHPFUNC, keys, (int)strlen(keys), hostname, tmp);
+
+ ret = vnc_send_keys(hostname, tmp, keys);
+ DPRINTF("%s: Sequence sending result is %d\n", PHPFUNC, ret);
+@@ -3214,15 +3219,15 @@ PHP_FUNCTION(libvirt_connect_get_emulato
+ void parse_array(zval *arr, tVMDisk *disk, tVMNetwork *network)
+ {
+ HashTable *arr_hash;
+- int array_count;
+- zval **zvalue, **data;
++ // int array_count;
++ zval **data; // removed **zvalue
+ HashPosition pointer;
+ char *key;
+ unsigned int key_len;
+ unsigned long index;
+
+ arr_hash = Z_ARRVAL_P(arr);
+- array_count = zend_hash_num_elements(arr_hash);
++ //array_count = zend_hash_num_elements(arr_hash);
+
+ if (disk != NULL)
+ memset(disk, 0, sizeof(tVMDisk));
+@@ -3297,7 +3302,7 @@ PHP_FUNCTION(libvirt_domain_new)
+ char *tmp;
+ char *name;
+ char name_len=0;
+- char *emulator;
++ // char *emulator;
+ char *iso_image = NULL;
+ int iso_image_len;
+ int vcpus = -1;
+@@ -3308,7 +3313,7 @@ PHP_FUNCTION(libvirt_domain_new)
+ int maxmemMB = -1;
+ HashTable *arr_hash;
+ int numDisks, numNets, i;
+- zval **zvalue, **data;
++ zval **data; // removed **zvalue
+ HashPosition pointer;
+ char vncl[2048] = { 0 };
+ char tmpname[1024] = { 0 };
+@@ -3677,7 +3682,7 @@ PHP_FUNCTION(libvirt_domain_change_memor
+ long allocMem = 0;
+ long allocMax = 0;
+ int retval = -1;
+- int pos = -1;
++ // int pos = -1;
+ int len = 0;
+ php_libvirt_domain *res_domain = NULL;
+ php_libvirt_connection *conn = NULL;
+@@ -3703,7 +3708,7 @@ PHP_FUNCTION(libvirt_domain_change_memor
+ snprintf(new, sizeof(new), " <memory>%d</memory>\n <currentMemory>%d</currentMemory>\n", allocMax, allocMem);
+ tmpA = strstr(xml, "<memory>");
+ tmp1 = strstr(xml, "</currentMemory>") + strlen("</currentMemory>");
+- pos = strlen(xml) - strlen(tmp1);
++ // pos = strlen(xml) - strlen(tmp1);
+ len = strlen(xml) - strlen(tmpA);
+
+ tmp2 = emalloc( ( len + 1 )* sizeof(char) );
+@@ -3770,7 +3775,7 @@ PHP_FUNCTION(libvirt_domain_change_boot_
+ char *second = NULL;
+ int second_len;
+ int retval = -1;
+- int pos = -1;
++ // int pos = -1;
+ int len = 0;
+ php_libvirt_domain *res_domain = NULL;
+ php_libvirt_connection *conn = NULL;
+@@ -3793,7 +3798,7 @@ PHP_FUNCTION(libvirt_domain_change_boot_
+
+ tmpA = strstr(xml, "</type>") + strlen("</type>");
+ tmp1 = strstr(xml, "</os>");
+- pos = strlen(xml) - strlen(tmp1);
++ // pos = strlen(xml) - strlen(tmp1);
+ len = strlen(xml) - strlen(tmpA);
+
+ tmp2 = emalloc( ( len + 1 )* sizeof(char) );
diff --git a/php-libvirt.spec b/php-libvirt.spec
new file mode 100644
index 0000000..ca622d4
--- /dev/null
+++ b/php-libvirt.spec
@@ -0,0 +1,133 @@
+%global req_libvirt_version 0.6.2
+%global php_confdir %{_sysconfdir}/php.d
+%global php_extdir %{_libdir}/php/modules
+
+%global extname libvirt-php
+
+Name: php-libvirt
+Version: 0.4.5
+Release: 1%{?dist}%{?extra_release}
+Summary: PHP language binding for Libvirt
+
+Group: Development/Libraries
+License: PHP
+URL: http://libvirt.org/php
+Source0: http://libvirt.org/sources/php/libvirt-php-%{version}.tar.gz
+
+# https://www.redhat.com/archives/libvir-list/2011-November/msg01476.html
+Patch0: libvirt-php54.patch
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+BuildRequires: php-devel
+BuildRequires: libvirt-devel >= %{req_libvirt_version}
+BuildRequires: libxml2-devel
+BuildRequires: libxslt
+BuildRequires: xhtml1-dtds
+
+Requires: libvirt >= %{req_libvirt_version}
+Requires: php(zend-abi) = %{php_zend_api}
+Requires: php(api) = %{php_core_api}
+
+%define debug_package %{nil}
+%global _use_internal_dependency_generator 0
+
+%description
+PHP language bindings for Libvirt API.
+For more details see: http://www.libvirt.org/php/
+
+%package -n php-libvirt-doc
+Summary: Document of php-libvirt
+Group: Development/Libraries
+%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6
+BuildArch: noarch
+%endif
+Requires: php-libvirt = %{version}
+
+%description -n php-libvirt-doc
+PHP language bindings for Libvirt API.
+For more details see: http://www.libvirt.org/php/ http://www.php.net/
+
+This package contain the document for php-libvirt.
+
+%prep
+%setup -q -n libvirt-php-%{version}
+
+%patch0 -p1 -b .php54
+
+
+%build
+%configure --with-html-dir=%{_datadir}/doc \
+ --with-html-subdir=%{name}-%{version}/html \
+ --libdir=%{php_extdir}
+make %{?_smp_mflags}
+
+
+%install
+rm -rf %{buildroot}
+make install DESTDIR=%{buildroot}
+
+# simple module load test
+%{__php} --no-php-ini \
+ --define extension_dir=src \
+ --define extension=%{extname}.so \
+ --modules | grep libvirt
+
+
+%clean
+rm -rf %{buildroot}
+
+%files
+%defattr(-,root,root,-)
+%doc
+%{php_extdir}/%{extname}.so
+%config(noreplace) %{php_confdir}/%{extname}.ini
+
+%files -n php-libvirt-doc
+%defattr(-,root,root,-)
+%doc README
+%dir %{_datadir}/doc/%{name}-%{version}
+%{_datadir}/doc/%{name}-%{version}/html
+
+
+%changelog
+* Sun Nov 27 2011 Remi Collet <RPMS@FamilleCollet.com> - 0.4.5-1
+- update to 0.4.5
+- fix for php 5.4 (and some of compiler warnings)
+ https://www.redhat.com/archives/libvir-list/2011-November/msg01476.html
+
+* Tue Aug 23 2011 Remi Collet <RPMS@FamilleCollet.com> - 0.4.4-1
+- rebuild for remi repo
+
+* Mon Aug 22 2011 Michal Novotny <minovotn@redhat.com> - 0.4.4
+- Several bugfixes and updated SPEC file and codes not to require open tags
+
+* Sun Aug 21 2011 Remi Collet <RPMS@FamilleCollet.com> - 0.4.3-1
+- rebuild for remi repo
+
+* Thu Aug 11 2011 Michal Novotny <minovotn@redhat.com> - 0.4.3
+- Rebase to 0.4.3 from master branch
+
+* Sat Jul 16 2011 Remi Collet <RPMS@FamilleCollet.com> - 0.4.1-5
+- rebuild for remi repo
+
+* Tue Apr 19 2011 Michal Novotny <minovotn@redhat.com> - 0.4.1-5
+- Minor memory leak fixes
+- Several bug fixes
+
+* Mon Apr 11 2011 Michal Novotny <minovotn@redhat.com> - 0.4.1-4
+- Add new storagepool API functions
+- Add optional xPath argument for *_get_xml_desc() functions
+- Add new network API functions
+- Add new API functions to add/remove disks
+
+* Wed Mar 23 2011 Michal Novotny <minovotn@redhat.com> - 0.4.1-3
+- Add connection information function
+- Add coredump support
+- Add snapshots support
+- Improve error reporting for destructors
+
+* Thu Mar 10 2011 Michal Novotny <minovotn@redhat.com> - 0.4.1-2
+- Changes done to comply with Fedora package policy
+
+* Tue Feb 8 2011 Michal Novotny <minovotn@redhat.com> - 0.4.1-1
+- Initial commit (from github)