← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1880569] [NEW] bddep misses dependencies introduced by debian/patches

 

Public bug reported:

When the packages/bddeb script is called from the ubuntu/focal branch it
constructs a source package with missing build dependencies (pytest and
pytest-cov). The package is therefore unsuitable for testing.

The problem is due to the fact that the missing dependencies are
introduced in test-requirements.txt by a patch in debian/patches. bddeb
runs tools/read-dependencies to construct the list of dependencies,
however when read-dependencies is run the patch is not applied, so the
additional dependencies are missed.

One solution is: call

  dpkg-source --before-build <target>

right before calling read-dependencies. The command applies all the
patches, so the dep can be found. The same command with --after-build
can be used to unapply the patches.

Problem: read-dependencies is not run from the *target* directory, but
from the directory where the git repo has been cloned. Easiest solution:
always pass the full path of the requirements file to read-dependencies
via --requirements-file.

** Affects: cloud-init
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1880569

Title:
  bddep misses dependencies introduced by debian/patches

Status in cloud-init:
  New

Bug description:
  When the packages/bddeb script is called from the ubuntu/focal branch
  it constructs a source package with missing build dependencies (pytest
  and pytest-cov). The package is therefore unsuitable for testing.

  The problem is due to the fact that the missing dependencies are
  introduced in test-requirements.txt by a patch in debian/patches.
  bddeb runs tools/read-dependencies to construct the list of
  dependencies, however when read-dependencies is run the patch is not
  applied, so the additional dependencies are missed.

  One solution is: call

    dpkg-source --before-build <target>

  right before calling read-dependencies. The command applies all the
  patches, so the dep can be found. The same command with --after-build
  can be used to unapply the patches.

  Problem: read-dependencies is not run from the *target* directory, but
  from the directory where the git repo has been cloned. Easiest
  solution: always pass the full path of the requirements file to read-
  dependencies via --requirements-file.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1880569/+subscriptions


Follow ups