php-phar-io-manifest is also affected (this is a phpunit dependency)

** Description changed:

  Due to a circular build dependency (phpunit dependency chain), php-
  parser is pulled during its own package build time.
  
  Since php packages ship autoloaders that load the dependencies for a
  given package when a package is loaded, the installed version of php-
  parser is loaded when the system's phpunit is called.
  
  This means that, when running the php-parser package test suite during
  build time, we are actually testing the installed version (or the
  previous version) of the package, and not the one being built.
  
  This is mostly pointless and will trigger test errors when bug fixes
  include regression tests.
  
  Below you will find a complete explanation of the issue as discussed in
  #debian-php in IRC.
  
  For now, let's skip running the test suite for this package. Let's also
  keep this bug open since we should find an actual solution for the issue
  (and I also understand several other packages are affected by the same
  problem).
  
- 20:55 < athos> hey taffit ! I took some time to understand what was going on 
with 
+ 20:55 < athos> hey taffit ! I took some time to understand what was going on 
with
  
https://tracker.debian.org/news/1511003/accepted-php-parser-502-2-source-into-unstable/
- 20:56 < athos> I suppose I get it now (correct me if I am wrong)! There are 3 
reverse 
-                dependencies pulling php-parser back (circular b-dependencies)
+ 20:56 < athos> I suppose I get it now (correct me if I am wrong)! There are 3 
reverse
+                dependencies pulling php-parser back (circular b-dependencies)
  20:56 < athos> they are all phpunit dependencies
  20:57 < athos> SebastianBergmann/{Complexity,LinesOfCode,CodeCoverage}
- 20:58 < athos> although we are getting the local php-parser in the path in 
d/rules (ln -s 
-                lib/PhpParser .)
- 20:59 < athos> the debian installed autoloaders will end up pulling the 
installed version of 
-                the package anyways
+ 20:58 < athos> although we are getting the local php-parser in the path in 
d/rules (ln -s
+                lib/PhpParser .)
+ 20:59 < athos> the debian installed autoloaders will end up pulling the 
installed version of
+                the package anyways
  20:59 < athos> (the package being tested, in this case, php-parser)
- 21:02 < athos> This is the first occurence of the issue I have seen, but now 
I am wondering 
-                if this is the case for anything in the phpunit dependency tree
- 21:05 < athos> if it is, so, for those packges, we are actually testing the 
previous version 
-                of the package each time we upload them and sometimes tests 
will break (that 
-                is the point of unit tests!) and that is why we (you) do the 
binary package 
-                upload before pushing the sources
- 21:09 < athos> I wonder if it makes sense to run the tests during build time 
for these 
-                packages at all.
- 21:19 < athos> But more importantly, I wonder how we could improve the 
situation so we can 
-                ensure the package being built is loaded instead of the 
installed one in those 
-                situations
+ 21:02 < athos> This is the first occurence of the issue I have seen, but now 
I am wondering
+                if this is the case for anything in the phpunit dependency tree
+ 21:05 < athos> if it is, so, for those packges, we are actually testing the 
previous version
+                of the package each time we upload them and sometimes tests 
will break (that
+                is the point of unit tests!) and that is why we (you) do the 
binary package
+                upload before pushing the sources
+ 21:09 < athos> I wonder if it makes sense to run the tests during build time 
for these
+                packages at all.
+ 21:19 < athos> But more importantly, I wonder how we could improve the 
situation so we can
+                ensure the package being built is loaded instead of the 
installed one in those
+                situations
+ 
+ 04:10 < taffit> athos: I haven’t yet succedded to ensure the new package is 
being tested at 
+                 build time (and am not sure it’s possible, given the 
installed package is 
+                 actually in use by PHPUnit dependency chain).
+ 04:14 < taffit> Maybe by using “require_once __DIR__ . 
'/../<relative_path>/autoload.php” 
+                 instead of “require_once 
'/usr/share/php/<absolute_path>/autoload.php“ in all 
+                 autoload.php of the dependency chain AND making a symlink 
tree at package 
+                 build.
+ 04:14 < taffit> (as is currently done for composer and symfony, at least 
partly)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2059173

Title:
  FTBFS: build time test error due to circular build dependency

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/php-parser/+bug/2059173/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to