# ChangeLog for eix - Ebuild IndeX for portage

*eix-0.13.3
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- New cache method "metadata-assign" needed for alt-gentoo, see
	  http://bugs.gentoo.org/show_bug.cgi?id=231808
	- Rename some of the other cache methods to have a consistent scheme
	  (metadata->metadata-flat, portage-2.0->flat, portage-2.1->assign).
	  Also treat internally flat/assign and metadata-flat/assign by the
	  same class, i.e. remove the port2_1_0 directory completely.
	  The obsolete names will keep getting supported for quite a while,
	  but the update-eix output only uses the new names.
	- Rename update-eix-functions.sh into functions-eix.sh
	  I am aware that this will break several user scripts, but these
	  scripts are not so hard to fix either (or you can make a symlink)
	  and getting rid of the obsolete misleading name was long overdue.
	- You now should call "read_functions [args]" after sourcing
	  functions-eix.sh; this will read baselayout's functions.sh with
	  the corresponding [args]. This fixes the error that the "-C"
	  argument was possibly passed to the sourced script in some shells,
	  mistakenly producing non-colored output when the user passed "-C"
	  to some script. In the new manner you can now determine explicitly
	  what should be passed and how.
	- Use python in update-eix-layman to parse layman.cfg for its
	  make.conf, see http://bugs.gentoo.org/show_bug.cgi?id=230788
	- Remove logging support of eix-sync (and drop options -v and -V).
	  This should fix all problems with the emerge --ask option, see
	  http://bugs.gentoo.org/show_bug.cgi?id=233132
	  If you use eix-sync in a cronjob you now have to redirect manually!
	- Be more verbose in ./configure output
	- Improve pkg-config error treatment
	- Improve format description of world/world_sets
	- Use inference rules in Makefile where $< is used (needed by POSIX).
	  This also avoids separate rules for separate *.in files.

*eix-0.13.2
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Extend the manpage concerning the description of expressions, see
	  http://bugs.gentoo.org/show_bug.cgi?id=229625
	- Fix buggy want_slash=false in normalize_path(), see
	  http://bugs.gentoo.org/show_bug.cgi?id=230341
	- Do not demand canonicalize_file_name() or realpath():
	  The profile reading should even work without symlink resolving.

*eix-0.13.1
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Fix defaults for FORMATLINE_PACKAGESETS, see
	  http://bugs.gentoo.org/show_bug.cgi?id=229355
	- Fix broken replacement update-eix-functions.sh path and a bug in
	  normalize_path(), see http://bugs.gentoo.org/show_bug.cgi?id=229419

*eix-0.13.0
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Support for package sets.
	- Support for world file. You need execute permissions for
	  /var/lib/portage or set SAVE_WORLD=true and run update-eix with
	  such permissions to make use of this feature.
	- Introduce --installed-slot, MATCH_IF_*SLOT
	- The new defaults for eix-sync now neither call emerge --metadata
	  nor clean /var/cache/edb. You might want to set up an appropriate
	  /etc/eix-sync.conf with previous defaults if you use a cache method
	  depending on this like "portage-2.1" (most users are not affected).
	  See the manpage and eix-sync -h for details. See the discussion in
	  http://bugs.gentoo.org/show_bug.cgi?id=202535
	- Allow "!!" lines in eix-sync to override environment variables like
	  FORCE_USECOLORS, see http://bugs.gentoo.org/show_bug.cgi?id=225963
	- Treat /etc/make.profile with normalize_path(). This should fix
	  http://bugs.gentoo.org/show_bug.cgi?id=229091
	- Fix treatment of "-" in slotnames.
	  Thanks to Edward "Hades" <edward.hades at gmail.com> for the patch,
	  see http://bugs.gentoo.org/show_bug.cgi?id=225773
	- Fix PATH_MAX headers on FreeBSD-7. Thanks to
	  Javier Villavicencio <the_paya at gentoo.org> for the patch, see
	  http://bugs.gentoo.org/show_bug.cgi?id=226499
	- Fix recognition of system packages according to local settings.
	- Provide is now HashedWords. Thanks to
	  Charlie Shepherd <masterdriverz at gmail.com> for reporting.
	- Minor simplifications and compatibility fixes.
	- Finally updated AUTHORS and TODO (Sorry, I had forgotten about
	  these files for a long time) and reformatted ChangeLog.

*eix-0.12.5
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Introduce DIFF_SEPARATE_DELETED and let it default to true.
	- Introduce DIFF_PRINT_HEADER.
	- Ignore leading + or - for /var/db/pkg/*/*/{,I}USE for paludis.
	  Do the same with IUSE data in packages for EAPI=1. Thanks for the
	  hint to Leonardo Valeri Manera <l.valerimanera at gmail.com>
	- Fix error handling in pushback_lines_file(), see
	  http://bugs.gentoo.org/show_bug.cgi?id=220119
	- Fix some bsd shell incompatibilities in scripts, see
	  http://bugs.gentoo.org/show_bug.cgi?id=220397
	- Introduce MAKE_GLOBALS default /usr/share/portage/config/make.globals
	  See http://bugs.gentoo.org/show_bug.cgi?id=221271
	- Reorganize eixrc/defaults.cc
	- Export PATH and other portagesettings variables to ebuild.sh, see
	  http://bugs.gentoo.org/show_bug.cgi?id=219066
	- Minor documentation fixes.

	Emil Beinroth <emilbeinroth at gmx.net>:
	- Simplify pushback_lines_file()

*eix-0.12.4
	Emil Beinroth <emilbeinroth at gmx.net>:
	- Drop EIX_WIKI and use PACKAGE_BUGREPORT; Label Wolfgang and Roland
	  as inactive developers, so they are less likely to be bothered with
	  emails.
	- Fix http://bugs.gentoo.org/show_bug.cgi?id=216483, a mask like
	  =app-portage/eix-0* triggered an exception.
	  Affected versions are >=eix-0.12.0.

	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Treat parent profiles before children, see
	  http://bugs.gentoo.org/show_bug.cgi?id=217120
	- Let update-eix first process options like --print.
	  This also fixes script problems with KEEP_VIRTUAL=true.
	  Thanks to tzopik <tzopik at gmail.com> for reporting and
	  investigating. See http://bugs.gentoo.org/show_bug.cgi?id=216972
	- Conversion of all latin1 characters to unicode.
	- Fix segfault/endless loop when loops in profile/**/parent data occur.
	- Decrease required number of simultaneously open files.

*eix-0.12.3
	Emil Beinroth <emilbeinroth at gmx.net>:
	- Fix sqlite error messages
	- Add SysError exception and use it in database code, so we throw
	  errors and don't hang if there is something wrong with the database.
	- Make io::read_packagetree a little faster by reading the database as
	  categories with packages, not just as a stream of packages.
	  Only do seek in PackageReader::skip() if we didn't read all
	  information.
	- Add support for multiple inheritance in "parent" files of profiles.

	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Avoid scandir(), to allow compilation under Solaris 9. Thanks to
	  Jeremy <jer.gentoo at gmail.com> for the hints, see
	  http://bugs.gentoo.org/show_bug.cgi?id=195411
	- Fix NormalizeNames() of update-eix-function.sh, see
	  http://bugs.gentoo.org/show_bug.cgi?id=215417
	- Fix possible endless loop for cache method metadata and portage-2.1

