diff --git a/.gitignore b/.gitignore index 833f57d..149bce7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,12 @@ +clog package-*.xml -Cache_Lite-1.7.8.tgz -/Cache_Lite-1.7.9.tgz +/Cache_Lite-1.7.10.tgz +/Cache_Lite-1.7.11.tgz +/Cache_Lite-1.7.12.tgz +/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/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 8fe53ce..f656880 100644 --- a/php-pear-Cache-Lite.spec +++ b/php-pear-Cache-Lite.spec @@ -1,25 +1,50 @@ -%{!?__pear: %{expand: %%global __pear %{_bindir}/pear}} -%global pear_name Cache_Lite +# Spec file for php-pear-Cache-Lite +# +# 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 +# + +%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.9 -Release: 1%{?dist} -License: PHP -Group: Development/Libraries -Source: http://pear.php.net/get/%{pear_name}-%{version}.tgz -Source2: xml2changelog +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 - -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 @@ -27,83 +52,195 @@ 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 -%{_bindir}/php -n %{SOURCE2} package.xml | tee CHANGELOG | head -n 10 - -# Create a "localized" php.ini to avoid build warning -cp /etc/php.ini . -echo "date.timezone=UTC" >>php.ini - -cd %{pear_name}-%{version} -# package.xml is V2 -mv ../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} docdir - -pushd %{pear_name}-%{version} -PHPRC=../php.ini %{__pear} install --nodeps --packagingroot %{buildroot} %{name}.xml - -# Clean up unnecessary files -rm -rf %{buildroot}%{pear_phpdir}/.??* - -# Install XML package description -%{__mkdir_p} %{buildroot}%{pear_xmldir} -%{__install} -pm 644 %{name}.xml %{buildroot}%{pear_xmldir} - -popd -# Sort out documentation -%{__mkdir} docdir -mv %{buildroot}%{pear_docdir}/%{pear_name}/* docdir - - -%clean -rm -rf %{buildroot} +mkdir -p %{buildroot}%{pear_phpdir}/ +cp -pr Cache %{buildroot}%{pear_phpdir}/Cache +%if %{with tests} %check -lst=$(find %{buildroot}%{pear_phpdir} -exec grep -q %{buildroot} {} \; -print) -[ ! -z "$lst" ] && echo "Reference to BUILDROOT in $lst" && exit 1; +mkdir vendor +ln -s %{buildroot}%{pear_phpdir}/Cache/Lite/autoload.php vendor/autoload.php -cd %{pear_name}-%{version} -PHPRC=../php.ini %{__pear} \ - run-tests \ - -i "-d include_path=%{buildroot}%{pear_phpdir}:%{pear_phpdir}" \ - tests | tee ../tests.log -grep "FAILED TESTS" ../tests.log && exit 1 +: 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 CHANGELOG docdir/* +%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 + +* Sun Aug 04 2013 Fedora Release Engineering - 1.7.15-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Feb 19 2013 Remi Collet - 1.7.15-4 +- fix metadata location + +* Thu Feb 14 2013 Fedora Release Engineering - 1.7.15-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Aug 14 2012 Remi Collet - 1.7.15-3 +- rebuilt for new pear_testdir + +* Fri Jul 20 2012 Fedora Release Engineering - 1.7.15-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu May 24 2012 Remi Collet - 1.7.14-1 +- Version 1.7.15 (stable) - API 1.7.7 (stable) +- fix https://pear.php.net/bugs/19433 corrupted archive +- fix https://pear.php.net/bugs/19434 bad file role + +* Wed May 23 2012 Remi Collet - 1.7.14-1 +- Version 1.7.14 (stable) - API 1.7.7 (stable) + +* Sat Jan 14 2012 Fedora Release Engineering - 1.7.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Aug 16 2011 Remi Collet 1.7.12-1 +- Version 1.7.12 (stable) - API 1.7.7 (stable) + +* Tue May 31 2011 Remi Collet 1.7.11-1 +- Version 1.7.11 (stable) - API 1.7.7 (stable) +- Updated LICENSE file + +* Mon May 30 2011 Remi Collet 1.7.10-1 +- Version 1.7.10 (stable) - API 1.7.7 (stable) +- TOFIX: LICENSE file provided is outdated + http://pear.php.net/bugs/18571 + +* Wed Apr 06 2011 Remi Collet 1.7.9-2 +- doc in /usr/share/doc/pear + * Wed Mar 02 2011 Remi Collet 1.7.9-1 - Version 1.7.9 (stable) - API 1.7.7 (stable) - define timezone during build @@ -112,14 +249,14 @@ fi * Wed Feb 09 2011 Fedora Release Engineering - 1.7.8-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild -* Fri May 08 2010 Remi Collet 1.7.8-3 +* Sat May 08 2010 Remi Collet 1.7.8-3 - spec cleanup - rename Cache_Lite.xml to php-pear-Cache-Lite.xml * Sun Jul 26 2009 Fedora Release Engineering - 1.7.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild -* Sat Jul 08 2009 Remi Collet 1.7.8-1 +* Wed Jul 08 2009 Remi Collet 1.7.8-1 - update to 1.7.8 (bugfix) * Sun Mar 08 2009 Remi Collet 1.7.7-1 @@ -128,7 +265,7 @@ fi * Thu Jan 29 2009 Remi Collet 1.7.6-1 - now Requires php-pear(PEAR) >= 1.5.4 -* Sat Jan 09 2009 Remi Collet 1.7.5-1 +* Fri Jan 09 2009 Remi Collet 1.7.5-1 - update to 1.7.5 * Mon Jun 09 2008 Remi Collet 1.7.4-1 diff --git a/sources b/sources index 6952c72..291eb30 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e4b84a2016f995a193749d00028f0669 Cache_Lite-1.7.9.tgz +SHA512 (php-pear-Cache-Lite-2.0.0-fc7c670.tgz) = 9264476528b8ee480e52fd572ff9f81876335a11e1b7fcb605f5de4f1c1bf9cb4275698909a4eaa14a94de357c30413fde89bbad55f7c6b4ac20aef080fcc5d9 diff --git a/xml2changelog b/xml2changelog deleted file mode 100644 index c04c442..0000000 --- a/xml2changelog +++ /dev/null @@ -1,43 +0,0 @@ -= "2"){ // Package.xml V 2.0 - $new = ""; - if (strlen(trim($xml->notes))>1) { // Ignore too short descr. - printf("++*** Version %s (%s) - API %s (%s) - %s\n\n%s\n\n", - $xml->version->release, $xml->stability->release, - $xml->version->api, $xml->stability->api, - $xml->date, $xml->notes); - $new=$xml->version->release; - } - - if (isset($xml->changelog->release) && count($xml->changelog->release)) { - $tab = array(); - foreach($xml->changelog->release as $rel) { - $old=$rel->version->release; - if ("$old" != "$new") { - $tab[''.$rel->date] = $rel; - } - } - krsort($tab); - foreach($tab as $rel) { - printf("*** Version %s (%s) - API %s (%s) - %s\n\n%s\n\n", - $rel->version->release, $rel->stability->release, - $rel->version->api, $rel->stability->api, - $rel->date, $rel->notes); - } - } -} else { // Package.xml V 1.0 - printf("* Version %s (%s) - %s\n\n%s\n\n", - $xml->release->version, $xml->release->state, $xml->release->date, $xml->release->notes); - - foreach($xml->changelog->release as $rel) - printf("* Version %s (%s) - %s\n\n%s\n\n", - $rel->version, $rel->state, $rel->date, $rel->notes); -} -?>