germinate (2.19) unstable; urgency=medium * Make it possible to add a custom seed with no parents. * Fix TagFile.sections to use try/finally so that the temporary directory reliably gets cleaned up. -- Colin Watson Sat, 20 Sep 2014 00:20:59 +0100 germinate (2.18) unstable; urgency=medium * Fix Vcs-Bzr field so that it actually works with bzr. Adjust Vcs-Browser field to match. * Allow subclasses of SeedStructure to override a new make_seed method in order to slot in a different Seed implementation. -- Colin Watson Fri, 18 Jul 2014 16:07:01 +0100 germinate (2.17) unstable; urgency=medium * Bump recursion limit to 3000; apparently utopic trips over the existing limit (LP: #1312478). -- Colin Watson Fri, 25 Apr 2014 00:54:11 +0100 germinate (2.16) unstable; urgency=medium * Quote slashes in suite names when constructing local tag file names (thanks, Eugene Paskevich). * Change default distribution to trusty. * Update kubuntu-meta example in germinate-update-metapackage(1). * Policy version 3.9.5: no changes required. -- Colin Watson Thu, 03 Apr 2014 15:40:02 +0100 germinate (2.15) unstable; urgency=medium * Use type and selector attributes of urllib.request.Request in Python >= 3.1 rather than the deprecated get_type and get_selector accessor methods, fixing a build failure with Python 3.4 which removed these methods entirely. -- Colin Watson Wed, 15 Jan 2014 00:46:59 +0000 germinate (2.14) unstable; urgency=low * Micro-optimise lesser seeds calculation in Germinator._promote_dependency. * Amend dh_germinate_metapackage(1) to note that this program must be run after dh_prep. * Tolerate missing reasons when writing output. This is possible when germinate is being run over multiple flavours for the same architecture, and packages are promoted differently between seeds depending on the flavour. We can't generate a correct reason without a heavy performance cost in this case, but we can at least not crash. * Remove a few unnecessary "if condition: return True; else: return False" patterns. * Support multiarch (build-)dependency qualifiers (:any, :native). -- Colin Watson Fri, 11 Oct 2013 20:00:19 +0100 germinate (2.13) unstable; urgency=low * Fix dh_germinate_clean(1) and dh_germinate_metapackage(1) to recommend syntax compatible with debhelper 8. * Policy version 3.9.4: - Add a Vcs-Browser field. * Change default distribution to saucy. -- Colin Watson Thu, 13 Jun 2013 12:50:22 +0100 germinate (2.12) unstable; urgency=low * Add dists option to distribution sections in germinate-update-metapackage configuration, making it more useful for released distributions. -- Colin Watson Wed, 28 Nov 2012 16:13:58 +0000 germinate (2.11) unstable; urgency=low * Use collections.defaultdict instead of manually initialising elements. * Simplify some sorted() calls, relying on the default iterator for mappings being .keys(). * Simplify code to clean up bzr cache, removing an unnecessary helper function. * Add support for reading seeds from relative filesystem paths (thanks, Sjoerd Simons; LP: #1010186). * Only allow dh_python2 to operate on python-germinate, to avoid chaos caused by shebang rewriting. -- Colin Watson Tue, 18 Sep 2012 10:12:41 +0100 germinate (2.10) unstable; urgency=low * Always open Packages files as UTF-8, regardless of the current locale. LP: #1025818. -- Steve Langasek Mon, 23 Jul 2012 11:33:43 +0100 germinate (2.9) unstable; urgency=low * Support both Python 2 and 3 directly rather than using 2to3. * Make various cosmetic changes to conform to PEP-8. * Switch the top-level scripts to Python 3 by default. (They can still be run manually with /usr/bin/python if need be.) * Update copyright dates. * Policy version 3.9.3: - Convert debian/copyright to copyright-format 1.0. -- Colin Watson Thu, 14 Jun 2012 15:30:05 +0100 germinate (2.8) unstable; urgency=low * Build-depend on python-unittest2 so that the test suite works with Python 2.6 (closes: #661608). -- Colin Watson Wed, 29 Feb 2012 12:20:40 +0000 germinate (2.7) unstable; urgency=low * Explicitly specify the encoding to io.open so that tests pass even in the C locale. -- Colin Watson Tue, 31 Jan 2012 19:40:47 +0000 germinate (2.6) unstable; urgency=low * Fix processing of multiple suites where there are different versions of a package with different Provides fields. * Fix SeedStructure.write_seed_text to handle UTF-8 text in seeds correctly. -- Colin Watson Tue, 31 Jan 2012 01:53:34 +0000 germinate (2.5) unstable; urgency=low * Stop fetching Suggests from Packages; we don't use it. * Build a cache of seed entries when analysing reverse-dependencies, so that we don't have to expensively call get_seed_entries once per package per seed (LP: #915569). * Convert to setuptools. * Add the beginnings of a test suite. * Make the main bodies of scripts into modules so that they can be tested more easily. * Remove private AtomicUTF8File class; just write all files as UTF-8. * Port to Python 3: - Use "raise Exception(value)" syntax rather than the old-style "raise Exception, value". - Use Python 3-style print functions. - Use a list comprehension rather than filter (which behaves differently in Python 3). - Make GraphCycleError a subclass of Exception rather than of StandardError. - Simplify stringiness tests in TagFile.__init__ and Seed.__init__ using basestring. - Implement rich comparison methods instead of __cmp__ for Seed and GerminatedSeed. (Seed needs all of them for interface-compatibility; GerminatedSeed only needs __eq__ and __ne__.) - Use Python 3 replacements for urllib, urllib2, and ConfigParser if available. - When decompressing tag files from the archive, explicitly treat everything as binary data. - In Python 3, decode seed data read from URLs as UTF-8. - Pass universal_newlines=True to subprocess.Popen to get Unicode output. - Make sure to close stdout of subprocess.Popen objects. - Use 2to3 to handle the few remaining 2/3 differences at build time. - Add a python3-germinate package. -- Colin Watson Tue, 17 Jan 2012 00:51:28 +0000 germinate (2.4) unstable; urgency=low * Make Kernel-Version lexically scoped from the point in the seed where it's encountered to either the end of the seed or the next Kernel-Version entry, whichever comes first. Previously, the set of Kernel-Version values allowed for a seed was the union of all Kernel-Version entries in the seed, which is not what we want in practice. -- Colin Watson Thu, 05 Jan 2012 17:48:31 +0000 germinate (2.3) unstable; urgency=low * Adjust AtomicFile to not rename the .new file into place if the context exited with an exception (thanks, Jeroen T. Vermeulen). * Cope with an Archive implementation returning Maintainer values that are already unicode. -- Colin Watson Mon, 12 Dec 2011 14:24:36 +0000 germinate (2.2) unstable; urgency=low * Fix Germinator._follow_recommends to prevent a crash while calculating reverse-dependencies (LP: #900404). -- Colin Watson Wed, 07 Dec 2011 01:48:38 +0000 germinate (2.1) unstable; urgency=low * Call superclass constructor in GerminateFormatter's constructor. * Build-depend on python-all. * Store instances of Seed as GerminatedSeed._raw_seed, rather than instances of BytesIO which are transient and won't compare the way we need them to. * Remove build-sources entries that also appear in sources outputs at output time rather than immediately, which has the effect of removing sources that appear in any seed in the structure rather than just those processed earlier. This fixes behaviour when processing multiple seed structures, but also seems to fit more closely with the original intent of build-sources as documented in README, which I think was broken all the way back in r70 when seed hierarchies were first allowed to fork. * Fix inclusion/exclusion of packages from seeds other than "extra". -- Colin Watson Wed, 07 Dec 2011 00:51:12 +0000 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 Sun, 04 Dec 2011 14:16:54 +0000 germinate (1.27) unstable; urgency=low [ Alexandros Frantzis ] * Change local tag file name format to permit multiple repositories on the same host (LP: #634831). -- Colin Watson Thu, 25 Aug 2011 16:32:12 +0100 germinate (1.26) unstable; urgency=low * Use 'bzr branch' rather than 'bzr get'; the latter is apparently deprecated in bzr 2.4. * Change default distribution to oneiric. -- Colin Watson Fri, 12 Aug 2011 13:25:22 +0100 germinate (1.25.1) unstable; urgency=low * Add a new option, --no-installer, allowing one to process seeds without considering debian-installer udebs in the output. -- Adam Conrad Thu, 21 Jul 2011 22:19:29 -0600 germinate (1.25) unstable; urgency=low * Only raise an exception from open_tag_files if an appropriate file is not found on any mirror (thanks, Tom Gall, Steve Langasek, and Barry Warsaw; LP: #717879). -- Colin Watson Tue, 05 Apr 2011 15:36:38 +0100 germinate (1.24) unstable; urgency=low * Always refresh copies of local Packages and Sources files (i.e. when using the file: scheme). -- Colin Watson Tue, 21 Dec 2010 14:32:07 +0000 germinate (1.23) unstable; urgency=low * Write out entire decompressed Packages/Sources files in one go, rather than line-by-line. This is a bit faster. * Convert to dh_python2. * Change default distribution to natty. * Update kubuntu-meta example in germinate-update-metapackage(1) (remove ia64 and sparc). -- Colin Watson Fri, 15 Oct 2010 22:09:07 +0100 germinate (1.22) unstable; urgency=low * Change default distribution to maverick. * Update kubuntu-meta example in germinate-update-metapackage(1) (remove lpia). -- Colin Watson Wed, 18 Aug 2010 13:18:27 +0100 germinate (1.21) unstable; urgency=low [ Julian Andres Klode ] * Port the code to the new python-apt API and require at least version 0.7.93.2 of python-apt (closes: #571744). [ Colin Watson ] * Convert to source format 3.0 (native). * Policy version 3.8.4: no changes required. -- Colin Watson Tue, 06 Apr 2010 11:24:24 +0100 germinate (1.20) unstable; urgency=low * Add 'make check' which runs pychecker if available, and make it pass. * Change default distribution to lucid. * Update kubuntu-meta example in germinate-update-metapackage(1) (add netbook; remove hppa; add armel). -- Colin Watson Thu, 26 Nov 2009 12:50:56 +0000 germinate (1.19) unstable; urgency=low [ Colin Watson ] * Fix interpretation of architecture-specific regex seed entries where the regex contains a character class (which looks a bit like an architecture specification in the wrong light). [ Loïc Minier ] * Document --source-mirror option in germinate(1). -- Colin Watson Wed, 21 Oct 2009 19:55:16 +0100 germinate (1.18) unstable; urgency=low * Make germinate-update-metapackage write out a metapackage-map file, which is useful for later determining the set of seeds and metapackages to build. * Add a debhelper addon, useful for building metapackages. -- Colin Watson Mon, 10 Aug 2009 23:36:23 +0100 germinate (1.17) unstable; urgency=low * Use people.canonical.com everywhere rather than people.ubuntu.com. * Change default distribution to karmic. * Convert to debhelper 7. I've taken some care to avoid use of the new override targets since Ubuntu hardy-jaunty don't have a debhelper that supports those. * Policy version 3.8.2: no changes required. -- Colin Watson Sun, 26 Jul 2009 15:38:01 +0100 germinate (1.16) unstable; urgency=low * Pass germinate-update-metapackage's list of components to debootstrap. * Replace internal wiki link in README with something world-readable. -- Colin Watson Wed, 17 Jun 2009 21:16:40 +0100 germinate (1.15) unstable; urgency=low * Fix handling of archives that only contain uncompressed index files (thanks to Chris Cheney for the report). -- Colin Watson Wed, 03 Jun 2009 17:34:09 +0100 germinate (1.14) unstable; urgency=low * If germinate-update-metapackage fails, just print a message on stderr and exit 1, rather than raising RuntimeError (LP: #323714). -- Colin Watson Fri, 06 Mar 2009 09:59:32 +0000 germinate (1.13) unstable; urgency=low * Document 'germinate -v' in its manual page. * Report stderr as well as stdout from debootstrap failures (thanks, Loïc Minier; LP: #331488). * Use 'key in dict' rather than 'dict.has_key(key)'; dict.has_key is deprecated in Python 2.6. -- Colin Watson Wed, 25 Feb 2009 16:33:13 +0000 germinate (1.12) unstable; urgency=low * Change default distribution to jaunty. -- Colin Watson Mon, 02 Feb 2009 10:52:21 +0000 germinate (1.11) unstable; urgency=low * Keep going if the blacklist file can't be downloaded. (This was always the intent, but foiled by an implementation error.) * Clarify the purpose of individual blacklist entries in seeds in germinate(1). * Render the description of special seed syntax in germinate(1) as a tag list, to make it easier to read. -- Colin Watson Tue, 30 Sep 2008 23:07:21 +0100 germinate (1.10) unstable; urgency=low * Increase the recursion limit to 2000 for now to avoid running into problems with very deep dependency chains following code changes in 1.9. Other solutions are possible; this is a quick temporary hack. -- Colin Watson Tue, 23 Sep 2008 22:24:46 +0100 germinate (1.9) unstable; urgency=low * Fix fallback from .bz2 files when OSError is raised. * Try promoting alternative dependencies before adding new packages to the output. While the first dependency in an |-ed list may be promoted from any lesser seed, doing this for all alternatives produces pathological output, so instead we only promote from "close-by" lesser seeds, i.e. those that list the current seed in a Task-Seeds header (LP: #271309). -- Colin Watson Fri, 19 Sep 2008 01:05:19 +0100 germinate (1.8) unstable; urgency=low [ Evan Dandrea ] * Fix -S example to use file:// where the rest of the documentation says you should (LP: #264471). [ Colin Watson ] * Prefer Packages.bz2 and Sources.bz2 to .gz if possible; if neither works, fall back to the uncompressed files. -- Colin Watson Thu, 11 Sep 2008 11:37:09 +0100 germinate (1.7) unstable; urgency=low * Add support for setting per-seed features, so that following Recommends can be disabled for some seeds but not others (LP: #254042). -- Colin Watson Mon, 01 Sep 2008 01:40:19 +0100 germinate (1.6) unstable; urgency=low * Adjust printing of helpful ssh error messages when bzr fails (and re-raising of SeedError) to avoid causing problems when update.cfg contains multiple entries in seed_base. -- Colin Watson Thu, 28 Aug 2008 22:47:40 +0100 germinate (1.5) unstable; urgency=low * Consider whether there are any moves as well as additions or removals when deciding whether to run dch. -- Colin Watson Fri, 18 Jul 2008 10:36:56 +0100 germinate (1.4) unstable; urgency=low [ François-Denis Gonthier ] * Display stdout from debootstrap on error. * --nodch shouldn't make germinate-update-metapackage display the 'No changes found' message. * Add a general description to germinate-update-metapackage's help output. * Add --output-directory to germinate-update-metapackage. -- Colin Watson Fri, 11 Jul 2008 15:36:10 +0100 germinate (1.3) unstable; urgency=low [ François-Denis Gonthier ] * Add --nodch option to germinate-update-metapackage (LP: #242374). [ Colin Watson ] * Follow Recommends if 'feature follow-recommends' is set in the seed STRUCTURE file. * Document seed headers in germinate(1) (suggestion from François-Denis Gonthier). -- Colin Watson Fri, 04 Jul 2008 19:47:13 +0100 germinate (1.2) unstable; urgency=low [ Nicolas Barcet ] * Generate a seedstructure.dot diagram of seed inheritance. [ Colin Watson ] * Ensure that /usr/sbin and /sbin are on PATH when running debootstrap (closes: #487706). Requires Python 2.4. -- Colin Watson Tue, 24 Jun 2008 15:40:08 +0100 germinate (1.1) unstable; urgency=low * Only raise SeedError from open_seed if all attempts to open the seed failed; otherwise using multiple seed sources breaks. -- Colin Watson Thu, 29 May 2008 16:27:37 +0100 germinate (1.0) unstable; urgency=low * Check whether versions in dependencies are satisfied (LP: #74514). * Exclude Essential packages from metapackage dependencies (LP: #42261). * Make metapackage changelog entries more concise by merging items for multiple architectures (LP: #217963). * Print a helpful error message if an ssh connection fails, on the assumption that it's often due to an incorrect username (LP: #99123). * Document fetching seeds from the local file system (closes: #363536). * Add an example of using --seed-packages. * Change default distribution to intrepid. Update kubuntu-meta example in germinate-update-metapackage(1). * With all reported Ubuntu bugs fixed and only one organisationally-tricky Debian bug left, I think it's about time to bump the version to 1.0. -- Colin Watson Fri, 09 May 2008 11:37:11 +0100 germinate (0.45) unstable; urgency=low * Add missing apt_pkg.InitSystem() calls (LP: #215625). -- Colin Watson Fri, 11 Apr 2008 12:19:47 +0100 germinate (0.44) unstable; urgency=low * Support multiple archives (LP: #182915). Patch mostly from Francois-Denis Gonthier, adjusted and extended by me. -- Colin Watson Thu, 10 Apr 2008 08:40:59 +0100 germinate (0.43) unstable; urgency=low * Fix crash when using --seed-packages option. -- Colin Watson Wed, 02 Apr 2008 06:52:24 +0100 germinate (0.42) unstable; urgency=low * Change Maintainer address back to cjwatson@ubuntu.com; I generally work on this package on work time. * germinate-update-metapackage honours new Task-Seeds and Task-Metapackage seed headers, replacing previous seed_map/* and metapackage_map/* entries in update.cfg. * Fix error message on failing to download non-bzr seeds. * Update kubuntu-meta example in germinate-update-metapackage(1). * Simplify germinate-update-metapackage changelog output when a package moves from depends to recommends or vice versa. * Remove obsolete dh_python call from debian/rules. -- Colin Watson Fri, 22 Feb 2008 17:54:28 +0000 germinate (0.41) unstable; urgency=low * Plant seeds in topologically-sorted order. The intent of this change is the same as that in 0.40, only this time it should actually work in the face of seeds that inherit from other seeds that are overridden in a different branch. * On the other hand, continue to use the last entry in the source STRUCTURE file as the supported seed. It may not be topologically last if there are seeds in included branches that are not inherited by supported. * Remove overridden entries from 'structure' output file. -- Colin Watson Mon, 18 Feb 2008 15:06:24 +0000 germinate (0.40) unstable; urgency=low * Fix ordering of seed planting in the event that a seed in an included branch is overridden by one with different inheritance. -- Colin Watson Thu, 14 Feb 2008 18:33:25 +0000 germinate (0.39) unstable; urgency=low [ Jonathan Riddell ] * Use 'bzr checkout --lightweight' to speed up seed checkouts. [ Colin Watson ] * Allow "metapackage_map/SEED" configuration file entries in update-metapackage, which can be used to generate output metapackages whose names do not match the generating seed names. -- Colin Watson Thu, 14 Feb 2008 14:38:56 +0000 germinate (0.38) unstable; urgency=low * Fix germination from multiple seed sources in bzr mode. * germinate-update-metapackage now automatically expands the seeds option for seed inheritance, so you no longer usually need to have separate seeds and output_seeds options in update.cfg. -- Colin Watson Tue, 12 Feb 2008 11:30:53 +0000 germinate (0.37) unstable; urgency=low * Output a .seedtext file for each seed, containing the verbatim text of the seed. -- Colin Watson Thu, 07 Feb 2008 11:30:39 +0000 germinate (0.36) unstable; urgency=low * Add special-case handling of supported+build-depends to germinate-pkg-diff. * Add -S/--seed-source, -s/--seed-dist, and -d/--dist options to germinate-pkg-diff. * Add support for germinating from multiple seed sources as well as multiple branches. This is needed to support "third-party" seed branches that are stored in a different location from branches they include. * Fix rescuing of packages from extra, broken in 0.32. -- Colin Watson Tue, 29 Jan 2008 21:53:30 +0000 germinate (0.35) unstable; urgency=low * Make germinate-update-metapackage only blacklist the metapackage being generated, not all metapackages. See LP #148075. * Change default distribution to hardy. * Vcs-Bzr is now an official field. * Fix 'structure' output file; records were being separated by the empty string rather than by newlines, which made it rather useless. * Add an 'include' facility to the STRUCTURE file to allow seeds from one branch to inherit from seeds in another branch. * Automatically compute the transitive closure of inheritance relationships in the STRUCTURE file, rather than requiring them to be written out by hand. In other words, if you have 'minimal: required' then you can simply write 'standard: minimal' rather than 'standard: required minimal'. This is a requirement for sane use of 'include', since it may not be straightforward to hardcode the inheritance relationships among seeds in another branch. * Unhardcode the 'supported' seed. The last seed in the STRUCTURE file is now used for build-depends calculations. * Policy version 3.7.3: no changes required. -- Colin Watson Thu, 24 Jan 2008 14:25:16 +0000 germinate (0.34) unstable; urgency=low * Follow Recommends in Section: metapackages as if they were Depends. * Ignore leading and trailing whitespace and blank lines in STRUCTURE files. * Allow comments (starting with #) in STRUCTURE files. -- Colin Watson Thu, 02 Aug 2007 12:05:40 +0100 germinate (0.33) unstable; urgency=low * Honour recommends in germinate-pkg-diff. -- Colin Watson Thu, 19 Jul 2007 09:07:16 +0100 germinate (0.32) unstable; urgency=low * Use dch -iU rather than dch -U. (I use DEBCHANGE_RELEASE_HEURISTIC=changelog so never noticed the problem.) * Fix germinate-pkg-diff --mode option (was incorrectly --mirror, contrary to its meaning and the documentation). * Make germinate-pkg-diff work again even if supported is not in its list of seeds. * germinate-pkg-diff now automatically adds inherited seeds as necessary. Thus, the default list of seeds is reduced to simply 'desktop'. * Download package index files to a temporary directory if they aren't going to be saved. * Clean up package index files downloaded for germinate-pkg-diff. * Add germinate-pkg-diff -a/--arch option. * Update copyright dates. * Add manual pages for germinate-pkg-diff and germinate-update-metapackage. -- Colin Watson Wed, 18 Jul 2007 14:00:50 +0100 germinate (0.31) unstable; urgency=low * Fix excluding packages from seeds other than extra. -- Colin Watson Fri, 13 Jul 2007 10:08:24 +0100 germinate (0.30) unstable; urgency=low * Generalise Extra-Include and Extra-Exclude to allow rescuing packages from any seed, not just extra. For example, Mobile-Include: *-dev will rescue all packages from sources that generate binaries named *-dev in the mobile output. -- Colin Watson Tue, 10 Jul 2007 17:43:30 +0100 germinate (0.29) unstable; urgency=low * Add Vcs-Bzr control field. * Use dch -U if available. * Document meaning of seed entries in parentheses. * Remove old arch-tag lines. * PEP-8 import ordering. * Add --version option to all programs. -- Colin Watson Fri, 06 Jul 2007 12:26:52 +0100 germinate (0.28) unstable; urgency=low * Try to fall back to alternative dependencies if one is blacklisted. * Honour blacklist entries even if they're explicitly seeded. * Don't apply blacklists (apart from the "supported" blacklist) to build-dependencies. * Be a little more verbose when blacklisting packages. * Allow "seed_map/SEED" configuration file entries in update-metapackage to have an output metapackage read its package list from multiple seeds (needed for splitting required and minimal in the Ubuntu seeds). -- Colin Watson Sat, 23 Jun 2007 20:56:11 +0100 germinate (0.27) unstable; urgency=low * Add support for negative architecture specifications, e.g. [!powerpc]. * Document % and [arch] seed syntaxes in germinate(1). * Add support for prefixing seed entries with "!" to enforce blacklisting packages from the containing seed and any of its inner seeds. For example, this allows a package to be in Ubuntu main but blacklisted from being shipped on CDs. * Change default distribution to gutsy. -- Colin Watson Fri, 01 Jun 2007 12:54:27 +0100 germinate (0.26) unstable; urgency=low * Change default non-bzr seed location to http://people.ubuntu.com/~ubuntu-archive/seeds/. -- Colin Watson Mon, 12 Mar 2007 12:01:14 +0000 germinate (0.25) unstable; urgency=low * Change default distribution to feisty. * Fix file descriptor leak in Germinator.parseStructure(). * Put the contents of the STRUCTURE seed file in a new "structure" output file. * Change default seed distribution to "ubuntu.feisty"; note new naming scheme. * Fetch seeds from http://bazaar.launchpad.net/~ubuntu-core-dev/ubuntu-seeds/ by default if the --bzr option is used. -- Colin Watson Tue, 12 Dec 2006 09:29:46 +0000 germinate (0.24) unstable; urgency=low * When processing whole-source seed entries, only include real packages. This avoids slews of warnings for binaries that only exist on other architectures, and avoids mistakenly picking up virtual packages. -- Colin Watson Tue, 3 Oct 2006 11:59:45 +0100 germinate (0.23) unstable; urgency=low * Fix recommends-related changelog entries from update-metapackage. -- Colin Watson Sat, 9 Sep 2006 18:44:37 +0100 germinate (0.22) unstable; urgency=low * Fix crash when promoting from lesser seeds. * Include recommends in main outputs (they should continue to appear in Task headers and such, just not in metapackage dependencies), and create a .seed-recommends output for just the seeded recommendations. -- Colin Watson Sat, 9 Sep 2006 15:28:57 +0100 germinate (0.21ubuntu1) edgy; urgency=low * added support for recommends in seeds via enclosing the packagename in '('..')'. E.g. * (pkgname) # this will produce a recommends -- Michael Vogt Thu, 7 Sep 2006 16:44:36 +0200 germinate (0.21) unstable; urgency=low * Add optional output_seeds setting (defaults to value of seeds) in update.cfg, to allow seeds to be germinated for inheritance purposes without being output. * Sort added and removed packages in metapackage changelogs. -- Colin Watson Mon, 7 Aug 2006 16:19:15 +0100 germinate (0.20) unstable; urgency=low * Consider sources from inner seeds while rescuing packages from extra (so e.g. in Ubuntu Extra-Include in supported should look at source packages from minimal etc. as well as from supported). * Rescue from sources in the build tree in a separate pass, and add rescued packages to the depends/build-depends lists rather than pretending that they're explicitly seeded. This means that rescued packages end up correctly in supported or supported+build-depends depending on whether their source packages were found while processing dependencies or build-dependencies. -- Colin Watson Wed, 5 Jul 2006 13:08:34 +0100 germinate (0.19) unstable; urgency=low * Allow shell-style globs in seeds wherever regular expressions are allowed. (Regular expressions are surrounded by /.../, making this unambiguous.) * Add support for Extra-Include and Extra-Exclude variables, which allow automatically rescuing packages that match certain patterns from extra (https://launchpad.net/distros/ubuntu/+spec/seed-cleanup). * Tweak logging priorities for messages about virtual seed entries. * Don't display debugging messages by default; add germinate -v/--verbose option to display them. * Use sets rather than lists where possible. This roughly halves the runtime for the Ubuntu seeds. * Add extras recursively: binaries generated by sources pulled in by dependencies or build-dependencies of extra binaries should themselves be extra. -- Colin Watson Tue, 4 Jul 2006 11:57:47 +0100 germinate (0.18) unstable; urgency=low * Convert to python-support. * Move python and python-support build-dependencies to Build-Depends-Indep. * Policy version 3.7.2. -- Colin Watson Sat, 1 Jul 2006 12:33:24 +0100 germinate (0.17) unstable; urgency=low * Fix d-i kernel version pruning to happen early enough to exclude seeded packages for the wrong kernel version (which can easily happen e.g. if regex seeds are used). * If no Kernel-Version variable is given, allow all udebs with Kernel-Version headers rather than none of them. * Change default distribution to edgy. -- Colin Watson Wed, 21 Jun 2006 18:10:40 +0100 germinate (0.16) unstable; urgency=low * Add --bzr option to automatically check out seeds from bzr. * Switch from urllib to urllib2. * Refactor duplicated seed-fetching code into new Germinate.seeds module. * Add optional seed_dist setting in update.cfg files, to allow setting a default seed distribution. * Add --bzr option to update-metapackage as well (mostly implementing https://launchpad.net/distros/ubuntu/+spec/ubuntu-meta-from-bzr). -- Colin Watson Fri, 9 Jun 2006 12:15:01 +0100 germinate (0.15) unstable; urgency=low * Source moved to bzr; update copyright file. * Add germinate-update-metapackage script to help manage updating ubuntu-meta et al (thanks, Gustavo Franco; closes: https://launchpad.net/bugs/37917). * Improve man page documentation of --seed-packages slightly (see #363536). -- Colin Watson Fri, 9 Jun 2006 01:04:21 +0100 germinate (0.14) unstable; urgency=low * Move Python modules to /usr/lib/germinate; .pyc/.pyo files are architecture-dependent. -- Colin Watson Sat, 13 May 2006 10:05:37 +0100 germinate (0.13) unstable; urgency=low * Build-depend on python (closes: #363040). -- Colin Watson Mon, 17 Apr 2006 11:44:13 +0100 germinate (0.12) unstable; urgency=low * Upload to Debian (closes: #360631). * Switch to my debian.org maintainer address. -- Colin Watson Mon, 3 Apr 2006 23:25:23 +0100 germinate (0.11) dapper; urgency=low * Fix plantSeed() backward incompatibility for *-meta/update scripts by defaulting seedrelease to None. -- Colin Watson Wed, 22 Feb 2006 15:56:35 +0000 germinate (0.10) dapper; urgency=low * Add seed distribution name to seed descriptions in the "Why" column. -- Colin Watson Tue, 21 Feb 2006 18:07:16 +0000 germinate (0.9) dapper; urgency=low * When processing the build tree, germinate is (correctly) careful not to promote packages from lesser seeds, since we still want to consider them (e.g.) part of ship even if they're build-dependencies of desktop. However, this sometimes caused us to select the wrong alternative from an or-ed build-dependency (e.g. redland Build-Depends: libmysqlclient15-dev | libmysqlclient12-dev | libmysqlclient10-dev and libmysqlclient15-dev was in the Ubuntu supported seed). To fix this, process the packages at that point anyway and just avoid promoting them. -- Colin Watson Mon, 20 Feb 2006 13:51:30 +0000 germinate (0.8) dapper; urgency=low * When identifying extras, check for binaries built from multiple source packages and skip any superseded binaries. * Change default for --components to main and restricted, since the Ubuntu seeds rely on packages from restricted in order to germinate correctly. -- Colin Watson Tue, 14 Feb 2006 12:11:24 +0000 germinate (0.7) dapper; urgency=low * Depend on python-apt (thanks, Jani Monoses). -- Colin Watson Tue, 29 Nov 2005 19:23:45 +0000 germinate (0.6) dapper; urgency=low * Add regular expression support in seeds. Weaken architecture specification error checking in order to be able to use [...] in regular expressions more easily. * Add support for including all the binaries from a given source package (using "%source") in seeds. * Add germinate --cleanup option, to prevent caching of Packages and Sources files. * Add germinate --source-mirror option, to allow Packages and Sources files to be on different mirrors (e.g. Ubuntu ports architectures). -- Colin Watson Wed, 16 Nov 2005 14:37:37 +0000 germinate (0.5) dapper; urgency=high * Stop accidentally including extra in the all and supported+build-depends outputs. -- Colin Watson Sun, 30 Oct 2005 12:35:47 -0500 germinate (0.4) dapper; urgency=low * Don't attempt to satisfy versioned dependencies of .debs using virtual packages, as the packaging toolchain doesn't support that. (udpkg/anna do support this for .udebs, and the installer relies on that.) * Change default distribution to dapper. -- Colin Watson Tue, 25 Oct 2005 12:14:07 +0100 germinate (0.3) breezy; urgency=low * Add a man page for germinate. * Explain in pkg-diff --help that you can supply a list of seeds to compare against as non-option arguments. * Update pkg-diff's default seeds to 'minimal standard desktop', to match the breezy seeds. * Add germinate --seed-packages option, to allow calculating dependencies of individual extra packages during a germinate run. * Policy version 3.6.2. No changes required. * Update GPL notices with the FSF's new address. -- Colin Watson Wed, 31 Aug 2005 18:47:20 +0100 germinate (0.2) breezy; urgency=low * Fix formatting of output lines with UTF-8 maintainer strings. * Really pick the first reason from the build-dependency tree to display in output files. * Record allowed d-i kernel versions on a per-seed basis, so that we can have some kernel versions supported for netboot installations only. * Force a trailing slash onto the end of any --seed-source argument. -- Colin Watson Thu, 26 May 2005 16:32:38 +0100 germinate (0.1) breezy; urgency=low * Initial release. -- Colin Watson Wed, 27 Apr 2005 20:24:53 +1000