diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..78f7e10 --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +/php-sabre-dav4-4.0.0-a4959bf.tar.gz +/php-sabre-dav4-4.0.1-e06e620.tar.gz +/php-sabre-dav4-4.0.2-fd0234d.tar.gz +/php-sabre-dav4-4.0.3-b793fb4.tar.gz +/php-sabre-dav4-4.1.0-8f6f4d2.tar.gz +/php-sabre-dav4-4.1.1-5736f94.tar.gz +/php-sabre-dav4-4.1.2-e1f617a.tar.gz +/php-sabre-dav4-4.1.3-b903eee.tar.gz +/php-sabre-dav4-4.1.4-4258420.tgz +/php-sabre-dav4-4.1.5-c1afdc7.tgz +/php-sabre-dav4-4.2.0-af125a4.tgz +/php-sabre-dav4-4.2.1-5e651f9.tgz +/php-sabre-dav4-4.2.2-5d73987.tgz +/php-sabre-dav4-4.2.3-6703fb7.tgz +/php-sabre-dav4-4.3.0-1f9bfa7.tgz +/php-sabre-dav4-4.3.1-130abb7.tgz +/php-sabre-dav4-4.4.0-b65362a.tgz +/php-sabre-dav4-4.5.0-7e40343.tgz +/php-sabre-dav4-4.5.1-b29899b.tgz +/php-sabre-dav4-4.6.0-5541453.tgz +/php-sabre-dav4-4.7.0-074373b.tgz diff --git a/README.md b/README.md new file mode 100644 index 0000000..b601991 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# php-sabre-dav4 + +The php-sabre-dav4 package \ No newline at end of file diff --git a/dead.package b/dead.package deleted file mode 100644 index 5204a84..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -Orphaned for 6+ weeks diff --git a/makesrc.sh b/makesrc.sh new file mode 100755 index 0000000..f9982c6 --- /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 "Already there." +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 || exit 1 + cp composer.json ../composer.json + popd + + echo "Archiving..." + tar czf $NAME-$VERSION-$SHORT.tgz --exclude-vcs $PROJECT-$COMMIT + + echo "Cleaning..." + rm -rf $PROJECT-$COMMIT + + echo "Done." +fi diff --git a/php-sabre-dav4-autoload.patch b/php-sabre-dav4-autoload.patch new file mode 100644 index 0000000..a9722e2 --- /dev/null +++ b/php-sabre-dav4-autoload.patch @@ -0,0 +1,35 @@ +diff -up ./tests/bootstrap.php.rpm ./tests/bootstrap.php +--- ./tests/bootstrap.php.rpm 2019-07-05 14:29:48.486775637 +0200 ++++ ./tests/bootstrap.php 2019-07-05 14:32:02.171555393 +0200 +@@ -2,15 +2,13 @@ + + declare(strict_types=1); + +-set_include_path(__DIR__.'/../lib/'.PATH_SEPARATOR.__DIR__.PATH_SEPARATOR.get_include_path()); +- +-$autoLoader = include __DIR__.'/../vendor/autoload.php'; ++require '@BUILDROOT@/usr/share/php/Sabre/DAV4/autoload.php'; ++if (file_exists('/usr/share/php/Monolog2/autoload.php')) ++ require '/usr/share/php/Monolog2/autoload.php'; ++else require '/usr/share/php/Monolog/autoload.php'; + + // SabreDAV tests auto loading +-$autoLoader->add('Sabre\\', __DIR__); +-// VObject tests auto loading +-$autoLoader->addPsr4('Sabre\\VObject\\', __DIR__.'/../vendor/sabre/vobject/tests/VObject'); +-$autoLoader->addPsr4('Sabre\\Xml\\', __DIR__.'/../vendor/sabre/xml/tests/Sabre/Xml'); ++\Fedora\Autoloader\Autoload::addPsr0('Sabre\\', __DIR__); + + date_default_timezone_set('UTC'); + +@@ -35,8 +33,8 @@ foreach ($environmentVars as $var) { + $config = [ + 'SABRE_TEMPDIR' => dirname(__FILE__).'/temp/', + 'SABRE_HASSQLITE' => in_array('sqlite', PDO::getAvailableDrivers()), +- 'SABRE_HASMYSQL' => in_array('mysql', PDO::getAvailableDrivers()), +- 'SABRE_HASPGSQL' => in_array('pgsql', PDO::getAvailableDrivers()), ++ 'SABRE_HASMYSQL' => false, ++ 'SABRE_HASPGSQL' => false, + 'SABRE_MYSQLDSN' => 'mysql:host=127.0.0.1;dbname=sabredav_test', + 'SABRE_MYSQLUSER' => 'sabredav', + 'SABRE_MYSQLPASS' => '', diff --git a/php-sabre-dav4.spec b/php-sabre-dav4.spec new file mode 100644 index 0000000..3fdef93 --- /dev/null +++ b/php-sabre-dav4.spec @@ -0,0 +1,427 @@ +# remirepo/fedora spec file for php-sabre-dav4 +# +# Copyright (c) 2013-2024 Remi Collet +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# Please, preserve the changelog entries +# + +%bcond_without tests + +# Github +%global gh_commit 074373bcd689a30bcf5aaa6bbb20a3395964ce7a +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_owner sabre-io +%global gh_project dav +# Packagist +%global pk_vendor sabre +%global pk_project %{gh_project} +# Namespace +%global ns_vendor Sabre +%global ns_project DAV +%global major 4 + +Name: php-%{pk_vendor}-%{pk_project}%{major} +Summary: WebDAV Framework for PHP +Version: 4.7.0 +Release: 4%{?dist} + +URL: https://github.com/%{gh_owner}/%{gh_project} +# sabre is BSD +# assets/openiconic is MIT +License: BSD-3-Clause AND MIT +Source0: %{name}-%{version}-%{gh_short}.tgz +# git snapshot to retrieve tests +Source1: makesrc.sh + +# replace composer autoloader +Patch0: %{name}-autoload.patch + +BuildArch: noarch +%if %{with tests} +BuildRequires: php(language) >= 7.1 +BuildRequires: (php-composer(sabre/vobject) >= 4.2.1 with php-composer(sabre/vobject) < 5) +BuildRequires: (php-composer(sabre/event) >= 5.0 with php-composer(sabre/event) < 6) +BuildRequires: (php-composer(sabre/xml) >= 2.0.1 with php-composer(sabre/xml) < 3) +BuildRequires: (php-composer(sabre/http) >= 5.0.5 with php-composer(sabre/http) < 6) +BuildRequires: (php-composer(sabre/uri) >= 2.0 with php-composer(sabre/uri) < 3) +BuildRequires: (php-composer(psr/log) >= 1.0.1 with php-composer(psr/log) < 4) +BuildRequires: (php-composer(monolog/monolog) >= 1.27 with php-composer(monolog/monolog) < 3) +BuildRequires: php-dom +BuildRequires: php-pcre +BuildRequires: php-spl +BuildRequires: php-simplexml +BuildRequires: php-mbstring +BuildRequires: php-ctype +BuildRequires: php-date +BuildRequires: php-iconv +BuildRequires: php-libxml +BuildRequires: php-curl +BuildRequires: php-pdo +BuildRequires: php-json +# From composer.json, "require-dev" : { +# "friendsofphp/php-cs-fixer": "^2.19", +# "monolog/monolog": "^1.27 || ^2.0", +# "phpstan/phpstan": "^0.12 || ^1.0", +# "phpstan/phpstan-phpunit": "^1.0", +# "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6" +BuildRequires: phpunit9 >= 9.6 +%global phpunit %{_bindir}/phpunit9 +%endif +# Autoloader +BuildRequires: php-fedora-autoloader-devel +BuildRequires: php-pdo_sqlite + +# From composer.json, "require": { +# "php": ">=7.1.0 || ^8.0", +# "sabre/vobject": "^4.2.1", +# "sabre/event" : "^5.0", +# "sabre/xml" : "^2.0.1", +# "sabre/http" : "^5.0.5", +# "sabre/uri" : "^2.0", +# "ext-dom": "*", +# "ext-pcre": "*", +# "ext-spl": "*", +# "ext-simplexml": "*", +# "ext-mbstring" : "*", +# "ext-ctype" : "*", +# "ext-date" : "*", +# "ext-iconv" : "*", +# "lib-libxml" : ">=2.7.0", +# "psr/log": "^1.0 || ^2.0 || ^3.0", +# "ext-json": "*" +Requires: php(language) >= 7.1 +Requires: (php-composer(sabre/vobject) >= 4.2.1 with php-composer(sabre/vobject) < 5) +Requires: (php-composer(sabre/event) >= 5.0 with php-composer(sabre/event) < 6) +Requires: (php-composer(sabre/xml) >= 2.0.1 with php-composer(sabre/xml) < 3) +Requires: (php-composer(sabre/http) >= 5.0.5 with php-composer(sabre/http) < 6) +Requires: (php-composer(sabre/uri) >= 2.0 with php-composer(sabre/uri) < 3) +Requires: (php-composer(psr/log) >= 1.0.1 with php-composer(psr/log) < 4) +Requires: php-dom +Requires: php-pcre +Requires: php-spl +Requires: php-simplexml +Requires: php-mbstring +Requires: php-ctype +Requires: php-date +Requires: php-iconv +Requires: php-libxml +Requires: php-json +# From composer.json, "suggest" : { +# "ext-curl" : "*", +# "ext-pdo" : "*", +# "ext-imap": "*" +Recommends: php-curl +Recommends: php-pdo +Recommends: php-imap +# Autoloader +Requires: php-composer(fedora/autoloader) + +Provides: php-composer(%{pk_vendor}/%{pk_project}) = %{version} + + +%description +What is SabreDAV + +SabreDAV allows you to easily add WebDAV support to a PHP application. +SabreDAV is meant to cover the entire standard, and attempts to allow +integration using an easy to understand API. + +Feature list: +* Fully WebDAV compliant +* Supports Windows XP, Windows Vista, Mac OS/X, DavFSv2, Cadaver, Netdrive, + Open Office, and probably more. +* Passing all Litmus tests. +* Supporting class 1, 2 and 3 Webdav servers. +* Locking support. +* Custom property support. +* CalDAV (tested with Evolution, iCal, iPhone and Lightning). +* CardDAV (tested with OS/X addressbook, the iOS addressbook and Evolution). +* Over 97% unittest code coverage. + +Autoloader: %{_datadir}/php/%{ns_vendor}/%{ns_project}%{major}/autoload.php + + +%prep +%setup -q -n %{gh_project}-%{gh_commit} +mv lib/DAV/Browser/assets/openiconic/ICON-LICENSE . + +%patch -P0 -p1 -b .rpm + +: relocate +for dir in CalDAV CardDAV DAV DAVACL; do + mv lib/${dir} lib/${dir}%{major} +done + +: autoloader +phpab -t fedora -o lib/%{ns_project}%{major}/autoload.php lib +cat << 'EOF' | tee -a lib/%{ns_project}%{major}/autoload.php + +// Dependencies +\Fedora\Autoloader\Dependencies::required([ + '%{_datadir}/php/%{ns_vendor}/Event5/autoload.php', + '%{_datadir}/php/%{ns_vendor}/Xml2/autoload.php', + '%{_datadir}/php/%{ns_vendor}/Uri2/autoload.php', + '%{_datadir}/php/%{ns_vendor}/HTTP5/autoload.php', + '%{_datadir}/php/%{ns_vendor}/VObject4/autoload.php', + [ + '%{_datadir}/php/Psr/Log3/autoload.php', + '%{_datadir}/php/Psr/Log2/autoload.php', + '%{_datadir}/php/Psr/Log/autoload.php', + ], +]); +EOF + +# drop executable as only provided as doc +chmod -x bin/* + + +%build +# nothing to build + + +%install +# Install as a PSR-0 library +mkdir -p %{buildroot}%{_datadir}/php/ +cp -pr lib %{buildroot}%{_datadir}/php/%{ns_vendor} + + +%check +%if %{with tests} +: Fix bootstrap +cd tests +sed -e 's:@BUILDROOT@:%{buildroot}:' -i bootstrap.php + +: Run upstream test suite against installed library +ret=0 +for cmdarg in "php %{phpunit}" php81 php82 php83 php84; do + if which $cmdarg; then + set $cmdarg + for ts in sabre-dav sabre-davacl sabre-caldav sabre-carddav; do + $1 ${2:-%{_bindir}/phpunit9} \ + --testsuite $ts || ret=1 + done + fi +done +exit $ret +%else +: Skip upstream test suite +%endif + + +%files +%license *LICENSE +%doc *md +%doc composer.json +%doc examples bin +%{_datadir}/php/%{ns_vendor}/DAV%{major} +%{_datadir}/php/%{ns_vendor}/DAVACL%{major} +%{_datadir}/php/%{ns_vendor}/CalDAV%{major} +%{_datadir}/php/%{ns_vendor}/CardDAV%{major} + + +%changelog +* Sat Jan 17 2026 Fedora Release Engineering - 4.7.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Fri Jul 25 2025 Fedora Release Engineering - 4.7.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sat Jan 18 2025 Fedora Release Engineering - 4.7.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Tue Oct 29 2024 Remi Collet - 4.7.0-1 +- update to 4.7.0 + +* Fri Jul 19 2024 Fedora Release Engineering - 4.6.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Mon Jan 29 2024 Fedora Release Engineering - 4.6.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jan 25 2024 Fedora Release Engineering - 4.6.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 4.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Dec 11 2023 Remi Collet - 4.6.0-1 +- update to 4.6.0 + +* Thu Nov 23 2023 Remi Collet - 4.5.1-1 +- update to 4.5.1 + +* Tue Nov 14 2023 Remi Collet - 4.5.0-1 +- update to 4.5.0 + +* Fri Jul 21 2023 Fedora Release Engineering - 4.4.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Jan 20 2023 Fedora Release Engineering - 4.4.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 4.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 27 2022 Remi Collet - 4.4.0-1 +- update to 4.4.0 + +* Fri Jan 21 2022 Remi Collet - 4.3.1-1 +- update to 4.3.1 + +* Tue Dec 14 2021 Remi Collet - 4.3.0-1 +- update to 4.3.0 + +* Thu Dec 9 2021 Remi Collet - 4.2.3-1 +- update to 4.2.3 + +* Thu Dec 9 2021 Remi Collet - 4.2.2-1 +- update to 4.2.2 +- allow psr/log v2 and v3 + +* Tue Nov 30 2021 Remi Collet - 4.2.1-1 +- update to 4.2.1 + +* Wed Nov 17 2021 Remi Collet - 4.2.0-1 +- update to 4.2.0 + +* Fri Jul 23 2021 Fedora Release Engineering - 4.1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Feb 15 2021 Remi Collet - 4.1.5-1 +- update to 4.1.5 + +* Wed Jan 27 2021 Fedora Release Engineering - 4.1.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jan 12 2021 Remi Collet - 4.1.4-1 +- update to 4.1.4 +- sources from git snapshot + +* Mon Nov 9 2020 Remi Collet - 4.1.3-1 +- update to 4.1.3 + +* Mon Oct 5 2020 Remi Collet - 4.1.2-1 +- update to 4.1.2 +- switch to phpunit9 + +* Tue Jul 28 2020 Fedora Release Engineering - 4.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 14 2020 Remi Collet - 4.1.1-1 +- update to 4.1.1 + +* Fri Mar 20 2020 Remi Collet - 4.1.0-1 +- update to 4.1.0 +- raise dependency on PHP 7.1 +- raise dependency on sabre/vobject 4.2.1 +- raise dependency on sabre/http 5.0.5 +- switch to phpunit7 + +* Thu Jan 30 2020 Fedora Release Engineering - 4.0.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jan 10 2020 Remi Collet - 4.0.3-1 +- update to 4.0.3 + +* Mon Oct 21 2019 Remi Collet - 4.0.2-1 +- update to 4.0.2 +- drop patch merged upstream + +* Tue Aug 20 2019 Remi Collet - 4.0.1-2 +- update to 4.0.1 +- add patch for 7.4 from + https://github.com/sabre-io/dav/pull/1187 + +* Fri Jul 26 2019 Fedora Release Engineering - 4.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Jul 15 2019 Remi Collet - 4.0.0-2 +- fix LICENSE for assets/openiconic + +* Fri Jul 5 2019 Remi Collet - 4.0.0-1 +- update to 4.0.0 +- rename to php-sabre-dav4 +- move to /usr/share/php/Sabre/DAV4 +- raise dependency on PHP 7 +- raise dependency on sabre/vobject 4.2.0 +- raise dependency on sabre/event 5.0 +- raise dependency on sabre/xml 2.0.1 +- raise dependency on sabre/http 5.0 +- raise dependency on sabre/uri 2.0 +- switch to classmap autoloader + +* Mon Jul 1 2019 Remi Collet - 3.2.3-3 +- change autoloader order to ensure same versions are used + +* Wed Jan 9 2019 Remi Collet - 3.2.3-1 +- update to 3.2.3 + +* Mon Oct 15 2018 Remi Collet - 3.2.2-7 +- add upstream patch for PHP 7.3 + +* Tue Jun 5 2018 Remi Collet - 3.2.2-5 +- use range dependencies on F27+ +- ignore 1 test failing with sabre/http 4.2.4 +- fix project URL + +* Fri Oct 6 2017 Remi Collet - 3.2.2-3 +- add patch for PHP 7.2 from https://github.com/fruux/sabre-dav/pull/1006 + +* Wed Feb 15 2017 Remi Collet - 3.2.2-1 +- update to 3.2.2 + +* Sun Jan 29 2017 Remi Collet - 3.2.1-1 +- update to 3.2.1 + +* Tue Jan 17 2017 Remi Collet - 3.2.0-1 +- update to 3.2.0 +- raise dependency on PHP version 5.5 +- raise dependency on sabre/vobject version 4.1 +- raise dependency on sabre/xml version 1.4 +- raise dependency on sabre/http version 4.2.1 +- raise dependency on sabre/uri version 1.0.1 +- add dependency on psr/log + +* Wed Nov 23 2016 Remi Collet - 3.0.9-3 +- add upstream patch to fix FTBFS with php 7.1 + +* Sat Oct 29 2016 Remi Collet - 3.0.9-2 +- switch from symfony/class-loader to fedora/autoloader + +* Thu Apr 7 2016 Remi Collet - 3.0.9-1 +- update to 3.0.9 +- add dependency on sabre/xml +- add dependency on sabre/uri +- raise dependency on sabre/http >= 4 + +* Tue Mar 22 2016 Remi Collet - 2.1.10-1 +- update to 2.1.10 + +* Mon Mar 21 2016 Remi Collet - 2.1.6-2 +- provide missing php-composer(sabre/dav) + +* Wed Feb 24 2016 James Hogarth - 2.1.6-1 +- update to 2.1.6 + +* Wed Feb 24 2016 Remi Collet - 2.1.5-1 +- update to 2.1.5 + +* Fri Mar 06 2015 Adam Williamson - 1.8.12-1 +- update to 1.8.12 (bugfix release, no bc breaks) + +* Thu May 22 2014 Remi Collet - 1.8.10-1 +- update to 1.8.10 + +* Sun Mar 2 2014 Remi Collet - 1.8.9-1 +- update to 1.8.9 + +* Thu Feb 20 2014 Remi Collet - 1.8.8-2 +- drop max version for VObject + +* Tue Feb 11 2014 Remi Collet - 1.8.8-1 +- update to 1.8.8 + +* Tue Dec 31 2013 Remi Collet - 1.8.7-1 +- Initial packaging diff --git a/sources b/sources new file mode 100644 index 0000000..1492fa3 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (php-sabre-dav4-4.7.0-074373b.tgz) = 95f6a85567c7a6fcf0d74fe13a60465ea99a8c8d5920f82a6e8a98e96e21f05ea614f607d67360f7ff2f6c2393e1d447ebd5761697f371b29ffab92051ac4aac