[-]
[+]
|
Changed |
php5-inotify.spec
|
|
[-]
[+]
|
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>
|