import from review #928196
This commit is contained in:
parent
7e003e9cdc
commit
f4472fd0e3
1
.gitignore
vendored
1
.gitignore
vendored
@ -0,0 +1 @@
|
||||
/apcu-4.0.1.tgz
|
17
apcu-panel.conf
Normal file
17
apcu-panel.conf
Normal file
@ -0,0 +1,17 @@
|
||||
# APC Control Panel
|
||||
Alias /apcu-panel /usr/share/apcu-panel
|
||||
|
||||
<Directory /usr/share/apcu-panel>
|
||||
<IfModule mod_authz_core.c>
|
||||
# Apache 2.4
|
||||
Require local
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
# Apache 2.2
|
||||
Order Deny,Allow
|
||||
Deny from All
|
||||
Allow from 127.0.0.1
|
||||
Allow from ::1
|
||||
</IfModule>
|
||||
</Directory>
|
||||
|
23
apcu.conf.php
Normal file
23
apcu.conf.php
Normal file
@ -0,0 +1,23 @@
|
||||
<?php
|
||||
define('USE_AUTHENTICATION',1); // Use (internal) authentication - best choice if
|
||||
// no other authentication is available
|
||||
// If set to 0:
|
||||
// There will be no further authentication. You
|
||||
// will have to handle this by yourself!
|
||||
// If set to 1:
|
||||
// You need to change ADMIN_PASSWORD to make
|
||||
// this work!
|
||||
define('ADMIN_USERNAME','apc'); // Admin Username
|
||||
define('ADMIN_PASSWORD','password'); // Admin Password - CHANGE THIS TO ENABLE!!!
|
||||
|
||||
// (beckerr) I'm using a clear text password here, because I've no good idea how to let
|
||||
// users generate a md5 or crypt password in a easy way to fill it in above
|
||||
|
||||
//define('DATE_FORMAT', "d.m.Y H:i:s"); // German
|
||||
//define('DATE_FORMAT', "d/m/Y H:i:s"); // French
|
||||
define('DATE_FORMAT', 'Y/m/d H:i:s'); // US
|
||||
|
||||
define('GRAPH_SIZE',200); // Image size
|
||||
|
||||
//define('PROXY', 'tcp://127.0.0.1:8080');
|
||||
|
72
apcu.ini
Normal file
72
apcu.ini
Normal file
@ -0,0 +1,72 @@
|
||||
; Enable APCu extension module
|
||||
extension = apcu.so
|
||||
|
||||
; This can be set to 0 to disable APCu
|
||||
apc.enabled=1
|
||||
|
||||
; Setting this enables APCu for the CLI version of PHP
|
||||
; (Mostly for testing and debugging).
|
||||
;apc.enable_cli=0
|
||||
|
||||
; Sets the path to text files containing caches to load from disk upon
|
||||
; initialization of APCu. preload_path should be a directory where each
|
||||
; file follows $key.data where $key should be used as the entry name
|
||||
; and the contents of the file contains serialized data to use as the value
|
||||
; of the entry.
|
||||
;apc.preload_path=
|
||||
|
||||
; The size of each shared memory segment, with M/G suffixe
|
||||
;apc.shm_size=32M
|
||||
|
||||
; The number of seconds a cache entry is allowed to idle in a slot in case
|
||||
; this cache entry slot is needed by another entry.
|
||||
;apc.ttl=0
|
||||
|
||||
; The number of seconds that a cache entry may remain on the
|
||||
; garbage-collection list.
|
||||
;apc.gc_ttl=3600
|
||||
|
||||
; If you begin to get low on resources, an expunge of the cache
|
||||
; is performed if it is less than half full. This is not always
|
||||
; a suitable way of determining if an expunge of the cache
|
||||
; should be per apc.smart allows you to set a runtime configuration
|
||||
; value which is used to determine if an expunge should be run
|
||||
; if (available_size < apc.smart * requested_size)
|
||||
;apc.smart=0
|
||||
|
||||
; A "hint" about the number variables expected in the cache.
|
||||
; Set to zero or omit if you are not sure;
|
||||
;apc.entries_hint=4096
|
||||
|
||||
; The mktemp-style file_mask to pass to the mmap module
|
||||
apc.mmap_file_mask=/tmp/apc.XXXXXX
|
||||
|
||||
; On very busy servers whenever you start the server or
|
||||
; modify files you can create a race of many processes
|
||||
; all trying to cache the same data at the same time.
|
||||
; By default, APCu attempts to prevent "slamming" of a key.
|
||||
; A key is considered "slammed" if it was the last key set,
|
||||
; and a context other than the current one set it ( ie. it
|
||||
; was set by another process or thread )
|
||||
;apc.slam_defense=1
|
||||
|
||||
; Defines which serializer should be used
|
||||
; Default is the standard PHP serializer.
|
||||
;apc.serializer='default'
|
||||
|
||||
; use the SAPI request start time for TTL
|
||||
;apc.use_request_time=1
|
||||
|
||||
; Enables APCu handling of signals, such as SIGSEGV, that write core files
|
||||
; when signaled. APCu will attempt to unmap the shared memory segment in
|
||||
; order to exclude it from the core file
|
||||
;apc.coredump_unmap=0
|
||||
|
||||
|
||||
; RFC1867 File Upload Progress hook handler
|
||||
;apc.rfc1867=0
|
||||
;apc.rfc1867_prefix =upload_
|
||||
;apc.rfc1867_name=APC_UPLOAD_PROGRESS
|
||||
;apc.rfc1867_freq=0
|
||||
;apc.rfc1867_ttl=3600
|
||||
|
243
php-pecl-apcu.spec
Normal file
243
php-pecl-apcu.spec
Normal file
@ -0,0 +1,243 @@
|
||||
%{!?php_inidir: %{expand: %%global php_inidir %{_sysconfdir}/php.d}}
|
||||
%{!?php_incldir: %{expand: %%global php_incldir %{_includedir}/php}}
|
||||
%{!?__pecl: %{expand: %%global __pecl %{_bindir}/pecl}}
|
||||
%global pecl_name apcu
|
||||
%global with_zts 0%{?__ztsphp:1}
|
||||
|
||||
Name: php-pecl-apcu
|
||||
Summary: APC User Cache
|
||||
Version: 4.0.1
|
||||
Release: 1%{?dist}
|
||||
Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz
|
||||
Source1: %{pecl_name}.ini
|
||||
Source2: %{pecl_name}-panel.conf
|
||||
Source3: %{pecl_name}.conf.php
|
||||
|
||||
License: PHP
|
||||
Group: Development/Languages
|
||||
URL: http://pecl.php.net/package/APCu
|
||||
|
||||
BuildRequires: php-devel
|
||||
BuildRequires: php-pear
|
||||
|
||||
Requires(post): %{__pecl}
|
||||
Requires(postun): %{__pecl}
|
||||
Requires: php(zend-abi) = %{php_zend_api}
|
||||
Requires: php(api) = %{php_core_api}
|
||||
|
||||
Obsoletes: php-apcu < 4.0.0-1
|
||||
Provides: php-apcu = %{version}
|
||||
Provides: php-apcu%{?_isa} = %{version}
|
||||
Provides: php-pecl(apcu) = %{version}
|
||||
Provides: php-pecl(apcu)%{?_isa} = %{version}
|
||||
# Same provides than APC, this is a drop in replacement
|
||||
Conflicts: php-pecl-apc < 4
|
||||
Provides: php-apc = %{version}
|
||||
Provides: php-apc%{?_isa} = %{version}
|
||||
Provides: php-pecl-apc = %{version}
|
||||
Provides: php-pecl-apc%{?_isa} = %{version}
|
||||
Provides: php-pecl(APC) = %{version}
|
||||
Provides: php-pecl(APC)%{?_isa} = %{version}
|
||||
|
||||
# Filter private shared
|
||||
%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$}
|
||||
%{?filter_setup}
|
||||
|
||||
|
||||
%description
|
||||
APCu is userland caching: APC stripped of opcode caching in preparation
|
||||
for the deployment of Zend OPcache as the primary solution to opcode
|
||||
caching in future versions of PHP.
|
||||
|
||||
APCu has a revised and simplified codebase, by the time the PECL release
|
||||
is available, every part of APCu being used will have received review and
|
||||
where necessary or appropriate, changes.
|
||||
|
||||
Simplifying and documenting the API of APCu completely removes the barrier
|
||||
to maintenance and development of APCu in the future, and additionally allows
|
||||
us to make optimizations not possible previously because of APC's inherent
|
||||
complexity.
|
||||
|
||||
APCu only supports userland caching (and dumping) of variables, providing an
|
||||
upgrade path for the future. When O+ takes over, many will be tempted to use
|
||||
3rd party solutions to userland caching, possibly even distributed solutions;
|
||||
this would be a grave error. The tried and tested APC codebase provides far
|
||||
superior support for local storage of PHP variables.
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: APCu developer files (header)
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: php-devel%{?_isa}
|
||||
#Obsoletes: php-pecl-apc-devel
|
||||
|
||||
%description devel
|
||||
These are the files needed to compile programs using APCu.
|
||||
|
||||
|
||||
%package -n apcu-panel
|
||||
Summary: APCu control panel
|
||||
Group: Applications/Internet
|
||||
BuildArch: noarch
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: mod_php, httpd, php-gd
|
||||
#Obsoletes: apc-panel
|
||||
|
||||
%description -n apcu-panel
|
||||
This package provides the APCu control panel, with Apache
|
||||
configuration, available on http://localhost/apcu-panel/
|
||||
|
||||
|
||||
%prep
|
||||
%setup -qc
|
||||
mv %{pecl_name}-%{version} NTS
|
||||
|
||||
cd NTS
|
||||
|
||||
# Sanity check, really often broken
|
||||
extver=$(sed -n '/#define PHP_APC_VERSION/{s/.* "//;s/".*$//;p}' php_apc.h)
|
||||
if test "x${extver}" != "x%{version}"; then
|
||||
: Error: Upstream extension version is ${extver}, expecting %{version}.
|
||||
exit 1
|
||||
fi
|
||||
cd ..
|
||||
|
||||
%if %{with_zts}
|
||||
# duplicate for ZTS build
|
||||
cp -pr NTS ZTS
|
||||
%endif
|
||||
|
||||
|
||||
%build
|
||||
cd NTS
|
||||
%{_bindir}/phpize
|
||||
%configure --with-php-config=%{_bindir}/php-config
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%if %{with_zts}
|
||||
cd ../ZTS
|
||||
%{_bindir}/zts-phpize
|
||||
%configure --with-php-config=%{_bindir}/zts-php-config
|
||||
make %{?_smp_mflags}
|
||||
%endif
|
||||
|
||||
|
||||
%install
|
||||
# Install the NTS stuff
|
||||
make -C NTS install INSTALL_ROOT=%{buildroot}
|
||||
install -D -m 644 %{SOURCE1} %{buildroot}%{php_inidir}/%{pecl_name}.ini
|
||||
|
||||
# Install the ZTS stuff
|
||||
%if %{with_zts}
|
||||
make -C ZTS install INSTALL_ROOT=%{buildroot}
|
||||
install -D -m 644 %{SOURCE1} %{buildroot}%{php_ztsinidir}/%{pecl_name}.ini
|
||||
%endif
|
||||
|
||||
# Install the package XML file
|
||||
install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml
|
||||
|
||||
# Install the Control Panel
|
||||
# Pages
|
||||
install -d -m 755 %{buildroot}%{_datadir}/apcu-panel
|
||||
sed -e s:apc.conf.php:%{_sysconfdir}/apcu-panel/conf.php:g \
|
||||
NTS/apc.php >%{buildroot}%{_datadir}/apcu-panel/index.php
|
||||
# Apache config
|
||||
install -D -m 644 -p %{SOURCE2} \
|
||||
%{buildroot}%{_sysconfdir}/httpd/conf.d/apcu-panel.conf
|
||||
# Panel config
|
||||
install -D -m 644 -p %{SOURCE3} \
|
||||
%{buildroot}%{_sysconfdir}/apcu-panel/conf.php
|
||||
|
||||
|
||||
%check
|
||||
cd NTS
|
||||
|
||||
# Check than both extensions are reported (BC mode)
|
||||
%{_bindir}/php -n -d extension_dir=modules -d extension=apcu.so -m | grep 'apcu'
|
||||
%{_bindir}/php -n -d extension_dir=modules -d extension=apcu.so -m | grep 'apc$'
|
||||
|
||||
# Upstream test suite
|
||||
TEST_PHP_EXECUTABLE=%{_bindir}/php \
|
||||
TEST_PHP_ARGS="-n -d extension_dir=$PWD/modules -d extension=%{pecl_name}.so" \
|
||||
NO_INTERACTION=1 \
|
||||
REPORT_EXIT_STATUS=1 \
|
||||
%{_bindir}/php -n run-tests.php
|
||||
|
||||
%if %{with_zts}
|
||||
cd ../ZTS
|
||||
|
||||
%{__ztsphp} -n -d extension_dir=modules -d extension=apcu.so -m | grep 'apcu'
|
||||
%{__ztsphp} -n -d extension_dir=modules -d extension=apcu.so -m | grep 'apc$'
|
||||
|
||||
TEST_PHP_EXECUTABLE=%{__ztsphp} \
|
||||
TEST_PHP_ARGS="-n -d extension_dir=$PWD/modules -d extension=%{pecl_name}.so" \
|
||||
NO_INTERACTION=1 \
|
||||
REPORT_EXIT_STATUS=1 \
|
||||
%{__ztsphp} -n run-tests.php
|
||||
%endif
|
||||
|
||||
|
||||
%post
|
||||
%{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || :
|
||||
|
||||
|
||||
%postun
|
||||
if [ $1 -eq 0 ] ; then
|
||||
%{pecl_uninstall} %{pecl_name} >/dev/null || :
|
||||
fi
|
||||
|
||||
|
||||
%files
|
||||
%doc NTS/{NOTICE,LICENSE,README.md}
|
||||
%{pecl_xmldir}/%{name}.xml
|
||||
|
||||
%config(noreplace) %{php_inidir}/%{pecl_name}.ini
|
||||
%{php_extdir}/%{pecl_name}.so
|
||||
|
||||
%if %{with_zts}
|
||||
%{php_ztsextdir}/%{pecl_name}.so
|
||||
%config(noreplace) %{php_ztsinidir}/%{pecl_name}.ini
|
||||
%endif
|
||||
|
||||
%files devel
|
||||
%{php_incldir}/ext/%{pecl_name}
|
||||
%if %{with_zts}
|
||||
%{php_ztsincldir}/ext/%{pecl_name}
|
||||
%endif
|
||||
|
||||
%files -n apcu-panel
|
||||
%defattr(-,root,root,-)
|
||||
# Need to restrict access, as it contains a clear password
|
||||
%attr(750,apache,root) %dir %{_sysconfdir}/apcu-panel
|
||||
%config(noreplace) %{_sysconfdir}/apcu-panel/conf.php
|
||||
%config(noreplace) %{_sysconfdir}/httpd/conf.d/apcu-panel.conf
|
||||
%{_datadir}/apcu-panel
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Apr 30 2013 Remi Collet <remi@fedoraproject.org> - 4.0.1-1
|
||||
- Update to 4.0.1
|
||||
- add missing scriptlet
|
||||
- fix Conflicts
|
||||
|
||||
* Thu Apr 25 2013 Remi Collet <remi@fedoraproject.org> - 4.0.0-2
|
||||
- fix segfault when used from command line
|
||||
|
||||
* Wed Mar 27 2013 Remi Collet <remi@fedoraproject.org> - 4.0.0-1
|
||||
- first pecl release
|
||||
- rename from php-apcu to php-pecl-apcu
|
||||
|
||||
* Tue Mar 26 2013 Remi Collet <remi@fedoraproject.org> - 4.0.0-0.4.git4322fad
|
||||
- new snapshot (test before release)
|
||||
|
||||
* Mon Mar 25 2013 Remi Collet <remi@fedoraproject.org> - 4.0.0-0.3.git647cb2b
|
||||
- new snapshot with our pull request
|
||||
- allow to run test suite simultaneously on 32/64 arch
|
||||
- build warning free
|
||||
|
||||
* Mon Mar 25 2013 Remi Collet <remi@fedoraproject.org> - 4.0.0-0.2.git6d20302
|
||||
- new snapshot with full APC compatibility
|
||||
|
||||
* Sat Mar 23 2013 Remi Collet <remi@fedoraproject.org> - 4.0.0-0.1.git44e8dd4
|
||||
- initial package, version 4.0.0
|
Loading…
Reference in New Issue
Block a user