diff --git a/.gitignore b/.gitignore index 9abb41d..149bce7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -*~ +clog package-*.xml /Cache_Lite-1.7.10.tgz /Cache_Lite-1.7.11.tgz @@ -6,3 +6,7 @@ package-*.xml /Cache_Lite-1.7.14.tgz /Cache_Lite-1.7.15.tgz /Cache_Lite-1.7.16.tgz +/Cache_Lite-1.8.0.tgz +/Cache_Lite-1.8.2.tgz +/Cache_Lite-1.8.3.tgz +/php-pear-Cache-Lite-2.0.0-fc7c670.tgz diff --git a/Cache_Lite-pear.patch b/Cache_Lite-pear.patch deleted file mode 100644 index 6616204..0000000 --- a/Cache_Lite-pear.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up Cache_Lite-1.7.16/Cache/Lite.php.old Cache_Lite-1.7.16/Cache/Lite.php ---- Cache_Lite-1.7.16/Cache/Lite.php.old 2014-05-10 11:45:38.378961871 +0200 -+++ Cache_Lite-1.7.16/Cache/Lite.php 2014-05-10 11:56:49.725603495 +0200 -@@ -555,7 +555,8 @@ class Cache_Lite - function raiseError($msg, $code) - { - include_once('PEAR.php'); -- return PEAR::raiseError($msg, $code, $this->_pearErrorMode); -+ $p = new PEAR(); -+ return $p->raiseError($msg, $code, $this->_pearErrorMode); - } - - /** diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..a7d9757 --- /dev/null +++ b/composer.json @@ -0,0 +1,36 @@ +{ + "name": "pear/cache_lite", + "type": "library", + "description": "Fast and safe little cache system", + "keywords": [ + "cache" + ], + "homepage": "https://github.com/pear/Cache_Lite", + "license": "LGPL-2.1-or-later", + "authors": [ + { + "name": "Markus Tacker", + "homepage": "http://pear.php.net/user/tacker" + }, + { + "name": "Fabien Marty", + "homepage": "http://pear.php.net/user/fab" + } + ], + "require": { + "php": ">=7.4.0", + "pear/pear-core-minimal": "^1.10" + }, + "autoload": { + "classmap": [ + "Cache/Lite.php" + ] + }, + "support": { + "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Cache_Lite", + "source": "https://github.com/pear/Cache_Lite" + }, + "require-dev": { + "phpunit/phpunit": "^9" + } +} diff --git a/makesrc.sh b/makesrc.sh new file mode 100755 index 0000000..1ee3ac8 --- /dev/null +++ b/makesrc.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +NAME=$(basename $PWD) +OWNER=$(sed -n '/^%global gh_owner/{s/.* //;p}' $NAME.spec) +PROJECT=$(sed -n '/^%global gh_project/{s/.* //;p}' $NAME.spec) +VERSION=$(sed -n '/^Version:/{s/.* //;p}' $NAME.spec) +COMMIT=$(sed -n '/^%global gh_commit/{s/.* //;p}' $NAME.spec) +SHORT=${COMMIT:0:7} + +if [ -f $NAME-$VERSION-$SHORT.tgz ]; then + echo Skip $NAME-$VERSION-$SHORT.tgz +else + echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION\n" + + echo "Cloning..." + rm -rf $PROJECT-$COMMIT + git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT + + echo "Getting commit..." + pushd $PROJECT-$COMMIT + git checkout $COMMIT || echo exit 1 + cp composer.json ../composer.json + popd + + echo "Archiving..." + tar czf $NAME-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT + + echo "Cleaning..." + rm -rf $PROJECT-$COMMIT + + echo "Done." +fi diff --git a/php-pear-Cache-Lite.spec b/php-pear-Cache-Lite.spec index 2d4f5ef..f656880 100644 --- a/php-pear-Cache-Lite.spec +++ b/php-pear-Cache-Lite.spec @@ -1,36 +1,50 @@ # Spec file for php-pear-Cache-Lite # -# Copyright (c) 2008-2014 Remi Collet -# License: CC-BY-SA -# http://creativecommons.org/licenses/by-sa/3.0/ +# Copyright (c) 2008-2023 Remi Collet +# License: CC-BY-SA-4.0 +# http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # -%{!?pear_metadir: %global pear_metadir %{pear_phpdir}} -%{!?__pear: %global __pear %{_bindir}/pear} -%global pear_name Cache_Lite + +%bcond_without tests + +%global pear_name Cache_Lite +%global gh_commit fc7c6703cfbddc55c80c5ae3926dcc80c1d993f9 +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_owner pear +%global gh_project Cache_Lite Summary: Fast and Safe little cache system for PHP -Summary(fr): Méthode de cache rapide et sécurisée pour PHP Name: php-pear-Cache-Lite -Version: 1.7.16 -Release: 1%{?dist} -License: PHP -Group: Development/Libraries -Source: http://pear.php.net/get/%{pear_name}-%{version}.tgz +Version: 2.0.0 +Release: 6%{?dist} +License: LGPL-2.1-or-later +URL: https://github.com/%{gh_owner}/%{gh_project} +# git snapshot to retrieve test suite +Source0: %{gh_commit}/%{name}-%{version}-%{gh_short}.tgz +Source1: makesrc.sh -URL: http://pear.php.net/package/Cache_Lite - -# Avoid Deprecated: Non-static method PEAR::raiseError() should not be called statically -Patch0: %{pear_name}-pear.patch - -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch -BuildRequires: php-pear(PEAR) >= 1.5.4 -Requires: php-pear(PEAR) >= 1.5.4 -Requires(post): %{__pear} -Requires(postun): %{__pear} +BuildRequires: php(language) >= 7.4 +BuildRequires: php-date +BuildRequires: php-autoloader(pear/pear-core-minimal) >= 1.10 +BuildRequires: php-fedora-autoloader-devel +%if %{with tests} +# from composer.json "require-dev": { +# "phpunit/phpunit": "^9" +BuildRequires: phpunit9 +%endif + +# from composer.json "require": { +# "php": ">=7.4.0", +# "pear/pear-core-minimal": "^1.10" +Requires: php(language) >= 7.4 +Requires: php-autoloader(pear/pear-core-minimal) >= 1.10 +Requires: php-date + Provides: php-pear(%{pear_name}) = %{version} +Provides: php-composer(pear/cache_lite) = %{version} %description @@ -38,71 +52,150 @@ This package is a little cache system optimized for file containers. It is fast and safe (because it uses file locking and/or anti-corruption tests). -%description -l fr -Cette extension fournit une méthode de petit cache optimisé pour les fichiers. -Elle est rapide et sécurisée (parce qu'elle utilise les verrous de fichiers -et/ou des tests anti-corruption). - - %prep -%setup -c -q -cd %{pear_name}-%{version} -%patch0 -p1 -b .old -# package.xml is V2 -sed -e '/Lite.php/s/md5sum="[^"]*"//' \ - ../package.xml >%{name}.xml +%setup -q -n %{gh_project}-%{gh_commit} %build -# Empty build section +: Generate classmap autoloader +phpab --template fedora --output Cache/Lite/autoload.php Cache +cat << 'EOF' | tee -a Cache/Lite/autoload.php + +\Fedora\Autoloader\Dependencies::required([ + '%{pear_phpdir}/PEAR/autoload.php', +]); +EOF %install -rm -rf %{buildroot} - -cd %{pear_name}-%{version} -%{__pear} install --nodeps --packagingroot %{buildroot} %{name}.xml - -# Clean up unnecessary files -rm -rf %{buildroot}%{pear_metadir}/.??* - -# Install XML package description -%{__mkdir_p} %{buildroot}%{pear_xmldir} -%{__install} -pm 644 %{name}.xml %{buildroot}%{pear_xmldir} - - -%clean -rm -rf %{buildroot} +mkdir -p %{buildroot}%{pear_phpdir}/ +cp -pr Cache %{buildroot}%{pear_phpdir}/Cache +%if %{with tests} %check -cd %{pear_name}-%{version} -%{__pear} \ - run-tests \ - -i "-d include_path=%{buildroot}%{pear_phpdir}:%{pear_phpdir}" \ - tests | tee ../tests.log -grep "FAILED TESTS" ../tests.log && exit 1 +mkdir vendor +ln -s %{buildroot}%{pear_phpdir}/Cache/Lite/autoload.php vendor/autoload.php + +: Upstream test suite +ret=0 +for cmd in php php80 php81 php82; do + if which $cmd; then + $cmd %{_bindir}/phpunit9 --verbose || ret=1 + fi +done +%endif %post -%{__pear} install --nodeps --soft --force --register-only %{pear_xmldir}/%{name}.xml >/dev/null || : - - -%postun -if [ "$1" -eq "0" ]; then - %{__pear} uninstall --nodeps --ignore-errors --register-only %{pear_name} >/dev/null || : +# no more from pear channel +if [ -x %{_bindir}/pear ]; then + %{_bindir}/pear uninstall --nodeps --ignore-errors --register-only %{pear_name} >/dev/null || : fi %files -%defattr(-,root,root,-) -%doc %{pear_docdir}/%{pear_name} +%license LICENSE +%doc composer.json +%doc docs +%doc *.md %{pear_phpdir}/Cache -%{pear_testdir}/%{pear_name} -%{pear_xmldir}/%{name}.xml %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 2.0.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sat Jan 18 2025 Fedora Release Engineering - 2.0.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Jul 19 2024 Fedora Release Engineering - 2.0.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Thu Jan 25 2024 Fedora Release Engineering - 2.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 2.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Mar 21 2023 Remi Collet - 2.0.0-1 +- update to 2.0.0 +- sources from github instead or pear channel + +* Mon Feb 20 2023 Remi Collet - 1.8.3-9 +- fix PHP 8.2 deprecations in test suite +- use SPDX license ID + +* Fri Jan 20 2023 Fedora Release Engineering - 1.8.3-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 1.8.3-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jan 21 2022 Fedora Release Engineering - 1.8.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 1.8.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 1.8.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.8.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jan 30 2020 Fedora Release Engineering - 1.8.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Nov 20 2019 Remi Collet - 1.8.3-1 +- update to 1.8.3 +- drop patch merged upstream + +* Tue Nov 19 2019 Remi Collet - 1.8.2-5 +- add patch for PHP 7.4 from + https://github.com/pear/Cache_Lite/pull/11 + +* Fri Jul 26 2019 Fedora Release Engineering - 1.8.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 1.8.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 1.8.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Feb 13 2018 Remi Collet - 1.8.2-1 +- update to 1.8.2 + +* Tue Feb 13 2018 Remi Collet - 1.8.0-4 +- add patch for PHP 7.2 from https://github.com/pear/Cache_Lite/pull/7 + +* Fri Feb 09 2018 Fedora Release Engineering - 1.8.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 1.8.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 1.8.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Jul 4 2016 Remi Collet - 1.8.0-1 +- update to 1.8.0 +- raise dependency on PHP >= 5.4 +- raise dependency on PEAR >= 1.10.1 + +* Tue Jun 28 2016 Remi Collet - 1.7.16-5 +- add patch to avoid PHP 7 warning + +* Thu Feb 04 2016 Fedora Release Engineering - 1.7.16-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jun 18 2015 Fedora Release Engineering - 1.7.16-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.7.16-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Sat May 10 2014 Remi Collet - 1.7.16-1 - update to 1.7.16 (stable) - add patch to avoid deprecated warning diff --git a/sources b/sources index 4126dc3..291eb30 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e5bd31307e0bed904f8d938d6b0ba7b6 Cache_Lite-1.7.16.tgz +SHA512 (php-pear-Cache-Lite-2.0.0-fc7c670.tgz) = 9264476528b8ee480e52fd572ff9f81876335a11e1b7fcb605f5de4f1c1bf9cb4275698909a4eaa14a94de357c30413fde89bbad55f7c6b4ac20aef080fcc5d9