summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile3
-rw-r--r--composer.json152
-rwxr-xr-x[l---------]makesrc.sh29
-rwxr-xr-xphp-http-psr7-integration-tests-get-source.sh (renamed from php-zendframework-zend-diactoros-get-source.sh)19
-rw-r--r--php-laminas-diactoros.spec188
5 files changed, 238 insertions, 153 deletions
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.json b/composer.json
index cd72e25..abbcd34 100644
--- a/composer.json
+++ b/composer.json
@@ -1,72 +1,88 @@
{
- "name": "zendframework/zend-diactoros",
- "description": "PSR HTTP Message implementations",
- "type": "library",
- "license": "BSD-2-Clause",
- "keywords": [
- "http",
- "psr",
- "psr-7"
- ],
- "homepage": "https://github.com/zendframework/zend-diactoros",
- "support": {
- "issues": "https://github.com/zendframework/zend-diactoros/issues",
- "source": "https://github.com/zendframework/zend-diactoros"
- },
- "config": {
- "sort-packages": true
- },
- "extra": {
- "branch-alias": {
- "dev-release-1.8": "1.8.x-dev"
- }
- },
- "require": {
- "php": "^5.6 || ^7.0",
- "psr/http-message": "^1.0"
- },
- "require-dev": {
- "ext-dom": "*",
- "ext-libxml": "*",
- "php-http/psr7-integration-tests": "dev-master",
- "phpunit/phpunit": "^5.7.16 || ^6.0.8 || ^7.2.7",
- "zendframework/zend-coding-standard": "~1.0"
- },
- "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"
+ "name": "laminas/laminas-diactoros",
+ "description": "PSR HTTP Message implementations",
+ "license": "BSD-3-Clause",
+ "keywords": [
+ "laminas",
+ "http",
+ "psr",
+ "psr-7"
],
- "psr-4": {
- "Zend\\Diactoros\\": "src/"
- }
- },
- "autoload-dev": {
- "psr-4": {
- "ZendTest\\Diactoros\\": "test/"
+ "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"
},
- "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"
- }
+ "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
index bf1532e..87d223d 120000..100755
--- a/makesrc.sh
+++ b/makesrc.sh
@@ -1 +1,28 @@
-php-zendframework-zend-diactoros-get-source.sh \ No newline at end of file
+#!/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-zendframework-zend-diactoros-get-source.sh b/php-http-psr7-integration-tests-get-source.sh
index 4ad1051..dd96c2a 100755
--- a/php-zendframework-zend-diactoros-get-source.sh
+++ b/php-http-psr7-integration-tests-get-source.sh
@@ -24,18 +24,17 @@ else
SPEC=`ls *.spec | head -1`
fi
-NAME=`echo $SPEC | sed 's#\.spec##'`
-VERSION=`egrep '%global\s*github_version' $SPEC | awk '{print $3}'`
+VERSION=`egrep '%global\s*gh_psr7_version' $SPEC | awk '{print $3}'`
-print "SPEC = $SPEC"
-print "NAME = $NAME"
-
-GIT_OWNER=`egrep '%global\s*github_owner' $SPEC | awk '{print $3}'`
-GIT_NAME=`egrep '%global\s*github_name' $SPEC | awk '{print $3}'`
-GIT_COMMIT=`egrep '%global\s*github_commit' $SPEC | awk '{print $3}'`
+GIT_OWNER=`egrep '%global\s*gh_psr7_owner' $SPEC | awk '{print $3}'`
+GIT_NAME=`egrep '%global\s*gh_psr7_name' $SPEC | awk '{print $3}'`
+GIT_COMMIT=`egrep '%global\s*gh_psr7_commit' $SPEC | awk '{print $3}'`
GIT_REPO=https://github.com/${GIT_OWNER}/${GIT_NAME}
GIT_DIR=`echo $GIT_REPO | sed 's#.*/##'`
+NAME="$GIT_OWNER-$GIT_NAME"
+print "SPEC = $SPEC"
+print "NAME = $NAME"
print "GIT_OWNER = $GIT_OWNER"
print "GIT_NAME = $GIT_NAME"
print "GIT_COMMIT = $GIT_COMMIT"
@@ -43,8 +42,8 @@ print "GIT_REPO = $GIT_REPO"
print "GIT_DIR = $GIT_DIR"
TEMP_DIR=$(mktemp --dir)
-TAR_FILE=$PWD/${NAME}-${VERSION}-${GIT_COMMIT}.tar.gz
-CMP_FILE=$PWD/composer.json
+TAR_FILE=$PWD/${NAME}-${VERSION}-${GIT_COMMIT:0:7}.tgz
+CMP_FILE=$PWD/composer-psr7.json
pushd $TEMP_DIR
print "Cloning git repo..."
diff --git a/php-laminas-diactoros.spec b/php-laminas-diactoros.spec
index 99a8019..499d5e8 100644
--- a/php-laminas-diactoros.spec
+++ b/php-laminas-diactoros.spec
@@ -1,8 +1,6 @@
-# remirepo spec file for php-zendframework-zend-diactoros, from
+# remirepo/Fedora spec file for php-laminas-diactoros
#
-# Fedora spec file for php-zendframework-zend-diactoros
-#
-# Copyright (c) 2015-2018 Shawn Iwinski <shawn.iwinski@gmail.com>
+# Copyright (c) 2015-2020 Shawn Iwinski, Remi Collet
#
# License: MIT
# http://opensource.org/licenses/MIT
@@ -10,18 +8,20 @@
# Please preserve changelog entries
#
-%global github_owner zendframework
-%global github_name zend-diactoros
-%global github_version 1.8.7
-%global github_commit a85e67b86e9b8520d07e6415fcbcb8391b44a75b
-
-%global github_psr7_owner php-http
-%global github_psr7_name psr7-integration-tests
-%global github_psr7_version 0
-%global github_psr7_commit 5dfefb2da33ca24ae20c971b725c9a6fe7403008
-
-%global composer_vendor zendframework
-%global composer_project zend-diactoros
+%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
@@ -34,21 +34,21 @@
%{!?phpdir: %global phpdir %{_datadir}/php}
-Name: php-%{composer_vendor}-%{composer_project}
-Version: %{github_version}
-Release: 1%{?github_release}%{?dist}
+Name: php-%{gh_project}
+Version: 1.8.7p1
+Release: 1%{?gh_release}%{?dist}
Summary: PSR HTTP Message implementations
License: BSD
-URL: https://zendframework.github.io/%{github_name}/
+URL: https://github.com/%{gh_owner}/%{gh_project}
# GitHub export does not include tests.
-# Run php-zendframework-zend-diactoros-get-source.sh to create full source.
-Source0: %{name}-%{github_version}-%{github_commit}.tar.gz
-Source1: %{name}-get-source.sh
+# 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: %{github_psr7_owner}-%{github_psr7_name}-%{github_psr7_version}-%{github_psr7_commit}.tar.gz
-Source3: %{github_psr7_owner}-%{github_psr7_name}-get-source.sh
+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
@@ -57,73 +57,80 @@ BuildArch: noarch
BuildRequires: php(language) >= %{php_min_ver}
# remirepo:1
%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
-%global phpunit %{_bindir}/phpunit6
-BuildRequires: (php-composer(psr/http-message) >= %{psr_http_message_min_ver} with php-composer(psr/http-message) < %{psr_http_message_max_ver})
-# remirepo:5
+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
-%global phpunit %{_bindir}/phpunit
-BuildRequires: php-composer(psr/http-message) < %{psr_http_message_max_ver}
-BuildRequires: php-composer(psr/http-message) >= %{psr_http_message_min_ver}
+BuildRequires: php-laminas-zendframework-bridge
+BuildRequires: php-psr-http-message
%endif
-BuildRequires: %{phpunit}
-BuildRequires: php-dom
-BuildRequires: php-libxml
-## phpcompatinfo (computed from version 1.8.6)
+%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
-### ZendTest\Diactoros\StreamTest::getResourceFor67()
+### 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
+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
+BuildRequires: php-fedora-autoloader-devel
# composer.json
-Requires: php(language) >= %{php_min_ver}
+Requires: php(language) >= %{php_min_ver}
# remirepo:1
%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
-Requires: (php-composer(psr/http-message) >= %{psr_http_message_min_ver} with php-composer(psr/http-message) < %{psr_http_message_max_ver})
+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-composer(psr/http-message) < %{psr_http_message_max_ver}
-Requires: php-composer(psr/http-message) >= %{psr_http_message_min_ver}
+Requires: php-laminas-zendframework-bridge
+Requires: php-psr-http-message
%endif
-# phpcompatinfo (computed from version 1.8.6)
-Requires: php-json
-Requires: php-pcre
-Requires: php-spl
+# phpcompatinfo (computed from version 1.8.7p1)
+Requires: php-json
+Requires: php-pcre
+Requires: php-spl
# Autoloader
-Requires: php-composer(fedora/autoloader)
+Requires: php-composer(fedora/autoloader)
# Composer
-Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version}
-Provides: php-autoloader(%{composer_vendor}/%{composer_project}) = %{version}
-Provides: php-composer(psr/http-message-implementation) = 1.0
+# 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://zendframework.github.io/%{github_name}/
+Documentation: https://docs.laminas.dev/%{gh_project}/
-Autoloader: %{phpdir}/Zend/Diactoros/autoload.php
+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 %{github_name}-%{github_commit} -a2
+%setup -qn %{gh_project}-%{gh_commit} -a2
-mv %{github_psr7_name}-%{github_psr7_commit} psr7
+mv %{gh_psr7_name}-%{gh_psr7_commit} psr7
mv LICENSE.md LICENSE
@@ -144,10 +151,33 @@ cat <<'AUTOLOAD' | tee -a src/autoload.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
-mkdir -p %{buildroot}%{phpdir}/Zend/Diactoros
-cp -rp src/* %{buildroot}%{phpdir}/Zend/Diactoros/
+: 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
@@ -156,8 +186,8 @@ cp -rp src/* %{buildroot}%{phpdir}/Zend/Diactoros/
cat <<'BOOTSTRAP' | tee bootstrap.php
<?php
-require_once '%{buildroot}%{phpdir}/Zend/Diactoros/autoload.php';
-\Fedora\Autoloader\Autoload::addPsr4('ZendTest\\Diactoros\\', __DIR__.'/test');
+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(
@@ -166,19 +196,25 @@ require_once '%{buildroot}%{phpdir}/Zend/Diactoros/autoload.php';
));
BOOTSTRAP
-: Skip test requiring network access
-sed 's/function testReasonPhraseDefaultsAgainstIana/function SKIP_testReasonPhraseDefaultsAgainstIana/' \
- -i test/ResponseTest.php
-
: Upstream tests
+# Skip testReasonPhraseDefaultsAgainstIana requiring network access
RETURN_CODE=0
-for CMDARG in "php %{phpunit}" php71 php72 php73 php74; do
+for CMDARG in "php %{phpunit}" php72 php73 php74; do
if which $CMDARG; then
set $CMDARG
- $1 ${2:-%{_bindir}/phpunit6} --bootstrap bootstrap.php --verbose \
- || RETURN_CODE=1
+ $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";
+return (class_exists("\\Zend\\%{library}\\Request") ? 0 : 1);
+'
+
exit $RETURN_CODE
%else
: Tests skipped
@@ -191,11 +227,15 @@ exit $RETURN_CODE
%license LICENSE
%doc *.md
%doc composer.json
-%dir %{phpdir}/Zend
- %{phpdir}/Zend/Diactoros
+%{php_home}/Zend/%{library}
+%{php_home}/%{namespace}/%{library}
%changelog
+* 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