Mercurial > treepkg > treepkg
comparison treepkg/packager.py @ 191:94fb3f3ab58b
When building a subset of tracks, make sure new packages are added to
pbuilder even if the tracks that depend on them are not being built. To
achieve this, the information which tracks are to be built is now stored
as the do_build flag in the individual tracks and not by passing only a
subset of the tracks ot the PackagerGroup. Otherwise the PackagerGroup
would not determine the dependencies correctly.
author | Bernhard Herzog <bh@intevation.de> |
---|---|
date | Wed, 30 Jul 2008 19:23:10 +0000 |
parents | e83db4482aab |
children | 86360f3d5611 |
comparison
equal
deleted
inserted
replaced
190:e83db4482aab | 191:94fb3f3ab58b |
---|---|
304 extra_config_desc = [] | 304 extra_config_desc = [] |
305 | 305 |
306 def __init__(self, name, base_dir, svn_url, root_cmd, pbuilderrc, deb_email, | 306 def __init__(self, name, base_dir, svn_url, root_cmd, pbuilderrc, deb_email, |
307 deb_fullname, packager_class="treepkg.packager", | 307 deb_fullname, packager_class="treepkg.packager", |
308 debrevision_prefix="treepkg", handle_dependencies=False, | 308 debrevision_prefix="treepkg", handle_dependencies=False, |
309 signing_key_id=""): | 309 signing_key_id="", do_build=True): |
310 self.name = name | 310 self.name = name |
311 self.base_dir = base_dir | 311 self.base_dir = base_dir |
312 self.svn_url = svn_url | 312 self.svn_url = svn_url |
313 self.builder = PBuilder(pbuilderrc, root_cmd, | 313 self.builder = PBuilder(pbuilderrc, root_cmd, |
314 release_signing_keyid=signing_key_id) | 314 release_signing_keyid=signing_key_id) |
315 self.deb_email = deb_email | 315 self.deb_email = deb_email |
316 self.deb_fullname = deb_fullname | 316 self.deb_fullname = deb_fullname |
317 self.debrevision_prefix = debrevision_prefix | 317 self.debrevision_prefix = debrevision_prefix |
318 self.signing_key_id = signing_key_id | 318 self.signing_key_id = signing_key_id |
319 self.do_build = do_build | |
319 self.handle_dependencies = handle_dependencies | 320 self.handle_dependencies = handle_dependencies |
320 self.dependencies = None | 321 self.dependencies = None |
321 self.pkg_dir_template = "%(revision)d-%(increment)d" | 322 self.pkg_dir_template = "%(revision)d-%(increment)d" |
322 self.pkg_dir_regex \ | 323 self.pkg_dir_regex \ |
323 = re.compile(r"(?P<revision>[0-9]+)-(?P<increment>[0-9]+)$") | 324 = re.compile(r"(?P<revision>[0-9]+)-(?P<increment>[0-9]+)$") |
440 def package_if_updated(self, revision=None, do_svn_update=True): | 441 def package_if_updated(self, revision=None, do_svn_update=True): |
441 """Returns a new packager if the working copy has not been packaged yet. | 442 """Returns a new packager if the working copy has not been packaged yet. |
442 If do_svn_update is true -- the default -- update the working | 443 If do_svn_update is true -- the default -- update the working |
443 copy to the the revision specified with the revision parameter | 444 copy to the the revision specified with the revision parameter |
444 or if revision is None, the latest revision in the repository.""" | 445 or if revision is None, the latest revision in the repository.""" |
446 if not self.do_build: | |
447 return None | |
445 if do_svn_update: | 448 if do_svn_update: |
446 self.update_checkout(revision=revision) | 449 self.update_checkout(revision=revision) |
447 current_revision = self.last_changed_revision() | 450 current_revision = self.last_changed_revision() |
448 logging.info("New revision is %d", current_revision) | 451 logging.info("New revision is %d", current_revision) |
449 if current_revision not in self.get_revision_numbers(): | 452 if current_revision not in self.get_revision_numbers(): |