From 082ab3738fa134831330d11d684a3e204511b170 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 2 Sep 2019 15:15:04 +0200 Subject: - rename to php-phpmyadmin-sql-parser5 - move to /usr/share/php/PhpMyAdmin/SqlParser5 - raise dependency on PHP 7.1 - switch to phpunit7 - add patch for PHP 7.4 from https://github.com/phpmyadmin/sql-parser/pull/258 --- 258.patch | 35 ++++++++++++++ composer.json | 6 +-- php-phpmyadmin-sql-parser5-autoload.patch | 34 ++++++------- php-phpmyadmin-sql-parser5.spec | 79 +++++++++++++++++-------------- 4 files changed, 99 insertions(+), 55 deletions(-) create mode 100644 258.patch diff --git a/258.patch b/258.patch new file mode 100644 index 0000000..ba6220a --- /dev/null +++ b/258.patch @@ -0,0 +1,35 @@ +From 579f7445f7cfd8c3ff07f20fe836a1c56518656e Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Mon, 2 Sep 2019 15:02:02 +0200 +Subject: [PATCH] fix implode arg. order + +--- + src/Components/Expression.php | 2 +- + src/Components/ExpressionArray.php | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/Components/Expression.php b/src/Components/Expression.php +index 9c21def5..108f3350 100644 +--- a/src/Components/Expression.php ++++ b/src/Components/Expression.php +@@ -433,7 +433,7 @@ public static function parse(Parser $parser, TokensList $list, array $options = + public static function build($component, array $options = []) + { + if (is_array($component)) { +- return implode($component, ', '); ++ return implode(', ', $component); + } + + if ($component->expr !== '' && ! is_null($component->expr)) { +diff --git a/src/Components/ExpressionArray.php b/src/Components/ExpressionArray.php +index 2f44d7af..eb05aac9 100644 +--- a/src/Components/ExpressionArray.php ++++ b/src/Components/ExpressionArray.php +@@ -122,6 +122,6 @@ public static function build($component, array $options = []) + $ret[] = $frag::build($frag); + } + +- return implode($ret, ', '); ++ return implode(', ', $ret); + } + } diff --git a/composer.json b/composer.json index f4af964..c525411 100644 --- a/composer.json +++ b/composer.json @@ -16,14 +16,14 @@ "source": "https://github.com/phpmyadmin/sql-parser" }, "require": { - "php": ">=5.3.0", + "php": "^7.1", "symfony/polyfill-mbstring": "^1.3" }, "require-dev": { "sami/sami": "^4.0", "phpunit/php-code-coverage": "*", - "phpunit/phpunit": "~4.8 || ~5.7 || ~6.5", - "squizlabs/php_codesniffer": "^2.9" + "phpunit/phpunit": "^7.4", + "phpmyadmin/coding-standard": "^1.0" }, "conflict": { "phpmyadmin/motranslator": "<3.0" diff --git a/php-phpmyadmin-sql-parser5-autoload.patch b/php-phpmyadmin-sql-parser5-autoload.patch index 3cea924..e36b353 100644 --- a/php-phpmyadmin-sql-parser5-autoload.patch +++ b/php-phpmyadmin-sql-parser5-autoload.patch @@ -1,9 +1,9 @@ diff -up ./bin/highlight-query.rpm ./bin/highlight-query ---- ./bin/highlight-query.rpm 2019-06-03 14:32:07.000000000 +0200 -+++ ./bin/highlight-query 2019-06-04 19:06:37.085484476 +0200 -@@ -1,29 +1,7 @@ - #!/usr/bin/env php +--- ./bin/highlight-query.rpm 2019-09-02 14:54:16.417436515 +0200 ++++ ./bin/highlight-query 2019-09-02 14:55:10.825758789 +0200 +@@ -2,29 +2,7 @@ runHighlight()); diff -up ./bin/lint-query.rpm ./bin/lint-query ---- ./bin/lint-query.rpm 2019-06-03 14:32:07.000000000 +0200 -+++ ./bin/lint-query 2019-06-04 19:06:37.085484476 +0200 -@@ -1,29 +1,7 @@ - #!/usr/bin/env php +--- ./bin/lint-query.rpm 2019-09-02 14:54:16.417436515 +0200 ++++ ./bin/lint-query 2019-09-02 14:55:18.682805327 +0200 +@@ -2,29 +2,7 @@ runLint()); diff -up ./bin/tokenize-query.rpm ./bin/tokenize-query ---- ./bin/tokenize-query.rpm 2019-06-04 19:08:04.886758030 +0200 -+++ ./bin/tokenize-query 2019-06-04 19:08:09.025766484 +0200 -@@ -1,29 +1,7 @@ - #!/usr/bin/env php +--- ./bin/tokenize-query.rpm 2019-09-02 14:54:16.418436521 +0200 ++++ ./bin/tokenize-query 2019-09-02 14:55:29.169867441 +0200 +@@ -2,29 +2,7 @@ runTokenize()); diff -up ./src/Translator.php.rpm ./src/Translator.php ---- ./src/Translator.php.rpm 2019-06-03 14:32:07.000000000 +0200 -+++ ./src/Translator.php 2019-06-04 19:06:37.085484476 +0200 +--- ./src/Translator.php.rpm 2019-05-10 02:57:14.000000000 +0200 ++++ ./src/Translator.php 2019-09-02 14:54:16.418436521 +0200 @@ -40,7 +40,7 @@ class Translator self::$loader->textdomain('sqlparser'); diff --git a/php-phpmyadmin-sql-parser5.spec b/php-phpmyadmin-sql-parser5.spec index bcc035a..340cfec 100644 --- a/php-phpmyadmin-sql-parser5.spec +++ b/php-phpmyadmin-sql-parser5.spec @@ -1,4 +1,4 @@ -# remirepo/fedora spec file for php-phpmyadmin-sql-parser +# remirepo/fedora spec file for php-phpmyadmin-sql-parser5 # # Copyright (c) 2015-2019 Remi Collet # License: CC-BY-SA @@ -7,7 +7,7 @@ # Please, preserve the changelog entries # -%global gh_commit b35c21f82e7202d739f6349a583b11e6d32b2b64 +%global gh_commit 538611d5336e1bd8aea30744dab43289334f1657 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner phpmyadmin #global gh_date 20150820 @@ -15,9 +15,10 @@ %global with_tests 0%{!?_without_tests:1} %global ns_vendor PhpMyAdmin %global ns_project SqlParser +%global major 5 -Name: php-%{gh_owner}-%{gh_project} -Version: 4.3.2 +Name: php-%{gh_owner}-%{gh_project}%{major} +Version: 5.0.0 Release: 1%{?gh_date?%{gh_date}git%{gh_short}}%{?dist} Summary: A validating SQL lexer and parser with a focus on MySQL dialect @@ -27,43 +28,39 @@ Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit # Use our autoloader and locale relocation Patch0: %{name}-autoload.patch +# PHP 7.4 +Patch1: https://patch-diff.githubusercontent.com/raw/phpmyadmin/sql-parser/pull/258.patch BuildArch: noarch BuildRequires: gettext %if %{with_tests} -BuildRequires: php(language) >= 5.3.0 +BuildRequires: php(language) >= 7.1 BuildRequires: php-composer(phpmyadmin/motranslator) >= 3.0 BuildRequires: php-mbstring +BuildRequires: php-spl # For tests, from composer.json "require-dev": { # "phpunit/php-code-coverage": "*", -# "phpunit/phpunit": "~4.8 || ~5.7 || ~6.5", -# "squizlabs/php_codesniffer": "^2.9" -%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 -BuildRequires: phpunit6 >= 6.5 -%global phpunit %{_bindir}/phpunit6 -%else -BuildRequires: php-composer(phpunit/phpunit) -%global phpunit %{_bindir}/phpunit -%endif +# "phpunit/phpunit": "^7.4", +# "phpmyadmin/coding-standard": "^1.0" +BuildRequires: phpunit7 >= 7.4 +%global phpunit %{_bindir}/phpunit7 %endif # For autoloader BuildRequires: php-composer(fedora/autoloader) # From composer.json, "require": { -# "php": ">=5.3.0", +# "php": "^7.1", # "symfony/polyfill-mbstring": "^1.3" # From composer.json, "conflict": { # "phpmyadmin/motranslator": "<3.0" # From composer.json, "suggest": { # "ext-mbstring": "For best performance", # "phpmyadmin/motranslator": "Translate messages to your favorite locale" - -Requires: php(language) >= 5.3 +Requires: php(language) >= 7.1 Requires: php-composer(phpmyadmin/motranslator) >= 3.0 # Mandatory to avoid symfony/polyfill-mbstring Requires: php-mbstring -# From phpcompatinfo report for 4.2.0 -Requires: php-pcre +# From phpcompatinfo report for 5.0.0 Requires: php-spl # For generated autoloader Requires: php-composer(fedora/autoloader) @@ -80,13 +77,14 @@ A validating SQL lexer and parser with a focus on MySQL dialect. This library was originally developed for phpMyAdmin during the Google Summer of Code 2015. -Autoloader: %{_datadir}/php/%{ns_vendor}/%{ns_project}/autoload.php +Autoloader: %{_datadir}/php/%{ns_vendor}/%{ns_project}%{major}/autoload.php %prep %setup -q -n %{gh_project}-%{gh_commit} %patch0 -p0 -b .rpm +%patch1 -p1 find src -name \*rpm -exec rm {} \; : Create autoloader @@ -115,9 +113,9 @@ rm locale/sqlparser.pot %install : Library mkdir -p %{buildroot}%{_datadir}/php/%{ns_vendor} -cp -pr src %{buildroot}%{_datadir}/php/%{ns_vendor}/%{ns_project} +cp -pr src %{buildroot}%{_datadir}/php/%{ns_vendor}/%{ns_project}%{major} # keep locale in project dir as name seems too generic -cp -pr locale %{buildroot}%{_datadir}/php/%{ns_vendor}/%{ns_project}/locale +cp -pr locale %{buildroot}%{_datadir}/php/%{ns_vendor}/%{ns_project}%{major}/locale : Commands install -Dpm 0755 bin/highlight-query %{buildroot}%{_bindir}/%{name}-highlight-query @@ -134,7 +132,7 @@ install -Dpm 0755 bin/tokenize-query %{buildroot}%{_bindir}/%{name}-tokenize-qu mkdir vendor cat << 'EOF' | tee vendor/autoload.php = 12 || 0%{?rhel} >= 7 %files -f sqlparser.lang +# remirepo:5 %else %files -%{_datadir}/php/%{ns_vendor}/%{ns_project}/locale/*/LC_MESSAGES/*.mo +%{_datadir}/php/%{ns_vendor}/%{ns_project}%{major}/locale/*/LC_MESSAGES/*.mo %endif %{!?_licensedir:%global license %%doc} %license LICENSE.txt @@ -167,19 +167,28 @@ exit $ret %{_bindir}/%{name}-highlight-query %{_bindir}/%{name}-lint-query %{_bindir}/%{name}-tokenize-query -%dir %{_datadir}/php/%{ns_vendor}/%{ns_project} - %{_datadir}/php/%{ns_vendor}/%{ns_project}/*php - %{_datadir}/php/%{ns_vendor}/%{ns_project}/Components/ - %{_datadir}/php/%{ns_vendor}/%{ns_project}/Contexts/ - %{_datadir}/php/%{ns_vendor}/%{ns_project}/Exceptions/ - %{_datadir}/php/%{ns_vendor}/%{ns_project}/Statements/ - %{_datadir}/php/%{ns_vendor}/%{ns_project}/Utils/ -%dir %{_datadir}/php/%{ns_vendor}/%{ns_project}/locale/ -%dir %{_datadir}/php/%{ns_vendor}/%{ns_project}/locale/*/ -%dir %{_datadir}/php/%{ns_vendor}/%{ns_project}/locale/*/LC_MESSAGES/ +%dir %{_datadir}/php/%{ns_vendor}/%{ns_project}%{major} + %{_datadir}/php/%{ns_vendor}/%{ns_project}%{major}/*php + %{_datadir}/php/%{ns_vendor}/%{ns_project}%{major}/Components/ + %{_datadir}/php/%{ns_vendor}/%{ns_project}%{major}/Contexts/ + %{_datadir}/php/%{ns_vendor}/%{ns_project}%{major}/Exceptions/ + %{_datadir}/php/%{ns_vendor}/%{ns_project}%{major}/Statements/ + %{_datadir}/php/%{ns_vendor}/%{ns_project}%{major}/Utils/ +%dir %{_datadir}/php/%{ns_vendor}/%{ns_project}%{major}/locale/ +%dir %{_datadir}/php/%{ns_vendor}/%{ns_project}%{major}/locale/*/ +%dir %{_datadir}/php/%{ns_vendor}/%{ns_project}%{major}/locale/*/LC_MESSAGES/ %changelog +* Mon Sep 2 2019 Remi Collet - 5.0.0-1 +- update to 5.0.0 +- rename to php-phpmyadmin-sql-parser5 +- move to /usr/share/php/PhpMyAdmin/SqlParser5 +- raise dependency on PHP 7.1 +- switch to phpunit7 +- add patch for PHP 7.4 from + https://github.com/phpmyadmin/sql-parser/pull/258 + * Tue Jun 4 2019 Remi Collet - 4.3.2-1 - update to 4.3.2 - add php-phpmyadmin-sql-parser-tokenize-query command -- cgit