*eix-0.12.2
	Emil Beinroth <emilbeinroth at gmx.net>:
	- Replace "$@.in" with "$<" in Makefile.am (which gives us the real
	  path, not just the name of the file); Remove configmake.h and add
	  SYSCONFDIR to AM_CXXFLAGS (as mentioned in the autoconf manual);
	  "make distcheck" works again.
	- BasicVersion: Store m_parts as list (avoids reallocation overhead).
	- Version: hold iuse as vector, not as string so we don't need to
	  split/join so much. Join vector only on request and cache result.
	- Package: Do not split/join collected iuse everytime a version is
	  added, instead store a set of useflags in the package, and add the
	  new iuse from the version. Only join the flags into a string if
	  iuse() is called (and cache the result for subsequent calls).
	  Also, do not rebuild the slotlist everytime a version was added, but
	  rather only build a slotlist if one is actually requested by
	  slotlist() (and cache the resulting slotlist).
	- database: Remove splitting/joining of strings/vectors, since we now
	  have vectors/sets in Package, Version, etc. This brings a huge speed
	  improvement for version reading.
	- Move stdint.h stuff into eixTk/inttypes.h and include. Add static
	  assertion macro EIX_STATIC_ASSERT. Add database/types.h and include
	  if needed.
	- Remove uint, see http://bugs.gentoo.org/show_bug.cgi?id=213769
	- Kill --as-needed, see http://bugs.gentoo.org/show_bug.cgi?id=213199

	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Fix REDUNDANT_IF_DOUBLE_{UN,}MASKED in eix-test-obsolete.
	- Introduce metadata:PATH and flat:PATH to allow usage of metadata
	  calculated by paludis. Thanks for the idea to
	  Leonardo Valeri Manera <l.valerimanera at gmail.com>
	- Fix signal handling for ebuild* (and parse{,*}|ebuild*) cache.
	- Honour EPREFIX_PORTAGE_EXEC in parse{,*}|ebuild{,*}. This should fix
	  http://bugs.gentoo.org/show_bug.cgi?id=213248
	  Thanks to Fabian Groffen <grobian at gentoo.org> for finding out.
	- Improve treatment of argv[0] (for --help).
	- Merge implementation of metadata and flat/portage-2.0.
	- Improve interplay of error messages and percent status.
	- Avoid some hangs on damaged eix files.

*eix-0.12.1
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Do not die on obsolete eix cache files, see
	  http://bugs.gentoo.org/show_bug.cgi?id=212637
	- Default to create only one binary file. This needs less disk space
	  but more memory. Moreover, it means that the eix binary needs shared
	  libraries which are otherwise only needed for update-eix
	  (e.g. sqlite). The ./configure options --enable-separate-binaries or
	  --enable-separate-update can be used to get the previous behaviour
	  or to split only update-eix into a separate binary, respectively.
	- Avoid libtool usage, since no libraries have to be built anymore.

*eix-0.12.0
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- BE AWARE!!
	  The new default OVERLAY_CACHE_METHOD="parse|ebuild*"
	  is a security risk if you have untrusted ebuilds in your overlay!
	  Use OVERLAY_CACHE_METHOD="parse" if you do not trust your overlays!
	- Introduce new cache methods parse{,*}|ebuild{,*}
	- Introduce EBUILD_{USER,GROUP,UID,GID} to make cache method ebuild{,*}
	  reasonably secure.
	- Rename cache methods none{,*} to parse{,*} to force users of "none"
	  to observe that the new cache method parse|ebuild* exists (and
	  probably switch to it).  The name "none" was misleading anyway.
	- Introduce *-versions of the best/bestslot format strings to avoid
	  printing of all available versions for diff-eix or eix -c.
	- Introduce *NOBEST_* to make diff-eix or eix -c more compact.
	- Introduce --with-rst configure option for database docu html.
	- Fix spaces in results for cache method none{,*}/parse{,*}
	- Remove broken cache method portage-2.1* unless a corresponding
	  ./configure option is used (which is mainly for testing purposes).
	- Introduce --enable-as-needed to override the -Wl,--as-needed test,
	  see the comments in http://bugs.gentoo.org/show_bug.cgi?id=209239
	- Fix some pedantic compiler warnings; make basicversion.cc using std.
	- Make update-eix slightly more verbose.

	Emil Beinroth <emilbeinroth at gmx.net>:
	- Add documentation for database format.

*eix-0.11.0
	Emil Beinroth <emilbeinroth at gmx.net>:
	- kill SAVE_VERSIONTEXT
	- rewrite parts of BasicVersion and store versions as a vector of Parts

	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Introduce /etc/portage/package.*.nonexistent
	- Introduce /etc/portage/package.*.nowarn
	- Introduce --print-all-* options
	- Introduce "detail" option for eix-test-obsolete, see
	  http://forums.gentoo.org/viewtopic-t-666071-highlight-.html
	- Shrink database file by hashing common words.
	- Fix REDUNDANT_IF_DOUBLE_LINE, REDUNDANT_IF_MINUS_ASTERISK and also
	  fix corresponding parts in eix-test-obsolete.
	- Fix update-eix-layman (broken since eix-0.10.4), see
	  http://bugs.gentoo.org/show_bug.cgi?id=211093
	  Thanks to Roberto Castagnola <roberto.castagnola at gmail.com>
	  for the fix.
	- Fix update-eix-remote for users without shell (like "nobody"), see
	  http://bugs.gentoo.org/show_bug.cgi?id=211348
	- Install "empty" /etc/eixrc to avoid that users overlook the new
	  recommendations and thus get problems like e.g. the one leading to
	  http://bugs.gentoo.org/show_bug.cgi?id=211192
	- Support prefix-portage subrevisions
	  http://www.gentoo.org/proj/en/
	  gentoo-alt/prefix/techdocs.xml#doc_chap2
	  See also http://bugs.gentoo.org/show_bug.cgi?id=209239
	- Better honour SYSCONFDIR. Use configmake.h to pass to C++ code.
	- Let autoconf try to define uint*_t

*eix-0.10.5
	Emil Beinroth <emilbeinroth at gmx.net>:
	- Use STL for revision parsing.

	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Fix some problems with EOF after variable names or assignments, see
	  http://bugs.gentoo.org/show_bug.cgi?id=210106
	- Work around a dash bug ("VAR=e func_call" does not restore VAR).

*eix-0.10.4
	Emil Beinroth <emilbeinroth at gmx.net>:
	- Add --slot for matching the slot of versions. eix --slot kde-4 will
	  search packages that have at least one version with a slot that
	  matches kde-4.
	- Remove all uses of __VA_ARGS__, see
	  http://bugs.gentoo.org/show_bug.cgi?id=209239
	- Fix http://bugs.gentoo.org/show_bug.cgi?id=209934

	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Make REDUNDANT_IF_MIXED=false the default since it confused people:
	  http://bugs.gentoo.org/show_bug.cgi?id=203067
	- Make defaults independent of bzlib usage (considering overlays of
	  installed packages makes always sense in current portage versions).
	- Finally use POSIX shell throughout, making bash obsolete.
	- Clean up manpage formatting.
	- Some compatibility fixes, see
	  http://bugs.gentoo.org/show_bug.cgi?id=209239

*eix-0.10.3
	Emil Beinroth <emilbeinroth at gmx.net>:
	- Fix compilation for ia64-hpux, see
	  http://bugs.gentoo.org/show_bug.cgi?id=201117
	- Minor changes (size() == 0 -> empty(), ...)

	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Introduce PRINT_KEYWORDS, FORMAT_{BEFORE,AFTER}_KEYWORDS
	- Let -T check overlay for all-installed and some-installed
	- Fix segfault for unknown repository and unreadable environment.bz2
	- Use POSIX' command -v instead of type/type -P in scripts
	- Clearer error messages for newer cachefile format, see
	  http://forums.gentoo.org/viewtopic-t-614015.html

*eix-0.10.2
	Emil Beinroth <emilbeinroth at gmx.net>:
	- Fix gcc-4.3 warnings
	- Include ICC and `make distcheck` in contrib/compile-test.sh
	- Remove useless OOM_ASSERT, WARNING and THROW macros.
	- Replace PrintVar macro with function, simplify get_eixrc()

	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Fix REDUNDANT_IF_WEAKER and REDUNDANT_IF_MIXED which were
	  completely broken in eix-0.10.1 due to a stupid typo.
	- New treatment of scandir, see
	  http://bugs.gentoo.org/show_bug.cgi?id=195411
	- Introduce PRINT_BUGS, see
	  http://bugs.gentoo.org/show_bug.cgi?id=195204
	- New number format in cache file

