diff --git a/.gitignore b/.gitignore index 2069fa5..149bce7 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,5 @@ package-*.xml /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 c991e04..f656880 100644 --- a/php-pear-Cache-Lite.spec +++ b/php-pear-Cache-Lite.spec @@ -1,31 +1,47 @@ # Spec file for php-pear-Cache-Lite # -# Copyright (c) 2008-2018 Remi Collet -# License: CC-BY-SA +# 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: %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.8.2 -Release: 4%{?dist} -License: PHP -URL: http://pear.php.net/package/Cache_Lite -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 BuildArch: noarch -BuildRequires: php-pear(PEAR) >= 1.10.1 +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 -Requires: php(language) >= 5.4 +# 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 -Requires: php-pear(PEAR) >= 1.10.1 -Requires(post): %{__pear} -Requires(postun): %{__pear} Provides: php-pear(%{pear_name}) = %{version} Provides: php-composer(pear/cache_lite) = %{version} @@ -36,60 +52,109 @@ 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} -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 -cd %{pear_name}-%{version} -%{__pear} install --nodeps --packagingroot %{buildroot} %{name}.xml - -# Clean up unnecessary files -rm -rf %{buildroot}%{pear_metadir}/.??* - -# Install XML package description -install -Dpm 644 %{name}.xml %{buildroot}%{pear_xmldir}/%{name}.xml +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 || exit 0 +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 -%doc %{pear_docdir}/%{pear_name} -%doc %{pear_testdir}/%{pear_name} +%license LICENSE +%doc composer.json +%doc docs +%doc *.md %{pear_phpdir}/Cache -%{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 diff --git a/sources b/sources index cd7a46c..291eb30 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Cache_Lite-1.8.2.tgz) = dfb3c2dadd0ca60cc62ad71fd6fc51c0665901b4370207dfeb1f0f56e9db4fb24724d22f2939f67d8aa044e1b465483c40ec34fb3bcc5e12031d4dd1e05953b4 +SHA512 (php-pear-Cache-Lite-2.0.0-fc7c670.tgz) = 9264476528b8ee480e52fd572ff9f81876335a11e1b7fcb605f5de4f1c1bf9cb4275698909a4eaa14a94de357c30413fde89bbad55f7c6b4ac20aef080fcc5d9