summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore8
-rw-r--r--Makefile3
-rw-r--r--composer-psr7.json43
-rw-r--r--composer.json88
-rwxr-xr-xmakesrc.sh28
-rw-r--r--php-laminas-diactoros2.spec339
6 files changed, 509 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..fc9aa8c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+clog
+package-*.xml
+*.tgz
+*.tar.gz
+*.tar.xz
+*.tar.xz.asc
+*.src.rpm
+*/*rpm
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..a2cd659
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,3 @@
+SRCDIR := $(shell pwd)
+NAME := $(shell basename $(SRCDIR))
+include ../../../common/Makefile
diff --git a/composer-psr7.json b/composer-psr7.json
new file mode 100644
index 0000000..83b1a99
--- /dev/null
+++ b/composer-psr7.json
@@ -0,0 +1,43 @@
+{
+ "name": "php-http/psr7-integration-tests",
+ "description": "Test suite for PSR7",
+ "license": "MIT",
+ "keywords": ["test", "psr-7"],
+ "homepage": "http://php-http.org",
+ "authors": [
+ {
+ "name": "Tobias Nyholm",
+ "email": "tobias.nyholm@gmail.com"
+ }
+ ],
+ "require": {
+ "php": "^5.4 || ^7.0",
+ "psr/http-message": "^1.0",
+ "phpunit/phpunit": "^5.4 || ^6.0 || ^7.0"
+ },
+ "require-dev": {
+ "zendframework/zend-diactoros": "^1.8",
+ "guzzlehttp/psr7": "^1.4",
+ "slim/http": "^0.3",
+ "ringcentral/psr7": "^1.2",
+ "nyholm/psr7": "dev-master"
+ },
+ "autoload": {
+ "psr-4": {
+ "Http\\Psr7Test\\": "src/"
+ }
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "Http\\Psr7Test\\Tests\\": "tests/"
+ }
+ },
+ "scripts": {
+ "test": "vendor/bin/phpunit"
+ },
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ }
+}
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..abbcd34
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,88 @@
+{
+ "name": "laminas/laminas-diactoros",
+ "description": "PSR HTTP Message implementations",
+ "license": "BSD-3-Clause",
+ "keywords": [
+ "laminas",
+ "http",
+ "psr",
+ "psr-7"
+ ],
+ "homepage": "https://laminas.dev",
+ "support": {
+ "docs": "https://docs.laminas.dev/laminas-diactoros/",
+ "issues": "https://github.com/laminas/laminas-diactoros/issues",
+ "source": "https://github.com/laminas/laminas-diactoros",
+ "rss": "https://github.com/laminas/laminas-diactoros/releases.atom",
+ "chat": "https://laminas.dev/chat",
+ "forum": "https://discourse.laminas.dev"
+ },
+ "config": {
+ "sort-packages": true
+ },
+ "extra": {
+ "branch-alias": {
+ "dev-release-1.8": "1.8.x-dev"
+ }
+ },
+ "require": {
+ "php": "^5.6 || ^7.0",
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "psr/http-message": "^1.0"
+ },
+ "require-dev": {
+ "ext-dom": "*",
+ "ext-libxml": "*",
+ "laminas/laminas-coding-standard": "~1.0",
+ "php-http/psr7-integration-tests": "dev-master",
+ "phpunit/phpunit": "^5.7.16 || ^6.0.8 || ^7.2.7"
+ },
+ "provide": {
+ "psr/http-message-implementation": "1.0"
+ },
+ "autoload": {
+ "files": [
+ "src/functions/create_uploaded_file.php",
+ "src/functions/marshal_headers_from_sapi.php",
+ "src/functions/marshal_method_from_sapi.php",
+ "src/functions/marshal_protocol_version_from_sapi.php",
+ "src/functions/marshal_uri_from_sapi.php",
+ "src/functions/normalize_server.php",
+ "src/functions/normalize_uploaded_files.php",
+ "src/functions/parse_cookie_header.php",
+ "src/functions/create_uploaded_file.legacy.php",
+ "src/functions/marshal_headers_from_sapi.legacy.php",
+ "src/functions/marshal_method_from_sapi.legacy.php",
+ "src/functions/marshal_protocol_version_from_sapi.legacy.php",
+ "src/functions/marshal_uri_from_sapi.legacy.php",
+ "src/functions/normalize_server.legacy.php",
+ "src/functions/normalize_uploaded_files.legacy.php",
+ "src/functions/parse_cookie_header.legacy.php"
+ ],
+ "psr-4": {
+ "Laminas\\Diactoros\\": "src/"
+ }
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "LaminasTest\\Diactoros\\": "test/"
+ },
+ "files": [
+ "test/TestAsset/Functions.php",
+ "test/TestAsset/SapiResponse.php"
+ ]
+ },
+ "scripts": {
+ "check": [
+ "@cs-check",
+ "@test"
+ ],
+ "cs-check": "phpcs",
+ "cs-fix": "phpcbf",
+ "test": "phpunit --colors=always",
+ "test-coverage": "phpunit --colors=always --coverage-clover clover.xml"
+ },
+ "replace": {
+ "zendframework/zend-diactoros": "self.version"
+ }
+}
diff --git a/makesrc.sh b/makesrc.sh
new file mode 100755
index 0000000..87d223d
--- /dev/null
+++ b/makesrc.sh
@@ -0,0 +1,28 @@
+#!/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}
+
+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
+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."
diff --git a/php-laminas-diactoros2.spec b/php-laminas-diactoros2.spec
new file mode 100644
index 0000000..4b71c84
--- /dev/null
+++ b/php-laminas-diactoros2.spec
@@ -0,0 +1,339 @@
+# remirepo/Fedora spec file for php-laminas-diactoros
+#
+# Copyright (c) 2015-2020 Shawn Iwinski, Remi Collet
+#
+# License: MIT
+# http://opensource.org/licenses/MIT
+#
+# Please preserve changelog entries
+#
+
+%global gh_owner laminas
+%global gh_project laminas-diactoros
+%global zf_name zend-diactoros
+%global gh_commit 56a9aca1f89231763d24d2ae13531b97fa5f4029
+%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
+%global php_home %{_datadir}/php
+%global namespace Laminas
+%global library Diactoros
+
+%global gh_psr7_owner php-http
+%global gh_psr7_name psr7-integration-tests
+%global gh_psr7_version 0
+%global gh_psr7_commit 5dfefb2da33ca24ae20c971b725c9a6fe7403008
+%global gh_psr7_short %(c=%{gh_psr7_commit}; echo ${c:0:7})
+
+# "php": "^5.6 || ^7.0"
+%global php_min_ver 5.6
+# "psr/http-message": "^1.0"
+%global psr_http_message_min_ver 1.0
+%global psr_http_message_max_ver 2.0
+
+# Build using "--without tests" to disable tests
+%global with_tests 0%{!?_without_tests:1}
+
+%{!?phpdir: %global phpdir %{_datadir}/php}
+
+Name: php-%{gh_project}
+Version: 1.8.7p1
+Release: 2%{?gh_release}%{?dist}
+Summary: PSR HTTP Message implementations
+
+License: BSD
+URL: https://github.com/%{gh_owner}/%{gh_project}
+
+# GitHub export does not include tests.
+# Run makesrc.sh to create full source.
+Source0: %{name}-%{version}-%{gh_short}.tgz
+Source1: makesrc.sh
+# Temporarily bundled, no release, only used for tests
+Source2: %{gh_psr7_owner}-%{gh_psr7_name}-%{gh_psr7_version}-%{gh_psr7_short}.tgz
+Source3: %{gh_psr7_owner}-%{gh_psr7_name}-get-source.sh
+
+BuildArch: noarch
+# Tests
+%if %{with_tests}
+## composer.json
+BuildRequires: php(language) >= %{php_min_ver}
+# remirepo:1
+%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+BuildRequires: (php-autoloader(%{gh_owner}/laminas-zendframework-bridge) >= 1.0 with php-autoloader(%{gh_owner}/laminas-zendframework-bridge) < 2)
+BuildRequires: (php-composer(psr/http-message) >= %{psr_http_message_min_ver} with php-composer(psr/http-message) < %{psr_http_message_max_ver})
+# remirepo:4
+%else
+BuildRequires: php-laminas-zendframework-bridge
+BuildRequires: php-psr-http-message
+%endif
+%global phpunit %{_bindir}/phpunit6
+BuildRequires: %{phpunit}
+BuildRequires: php-dom
+BuildRequires: php-libxml
+## phpcompatinfo (computed from version 1.8.7p1)
+### NOTE: curl, gd, gmp, and shmop are all optional for
+### LaminasTest\Diactoros\StreamTest::getResourceFor67()
+### (test/StreamTest.php) but the first one found wins
+### so only curl is chosen as a requirement here.
+BuildRequires: php-curl
+BuildRequires: php-dom
+BuildRequires: php-json
+BuildRequires: php-libxml
+BuildRequires: php-pcre
+BuildRequires: php-reflection
+BuildRequires: php-shmop
+BuildRequires: php-spl
+%endif
+## Autoloader
+BuildRequires: php-fedora-autoloader-devel
+
+# composer.json
+Requires: php(language) >= %{php_min_ver}
+# remirepo:1
+%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+Requires: (php-autoloader(%{gh_owner}/laminas-zendframework-bridge) >= 1.0 with php-autoloader(%{gh_owner}/laminas-zendframework-bridge) < 2)
+Requires: (php-composer(psr/http-message) >= %{psr_http_message_min_ver} with php-composer(psr/http-message) < %{psr_http_message_max_ver})
+# remirepo:4
+%else
+Requires: php-laminas-zendframework-bridge
+Requires: php-psr-http-message
+%endif
+# phpcompatinfo (computed from version 1.8.7p1)
+Requires: php-json
+Requires: php-pcre
+Requires: php-spl
+# Autoloader
+Requires: php-composer(fedora/autoloader)
+
+# Composer
+# Compatibily ensure by the bridge
+Obsoletes: php-zendframework-%{zf_name} < 1.8.7p1
+Provides: php-zendframework-%{zf_name} = %{version}
+Provides: php-composer(%{gh_owner}/%{gh_project}) = %{version}
+Provides: php-composer(zendframework/%{zf_name}) = %{version}
+Provides: php-autoloader(%{gh_owner}/%{gh_project}) = %{version}
+Provides: php-autoloader(zendframework/%{zf_name}) = %{version}
+Provides: php-composer(psr/http-message-implementation) = 1.0
+
+
+%description
+A PHP package containing implementations of the accepted PSR-7 HTTP message
+interfaces [1], as well as a "server" implementation similar to node's
+http.Server [2].
+
+Documentation: https://docs.laminas.dev/%{gh_project}/
+
+Autoloader: %{phpdir}/%{namespace}/Diactoros/autoload.php
+
+[1] http://www.php-fig.org/psr/psr-7/
+[2] http://nodejs.org/api/http.html
+
+
+%prep
+%setup -qn %{gh_project}-%{gh_commit} -a2
+
+mv %{gh_psr7_name}-%{gh_psr7_commit} psr7
+mv LICENSE.md LICENSE
+
+
+%build
+: Create autoloader
+phpab --template fedora --output src/autoload.php src
+cat <<'AUTOLOAD' | tee -a src/autoload.php
+\Fedora\Autoloader\Dependencies::required(array(
+ '%{phpdir}/Psr/Http/Message/autoload.php',
+ __DIR__.'/functions/create_uploaded_file.php',
+ __DIR__.'/functions/marshal_headers_from_sapi.php',
+ __DIR__.'/functions/marshal_method_from_sapi.php',
+ __DIR__.'/functions/marshal_protocol_version_from_sapi.php',
+ __DIR__.'/functions/marshal_uri_from_sapi.php',
+ __DIR__.'/functions/normalize_server.php',
+ __DIR__.'/functions/normalize_uploaded_files.php',
+ __DIR__.'/functions/parse_cookie_header.php',
+));
+AUTOLOAD
+
+cat << 'EOF' | tee zf.php
+<?php
+require_once '%{php_home}/Fedora/Autoloader/autoload.php';
+$dir = dirname(dirname(__DIR__)) . '/%{namespace}/%{library}';
+\Fedora\Autoloader\Dependencies::required([
+ '%{php_home}/%{namespace}/ZendFrameworkBridge/autoload.php',
+ $dir . '/autoload.php',
+ $dir . '/functions/create_uploaded_file.legacy.php',
+ $dir . '/functions/marshal_headers_from_sapi.legacy.php',
+ $dir . '/functions/marshal_method_from_sapi.legacy.php',
+ $dir . '/functions/marshal_protocol_version_from_sapi.legacy.php',
+ $dir . '/functions/marshal_uri_from_sapi.legacy.php',
+ $dir . '/functions/normalize_server.legacy.php',
+ $dir . '/functions/normalize_uploaded_files.legacy.php',
+ $dir . '/functions/parse_cookie_header.legacy.php',
+]);
+EOF
+
+
+%install
+: Laminas library
+mkdir -p %{buildroot}%{php_home}/%{namespace}/
+cp -pr src %{buildroot}%{php_home}/%{namespace}/%{library}
+
+: Zend equiv
+mkdir -p %{buildroot}%{php_home}/Zend/%{library}
+cp -pr zf.php %{buildroot}%{php_home}/Zend/%{library}/autoload.php
+
+
+%check
+%if %{with_tests}
+: Create tests bootstrap
+cat <<'BOOTSTRAP' | tee bootstrap.php
+<?php
+
+require_once '%{buildroot}%{phpdir}/%{namespace}/Diactoros/autoload.php';
+\Fedora\Autoloader\Autoload::addPsr4('%{namespace}Test\\Diactoros\\', __DIR__.'/test');
+\Fedora\Autoloader\Autoload::addPsr4('Http\\Psr7Test\\', __DIR__.'/psr7/src');
+
+\Fedora\Autoloader\Dependencies::required(array(
+ __DIR__.'/test/TestAsset/Functions.php',
+ __DIR__.'/test/TestAsset/SapiResponse.php',
+));
+BOOTSTRAP
+
+: Upstream tests
+# Skip testReasonPhraseDefaultsAgainstIana requiring network access
+RETURN_CODE=0
+for CMDARG in "php %{phpunit}" php72 php73 php74; do
+ if which $CMDARG; then
+ set $CMDARG
+ $1 ${2:-%{_bindir}/phpunit6} \
+ --bootstrap bootstrap.php \
+ --filter '^((?!(testReasonPhraseDefaultsAgainstIana)).)*$' \
+ --verbose || RETURN_CODE=1
+ fi
+done
+
+: check compat autoloader
+php -r '
+require "%{buildroot}%{php_home}/Zend/%{library}/autoload.php";
+exit (class_exists("\\Zend\\%{library}\\Request") ? 0 : 1);
+'
+
+exit $RETURN_CODE
+%else
+: Tests skipped
+%endif
+
+
+%files
+# remirepo:1
+%{!?_licensedir:%global license %%doc}
+%license LICENSE
+%doc *.md
+%doc composer.json
+%{php_home}/Zend/%{library}
+%{php_home}/%{namespace}/%{library}
+
+
+%changelog
+* Fri Jan 17 2020 Remi Collet <remi@remirepo.net> - 1.8.7p1-2
+- cleanup
+
+* Wed Jan 8 2020 Remi Collet <remi@remirepo.net> - 1.8.7p1-1
+- switch to Laminas
+- update to 1.8.7p1
+
+* Fri Aug 30 2019 Remi Collet <remi@remirepo.net> - 1.8.7-1
+- update to 1.8.7
+
+* Thu Sep 6 2018 Remi Collet <remi@remirepo.net> - 1.8.6-1
+- update to 1.8.6
+- bundle php-http/psr7-integration-tests only used for tests
+
+* Mon Aug 20 2018 Remi Collet <remi@remirepo.net> - 1.8.5-1
+- update to 1.8.5
+
+* Thu Aug 02 2018 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.8.4-1
+- Update to 1.8.4 (RHBZ #1504401 / ZF2018-01 / CVE-2018-14773 / CVE-2018-14774)
+
+* Wed May 30 2018 Remi Collet <remi@remirepo.net> - 1.7.2-1
+- update to 1.7.2
+
+* Fri Mar 30 2018 Remi Collet <remi@remirepo.net> - 1.7.1-1
+- update to 1.7.1
+- use range dependencies on F27+
+
+* Fri Jan 5 2018 Remi Collet <remi@remirepo.net> - 1.7.0-1
+- Update to 1.7.0
+
+* Tue Dec 5 2017 Remi Collet <remi@remirepo.net> - 1.6.1-2
+- switch to classmap autoloader for consistency
+- provide php-autoloader(zendframework/zend-diactoros)
+
+* Thu Nov 2 2017 Remi Collet <remi@remirepo.net> - 1.6.1-1
+- Update to 1.6.1
+- use phpunit6 on F26+
+
+* Sun Oct 08 2017 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.6.0-1
+- Updated to 1.6.0 (RHBZ #1491486)
+
+* Sun Sep 10 2017 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.4.1-1
+- Updated to 1.4.1 (RHBZ #1482723)
+
+* Sat Apr 08 2017 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.4.0-1
+- Updated to 1.4.0 (RHBZ #1440332)
+
+* Sat Mar 11 2017 Remi Collet <remi@fedoraproject.org> - 1.3.10-2
+- change URL to documentation site
+- simplify documentation
+
+* Sun Mar 05 2017 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.3.10-1
+- Updated to 1.3.10 (RHBZ #1411062)
+- Test with SCLs if available
+
+* Mon Jan 23 2017 Remi Collet <remi@remirepo.net> - 1.3.10-1
+- update to 1.3.10
+
+* Wed Jan 18 2017 Remi Collet <remi@remirepo.net> - 1.3.9-1
+- update to 1.3.9
+
+* Fri Jan 6 2017 Remi Collet <remi@remirepo.net> - 1.3.8-1
+- update to 1.3.8
+
+* Sat Dec 03 2016 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.3.7-1
+- Updated to 1.3.7 (RHBZ #1318837)
+- Switch autoloader from php-composer(symfony/class-loader) to
+ php-composer(fedora/autoloader)
+
+* Wed Oct 12 2016 Remi Collet <remi@remirepo.net> - 1.3.7-1
+- update to 1.3.7
+
+* Thu Sep 8 2016 Remi Collet <remi@remirepo.net> - 1.3.6-1
+- update to 1.3.6
+
+* Wed Apr 6 2016 Remi Collet <remi@remirepo.net> - 1.3.5-1
+- update to 1.3.5
+
+* Mon Jan 04 2016 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.3.3-1
+- Updated to 1.3.3 (RHBZ #1285581)
+
+* Mon Oct 26 2015 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.1.4-1
+- Updated to 1.1.4 (RHBZ #1272627)
+
+* Sun Oct 18 2015 Remi Collet <remi@remirepo.net> - 1.1.4-1
+- update to 1.1.4
+
+* Tue Aug 11 2015 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.1.3-1
+- Updated to 1.1.3 (RHBZ #1252195)
+- Updated autoloader to load dependencies after self registration
+
+* Tue Aug 11 2015 Remi Collet <remi@remirepo.net> - 1.1.3-1
+- update to 1.1.3
+
+* Mon Jul 20 2015 Remi Collet <remi@remirepo.net> - 1.1.2-1
+- add EL-5 stuff, backport for #remirepo
+
+* Wed Jul 15 2015 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.1.2-1
+- Update to 1.1.2
+- Fix license
+- Update description
+- Use full path in autoloader
+
+* Wed Jul 08 2015 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.1.1-1
+- Initial package