*eix-0.10.1
	Emil Beinroth <emilbeinroth at gmx.net>:
	- Replace full license headers with the following:
	   This file is part of the eix project and distributed under the terms
	   of the GNU General Public License v2. + Copyright notice
	  This change removes about 2000 useless lines from the project.

	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Support for RESTRICT="fetch mirror", see
	  http://forums.gentoo.org/viewtopic-t-278819-start-355.html
	- Introduce ALWAYS_ACCEPT_KEYWORDS and let it default to "false" to
	  imitate the behavior of <eix-0.10.0 for ~ARCH in ACCEPT_KEYWORDS,
	  see http://bugs.gentoo.org/show_bug.cgi?id=193719
	- Improve internal treatment of SetStability.
	- Many fixes due to Emil Beinroth <emilbeinroth at gmx.net>.
	- Decrease memory usage during compilation.
	- More standard-conformal treatment of header files:
	  eix should now compile with gcc-4.3

*eix-0.10.0
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Rewrite stability setting, fixing thereby a lot of bugs and
	  inconsistencies. In particular, this fixes ACCEPT_KEYWORDS=~ARCH
	  and -~ARCH in /etc/portage/package.keywords (thanks to
	  Emil Beinroth <emilbeinroth at gmx.net> for reporting).
	  This also fixes problems with several ARCHes in ACCEPT_KEYWORDS.
	- Treat leading zeroes of version-related numbers in the portage way,
	  see http://bugs.gentoo.org/show_bug.cgi?id=192807
	- Store all version-related numbers as strings. This avoids overflows
	  and actually saves space and (for the new comparison) even time.
	- Store string-length more efficiently.
	- Remove redundant data from the database:
	  (a) The full version string is now calculated at run-time.
	  (b) Only the original keyword string is stored, no stability flags.
	      They have to be recalculated at run-time anyway.
	  However, the profile-mask/system-packages flags are still saved for
	  treatment with diff-eix.
	- Due to (b) above, the SMALL_EIX_DATABASE variable was canceled.
	- Fix progress output. Thanks to Mark J. Olah <mjo at cs.unm.edu> for
	  reporting. See http://bugs.gentoo.org/show_bug.cgi?id=192458
	- Fix http://bugs.gentoo.org/show_bug.cgi?id=192707

*eix-0.9.12
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Introduce eix-test-obsolete [no-]repository
	- Re-introduce optional parameter for eix-test-obsolete to set
	  (but not toggle!) CHECK_INSTALLED_OVERLAYS: Users of older portage
	  versions might find it convenient.
	- Better document repository behaviour.
	- Introduce SORT_INST_USE_ALPHA
	- Introduce TEST_{KEYWORDS,MASK,UNMASK,USE,CFLAGS,REMOVED}.
	  In particular, users might want to switch off the package.cflags
	  tests if they use a more sophisticated format for it in
	  /etc/portage/bashrc
	- Only scan /etc/portage/package.{cflags,use} if -T really has to:
	  This is faster and avoids possible undesired error messages.
	- Consider profile/package.mask and overlay/profile/package.mask as
	  (first or last) part of profile w.r.t. '-' entries. This fixes
	  http://bugs.gentoo.org/show_bug.cgi?id=191716

*eix-0.9.11
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Support for repository names.
	- Introduce <fullinstalled>.
	- Introduce <fullavailable>, <fullavailableshort>, <fullavailablelong>.
	- Bugfix: Do not shorten /var/log/eix-sync.log near end of eix-sync.
	- Bugfix: eix no longer considers output from <...> as "no output"
	  (for COUNT_ONLY_PRINTED or trailing newline). This fixes
	  http://sourceforge.net/tracker/index.php?
	  func=detail&aid=1780283&group_id=128101&atid=710608
	- eix-sync: introduce -V to make -v in /etc/eix-sync.conf convenient.
	- Avoid "bashisms" in scripts except for arrays (which are necessary).

*eix-0.9.10
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Fix compilation issues with gcc-3.3.6
	- Do not treat # as comment symbol in /var/db/pkg/*/*/{USE,IUSE,SLOT}.
	  This fixes http://sourceforge.net/tracker/index.php?
	  func=detail&aid=1756510&group_id=128101&atid=710608
	- Fix some crashes if there is bad data in /var/db/pkg
	- Fix some memory allocations

*eix-0.9.9
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Allow slot names for masks, see
	  http://bugs.gentoo.org/show_bug.cgi?id=181244
	- Fix compilation issues with some C compilers, see
	  http://sourceforge.net/tracker/index.php?
	  func=detail&aid=1731374&group_id=128101&atid=710608
	- Fix DIFF_FORMAT_HEADER_NEW default (was broken in eix-0.9.8;
	  thanks to Seemant Kulleen <seemant at gentoo.org> for reporting.)
	  See also http://bugs.gentoo.org/show_bug.cgi?id=181629
	- Introduce SKIP_PERMISSION_TESTS to deal with NSS/LDAP or other
	  setups, see http://sourceforge.net/tracker/index.php?
	  func=detail&aid=1735722&group_id=128101&atid=710611

*eix-0.9.8
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Fix calculation of needed data which was broken since eix-0.9.5.
	  This brings "cheap" searches (for names etc) back to the speed of
	  eix-0.9.4. See http://sourceforge.net/tracker/index.php?
	  func=detail&aid=1728310&group_id=128101&atid=710608
	- New default format for diff-eix: Print * tag for stabilized packages,
	  see http://forums.gentoo.org/viewtopic-p-4078742.html
	- Introduced delayed TAG_* variables in default formats.
	- Suppress newline when the FORMATSTRING outputs nothing. This allows
	  to use conditionals in the formatstring to select packages.
	  Examples are given in the FORMATSTRING section of the manpage.
	- Introduce corresponding COUNT_ONLY_PRINTED
	- Fixed update-eix-remote remove
	- manpage recommends to set KEEP_VIRTUALS=true for update-eix-remote
	- Fix (once more) color output
	- Major internal cleanup of masking functions, in particular:
	- Avoid local profile masking if /etc/portage/profile does not
	  contain any relevant data.

*eix-0.9.7
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- eix-sync now defaults to layman instead of deprecated gensync. Thanks
	  for the patch to Roberto Castagnola <roberto.castagnola at gmail.com>
	  see http://bugs.gentoo.org/show_bug.cgi?id=179482
	- Introduce PRINT_COUNT_ALWAYS=never
	- Introduce --pure-packages and --only-names
	- Introduce +- variants of --stable, --testing, --non-masked, --system.
	- Rename --update into --upgrade
	- Introduce --upgrade+ --upgrade-
	- Replace UPGRADE_ALWAYS_LOCAL and RECOMMEND_ALWAYS_LOCAL by the
	  more powerful UPGRADE_LOCAL_MODE and RECOMMEND_LOCAL_MODE
	- UPGRADE_ALWAYS_LOCAL=true was not working correctly in the previous
	  versions. The new UPGRADE_LOCAL_MODE=+ should fix this
	- Fix a serious memory leak in PackageTest::match()

*eix-0.9.6
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Fix diff-eix: Flag whether local settings should be
	  obeyed was inverted by mistake in 0.9.5.
	- Fix logic error in {recommend} when new slot vanishes.
	- Minor fixes and simplifications in default formats.

