Commit 1aa3024f authored by lool's avatar lool

* pbuilder-satisfydepends-experimental, Makefile: alternate

implementation of pbuilder-satisfydepends which supports pulling
build-deps with a version on the apt-get command-line; this is derived
from pbuilder-satisfydepends with the following changes:
- Add and use new package_versions() and candidate_version() helpers;
  the former returns all versions of a package available via APT, the
  later APT's candidate version.
- For versionned build-deps, when building the "apt-get install"
  command, try APT's candidate version or all available versions
  available from APT in ascending order (the reverse order of
  apt-cache's output); checkbuilddep_versiondeps() isn't used for this
  part of the process anymore, but it is still used to honor
  build-conflicts.
- Recover from APT errors caused by unsufficient dependencies
  ("libfoo-dev Depends: bar but baz is to be installed") and missing
  dependencies libfoo-dev Depends: bar but it is not going to be
  installed", or simply "libfoo-dev Depends: bar"); this permits
  simply listing build-deps when uploading to experimental; achieved
  by moving the version matching logic in the new
  versioneddep_to_aptcmd() helper.
* pbuilderrc, pbuilderrc.5: document the availability of the alternate
implementation.
parent c348757f
......@@ -14,6 +14,28 @@
* pdebuild: pass --pbuildersatisfydepends to pdebuild-internal.
* pbuilder-modules, pdebuild.1: document --pbuildersatisfydepends.
* pbuilder-satisfydepends: drop an useless invocation of awk.
* pbuilder-satisfydepends-experimental, Makefile: alternate
implementation of pbuilder-satisfydepends which supports pulling
build-deps with a version on the apt-get command-line; this is derived
from pbuilder-satisfydepends with the following changes:
- Add and use new package_versions() and candidate_version() helpers;
the former returns all versions of a package available via APT, the
later APT's candidate version.
- For versionned build-deps, when building the "apt-get install"
command, try APT's candidate version or all available versions
available from APT in ascending order (the reverse order of
apt-cache's output); checkbuilddep_versiondeps() isn't used for this
part of the process anymore, but it is still used to honor
build-conflicts.
- Recover from APT errors caused by unsufficient dependencies
("libfoo-dev Depends: bar but baz is to be installed") and missing
dependencies libfoo-dev Depends: bar but it is not going to be
installed", or simply "libfoo-dev Depends: bar"); this permits
simply listing build-deps when uploading to experimental; achieved
by moving the version matching logic in the new
versioneddep_to_aptcmd() helper.
* pbuilderrc, pbuilderrc.5: document the availability of the alternate
implementation.
2006-11-03 Loic Minier <lool@dooz.org>
......
......@@ -15,6 +15,7 @@ SHELLCODES=pbuilder-buildpackage \
pbuilder-modules \
pbuilder-runhooks \
pbuilder-satisfydepends \
pbuilder-satisfydepends-experimental \
pbuilder-updatebuildenv \
pbuilder-user-mode-linux \
pbuilder \
......@@ -70,6 +71,7 @@ install:
$(INSTALL_EXECUTABLE) pdebuild-user-mode-linux $(DESTDIR)/usr/bin
$(INSTALL_EXECUTABLE) debuild-pbuilder $(DESTDIR)/usr/bin
$(INSTALL_EXECUTABLE) pbuilder-satisfydepends $(DESTDIR)/usr/lib/pbuilder/
$(INSTALL_EXECUTABLE) pbuilder-satisfydepends-experimental $(DESTDIR)/usr/lib/pbuilder/
$(INSTALL_EXECUTABLE) pdebuild-internal $(DESTDIR)/usr/lib/pbuilder/
$(INSTALL_FILE) pbuilderrc $(DESTDIR)/etc
$(INSTALL_FILE) pbuilderrc $(DESTDIR)/usr/share/pbuilder
......
......@@ -17,6 +17,9 @@ pbuilder (0.161) UNRELEASED; urgency=low
* New PBUILDERSATISFYDEPENDSCMD config option and --pbuildersatisfydepends
override flag to set the command to run to satisfy build dependencies;
default to the /usr/lib/pbuilder/pbuilder-satisfydepends helper.
* New experimental implementation of PBUILDERSATISFYDEPENDSCMD,
pbuilder-satisfydepends-experimental, which might help building packages
targetted at experimental.
-- Loic Minier <lool@dooz.org> Mon, 6 Nov 2006 19:38:36 +0100
......
This diff is collapsed.
......@@ -35,7 +35,10 @@ BUILDSOURCEROOTCMD="fakeroot"
PBUILDERROOTCMD="sudo"
# command to satisfy build-dependencies; the default is an internal shell
# implementation which is relatively slow
# implementation which is relatively slow; there's an alternate experimental
# implementation, "pbuilder-satisfydepends-experimental", which might be useful
# to pull packages from experimental or from repositories with a low APT Pin
# Priority
PBUILDERSATISFYDEPENDSCMD="/usr/lib/pbuilder/pbuilder-satisfydepends"
#default is to build everything. Passed on to dpkg-buildpackage
......
......@@ -216,7 +216,10 @@ in
.BI "PBUILDERSATISFYDEPENDSCMD=" "/usr/lib/pbuilder/pbuilder-satisfydepends"
This option is used by various parts of pbuilder to satisfy (i.e. install) the
build-dependencies of a package.
build-dependencies of a package. There is an alternate experimental
implementation, "pbuilder-satisfydepends-experimental", which might be useful
to pull packages from experimental or from repositories with a low APT Pin
Priority.
.TP
.BI "BUILDUSERID=" "1234"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment