Changes of Revision 6
[-] | Changed | php5-inotify.spec |
x 1
2 # norootforbuild 3 %define pkg_name inotify 4 -%define pkg_version 0.1.4 5 +%define pkg_version 0.1.6 6 %define php_version %(php-config --version 2>/dev/null) 7 # 8 Name: php5-inotify 9
10 # 11 URL: http://pecl.php.net/ 12 Source: http://pecl.php.net/package/%{pkg_name}/%{pkg_name}-%{version}.tgz 13 -Patch0: inotify.patch 14 +Patch0: inotify-%{version}.patch 15 Summary: The inotify extension allows to use inotify functions in a PHP script 16 17 %description 18
19 %doc CREDITS 20 21 %changelog 22 +* Sun Feb 17 2013 Carsten Schoene <cs@linux-administrator.com> - 0.1.6-1 23 +- update to release 0.1.6 24 * Wed Dec 30 2009 Carsten Schoene <cs@linux-administrator.com> - 0.1.4-1 25 - initial build version 0.1.4 26 |
||
[+] | Added | inotify-0.1.6.patch ^ |
@@ -0,0 +1,18 @@ +--- php_inotify.h.orig 2013-02-17 13:23:26.520011322 +0100 ++++ php_inotify.h 2013-02-17 13:23:49.284010353 +0100 +@@ -40,7 +40,14 @@ + PHP_FUNCTION(inotify_queue_len); + PHP_FUNCTION(inotify_read); + +-#define PHP_INOTIFY_VERSION "0.1.1" ++#define PHP_INOTIFY_VERSION "0.1.6" ++ ++/* old glibc fix */ ++#define IN_ONLYDIR 0x01000000 /* Only watch the path if it is a ++ directory. */ ++#define IN_DONT_FOLLOW 0x02000000 /* Do not follow a sym link. */ ++#define IN_MASK_ADD 0x20000000 /* Add to the mask of an already ++ existing watch. */ + + #define INOTIFY_BUF_TOO_SMALL(ret,errno) \ + ((ret) == 0 || ((ret) == -1 && (errno) == EINVAL)) | ||
Changed | inotify-0.1.4.tgz/inotify-0.1.4/EXPERIMENTAL ^ | |
[+] | Deleted | inotify-0.1.4.tgz/inotify-0.1.4/config.m4 ^ |
@@ -1,22 +0,0 @@ -dnl $Id: config.m4,v 1.1 2008/07/17 19:11:16 lbarnaud Exp $ -dnl config.m4 for extension inotify - -PHP_ARG_ENABLE(inotify, whether to enable inotify support, -[ --enable-inotify Enable inotify support]) - -if test "$PHP_INOTIFY" != "no"; then - - AC_TRY_RUN([ - #include <sys/inotify.h> - void testfunc(int (*passedfunc)()) { - } - int main() { - testfunc(inotify_init); - return 0; - } - ],[],[ - AC_MSG_ERROR(Your system does not support inotify) - ]) - - PHP_NEW_EXTENSION(inotify, inotify.c, $ext_shared) -fi | ||
[+] | Deleted | inotify-0.1.4.tgz/inotify-0.1.4/inotify.c ^ |
@@ -1,355 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | PHP Version 5 | - +----------------------------------------------------------------------+ - | Copyright (c) 1997-2008 The PHP Group | - +----------------------------------------------------------------------+ - | This source file is subject to version 3.01 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available through the world-wide-web at the following url: | - | http://www.php.net/license/3_01.txt | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Author: Arnaud Le Blanc <arnaud.lb@gmail.com> | - +----------------------------------------------------------------------+ -*/ - -/* $Id: inotify.c,v 1.6 2008/10/24 23:31:33 lbarnaud Exp $ */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include <string.h> -#include <errno.h> -#include <sys/ioctl.h> -#include "php.h" -#include "php_ini.h" -#include "ext/standard/info.h" -#include "php_inotify.h" - -/* {{{ arginfo */ -ZEND_BEGIN_ARG_INFO_EX(arginfo_inotify_init, 0, ZEND_RETURN_VALUE, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_inotify_add_watch, 0, ZEND_RETURN_VALUE, 3) - ZEND_ARG_INFO(0, inotify_instance) - ZEND_ARG_INFO(0, pathname) - ZEND_ARG_INFO(0, mask) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_inotify_rm_watch, 0, ZEND_RETURN_VALUE, 2) - ZEND_ARG_INFO(0, inotify_instance) - ZEND_ARG_INFO(0, mask) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_inotify_queue_len, 0, ZEND_RETURN_VALUE, 1) - ZEND_ARG_INFO(0, inotify_instance) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_inotify_read, 0, ZEND_RETURN_VALUE, 1) - ZEND_ARG_INFO(0, inotify_instance) -ZEND_END_ARG_INFO() -/* }}} */ - -/* {{{ inotify_functions[] - */ -#if ZEND_MODULE_API_NO >= 20071006 -const -#endif -zend_function_entry inotify_functions[] = { - - PHP_FE(inotify_init, arginfo_inotify_init) - PHP_FE(inotify_add_watch, arginfo_inotify_add_watch) - PHP_FE(inotify_rm_watch, arginfo_inotify_rm_watch) - PHP_FE(inotify_queue_len, arginfo_inotify_queue_len) - PHP_FE(inotify_read, arginfo_inotify_read) - {NULL, NULL, NULL} /* Must be the last line in inotify_functions[] */ -}; -/* }}} */ - -/* {{{ inotify_module_entry - */ -zend_module_entry inotify_module_entry = { -#if ZEND_MODULE_API_NO >= 20010901 - STANDARD_MODULE_HEADER, -#endif - "inotify", - inotify_functions, - PHP_MINIT(inotify), - PHP_MSHUTDOWN(inotify), - NULL, /* Replace with NULL if there's nothing to do at request start */ - NULL, /* Replace with NULL if there's nothing to do at request end */ - PHP_MINFO(inotify), -#if ZEND_MODULE_API_NO >= 20010901 - PHP_INOTIFY_VERSION, -#endif - STANDARD_MODULE_PROPERTIES -}; -/* }}} */ - -#ifdef COMPILE_DL_INOTIFY -ZEND_GET_MODULE(inotify) -#endif - -/* {{{ PHP_MINIT_FUNCTION - */ -PHP_MINIT_FUNCTION(inotify) -{ - /* the following are legal, implemented events that user-space can watch for */ - REGISTER_LONG_CONSTANT("IN_ACCESS", IN_ACCESS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_MODIFY", IN_MODIFY, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_ATTRIB", IN_ATTRIB, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_CLOSE_WRITE", IN_CLOSE_WRITE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_CLOSE_NOWRITE", IN_CLOSE_NOWRITE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_OPEN", IN_OPEN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_MOVED_FROM", IN_MOVED_FROM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_MOVED_TO", IN_MOVED_TO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_CREATE", IN_CREATE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_DELETE", IN_DELETE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_DELETE_SELF", IN_DELETE_SELF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_MOVE_SELF", IN_MOVE_SELF, CONST_CS | CONST_PERSISTENT); - - /* the following are legal events. they are sent as needed to any watch */ - REGISTER_LONG_CONSTANT("IN_UNMOUNT", IN_UNMOUNT, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_Q_OVERFLOW", IN_Q_OVERFLOW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_IGNORED", IN_IGNORED, CONST_CS | CONST_PERSISTENT); - - /* helper events */ - REGISTER_LONG_CONSTANT("IN_CLOSE", IN_CLOSE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_MOVE", IN_MOVE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_ALL_EVENTS", IN_ALL_EVENTS, CONST_CS | CONST_PERSISTENT); - - /* special flags */ - REGISTER_LONG_CONSTANT("IN_ONLYDIR", IN_ONLYDIR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_DONT_FOLLOW", IN_DONT_FOLLOW, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_MASK_ADD", IN_MASK_ADD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_ISDIR", IN_ISDIR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IN_ONESHOT", IN_ONESHOT, CONST_CS | CONST_PERSISTENT); - - return SUCCESS; -} -/* }}} */ - -/* {{{ PHP_MSHUTDOWN_FUNCTION - */ -PHP_MSHUTDOWN_FUNCTION(inotify) -{ - return SUCCESS; -} -/* }}} */ - -/* {{{ PHP_MINFO_FUNCTION - */ -PHP_MINFO_FUNCTION(inotify) -{ - php_info_print_table_start(); - php_info_print_table_row(2, "Version", PHP_INOTIFY_VERSION); - php_info_print_table_end(); -} -/* }}} */ - -static int php_inotify_queue_len(const int fd TSRMLS_DC) /* {{{ */ -{ - int ret; - int queue_len; - - ret = ioctl(fd, FIONREAD, &queue_len); - if (ret < 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", strerror(errno)); - return 0; - } - return queue_len; -} /* }}} */ - -/* {{{ proto resource inotify_init() - Initializes a new inotify instance and returns an inotify resource associated with the new inotify event queue */ -PHP_FUNCTION(inotify_init) -{ - php_stream *stream; - int fd; - - fd = inotify_init(); - - if (fd == -1) { - switch(errno) { - INOTIFY_ERROR_CASE(INIT,EMFILE); - INOTIFY_ERROR_CASE(INIT,ENFILE); - INOTIFY_ERROR_CASE(INIT,ENOMEM); - INOTIFY_DEFAULT_ERROR(errno); - } - RETURN_FALSE; - } - - stream = php_stream_fopen_from_fd(fd, "r", NULL); - stream->flags |= PHP_STREAM_FLAG_NO_SEEK; - - php_stream_to_zval(stream, return_value); -} -/* }}} */ - -/* {{{ proto int inotify_add_watch(resource inofity_instance, string pathname, int mask) - Adds a watch to an initialized inotify instance */ -PHP_FUNCTION(inotify_add_watch) -{ - zval *zstream; - php_stream *stream; - char *pathname; - int pathname_len; - long mask, wd; - int fd; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rsl", &zstream, &pathname, &pathname_len, &mask) == FAILURE) { - return; - } - - if (PG(safe_mode) && (!php_checkuid(pathname, NULL, CHECKUID_ALLOW_FILE_NOT_EXISTS))) { - RETURN_FALSE; - } - if (php_check_open_basedir(pathname TSRMLS_CC)) { - RETURN_FALSE; - } - - php_stream_from_zval(stream, &zstream); - INOTIFY_FD(stream, fd); - - wd = inotify_add_watch(fd, pathname, mask); - - if (wd == -1) { - switch(errno) { - INOTIFY_ERROR_CASE(ADD_WATCH,EACCES); - INOTIFY_ERROR_CASE(ADD_WATCH,EBADF); - INOTIFY_ERROR_CASE(ADD_WATCH,EINVAL); - INOTIFY_ERROR_CASE(ADD_WATCH,ENOMEM); - INOTIFY_ERROR_CASE(ADD_WATCH,ENOSPC); - INOTIFY_DEFAULT_ERROR(errno); - } - RETURN_FALSE; - } - - RETURN_LONG(wd); -} -/* }}} */ - -/* {{{ proto bool inotify_rm_watch(resource inotify_instance, int inotify_watch_descriptor) - Remove an existing watch from the given inotify instance */ -PHP_FUNCTION(inotify_rm_watch) -{ - zval *zstream; - php_stream *stream; - int fd; - long wd; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl", &zstream, &wd) == FAILURE) { - return; - } - - php_stream_from_zval(stream, &zstream); - INOTIFY_FD(stream, fd); - - if (inotify_rm_watch(fd, wd) == -1) { - switch(errno) { - INOTIFY_ERROR_CASE(RM_WATCH,EINVAL); - INOTIFY_DEFAULT_ERROR(errno); - } - RETURN_FALSE; - } - - RETURN_TRUE; -} -/* }}} */ - -/* {{{ proto int inotify_queue_len(resource inotify_instance) - Returns an int upper than zero if events are pending */ -PHP_FUNCTION(inotify_queue_len) -{ - zval *zstream; - php_stream *stream; - int fd; - long queue_len; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zstream) == FAILURE) { - return; - } - - php_stream_from_zval(stream, &zstream); - INOTIFY_FD(stream, fd); - - queue_len = php_inotify_queue_len(fd TSRMLS_CC); - - RETURN_LONG(queue_len); -} -/* }}} */ - -/* {{{ proto array inotify_read(resource inotify_instance) - read()s inotify events */ -PHP_FUNCTION(inotify_read) -{ - zval *zstream; - php_stream *stream; - char *readbuf = NULL; - size_t readbuf_size = 0; - ssize_t readden, i; - struct inotify_event *event; - zval *event_ary; - int fd; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zstream) == FAILURE) { - return; - } - - php_stream_from_zval(stream, &zstream); - INOTIFY_FD(stream, fd); - - readbuf_size = (double) php_inotify_queue_len(fd TSRMLS_CC) * 1.6; - if (readbuf_size < 1) { - readbuf_size = sizeof(struct inotify_event) + 32; - } - - do { - readbuf = erealloc(readbuf, readbuf_size); - readden = read(fd, readbuf, readbuf_size); - - /* If the passed buffer is too small to contain all the - * pending events, the kernel may return an error and - * forces us to pass a bigger one. */ - if (INOTIFY_BUF_TOO_SMALL(readden,errno)) { - readbuf_size *= 1.6; - continue; - } else if (readden < 0) { - if (errno != EAGAIN) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", strerror(errno)); - } - efree(readbuf); - RETURN_FALSE; - } - } while (INOTIFY_BUF_TOO_SMALL(readden,errno)); - - array_init(return_value); - - for(i = 0; i < readden; i += sizeof(struct inotify_event) + event->len) { - event = (struct inotify_event *)&readbuf[i]; - - ALLOC_INIT_ZVAL(event_ary); - array_init(event_ary); - add_assoc_long(event_ary, "wd", event->wd); - add_assoc_long(event_ary, "mask", event->mask); - add_assoc_long(event_ary, "cookie", event->cookie); - add_assoc_string(event_ary, "name", (event->len > 0 ? event->name : ""), 1); - - add_next_index_zval(return_value, event_ary); - } - efree(readbuf); -} -/* }}} */ - -/* - * Local variables: - * tab-width: 4 - * c-basic-offset: 4 - * End: - * vim600: noet sw=4 ts=4 fdm=marker - * vim<600: noet sw=4 ts=4 - */ | ||
[+] | Deleted | inotify-0.1.4.tgz/inotify-0.1.4/php_inotify.h ^ |
@@ -1,94 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | PHP Version 5 | - +----------------------------------------------------------------------+ - | Copyright (c) 1997-2008 The PHP Group | - +----------------------------------------------------------------------+ - | This source file is subject to version 3.01 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available through the world-wide-web at the following url: | - | http://www.php.net/license/3_01.txt | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Author: Arnaud Le Blanc <arnaud.lb@gmail.com> | - +----------------------------------------------------------------------+ -*/ - -/* $Id: php_inotify.h,v 1.3 2008/07/23 12:32:35 lbarnaud Exp $ */ - -#ifndef PHP_INOTIFY_H -#define PHP_INOTIFY_H - -extern zend_module_entry inotify_module_entry; -#define phpext_inotify_ptr &inotify_module_entry - -#ifdef ZTS -#include "TSRM.h" -#endif - -#include <sys/inotify.h> - -PHP_MINIT_FUNCTION(inotify); -PHP_MSHUTDOWN_FUNCTION(inotify); -PHP_MINFO_FUNCTION(inotify); - -PHP_FUNCTION(inotify_init); -PHP_FUNCTION(inotify_add_watch); -PHP_FUNCTION(inotify_rm_watch); -PHP_FUNCTION(inotify_queue_len); -PHP_FUNCTION(inotify_read); - -#define PHP_INOTIFY_VERSION "0.1.1" - -#define INOTIFY_BUF_TOO_SMALL(ret,errno) \ - ((ret) == 0 || ((ret) == -1 && (errno) == EINVAL)) -#define INOTIFY_FD(stream, fd) \ - php_stream_cast((stream), PHP_STREAM_AS_FD_FOR_SELECT, (void*)&(fd), 1); - -/* Define some error messages for the error numbers set by inotify_*() functions, - as strerror() messages are not always usefull here */ - -#define INOTIFY_INIT_EMFILE \ - "The user limit on the total number of inotify instances has been reached" -#define INOTIFY_INIT_ENFILE \ - "The system limit on the total number of file descriptors has been reached" -#define INOTIFY_INIT_ENOMEM \ - "Insufficient kernel memory is available" - -#define INOTIFY_ADD_WATCH_EACCES \ - "Read access to the given file is not permitted" -#define INOTIFY_ADD_WATCH_EBADF \ - "The given file descriptor is not valid" -#define INOTIFY_ADD_WATCH_EINVAL \ - "The given event mask contains no valid events; or the given file descriptor is not valid" -#define INOTIFY_ADD_WATCH_ENOMEM \ - "Insufficient kernel memory was available" -#define INOTIFY_ADD_WATCH_ENOSPC \ - "The user limit on the total number of inotify watches was reached or the kernel failed to allocate a needed resource" - -#define INOTIFY_RM_WATCH_EINVAL \ - "The file descriptor is not an inotify instance or the watch descriptor is invalid" - -#define INOTIFY_ERROR_CASE(func, errno) \ - case (errno): \ - php_error_docref(NULL TSRMLS_CC, E_WARNING, INOTIFY_##func##_##errno); \ - break; -#define INOTIFY_DEFAULT_ERROR(errno) \ - default: \ - php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", strerror(errno)); \ - break; - - -#endif /* PHP_INOTIFY_H */ - - -/* - * Local variables: - * tab-width: 4 - * c-basic-offset: 4 - * End: - * vim600: noet sw=4 ts=4 fdm=marker - * vim<600: noet sw=4 ts=4 - */ | ||
[+] | Deleted | inotify-0.1.4.tgz/package2.xml ^ |
@@ -1,78 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<package packagerversion="1.7.2" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd"> - <name>inotify</name> - <channel>pecl.php.net</channel> - <summary>Inotify</summary> - <description>The inotify extension allows to use inotify functions in a PHP script.</description> - <lead> - <name>Arnaud Le Blanc</name> - <user>lbarnaud2</user> - <email>arnaud.lb@gmail.com</email> - <active>yes</active> - </lead> - <date>2009-05-19</date> - <time>16:26:59</time> - <version> - <release>0.1.4</release> - <api>0.1.2</api> - </version> - <stability> - <release>beta</release> - <api>beta</api> - </stability> - <license uri="http://www.php.net/license">PHP License</license> - <notes>* Repackage</notes> - <contents> - <dir name="/"> - <file md5sum="b904d6d0d966d04080282d473aec742c" name="tests/002.phpt" role="test" /> - <file md5sum="9503bc24ddc39eeeb67ef95304aab132" name="CREDITS" role="doc" /> - <file md5sum="d41d8cd98f00b204e9800998ecf8427e" name="EXPERIMENTAL" role="doc" /> - <file md5sum="0e964e9273c606c46afbd311b5ad4d77" name="LICENSE" role="doc" /> - <file md5sum="9477c6c5c484ea6ea0d2560369834cc5" name="README" role="doc" /> - <file md5sum="ed155dd151ef6b29b9f151f92606f4bf" name="inotify.c" role="src" /> - <file md5sum="423d6034c8f0971e7c13325556621ee7" name="php_inotify.h" role="src" /> - <file md5sum="d278559d7af35f0207777375b5cc96e9" name="config.m4" role="src" /> - <file md5sum="155f6c7316cff3f12da669b81ee0f16c" name="inotify.php" role="php" /> - <file md5sum="23a36451db200914675821bf1fac2f57" name="tail.php" role="php" /> - </dir> - </contents> - <dependencies> - <required> - <php> - <min>5.2.0</min> - </php> - <pearinstaller> - <min>1.4.0</min> - </pearinstaller> - </required> - </dependencies> - <providesextension>inotify</providesextension> - <extsrcrelease /> - <changelog> - <release> - <date>2008-11-03</date> - <version> - <release>0.1.3</release> - <api>0.1.2</api> - </version> - <stability> - <release>beta</release> - <api>beta</api> - </stability> - <notes>* Cosmetic changes (improved reflection support, etc.) -* Documented at php.net</notes> - </release> - <release> - <date>2008-10-22</date> - <version> - <release>0.1.2</release> - <api>0.1.2</api> - </version> - <stability> - <release>beta</release> - <api>beta</api> - </stability> - <notes>* Initial release</notes> - </release> - </changelog> -</package> | ||
[+] | Changed | inotify-0.1.6.tgz/inotify-0.1.6/CREDITS ^ |
(renamed from inotify-0.1.4/CREDITS) | ||
[+] | Changed | inotify-0.1.6.tgz/inotify-0.1.6/CREDITS ^ |
(renamed from inotify-0.1.4/CREDITS) | ||
Changed | inotify-0.1.6.tgz/inotify-0.1.6/EXPERIMENTAL ^ | |
[+] | Changed | inotify-0.1.6.tgz/inotify-0.1.6/LICENSE ^ |
(renamed from inotify-0.1.4/LICENSE) | ||
[+] | Changed | inotify-0.1.6.tgz/inotify-0.1.6/LICENSE ^ |
(renamed from inotify-0.1.4/LICENSE) | ||
[+] | Changed | inotify-0.1.6.tgz/inotify-0.1.6/README ^ |
(renamed from inotify-0.1.4/README) | ||
[+] | Changed | inotify-0.1.6.tgz/inotify-0.1.6/README ^ |
(renamed from inotify-0.1.4/README) | ||
[+] | Added | inotify-0.1.6.tgz/inotify-0.1.6/config.m4 ^ |
@@ -0,0 +1,22 @@ +dnl $Id: config.m4 262896 2008-07-17 19:11:16Z lbarnaud $ +dnl config.m4 for extension inotify + +PHP_ARG_ENABLE(inotify, whether to enable inotify support, +[ --enable-inotify Enable inotify support]) + +if test "$PHP_INOTIFY" != "no"; then + + AC_TRY_RUN([ + #include <sys/inotify.h> + void testfunc(int (*passedfunc)()) { + } + int main() { + testfunc(inotify_init); + return 0; + } + ],[],[ + AC_MSG_ERROR(Your system does not support inotify) + ]) + + PHP_NEW_EXTENSION(inotify, inotify.c, $ext_shared) +fi | ||
[+] | Added | inotify-0.1.6.tgz/inotify-0.1.6/inotify.c ^ |
@@ -0,0 +1,357 @@ +/* + +----------------------------------------------------------------------+ + | PHP Version 5 | + +----------------------------------------------------------------------+ + | Copyright (c) 1997-2008 The PHP Group | + +----------------------------------------------------------------------+ + | This source file is subject to version 3.01 of the PHP license, | + | that is bundled with this package in the file LICENSE, and is | + | available through the world-wide-web at the following url: | + | http://www.php.net/license/3_01.txt | + | If you did not receive a copy of the PHP license and are unable to | + | obtain it through the world-wide-web, please send a note to | + | license@php.net so we can mail you a copy immediately. | + +----------------------------------------------------------------------+ + | Author: Arnaud Le Blanc <arnaud.lb@gmail.com> | + +----------------------------------------------------------------------+ +*/ + +/* $Id: inotify.c 323910 2012-03-05 13:24:46Z pierrick $ */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <string.h> +#include <errno.h> +#include <sys/ioctl.h> +#include "php.h" +#include "php_ini.h" +#include "ext/standard/info.h" +#include "php_inotify.h" + +/* {{{ arginfo */ +ZEND_BEGIN_ARG_INFO_EX(arginfo_inotify_init, 0, ZEND_RETURN_VALUE, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_inotify_add_watch, 0, ZEND_RETURN_VALUE, 3) + ZEND_ARG_INFO(0, inotify_instance) + ZEND_ARG_INFO(0, pathname) + ZEND_ARG_INFO(0, mask) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_inotify_rm_watch, 0, ZEND_RETURN_VALUE, 2) + ZEND_ARG_INFO(0, inotify_instance) + ZEND_ARG_INFO(0, mask) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_inotify_queue_len, 0, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, inotify_instance) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_inotify_read, 0, ZEND_RETURN_VALUE, 1) + ZEND_ARG_INFO(0, inotify_instance) +ZEND_END_ARG_INFO() +/* }}} */ + +/* {{{ inotify_functions[] + */ +#if ZEND_MODULE_API_NO >= 20071006 +const +#endif +zend_function_entry inotify_functions[] = { + + PHP_FE(inotify_init, arginfo_inotify_init) + PHP_FE(inotify_add_watch, arginfo_inotify_add_watch) + PHP_FE(inotify_rm_watch, arginfo_inotify_rm_watch) + PHP_FE(inotify_queue_len, arginfo_inotify_queue_len) + PHP_FE(inotify_read, arginfo_inotify_read) + {NULL, NULL, NULL} /* Must be the last line in inotify_functions[] */ +}; +/* }}} */ + +/* {{{ inotify_module_entry + */ +zend_module_entry inotify_module_entry = { +#if ZEND_MODULE_API_NO >= 20010901 + STANDARD_MODULE_HEADER, +#endif + "inotify", + inotify_functions, + PHP_MINIT(inotify), + PHP_MSHUTDOWN(inotify), + NULL, /* Replace with NULL if there's nothing to do at request start */ + NULL, /* Replace with NULL if there's nothing to do at request end */ + PHP_MINFO(inotify), +#if ZEND_MODULE_API_NO >= 20010901 + PHP_INOTIFY_VERSION, +#endif + STANDARD_MODULE_PROPERTIES +}; +/* }}} */ + +#ifdef COMPILE_DL_INOTIFY +ZEND_GET_MODULE(inotify) +#endif + +/* {{{ PHP_MINIT_FUNCTION + */ +PHP_MINIT_FUNCTION(inotify) +{ + /* the following are legal, implemented events that user-space can watch for */ + REGISTER_LONG_CONSTANT("IN_ACCESS", IN_ACCESS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_MODIFY", IN_MODIFY, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_ATTRIB", IN_ATTRIB, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_CLOSE_WRITE", IN_CLOSE_WRITE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_CLOSE_NOWRITE", IN_CLOSE_NOWRITE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_OPEN", IN_OPEN, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_MOVED_FROM", IN_MOVED_FROM, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_MOVED_TO", IN_MOVED_TO, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_CREATE", IN_CREATE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_DELETE", IN_DELETE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_DELETE_SELF", IN_DELETE_SELF, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_MOVE_SELF", IN_MOVE_SELF, CONST_CS | CONST_PERSISTENT); + + /* the following are legal events. they are sent as needed to any watch */ + REGISTER_LONG_CONSTANT("IN_UNMOUNT", IN_UNMOUNT, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_Q_OVERFLOW", IN_Q_OVERFLOW, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_IGNORED", IN_IGNORED, CONST_CS | CONST_PERSISTENT); + + /* helper events */ + REGISTER_LONG_CONSTANT("IN_CLOSE", IN_CLOSE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_MOVE", IN_MOVE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_ALL_EVENTS", IN_ALL_EVENTS, CONST_CS | CONST_PERSISTENT); + + /* special flags */ + REGISTER_LONG_CONSTANT("IN_ONLYDIR", IN_ONLYDIR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_DONT_FOLLOW", IN_DONT_FOLLOW, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_MASK_ADD", IN_MASK_ADD, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_ISDIR", IN_ISDIR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IN_ONESHOT", IN_ONESHOT, CONST_CS | CONST_PERSISTENT); + + return SUCCESS; +} +/* }}} */ + +/* {{{ PHP_MSHUTDOWN_FUNCTION + */ +PHP_MSHUTDOWN_FUNCTION(inotify) +{ + return SUCCESS; +} +/* }}} */ + +/* {{{ PHP_MINFO_FUNCTION + */ +PHP_MINFO_FUNCTION(inotify) +{ + php_info_print_table_start(); + php_info_print_table_row(2, "Version", PHP_INOTIFY_VERSION); + php_info_print_table_end(); +} +/* }}} */ + +static int php_inotify_queue_len(const int fd TSRMLS_DC) /* {{{ */ +{ + int ret; + int queue_len; + + ret = ioctl(fd, FIONREAD, &queue_len); + if (ret < 0) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", strerror(errno)); + return 0; + } + return queue_len; +} /* }}} */ + +/* {{{ proto resource inotify_init() + Initializes a new inotify instance and returns an inotify resource associated with the new inotify event queue */ +PHP_FUNCTION(inotify_init) +{ + php_stream *stream; + int fd; + + fd = inotify_init(); + + if (fd == -1) { + switch(errno) { + INOTIFY_ERROR_CASE(INIT,EMFILE); + INOTIFY_ERROR_CASE(INIT,ENFILE); + INOTIFY_ERROR_CASE(INIT,ENOMEM); + INOTIFY_DEFAULT_ERROR(errno); + } + RETURN_FALSE; + } + + stream = php_stream_fopen_from_fd(fd, "r", NULL); + stream->flags |= PHP_STREAM_FLAG_NO_SEEK; + + php_stream_to_zval(stream, return_value); +} +/* }}} */ + +/* {{{ proto int inotify_add_watch(resource inofity_instance, string pathname, int mask) + Adds a watch to an initialized inotify instance */ +PHP_FUNCTION(inotify_add_watch) +{ + zval *zstream; + php_stream *stream; + char *pathname; + int pathname_len; + long mask, wd; + int fd; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rsl", &zstream, &pathname, &pathname_len, &mask) == FAILURE) { + return; + } + +#if PHP_VERSION_ID < 50399 + if (PG(safe_mode) && (!php_checkuid(pathname, NULL, CHECKUID_ALLOW_FILE_NOT_EXISTS))) { + RETURN_FALSE; + } +#endif + if (php_check_open_basedir(pathname TSRMLS_CC)) { + RETURN_FALSE; + } + + php_stream_from_zval(stream, &zstream); + INOTIFY_FD(stream, fd); + + wd = inotify_add_watch(fd, pathname, mask); + + if (wd == -1) { + switch(errno) { + INOTIFY_ERROR_CASE(ADD_WATCH,EACCES); + INOTIFY_ERROR_CASE(ADD_WATCH,EBADF); + INOTIFY_ERROR_CASE(ADD_WATCH,EINVAL); + INOTIFY_ERROR_CASE(ADD_WATCH,ENOMEM); + INOTIFY_ERROR_CASE(ADD_WATCH,ENOSPC); + INOTIFY_DEFAULT_ERROR(errno); + } + RETURN_FALSE; + } + + RETURN_LONG(wd); +} +/* }}} */ + +/* {{{ proto bool inotify_rm_watch(resource inotify_instance, int inotify_watch_descriptor) + Remove an existing watch from the given inotify instance */ +PHP_FUNCTION(inotify_rm_watch) +{ + zval *zstream; + php_stream *stream; + int fd; + long wd; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl", &zstream, &wd) == FAILURE) { + return; + } + + php_stream_from_zval(stream, &zstream); + INOTIFY_FD(stream, fd); + + if (inotify_rm_watch(fd, wd) == -1) { + switch(errno) { + INOTIFY_ERROR_CASE(RM_WATCH,EINVAL); + INOTIFY_DEFAULT_ERROR(errno); + } + RETURN_FALSE; + } + + RETURN_TRUE; +} +/* }}} */ + +/* {{{ proto int inotify_queue_len(resource inotify_instance) + Returns an int upper than zero if events are pending */ +PHP_FUNCTION(inotify_queue_len) +{ + zval *zstream; + php_stream *stream; + int fd; + long queue_len; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zstream) == FAILURE) { + return; + } + + php_stream_from_zval(stream, &zstream); + INOTIFY_FD(stream, fd); + + queue_len = php_inotify_queue_len(fd TSRMLS_CC); + + RETURN_LONG(queue_len); +} +/* }}} */ + +/* {{{ proto array inotify_read(resource inotify_instance) + read()s inotify events */ +PHP_FUNCTION(inotify_read) +{ + zval *zstream; + php_stream *stream; + char *readbuf = NULL; + size_t readbuf_size = 0; + ssize_t readden, i; + struct inotify_event *event; + zval *event_ary; + int fd; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zstream) == FAILURE) { + return; + } + + php_stream_from_zval(stream, &zstream); + INOTIFY_FD(stream, fd); + + readbuf_size = (double) php_inotify_queue_len(fd TSRMLS_CC) * 1.6; + if (readbuf_size < 1) { + readbuf_size = sizeof(struct inotify_event) + 32; + } + + do { + readbuf = erealloc(readbuf, readbuf_size); + readden = read(fd, readbuf, readbuf_size); + + /* If the passed buffer is too small to contain all the + * pending events, the kernel may return an error and + * forces us to pass a bigger one. */ + if (INOTIFY_BUF_TOO_SMALL(readden,errno)) { + readbuf_size *= 1.6; + continue; + } else if (readden < 0) { + if (errno != EAGAIN) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", strerror(errno)); + } + efree(readbuf); + RETURN_FALSE; + } + } while (INOTIFY_BUF_TOO_SMALL(readden,errno)); + + array_init(return_value); + + for(i = 0; i < readden; i += sizeof(struct inotify_event) + event->len) { + event = (struct inotify_event *)&readbuf[i]; + + ALLOC_INIT_ZVAL(event_ary); + array_init(event_ary); + add_assoc_long(event_ary, "wd", event->wd); + add_assoc_long(event_ary, "mask", event->mask); + add_assoc_long(event_ary, "cookie", event->cookie); + add_assoc_string(event_ary, "name", (event->len > 0 ? event->name : ""), 1); + + add_next_index_zval(return_value, event_ary); + } + efree(readbuf); +} +/* }}} */ + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: noet sw=4 ts=4 fdm=marker + * vim<600: noet sw=4 ts=4 + */ | ||
[+] | Changed | inotify-0.1.6.tgz/inotify-0.1.6/inotify.php ^ |
(renamed from inotify-0.1.4/inotify.php) | ||
[+] | Changed | inotify-0.1.6.tgz/inotify-0.1.6/inotify.php ^ |
(renamed from inotify-0.1.4/inotify.php) | ||
[+] | Added | inotify-0.1.6.tgz/inotify-0.1.6/php_inotify.h ^ |
@@ -0,0 +1,94 @@ +/* + +----------------------------------------------------------------------+ + | PHP Version 5 | + +----------------------------------------------------------------------+ + | Copyright (c) 1997-2008 The PHP Group | + +----------------------------------------------------------------------+ + | This source file is subject to version 3.01 of the PHP license, | + | that is bundled with this package in the file LICENSE, and is | + | available through the world-wide-web at the following url: | + | http://www.php.net/license/3_01.txt | + | If you did not receive a copy of the PHP license and are unable to | + | obtain it through the world-wide-web, please send a note to | + | license@php.net so we can mail you a copy immediately. | + +----------------------------------------------------------------------+ + | Author: Arnaud Le Blanc <arnaud.lb@gmail.com> | + +----------------------------------------------------------------------+ +*/ + +/* $Id: php_inotify.h 263281 2008-07-23 12:32:35Z lbarnaud $ */ + +#ifndef PHP_INOTIFY_H +#define PHP_INOTIFY_H + +extern zend_module_entry inotify_module_entry; +#define phpext_inotify_ptr &inotify_module_entry + +#ifdef ZTS +#include "TSRM.h" +#endif + +#include <sys/inotify.h> + +PHP_MINIT_FUNCTION(inotify); +PHP_MSHUTDOWN_FUNCTION(inotify); +PHP_MINFO_FUNCTION(inotify); + +PHP_FUNCTION(inotify_init); +PHP_FUNCTION(inotify_add_watch); +PHP_FUNCTION(inotify_rm_watch); +PHP_FUNCTION(inotify_queue_len); +PHP_FUNCTION(inotify_read); + +#define PHP_INOTIFY_VERSION "0.1.1" + +#define INOTIFY_BUF_TOO_SMALL(ret,errno) \ + ((ret) == 0 || ((ret) == -1 && (errno) == EINVAL)) +#define INOTIFY_FD(stream, fd) \ + php_stream_cast((stream), PHP_STREAM_AS_FD_FOR_SELECT, (void*)&(fd), 1); + +/* Define some error messages for the error numbers set by inotify_*() functions, + as strerror() messages are not always usefull here */ + +#define INOTIFY_INIT_EMFILE \ + "The user limit on the total number of inotify instances has been reached" +#define INOTIFY_INIT_ENFILE \ + "The system limit on the total number of file descriptors has been reached" +#define INOTIFY_INIT_ENOMEM \ + "Insufficient kernel memory is available" + +#define INOTIFY_ADD_WATCH_EACCES \ + "Read access to the given file is not permitted" +#define INOTIFY_ADD_WATCH_EBADF \ + "The given file descriptor is not valid" +#define INOTIFY_ADD_WATCH_EINVAL \ + "The given event mask contains no valid events; or the given file descriptor is not valid" +#define INOTIFY_ADD_WATCH_ENOMEM \ + "Insufficient kernel memory was available" +#define INOTIFY_ADD_WATCH_ENOSPC \ + "The user limit on the total number of inotify watches was reached or the kernel failed to allocate a needed resource" + +#define INOTIFY_RM_WATCH_EINVAL \ + "The file descriptor is not an inotify instance or the watch descriptor is invalid" + +#define INOTIFY_ERROR_CASE(func, errno) \ + case (errno): \ + php_error_docref(NULL TSRMLS_CC, E_WARNING, INOTIFY_##func##_##errno); \ + break; +#define INOTIFY_DEFAULT_ERROR(errno) \ + default: \ + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", strerror(errno)); \ + break; + + +#endif /* PHP_INOTIFY_H */ + + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: noet sw=4 ts=4 fdm=marker + * vim<600: noet sw=4 ts=4 + */ | ||
[+] | Changed | inotify-0.1.6.tgz/inotify-0.1.6/tail.php ^ |
(renamed from inotify-0.1.4/tail.php) | ||
[+] | Changed | inotify-0.1.6.tgz/inotify-0.1.6/tail.php ^ |
(renamed from inotify-0.1.4/tail.php) | ||
[+] | Changed | inotify-0.1.6.tgz/inotify-0.1.6/tests/002.phpt ^ |
(renamed from inotify-0.1.4/tests/002.phpt) | ||
[+] | Changed | inotify-0.1.6.tgz/inotify-0.1.6/tests/002.phpt ^ |
(renamed from inotify-0.1.4/tests/002.phpt) | ||
[+] | Changed | inotify-0.1.6.tgz/package.xml ^ |
@@ -1,39 +1,114 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0"> -<package version="1.0" packagerversion="1.7.2"> +<?xml version="1.0" encoding="UTF-8"?> +<package packagerversion="1.9.4" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd"> <name>inotify</name> + <channel>pecl.php.net</channel> <summary>Inotify</summary> - <description>The inotify extension allows to use inotify functions in a PHP script. - </description> - <maintainers> - <maintainer> - <user>lbarnaud2</user> - <name>Arnaud Le Blanc</name> - <email>arnaud.lb@gmail.com</email> - <role>lead</role> - </maintainer> - </maintainers> - <release> - <version>0.1.4</version> - <date>2009-05-19</date> - <license>PHP License</license> - <state>beta</state> - <notes>* Repackage - </notes> - <deps> - <dep type="php" rel="ge" version="5.2.0"/> - </deps> - <filelist> - <file role="test" md5sum="b904d6d0d966d04080282d473aec742c" name="tests/002.phpt"/> - <file role="src" md5sum="d278559d7af35f0207777375b5cc96e9" name="config.m4"/> - <file role="doc" md5sum="9503bc24ddc39eeeb67ef95304aab132" name="CREDITS"/> - <file role="doc" md5sum="d41d8cd98f00b204e9800998ecf8427e" name="EXPERIMENTAL"/> - <file role="src" md5sum="ed155dd151ef6b29b9f151f92606f4bf" name="inotify.c"/> - <file role="php" md5sum="155f6c7316cff3f12da669b81ee0f16c" name="inotify.php"/> - <file role="doc" md5sum="0e964e9273c606c46afbd311b5ad4d77" name="LICENSE"/> - <file role="src" md5sum="423d6034c8f0971e7c13325556621ee7" name="php_inotify.h"/> - <file role="doc" md5sum="9477c6c5c484ea6ea0d2560369834cc5" name="README"/> - <file role="php" md5sum="23a36451db200914675821bf1fac2f57" name="tail.php"/> - </filelist> - </release> + <description>The inotify extension allows to use inotify functions in a PHP script.</description> + <lead> + <name>Arnaud Le Blanc</name> + <user>lbarnaud2</user> + <email>arnaud.lb@gmail.com</email> + <active>yes</active> + </lead> + <date>2012-05-04</date> + <time>09:51:20</time> + <version> + <release>0.1.6</release> + <api>0.1.2</api> + </version> + <stability> + <release>stable</release> + <api>stable</api> + </stability> + <license uri="http://www.php.net/license">PHP License</license> + <notes> +* Repackage +* Stable + </notes> + <contents> + <dir name="/"> + <file md5sum="b904d6d0d966d04080282d473aec742c" name="tests/002.phpt" role="test" /> + <file md5sum="9503bc24ddc39eeeb67ef95304aab132" name="CREDITS" role="doc" /> + <file md5sum="d41d8cd98f00b204e9800998ecf8427e" name="EXPERIMENTAL" role="doc" /> + <file md5sum="0e964e9273c606c46afbd311b5ad4d77" name="LICENSE" role="doc" /> + <file md5sum="9477c6c5c484ea6ea0d2560369834cc5" name="README" role="doc" /> + <file md5sum="39ace1fca0cee429ed75d091f05fdd4c" name="inotify.c" role="src" /> + <file md5sum="b38a0d7fd79b506230863b9c90248849" name="php_inotify.h" role="src" /> + <file md5sum="7139989be35321fc2391b02e127398b0" name="config.m4" role="src" /> + <file md5sum="155f6c7316cff3f12da669b81ee0f16c" name="inotify.php" role="php" /> + <file md5sum="23a36451db200914675821bf1fac2f57" name="tail.php" role="php" /> + </dir> + </contents> + <dependencies> + <required> + <php> + <min>5.2.0</min> + </php> + <pearinstaller> + <min>1.4.0</min> + </pearinstaller> + </required> + </dependencies> + <providesextension>inotify</providesextension> + <extsrcrelease /> + <changelog> + <release> + <date>2012-03-05</date> + <time>16:08:26</time> + <version> + <release>0.1.5</release> + <api>0.1.2</api> + </version> + <stability> + <release>beta</release> + <api>beta</api> + </stability> + <notes> +* PHP 5.4 compatibility + </notes> + </release> + <release> + <date>2009-05-19</date> + <version> + <release>0.1.4</release> + <api>0.1.2</api> + </version> + <stability> + <release>beta</release> + <api>beta</api> + </stability> + <notes> +* Repackage + </notes> + </release> + <release> + <date>2008-11-03</date> + <version> + <release>0.1.3</release> + <api>0.1.2</api> + </version> + <stability> + <release>beta</release> + <api>beta</api> + </stability> + <notes> +* Cosmetic changes (improved reflection support, etc.) +* Documented at php.net + </notes> + </release> + <release> + <date>2008-10-22</date> + <version> + <release>0.1.2</release> + <api>0.1.2</api> + </version> + <stability> + <release>beta</release> + <api>beta</api> + </stability> + <notes> +* Initial release + </notes> + </release> + </changelog> </package> | ||
[+] | Deleted | package.xml ^ |
@@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0"> -<package version="1.0" packagerversion="1.7.2"> - <name>inotify</name> - <summary>Inotify</summary> - <description>The inotify extension allows to use inotify functions in a PHP script. - </description> - <maintainers> - <maintainer> - <user>lbarnaud2</user> - <name>Arnaud Le Blanc</name> - <email>arnaud.lb@gmail.com</email> - <role>lead</role> - </maintainer> - </maintainers> - <release> - <version>0.1.4</version> - <date>2009-05-19</date> - <license>PHP License</license> - <state>beta</state> - <notes>* Repackage - </notes> - <deps> - <dep type="php" rel="ge" version="5.2.0"/> - </deps> - <filelist> - <file role="test" md5sum="b904d6d0d966d04080282d473aec742c" name="tests/002.phpt"/> - <file role="src" md5sum="d278559d7af35f0207777375b5cc96e9" name="config.m4"/> - <file role="doc" md5sum="9503bc24ddc39eeeb67ef95304aab132" name="CREDITS"/> - <file role="doc" md5sum="d41d8cd98f00b204e9800998ecf8427e" name="EXPERIMENTAL"/> - <file role="src" md5sum="ed155dd151ef6b29b9f151f92606f4bf" name="inotify.c"/> - <file role="php" md5sum="155f6c7316cff3f12da669b81ee0f16c" name="inotify.php"/> - <file role="doc" md5sum="0e964e9273c606c46afbd311b5ad4d77" name="LICENSE"/> - <file role="src" md5sum="423d6034c8f0971e7c13325556621ee7" name="php_inotify.h"/> - <file role="doc" md5sum="9477c6c5c484ea6ea0d2560369834cc5" name="README"/> - <file role="php" md5sum="23a36451db200914675821bf1fac2f57" name="tail.php"/> - </filelist> - </release> -</package> | ||
[+] | Deleted | package2.xml ^ |
@@ -1,78 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<package packagerversion="1.7.2" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd"> - <name>inotify</name> - <channel>pecl.php.net</channel> - <summary>Inotify</summary> - <description>The inotify extension allows to use inotify functions in a PHP script.</description> - <lead> - <name>Arnaud Le Blanc</name> - <user>lbarnaud2</user> - <email>arnaud.lb@gmail.com</email> - <active>yes</active> - </lead> - <date>2009-05-19</date> - <time>16:26:59</time> - <version> - <release>0.1.4</release> - <api>0.1.2</api> - </version> - <stability> - <release>beta</release> - <api>beta</api> - </stability> - <license uri="http://www.php.net/license">PHP License</license> - <notes>* Repackage</notes> - <contents> - <dir name="/"> - <file md5sum="b904d6d0d966d04080282d473aec742c" name="tests/002.phpt" role="test" /> - <file md5sum="9503bc24ddc39eeeb67ef95304aab132" name="CREDITS" role="doc" /> - <file md5sum="d41d8cd98f00b204e9800998ecf8427e" name="EXPERIMENTAL" role="doc" /> - <file md5sum="0e964e9273c606c46afbd311b5ad4d77" name="LICENSE" role="doc" /> - <file md5sum="9477c6c5c484ea6ea0d2560369834cc5" name="README" role="doc" /> - <file md5sum="ed155dd151ef6b29b9f151f92606f4bf" name="inotify.c" role="src" /> - <file md5sum="423d6034c8f0971e7c13325556621ee7" name="php_inotify.h" role="src" /> - <file md5sum="d278559d7af35f0207777375b5cc96e9" name="config.m4" role="src" /> - <file md5sum="155f6c7316cff3f12da669b81ee0f16c" name="inotify.php" role="php" /> - <file md5sum="23a36451db200914675821bf1fac2f57" name="tail.php" role="php" /> - </dir> - </contents> - <dependencies> - <required> - <php> - <min>5.2.0</min> - </php> - <pearinstaller> - <min>1.4.0</min> - </pearinstaller> - </required> - </dependencies> - <providesextension>inotify</providesextension> - <extsrcrelease /> - <changelog> - <release> - <date>2008-11-03</date> - <version> - <release>0.1.3</release> - <api>0.1.2</api> - </version> - <stability> - <release>beta</release> - <api>beta</api> - </stability> - <notes>* Cosmetic changes (improved reflection support, etc.) -* Documented at php.net</notes> - </release> - <release> - <date>2008-10-22</date> - <version> - <release>0.1.2</release> - <api>0.1.2</api> - </version> - <stability> - <release>beta</release> - <api>beta</api> - </stability> - <notes>* Initial release</notes> - </release> - </changelog> -</package> |