*eix-0.9.5
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Add Bugs/FAQ section in manpage.
	- Introduce OBSOLETE_MINUSASTERISK and set it to false,
	  to deal with the soon coming portage-2.1.3.
	- Introduce corresponding REDUNDANT_IF_MINUSASTERISK.
	- Introduce --stable, --testing, --non-masked, --system, see
	  http://forums.gentoo.org/viewtopic-t-556942.html
	- Honour /etc/portage/profile. This fixes
	  http://bugs.gentoo.org/show_bug.cgi?id=176840
	- Remove FORMAT_INSTALLED_USE for security reasons.
	- Some further security fixes.
	- Remove asprintf usage.
	- Fix possible endless loop in color parsing.

*eix-0.9.4
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Introduce PRINT_IUSE, FORMAT_{BEFORE,AFTER}_{,COLL_,SLOT_}IUSE
	- Introduce --installed-with-use, --installed-without-use
	- Introduce ./configure option --use-bzip2 to enable the following:
	- Print overlay from which a version was installed.
	- eix-test-obsolete now tests also for versions installed from
	  obsolete overlays by default. To make this test reliable you have
	  to pass an argument to eix-test-obsolete (or you have to set
	  CHECK_INSTALLED_OVERLAYS). However, then the test takes much longer.
	  See the manpage for details.
	- Try to mark versions as "installed" only for appropriate overlay.
	  (If no matching overlay exists, fall back to old marking.)
	- Change <installed:...> syntax by adding support for overlay output.
	- Change -J to mean really installed *from* some overlay.
	  The old meaning is available as --installed-in-some-overlay.
	- Introduce --installed-from-overlay (corresponding to new -J option).
	- Introduce NONEXISTENT_IF_OTHER_OVERLAY.
	- Introduce CHECK_INSTALLED_OVERLAYS.

*eix-0.9.3
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Fix nonexistent asprintf and broken FNM_CASEFOLD handling
	  for solaris, see http://bugs.gentoo.org/show_bug.cgi?id=173763
	- Fix manpage typo --update:
	  http://bugs.gentoo.org/show_bug.cgi?id=174489
	- Fix some missing include unistd.h (required for linux 2.4), see
	  http://bugs.gentoo.org/show_bug.cgi?id=174697
	- Use extended path for functions.sh to work with baselayout-2.
	  Thanks to Matthias Schwarzott for pointing out.

*eix-0.9.2
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Fix partly http://bugs.gentoo.org/show_bug.cgi?id=169127
	  (compilation error on big-endian architectures).
	- Fix std::unique which is presumably broken on some systems.
	  Perhaps this fixes the above issues completely.
	- Reformulate security recommendations in update-eix-remote. Thanks to
	  Marijn Schouten, see http://bugs.gentoo.org/show_bug.cgi?id=169806
	- Fix nocolor output. Thanks to Rick Morra for reporting
	  http://bugs.gentoo.org/show_bug.cgi?id=170868
	- Fix compilation issues with gcc-3.3.6.
	  Thanks to Helmut Auer <helmut at helmutauer.de>
	- Minor compatibility fixes.

*eix-0.9.1
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Use environment's EPREFIX to find /etc/eixrc if
	  PORTAGE_CONFIGROOT is unset.
	- New ./configure options allow customization of default values for
	  EPREFIX and ROOT.
	- Introduce prefix-string-type for variables to make e.g. ROOT=/
	  equivalent to ROOT=''.

*eix-0.9.0
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Let * and ~* in /etc/portage/package.keywords accept stable
	  and testing keyword, respectively, of any architecture.
	  Moreover, consider this as weaker (preferrable) than ** and
	  (the soon obsolete) -*.
	- Introduce corresponding TAG_FOR_{EX_,}ALIEN_{UN,}STABLE.
	- Introduce --print option and use it in the scripts to have
	  consistent variable treatment throughout.
	- Introduce ROOT and EPREFIX_* fine granulation, see
	  http://bugs.gentoo.org/show_bug.cgi?id=167961
	- Introduce EIXRC and EIXRC_SOURCE
	- Introduce EIX_CACHEFILE
	- Let -ARCH in /etc/portage/package.keywords stabilize -ARCH keyword.
	- Change default for TAG_FOR_{EX_,}{MINUS_ASTERISK,MISSING_KEYWORD}.
	- Drop {EX_,}TAG_FOR_STRANGE.
	- Fix memory leak in PortageUserConfig::setStability().
	- Fix some rare exceptional cases in redundancy testing of
	  /etc/portage/package.keywords and in marking of keywords.
	- Improve documentation for -I.
	- Let KEEP_VIRTUALS default to false since it confused too many people.
	  Moreover, it is somewhat dangerous if (falsely) used with
	  EPREFIX and friends.
	- Code cleanup (new-style casts and other pedantic compiler warnings).

*eix-0.8.8
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Change to new version number scheme:
	  http://bugs.gentoo.org/show_bug.cgi?id=165414
	- Fix sorting of things like _p20060716 (longer numbers)
	- Increase some quantities to 64bit (e.g. 20071042308
	  should still be a valid version number), or to  16bit (e.g. -r9999).
	- Internal cleanup: Proper variable typing.

*eix-0.8.7
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Let ** in /etc/portage/package.keywords accept "missing keyword".
	  This corresponds to the change in portage-2.1.2-r4, see
	  comments #20 #24 in http://bugs.gentoo.org/show_bug.cgi?id=160519
	- Let PORTAGE_CONFIGROOT modify the path of /etc/eixrc.
	- Allow PORTAGE_CONFIGROOT also in /etc/eixrc and ~/.eixrc
	  if not set in the environment.
	- Introduce EPREFIX which is similar to PORTAGE_CONFIGROOT but
	  applies for all paths except /usr/bin/update-eix-function.sh,
	  $HOME/eixrc, PORTAGE_PROFILE, PORTDIR, overlay paths,
	  and the cachefile arguments on the command line.
	  This allows support for prefix-portage.
	- Introduce EPREFIX_PORTAGE which is used as prefix for
	  PORTAGE_PROFILE, PORTDIR, and overlay paths.
	- Use true (soft-link resolved) filenames for PORTDIR and overlays.
	- Bugfix: Apply package.mask of profiles. This fixes
	  http://bugs.gentoo.org/show_bug.cgi?id=164695

*eix-0.8.6
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Ignore *~ files in /etc/portage/package.*
	  This reflects the change of portage-2.1.2_rc4-r9 of
	  http://bugs.gentoo.org/show_bug.cgi?id=144445
	- Fix <availableversionsshort>.
	- Security improvement: Use random temporary names also on systems
	  without mktemp (in eix-sync and update-eix-remote).
	- Add Push and NormalizeNames to update-eix-functions.sh
	- Code cleanup of scripts, in particular of eix-sync
	- Correct EIX_WIKI to http://eix.sourceforge.net

