germinate 2.0 source package in Ubuntu

Changelog

germinate (2.0) unstable; urgency=low


  * Make sure to always close files after finishing with them.  Mostly this
    is done using the 'with' statement in Python 2.6, but pychecker gets
    unhappy with contextlib.closing so I carried on using traditional
    try/finally blocks in cases that would require that.
  * Remove all uses of os.system and os.popen, replacing them with uses of
    the better-designed subprocess module.
  * Remove all code supporting the germinate -i/--ipv6 option; this has been
    off by default since November 2004, the service behind this was
    discontinued in March 2007
    (http://lists.debian.org/debian-ipv6/2007/02/msg00015.html), and
    germinate was never a great place to track this kind of thing anyway.
  * Convert all option parsing to optparse.  Consolidate defaults into a new
    Germinate.defaults module.
  * Update copyright dates.
  * Move canonical source location from people.canonical.com to a hosted
    branch on Launchpad.
  * Slightly modernise use of dh_python2.
  * Forbid seed names containing slashes.
  * Eliminate most uses of list.sort() in favour of sorted(iterable).
  * When promoting dependencies from lesser seeds, remove them from the
    lesser seed lists at output time rather than immediately.  This is
    mostly to make it easier to process multiple seed structures, but also
    fixes a long-standing bug where promoted dependencies were only removed
    from a single arbitrary lesser seed rather than from all possible ones.
  * Memoise the results of Germinator's _inner_seeds, _strictly_outer_seeds,
    and _outer_seeds methods.  This saves nearly a third of germinate's
    runtime in common cases.
  * Write all output files atomically.
  * Change default distribution to precise.
  * Update kubuntu-meta example in germinate-update-metapackage(1).
  * Refer to versioned GPL file in debian/copyright.
  * Policy version 3.9.2: no changes required.

  * Massive API cleanup:
    - Move output-writing functions from the top-level germinate program
      into Germinator.
    - Redesign how Germinator gets Packages/Sources sections from the
      archive.  This now works via an abstract interface, which should make
      it easier to plug in alternative archive sources (e.g. a database).
    - Move all apt_pkg interaction into library code.  Germinator.__init__
      now takes an architecture argument so that it can set
      APT::Architecture.
    - Turn open_seed into a Seed class, allowing it to be a context manager.
    - Move code pertaining to the structure of seeds into a SeedStructure
      class, simplifying the interface.
    - Make all module names lower-case, per PEP-8.  Remove the separate
      Germinate.Archive.tagfile module; this is now in germinate.archive
      directly.  Adjust build system and pychecker handling to support this.
    - Remove unnecessary logging helper functions.
    - Don't modify level names on the root logger simply as a result of
      importing germinate.germinator; move this into a function.
    - Prefix all private methods with an underscore.
    - Remove germinate.tsort from germinate's public API.
    - Convert all method names to the PEP-8 preferred style (method_name
      rather than methodName).
    - Introduce wrapper functions for the various uses of write_list and
      write_source_list, and make the underlying methods private.
    - Make most instance variables private by prefixing an underscore,
      adding a few accessor methods.
    - Convert build system to distutils, make the germinate Python package
      public, and create a new python-germinate binary package.
    - Improve the Seed class so that seeds can be read multiple times
      without having to redownload them, and so that they remember which
      branch they came from.
    - Don't modify inner seeds when processing outer ones; filter
      build-dependencies on output instead.
    - Don't plant or grow seeds that have already had functionally-identical
      versions planted or grown respectively.
    - Automatically convert string dists/components/mirrors/source_mirrors
      arguments to lists in TagFile constructor.
    - Make it possible for a single Germinator to process multiple seed
      structures, reusing the work done on common seeds.
    - Canonicalise mirrors (by appending '/' if necessary) in TagFile rather
      than in the main germinate program.
    - Handle the extra seed entirely within Germinator rather than modifying
      SeedStructure (which doesn't fit well with processing the same seed
      structure on multiple architectures).
    - Use module-level loggers.
    - Get rid of the custom PROGRESS log level.
    - Change germinate.archive to use logging rather than print.
    - Add docstrings for all public classes and methods, and tidy up a few
      existing ones per PEP-257.

 -- Colin Watson <email address hidden>  Sun, 04 Dec 2011 14:16:54 +0000

Upload details

Uploaded by:
Colin Watson
Uploaded to:
Sid
Original maintainer:
Colin Watson
Architectures:
all
Section:
utils
Urgency:
Low Urgency

See full publishing history Publishing

Series Pocket Published Component Section

Builds

Precise: [FULLYBUILT] i386

Downloads

File Size SHA-256 Checksum
germinate_2.0.dsc 1.6 KiB 2aa31651b096ab758d481620cef274f82dced46eed4e89900f301a46da677f16
germinate_2.0.tar.gz 57.1 KiB 3df3002a92f10ea8b972e00cf60b4ef13fea68faa8a278e08d5cbd9611c3fe86

Available diffs

No changes file available.

Binary packages built by this source

germinate: expand dependencies in a list of seed packages

 Germinate takes lists of seed packages and expands their dependencies to
 produce a full list of packages. This can be used for purposes such as
 managing the list of packages present in a derived distribution's archive
 or CD builds.

python-germinate: expand dependencies in seed packages (Python interface)

 Germinate takes lists of seed packages and expands their dependencies to
 produce a full list of packages. This can be used for purposes such as
 managing the list of packages present in a derived distribution's archive
 or CD builds.
 .
 This package provides Python modules used by Germinate, which may also be
 used directly.