Public bug reported:

phpunit depends on php-deepcopy and built against php-deepcopy 1.11.1.
Meanwhile the newer php-deepcopy 1.12.0 runs tests against itself using
phpunit during *build time*; phpunit needs the older php-deepcopy but
can't install it, which causes the tests to fail and in turn causes php-
deepcopy to FTBFS.  With no build for the new php-deepcopy it's not
possible to no-change rebuild phpunit to get around this.

Debian gets through this by performing binary-only uploads followed by a
source upload, however Ubuntu policy disallows that approach.

A workaround we've used in the past is to temporarily disable running
the tests during build for the problematic package(s), versioning the
package with a "maysync1" suffix so that the package can be re-sync'd
after the migration completes.

Ideally, the packaging should be fixed to not enter this messy situation
to begin with.  An approach is being explored with Debian to adjust the
autoload.php include to use a relative rather than absolute path in all
packages in the dependency chain.

Several PHP packages are affected by this (some reason showing only on
the i386 builds), for example composer:

 54s autopkgtest [00:27:50]: test command1: preparing testbed
 55s autopkgtest [00:27:51]: ERROR: Failed to resolve build-deps for 
/tmp/autopkgtest.X6WsPd/1-autopkgtest-satdep.dsc; apt-get --simulate output:
 55s autopkgtest [00:27:51]: ERROR: | Note, using file 
'/tmp/autopkgtest.X6WsPd/1-autopkgtest-satdep.dsc' to get the build dependencies
 55s autopkgtest [00:27:51]: ERROR: | Reading package lists...
 55s autopkgtest [00:27:51]: ERROR: | Building dependency tree...
 55s autopkgtest [00:27:51]: ERROR: | Reading state information...
 55s autopkgtest [00:27:51]: ERROR: | Some packages could not be installed. 
This may mean that you have
 55s autopkgtest [00:27:51]: ERROR: | requested an impossible situation or if 
you are using the unstable
 55s autopkgtest [00:27:51]: ERROR: | distribution that some required packages 
have not yet been created
 55s autopkgtest [00:27:51]: ERROR: | or been moved out of Incoming.
 55s autopkgtest [00:27:51]: ERROR: | The following information may help to 
resolve the situation:
 55s autopkgtest [00:27:51]: ERROR: | 
 55s autopkgtest [00:27:51]: ERROR: | The following packages have unmet 
dependencies:
 55s autopkgtest [00:27:51]: ERROR: |  phpunit : Depends: php-deepcopy (>= 
1.12.0) but 1.11.1-2 is to be installed
 55s autopkgtest [00:27:51]: ERROR: | E: Unable to correct problems, you have 
held broken packages.
 55s autopkgtest [00:27:51]: @@@@@@@@@@@@@@@@@@@@ summary
 55s command1             FAIL badpkg
 55s blame: composer
https://autopkgtest.ubuntu.com/results/autopkgtest-oracular/oracular/i386/c/composer/20240722_002802_e76bc@/log.gz

** Affects: php-deepcopy (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: php8.3 (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: phpunit (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: update-excuse

** Also affects: php-deepcopy (Ubuntu)
   Importance: Undecided
       Status: New

** Also affects: phpunit (Ubuntu)
   Importance: Undecided
       Status: New

** Description changed:

  phpunit depends on php-deepcopy and built against php-deepcopy 1.11.1.
  Meanwhile the newer php-deepcopy 1.12.0 runs tests against itself using
  phpunit during *build time*; phpunit needs the older php-deepcopy but
  can't install it, which causes the tests to fail and in turn causes php-
  deepcopy to FTBFS.  With no build for the new php-deepcopy it's not
  possible to no-change rebuild phpunit to get around this.
  
  Debian gets through this by performing binary-only uploads followed by a
  source upload, however Ubuntu policy disallows that approach.
  
  A workaround we've used in the past is to temporarily disable running
  the tests during build for the problematic package(s), versioning the
  package with a "maysync1" suffix so that the package can be re-sync'd
  after the migration completes.
  
  Ideally, the packaging should be fixed to not enter this messy situation
  to begin with.  An approach is being explored with Debian to adjust the
  autoload.php include to use a relative rather than absolute path in all
  packages in the dependency chain.
+ 
+ Several PHP packages are affected by this (some reason showing only on
+ the i386 builds), for example composer:
+ 
+  54s autopkgtest [00:27:50]: test command1: preparing testbed
+  55s autopkgtest [00:27:51]: ERROR: Failed to resolve build-deps for 
/tmp/autopkgtest.X6WsPd/1-autopkgtest-satdep.dsc; apt-get --simulate output:
+  55s autopkgtest [00:27:51]: ERROR: | Note, using file 
'/tmp/autopkgtest.X6WsPd/1-autopkgtest-satdep.dsc' to get the build dependencies
+  55s autopkgtest [00:27:51]: ERROR: | Reading package lists...
+  55s autopkgtest [00:27:51]: ERROR: | Building dependency tree...
+  55s autopkgtest [00:27:51]: ERROR: | Reading state information...
+  55s autopkgtest [00:27:51]: ERROR: | Some packages could not be installed. 
This may mean that you have
+  55s autopkgtest [00:27:51]: ERROR: | requested an impossible situation or if 
you are using the unstable
+  55s autopkgtest [00:27:51]: ERROR: | distribution that some required 
packages have not yet been created
+  55s autopkgtest [00:27:51]: ERROR: | or been moved out of Incoming.
+  55s autopkgtest [00:27:51]: ERROR: | The following information may help to 
resolve the situation:
+  55s autopkgtest [00:27:51]: ERROR: | 
+  55s autopkgtest [00:27:51]: ERROR: | The following packages have unmet 
dependencies:
+  55s autopkgtest [00:27:51]: ERROR: |  phpunit : Depends: php-deepcopy (>= 
1.12.0) but 1.11.1-2 is to be installed
+  55s autopkgtest [00:27:51]: ERROR: | E: Unable to correct problems, you have 
held broken packages.
+  55s autopkgtest [00:27:51]: @@@@@@@@@@@@@@@@@@@@ summary
+  55s command1             FAIL badpkg
+  55s blame: composer
+ 
https://autopkgtest.ubuntu.com/results/autopkgtest-oracular/oracular/i386/c/composer/20240722_002802_e76bc@/log.gz

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

Title:
  Circular dependency with phpunit & php-deepcopy

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


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

Reply via email to