*eix-0.8.5
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Honour PORTAGE_CONFIGROOT
	- Honour PORTAGE_PROFILE
	- Allow environment to override/add to portage config variables
	  like PORTDIR, PORTDIR_OVERLAY, ...
	- Introduce --cache-file
	- Rename cache methods flat/backport to portage-2.0/portage-2.1
	- Experimental portage-2.1* cache method (don't use it!).
	- Prepare database format for perhaps future per-version IUSE data.

*eix-0.8.4
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Treat empty regular expression manually. This fixes
	  http://bugs.gentoo.org/show_bug.cgi?id=158222
	- Add option -O to update-eix-remote, see the discussion starting at
	  http://forums.gentoo.org/viewtopic-t-278819-start-343.html
	- Add option -W and more general options -c, -C, -M to eix-sync, see
	  http://bugs.gentoo.org/show_bug.cgi?id=159005

*eix-0.8.3
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Fix default FORMAT_HEADER_DELETE (reset color in [D]).
	- Add update-eix-layman
	- Add update-eix-functions.sh
	- Store IUSE in database (currently only for packages).
	- Add option -U (suggested by stephan.ritscher).

*eix-0.8.2
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Add options --in-overlay, --only-in-overlay
	- Add options -J, --installed-in-overlay
	- Allow wildcard patterns for overlays in --exclude-overlay and
	  --override-method (and for the corresponding variables) and
	  for the overlay references in cache method eix/eix*
	- Bugfix: Treat lines with identical target in
	  /etc/portage/package.keywords in the way portage does it
	  (i.e. ignore earlier lines if target is completely identical).
	- Introduce REDUNDANT_IF_DOUBLE_LINES (related to previous bugfix).
	- Some code cleanup and fixing of some compiler warnings.
	  Thanks to KIMURA Masaru / hiyuh <hiyuh.root at gmail.com>
	  http://bugs.gentoo.org/show_bug.cgi?id=155160

*eix-0.8.1
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Conditional blocks in delayed references.
	- Make use of conditionals in defaults:
	  Introduce delayed PRINT_ALWAYS, DIFF_PRINT_INSTALLED.
	  In particular, PRINT_ALWAYS finally is a way to have a "short"
	  configuration for cyberpatrols wish to print lines even if unused:
	  http://forums.gentoo.org/
	  viewtopic-t-278819-postdays-0-postorder-asc-start-292.html
	- Let eix-sync print the time emerge --sync needed.
	- Bugfix: Let "%%{" work as documented in the treatment of
	  delayed variables.
	- Bugfix: Reset colors after each printed version.
	- Bugfix in defaults: color of marked versions/packages.
	- Tiny bugfix in defaults: color of ":" after installed version
	- Fix some comments of variables.

*eix-0.8.0
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Major change: delayed reference %{VAR} of config vars possible.
	  This way, *FORMAT_* strings can be input/modified more conveniently.
	  Moreover, most DIFF_* variables were dropped, since the distinction
	  whether eix or diff-eix is run can be made with %{*VAR}.
	  Default *FORMAT* strings make now heavy use of these delayed
	  references. In particular, all colors/strings/characters/lines are
	  stored in separate variables and can such be easily customized.
	- Introduce TAG_FOR_* variables (in particular, it is now possible
	  to completely revert to the old behaviour by setting the
	  TAG_FOR_EX_* variables empty and TAG_FOR_LOCALLY_MASKED="[M]").
	- Enable escaping of ':' in the installedversions* string arguments.
	- Bugfix: Put DIFF_NEW_SLOTS into defaults.cc
	- Fix installation date in default FORMAT_COMPACT (the separating "@"
	  was mistakenly removed in the previous release).
	- Do not include braces in default FORMAT_*INSTALL*:
	  This is better put into the installedversions* string arguments.
	- Change FORMAT_VERBOSE default to let installedversions* display
	  everything in a separate line.
	- Tiny bugfix: "and" for "Upgrade and Downgrade" in default color.

*eix-0.7.9
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Since this version, it is now strongly recommended to leave
	  *LOCAL_PORTAGE_CONFIG=true, because the "default" stability
	  can now be seen anyway: The output and default coloring was changed
	  to reflect the non-local settings (concerning the coloring, this
	  new feature is optional and can be switched off, see below).
	- Print output such that also the default (non-local) stability
	  can be seen. This is a suggestion of STEDevil, see
	  http://forums.gentoo.org/viewtopic-t-278819-start-325.html
	- Show the keyword flag also for masked versions.
	- Color according to original settings not to local settings;
	  make a possible exception for local masking (*COLOR_LOCAL_MASK).
	- Introduce *COLOR_ORIGINAL to allow the user to retain the
	  old coloring behaviour.
	- Allow 4 further strings for installedversions* to make it possible
	  to have different coloring for set/unset useflags.
	- Corresponding changes in default FORMAT strings.
	- Sort useflags alphabetically.
	- Fix a misleading text in eix-test-obsolete.
	- Fix manpage typos.

*eix-0.7.8
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Main changes are improved possibilities of (colorized!) output of
	  installed versions and corresponding changes in FORMAT_* defaults.
	- Show installed versions in FORMAT_COMPACT default.
	- Change output of marked packages/versions in FORMAT_* defaults
	  consistently to (red,1;underlined).
	- Introduce installedversionsshort, installedversionsdate,
	  installedversionsshortdate, and FORMAT_SHORT_INSTALLATION_DATE.
	- Remove DIFF_FORMAT_INSTALL* as this should better be handled in
	  the FORMAT_* strings (which is now possible also for the date).
	- Allow appending stringlist to installedversion* to influence the
	  color output.
	- Make default colors of [I],* reverse, since the only other
	  consistent choice would be to use [I] color for installed versions;
	  this looked bad since bright default was reserved for package names
	  and all other non-reserved choices remind of the "downgrade" color.
	  Change [N] color with -c correspondingly to allow better optical
	  distinction (not in diff-eix: [N] has a different meaning there).
	- Bugfix: Initialize empty search string in constructor of regex.
	  This fixes http://bugs.gentoo.org/show_bug.cgi?id=151327
	- Bugfix: No splitting of short options when they are option
	  parameters, e.g. in "update-eix -o -oo" the second argument
	  is not interpreted as two options of type -o.
	- Option parameters can follow without space. For instance,
	  instead of "update-eix -o test" you can use "update-eix -otest".

*eix-0.7.7
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Fix default DIFF_FORMAT_DELETE (fix "unknown property: old*" errors).
	- Introduce FORMAT_INSTALLATION_DATE and DIFF_FORMAT_INSTALLATION_DATE.
	- Introduce FORMAT_INSTALLED_USE and DIFF_FORMAT_INSTALLED_USE.
	- Reformulate description of cache methods on manpage.
	- Internal Change: Use InstVersion (inherited from BasicVersion) to
	  manage installed versions (to store e.g. installation dates).

*eix-0.7.6
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Early release to fix two problems:
	- In the default setting -T had false non-matches (the +/- prefix
	  in REDUNDANT_IF_* had falsely an effect also for some other tests).
	- The structure in the remote overlays database was changed.
	  To be more independent of such changes, update-eix-remote now
	  takes more care about filenames and adds all overlays of the
	  fetched data (although currently this adds a package too much).
	- Add eix-test-obsolete script to give a structured eix -tTc output.
	- Introduce REDUNDANT_IF_DOUBLE_{USE,CFLAGS}.
	- Fix manpage typo (thanks to Mathieu Bonnet).

*eix-0.7.5
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- By the new default, now all matches of /etc/portage/package.*
	  to non-installed packages are considered as redundant.
	  Also /etc/portage/package.cflags is now checked for redundancy
	  to the same extent as /etc/portage/package.use.
	  This was possible with the following three additions:
	- Introduce REDUNDANT_IF_IN_* to match any entry in
	  /etc/portage/package.*.
	- Introduce +/- prefix for string in REDUNDANT* to test the redundancy
	  only for installed/uninstalled packages.
	- Extend -t to contain also /etc/portage/package.cflags.
	- Let diff-eix by default list all versions if no stable exists.
	- Enable default options for eix-sync (by config-file and environment).
	- Fix eix-sync -s.
	- Let eix-sync -u imply -s "".
	- Let eix-sync not call update-eix if this was done in an emerge hook.
	- Fix tempfile handling of eix-sync if mktemp does not exist.

*eix-0.7.4
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Add support for sqlite if portage uses the sqlite backend
	    http://gentoo-wiki.com/TIP_speed_up_portage_with_sqlite
	  Introduce very fast cache method "sqlite" which is available if
	  eix is compiled with ./configure --with-sqlite
	- Fix endless loop and wrong sanitize in update-eix-remote.
	  Thanks to Stefan Schweizer <genstef at gentoo.org> for the report.
	- Allow different server/client PORTDIR directory for eix-sync.
	- Introduce --dump-defaults and fix output of --dump so that
	  commented variables containing newlines are commented in each line.
	- Improve error-handling of update-eix (continue as far as possible).

*eix-0.7.3
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Improved determination of "virtual" overlays.
	- Introduce KEEP_VIRTUAL and let it default to true.
	- Introduce CACHE_METHOD and ADD_OVERRIDE_CACHE_METHOD
	  and change override-order:
	  CACHE_METHOD < ADD_CACHE_METHOD < KEEP_VIRTUAL <
	  OVERRIDE_CACHE_METHOD < ADD_OVERRIDE_CACHE_METHOD
	- Let update-eix-remote default to temporary files:
	  With KEEP_VIRTUAL, a "permanent" remote cache is not really needed.
	- Drop permissions for update-eix-remote when fetching.
	- Enable much more customization for eix-sync:
	  rsync from/to other hosts, various hooks, keep old database.
	  Allow almost each step (gensync/emerge --sync/update-eix/...)
	  switched on/off by options.
	- Rename /etc/eix-sync-overlays to /etc/eix-sync.conf,
	  since now hooks etc. are possible in this file.
	- Document update-eix-remote and new details of eix-sync in manpage.
	- It makes now also sense to start eix-sync as a normal user (e.g.
	  for -d or certain other tasks) -> change to normal bin-directory.
	- Better doxygen sourcecode documentation.

*eix-0.7.2
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- urgent version bump to fix a segfault of update-eix -m
	  when ADD_CACHE_METHOD and OVERRIDE_CACHE_METHOD are both empty
	  (this happened for update-eix-remote if no configuration was used).

*eix-0.7.1
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Let cache method "none" substitute variables;
	  fix segfault in substitutions for cases like A=${X-$ARCH}
	- Previous cache method "none" is now called "none*".
	- Define standard ebuild standard variables like $P or $PN;
	- Add cache methods "ebuild" and "ebuild*" to scan properly e.g.
	  SLOTS of typical kde-base packages.
	- Better treatment of overlay eclass (in particular for ebuild*).
	- Let none, none*, ebuild, ebuild* continue after errors.
	- Add option --output to updatedb - can now run with minor permissions.
	- Improved handling of database file permissions.
	- Improved option parsing.
	- Added --override_method option; eliminated ADD_LOCAL_CACHE_METHOD.
	- Avoid memory leak in pushback_files().

*eix-0.7.0_beta
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Major changes: remote support and full support for slots.
	  For the former, see
	  http://bugs.gentoo.org/show_bug.cgi?id=144200
	  the idea for the latter is due to a discussion with
	  caster at matfyz.cz
	  All changes in detail:
	- Add OVERRIDE_CACHE_METHOD, ADD_LOCAL_CACHE_METHOD, ADD_CACHE_METHOD
	  to allow e.g. cache method metadata for a specific overlay.
	- Add cache method eix to use "pre-indexed" data for a
	  specific overlay.
	- Add cache method eix* to use "pre-indexed" data even with possibly
	  new categories.
	- Make eix database format architecture-independent.
	- Detect overlays with equivalent paths as identical.
	- Introduce COLOR_VIRTUALKEY
	- Add update-eix-remote.
	- Distinguish old/new overlays in diff-eix.
	- Fix manpage bug: best=bestlong.
	- Introduce COLOR_SLOTS, *COLORED_SLOTS, *COLON_SLOTS
	- Introduce --versionsorted, STYLE_VERSION_SORTED.
	  Let the defaults be false -> different default output.
	- Introduce bestversions* format.
	- diff-eix outputs package also if best versions change in some slot.
	- Implement -u option.
	- Introduce UPGRADE_ALWAYS_LOCAL.
	- Introduce DIFF_ONLY_INSTALLED, DIFF_NO_SLOTS.
	- Introduce formats old* and new* for DIFF_FORMAT_CHANGED.
	- Introduce formats *better, *worse, *differ for DIFF_FORMAT_CHANGED.
	- Introduce formats *upgrade, *upgradeorinstall, *downgrade,
	  *recommend, *recommendorinstall to visualize upgrade recommendations.
	- Change default formatstrings to use new features.
	- Introduce UPGRADE_ALWAYS_LOCAL, RECOMMEND_ALWAYS_LOCAL.
	- Introduce UPGRADE_TO_HIGHEST_SLOT.
	- Introduce DEFAULT_FORMAT.
	- Implement just-in-time reading of slots of installed versions.
	- Implement --quick, --care. Introduce *QUICKMODE, *CAREMODE
	- Implement --quiet for diff-eix. Introduce *QUIETMODE.

*eix-0.6.4
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Introduce slot support.
	- Fix memory leak for source command in varsreader.
	- Fix setting of package flags in all cache methods
	  (required splitting of addVersion into two functions).
	- Introduce PRINT_SLOTS and DIFF_PRINT_SLOTS.
	- Introduce options -i, -1, -2, -O.
	- Output nonexistent installed package names with -t.
	- DEFAULT_IS_OR defaults to "false" again.

*eix-0.6.3
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Rename EMPTY_IS_BAD -> TEST_FOR_EMPTY.
	  Sorry for that: eix-0.6.2 was not yet intended to be released.
	  (The release happened only by a misunderstanding).
	- Do no install test-programs.
	- Introduce PRINT_COUNT_ALWAYS.
	- Introduce TEST_FOR_NONEXISTENT, NONEXISTENT_IF_MASKED.
	- Introduce TEST_FOR_REDUNDANCY.

*eix-0.6.2
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Correct scandir handling according to ./configure in pushback_files.
	- Introduce EMPTY_IS_BAD and corresponding test in -t.

*eix-0.6.1
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Reflect portage's change of ignoring hidden files/dirs
	  for recursive reading, see
	  http://bugs.gentoo.org/show_bug.cgi?id=137607
	- Reflect portage's behaviour of reading files/dirs in sorted order
	  for recursive reading.
	- Introduce OVERLAYS_LIST to display only overlays that are
	  really needed.
	- Option --pipe to parse output from emerge -pv (similar to genlop -p)
	- Introduce DEFAULT_IS_OR and let it default to "true".
	  This changes the default behaviour when several arguments are given.
	- Document that variables may be overridden by environment
	- Introduce -d and DUP_*_ONLY_OVERLAYS, see
	  http://bugs.gentoo.org/show_bug.cgi?id=142469
	- Read profile/package.mask of overlays, see
	  http://bugs.gentoo.org/show_bug.cgi?id=142503
	- Mark packages and versions passed with --pipe, see the discussion in
	  http://bugs.gentoo.org/show_bug.cgi?id=142469
	- Introduce "marked" format and "MARK_VERSIONS" to customize the
	  marking of packages and versions passed with --pipe.
	- Change color format to allow also e.g. "underline" in the formats.
	- Change --dump to display current variables (but still defaults).
	- Introduce "markedversions" format.

*eix-0.6.0_beta
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- Implemented -T to help cleaning up /etc/portage/package.*.
	- Read package information for the newest available versions:
	  http://bugs.gentoo.org/show_bug.cgi?id=138629
	- Let diff-eix respect local setting (DIFF_LOCAL_PORTAGE_CONFIG):
	  http://bugs.gentoo.org/show_bug.cgi?id=140555
	- Document that it is possible to exclude the PORTDIR "overlay".
	- Add --add-overlay (ADD_OVERLAY variable) to update-eix.
	- Fixed passing of recursive flag for /etc/portage/package.*
	  This should fix http://bugs.gentoo.org/show_bug.cgi?id=141818
	- Treat also non-arch Keywords, e.g. x86 on an amd64 architecture.
	  To avoid increasing database size by factor ~1.5 for this feature,
	  you can use the new SMALL_EIX_DATABASE variable.
	- Introduced REDUNDANT_* to allow high customization for -T
	- Implemented -t to help further in cleaning up /etc/portage/package.*

*eix-0.5.6
	Martin Väth <vaeth at mathematik.uni-wuerzburg.de>:
	- If /etc/portage/package.* is a directory, read it recursively:
	  http://bugs.gentoo.org/show_bug.cgi?id=137784
	- patch from caster at matfyz.cz to treat version numbers as long ints:
	  http://bugs.gentoo.org/show_bug.cgi?id=133732
	- Support a "source " (and ". ") command in /etc/make.*:
	  http://bugs.gentoo.org/show_bug.cgi?id=132874
	- Mark installed versions in output list. This experimental feature
	  can be disabled with MARK_INSTALLED=none in /etc/eixrc
	- Fixing -D again.

*eix-0.5.5
	Emil Beinroth <emilbeinroth at gmx.net>:
	- Fix fstream.ignore-stuff in metadata and flat.
	- Redone a part of argsreader.h Option .. looks *much* cleaner now.
	- Fixed http://gentooexperimental.org/eix/ticket/3
	  (was previously http://dev.croup.de/proj/eix/ticket/3)
	  profiles can contain profiles/categories
	- fuzzy-search is now ignore-case.

*eix-0.5.4

	Emil Beinroth <emilbeinroth at gmx.net>:
	- Introducing eix::ptr_list and eix::ptr_iterator.
	- Cleaning headers: no using namespace.

*eix-0.5.3

	Emil Beinroth <emilbeinroth at gmx.net>:
	- Added metadata as cache-method.
	- Added a workaround for http://bugs.gentoo.org/show_bug.cgi?id=114628
	  Looks like the problems isn't eix, but some part of the toolchain.

*eix-0.5.1

	Emil Beinroth <emilbeinroth at gmx.net>:
	- Fixed trim/rtrim/ltrim: strings that only contain trim-characters are
	  cleared now. This fixes all the 'Unable to split mask "" ..' bugs.
	- portage-2.1 introduced big changes to the depcache-handling, the old
	  cache is no longer removed. Old entries are not removed.
	  But update-eix needs the cache to be ok, thus eix-sync removes the
	  old depcache in /var/cache/edb/dep.
	- More verbose output if problems with files in /etc/portage/ or the
	  profile pop up. This should stop reports like
	  http://bugs.gentoo.org/show_bug.cgi?id=116592
	- Fixed http://bugs.gentoo.org/show_bug.cgi?id=117407 and removed a
	  compilation-error for -pedantic -ansi -W -Wall -Werror
	- Moved the code in ExplodeAtom from regex to short, _fast_ and
	  hand-written parser-code.
	- Added a compare(..) method to basicversion. This compare-method is
	  used in all other comparators, thus decreasing LOC and a bit more
	  efficient.
	- Rewrote big parts of Mask; Be more verbose about parse-errors;
	  Correctly parse wildcard-stuff; Remove regular-expression stuff;
	- Default cache for PORTDIR_CACHE_METHOD can be chosen by
	  configure-parameter.

*eix-0.5

	Emil Beinroth <emilbeinroth at gmx.net>:
	- Fixed a small bug regarding -o/-a and atoms with a pattern ..
	  thanks to leonie for bringing this to my attention.
	- Added PROVIDE; bumped db-version
	- Fixing http://bugs.gentoo.org/show_bug.cgi?id=111927
	- Added our own strndup-implementation that will be used for ppc-macos
	  See http://bugs.gentoo.org/show_bug.cgi?id=111912
	- Finally, environment variables can be used to override eixrc-stuff.
	- Applied patch from http://bugs.gentoo.org/show_bug.cgi?id=111865,
	  thanks JeR
	- Applied patch from http://bugs.gentoo.org/show_bug.cgi?id=112776
	- Applied patch from http://bugs.gentoo.org/show_bug.cgi?id=112806
	- Applied patches for scandir, sed, byteorder and regex from
	  http://bugs.gentoo.org/show_bug.cgi?id=111912
	- Fixed some small memory-leaks - valgrind reports one more that leads
	  into the glibc (getpwnam) .. but this is really a leak. See
	  --run-glibc-freeres in valgrind(1).
	- Rewrite BasicVersion (much more efficient) and fixes
	  http://gentooexperimental.org/eix/ticket/1
	  (was previously http://dev.croup.de/proj/eix/ticket/1)
	- Fix http://bugs.gentoo.org/show_bug.cgi?id=113735

*eix-0.5_beta

	Emil Beinroth <emilbeinroth at gmx.net>:
	- Formatstring(Conditions): If a "else" was missing, the if-true part
	  was linked to if-false.
	- Changed the arch-part of the dbheader from char[16] to string.
	- Fixed http://bugs.gentoo.org/show_bug.cgi?id=104083 - once again:
	  unsigned int vs. vector::size_type
	- Moved from #define in basicio.h to a namespace io with generic
	  read/write-functions for POD and {read,write}_string for strings.
	  Slowly moving other read/write-code into that namespace.
	- Bumped to 0.3.1
	- eix-sync hides output of emerge --sync and update-eix per default.
	  Added cli-options -v, -h, -q
	- Fixed a non-existing bug :)
	  http://bugs.gentoo.org/show_bug.cgi?id=97462
	- Fixed a rather *extrem* bug:
	  The read-only-what-we-need-to-check-if-the-package-matches
	  wasn't used at all! This brings an extrem speedup.
	- Fixed http://bugs.gentoo.org/show_bug.cgi?id=105935
	- I just love auto_ptr!

*eix-0.3.0

	Emil Beinroth <emilbeinroth at gmx.net>:
	- Moved explodeShit(..) into a class with static members. Changed
	  RegExClass to Regex and changed some internals. Category was merged
	  into PackageDatabase. Removed 'this->' and ; after methods.
	- After having a nice talk with Kyuu, I added
	  LOCAL_PORTAGE_CONFIG=true/false to eixrc. It's possible to tell eix
	  to ignore all local configuration like /etc/portage and
	  ACCEPT_KEYWORDS.
	  Yes, I know that this could be done by a alias in $SHELL.
	- Fixed (think) http://bugs.gentoo.org/show_bug.cgi?id=103836.
	  offset_type wasn't off_t everywhere.

*eix-0.3.0_beta
*eix-0.2.7

	Emil Beinroth <emilbeinroth at gmx.net>:
	- PortageInstalledPackages now catches a exception thrown by
	  BasicVersion and prints the message rather then dying.
	  For example, lockfiles in /var/db/pkg are no longer lethal for eix.
	- Did the same to Mask parsing (don't die, but print an error)
	- Added target and gcc-version to the output of both, eix -V and
	  update-eix -V.
	- Fixed a bug in the cdb-code: munmap was called for bad pointers.
	- Fixed http://bugs.gentoo.org/show_bug.cgi?id=97914 (Thanks to
	  David Held <andukar at andukar.org> for the patch.
	- Fixed compilation-problems
	  http://bugs.gentoo.org/show_bug.cgi?id=98218.
	  Patch by Cyrille Mescam <titi at oboulo.com>.
	- Masks like '>app-portage/eix-0.2*' are finally accepted by
	  update-eix.
	- Finally changed our formatstring-code! We are no longer parsing the
	  string every time we need to print something. It's now parsed into a
	  list of structs which is much faster processed.
	- Fixed compile-errors about undefined flags from varsreader once and
	  for all!
	- Started working on diff-eix (part of our 'esync' functionality)
	- More progress with diff-eix - currently WIP (work in progress)
	- Added IF-ELSE-FI constructs to the formatstrings (this could be the
	  final state of my featuritis ..)
	- Rewrote our stability-calculation-thingy, KEYWORDS="-* ~ARCH" is now
	  reported as TESTING (yellow color)
	- Read /etc/portage/package.{unmask,mask} on-the-fly
	- Honour ACCEPT_KEYWORDS correctly and started working on code for
	  package.keywords
	- Finished package.keywords code and basic diff-eix stuff.
	- Added sbin-script eix-sync. It's our esync!

*eix-0.2.6

	Emil Beinroth <emilbeinroth at gmx.net>:
	- Fixed an old bug in our parameter-parsing. The first flag after an
	  implicit OR was ignored.

*eix-0.2.5

	Emil Beinroth <emilbeinroth at gmx.net>:
	- Fixed http://bugs.gentoo.org/show_bug.cgi?id=88148
	- Committed reviewed manpage (Thanks Legoguy)
	- Overlay reading: Check result of explodePkgFilename before using it
	- Added --version/-V options
	- Added patch from http://bugs.gentoo.org/show_bug.cgi?id=89376
	  by Mike Gardiner <obz at gentoo.org>
	- Rewrote big parts of update-eix. We now have different classes for
	  different portage cache-backends.
	- Added a more descriptive section about ~/.eirx to the manpage.

*eix-0.2.2 (2005/03/26)

	Wolfgang Frisch <xororand at users.sourceforge.net>:
	- Applied patch: gentoo releases == 0 now are accepted & changed
	  metadata cache directory to /var/cache/edb/dep/$PORTDIR

	Emil Beinroth <emilbeinroth at gmx.net>:
	- Made the fsm recognize references to variables in declarations ..
	  i.e. USE="${USE} -kde".
	  This is important for proper make.conf/make.defaults parsing.
	- Created CascadingProfile as a subclass of PortageSettings
	- Added maskings from profile
	- Added system-profile-stuff (somewhat depends on virtual/ packages ..)
	- Removed split of category into rootcat-subcat
	- And some other pretty radical changes
	- Rewrote args.cc (OOP'ish :) and added bash-completion
	- User root no longer needed to update database
	- Moved some functionality into separate toolkits.
	- Added ~-operator to class Mask

*eix-0.2.1 (2005/02/24)

	Emil Beinroth <emilbeinroth at gmx.net>:
	- Removed deprecated Constructor from ExBasic and changed all calls
	- Removed big ugly patternmachting from portagedb.cc and moved to
	  criteria.cc (now even more ugly :) -- added wildcards.cc for
	  wildcards-matching.
	- Moved DBQuery from portagedb.cc to filedb.cc
	- Moved PortageInstalledPackages to portageconf.cc and made it
	  pseudo-caching
	- Removed getopt-stuff from main.cc -- this is now recursively done in
	  criteria.cc (with help from args.cc )
	- Various other small cleanups/fixes ..
	- Added --dump, --quiet and --dup-versions;
	  Use xororand formatstring.cc for output of results

	Wolfgang Frisch <xororand at users.sourceforge.net>:
	- Added a wiki: http://eixwiki.unfoog.de
	- Added parameter -l,--lineversions for printing versions line-by-line
	  like "etcat -v"
	- Added format strings to allow customized output. See manpage and
	  http://eixwiki.unfoog.de/index.php/Usage#Format_strings
	- Yet another 'version number sorting'-fix. Now: 1.2a < 1.2b
	- Moved Portage settings parts from PortageDB to new class
	  PortageSettings

*eix-0.2.0

	Beholders_Eye (Gentoo Forums)
	- Fixed two warnings

	Emil Beinroth <emilbeinroth at gmx.net>:
	- Fixed various bugs

	Wolfgang Frisch <xororand at users.sourceforge.net>:
	- 'eix -u' crashed when it met files like abc.ebuild.xyz in overlay
	  package directories. This has been fixed.

*eix-0.2.0_beta (2005/02/12)

	Wolfgang Frisch <xororand at users.sourceforge.net>:
	- Fixed a reported bug in version.cc: Some package versions were
	  omitted in eix-0.2.0_alpha and probably in earlier versions too.
	  Example: A package with 2.1 and 2.1.1 only showed 2.1.
	- Fixed a small issue with handling files like "abc.ebuild.xyz" in
	  portage overlay directories

	Kay Ramon "YakS" Sauter <yaks-gentoo at users.sourceforge.net>:
	- Added man page

	Emil Beinroth <emilbeinroth at gmx.net>:
	- Included minor fixes from
	  Christian Heim <christian.th.heim at gmx.de>
	- Big cleanups in readoverlay to fix 2 major bugs
	  http://bugs.gentoo.org/show_bug.cgi?id=80241 and
	  http://forums.gentoo.org/viewtopic.php?p=2005152#2005152
	- Added -I to search only installed packages. If no search pattern is
	  given it prints all installed packages.
	- Changed version.cc, added a test for version.cc, added 'keys' for
	  packages/versions from overlays and moved cleaned some classes(moved
	  attributes to private/protected).

*eix-0.2.0_alpha (2005/02/01)

	xororand <xororand at users.sourceforge.net>:
	- Fixed a "versions reported twice"-bug
	- Added --fuzzy search option to allow unsharp search queries
	  (no regular expressions).
	- Closed memory leaks
	Emil Beinroth <emilbeinroth at gmx.net>:
	- Constructed a FSM (finite state machine) to replace the
	  regex-massacre in varsreader.cc.
	- Fixed the "-S does not search the name, just the description"-bug and
	  added warnings if keyUndefined occurs while updating the db
	- Rewrote package::getStability(..) so it can distinguish between ppc
	  and ppc64, x86 and x86-obsd .. and so on
	- Converted the db-read/write code to use c-style FILE*, fread, fwrite.
	  This fixes the ppc-problem described in
	  http://forums.gentoo.org/viewtopic.php?p=2036103#2036103
	  Thanks meyerm for testing :)
	xororand <xororand at users.sourceforge.net>:
	- Fixed: packages with ebuilds in multiple overlays are no longer
	  reported twice
	- Increased loading speed of the database
	Emil Beinroth <emilbeinroth at gmx.net>:
	- Various updates to autoconf-stuff including --with-cachefile=FILE for
	  configure and update of VERSION in configure.in
	- Show "file:line" when throwing a exception
	- Rewrote get_arch()

*eix-0.1.4 (2005/01/22)

	xororand <xororand at users.sourceforge.net>:
	- Added: multi-line entries in ebuild and/or /etc/make.conf are parsed
	  variables declared without double quotation marks are recognized
	  correctly as well as tab characters in PORTDIR_OVERLAY
	- Versions which are not tested on your architecture (arch not in
	  KEYWORDS) are now shown by default (previously: only with -v)
	  I changed the prefix for such versions from [M~] to [-]

	Emil Beinroth <emilbeinroth at gmx.net>:
	- Cleaned the command line parser to use the quasi-standard getopts()
	  which is used by almost any Unix program.
	  eix -s is now default, so you can simply type "eix REGEXP" to search
	  for packages.

	xororand <xororand at users.sourceforge.net>:
	- added support for /etc/portage/categories

*eix-0.1.3 (2005/01/17)

	xororand <xororand at users.sourceforge.net>:
	- Fixed bug: multiple spaces in PORTDIR_OVERLAY (/etc/make.conf) were
	  interpreted as / overlays
	- Fixed: Version numbers should finally be sorted properly.
	  Explanation: In 0.1.2 versions were only splitted in [primary, e.g. |
	  1.2.3][suffix | _alpha5][gentoo-release | -r2]
	  Now, the primary string is also splitted into integers =>
	  2.6.2 < 2.6.10
	- Added more detail to the error messages in version.cc (in hopes to
	  resolve kay's problem)

*eix-0.1.2 (2005/01/13)

	xororand <xororand at users.sourceforge.net>:
	- Bekks removed the unnecessary libstdc++v3 dependency from the ebuild
	- The currently installed version of each package is now displayed
	  again
	  Note: Slotted versions are still not supported
	- Corrected a bug of 0.1.0: All versions are displayed again
	- The -v parameter now also shows "arch masked" package versions, e.g.
	  [M~]1.2.3-r4
	- Reverted to the old get_arch code because of an error on an amd64
	  system
	- Fixed a small bug in command-line parsing

*eix-0.1.0 (2005/01/09)

	xororand <xororand at users.sourceforge.net>:
	- Renamed portagedb to eix

# vim:set ts=8 tw=78 noet:
