Merge ~bryce/ubuntu/+source/php-parser:merge-v4.10.4-1-hirsute into ubuntu/+source/php-parser:ubuntu/devel

Proposed by Bryce Harrington
Status: Merged
Approved by: Bryce Harrington
Approved revision: 827ae5e470860a9f3a809b4929dcc7d902a9573b
Merge reported by: Bryce Harrington
Merged at revision: 827ae5e470860a9f3a809b4929dcc7d902a9573b
Proposed branch: ~bryce/ubuntu/+source/php-parser:merge-v4.10.4-1-hirsute
Merge into: ubuntu/+source/php-parser:ubuntu/devel
Diff against target: 186 lines (+146/-1)
5 files modified
debian/changelog (+14/-0)
debian/control (+2/-1)
debian/patches/0003-Disable-new-test-cases-not-yet-32-bit-compatible.patch (+57/-0)
debian/patches/0004-Disable-CodeParsingTest-due-to-integer-syntax.patch (+71/-0)
debian/patches/series (+2/-0)
Reviewer Review Type Date Requested Status
Bryce Harrington (community) Approve
Sergio Durigan Junior (community) Needs Fixing
git-ubuntu developers Pending
Canonical Server Pending
Review via email: mp+396706@code.launchpad.net

Description of the change

This is a re-do of the following MP:

   https://code.launchpad.net/~bryce/ubuntu/+source/php-parser/+git/php-parser/+merge/395546

As mentioned on that MP, Sergio ran into a build issue when he had -proposed enabled, presumably due to the version of phpunit in -proposed. As well, a new version sync'd in from debian, 4.10.4-1, thus this MP.

phpunit had been stuck in proposed due to a circular build dependency. It's still stuck in proposed but just due to some tests. So, it should be usable now on php-parser, and fixing php-parser will remove one of the issues preventing phpunit from migrating.

The changes here are essentially identical to what was proposed before. I've also verified it builds and autopkgtest passes for php-parser with phpunit 9.5:

autopkgtest [00:51:26]: test command1: -----------------------]
autopkgtest [00:51:26]: test command1: - - - - - - - - - - results - - - - - - - - - -
command1 PASS
autopkgtest [00:51:26]: @@@@@@@@@@@@@@@@@@@@ summary
command1 PASS
autopkgtest [00:51:26]: Binaries: resetting testbed apt configuration

triage-hirsute+21.04:~/pkg/PhpParser/merge-v4.10.4-1$ apt-cache policy phpunit
phpunit:
  Installed: 9.5.1-1
  Candidate: 9.5.1-1
  Version table:
 *** 9.5.1-1 500
        500 http://archive.ubuntu.com/ubuntu hirsute-proposed/universe amd64 Packages
        100 /var/lib/dpkg/status
     9.0.0-1ubuntu1~hirsute1 500
        500 http://ppa.launchpad.net/bryce/phpunit-unblock/ubuntu hirsute/main amd64 Packages
     8.5.9-1 500
        500 http://archive.ubuntu.com/ubuntu hirsute/universe amd64 Packages

PPA: https://launchpad.net/~bryce/+archive/ubuntu/php-parser-merge-v4.10.4-1

To post a comment you must log in.
Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

I'm reviewing this one.

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

* Changelog:
  - [X] old content and logical tag match as expected
    The tags were not uploaded to the repository
  - [√] changelog entry correct version and targeted codename
  - [√] changelog entries correct
  - [√] update-maintainer has been run

* Actual changes:
  - [√] no upstream changes to consider
  - [√] no further upstream version to consider
  - [√] debian changes look safe

* Old Delta:
  - [-] dropped changes are ok to be dropped
  - [√] nothing else to drop
  - [√] changes forwarded upstream/debian (if appropriate)

* New Delta:
  - [√] no new patches added
  - [-] patches match what was proposed upstream
  - [-] patches correctly included in debian/patches/series
  - [-] patches have correct DEP3 metadata

* Build/Test:
  - [√] build is ok
  - [√] verified PPA package installs/uninstalls
  - [√] autopkgtest against the PPA package passes
  - [√] sanity checks test fine

LGTM, and I verified that the dep8 tests are indeed passing:

autopkgtest [09:23:07]: @@@@@@@@@@@@@@@@@@@@ summary
command1 PASS

There is a lintian error that should be fixed IMO:

E: php-parser source: quilt-series-without-trailing-newline

Just add a trailing newline at the end of d/series :-).

Feel free to go ahead and push/upload with this fixed. Thanks!

review: Needs Fixing
Revision history for this message
Bryce Harrington (bryce) wrote :

Thanks, I've fixed up the newline in series and uploaded:

$ git ubuntu tag --upload
$ git push pkg upload/4.10.4-1ubuntu1
Enumerating objects: 27, done.
Counting objects: 100% (27/27), done.
Delta compression using up to 12 threads
Compressing objects: 100% (20/20), done.
Writing objects: 100% (21/21), 4.60 KiB | 785.00 KiB/s, done.
Total 21 (delta 12), reused 2 (delta 1)
To ssh://git.launchpad.net/ubuntu/+source/php-parser
 * [new tag] upload/4.10.4-1ubuntu1 -> upload/4.10.4-1ubuntu1
$ dput ubuntu php-parser_4.10.4-1ubuntu1_source.changes
Checking signature on .changes
gpg: /home/bryce/pkg/PhpParser/merge-v4.10.4-1/php-parser_4.10.4-1ubuntu1_source.changes: Valid signature from E603B2578FB8F0FB
Checking signature on .dsc
gpg: /home/bryce/pkg/PhpParser/merge-v4.10.4-1/php-parser_4.10.4-1ubuntu1.dsc: Valid signature from E603B2578FB8F0FB
Uploading to ubuntu (via ftp to upload.ubuntu.com):
  Uploading php-parser_4.10.4-1ubuntu1.dsc: done.
  Uploading php-parser_4.10.4-1ubuntu1.debian.tar.xz: done.
  Uploading php-parser_4.10.4-1ubuntu1_source.buildinfo: done.
  Uploading php-parser_4.10.4-1ubuntu1_source.changes: done.
Successfully uploaded packages.

Revision history for this message
Bryce Harrington (bryce) wrote :

This has migrated successfully.

 php-parser | 4.10.4-1ubuntu1 | hirsute/universe | source

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/debian/changelog b/debian/changelog
index 4ee52f8..65f1c22 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,17 @@
1php-parser (4.10.4-1ubuntu1) hirsute; urgency=medium
2
3 * Merge with Debian unstable. Remaining changes:
4 - d/p/0003-Disable-new-test-cases-not-yet-32-bit-compatible.patch:
5 + Disable two new test cases in order to fix proposed migration
6 blockage on armhf due to autopkgtest failures. Upstream indicates
7 these new test cases have not been verified to work with 32-bit.
8 (LP #1878102)
9 - d/p/0004-Disable-CodeParsingTest-due-to-integer-syntax.patch:
10 + Disable another test case that is not yet 32-bit compatible, to fix
11 proposed migration blockage on armhf.
12
13 -- Bryce Harrington <bryce@canonical.com> Thu, 21 Jan 2021 13:39:03 -0800
14
1php-parser (4.10.4-1) unstable; urgency=medium15php-parser (4.10.4-1) unstable; urgency=medium
216
3 [ Nikita Popov ]17 [ Nikita Popov ]
diff --git a/debian/control b/debian/control
index c12a666..c26c201 100644
--- a/debian/control
+++ b/debian/control
@@ -1,7 +1,8 @@
1Source: php-parser1Source: php-parser
2Section: php2Section: php
3Priority: optional3Priority: optional
4Maintainer: Debian PHP PEAR Maintainers <pkg-php-pear@lists.alioth.debian.org>4Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
5XSBC-Original-Maintainer: Debian PHP PEAR Maintainers <pkg-php-pear@lists.alioth.debian.org>
5Uploaders: David Prévot <taffit@debian.org>,6Uploaders: David Prévot <taffit@debian.org>,
6 Prach Pongpanich <prachpub@gmail.com>7 Prach Pongpanich <prachpub@gmail.com>
7Build-Depends: debhelper-compat (= 13), help2man, phpab, phpunit, pkg-php-tools8Build-Depends: debhelper-compat (= 13), help2man, phpab, phpunit, pkg-php-tools
diff --git a/debian/patches/0003-Disable-new-test-cases-not-yet-32-bit-compatible.patch b/debian/patches/0003-Disable-new-test-cases-not-yet-32-bit-compatible.patch
8new file mode 1006449new file mode 100644
index 0000000..759c633
--- /dev/null
+++ b/debian/patches/0003-Disable-new-test-cases-not-yet-32-bit-compatible.patch
@@ -0,0 +1,57 @@
1From d8a2b2392cc65b493e375987cb593a4f641e7b64 Mon Sep 17 00:00:00 2001
2From: Bryce Harrington <bryce@bryceharrington.org>
3Date: Tue, 12 May 2020 20:37:14 +0000
4Subject: [PATCH] Disable new test cases not yet 32-bit compatible
5
6Two test cases new in 4.4.0 fail on armhf:
7
8 - CodeParsingTest::testParse: Different integer syntaxes
9 - Lexer\EmulativeTest::testLexNewFeatures: '0xCAFE_F00D'
10
11Upstream reports these may not be 32-bit compatible.
12
13For now, don't run these two new test cases, until they're expected to be
14able to run on all platforms.
15
16Signed-off-by: Bryce Harrington <bryce@bryceharrington.org>
17---
18 test/PhpParser/Lexer/EmulativeTest.php | 12 ------------
19 1 file changed, 12 deletions(-)
20
21Origin: vendor
22Bug: https://github.com/nikic/PHP-Parser/issues/662
23Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/php-parser/+bug/1878102
24Last-Updated: 2020-12-18
25
26diff --git a/test/PhpParser/Lexer/EmulativeTest.php b/test/PhpParser/Lexer/EmulativeTest.php
27index e141b13..9b74fd1 100644
28--- a/test/PhpParser/Lexer/EmulativeTest.php
29+++ b/test/PhpParser/Lexer/EmulativeTest.php
30@@ -105,15 +105,6 @@ class EmulativeTest extends LexerTest
31 $this->assertSame($expectedTokens, $tokens);
32 }
33
34- /**
35- * @dataProvider provideTestLexNewFeatures
36- */
37- public function testLexNewFeatures($code, array $expectedTokens) {
38- $lexer = $this->getLexer();
39- $lexer->startLexing('<?php ' . $code);
40- $this->assertSameTokens($expectedTokens, $lexer);
41- }
42-
43 /**
44 * @dataProvider provideTestLexNewFeatures
45 */
46@@ -241,9 +232,6 @@ class EmulativeTest extends LexerTest
47 ['1_000', [
48 [Tokens::T_LNUMBER, '1_000'],
49 ]],
50- ['0xCAFE_F00D', [
51- [Tokens::T_LNUMBER, '0xCAFE_F00D'],
52- ]],
53 ['0b0101_1111', [
54 [Tokens::T_LNUMBER, '0b0101_1111'],
55 ]],
56--
572.25.1
diff --git a/debian/patches/0004-Disable-CodeParsingTest-due-to-integer-syntax.patch b/debian/patches/0004-Disable-CodeParsingTest-due-to-integer-syntax.patch
0new file mode 10064458new file mode 100644
index 0000000..de04972
--- /dev/null
+++ b/debian/patches/0004-Disable-CodeParsingTest-due-to-integer-syntax.patch
@@ -0,0 +1,71 @@
1From a354b3bc4fcf1bfe22d84741ebd1d945c4fa50df Mon Sep 17 00:00:00 2001
2From: Bryce Harrington <bryce@bryceharrington.org>
3Date: Thu, 14 May 2020 23:11:18 +0000
4Subject: [PATCH] Disable CodeParsingTest due to integer syntax inconsistency
5 on armhf
6
7Workaround testsuite failure when run on armhf by disabling the test
8case. The specific failing test case is from
9PhpParser\CodeParsingTest::testParse with the
10scalar/numberSeparators.test#0 data set:
11
12 2: Stmt_Expression(
13 - expr: Scalar_LNumber(
14 - value: 3405705229
15 + expr: Scalar_DNumber(
16 + value: 0
17 )
18
19Signed-off-by: Bryce Harrington <bryce@bryceharrington.org>
20---
21 test/PhpParser/CodeParsingTest.php | 29 -----------------------------
22 1 file changed, 29 deletions(-)
23
24Origin: vendor
25Bug: https://github.com/nikic/PHP-Parser/issues/662
26Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/php-parser/+bug/1878102
27Last-Updated: 2020-12-18
28
29diff --git a/test/PhpParser/CodeParsingTest.php b/test/PhpParser/CodeParsingTest.php
30index 24e93dd..1947932 100644
31--- a/test/PhpParser/CodeParsingTest.php
32+++ b/test/PhpParser/CodeParsingTest.php
33@@ -7,35 +7,6 @@ use PhpParser\Node\Stmt;
34
35 class CodeParsingTest extends CodeTestAbstract
36 {
37- /**
38- * @dataProvider provideTestParse
39- */
40- public function testParse($name, $code, $expected, $modeLine) {
41- if (null !== $modeLine) {
42- $modes = array_fill_keys(explode(',', $modeLine), true);
43- } else {
44- $modes = [];
45- }
46-
47- list($parser5, $parser7) = $this->createParsers($modes);
48- list($stmts5, $output5) = $this->getParseOutput($parser5, $code, $modes);
49- list($stmts7, $output7) = $this->getParseOutput($parser7, $code, $modes);
50-
51- if (isset($modes['php5'])) {
52- $this->assertSame($expected, $output5, $name);
53- $this->assertNotSame($expected, $output7, $name);
54- } elseif (isset($modes['php7'])) {
55- $this->assertNotSame($expected, $output5, $name);
56- $this->assertSame($expected, $output7, $name);
57- } else {
58- $this->assertSame($expected, $output5, $name);
59- $this->assertSame($expected, $output7, $name);
60- }
61-
62- $this->checkAttributes($stmts5);
63- $this->checkAttributes($stmts7);
64- }
65-
66 public function createParsers(array $modes) {
67 $lexer = new Lexer\Emulative(['usedAttributes' => [
68 'startLine', 'endLine',
69--
702.25.1
71
diff --git a/debian/patches/series b/debian/patches/series
index 629876c..47821f7 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,4 @@
10001-Allow-require-to-search-in-the-path.patch10001-Allow-require-to-search-in-the-path.patch
20002-Adapt-shebang-for-PHP-script.patch20002-Adapt-shebang-for-PHP-script.patch
30003-Disable-new-test-cases-not-yet-32-bit-compatible.patch
40004-Disable-CodeParsingTest-due-to-integer-syntax.patch
3\ No newline at end of file5\ No newline at end of file

Subscribers

People subscribed via source and target branches