# ChangeLog for profile directory
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/profiles/ChangeLog-2012,v 1.1 2013/01/01 13:42:57 dilfridge Exp $
#
# This ChangeLog should include records for all changes in profiles directory.
# Only typo fixes which don't affect portage/repoman behaviour could be avoided
# here. If in doubt put a record here!

  29 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  targets/desktop/gnome/package.use:
  Have dev-vcs/giggle USE=-eds by default to avoid blocking gnome-3.6 updates
  (bug #449138).

  28 Dec 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add MIT-with-advertising to MISC-FREE license group, bugs 448650 and 448652.

  28 Dec 2012; Samuli Suominen <ssuominen@gentoo.org> updates/4Q-2012:
  Rename x11-terms/terminal to x11-terms/xfce4-terminal.

  27 Dec 2012; Sergei Trofimovich <slyfox@gentoo.org> package.mask:
  Mask dev-haskell/wxc as it requires masked wxGTK.

  27 Dec 2012; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Remove obsolete masks, wrt bug #444181

  27 Dec 2012; Sergey Popov <pinkbyte@gentoo.org>
  default/linux/m68k/10.0/package.mask:
  Remove obsolete masks, wrt bug #444181

  27 Dec 2012; Sergey Popov <pinkbyte@gentoo.org> hardened/linux/package.mask,
  hardened/linux/powerpc/package.use.mask,
  hardened/linux/powerpc/ppc64/32bit-userland/package.mask:
  Remove obsolete masks, wrt bug #444181

  27 Dec 2012; Sergey Popov <pinkbyte@gentoo.org>
  hardened/linux/x86/package.use.mask:
  Remove obsolete masks, wrt bug #444181

  27 Dec 2012; Sergey Popov <pinkbyte@gentoo.org> releases/10.0/package.mask:
  Remove obsolete masks, wrt bug #444181

  27 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Unmask ibus-1.4.99, should have been unmasked with gnome-shell-3.6

  26 Dec 2012; Gilles Dartiguelongue <eva@gentoo.org> package.mask:
  Drop Gnome 3.6 mask.

  26 Dec 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Unmask libdlna/ushare as it's still soon to kill libav-9 incompatible
  packages (that is still hardmasked)

  26 Dec 2012; Hans de Graaff <graaff@gentoo.org> updates/4Q-2012:
  Create a separate slot for dev-ruby/builder 3.1.x

  26 Dec 2012; Christoph Junghans <ottxor@gentoo.org> package.mask:
  unmasked sci-libs/openmm

  25 Dec 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask ati-drivers-12.4

  25 Dec 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask more packages for treecleaning

  25 Dec 2012; Christian Ruppert <idl0r@gentoo.org> package.mask:
  Unmask puppet-3*, works very well so far

  25 Dec 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask more packages for treecleaning

  25 Dec 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Clean mask entries

  25 Dec 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Clean mask entries

  24 Dec 2012; Panagiotis Christopoulos <pchrist@gentoo.org> package.mask:
  remask =dev-lisp/gentoo-init-1.0, =dev-lisp/asdf-2.26, =dev-lisp/sbcl-1.1.2,
  need more testing

  24 Dec 2012; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/uclibc/mips/package.mask:
  Update hardened/linux/uclibc/mips to reflect changes to virtual/udev

  24 Dec 2012; Andrey Grozin <grozin@gentoo.org> package.mask:
  Unmasked >=dev-lisp/gentoo-init-1.0, >=dev-lisp/asdf-2.26, >=dev-lisp/sbcl-1.1.2

  24 Dec 2012; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Remove mask for net-misc/ups-monitor, cause package was removed from tree

  23 Dec 2012; Samuli Suominen <ssuominen@gentoo.org>
  targets/desktop/package.use:
  Remove obsolete entries. Synchronize USE defaults for sys-fs/udev and
  sys-fs/eudev wrt #447364

  22 Dec 2012; Christian Ruppert <idl0r@gentoo.org> package.mask:
  Mask experimental HAProxy-1.5

  22 Dec 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add "fee" to MISC-FREE license group, bug 448180.

  22 Dec 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask every avidemux-2.6* out there

  22 Dec 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add bufexplorer.vim to MISC-FREE license group, bug 448064. Add PCRE and
  inner-net to MISC-FREE license group, bug 448132.

  22 Dec 2012; Robin H. Johnson <robbat2@gentoo.org> package.mask:
  sys-process/audit-2.2.2 ready to go.

  22 Dec 2012; Robin H. Johnson <robbat2@gentoo.org> package.mask:
  Block sys-process/audit-2.2.2 for now to solve swig issue.

  21 Dec 2012; Sven Wegener <swegener@gentoo.org> package.mask:
  Temporary mask for screen socket location change.

  21 Dec 2012; Gilles Dartiguelongue <eva@gentoo.org> package.mask:
  Add telepathy-logger to Gnome 3.6 mask.

  21 Dec 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Mask >=dev-libs/icu-50.1.1 for testing to avoid drama like bug #439892.

  21 Dec 2012; Bernard Cafarelli <voyageur@gentoo.org> package.mask:
  Remove llvm 3.2 rc mask

  21 Dec 2012; Julian Ospald <hasufell@gentoo.org> package.mask:
  remove pornview mask, version removed

  20 Dec 2012; Julian Ospald <hasufell@gentoo.org> package.mask:
  mask =games-roguelike/tomenet-100310

  20 Dec 2012; Mike Gilbert <floppym@gentoo.org>
  desc/python_single_target.desc, desc/python_targets.desc:
  Add pypy2_0 use-expand values.

  20 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> use.desc:
  Add global orc USE flag, as discussed on gentoo-dev.

  19 Dec 2012; Michael Pagano <mpagano@gentoo.org> package.mask:
  Remove portpeek mask

  19 Dec 2012; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Clean up some deprecated atoms, wrt bug #444181

  19 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Add json-glib and libgdata to gnome-3.6 mask.

  19 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Add pango, pangox-compat, libgweather to gnome-3.6 mask.

  18 Dec 2012; Gilles Dartiguelongue <eva@gentoo.org> package.mask:
  Add dev-libs/folks-0.8 to Gnome 3.6 mask.

  18 Dec 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Remove www-client/opera-12.12* mask.

  18 Dec 2012; Mike Frysinger <vapier@gentoo.org> license_groups:
  Change google-talkplugin to Google-TOS to match licenses/ rename.

  17 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Add gnome-system-log-3.6 to gnome-3.6 mask (bug #447476).

  17 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Add gdl-3.6 to gnome-3.6 mask.

  16 Dec 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add boehm-gc, libmng, and openafs-krb5-a to MISC-FREE license group.

  15 Dec 2012; Michał Górny <mgorny@gentoo.org> use.desc:
  Make USE=systemd a global USE flag.

  15 Dec 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  bestcrypt was bumped fixing build problems

  15 Dec 2012; Michael Pagano <mpagano@gentoo.org> package.mask:
  Fix typo

  15 Dec 2012; Michael Pagano <mpagano@gentoo.org> package.mask:
  Mask portpeek-2.1.2 for testing

  14 Dec 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add BSD-with-attribution, IJG, and regexp-UofT to MISC-FREE license group.

  14 Dec 2012; Michał Górny <mgorny@gentoo.org> use.desc:
  Split the USE=upnp to port mapping- and a/v-specific flags, as discussed
  on the ml in September.

  14 Dec 2012; Michał Górny <mgorny@gentoo.org> package.mask:
  Unmask the python-utils-r1 Python ebuilds.

  14 Dec 2012; Andrey Grozin <grozin@gentoo.org> package.mask:
  Masked >=dev-lisp/gentoo-init-1.0, >=dev-lisp/asdf-2.26, >=dev-lisp/sbcl-1.1.2 for testing

  14 Dec 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add Ispell license to MISC-FREE license group, bug 445304.

  13 Dec 2012; Sébastien Fabbro <bicatali@gentoo.org> package.mask:
  Masked sci-astronomy/sextractor and sci-astronomy/scamp for removal

  13 Dec 2012; Justin Lecher <jlec@gentoo.org> base/package.use.mask,
  package.mask:
  Mask sci-libs/(lapack/blas)-altas, #372323

  13 Dec 2012; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Unmask sys-cluster/ploop and sys-cluster/vzctl

  12 Dec 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Fix www-client/opera-12.12 mask.

  12 Dec 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add psutils to MISC-FREE license group, bug 440938.

  12 Dec 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Unmask icu-50, things should be fixed now.

  11 Dec 2012; Fabian Groffen <grobian@gentoo.org> package.mask:
  Drop e-uae mask, all bugs have been fixed

  10 Dec 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add libtiff to MISC-FREE license group, bug 445934.

  10 Dec 2012; Hans de Graaff <graaff@gentoo.org> updates/4Q-2012:
  pkgmove dev-ruby/ruby-bsearch dev-ruby/bsearch

  10 Dec 2012; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Mask new vzctl and ploop until all deps will be fixed

  09 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Another gtkmm typo (wrong slot).

  09 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Typo in gtkmm version.

  09 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Flesh out gnome-3.6 mask in preparation for moving 3.6 to portage.

  09 Dec 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Remove stupid mask.

  09 Dec 2012; Lars Wendler <polynomial-c@gentoo.org> package.mask:
  Masked =sys-apps/hwids-20121208.5 due to broken install target in Makefile
  (bug #446576)

  09 Dec 2012; Markos Chandras <hwoarang@gentoo.org> license_groups:
  Add CeCILL-C to MISC-FREE

  09 Dec 2012; Anthony G. Basile <blueness@gentoo.org> profiles.desc:
  Add hardened/linux/uclibc/arm/armv7a to profiles.desc list

  08 Dec 2012; Michał Górny <mgorny@gentoo.org> package.mask:
  Unmask the new versions of npapi-sdk.

  08 Dec 2012; Tomáš Chvátal <scarabeus@gentoo.org>
  arch/powerpc/package.use.mask:
  Unmask libsbsms on ppc and ppc64 agan as it works now.

  08 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> updates/4Q-2012:
  Slotmove farstream-0.1.x from 0 to 0.1

  07 Dec 2012; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask experimental xdm fix for testing.

  07 Dec 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add docbook to MISC-FREE license group, bug 446352.

  06 Dec 2012; Sergei Trofimovich <slyfox@gentoo.org> package.mask:
  Mask dev-haskell/time for removal (ghc-6.12+ core library).

  06 Dec 2012; Sergei Trofimovich <slyfox@gentoo.org> package.mask:
  Removed 'dev-haskell/hdoc' mask.

  06 Dec 2012; Mike Frysinger <vapier@gentoo.org> profiles.desc:
  Add x32 profile so eselect can find it.

  05 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  targets/desktop/gnome/package.use:
  Use pulseaudio instead of gstreamer in spice-gtk in gnome by default.

  05 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Mask claws-mail-geolocation, libchamplain:0.8, clutter-gtk:0.10 for removal
  (bug #435164).

  05 Dec 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add tcltk to MISC-FREE license group, bug 445468.

  05 Dec 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Remove temp Qt 4.8.4 mask

  05 Dec 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  temp bump mask for Qt 4.8.4

  04 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Add gstreamermm-0.10.11 to gnome-3.6 mask (bug #445706).

  03 Dec 2012; Zac Medico <zmedico@gentoo.org> info_vars:
  Remove LINGUAS from info_vars for bug #445858 (it still shows via
  USE/USE_EXPAND).

  03 Dec 2012; Bernard Cafarelli <voyageur@gentoo.org> package.mask:
  Mask release candidates for sys-devel/llvm-3.2 and friends

  02 Dec 2012; Gilles Dartiguelongue <eva@gentoo.org> package.mask:
  Drop gstreamer:0.10 mask, everything is now in tree.

  02 Dec 2012; Sebastian Pipping <sping@gentoo.org> package.mask:
  Keep dvd95 since bug #402669 is now fixed

  02 Dec 2012; Michał Górny <mgorny@gentoo.org> package.mask:
  Add new jython to the python-r1 package mask.

  02 Dec 2012; Samuli Suominen <ssuominen@gentoo.org> license_groups:
  Include SSLeay license in the MISC-FREE group wrt #445560, Comment #2 by
  Ulrich Müller

  01 Dec 2012; Diego E. Pettenò <flameeyes@gentoo.org>
  arch/amd64/no-multilib/package.mask, features/64bit-native/package.mask:
  Unmask newer versions of hpacucli since it's now available as an amd64
  package as well.

  01 Dec 2012; Gilles Dartiguelongue <eva@gentoo.org> use.desc:
  Add introspection to global use flags.

  01 Dec 2012; Michał Górny <mgorny@gentoo.org> package.mask:
  Add new pypy ebuilds to the python-r1 package mask.

  30 Nov 2012; Christoph Junghans <ottxor@gentoo.org> package.mask:
  masked sci-libs/openmm

  30 Nov 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Improve mask message for linux-wlan-ng (thanks to Petteri Räty for providing
  it)

  30 Nov 2012; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask the cleaned up (-r1) Python ebuilds for testing.

  29 Nov 2012; Magnus Granberg <zorry@gentoo.org>
  hardened/linux/amd64/package.use.mask, hardened/linux/x86/package.use.mask:
  Mask nvidia on app-admin/conky. (bug #444786)

  29 Nov 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Unmask net-wireless/rfswitch since it's building again.

  28 Nov 2012; Robin H. Johnson <robbat2@gentoo.org> package.mask:
  Remove localshell pmask.

  27 Nov 2012; Sebastian Pipping <sping@gentoo.org> package.mask:
  Mask app-admin/profiler for removal (bug #444332)

  27 Nov 2012; Sebastian Pipping <sping@gentoo.org> package.mask:
  Mask app-admin/smolt for removal (bug #438082)

  27 Nov 2012; Tim Harder <radhermit@gentoo.org> package.mask:
  Mask =media-libs/libsfml-2* for testing.

  27 Nov 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Add libxml2-2.9.x to gnome-3.6 mask (bug #444290).

  26 Nov 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Remove dev-libs/libnl-3.2.15 mask.

  26 Nov 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask www-client/opera-12.12.

  26 Nov 2012; Tomáš Chvátal <scarabeus@gentoo.org> use.desc:
  Describe vdpau and wayland as global useflags.

  26 Nov 2012; Sergey Popov <pinkbyte@gentoo.org>
  arch/amd64/no-multilib/package.mask, features/64bit-native/package.mask:
  Mask games-strategy/dominions2-demo on all non-multilib profiles

  26 Nov 2012; Sergey Popov <pinkbyte@gentoo.org> base/package.use.mask:
  Mask media-gfx/opencolorio[pdf]

  26 Nov 2012; Torsten Veller <tove@gentoo.org> updates/4Q-2012:
  Move app-editors/XML-XSH to app-editors/XML-XSH

  25 Nov 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Previous scilab mask entry also masks overlay versions by error

  25 Nov 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add Sleepycat to GPL-COMPATIBLE and OSI-APPROVED license groups, bug 300426.
  This replaces DB and OracleDB, remove them from both license groups.
  Add IBPP-1.1 to MISC-FREE license group, bug 444626.

  25 Nov 2012; Julian Ospald <hasufell@gentoo.org> package.mask:
  remove pmask on games-rpg/nwn-penultima since bug 394869 is actually related
  to games-rpg/nwn

  25 Nov 2012; Kacper Kowalik <xarthisius@gentoo.org> package.mask:
  Drop masks on x11-misc/bbacpi and x11-misc/bbappconf as corresponding bugs
  were fixed

  25 Nov 2012; Kacper Kowalik <xarthisius@gentoo.org> package.mask:
  Drop masks on x11-misc/bbdate, x11-misc/bbweather, x11-misc/bbsload. Blocking
  bugs were fixed

  24 Nov 2012; Samuli Suominen <ssuominen@gentoo.org>
  default/linux/packages.build:
  Migrate packages.build from sys-fs/udev to virtual/udev.

  24 Nov 2012; Michał Górny <mgorny@gentoo.org>
  +desc/python_single_target.desc:
  Introduce PYTHON_SINGLE_TARGET for Python packages not supporting multiple
  Python implementations.

  24 Nov 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Include mask entries for packages going to be removed

  24 Nov 2012; Samuli Suominen <ssuominen@gentoo.org>
  targets/desktop/package.use:
  Imitate behavior of IUSE="+introspection", enabling introspection by default
  for the desktop profile.

  24 Nov 2012; Samuli Suominen <ssuominen@gentoo.org>
  targets/desktop/package.use:
  Synchronize sys-fs/udev and virtual/udev USE defaults for the desktop
  profile.

  24 Nov 2012; Gilles Dartiguelongue <eva@gentoo.org> package.mask:
  Add new d-feet to gnome 3.6 mask.

  24 Nov 2012; Richard Freeman <rich0@gentoo.org> package.mask:
  Mask live ebuild.

  24 Nov 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  dev-libs/libnl-3.2.15 breaks ABI (bug #444542).

  23 Nov 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask gdbserver for removal.

  23 Nov 2012; Richard Freeman <rich0@gentoo.org> package.mask:
  Mask mythtv 0.26 for addition to tree.

  22 Nov 2012; Sergey Popov <pinkbyte@gentoo.org>
  arch/amd64/no-multilib/package.mask:
  Remove dead packages and missing atoms, wrt bug #444181

  22 Nov 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Remove obsolete masks.

  21 Nov 2012; Anthony G. Basile <blueness@gentoo.org>
  +hardened/linux/uclibc/amd64/use.force, +hardened/linux/uclibc/arm/use.force,
  +hardened/linux/uclibc/mips/use.force, +hardened/linux/uclibc/ppc/use.force,
  +hardened/linux/uclibc/x86/use.force:
  Use force the arch flags for hardened/linux/uclibc as with regular arch
  profiles

  21 Nov 2012; Alexis Ballier <aballier@gentoo.org> updates/4Q-2012:
  move x11-libs/vdpau-video to x11-libs/libva-vdpau-driver

  21 Nov 2012; Tomáš Chvátal <scarabeus@gentoo.org>
  default/linux/package.use.mask:
  Unmask doc on mplayer2 again.

  20 Nov 2012; Christian Faulhammer <fauli@gentoo.org> updates/4Q-2012:
  move mail-client/claws-mail-spam_report to mail-client/claws-mail-spam-report

  20 Nov 2012; Christian Faulhammer <fauli@gentoo.org> updates/4Q-2012:
  move mail-client/claws-mail-tnef_parse to mail-client/claws-mail-tnef-parse

  20 Nov 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  net-im/jabberd is goine

  20 Nov 2012; Anthony G. Basile <blueness@gentoo.org>
  +hardened/linux/uclibc/arm/use.mask, +hardened/linux/uclibc/mips/use.mask,
  +hardened/linux/uclibc/x86/use.mask:
  Unmask SIMD flags on hardened/linux/uclibc/x86 and unmask arch USE flags for
  all arches

  20 Nov 2012; Anthony G. Basile <blueness@gentoo.org>
  +hardened/linux/uclibc/amd64/use.mask:
  Unmask SIMD flags on hardened/linux/uclibc/amd64

  20 Nov 2012; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Mask net-wireless/wifiscanner for removal, bug #394949

  20 Nov 2012; Magnus Granberg <zorry@gentoo.org>
  hardened/linux/amd64/package.mask, hardened/linux/amd64/package.use.mask:
  unmask >=nvidia-drivers-300.00 on amd64 but mask use X on it. Bug#433121

  18 Nov 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Unmask www-client/opera-12.11.

  18 Nov 2012; Michael Palimaka <kensington@gentoo.org> package.mask:
  Remove mask on net-libs/libwww - package removed wrt bug #320253.

  18 Nov 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  dev-vcs/svk is gone

  18 Nov 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  media-sound/audtty is gone

  18 Nov 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  net-p2p/sancho-bin removal. Bug #421971

  18 Nov 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  dev-libs/mpatrol is gone

  18 Nov 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  gnome-extra/wp_tray is gone

  18 Nov 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  sci-geosciences/qlandkarte is gone

  18 Nov 2012; Robin H. Johnson <robbat2@gentoo.org> package.mask:
  Obsolete dev-vcs/gitosis and dev-vcs/gitosis-gentoo.

  16 Nov 2012; Thomas Sachau (Tommy[D]) <tommy@gentoo.org> updates/4Q-2012:
  Move x11-libs/elementary to media-libs/elementary

  16 Nov 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add SNIA to MISC-FREE license group, bug 441924.

  16 Nov 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite metacity-python wrt #438894

  16 Nov 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Remove JamesClark from MISC-FREE license group, duplicate of MIT.
  Add UPEK-SDK-EULA to EULA license group.

  16 Nov 2012; Hans de Graaff <graaff@gentoo.org> package.mask:
  Remove mask for experimental gherkin slots, now removed from the tree.

  16 Nov 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> base/package.use.mask:
  Mask www-client/chromium system-ffmpeg USE flag (experimental).

  15 Nov 2012; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/uclibc/mips/package.mask:
  Mask app-cdr/cdrtools on hardened/linux/uclibc/mips

  15 Nov 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  base/package.use.mask:
  Mask wayland for mesa-9.0.

  15 Nov 2012; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Remove mask for app-crypt/cryptoapi, cause package is removed from tree, bug
  #438458

  15 Nov 2012; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/uclibc/mips/package.mask:
  Prefer module-init-tools to kmod or modutils on hardened/linux/uclibc/mips

  15 Nov 2012; Ole Markus With <olemarkus@gentoo.org> package.mask:
  Masking php 5.5 alphas for testing

  15 Nov 2012; Tomáš Chvátal <scarabeus@gentoo.org> package.mask:
  Update the libav mask to be correct.

  15 Nov 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask libav-9 until its reverse dependencies build; see bug #443230 for
  tracking the progress.

  14 Nov 2012; Luca Barbato <lu_zero@gentoo.org> arch/amd64/use.mask,
  arch/arm/use.mask, arch/powerpc/use.mask, arch/x86/use.mask, base/use.mask:
  Mask fdk pending keywording

  14 Nov 2012; Arun Raghavan <ford_prefect@gentoo.org>
  default/linux/package.use.mask:
  Mask systemd USE flag on media-sound/pulseaudio since systemd isn't in stable
  yet,

  14 Nov 2012; <naota@gentoo.org> package.mask:
  Unmask dropbox. Seems working.

  11 Nov 2012; Luca Barbato <lu_zero@gentoo.org> arch/alpha/package.use.mask:
  Mask fdk on alpha, pending testing

  11 Nov 2012; Mike Frysinger <vapier@gentoo.org> package.mask:
  Drop mdadm mask.

  11 Nov 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Unmask drizzle 7.2 as it fixes more than it can break.

  10 Nov 2012; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Mask net-analyzer/nbaudit wrt bug #335705

  10 Nov 2012; Mike Frysinger <vapier@gentoo.org> package.mask:
  Drop u-boot-tools mask.

  10 Nov 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Add gdk-pixbuf-2.26.5 to gnome-3.6 mask.

  10 Nov 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Mask net-libs/libsrtp-1.4.4_p20121108 for testing, bug #438756.

  09 Nov 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Unmask boost-1.52 and related libraries, everything else in the tree seems to
  be fine.

  09 Nov 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask new u-boot-tools

  09 Nov 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  update target for openocd

  09 Nov 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask source-highlight-3.1.7-r2 for the new boost layout.

  09 Nov 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask also xsd-3.3.0-r1 with the new boost.

  09 Nov 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask a revbump for libxsd-frontend to handle the new boost layout in
  1.52.0-r1.

  09 Nov 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Roll chromium package masks (24 -> 25).

  08 Nov 2012; Tony Vroon <chainsaw@gentoo.org> package.mask:
  Remove Asterisk 11 branch mask; the second release is out and initial tests
  have been very positive.

  08 Nov 2012; Víctor Ostorga <vostorga@gentoo.org> thirdpartymirrors:
  Updating samba mirrors list

  08 Nov 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask avr-libc together with the other crossdev packages.

  08 Nov 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Collapse all the berkdb masks together.

  08 Nov 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  More packages using obsolete boost.

  08 Nov 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask older rb_libtorrent (bug #442314).

  07 Nov 2012; Alexandre Rostovtsev <tetromino@gentoo.org> updates/4Q-2012:
  Slotmove gst-rtsp-server-0.10.x to 0.10, since a gst-1.0 version is in the
  works.

  07 Nov 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask www-client/opera-12.11.

  07 Nov 2012; Justin Lecher <jlec@gentoo.org> updates/4Q-2012:
  move app-office/texmakerx app-office/texstudio; upstream renaming

  06 Nov 2012; Theo Chatzimichos <tampakrap@gentoo.org> package.mask:
  Add puppet-syntax in p.mask as well

  06 Nov 2012; Eray Aslan <eras@gentoo.org> package.mask:
  mail-mta/nbsmtp is no longer in the tree - remove mask

  05 Nov 2012; Julian Ospald <hasufell@gentoo.org> package.mask:
  torbrowser and torbrowser-profile removed

  05 Nov 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask boost 1.52 for testing.

  05 Nov 2012; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
  default/linux/packages.build:
  Added sys-apps/kmod to the packages.build too soon as the new udev version
  needs to be marked stable first. 

  05 Nov 2012; Kacper Kowalik <xarthisius@gentoo.org> package.mask:
  Drop mask on dev-util/intel-ocl-sdk as we are now using bundled boost for
  tools. Fixes bug #441824 by Neil Dökkalfar <neil@next-touch.com>

  05 Nov 2012; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
  default/linux/packages.build:
  Add sys-apps/kmod to default/linux/packages.build to fix the block with
  sys-apps/module-init-tools on the seed stage3.

  04 Nov 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Remove unused RSA-MD4, RSA-MD5, and RSA-PKCS11 licenses; replaced by RSA.

  04 Nov 2012; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  masked media-plugins/vdr-softdevice-0.5.0.20110417 for testing on bug #422605

  04 Nov 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  PBZIP2 is gone (replace by BZIP2 template); remove it from MISC-FREE license
  group. Add RSA license template to MISC-FREE.

  04 Nov 2012; Tomáš Chvátal <scarabeus@gentoo.org> package.mask:
  Mask new icu for now.

  04 Nov 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask new avidemux

  04 Nov 2012; Justin Lecher <jlec@gentoo.org> updates/4Q-2012:
  Move sci-chemistry/mmtk to sci-libs/mmtk due to duplication, #441648

  04 Nov 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask some packages that depend on the old 1.46 version of boost.

  03 Nov 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Update mask for app-benchmarks/ltp

  03 Nov 2012; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/uclibc/mips/package.mask:
  Mask unstable versions of sysvinit and coreutils on
  hardened/linux/uclibc/mips

  03 Nov 2012; Markos Chandras <hwoarang@gentoo.org> updates/4Q-2012:
  slotmove emesene from 2 to 0

  02 Nov 2012; Michał Górny <mgorny@gentoo.org> package.mask:
  Unmask new argparse after adding appropriate warnings to the ebuild.

  02 Nov 2012; Justin Lecher <jlec@gentoo.org> package.mask:
  Correct package naming syntax and month, noted by pchrist

  02 Nov 2012; Justin Lecher <jlec@gentoo.org> package.mask:
  Mask old version to be able to move to new versioning schema

  02 Nov 2012; Ulrich Müller <ulm@gentoo.org> package.mask:
  Update mask for app-editors/emacs-vcs live ebuilds.

  02 Nov 2012; Robin H. Johnson <robbat2@gentoo.org> package.mask:
  MySQL 5.5 release time.

  01 Nov 2012; Robin H. Johnson <robbat2@gentoo.org>
  arch/alpha/package.use.mask, arch/arm/package.use.mask,
  arch/hppa/package.use.mask, arch/ia64/package.use.mask,
  arch/powerpc/package.use.mask, arch/sparc/package.use.mask:
  package.use.mask tcmalloc/jemalloc/systemtap for MySQL on arches that are
  lagging keywording per bugs 351931, 429710, 429708.

  01 Nov 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add RSA-PKCS11 to MISC-FREE license group, bug 440752.

  01 Nov 2012; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask ocaml-4

  01 Nov 2012; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask dev-ml/ocamlduce

  01 Nov 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  New DEPRECATED license group, bug 440638.

  01 Nov 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Unmask boost 1.50/1.51 to comply with glibc-2.16, as well as GnuTLS 3; keep
  libtasn1-3 masked, and give more details on the reason.

  31 Oct 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask x11-apps/grandr for removal.

  31 Oct 2012; Julian Ospald <hasufell@gentoo.org> package.mask:
  mask broken pornview

  31 Oct 2012; Diego E. Pettenò <flameeyes@gentoo.org> updates/4Q-2012:
  Slotmove all boost and boost-build to slot 0.

  30 Oct 2012; Gilles Dartiguelongue <eva@gentoo.org> package.mask:
  Add dev-cpp/gstreamermm to gstreamer-0.10.36 mask.

  30 Oct 2012; Anthony G. Basile <blueness@gentoo.org>
  arch/powerpc/ppc64/package.use.mask:
  Mask new-login on x11-misc/xscreensaver for ppc64, bug #439146


  30 Oct 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask libtasn1 together with GnuTLS 3.

  30 Oct 2012; Sébastien Fabbro <bicatali@gentoo.org> package.mask:
  Mask only sys-fs/redirfs live version

  30 Oct 2012; <naota@gentoo.org> package.mask:
  Mask =net-misc/dropbox-1.4.17 for testing.

  30 Oct 2012; Tony Vroon <chainsaw@gentoo.org> package.mask:
  Mask 11.0.0 release due to the amount of work needed to build. Release is
  suspect and will need additional testing.

  29 Oct 2012; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask the newer virtual for argparse as well.

  29 Oct 2012; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask PYTHON_TARGETS-aware argparse until packages use the virtual.

  29 Oct 2012; Ben de Groot <yngwin@gentoo.org>
  arch/amd64/no-multilib/package.mask:
  media-sound/aucdtect needs multilib on amd64 (x86-compat)

  29 Oct 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Mask new quiterss version, needs update of unbundle-sqlite patch

  29 Oct 2012; Michał Górny <mgorny@gentoo.org> desc/python_targets.desc:
  Remove traces of pypy1.7, no longer in the tree and not supported
  by the eclasses.

  28 Oct 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Unmask libgphoto2-2.5.x since all blockers for bug #426602 have been resolved.

  28 Oct 2012; Sergei Trofimovich <slyfox@gentoo.org> package.mask:
  Masked for removal dev-haskell/hdoc.

  27 Oct 2012; Ulrich Müller <ulm@gentoo.org> updates/4Q-2012:
  Package move app-doc/openmotif-manual to app-doc/motif-reference-manual,
  bug 439910.

  27 Oct 2012; Anthony G. Basile <blueness@gentoo.org> profiles.desc:
  make hardened/linux/uclibc/{amd64,x86} public

  25 Oct 2012; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/uclibc/packages.build:
  Add pkgconfig to packages.build for hardened/linux/uclibc

  25 Oct 2012; Gilles Dartiguelongue <eva@gentoo.org> package.mask:
  Add rygel to gstreamer mask.

  25 Oct 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Update boost mask for 1.51.

  25 Oct 2012; Gilles Dartiguelongue <eva@gentoo.org> package.mask:
  Add mask for new rhythmbox.

  25 Oct 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask >=app-mobilephone/obexd-0.47 as recommended in distributor-list at gnome
  dot org due unexpected API changes.

  25 Oct 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Remove pf-sources that are affected by the ext4 bug

  25 Oct 2012; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/uclibc/make.defaults, hardened/linux/uclibc/use.mask:
  Remove redundant default USE flags for hardened/linux/uclibc profiles

  24 Oct 2012; Alex Alexander <wired@gentoo.org> package.mask:
  (re-)masked pf-sources-3.6.{3,4} due to ext4 data loss regression, bug
  #439502

  24 Oct 2012; Ulrich Müller <ulm@gentoo.org> updates/4Q-2012:
  Package move x11-libs/openmotif to x11-libs/motif.

  24 Oct 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Remove temp mask for razorqt-0.5.1

  24 Oct 2012; Eray Aslan <eras@gentoo.org> package.mask:
  Mask experimental =mail-client/squirrelmail-1.4.23*

  24 Oct 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Temp mask of new razorqt-0.5.1 release

  23 Oct 2012; Magnus Granberg <zorry@gentoo.org> hardened/linux/use.mask:
  mask orc use flag for it is jit.

  23 Oct 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Temporarily mask new pidgin-otr next to new libotr.

  23 Oct 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Expand gstreamer-0.10.36 mask.

  23 Oct 2012; Jeroen Roovers <jer@gentoo.org> profiles.desc:
  Remove deprecated desktop profiles.

  22 Oct 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  targets/desktop/package.use:
  remove wine[udisks] from targets/desktop/package.use since udisks is in USE
  in targets/desktop/make.defaults. Thanks to Samuli Suominen.

  22 Oct 2012; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Mask net-misc/libteam snapshot ebuilds until release

  22 Oct 2012; Samuli Suominen <ssuominen@gentoo.org>
  targets/desktop/package.use:
  Change sys-fs/udev default USE flags in a way that USE="extras" is only
  enabled for <sys-fs/udev-171.

  21 Oct 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Temporary mask to allow gradual addition of gstreamer-0.10.36 and its
  numerous plugins. Will be removed once all compatible plugins are in place.

  20 Oct 2012; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/uclibc/packages.build:
  Reduce packages.build for hardened/linux/uclibc profiles

  20 Oct 2012; Jeroen Roovers <jer@gentoo.org> thirdpartymirrors:
  Remove one faulty Opera mirror.

  20 Oct 2012; Ben de Groot <yngwin@gentoo.org> updates/4Q-2012:
  Move x11-wm/razorqt and x11-misc/lightdm-razorqt-greeter to new locations in
  razorqt-base category

  20 Oct 2012; Anthony G. Basile <blueness@gentoo.org>
  +hardened/linux/uclibc/packages.build:
  Add packages.build for hardened/linux/uclibc profiles

  19 Oct 2012; Michael Palimaka <kensington@gentoo.org> package.mask:
  Mask =net-libs/libotr-4.0.0 due to breakage.

  18 Oct 2012; Alexis Ballier <aballier@gentoo.org> profiles.desc:
  Advertise (very) experimental FreeBSD 9.1 profile with clang as system
  compiler. Do not expect it to work yet, but help in getting it done is
  welcome :).

  18 Oct 2012; Justin Lecher <jlec@gentoo.org> package.mask:
  Remove entry of dropped package

  18 Oct 2012; Michael Palimaka <kensington@gentoo.org> package.mask:
  Mask net-libs/libwww for removal.

  16 Oct 2012; Patrick Lauer <patrick@gentoo.org> package.mask:
  Masking www-apache/mod_cplusplus

  15 Oct 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  arch/amd64-fbsd/make.defaults, arch/amd64/make.defaults,
  arch/x86-fbsd/make.defaults, arch/x86/make.defaults,
  hardened/linux/x86/make.defaults:
  Remove neomagic from default VIDEO_CARDS as it is no longer useful with
  current xorg-server.

  15 Oct 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Remove temp razorqt mask

  15 Oct 2012; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Mask app-crypt/cryptoapi

  15 Oct 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Temp mask for committing razorqt 0.5.0

  15 Oct 2012; Ben de Groot <yngwin@gentoo.org> categories:
  Add razorqt-base category

  15 Oct 2012; Tim Harder <radhermit@gentoo.org> package.mask:
  Mask =media-libs/libraw-0.15* development releases.

  14 Oct 2012; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Unmask net-analyzer/fragroute, cause all of it's dependencies are also
  unmasked now

  14 Oct 2012; Andreas K. Huettel <dilfridge@gentoo.org> updates/4Q-2012:
  Move media-libs/libmediawiki to net-libs

  14 Oct 2012; Michał Górny <mgorny@gentoo.org> base/package.use.force:
  Force-enable all Python implementations for python-exec.

  14 Oct 2012; Markos Chandras <hwoarang@gentoo.org>
  -default/linux/amd64/10.0/server/profile.bashrc:
  Get rid of the ewarn message for the amd64/10.0/server profile

  13 Oct 2012; <naota@gentoo.org> package.mask:
  Mask unstable ibus which depend on newer dconf.

  12 Oct 2012; Patrick Lauer <patrick@gentoo.org> package.mask:
  Removing apache 2.4 mask

  11 Oct 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask live ebuild for dev-libs/libg15.

  11 Oct 2012; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Mask newer fragroute

  10 Oct 2012; Ulrich Müller <ulm@gentoo.org> package.mask:
  Mask app-emacs/tamago for removal, bug 338535.

  10 Oct 2012; Anthony G. Basile <blueness@gentoo.org>
  arch/mips/package.use.mask, arch/powerpc/package.use.mask:
  Mask USE=sbsms on media-sound/audacity for mips ppc ppc64, bug #436020

  10 Oct 2012; Patrick Lauer <patrick@gentoo.org> package.mask:
  Fixing mono mask

  08 Oct 2012; Robin H. Johnson <robbat2@gentoo.org> package.mask:
  Mask db-5.3 until ready.

  08 Oct 2012; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/uclibc/amd64/make.defaults,
  hardened/linux/uclibc/make.defaults,
  hardened/linux/uclibc/mips/make.defaults,
  hardened/linux/uclibc/mips/mipsel/make.defaults,
  hardened/linux/uclibc/ppc/make.defaults,
  hardened/linux/uclibc/x86/make.defaults:
  Restructure hardened/linux/uclibc profiles

  08 Oct 2012; Mike Gilbert <floppym@gentoo.org> desc/python_targets.desc:
  Add python3_3.

  07 Oct 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org>
  +arch/amd64/x32/package.mask, +arch/amd64/x32/package.use.mask:
  Mask dev-lang/v8 and reverse dependencies on x32, bug #423815.

  07 Oct 2012; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/uclibc/use.force:
  use.force USE=uclibc on hardened/linux/uclibc profiles

  07 Oct 2012; Ulrich Müller <ulm@gentoo.org> updates/4Q-2012:
  Package move yudit from app-text to app-editors.

  07 Oct 2012; Eray Aslan <eras@gentoo.org> package.mask:
  Mask mail-client/pine for removal

  07 Oct 2012; Anthony G. Basile <blueness@gentoo.org>
  +hardened/linux/uclibc/amd64/package.mask:
  Mask all app-emulation/emul-linux-x86-* on hardened/linux/uclibc/amd64

  07 Oct 2012; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/uclibc/amd64/make.defaults,
  hardened/linux/uclibc/arm/armv4/make.defaults,
  hardened/linux/uclibc/arm/armv4t/make.defaults,
  hardened/linux/uclibc/arm/armv5te/make.defaults,
  hardened/linux/uclibc/arm/armv6j/make.defaults,
  hardened/linux/uclibc/arm/armv7a/make.defaults,
  hardened/linux/uclibc/arm/make.defaults, hardened/linux/uclibc/make.defaults,
  hardened/linux/uclibc/mips/make.defaults,
  hardened/linux/uclibc/mips/mipsel/make.defaults,
  hardened/linux/uclibc/mips/package.mask, hardened/linux/uclibc/package.mask,
  hardened/linux/uclibc/package.use, hardened/linux/uclibc/packages,
  hardened/linux/uclibc/ppc/make.defaults,
  hardened/linux/uclibc/ppc/package.use.mask, hardened/linux/uclibc/use.force,
  hardened/linux/uclibc/use.mask, hardened/linux/uclibc/x86/make.defaults:
  Add copyright headers to profiles/hardened/linux/uclibc

  06 Oct 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add htmlc (the INRIA license) to MISC-FREE license group.
  Add metapackage non-license to GPL-COMPATIBLE license group; this is really
  a subcategory of public-domain which has been approved by the FSF.

  06 Oct 2012; Eray Aslan <eras@gentoo.org> package.mask:
  Mask mail-mta/nbsmtp for removal

  06 Oct 2012; Stefan Briesenick <sbriesen@gentoo.org> package.mask:
  masked only =www-apache/mod_musicindex-1.3.5 instead of all

  06 Oct 2012; Justin Lecher <jlec@gentoo.org> +updates/4Q-2012:
  Renaming sci-geosciences/gpxviewer to sci-geosciences/gpx-viewer to fit
  upstream naming

  06 Oct 2012; <naota@gentoo.org> package.mask:
  Mask app-i18n/ibus-table-{array30,cangjie,cantonese,xingma,yinma} for
  removal. They should be replaced by ibus-table-chinese.

  04 Oct 2012; Hanno Boeck <hanno@gentoo.org> license_groups:
  Re-add as-is to MISC-FREE - all packages having as-is that are not free
  software should be considered as bugs.

  03 Oct 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add TeX-other-free to MISC-FREE license group, bug 436698.
  Add SVFL to MISC-FREE license group. Remove as-is from GPL-COMPATIBLE and
  OSI-APPROVED license groups; it should never have been added to them.

  02 Oct 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Update dev channel mask for beta release of chromium-23.

  02 Oct 2012; Mike Frysinger <vapier@gentoo.org> package.mask:
  Drop mediatomb mask as the bugs are fixed.

  30 Sep 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Remove masks from removed packages.

  30 Sep 2012; Hans de Graaff <graaff@gentoo.org> updates/3Q-2012:
  Slotmove dev-ruby/trollop-2.0 to a separate SLOT, bug 436344.

  30 Sep 2012; Diego E. Pettenò <flameeyes@gentoo.org> arch/amd64/use.mask,
  arch/arm/use.mask, arch/hppa/use.mask, arch/ia64/use.mask,
  arch/powerpc/package.use.mask, arch/sparc/use.mask, arch/x86/use.mask,
  base/use.mask:
  Mask oracle USe flag globally at base level and unmask for amd64/x86. This is
  required for me to commit freeradius without dropping ppc keyword.

  29 Sep 2012; Kacper Kowalik <xarthisius@gentoo.org> package.mask:
  Drop mask on sys-cluster/glusterfs-3.3.0

  29 Sep 2012; Anthony G. Basile <blueness@gentoo.org>
  arch/powerpc/package.use.mask:
  Mask media-libs/openimageio[tbb] for ppc ppc64

  28 Sep 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> base/package.use.mask:
  Mask www-client/chromium[tcmalloc], bug #413637.

  28 Sep 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add libpng, rc, and xtrs to MISC-FREE license group.

  27 Sep 2012; Ralph Sennhauser <sera@gentoo.org> package.mask:
  Drop mask for javacc-5.0. #315557

  27 Sep 2012; Sergey Popov <pinkbyte@gentoo.org>
  arch/amd64/no-multilib/package.mask, features/64bit-native/package.mask:
  games-strategy/spaz can not run on amd64 non-multilib profiles, so masking it
  on them

  26 Sep 2012; Samuli Suominen <ssuominen@gentoo.org>
  targets/desktop/package.use:
  gnome-base/gvfs was dummy revision bumped from 1.12.3 to 1.12.3-r1 to change
  temporarily UDisks2 default to UDisks1 default wrt #427544

  26 Sep 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add JOVE and YaTeX to MISC-FREE license group.

  25 Sep 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite net-misc/mediatomb and www-apache/mod_musicindex

  25 Sep 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Add at-spi2-* to gnome-3.6 mask, and unmask vte-0.34.

  25 Sep 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add man-pages to FREE-DOCUMENTS license group.

  25 Sep 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Start gnome-3.6 mask.

  25 Sep 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add HPND to OSI-APPROVED license group.

  23 Sep 2012; Ulrich Müller <ulm@gentoo.org> updates/3Q-2012:
  Slotmove app-doc/pms to 0.

  23 Sep 2012; Anthony G. Basile <blueness@gentoo.org>
  arch/powerpc/package.use.mask, arch/powerpc/ppc64/64ul/package.use.mask:
  Remove masking on USE=sendto for powerpc

  22 Sep 2012; Sergey Popov <pinkbyte@gentoo.org>
  arch/amd64/no-multilib/package.mask, features/64bit-native/package.mask:
  games-fps/serious-sam-tfe can not run on amd64 non-multilib profiles, so
  masking it on them

  21 Sep 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add GPL-1+ and LGPL-2+ to the OSI-APPROVED group.

  20 Sep 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  +features/multilib/package.use.mask, base/package.use.force,
  base/package.use.mask:
  Move media-libs/glu multilib mask to multilib profile, bug #435622.

  19 Sep 2012; Matt Turner <mattst88@gentoo.org> package.mask:
  Remove mask on glu and mesa now that the multilib USE flag has been forced
  off and masked.

  19 Sep 2012; Sergey Popov <pinkbyte@gentoo.org>
  arch/amd64/no-multilib/package.mask, features/64bit-native/package.mask:
  games-fps/serious-sam-tse can not run on amd64 non-multilib profiles, so
  masking it on them

  19 Sep 2012; Alexis Ballier <aballier@gentoo.org> profiles.desc:
  restore sparc-fbsd profile otherwise repoman outputs warning on packages that
  still have sparc-fbsd keywords

  19 Sep 2012; Alexis Ballier <aballier@gentoo.org> profiles.desc:
  remove fbsd 8.2 from profiles.desc, 8.2 is EOL, bug #435500 by Yuta SATOH

  19 Sep 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Unmask qt-creator 2.6 beta, it works fine.

  19 Sep 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask drizzle 7.2 for testing.

  18 Sep 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask glu and mesa without glu, bug #433880.

  18 Sep 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Clean mask entries.

  17 Sep 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add "or any later version" variant of GNU licenses to license groups.

  17 Sep 2012; Anthony G. Basile <blueness@gentoo.org>
  -hardened/linux/uclibc/package.accept_keywords:
  Remove package.accept_keywords from hardened uclibc profiles, bug #434568

  16 Sep 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add md2k7-asyouwish to MISC-FREE license group, bug 435004.

  16 Sep 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Clean mask entries.

  16 Sep 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask some packages for treecleaning.

  16 Sep 2012; Alexandre Rostovtsev <tetromino@gentoo.org> updates/3Q-2012:
  Slotmove grilo-0.1.x to match pkgconfig name, in preparation for grilo-0.2.

  15 Sep 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask newer gtkam versions due gphoto-2.5 requirement.

  14 Sep 2012; Ulrich Müller <ulm@gentoo.org> package.mask:
  app-admin/eselect-1.3.2 is gone.

  14 Sep 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Remove Qt 4.8.3 mask

  14 Sep 2012; Vlastimil Babka <caster@gentoo.org> package.mask:
  Add missing hash to comment, bug #435014.

  14 Sep 2012; Ulrich Müller <ulm@gentoo.org> package.mask:
  Package mask eselect-1.3.2, bug 434956.

  14 Sep 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Temp mask for testing Qt 4.8.3 release

  12 Sep 2012; Julian Ospald <hasufell@gentoo.org> package.mask:
  mask outdated security package www-client/torbrowser

  12 Sep 2012; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/uclibc/package.accept_keywords:
  Working towards fixing bug #434568

  11 Sep 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Unmask telepathy-qt-0.9.3 and KDE telepathy 0.5.0 as issues with test use
  flags solved.

  11 Sep 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Mask new qt-creator beta.

  11 Sep 2012; Alexis Ballier <aballier@gentoo.org> profiles.desc:
  advertise fbsd 9.1 profiles

  11 Sep 2012; Alexis Ballier <aballier@gentoo.org> profiles.desc:
  bring back amd64-fbsd profile to its normal status, got broken in previous
  commit to this file

  10 Sep 2012; Patrick Lauer <patrick@gentoo.org> package.mask:
  Remove postgresql 9.2 mask

  09 Sep 2012; Samuli Suominen <ssuominen@gentoo.org> desc/xfce_plugins.desc:
  Remove description for unused xfce_plugins_logout.

  09 Sep 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Unmask gnome-3.4.

  08 Sep 2012; Mike Frysinger <vapier@gentoo.org> use.desc:
  Make USE=upnp a global.

  07 Sep 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Remove some unused licenses.

  07 Sep 2012; Mart Raudsepp <leio@gentoo.org> updates/3Q-2012:
  slotmove media-libs/gst-plugins-bad to correct 0.10 slot as its split
  packages are already; for upcoming 1.0 SLOT readiness

  07 Sep 2012; Sergei Trofimovich <slyfox@gentoo.org>
  desc/qemu_softmmu_targets.desc, desc/qemu_user_targets.desc:
  Added unicore32 and or32 (OpenRISC) as new qemu targets.

  06 Sep 2012; Michał Górny <mgorny@gentoo.org> package.mask:
  Unmask OpenCL-capable llvm & clang, the issue has been resolved.

  05 Sep 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Remove obsolete epdfview mask

  05 Sep 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite dev-util/pccts wrt #255699

  03 Sep 2012; Eray Aslan <eras@gentoo.org> package.mask:
  Unmask net-libs/libecap-0.2.0 and net-proxy/squid-3.2.1 - bug #432942

  03 Sep 2012; Vlastimil Babka <caster@gentoo.org> package.mask:
  Unmask icedtea-bin, distfiles are available.

  03 Sep 2012; Vlastimil Babka <caster@gentoo.org> package.mask:
  Temporarily mask icedtea-bin bumps due to missing distfiles #433748

  02 Sep 2012; Diego E. Pettenò <flameeyes@gentoo.org> updates/3Q-2012:
  Move dev-ruby/ruby-dbi to dev-ruby/dbi.

  01 Sep 2012; Hans de Graaff <graaff@gentoo.org> package.mask:
  Fix year typo.

  01 Sep 2012; Tim Harder <radhermit@gentoo.org> package.mask:
  Mask =media-sound/lilypond-2.17* development releases.

  30 Aug 2012; Michał Górny <mgorny@gentoo.org> use.desc:
  Change USE=adns to express general support for asynchronous DNS resolution.

  30 Aug 2012; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Unmask remaining compiz ebuilds

  30 Aug 2012; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Unmask compiz plugins

  30 Aug 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Unmask www-client/opera-12.02.

  30 Aug 2012; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Unmask emerald and emerald-themes

  28 Aug 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Append kde-telepathy-0.5.0 to tp-qt mask as it is needed as build dependency.

  28 Aug 2012; Anthony G. Basile <blueness@gentoo.org> package.mask:
  sys-apps/chpax: removed from tree. Bug #365825

  27 Aug 2012; Mike Frysinger <vapier@gentoo.org> profiles.desc:
  Add new s390x linux profile.

  27 Aug 2012; Diego E. Pettenò <flameeyes@gentoo.org> base/use.mask,
  default/linux/use.mask:
  Mask netlink USE flag on non-Linux profiles.

  27 Aug 2012; Diego E. Pettenò <flameeyes@gentoo.org> base/package.use.mask,
  default/linux/package.use.mask:
  Mask pci USE flag for net-snmp on non-Linux systems.

  27 Aug 2012; Eray Aslan <eras@gentoo.org> package.mask:
  Mask squid-3.2 until net-libs/libecap-0.2.0 is unmasked - bug #432942

  26 Aug 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask scsign for removal.

  26 Aug 2012; Tim Harder <radhermit@gentoo.org> package.mask:
  Drop old lilypond mask.

  26 Aug 2012; Christian Ruppert <idl0r@gentoo.org> package.mask:
  Unmask gitolite-3.x

  24 Aug 2012; Gilles Dartiguelongue <eva@gentoo.org> package.mask:
  Add gnome-extra/at-spi-2.4 to gnome 3.4 mask.

  23 Aug 2012; Diego E. Pettenò <flameeyes@gentoo.org> updates/3Q-2012:
  Move nagios-nrpe to just nrpe.

  23 Aug 2012; Diego E. Pettenò <flameeyes@gentoo.org> updates/3Q-2012:
  Move nagios-nsca to just nsca.

  23 Aug 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Adjust chromium dev channel mask for chromium-23.

  22 Aug 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Remove mask on freeipmi. New version is in tree.

  22 Aug 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  net-misc/snitch is gone. Bug #424349

  21 Aug 2012; Diego E. Pettenò <flameeyes@gentoo.org>
  arch/amd64-fbsd/use.mask, arch/amd64/use.mask, arch/ia64/use.mask,
  arch/powerpc/package.use.mask, arch/x86-fbsd/use.mask, arch/x86/use.mask,
  base/use.mask:
  Mask ipmi USE flag on all arches but x86/amd64/ia64.

  21 Aug 2012; Bernard Cafarelli <voyageur@gentoo.org> package.mask:
  Remove mask on gnustep-libs/popplerkit and gnustep-apps/vindaloo after last
  rites

  21 Aug 2012; Diego E. Pettenò <flameeyes@gentoo.org> base/package.use.mask,
  default/linux/package.use.mask:
  Mask prevent-removal USE flag on non-Linux profiles.

  20 Aug 2012; Amadeusz Żołnowski <aidecoe@gentoo.org>
  desc/dracut_modules.desc:
  Add cifs, crypt-loop and systemd to dracut_modules.

  20 Aug 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  media-gfx/gnome-scan was removed from the tree.

  19 Aug 2012; Julian Ospald <hasufell@gentoo.org> package.mask:
  mask games-strategy/glest for removal cause games-strategy/megaglest
  supersedes it

  19 Aug 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Add missing prewikka mask.

  19 Aug 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask www-apache/mod_ap2_snmp for removal.

  19 Aug 2012; Diego E. Pettenò <flameeyes@gentoo.org> base/use.mask,
  package.mask:
  Mask prelude for removal.

  18 Aug 2012; Ulrich Müller <ulm@gentoo.org> updates/3Q-2012:
  Package move iwl*-ucode from net-wireless to sys-firmware, bug 429868.

  18 Aug 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Old wine versions were removed.

  17 Aug 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask openocd rc releases

  17 Aug 2012; Diego E. Pettenò <flameeyes@gentoo.org> updates/3Q-2012:
  Move iwl6000-ucode to sys-firmware.

  16 Aug 2012; Michael Palimaka <kensington@gentoo.org> package.mask:
  Remove mask on net-misc/ssh-installkeys - package removed wrt bug #315843.

  16 Aug 2012; Diego E. Pettenò <flameeyes@gentoo.org> updates/3Q-2012:
  Prepare for first set of Ruby pkgmoves.

  15 Aug 2012; Ulrich Müller <ulm@gentoo.org> package.mask:
  Update mask for app-editors/emacs-vcs.

  15 Aug 2012; William Hubbs <williamh@gentoo.org> package.mask:
  unmask =udev-188 for bug #431534

  15 Aug 2012; Lars Wendler <polynomial-c@gentoo.org> package.mask:
  Masked =sys-fs/udev-188 because of missing patches (bug #431534).

  15 Aug 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask >www-client/opera-12.02.

  14 Aug 2012; Hans de Graaff <graaff@gentoo.org> package.mask:
  Mask old slots of dev-ruby/i18n for removal.

  14 Aug 2012; Aaron W. Swenson <titanofold@gentoo.org> package.mask:
  Mask dev-db/pgpool.

  14 Aug 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Remove app-laptop/omnibook per bug #426542

  13 Aug 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Fix mask on all revisions.

  13 Aug 2012; Tomáš Chvátal <scarabeus@gentoo.org> package.mask:
  Remove unused mask.

  13 Aug 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Add evolution-kolab to gnome-3.4 mask.

  12 Aug 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  pcmanfm+libfm rc releases are no more

  12 Aug 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  qbittorrent-3.0.0_rc* is no more

  12 Aug 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Fix sys-fs/mdadm mask (after recent revision bump of mdadm to 3.2.5-r1)

  12 Aug 2012; Samuli Suominen <ssuominen@gentoo.org>
  targets/developer/make.defaults:
  Remove "multilib-strict" from FEATURES temporarily wrt #424423

  11 Aug 2012; Michael Palimaka <kensington@gentoo.org> package.mask:
  Unmask dev-util/cccc wrt bug #430250.

  11 Aug 2012; Michał Górny <mgorny@gentoo.org> package.mask:
  Unmask systemd since it now uses external udev.

  10 Aug 2012; Tim Harder <radhermit@gentoo.org> package.mask:
  Remove mask on =mail-client/roundcube-0.8*.

  10 Aug 2012; Maxim Koltsov <maksbotan@gentoo.org> updates/3Q-2012:
  Move sys-apps/whdd to sys-block/whdd

  09 Aug 2012; Luca Barbato <lu_zero@gentoo.org> license_groups:
  Add FraunhoferFDK license

  08 Aug 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Improve epdfview mask message again

  07 Aug 2012; Michael Palimaka <kensington@gentoo.org> updates/3Q-2012:
  Move net-misc/ferm to net-firewall/ferm.

  07 Aug 2012; Alexis Ballier <aballier@gentoo.org> license_groups:
  add LGPL-2-with-linking-exception to GPL-COMPATIBLE group

  07 Aug 2012; Michael Palimaka <kensington@gentoo.org> package.mask:
  Mask dev-util/cccc for removal wrt bug #430250.

  07 Aug 2012; Michael Palimaka <kensington@gentoo.org> updates/3Q-2012:
  Move kde-misc/kdocker to x11-misc/kdocker.

  07 Aug 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Add bug numbers to epdfview message.

  07 Aug 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Remove obsolete shapelib mask

  06 Aug 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Improve epdfview mask message

  06 Aug 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Last-rite epdfview

  06 Aug 2012; Ulrich Müller <ulm@gentoo.org> updates/3Q-2012:
  Package move iwl1000-ucode from net-wireless to sys-firmware, bug 429868.

  06 Aug 2012; Tim Harder <radhermit@gentoo.org> package.mask:
  Mask =media-sound/lilypond-2.15* development releases.

  05 Aug 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Remove obsolete mask for dev-db/virtuoso-*-6.1.5.

  04 Aug 2012; Matti Bickel <mabi@gentoo.org> package.mask:
  removed www-apps/zina

  04 Aug 2012; Jeroen Roovers <jer@gentoo.org> base/package.use.mask:
  Unmask net-misc/curl USE=metalink again (bug #429334).

  03 Aug 2012; Steev Klimaszewski <steev@gentoo.org> arch/arm/package.use.mask
  Mask USE=doc-pdf on net-analyzer/wireshark for ARM

  03 Aug 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Unmask >net-analyzer/net-snmp-5.5 (bug #380299).

  02 Aug 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Temporarily mask broken shapelib

  02 Aug 2012; Eray Aslan <eras@gentoo.org> package.mask:
  Remove mask for =net-mail/dovecot-2.1.8-r1 - no longer in the tree.

  02 Aug 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask >app-admin/sysstat-10.1 (development version).

  01 Aug 2012; Hans de Graaff <graaff@gentoo.org> package.mask:
  Mask dev-ruby/spruz for removal.

  01 Aug 2012; Anthony G. Basile <blueness@gentoo.org> base/package.use.mask:
  mask USE=metalink on curl until media-libs/libmetalink-0.1.0 is committed,
  bug #429334

  31 Jul 2012; Fabian Groffen <grobian@gentoo.org> profiles.desc:
  Add Mac OS X Mountain Lion (10.8) profiles

  31 Jul 2012; Anthony G. Basile <blueness@gentoo.org> package.mask:
  Removing mask on =net-misc/curl-7.27.0, its off the tree, bug #428696

  31 Jul 2012; Julian Ospald <hasufell@gentoo.org> package.mask:
  masking =net-misc/curl-7.27.0 wrt bug #428696

  31 Jul 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask virtuoso-6.1.5 because of general brokenness

  31 Jul 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite dev-util/pkg-config-lite wrt #425292

  31 Jul 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask new freeipmi betas.

  30 Jul 2012; Benedikt Böhm <hollow@gentoo.org> desc/nginx_modules_http.desc:
  update descriptions for nginx modules

  30 Jul 2012; Ben de Groot <yngwin@gentoo.org> arch/amd64/package.use.mask,
  arch/x86/package.use.mask, base/package.use.mask:
  Useflag move lcdfilter -> infinality

  29 Jul 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Remove infinality mask

  29 Jul 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Mask infinality packages until freetype[lcdfilter] is done

  29 Jul 2012; Ben de Groot <yngwin@gentoo.org> arch/amd64/package.use.mask,
  arch/x86/package.use.mask, base/package.use.mask:
  Mask media-libs/freetype[lcdfilter] except arches that have
  fontconfig-infinality keyworded

  27 Jul 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  base/package.use, default/bsd/fbsd/make.defaults,
  default/linux/make.defaults:
  Move xorg flag from make.defaults to package.use to avoid circular dependency
  between mesa and xorg-server.

  27 Jul 2012; Matti Bickel <mabi@gentoo.org> package.mask:
  removed www-apps/phpwiki

  27 Jul 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Remove www-client/opera-12.01 mask.

  27 Jul 2012; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/uclibc/mips/package.mask:
  Mask >dev-libs/libpcre-8.30-r2 on hardened/linux/uclibc/mips, bug #427798

  27 Jul 2012; Anthony G. Basile <blueness@gentoo.org>
  +hardened/linux/uclibc/ppc/make.defaults,
  +hardened/linux/uclibc/ppc/package.use.mask,
  +hardened/linux/uclibc/ppc/parent:
  Add new hardened/linux/uclibc/ppc profiles

  27 Jul 2012; Anthony G. Basile <blueness@gentoo.org>
  +hardened/linux/uclibc/mips/make.defaults,
  +hardened/linux/uclibc/mips/package.mask, +hardened/linux/uclibc/mips/parent,
  +hardened/linux/uclibc/mipsel/make.defaults,
  +hardened/linux/uclibc/mipsel/package.mask,
  +hardened/linux/uclibc/mipsel/parent:
  Add new hardened/linux/uclibc/{mips,mipsel} profiles

  27 Jul 2012; Anthony G. Basile <blueness@gentoo.org> package.mask:
  sys-apps/chpax: Masked for removal in 30 days. Bug #365825

  26 Jul 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite x11-misc/glipper.

  26 Jul 2012; Tomáš Chvátal <scarabeus@gentoo.org> package.mask:
  Rename =app-arch/rpm-5* to app-arch/rpm5 as it is completely different
  upstream.

  26 Jul 2012; Diego E. Pettenò <flameeyes@gentoo.org> updates/3Q-2012:
  Move sys-kernel/amd-ucode to sys-firmware/amd-ucode.

  25 Jul 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Unmask xorg-server rc

  25 Jul 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Unmask x11-libs/cairo-1.12, related mesa snapshot and newer libdrm

  24 Jul 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask mesa git snapshot.

  24 Jul 2012; Matti Bickel <mabi@gentoo.org> package.mask:
  phpgroupware removed, clean up mask

  24 Jul 2012; Christian Ruppert <idl0r@gentoo.org> package.mask:
  Mask media-video/nvidia-settings-3 because of the nvidia-drivers-3* mask

  24 Jul 2012; Anthony G. Basile <blueness@gentoo.org> package.mask:
  Remove masks on sys-apps/elfix and dev-python/pypax, ready for testing

  24 Jul 2012; Tiziano Müller <dev-zero@gentoo.org> package.mask:
  p.mask net-fs/mount-cifs for bug #308067 (and others)

  23 Jul 2012; Jeremy Olexa <darkside@gentoo.org> desc/nginx_modules_http.desc:
  add limit_conn desc

  23 Jul 2012; Anthony G. Basile <blueness@gentoo.org>
  default/linux/package.use.mask:
  p.use.mask system-libs for spideroak-bin, bug #426798

  23 Jul 2012; Anthony G. Basile <blueness@gentoo.org>
  -default/linux/arm/10.0/use.mask:
  Remove use mask curl_ssl_axtls on arm, bug #419037

  22 Jul 2012; Hans de Graaff <graaff@gentoo.org> base/package.use.force:
  Match ruby virtuals use.force to reality.

  21 Jul 2012; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask OpenCL-patched llvm & clang due to segfaults. Bug #427206.

  21 Jul 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask xorg-server prerelease.

  21 Jul 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Clean mask entries

  21 Jul 2012; Johannes Huber <johu@gentoo.org> updates/3Q-2012:
  Move kde-misc/kio-upnp-ms from SLOT 0 to 4.

  21 Jul 2012; Johannes Huber <johu@gentoo.org> updates/3Q-2012:
  Move kde-misc/semantik from SLOT 0 to 4.

  21 Jul 2012; Pacho Ramos <pacho@gentoo.org> arch/ia64/package.use.mask,
  arch/sparc/package.use.mask:
  Mask connman USE for telepathy-mission-control due missing keywords.

  21 Jul 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask 2.5.x gphoto versions as they break API and apps needs to be ported.

  21 Jul 2012; Johannes Huber <johu@gentoo.org> updates/3Q-2012:
  Move kde-misc/kanyremote from SLOT 0 to 4.

  21 Jul 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask net-misc/snitch for removal. Bug #424349

  21 Jul 2012; Hans de Graaff <graaff@gentoo.org> package.mask:
  Obsolete ruby-gnome modules have been removed.

  21 Jul 2012; Hans de Graaff <graaff@gentoo.org> package.mask:
  Mask vulnerable slot of dev-ruby/mail for bug 427370.

  20 Jul 2012; Johannes Huber <johu@gentoo.org> updates/3Q-2012:
  Move kde-misc/wicd-client-kde SLOT from 0 to 4.

  20 Jul 2012; Johannes Huber <johu@gentoo.org> updates/3Q-2012:
  Move SLOT for kde-misc/kcollectd from 0 to 4.

  20 Jul 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask next Calligra rc

  20 Jul 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Unmask munin 2 since it seems to behave even better than 1.4.7.

  20 Jul 2012; Johannes Huber <johu@gentoo.org> updates/3Q-2012:
  Move kde-misc/kio-ftps from SLOT 0 to 4.

  20 Jul 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask >www-client/opera-12.01.

  20 Jul 2012; Anthony G. Basile <blueness@gentoo.org>
  +hardened/linux/uclibc/arm/armv4/make.defaults,
  +hardened/linux/uclibc/arm/armv4/parent,
  +hardened/linux/uclibc/arm/armv4t/make.defaults,
  +hardened/linux/uclibc/arm/armv4t/parent,
  +hardened/linux/uclibc/arm/armv5te/make.defaults,
  +hardened/linux/uclibc/arm/armv5te/parent,
  +hardened/linux/uclibc/arm/armv6j/make.defaults,
  +hardened/linux/uclibc/arm/armv6j/parent,
  +hardened/linux/uclibc/arm/armv7a/make.defaults,
  +hardened/linux/uclibc/arm/armv7a/parent,
  +hardened/linux/uclibc/arm/make.defaults, +hardened/linux/uclibc/arm/parent:
  Add new hardened/linux/uclibc/arm profiles

  19 Jul 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Fix my email address.

  19 Jul 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Mask media-gfx/gnome-scan for removal in 30 days (bug #421957).

  19 Jul 2012; Anthony G. Basile <blueness@gentoo.org>
  default/linux/alpha/10.0/use.mask, default/linux/ia64/10.0/use.mask,
  default/linux/sparc/10.0/use.mask:
  Use mask curl_ssl_cyassl on alpha/ia64/sparc, bug #419037

  19 Jul 2012; Ian Stakenvicius <axs@gentoo.org> package.mask:
  added old lirc ebuilds to p.mask, do not want to remove ebuilds outright as
  there may be functional regressions in newer versions

  19 Jul 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Mask obsolete <app-emulation/wine-1.4 for removal in 30 days (bug #427236).

  19 Jul 2012; Tiziano Müller <dev-zero@gentoo.org> package.mask:
  Remove obsolete mask for nginx-0.8

  19 Jul 2012; Tiziano Müller <dev-zero@gentoo.org> package.mask:
  Merge masks for celt >=0.8.1

  19 Jul 2012; Tiziano Müller <dev-zero@gentoo.org> package.mask:
  opennebula is now gone from portage

  18 Jul 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Removal of net-analyzer/honeyd (bug #333099).

  18 Jul 2012; Ralph Sennhauser <sera@gentoo.org> package.mask:
  Mask eclipse-sdk, unmaintained, multiple vulnerabilities. #351626

  18 Jul 2012; Tony Vroon <chainsaw@gentoo.org> package.mask:
  Remove =net-misc/asterisk-10.6.0 mask now that the broken ebuild has been
  removed and a functional replacement is available in the form of 10.6.1

  18 Jul 2012; Alexandre Rostovtsev <tetromino@gentoo.org> updates/3Q-2012:
  Rename net-voip/telepathy-sofiasip to net-voip/telepathy-rakia, bug #403861.

  18 Jul 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Mask telepathy-rakia-0.7.x for bug #403861 comment #7.

  17 Jul 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Update mask of >=net-libs/telepathy-qt-0.9.3.

  17 Jul 2012; Luca Barbato <lu_zero@gentoo.org> package.mask:
  Remove eselect-opengl mask

  17 Jul 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Add nacl-toolchain-newlib-0_p9093 to chromium mask.

  16 Jul 2012; Johannes Huber <johu@gentoo.org> updates/3Q-2012:
  Move kde-misc/kbstateapplet from SLOT 0 to 4.

  16 Jul 2012; Johannes Huber <johu@gentoo.org> updates/3Q-2012:
  Move kde-misc/plasma-mpd-nowplaying from SLOT 0 to 4.

  16 Jul 2012; Bernard Cafarelli <voyageur@gentoo.org> package.mask:
  Last rites for gnustep-libs/popplerkit and gnustep-apps/vindaloo

  16 Jul 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask munin 2 until ready.

  16 Jul 2012; Diego E. Pettenò <flameeyes@gentoo.org> base/package.use.mask,
  default/bsd/package.use.mask:
  Mask iconv USE flag for blender by default and unmask for BSD only.

  16 Jul 2012; Anthony G. Basile <blueness@gentoo.org>
  -default/linux/powerpc/use.mask:
  Remove ppc/ppc64 use masking on curl_ssl_axtls

  16 Jul 2012; Diego E. Pettenò <flameeyes@gentoo.org> updates/3Q-2012:
  Move blender back into single slot.

  15 Jul 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Mask broken >=net-libs/telepathy-qt-0.9.3.

  15 Jul 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  gnome-screensaver-3.4.2 is now gone from portage.

  15 Jul 2012; Torsten Veller <tove@gentoo.org> package.mask:
  Packages are gone: dev-perl/Tie-RegexpHash, net-proxy/vulture,
  dev-perl/CPAN-Mini-Phalanx, dev-perl/gimp-perl, dev-perl/XML-Sablot,
  dev-perl/Devel-Profiler, dev-perl/Cflow, dev-lang/eleven, net-im/silc-client

  15 Jul 2012; Michael Palimaka <kensington@gentoo.org> package.mask:
  Mask net-misc/ssh-installkeys for removal wrt bug #315843.

  15 Jul 2012; Johannes Huber <johu@gentoo.org> updates/3Q-2012:
  Move kde-misc/eventlist from SLOT 0 to 4.

  15 Jul 2012; Johannes Huber <johu@gentoo.org> +updates/3Q-2012:
  Move kde-misc/colibri from SLOT 0 to 4.

  14 Jul 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask pcmanfm/libfm rc releases

  14 Jul 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask app-laptop/omnibook for removal. Bug #426542, #339758

  13 Jul 2012; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask newer findlib as latest version works with ~arch ocaml and does not
  require ocaml-4

  13 Jul 2012; Ralph Sennhauser <sera@gentoo.org> package.mask:
  Mask app-misc/jbidwatcher for removal in 30 days. #235124, #298701, #421917.

  13 Jul 2012; Eray Aslan <eras@gentoo.org> package.mask:
  net-mail/dovecot-2.1.8-r1: Mask experimental patch for linking with gold

  13 Jul 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Remove dev-python/autopep8 mask, as the (minor) issue is not in that package.
  Also remove poppler-0.20 mask, as most issues are resolved.

  12 Jul 2012; Andreas K. Huettel <dilfridge@gentoo.org> use.desc:
  Improve plasma useflag description

  12 Jul 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Unmask dibbler-0.8.2

  12 Jul 2012; Ben de Groot <yngwin@gentoo.org> arch/powerpc/package.use.mask:
  Mask media-sound/picard[acoustid] on ppc until chromaprint is keyworded

  12 Jul 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask x11-proto/glproto-1.4.16 too

  11 Jul 2012; Alex Legler <a3li@gentoo.org> license_groups:
  Add Ruby-BSD license to GPL-COMPATIBLE. The license allows the alternative
  use of the 2-clause BSD license which is GPL-compatible.

  11 Jul 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Remove obsolete package.mask entries.

  11 Jul 2012; Tony Vroon <chainsaw@gentoo.org> package.mask:
  Mask =net-misc/asterisk-10.6.0 for null pointer dereferencing.

  10 Jul 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Mask gnome-extra/gnome-screensaver-3.4.2 for bug #425070.

  10 Jul 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Add missing mask on fromcvs (due to rcsparse).

  09 Jul 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add LGPL-*-with-linking-exception to GPL-COMPATIBLE license group.
  Remove LGPL-2.1-FPC because the license file has been deleted.

  09 Jul 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Update dev channel mask for chromium-22.

  09 Jul 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Remove obsolete mask for qt-4.6.

  09 Jul 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Remove obsolete mask.

  09 Jul 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Unmask google-perftools.

  09 Jul 2012; Tim Harder <radhermit@gentoo.org> package.mask:
  Unmask =media-gfx/luminance-hdr-2.3.0.

  09 Jul 2012; Bernard Cafarelli <voyageur@gentoo.org> package.mask:
  Remove mask on gnustep-apps/projectmanager and dependencies after last rites,
  bug #417357

  08 Jul 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Downgrade netkit-tftp masking to non-removal.

  08 Jul 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask netkit-ftp for removal.

  07 Jul 2012; Michael Weber <xmw@gentoo.org> package.mask:
  sci-electronics/eagle-6.2.0_beta: Masked for testing only beta (bug 424866)

  06 Jul 2012; Naohiro Aota <naota@gentoo.org> package.mask:
  Mask dev-db/pgmecab for removal.

  06 Jul 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mask boost:1.50 for testing per Arfrever.

  06 Jul 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Remove now unnecessary enigmail, replytolist and thunderbird entries.

  06 Jul 2012; Anthony G. Basile <blueness@gentoo.org>
  +hardened/linux/uclibc/amd64/make.defaults,
  +hardened/linux/uclibc/amd64/parent, +hardened/linux/uclibc/make.defaults,
  +hardened/linux/uclibc/package.accept_keywords,
  +hardened/linux/uclibc/package.mask, +hardened/linux/uclibc/package.use,
  +hardened/linux/uclibc/packages, +hardened/linux/uclibc/parent,
  +hardened/linux/uclibc/use.force, +hardened/linux/uclibc/use.mask,
  +hardened/linux/uclibc/x86/make.defaults, +hardened/linux/uclibc/x86/parent:
  Add new hardened/linux/uclibc/{amd64,x86} profiles

  06 Jul 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask google-perftools-2 (gperftools) until tested.

  05 Jul 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Remove obsolete mask of mDNSResponder

  05 Jul 2012; Michael Weber <xmw@gentoo.org> package.mask:
  sci-electronics/eagle-6.2.0: Masking for missing libpng14.so.14 (bug 424866)

  04 Jul 2012; Christoph Junghans <ottxor@gentoo.org> package.mask:
  Unmasked app-admin/eselect-awk, got tested on major archs

  04 Jul 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask,
  targets/desktop/make.defaults, updates/1Q-2008:
  Remove obsolete entries to net-libs/xulrunner and USE="xulrunner" wrt #424617

  04 Jul 2012; Lars Wendler <polynomial-c@gentoo.org> package.mask:
  Removed mask for net-fs/cifs-utils-5.5 as fixed revision is now in portage.

  04 Jul 2012; Patrick Lauer <patrick@gentoo.org> package.mask:
  Masking =net-fs/cifs-utils-5.5

  02 Jul 2012; Joe Peterson <lavajoe@gentoo.org> package.mask:
  Unmask sys-fs/btrfs-progs-0.19* (see bug #420477)

  03 Jul 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Lastrite app-laptop/lenovo-sl-laptop

  03 Jul 2012; Matti Bickel <mabi@gentoo.org> package.mask:
  Lastrite www-apps/zina

  02 Jul 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite dev-python/sexy-python wrt #380193

  02 Jul 2012; Joe Peterson <lavajoe@gentoo.org> package.mask:
  Mask sys-fs/btrfs-progs-0.19*

  02 Jul 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask qbittorrent-3.0.0_rc for testing

  02 Jul 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add MPL-2.0 to GPL-COMPATIBLE and OSI-APPROVED license groups.

  30 Jun 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask sci-biology/picard (live ebuild).

  30 Jun 2012; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  media-plugins/vdr-cdda-0.1.0-r1 pmasked for removal, bug 423047 424263

  30 Jun 2012; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask new dev-ml packages now that everything should be fine

  30 Jun 2012; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask new core_extended

  30 Jun 2012; Tim Harder <radhermit@gentoo.org> package.mask:
  Mask =media-gfx/luminance-hdr-2.3.0* development releases.

  30 Jun 2012; Christian Faulhammer <fauli@gentoo.org> package.mask:
  remove temp mask for Claws Mail and plugins, bump finished

  30 Jun 2012; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask new dev-ml/core

  30 Jun 2012; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask pipebang

  30 Jun 2012; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask variantslib

  30 Jun 2012; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask pa_ounit

  30 Jun 2012; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask new sexplib

  30 Jun 2012; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask new fieldslib

  30 Jun 2012; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask new bin-prot

  30 Jun 2012; Pacho Ramos <pacho@gentoo.org> arch/ia64/package.use.mask,
  arch/sparc/package.use.mask:
  Missing keywords for connman, masking its use for gupnp then on affected
  arches.

  30 Jun 2012; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask type-conv-3.0.5

  30 Jun 2012; Christian Faulhammer <fauli@gentoo.org> package.mask:
  temp mask to bump Claws Mail and plugins

  29 Jun 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Unmask v8-3.11 early to satisfy nodejs dependency.

  29 Jun 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Add dev-ruby/rcsparse to the list of masked live ebuilds.

  29 Jun 2012; Michael Weber <xmw@gentoo.org> package.mask:
  Mask <app-admin/bcfg2-1.2.2-r1 for security, bug 424025)

  27 Jun 2012; Patrick Lauer <patrick@gentoo.org> package.mask:
  Add nodejs to v8 mask

  26 Jun 2012; Matti Bickel <mabi@gentoo.org> package.mask:
  Lastrite www-apps/phpwiki

  26 Jun 2012; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/make.defaults:
  Enable ipv6 on all hardened profiles

  26 Jun 2012; Hans de Graaff <graaff@gentoo.org> package.mask:
  Mask dev-ruby/Ruby-MemCache for removal.

  25 Jun 2012; Justin Bronder <jsbronder@gentoo.org> package.mask:
  Remove sys-cluster/lam-mpi from package.mask

  25 Jun 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite x11-misc/transset-df in favour of x11-apps/transset release 1.0.0.

  24 Jun 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  targets/desktop/package.use:
  Enable wine[udisks] for desktop users.

  24 Jun 2012; Tim Harder <radhermit@gentoo.org> package.mask:
  Mask dev-embedded/msp430-* as they're not supposed to be used without
  crossdev.

  24 Jun 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask cups live ebuild

  24 Jun 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Remove obsolete KOffice mask

  24 Jun 2012; Matti Bickel <mabi@gentoo.org> package.mask:
  Mask www-apps/phpgroupware for removal

  24 Jun 2012; Torsten Veller <tove@gentoo.org> updates/2Q-2012:
  Move Text-ParseWords from dev-perl/ to perl-core/

  24 Jun 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Remove entries for app-arch/hardlink++ and app-text/kiwix since they are no
  longer in tree.

  22 Jun 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask dev-embedded/msp430-binutils as it's not supposed to be used without
  crossdev.

  22 Jun 2012; Davide Pesavento <pesa@gentoo.org>
  arch/powerpc/package.use.mask:
  Mask mozilla and firefox3 USE flags for stable
  x11-themes/gtk-engines-qtcurve.

  21 Jun 2012; Anthony G. Basile <blueness@gentoo.org>
  +hardened/linux/arm/armv4/eapi, +hardened/linux/arm/armv4/parent,
  +hardened/linux/arm/armv4t/eapi, +hardened/linux/arm/armv4t/parent,
  +hardened/linux/arm/armv5te/eapi, +hardened/linux/arm/armv5te/parent,
  +hardened/linux/arm/armv6j/eapi, +hardened/linux/arm/armv6j/parent,
  +hardened/linux/arm/armv7a/eapi, +hardened/linux/arm/armv7a/parent,
  +hardened/linux/arm/eapi, +hardened/linux/arm/parent:
  Add hardened/linux/arm profiles

  21 Jun 2012; Maxim Koltsov <maksbotan@gentoo.org> package.mask:
  Restore mask for feboostrap-3

  21 Jun 2012; Maxim Koltsov <maksbotan@gentoo.org> package.mask:
  Unmask dev-utils/febootstrap

  20 Jun 2012; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask udev-bundling systemd versions.

  19 Jun 2012; Jeff Gardner <je_fro@gentoo.org> package.mask:
  Removing sci-chemistry/jmol and sci-libs/naga from package.mask after
  mirroring naga tarball.

  19 Jun 2012; Ian Stakenvicius <axs@gentoo.org> package.mask:
  added spidermonkey-1.8.7 to p.mask

  19 Jun 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  sci-electronics/kicad-20120119_p3256 still fetches from a live VCS. Keep
  masked.

  19 Jun 2012; Denis Dupeyron <calchan@gentoo.org> package.mask:
  Change mask on sci-electronics/kicad to >=sci-electronics/kicad-99999999
  because versions lower than that are not live.

  19 Jun 2012; Magnus Granberg <zorry@gentoo.org>
  Add -orc to make.defaults in hardened/linux profile

  18 Jun 2012; Ultrabug <ultrabug@gentoo.org> package.mask:
  Unmask gevent-1.0_beta2 with approval of xarthisius and dev-zero

  18 Jun 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask kicad (live ebuild in ~arch).

  18 Jun 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask naga and the version of jmol that uses it (live ebuild in ~arch).

  17 Jun 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Unmask sys-auth/polkit and sys-fs/udisks wrt #420269

  17 Jun 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  targets/desktop/gnome/package.use:
  Match curl's CURL_SSL defaults for pycurl to prevent block.

  17 Jun 2012; Ben de Groot <yngwin@gentoo.org> use.desc:
  Add libass global useflag

  16 Jun 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask casa-data as it's an unmasked live ebuild.

  16 Jun 2012; Torsten Veller <tove@gentoo.org> package.mask:
  Mask dev-perl/Tie-RegexpHash for removal (#421461)

  16 Jun 2012; Torsten Veller <tove@gentoo.org> package.mask:
  Mask net-proxy/vulture for removal (#310711)

  16 Jun 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  app-shells/rssh is fixed

  16 Jun 2012; Samuli Suominen <ssuominen@gentoo.org> use.desc:
  New USE flag called "postscript" to replace USE="ps" and USE="gs"

  16 Jun 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask sys-kernel/cluster-sources for removal.

  16 Jun 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask some packages for removal.

  16 Jun 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask also next calligra beta

  16 Jun 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Clean mask entries.

  16 Jun 2012; Justin Lecher <jlec@gentoo.org> arch/alpha/make.defaults,
  arch/amd64-fbsd/make.defaults, arch/amd64/make.defaults,
  arch/arm/armv4/make.defaults, arch/arm/armv4t/make.defaults,
  arch/arm/armv5te/make.defaults, arch/arm/armv6j/make.defaults,
  arch/arm/armv7a/make.defaults, arch/arm/make.defaults,
  arch/ia64/make.defaults, arch/m68k/make.defaults,
  arch/mips/mips64/multilib/make.defaults,
  arch/mips/mipsel/mips64el/multilib/make.defaults,
  arch/powerpc/ppc32/make.defaults, arch/powerpc/ppc64/make.defaults,
  arch/s390/make.defaults, arch/sh/make.defaults,
  arch/sparc-fbsd/make.defaults, arch/x86-fbsd/make.defaults,
  arch/x86/make.defaults, arch/x86/xbox/make.defaults, embedded/make.defaults,
  hardened/linux/amd64/make.defaults, hardened/linux/x86/make.defaults,
  hardened/linux/x86/minimal/make.defaults, info_vars, uclibc/make.defaults:
  Set default values of FFLAGS and FCFLAGS to profiles default CFLAGS, equally
  as CXXFLAGS handling

  16 Jun 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Update app-shells/rssh message

  16 Jun 2012; Tiziano Müller <dev-zero@gentoo.org> package.mask:
  4suite is gone

  15 Jun 2012; Anthony G. Basile <blueness@gentoo.org>
  -hardened/linux/x86/10.0/deprecated,
  -hardened/linux/x86/10.0/desktop/deprecated,
  -hardened/linux/x86/10.0/desktop/parent,
  -hardened/linux/x86/10.0/developer/deprecated,
  -hardened/linux/x86/10.0/developer/parent,
  -hardened/linux/x86/10.0/make.defaults, -hardened/linux/x86/10.0/parent,
  -hardened/linux/x86/10.0/server/deprecated,
  -hardened/linux/x86/10.0/server/parent:
  Remove ancient deprecated hardened 10.0 profiles from x86 as well

  15 Jun 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Remove libnl-3.2.10 mask.

  15 Jun 2012; Anthony G. Basile <blueness@gentoo.org>
  -hardened/linux/amd64/10.0/deprecated,
  -hardened/linux/amd64/10.0/desktop/deprecated,
  -hardened/linux/amd64/10.0/desktop/parent,
  -hardened/linux/amd64/10.0/developer/deprecated,
  -hardened/linux/amd64/10.0/developer/parent,
  -hardened/linux/amd64/10.0/no-multilib/deprecated,
  -hardened/linux/amd64/10.0/no-multilib/parent,
  -hardened/linux/amd64/10.0/parent,
  -hardened/linux/amd64/10.0/server/deprecated,
  -hardened/linux/amd64/10.0/server/parent,
  -hardened/linux/ia64/10.0/deprecated,
  -hardened/linux/ia64/10.0/desktop/deprecated,
  -hardened/linux/ia64/10.0/desktop/parent,
  -hardened/linux/ia64/10.0/developer/deprecated,
  -hardened/linux/ia64/10.0/developer/parent, -hardened/linux/ia64/10.0/parent,
  -hardened/linux/ia64/10.0/server/deprecated,
  -hardened/linux/ia64/10.0/server/parent,
  -hardened/linux/powerpc/ppc32/10.0/deprecated,
  -hardened/linux/powerpc/ppc32/10.0/desktop/deprecated,
  -hardened/linux/powerpc/ppc32/10.0/desktop/parent,
  -hardened/linux/powerpc/ppc32/10.0/developer/deprecated,
  -hardened/linux/powerpc/ppc32/10.0/developer/parent,
  -hardened/linux/powerpc/ppc32/10.0/parent,
  -hardened/linux/powerpc/ppc32/10.0/server/deprecated,
  -hardened/linux/powerpc/ppc32/10.0/server/parent,
  -hardened/linux/powerpc/ppc64/10.0/32bit-userland/deprecated,
  -hardened/linux/powerpc/ppc64/10.0/32bit-userland/desktop/deprecated,
  -hardened/linux/powerpc/ppc64/10.0/32bit-userland/desktop/parent,
  -hardened/linux/powerpc/ppc64/10.0/32bit-userland/developer/deprecated,
  -hardened/linux/powerpc/ppc64/10.0/32bit-userland/developer/parent,
  -hardened/linux/powerpc/ppc64/10.0/32bit-userland/parent,
  -hardened/linux/powerpc/ppc64/10.0/32bit-userland/server/deprecated,
  -hardened/linux/powerpc/ppc64/10.0/32bit-userland/server/parent,
  -hardened/linux/powerpc/ppc64/10.0/64bit-userland/deprecated,
  -hardened/linux/powerpc/ppc64/10.0/64bit-userland/desktop/deprecated,
  -hardened/linux/powerpc/ppc64/10.0/64bit-userland/desktop/parent,
  -hardened/linux/powerpc/ppc64/10.0/64bit-userland/developer/deprecated,
  -hardened/linux/powerpc/ppc64/10.0/64bit-userland/developer/parent,
  -hardened/linux/powerpc/ppc64/10.0/64bit-userland/parent,
  -hardened/linux/powerpc/ppc64/10.0/64bit-userland/server/deprecated,
  -hardened/linux/powerpc/ppc64/10.0/64bit-userland/server/parent,
  -hardened/linux/powerpc/ppc64/10.0/deprecated,
  -hardened/linux/powerpc/ppc64/10.0/desktop/deprecated,
  -hardened/linux/powerpc/ppc64/10.0/desktop/parent,
  -hardened/linux/powerpc/ppc64/10.0/developer/deprecated,
  -hardened/linux/powerpc/ppc64/10.0/developer/parent,
  -hardened/linux/powerpc/ppc64/10.0/parent,
  -hardened/linux/powerpc/ppc64/10.0/server/deprecated,
  -hardened/linux/powerpc/ppc64/10.0/server/parent:
  Remove ancient deprecated hardened 10.0 profiles

  15 Jun 2012; Ben de Groot <yngwin@gentoo.org> arch/alpha/package.mask,
  arch/sparc/package.mask, package.mask:
  Add qt-demo and remaining qt revdeps to qt mask

  14 Jun 2012; Samuli Suominen <ssuominen@gentoo.org> license_groups:
  Include skype-4.0.0.7-copyright in EULA and
  skype-4.0.0.7-third-party_attributions.txt in MISC-FREE.

  14 Jun 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Add dev-embedded/qvfb to qt mask

  14 Jun 2012; Anthony G. Basile <blueness@gentoo.org>
  +hardened/linux/mips/mipsel/multilib/n32/parent,
  +hardened/linux/mips/mipsel/multilib/n64/parent,
  +hardened/linux/mips/mipsel/multilib/parent,
  +hardened/linux/mips/mipsel/n32/parent,
  +hardened/linux/mips/mipsel/n64/parent, +hardened/linux/mips/mipsel/parent,
  +hardened/linux/mips/multilib/n32/parent,
  +hardened/linux/mips/multilib/n64/parent,
  +hardened/linux/mips/multilib/parent, +hardened/linux/mips/n32/parent,
  +hardened/linux/mips/n64/parent, +hardened/linux/mips/parent:
  Add hardened/linux/mips profiles

  14 Jun 2012; Samuli Suominen <ssuominen@gentoo.org> updates/2Q-2012:
  x11-libs/libPropList rename to x11-libs/libproplist

  14 Jun 2012; Tomáš Chvátal <scarabeus@gentoo.org> package.mask:
  Mask also poppler-0.20.1

  14 Jun 2012; Kacper Kowalik <xarthisius@gentoo.org> package.mask:
  Mask glusterfs-3.3.x for testing

  14 Jun 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Mask <qt-*-4.7.3, because of security vulnerabilities, bug #335730, #335734,
  #382171

  13 Jun 2012; Torsten Veller <tove@gentoo.org> package.mask:
  Unmask dev-lang/perl-5.16.0 and ExtUtils-ParseXS-3*

  13 Jun 2012; Luca Barbato <lu_zero@gentoo.org> package.mask:
  Update eselect-opengl mask

  13 Jun 2012; Michael Weber <xmw@gentoo.org> package.mask:
  Mask beta versions of sci-electronics/xcircuit for testing

  13 Jun 2012; Michael Weber <xmw@gentoo.org> package.mask:
  Mask beta versions of sci-electronics/magic for testing

  13 Jun 2012; Anthony G. Basile <blueness@gentoo.org>
  +hardened/linux/amd64/x32/parent:
  Add hardened/linux/amd64/x32 profile

  12 Jun 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Mask dev-python/{apiextractor,generatorrunner} for removal.

  10 Jun 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Unmask beta ati-drivers.

  10 Jun 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask udisks-1.98.0 too

  10 Jun 2012; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask new ocaml version

  10 Jun 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask dev-libs/libnl-3.2.10 (bug #420261).

  10 Jun 2012; Mike Gilbert <floppym@gentoo.org> desc/python_targets.desc:
  Add pypy1_9.

  09 Jun 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask polkit-0.106, ok'ed by ssuominen on IRC

  09 Jun 2012; Michael Weber <xmw@gentoo.org> package.mask:
  Masking =sys-fs/mdadm-3.2.4 and =sys-fs/mdadm-3.2.5 for bug 416081

  08 Jun 2012; Torsten Veller <tove@gentoo.org> package.mask:
  Mask dev-perl/CPAN-Mini-Phalanx for removal (#420075)

  08 Jun 2012; Torsten Veller <tove@gentoo.org> package.mask:
  Mask dev-perl/gimp-perl for removal (#249786,#331675,#420211)

  08 Jun 2012; Torsten Veller <tove@gentoo.org> package.mask:
  Mask dev-perl/XML-Sablot for removal (#420179)

  08 Jun 2012; Torsten Veller <tove@gentoo.org> package.mask:
  Mask dev-perl/Devel-Profiler for removal (#420109)

  08 Jun 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  arch/arm/use.mask, base/use.mask, desc/video_cards.desc:
  Add exynos to VIDEO_CARDS.

  08 Jun 2012; Michał Górny <mgorny@gentoo.org> package.mask:
  Remove clang-3.1-r3 mask as the ebuild was removed and replaced by -r4.

  08 Jun 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask new xf86-video-ati for libdrm dependency.

  08 Jun 2012; Bernard Cafarelli <voyageur@gentoo.org> package.mask:
  Last rites for gnustep-apps/projectmanager and dependencies, bug #417357

  07 Jun 2012; Ulrich Müller <ulm@gentoo.org> package.mask:
  Remove mask for emacs-vcs-24.0.9999 since it is gone from the tree.

  06 Jun 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Also mask beta calligra-l10n

  06 Jun 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Remove mask for app-misc/beagle and =www-client/firefox-3.6* since they are
  now removed.

  06 Jun 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite net-libs/xulrunner wrt #403415

  06 Jun 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Remove separate mask for =x11-plugins/replytolist-0.3.0 from 2007 since it's
  now in lastrite mask.

  06 Jun 2012; Jory A. Pratt <anarchy@gentoo.org> package.mask:
  Mask mail-client/thunderbird-3.1*, x11-plugins/enigmail, x11-plugins/replytolist

  06 Jun 2012; Patrick Lauer <patrick@gentoo.org> package.mask:
  Mask nginx >1.3 #411937

  06 Jun 2012; Patrick Lauer <patrick@gentoo.org> package.mask,
  thirdpartymirrors:
  Mask nginx >1.3 #411937

  05 Jun 2012; Torsten Veller <tove@gentoo.org> package.mask:
  Mask dev-lang/perl-5.16

  05 Jun 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask ati-drivers-12.6_beta

  05 Jun 2012; Luca Barbato <lu_zero@gentoo.org> package.mask:
  Prepare to use the new eselect-opengl

  05 Jun 2012; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask sys-devel/clang-3.1-r3 as it does not fix the issue while forcing
  needless rebuild.

  04 Jun 2012; Diego E. Pettenò <flameeyes@gentoo.org> updates/2Q-2012:
  Move iscan-plugin-gt-s80 to esci-interpreter-gt-s80 (which is what it is).

  04 Jun 2012; Christoph Junghans <ottxor@gentoo.org> package.mask:
  masked app-admin/eselect-awk for testing

  03 Jun 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Masking net-misc/ptrtd for removal. Bug #249112

  03 Jun 2012; Samuli Suominen <ssuominen@gentoo.org> updates/2Q-2012:
  Rename x11-themes/gtk-engines-nimbus to x11-themes/nimbus wrt #357103 by
  Jesús Guerrero

  03 Jun 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Remove emesene:0

  03 Jun 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask net-misc/mDNSResponder for removal

  02 Jun 2012; Torsten Veller <tove@gentoo.org> package.mask:
  dev-perl/IO-Moose is gone

  02 Jun 2012; Torsten Veller <tove@gentoo.org> package.mask:
  Mask dev-perl/Cflow, dev-lang/eleven and net-im/silc-client

  01 Jun 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask accidentally unmasked calligra beta again

  01 Jun 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite x11-terms/cxterm wrt #418259

  01 Jun 2012; Mike Frysinger <vapier@gentoo.org> use.desc:
  Make USE=modplug description useful.

  31 May 2012; Tomáš Chvátal <scarabeus@gentoo.org> package.mask:
  calligra is released.

  31 May 2012; Tim Harder <radhermit@gentoo.org> package.mask:
  Re-add mistakenly removed comment line.

  31 May 2012; Tim Harder <radhermit@gentoo.org> package.mask:
  Unmask >=media-video/mkvtoolnix-5.1.0.

  31 May 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Unmask sys-apps/hardened-shadow.

  31 May 2012; Fabian Groffen <grobian@gentoo.org> ChangeLog:
  Drop mask for exim release candidate, now there is a release

  31 May 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> base/use.mask,
  package.mask:
  Remove sys-auth/tcb related entries, it is removed now, bugs: #371167,
  #408647.

  30 May 2012; Christoph Junghans <ottxor@gentoo.org>
  arch/amd64/no-multilib/package.mask, features/64bit-native/package.mask:
  google-talkplugin is pure 64bit for a while

  30 May 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Remove media-sound/qsampler mask, since we now have a snapshot ebuild that
  fixes all outstanding issues

  30 May 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Drop libX11 mask.

  30 May 2012; Kacper Kowalik <xarthisius@gentoo.org> package.mask:
  Drop mask on sys-block/megacli as sources are accessible on upstream's
  webpage

  29 May 2012; Fabian Groffen <grobian@gentoo.org> ChangeLog:
  Mask upcoming exim 4.80 release candidates

  29 May 2012; Julian Ospald <hasufell@gentoo.org> updates/2Q-2012:
  move x11-misc/tudor-volumed to media-sound/tudor-volumed

  29 May 2012; Tim Harder <radhermit@gentoo.org> package.mask:
  Unmask =www-apps/mediawiki-1.19*.

  29 May 2012; Sebastian Pipping <sping@gentoo.org> desc/linguas.desc:
  Add Yiddish locale for media-gfx/gimp (bug #418053)

  28 May 2012; Kacper Kowalik <xarthisius@gentoo.org> package.mask:
  Drop mask on dev-python/xsv Removed wrt #396497

  28 May 2012; Julian Ospald <hasufell@gentoo.org> package.mask:
  =net-im/pidgin-2.10.3-r100 removed from the tree

  28 May 2012; Tomáš Chvátal <scarabeus@gentoo.org> package.mask:
  Remove no-longer needed pmask entries.

  27 May 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask KOffice for removal

  27 May 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask unreleased / alpha / beta calligra

  27 May 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask sci-electrotech-0.3 alpha release

  26 May 2012; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask ffmpeg 0.11

  26 May 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask zen-sources for removal

  26 May 2012; Tomáš Chvátal <scarabeus@gentoo.org> package.mask:
  All deps now build with mapnik-2.0 so unmask.

  26 May 2012; Anthony G. Basile <blueness@gentoo.org> updates/2Q-2012:
  Rename net-libs/axTLS to net-libs/axtls

  26 May 2012; Anthony G. Basile <blueness@gentoo.org>
  arch/amd64-fbsd/todo/package.use.mask, default/linux/alpha/10.0/use.mask,
  default/linux/arm/10.0/use.mask, default/linux/hppa/10.0/use.mask,
  default/linux/ia64/10.0/use.mask, default/linux/powerpc/use.mask,
  default/linux/sparc/10.0/use.mask:
  Change names in comments net-libs/axTLS -> net-libs/axtls

  25 May 2012; Hans de Graaff <graaff@gentoo.org> base/make.defaults:
  Add ruby19 to the default RUBY_TARGETS.

  24 May 2012; Alexis Ballier <aballier@gentoo.org> updates/2Q-2012:
  move dev-texlive/texlive-latex3 to dev-texlive/texlive-latexrecommended as
  that where it is in texlive 2011

  24 May 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Remove obsolete mask for kde-base/ksecrets, was removed with KDE SC 4.8.1.

  24 May 2012; Kacper Kowalik <xarthisius@gentoo.org> package.mask:
  Mask sys-cluster/lam-mpi for removal in 30 days

  24 May 2012; Tiziano Müller <dev-zero@gentoo.org> base/package.use.mask:
  Mask gevent USE flag for www-servers/uwsgi.

  23 May 2012; Samuli Suominen <ssuominen@gentoo.org>
  -default/linux/amd64/2008.0/deprecated,
  -default/linux/amd64/2008.0/desktop/deprecated,
  -default/linux/amd64/2008.0/desktop/parent,
  -default/linux/amd64/2008.0/developer/deprecated,
  -default/linux/amd64/2008.0/developer/parent,
  -default/linux/amd64/2008.0/no-multilib/deprecated,
  -default/linux/amd64/2008.0/no-multilib/parent,
  -default/linux/amd64/2008.0/parent,
  -default/linux/amd64/2008.0/server/deprecated,
  -default/linux/amd64/2008.0/server/parent,
  -default/linux/amd64/2008.0/server/profile.bashrc,
  -default/linux/x86/2008.0/deprecated,
  -default/linux/x86/2008.0/desktop/deprecated,
  -default/linux/x86/2008.0/desktop/parent,
  -default/linux/x86/2008.0/developer/deprecated,
  -default/linux/x86/2008.0/developer/parent, -default/linux/x86/2008.0/parent,
  -default/linux/x86/2008.0/server/deprecated,
  -default/linux/x86/2008.0/server/parent,
  -default/linux/x86/2008.0/server/profile.bashrc,
  -releases/2008.0/make.defaults, -releases/2008.0/package.mask,
  -releases/2008.0/parent:
  Remove 2008.0 also for amd64 and x86. People have had more than enough time
  to migrate.

  23 May 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask qbittorrent-3.0.0_beta releases for testing

  23 May 2012; Aaron W. Swenson <titanofold@gentoo.org> package.mask:
  Masking PostgreSQL 9.2

  23 May 2012; Patrick Lauer <patrick@gentoo.org> package.mask,
  thirdpartymirrors:
  Masking sys-block/megacli as it is unfetchable

  22 May 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Unmask chromium-20.x and corresponding v8-3.10, now in beta channel.

  22 May 2012; Anthony G. Basile <blueness@gentoo.org> updates/2Q-2012:
  Rename dev-python/Whoosh to dev-python/whoosh

  22 May 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Mask chromium-21 and corresponding v8-3.11.

  22 May 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Remove dev-python/testoob mask because it doesn't depend on dev-python/4suite
  anymore. It was always optional but forced mistakenly by the ebuild.

  22 May 2012; Michael Weber <xmw@gentoo.org> package.mask:
  mask x11-wm/parti

  22 May 2012; Ryan Hill <dirtyepic@gentoo.org> package.mask:
  Unmask GCC 4.6.

  21 May 2012; Michael Pagano <mpagano@gentoo.org> package.mask:
  Remove portpeek mask

  21 May 2012; Alexey Shvetsov <alexxy@gentoo.org> arch/alpha/package.mask,
  arch/powerpc/package.mask:
  D7 also need dev-php/pecl-apc and dev-php/pecl-uploadprogress for normal
  operation so mask >=D7-7.14 on ppc and alpha

  21 May 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Remove entry for sci-chemistry/gchemutils. See bug 388887 for reintroducing
  it back to tree.

  21 May 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Remove entry for dev-ruby/ruby-gtkmozembed because it was removed from
  portage.

  20 May 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Remove entry for app-text/chmsee since it was removed from tree. Lastrite
  app-text/kiwix (by version) wrt #412341 for using vulnerable copy of
  net-libs/xulrunner wrt #403415.

  20 May 2012; Benda Xu <heroxbd@gentoo.org> package.mask:
  mask =sci-physics/geant{-python}-4.9.5_p01 for class header breakage

  20 May 2012; Pacho Ramos <pacho@gentoo.org>
  arch/amd64/no-multilib/package.mask, features/64bit-native/package.mask:
  Mask another emul package.

  20 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  targets/desktop/gnome/package.use:
  Enable app-accessibility/speech-dispatcher[python] for orca-3.

  20 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Mask aisleriot-3.4, needs guile-2.0.5 (bug #416683).

  20 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  targets/desktop/gnome/package.use:
  Enable net-misc/spice-gtk[gtk3] for gnome for vinagre-3.4 and gnome-boxes.

  19 May 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Unmask net-im/jabberd because bug 361317 it was masked for doesn't apply
  anymore. This might be subject to change.

  19 May 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite app-arch/hardlink++ wrt #416613

  19 May 2012; Kacper Kowalik <xarthisius@gentoo.org> package.mask:
  Mask dev-python/gevent-1.0_beta2 for testing

  19 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org> use.desc:
  Add global jit USE flag per gentoo-dev discussion
  (archives.gentoo.org/gentoo-dev/msg_a84a8e21139404a1d18839f887e258ee.xml)

  18 May 2012; Alexis Ballier <aballier@gentoo.org>
  +default/bsd/fbsd/amd64/8.2/deprecated:
  deprecate default/bsd/fbsd/amd64/8.2 profile: we never had install media for
  this anyway

  18 May 2012; Alexis Ballier <aballier@gentoo.org> profiles.desc:
  remove old and deprecated fbsd profiles from profiles.desc

  18 May 2012; Amadeusz Żołnowski <aidecoe@gentoo.org>
  desc/dracut_modules.desc:
  'bootchart' added to dracut_modules.

  17 May 2012; Maciej Mrozowski <reavertm@gentoo.org> package.mask:
  Mask poppler-0.20.0

  16 May 2012; Jeroen Roovers <jer@gentoo.org> arch/hppa/package.use.mask:
  Mask USE=python3 for sys-apps/portage.

  16 May 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite 4suite, amara and testoob wrt #250930

  16 May 2012; Tiziano Müller <dev-zero@gentoo.org> updates/2Q-2012:
  pkgmove x11-misc/see -> x11-misc/seetxt

  16 May 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Remove entries for app-pda/libopensync-plugin-google-calendar which got
  dropped for using dev-python/pyxml (obsolete) wrt #367739

  15 May 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Change net-irc/bitchx mask to be per version because it's fixed in upstream
  version control.

  15 May 2012; Markos Chandras <hwoarang@gentoo.org>
  arch/hppa/package.use.mask:
  Forgot to add date on hppa package.use.mask

  15 May 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask new dibbler for testing

  15 May 2012; Markos Chandras <hwoarang@gentoo.org>
  arch/hppa/package.use.mask:
  Mask doc useflag for net-misc/dibbler for hppa

  15 May 2012; Michael Pagano <mpagano@gentoo.org> package.mask:
  Mask testing version of portpeek

  15 May 2012; Samuli Suominen <ssuominen@gentoo.org>
  targets/desktop/make.defaults, targets/desktop/package.use:
  Enable USE="udisks upower" and move USE="gdu" to package.use for
  <gnome-base/gvfs-1.12.

  15 May 2012; Alistair Bush <ali_bush@gentoo.org> package.mask:
  Add additional mono related packages to packages.mask.

  15 May 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Clean mask entry for createrepo.

  15 May 2012; Naohiro Aota <naota@gentoo.org> package.mask:
  Mask app-dicts/sumika for removal.

  14 May 2012; Julian Ospald <hasufell@gentoo.org> package.mask:
  remove mask from www-client/torbrowser (we'll handle that by keywords)

  14 May 2012; Tomáš Chvátal <scarabeus@gentoo.org> base/package.use.mask:
  Merge celt useflag for libav too.

  14 May 2012; Olivier Crête <tester@gentoo.org> package.mask:
  net-im/amsn is maintained upstream, not removing after all

  14 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Add pyatspi to gnome-3.4 mask.

  13 May 2012; Mike Frysinger <vapier@gentoo.org> package.mask:
  Drop cromwell mask as it builds now with newer gcc.

  13 May 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Unmask dmake.

  13 May 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask some packages for removal.

  13 May 2012; Julian Ospald <hasufell@gentoo.org> thirdpartymirrors:
  fix sourceforge mirror syntax again

  13 May 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Unmask x11-libs/qt-sql-4.8.1-r1, thanks to Victor <v.simankin@gmail.com> for
  testing.

  13 May 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Remove obsolete cmake mask.

  12 May 2012; Julian Ospald <hasufell@gentoo.org> package.mask:
  mask www-client/torbrowser

  12 May 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Remove =dev-libs/libnl-3.2.8 now that it is gone (bug #414317).

  12 May 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  lxpanel-0.5.8-r3 should be safe

  12 May 2012; Hans de Graaff <graaff@gentoo.org> package.mask:
  Add new slot to gherking mask.

  11 May 2012; Johannes Huber <johu@gentoo.org> updates/2Q-2012:
  Move kde-misc/kcm-gtk-config to kde-misc/kde-gtk-config.

  11 May 2012; Michał Górny <mgorny@gentoo.org> updates/2Q-2012:
  Move app-portage/eclean-kernel to app-admin/.

  11 May 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask some packages for removal.

  11 May 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Clean old entries.

  11 May 2012; Justin Lecher <jlec@gentoo.org> updates/2Q-2012:
  move dev-vcs/cola dev-vcs/git-cola

  11 May 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask packages for nouveau API break.

  10 May 2012; Mike Frysinger <vapier@gentoo.org> package.mask:
  Drop powertop mask as 2.0 has been released.

  10 May 2012; Alistair Bush <ali_bush@gentoo.org> package.mask:
  Mask mono-2.11.1 as alpha version.

  09 May 2012; Markos Chandras <hwoarang@gentoo.org> thirdpartymirrors:
  Fix sourceforge mirrors after recent updates

  09 May 2012; Sebastian Pipping <sping@gentoo.org> package.mask:
  Mask >=dev-python/autopep8-0.6

  09 May 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Remove mask for net-analyzer/argus{,clients} development branch.

  09 May 2012; Tomáš Chvátal <scarabeus@gentoo.org> updates/2Q-2012:
  Move the languagetool to new category.

  08 May 2012; Andreas K. Huettel <dilfridge@gentoo.org> categories:
  Add category app-officeext

  08 May 2012; Alexis Ballier <aballier@gentoo.org> profiles.desc:
  mark default/bsd/fbsd/amd64/9.0 profile as stable to disallow broken deps

  07 May 2012; Julian Ospald <hasufell@gentoo.org> use.desc:
  webkit is now global wrt #285743

  07 May 2012; Ulrich Müller <ulm@gentoo.org> package.mask:
  Unmask app-emacs/cedet-1.1.

  07 May 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite =www-client/firefox-3.6* because upstream discontinued security
  support for them and they are blocking net-libs/xulrunner removal wrt bug
  #403415.

  07 May 2012; Agostino Sarubbo <ago@gentoo.org> updates/2Q-2012:
  move app-mobilephone/jacksms-desktop app-mobilephone/freesmee

  07 May 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Unmask =media-sound/mp3unicode-1.2.1, as compile issue has been fixed.

  07 May 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  unmask boost-1.49.0

  07 May 2012; Ben de Groot <yngwin@gentoo.org> package.mask:
  Mask =media-sound/mp3unicode-1.2.1 for testing, bug #414907

  07 May 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Unmask rar2fs because upstream released 1.15.1 with compability for
  app-arch/unrar >= 4.2.

  07 May 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask new lxpanel for testing

  07 May 2012; Pacho Ramos <pacho@gentoo.org> arch/powerpc/package.use.mask,
  arch/sparc/package.use.mask:
  Use mask hid on arches without libhid keyworded.

  07 May 2012; Pacho Ramos <pacho@gentoo.org> desc/lcd_devices.desc:
  Add new lcd_devices.

  07 May 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite app-misc/beagle, app-misc/beagle-xesam, dev-libs/libbeagle and
  sys-fs/beaglefs wrt #339811, #372009 and #414837.

  07 May 2012; Naohiro Aota <naota@gentoo.org> package.mask:
  Revert mis-unmasked packages.

  07 May 2012; Naohiro Aota <naota@gentoo.org> package.mask:
  Mask upstream dead canna dictionary packages.

  06 May 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask broken release of dev-util/cmake wrt #414659, Comment #13.

  06 May 2012; Samuli Suominen <ssuominen@gentoo.org>
  hardened/linux/make.defaults, hardened/linux/x86/make.defaults:
  Remove last of USE="nptlonly" and USE="sysfs" wrt #405875

  06 May 2012; Raúl Porcel <armin76@gentoo.org> releases/make.defaults:
  Remove nptlonly sysfs from make.defaults, bug #405875

  06 May 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask emesene:0 for removal

  05 May 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Mask =x11-libs/qt-sql-4.8.1-r1 with oracle db support.

  05 May 2012; Tomáš Chvátal <scarabeus@gentoo.org>
  desc/libreoffice_extensions.desc:
  Fix desc.

  05 May 2012; Tomáš Chvátal <scarabeus@gentoo.org>
  desc/libreoffice_extensions.desc:
  Describe few more libreoffice extensions that can be built.

  05 May 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask sys-fs/rar2fs because it's broken with upstream release of unrar-4.2.1
  headers wrt http://code.google.com/p/rar2fs/issues/detail?id=10

  05 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Update gnome-3.4 mask in preparation for moving packages from overlay to
  gx86.

  04 May 2012; Sebastian Pipping <sping@gentoo.org> package.mask:
  Unmask Gimp 2.8 (and earlier)

  04 May 2012; Tomáš Chvátal <scarabeus@gentoo.org>
  +desc/libreoffice_extensions.desc, -desc/libreoffice_estensions.desc:
  Typos here, typos there...

  04 May 2012; Tomáš Chvátal <scarabeus@gentoo.org> base/make.defaults:
  Add the libreoffice_extensions to use expand and add sane defaults there.

  04 May 2012; Tomáš Chvátal <scarabeus@gentoo.org>
  +desc/libreoffice_estensions.desc:
  Add libreoffice_extensions desc file.

  03 May 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Drop xf86-input-synaptics mask.

  03 May 2012; Alex Legler <a3li@gentoo.org> package.mask:
  Removing horde package masks, packages are gone

  03 May 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Mask dev channel release of media-sound/mp3diags.

  02 May 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Mask media-sound/qsampler for removal.

  02 May 2012; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask libnl as per bug #414317.

  01 May 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Update cairo mask.

  01 May 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Remove obsolete mask for media-libs/tunepimp.

  30 Apr 2012; Ulrich Müller <ulm@gentoo.org> package.mask:
  Mask app-emacs/cedet-1.1 because it breaks ecb, bug 414109.

  30 Apr 2012; Samuli Suominen <ssuominen@gentoo.org>
  default/linux/package.use.mask:
  Mask USE="fam" for dev-libs/glib because we prefer native CONFIG_INOTIFY_USER
  support instead wrt #413403

  30 Apr 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  x11-themes/qgtkstyle has been treecleaned.

  29 Apr 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  net-im/twittare is gone

  29 Apr 2012; Hans de Graaff <graaff@gentoo.org> package.mask:
  Mask gherkin until the associated cucumber is ready as well.

  28 Apr 2012; Johannes Huber <johu@gentoo.org> updates/2Q-2012:
  Move app-text/focuswriter to app-editors/focuswriter wrt bug #378981.

  28 Apr 2012; Kacper Kowalik <xarthisius@gentoo.org> package.mask:
  Masked dev-python/xsv for removal wrt #396497

  28 Apr 2012; Hans de Graaff <graaff@gentoo.org> package.mask:
  Fix broken atom for facets.

  28 Apr 2012; Hans de Graaff <graaff@gentoo.org> package.mask:
  Mask dev-ruby/facets for removal.

  27 Apr 2012; Anthony G. Basile <blueness@gentoo.org> package.mask:
  Unmask net-misc/bfgminer, dependency problem fixed

  27 Apr 2012; Amadeusz Żołnowski <aidecoe@gentoo.org> license_groups:
  Added yEd-1.1 license to EULA group.

  27 Apr 2012; Aaron W. Swenson <titanofold@gentoo.org> package.mask:
  PostgreSQL 8.2 removed from tree. Mask no longer needed.

  27 Apr 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Remove AdobeFlash-11_beta from license_groups as it's gone from the tree.

  27 Apr 2012; Anthony G. Basile <blueness@gentoo.org> package.mask:
  Mask net-misc/bfgminer

  26 Apr 2012; Kacper Kowalik <xarthisius@gentoo.org>
  hardened/linux/powerpc/ppc64/32bit-userland/use.mask:
  Fix header and copy use.mask from nonhardened profile

  26 Apr 2012; Kacper Kowalik <xarthisius@gentoo.org>
  +hardened/linux/powerpc/ppc64/32bit-userland/use.force:
  Enforce ppc and -ppc64 on hardened/ppc64-32ul

  26 Apr 2012; <psomas@gentoo.org> package.mask:
  Mask sys-kernel/mm-sources for removal wrt #412189

  25 Apr 2012; Kacper Kowalik <xarthisius@gentoo.org>
  +hardened/linux/powerpc/ppc64/32bit-userland/package.mask,
  +hardened/linux/powerpc/ppc64/32bit-userland/package.use.mask:
  Mask app-admin/puppet[rrdtool] and app-misc/beagle
  due to nonsolvable dependencies

  25 Apr 2012; Kacper Kowalik <xarthisius@gentoo.org>
  hardened/linux/powerpc/ppc64/64bit-userland/use.mask:
  Mirror frei0r mask from nonhardened ppc64-64ul profile

  25 Apr 2012; Kacper Kowalik <xarthisius@gentoo.org>
  hardened/linux/powerpc/ppc64/64bit-userland/use.mask:
  Mirror hddtemp mask from nonhardened ppc64-64ul profile

  25 Apr 2012; Kacper Kowalik <xarthisius@gentoo.org>
  +hardened/linux/powerpc/ppc64/64bit-userland/package.use.mask:
  Mask app-conky[hddtemp,xmms2,apcupsd] due to unsolved dependencies

  25 Apr 2012; Alexis Ballier <aballier@gentoo.org> profiles.desc:
  advertise g/fbsd 9.0 profiles

  24 Apr 2012; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  removed pmask for bug #411959

  23 Apr 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Clean mask entries.

  23 Apr 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Remove obsolete dev-util/qt-creator mask.

  23 Apr 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Remove mask on dev-libs/icu-49, per Arfrever's request.
  www-client/chromium now has proper dependencies.

  22 Apr 2012; Robin H. Johnson <robbat2@gentoo.org> package.mask:
  Mask new slot of yaz.

  22 Apr 2012; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  masked media-plugins/vdr-pvrinput-2011.09.17 for testing on bug #411959

  22 Apr 2012; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/make.defaults:
  Remove USE=-unicode on all hardened profiles

  22 Apr 2012; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask x11-apps/xsetmode & x11-apps/xsetpointer for removal wrt bug #411999.

  22 Apr 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite app-pda/libopensync-plugin-google-calendar wrt #367739. Lastrite
  app-text/chmsee wrt #412875.

  21 Apr 2012; Torsten Veller <tove@gentoo.org> package.mask:
  Mask dev-perl/IO-Moose for removal (#356559)

  21 Apr 2012; Samuli Suominen <ssuominen@gentoo.org> updated/4Q-2011,
  updates/2Q-2012:
  Move app-text/djview4 (again) to app-text/djview (and this time
  remove app-text/djview4 directory) wrt #410025

  20 Apr 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Unmask xfce-extra/xfce4-linelight-plugin because it was patched.

  20 Apr 2012; Patrick Lauer <patrick@gentoo.org> package.mask,
  thirdpartymirrors:
  Adding mod_macro to apache 2.4 mask

  20 Apr 2012; Hans de Graaff <graaff@gentoo.org> package.mask:
  Remove coffee-rails mask since all dependencies are available now.

  20 Apr 2012; Jeff Horelick <jdhore@gentoo.org> package.mask:
  Remove mask on atheme-services as the 7.0 branch is now considered
  stable by upstream.

  20 Apr 2012; Naohiro Aota <naota@gentoo.org> package.mask:
  Unmask dev-python/compizconfig-python, x11-apps/ccsm, x11-apps/simple-ccsm
  and x11-libs/libcompizconfig

  20 Apr 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
  targets/desktop/gnome/package.use:
  Update default net-misc/curl USE flags with the new CURL_SSL use-expand for
  liboauth compatibility.

  19 Apr 2012; Jeff Horelick <jdhore@gentoo.org> package.mask:
  Remove mask on libmowgli:2 versions as libmowgli:2 is now considered
  stable by upstream

  19 Apr 2012; Alexey Shvetsov <alexxy@gentoo.org> arch/alpha/package.use.mask,
  arch/ia64/package.use.mask, arch/powerpc/package.use.mask,
  arch/sparc/package.use.mask:
  add openmpi_ofed_features_rdmacm to use mask for alpha ia64 powerpc sparc

  19 Apr 2012; Maxim Koltsov <maksbotan@gentoo.org> package.mask:
  Mask net-ftp/leechcraft-lcftp and net-p2p/leechcraft-eiskaltdcpp by
  maintainer's request

  19 Apr 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Unmask new pambase, shadow and hardened-shadow after review.

  18 Apr 2012; Alexey Shvetsov <alexxy@gentoo.org> arch/alpha/package.use.mask,
  arch/ia64/package.use.mask, arch/powerpc/package.use.mask,
  arch/sparc/package.use.mask:
  Mask new use expand on profiles with unkeyworded deps

  18 Apr 2012; Alexey Shvetsov <alexxy@gentoo.org> +desc/openmpi_fabrics.desc,
  +desc/openmpi_ofed_features.desc, +desc/openmpi_rm.desc, base/make.defaults:
  add use expands for OPENMPI_

  18 Apr 2012; Alexey Shvetsov <alexxy@gentoo.org> updates/2Q-2012:
  move sys-infiniband/openib to ofed

  18 Apr 2012; Alexey Shvetsov <alexxy@gentoo.org> desc/ofed_drivers.desc:
  Add new drivers for OFED

  18 Apr 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite sci-chemistry/gchemutils because we don't have a building version
  left in tree wrt #348231 and #388509.

  18 Apr 2012; Robin H. Johnson <robbat2@gentoo.org> package.mask:
  Fix missing mask for MariaDB 5.5.

  17 Apr 2012; Hans de Graaff <graaff@gentoo.org> package.mask:
  Mask obsolete ruby-gnome2 dependencies with no reverse dependencies in the
  tree.

  17 Apr 2012; Michał Górny <mgorny@gentoo.org> thirdpartymirrors:
  Add a mirror entry for bitbucket downloads.

  17 Apr 2012; Samuli Suominen <ssuominen@gentoo.org>
  default/linux/package.use.mask:
  Remove obsolete entry for x11-misc/spacefm and USE="fam".

  17 Apr 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Remove lastrite entries for dev-dotnet/gluezilla and www-client/galeon as
  they are gone now.

  17 Apr 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Mask new pambase, shadow, and hardened-shadow for testing and review.

  16 Apr 2012; Samuli Suominen <ssuominen@gentoo.org> updates/2Q-2012:
  Move sys-fs/bleachbit to sys-apps/bleachbit as more appropiate.

  16 Apr 2012; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  removed pmask for media-plugins/vdr-games removal

  16 Apr 2012; Pacho Ramos <pacho@gentoo.org> targets/desktop/make.defaults:
  Enable wxwidgets by default as discussed in
  http://archives.gentoo.org/gentoo-dev/msg_fdc392cc98c7eea216175521d87b9955.xm
  l

  15 Apr 2012; Anthony G. Basile <blueness@gentoo.org>
  +default/linux/alpha/10.0/use.mask, +default/linux/arm/10.0/use.mask,
  +default/linux/hppa/10.0/use.mask, +default/linux/ia64/10.0/use.mask,
  +default/linux/powerpc/use.mask, default/linux/sparc/10.0/use.mask:
  Use mask curl_ssl_axtls and curl_ssl_polarssl on various arches

  15 Apr 2012; Anthony G. Basile <blueness@gentoo.org> desc/curl_ssl.desc:
  Update descriptions of CURL_SSL USE_EXPAND flags

  15 Apr 2012; Pacho Ramos <pacho@gentoo.org> arch/powerpc/package.use.mask:
  Use mask vpx gst-plugins-meta USE for ppc*.

  14 Apr 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  desc/video_cards.desc:
  Add video_cards_radeonsi to USE_EXPAND description.

  14 Apr 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Remove duplicated mask entry for x11-themes/qgtkstyle.

  14 Apr 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Remove obsolete mask for dev-libs/soprano.

  14 Apr 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite xfce4-linelight-plugin wrt #411949

  14 Apr 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Mask sound-juicer-3.4, needs gst-plugins-flac-0.10.31 + commit 265a5bfa to
  write seekable flac files

  13 Apr 2012; Jeremy Olexa <darkside@gentoo.org> desc/nginx_modules_http.desc:
  Update nginx_modules_http.desc from local metadata.xml

  13 Apr 2012; Patrick Lauer <patrick@gentoo.org> package.mask,
  thirdpartymirrors:
  Masking apache 2.4 for now

  12 Apr 2012; Joe Peterson <lavajoe@gentoo.org> package.mask:
  Mask media-sound/squeezeboxserver for removal

  12 Apr 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Unmask glib-2.32, gtk+-3.4, and other core gnome-3.4 libraries.

  11 Apr 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Calligra 2.4 released

  11 Apr 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add ipadic license to MISC-FREE group, bug 397833.

  11 Apr 2012; Kacper Kowalik <xarthisius@gentoo.org> updates/2Q-2012:
  Slotmove media-libs/libharu from 2 to 0.

  10 Apr 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Unmask chromium-19.x, v8-3.9.x (and also nodejs-0.7). Mask chromium-20.x,
  v8-3.10.

  10 Apr 2012; Eray Aslan <eras@gentoo.org> package.mask:
  Mask mail-filter/dk-milter and mail-filter/dkim-milter for removal

  09 Apr 2012; Ulrich Müller <ulm@gentoo.org> package.mask:
  Update mask for emacs-vcs live ebuilds.

  09 Apr 2012; Christian Ruppert <idl0r@gentoo.org> package.mask:
  app-portage/portato: Masked for removal in 30 days.

  It doesn't work with recent portage version and the author has no time to fix
  it anytime soon. bug 404973.

  09 Apr 2012; Naohiro Aota <naota@gentoo.org> package.mask:
  Remove x11-wm/compiz mask.

  08 Apr 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Unmask fixed version of libcaca.

  08 Apr 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask new libcaca for now since the ebuild is not ready.

  07 Apr 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Unmask Xfce 4.10pre1 to ~arch since it's stable (enough).

  07 Apr 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Fix category for boost-build.

  07 Apr 2012; Ulrich Müller <ulm@gentoo.org> updates/4Q-2011,
  updates/2Q-2012:
  Move package moves of dev-lisp/cl-asdf and dev-lisp/cl-asdf-binary-locations
  to proper file.

  06 Apr 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Remove entries for gecko-sharp, Gtk2-MozEmbed, ntfsprogs, syncevolution
  and qtada since they got removed from tree.

  06 Apr 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Cleanup.

  06 Apr 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask calligra-2.4.0 until it is released

  06 Apr 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Fill missing dates.

  06 Apr 2012; Davide Pesavento <pesa@gentoo.org> use.desc:
  Update kde USE flag description, kde-base/kde doesn't exist anymore. Ack'ed
  by scarabeus.

  06 Apr 2012; Hans de Graaff <graaff@gentoo.org> package.mask:
  Mask parts of Rails 3.2 until the whole package is ready.

  05 Apr 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask kde-base/ksecrets as it's alpha code

  05 Apr 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mask dev-libs/icu-49 again.

  04 Apr 2012; Anthony G. Basile <blueness@gentoo.org> base/make.defaults:
  Add CURL_SSL to USE_EXPAND in base

  04 Apr 2012; Mike Gilbert <floppym@gentoo.org> info_vars:
  Add USE_PYTHON.

  04 Apr 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask >dev-libs/libevent-2.1.

  04 Apr 2012; Patrick Lauer <patrick@gentoo.org> package.mask:
  Adding nodejs to v8 mask

  03 Apr 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Unmask dev-libs/icu-49.

  03 Apr 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Remove obsolete pmask of nepomukcontroller, bug 406999

  03 Apr 2012; Matt Turner <mattst88@gentoo.org> package.mask:
  Add gnome-dvb-daemon-0.2.8 to package.mask since it needs glib-2.32.

  03 Apr 2012; Anthony G. Basile <blueness@gentoo.org> +desc/curl_ssl.desc:
  Add description of CURL_SSL USE_EXPAND flags for net-misc/curl

  03 Apr 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite media-libs/tunepimp wrt #409257

  02 Apr 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  libdlna and ushare are fixed now

  02 Apr 2012; Samuli Suominen <ssuominen@gentoo.org> +updates/2Q-2012,
  package.mask:
  Move xfce4-appfinder from xfce-extra/ to xfce-base/ for compability with Xfce
  4.10 layout.

  01 Apr 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mask the python-3 slot for dev-python/python-dateutil.

  31 Mar 2012; Olivier Crête <tester@gentoo.org> package.mask:
  Add farstream port of pidgin to p.mask

  31 Mar 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Mask sys-auth/tcb for removal.

  30 Mar 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  mask x11-themes/qgtkstyle for removal

  29 Mar 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask twittare for removal. Bug #379277

  29 Mar 2012; Mike Gilbert <floppym@gentoo.org> desc/linguas.desc:
  Add sco - Scots locale.

  29 Mar 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  desc/video_cards.desc:
  Add omap to VIDEO_CARDS, adjust description to distinguish between omap and
  omapfb.

  29 Mar 2012; Christoph Junghans <ottxor@gentoo.org> package.mask:
  fftw-3.3.1 released

  28 Mar 2012; Alex Legler <a3li@gentoo.org> package.mask:
  Mask various horde ebuilds for removal

  28 Mar 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  www-client/arora is gone from the tree.

  28 Mar 2012; Aaron W. Swenson <titanofold@gentoo.org> package.mask:
  Remove dev-db/pgaccess mask. Package removed from tree.

  28 Mar 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Unmask networkmanger-0.9.4 (appears to work fine with gnome-3.2) and add more
  packages to gnome-3.4 mask.

  27 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask sys-fs/udisks >= 1.90.0 for testing.

  27 Mar 2012; Tupone Alfredo <tupone@gentoo.org> package.mask:
  Unmasking newer dev-util/bam

  27 Mar 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Add modemmanger to the nm mask.

  27 Mar 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  networkmanager-openswan-0.9.4 is not out yet.

  27 Mar 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Mask new networkmanager-0.9.4 and friends.

  27 Mar 2012; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Update the gnome-3.4 mask.

  26 Mar 2012; Nirbheek Chauhan <nirbheek@gentoo.org> package.mask:
  Add telepathy-farstream-0.2 to the GNOME 3 mask because it causes a blocker
  with farsight2

  25 Mar 2012; Krzysztof Pawlik <nelchael@gentoo.org>
  +desc/python_targets.desc:
  Add description for PYTHON_TARGETS USE_EXPAND variable.

  25 Mar 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mask dev-libs/boost-1.49 for Arfrever.

  25 Mar 2012; Andreas K. Huettel <dilfridge@gentoo.org> base/make.defaults,
  desc/calligra_features.desc:
  Add new CALLIGRA_FEATURES entry sheets, as this component got renamed

  25 Mar 2012; Nirbheek Chauhan <nirbheek@gentoo.org> package.mask:
  Mask new glib-2.32 and gtk+-3.4 that cause a lot of breakage

  25 Mar 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  March -> Mar.

  25 Mar 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mask dev-libs/icu-49 for testing.

  25 Mar 2012; Nirbheek Chauhan <nirbheek@gentoo.org> package.mask:
  Mask new clutter/cogl/clutter-gtk

  24 Mar 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask cairo-1.12.0

  24 Mar 2012; Sergei Trofimovich <slyfox@gentoo.org> package.mask:
  Unmask ghc-7.4.

  24 Mar 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask some packages for removal.

  24 Mar 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Revert my commit as lightdm-unity-greeter requires >=valac-0.15 which we
  don't have

  24 Mar 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask x11-misc/lightdm-unity-greeter for testing

  24 Mar 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Maskapp-arch/createrepo for removal. Bug #396067

  23 Mar 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Remove obsolete ati-drivers entry.

  23 Mar 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask kde-misc/kgtk because of brokenness

  22 Mar 2012; Tim Harder <radhermit@gentoo.org>
  hardened/linux/amd64/package.use.mask, hardened/linux/x86/package.use.mask:
  Remove redundant use flag mask.

  22 Mar 2012; Alexis Ballier <aballier@gentoo.org> +desc/fftools.desc,
  base/make.defaults:
  Introduce fftools USE_EXPAND per -dev discussion for ffmpeg extra tools.

  22 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite www-client/galeon wrt #333895 and #403415

  22 Mar 2012; Lars Wendler <polynomial-c@gentoo.org> package.mask:
  Masked www-client/icecat for removal.

  20 Mar 2012; Sergei Trofimovich <slyfox@gentoo.org> package.mask:
  Unmask testing dev-haskell/cabal-1.14 and packages coming with ghc-7.4 (but
  not ghc-7.4 yet).

  20 Mar 2012; Samuli Suominen <ssuominen@gentoo.org>
  default/linux/package.use.mask:
  Unmask USE="acl" for sys-auth/consolekit here because it's Linux only feature
  based on udev.

  20 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Unmask =sys-fs/udev-182 because udev-acl is now moved to
  =sys-auth/consolekit-0.4.5-r3 wrt #408713

  20 Mar 2012; Patrick Lauer <patrick@gentoo.org> package.mask:
  Fixing udev mask to include udev-init-scripts too

  19 Mar 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Drop media-video/avidemux mask.

  19 Mar 2012; William Hubbs <williamh@gentoo.org> package.mask:
  mask udev-182 due to bug #408713.

  19 Mar 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Mask media-video/avidemux-2.5.6-r1 wrt bug 408813.

  19 Mar 2012; Naohiro Aota <naota@gentoo.org> package.mask:
  Drop mask since security fix added to the package. #390769

  19 Mar 2012; William Hubbs <williamh@gentoo.org> package.mask:
  remove systemd/udev mask

  18 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite dev-cpp/cppserv and dev-cpp/sptk wrt #402149, Comment #9.

  18 Mar 2012; Anthony G. Basile <blueness@gentoo.org> desc/linguas.desc:
  Added some country specific locales

  18 Mar 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Drop some x11 masks.

  18 Mar 2012; Matti Bickel <mabi@gentoo.org> package.mask:
  masked dev-php/PEAR-DB_DataObject_FormBuilder for removal, bug 396963

  18 Mar 2012; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  masked for removal, bug 380697

  18 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> use.desc:
  Remove description for USE="esd" because nothing is using it.

  18 Mar 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask some packages for removal.

  18 Mar 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Cleanup old masks.

  18 Mar 2012; Andreas K. Huettel <dilfridge@gentoo.org> desc/linguas.desc:
  Add locale tt for Tatar (can be written in latin, cyrillic, and arabic)

  18 Mar 2012; Tim Harder <radhermit@gentoo.org> package.mask:
  Drop old app-misc/task mask.

  18 Mar 2012; Magnus Granberg <zorry@gentoo.org>
  hardened/linux/package.use.mask, hardened/linux/use.mask
  mask profile for media-tv/xbmc only.

  17 Mar 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Mask qt-creator 2.5.0 beta release.

  17 Mar 2012; Ole Markus With <olemarkus@gentoo.org> package.mask:
  pecl-{idn,enchant} has been removed from the tree. Removing from package.mask

  17 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite media-sound/canorus wrt #367861

  17 Mar 2012; Tim Harder <radhermit@gentoo.org>
  hardened/linux/amd64/package.use.mask, hardened/linux/x86/package.use.mask:
  Mask USE="skype" for bitlbee on hardened amd64/x86.

  16 Mar 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Drop obsolete libXt mask.

  16 Mar 2012; Mike Gilbert <floppym@gentoo.org> thirdpartymirrors:
  Add ftp.gnu.org so that repoman warns about mirror://gnu/.

  16 Mar 2012; Mike Gilbert <floppym@gentoo.org> thirdpartymirrors:
  Fix a gnu-alpha mirror.

  15 Mar 2012; Tomáš Chvátal <scarabeus@gentoo.org>
  hardened/linux/amd64/use.mask, hardened/linux/x86/use.mask:
  Vdpau actually works with the mesa implementation too. Bug#408267.

  15 Mar 2012; Samuli Suominen <ssuominen@gentoo.org>
  targets/desktop/package.use:
  Stop disabling USE="zlib" by default for sys-apps/pciutils and disable
  USE="compress-db" instead as part of bug #360849

  14 Mar 2012; Bernard Cafarelli <voyageur@gentoo.org> package.mask:
  Clean package.mask after last rites, bug #380433

  14 Mar 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask xf86-input-synaptics which depends on mtdev.

  14 Mar 2012; Magnus Granberg <zorry@gentoo.org> hardened/linux/use.mask
  Mask the profile use flag for it don't work with PIE

  13 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> updates/1Q-2012:
  Move frescobaldi back from SLOT="4" to SLOT="0".

  13 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> base/package.use.mask,
  package.mask:
  Remove mask for lilypond and reverse dependencies since they are fixed.

  12 Mar 2012; Sébastien Fabbro <bicatali@gentoo.org> package.mask:
  Removed masking of beta version of sci-libs/metis, now gone

  12 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite lilypond and reverse dependencies.

  12 Mar 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask libXt-1.1.2 for bug #407889.

  12 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite dev-ada/qtada as per request from yngwin.

  12 Mar 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> prefix/package.provided:
  Remove virtual/shadow from package.provided, portage(5) says it should not be
  there. Reported by grobian.

  12 Mar 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> base/packages,
  default/bsd/package.mask, default/bsd/packages, default/linux/packages.build,
  prefix/package.provided, prefix/packages, uclibc/packages.build:
  virtual/shadow related updates.

  11 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite gecko-sharp, Gtk2-MozEmbed and ntfsprogs.

  11 Mar 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Mask sys-apps/hardened-shadow (new package), early upstream release.

  10 Mar 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Unmask dev-python/{shiboken,pyside,pyside-tools}.

  10 Mar 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Update dev-python/pyside-tools mask.

  09 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite app-pda/syncevolution.

  09 Mar 2012; Tim Harder <radhermit@gentoo.org> package.mask:
  Mask beta release of mediawiki.

  09 Mar 2012; Tim Harder <radhermit@gentoo.org> package.mask:
  Mask beta release of roundcube.

  09 Mar 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Mask rewritten dev-python/pyside-tools ebuild too. Unmask qt-webkit, bug
  407315 is fixed.

  08 Mar 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Update libXi mask for release depending on beta.

  08 Mar 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask rtl8192se-firmware which is not useful on its own (in-kernel driver uses
  other firmware).

  08 Mar 2012; Alexandre Rostovtsev <tetromino@gentoo.org> updates/1Q-2012:
  Slotmove the former sunrise overlay version of nautilus-actions to prevent
  collision with the ebuilds that were added to portage.

  07 Mar 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Update mask for xorg-server-1.12 release.

  07 Mar 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Mask x11-libs/qt-webkit-4.8.0-r1 again.

  07 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Include xfdesktop and thunar in the Xfce pre-4.10 mask

  07 Mar 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Unmask qt-qt3support-4.8.0-r1 and qt-webkit-4.8.0-r1

  06 Mar 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Mask rewritten dev-python/{shiboken,pyside}-1.1.0-r1 ebuilds.

  06 Mar 2012; Jeremy Olexa <darkside@gentoo.org>
  arch.list, profiles.desc:
  Add ppc64-linux profile for bug 407021 by Richard Yao

  06 Mar 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Mask kde-misc/nepomukcontroller for removal.

  06 Mar 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask >=dev-lang/lua-5.2.0 for testing wrt #407091

  06 Mar 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask some packages for removal.

  04 Mar 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Drop obsolete x11 masks.

  04 Mar 2012; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  removed pmask media-video/em8300-{modules,libraries}

  04 Mar 2012; Sergei Trofimovich <slyfox@gentoo.org> package.mask:
  Mask ghc-7.4 and friends in tree until we get binaries for it.

  04 Mar 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  sys-kernel/kerneloops is no more

  04 Mar 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  app-portage/autounmask is no more

  04 Mar 2012; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  masked em8300-modules-0.18.0_p20120124 em8300-libraries-0.18.0_p20120124 for
  testing, bug #350211

  03 Mar 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  www-apps/twiki is no more

  03 Mar 2012; Krzysztof Pawlik <nelchael@gentoo.org> package.mask:
  Remove mask for dev-python/pisa.

  03 Mar 2012; Ole Markus With <olemarkus@gentoo.org> package.mask:
  Removing mask of unstable pecl-memcached

  03 Mar 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Unmask eselect-opengl-1.2.5 now that mesa has been fixed.

  03 Mar 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask media-libs/mesa-8.0.1-r1 for breaking compile against glu.h, bug #406641

  03 Mar 2012; Andreas K. Huettel <dilfridge@gentoo.org> updates/1Q-2012:
  konq-plugins is in kde-base now

  03 Mar 2012; Hans de Graaff <graaff@gentoo.org> package.mask:
  Fix broken atom.

  03 Mar 2012; Hans de Graaff <graaff@gentoo.org> package.mask:
  Add new ruby-enterprise release to the test mask.

  02 Mar 2012; Justin Lecher <jlec@gentoo.org> package.mask:
  Remove mask of sci-chemistry/pymol-plugins-cealign as it is removed now

  29 Feb 2012; Mike Gilbert <floppym@gentoo.org> thirdpartymirrors:
  Add gnu-alpha mirrors.

  29 Feb 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  license_groups:
  Update new Adobe licenses in EULA group.

  29 Feb 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite gnunet and gnunet-gtk.

  29 Feb 2012; Ralph Sennhauser <sera@gentoo.org> package.mask:
  Remove package.mask for removed sun-j2ee. #91484

  28 Feb 2012; Mike Frysinger <vapier@gentoo.org> package.mask:
  Drop perf mask since it builds nicely now.

  28 Feb 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Remove pmask of gnu-gs-fonts-*, not in the tree anymore

  28 Feb 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Remove pmask of xpdf (not in the tree anymore)

  28 Feb 2012; Aaron W. Swenson <titanofold@gentoo.org> package.mask:
  Masked dev-db/postgresql-{docs,base,server}:8.2 for removal. EOL and
  vulnerabilities. (Bug 406037)

  27 Feb 2012; Diego E. Pettenò <flameeyes@gentoo.org> updates/1Q-2012:
  Add slotmove for dev-ruby/syslogger.

  27 Feb 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Unmask boost and friends

  27 Feb 2012; Sébastien Fabbro <bicatali@gentoo.org> package.mask:
  Masked >=sci-visualization/fityk-1.1 (because of wxGTK-2.9)

  27 Feb 2012; Tim Harder <radhermit@gentoo.org> desc/linguas.desc:
  Add Spanish locale for Columbia, used in media-sound/csound.

  26 Feb 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Remove mask for fixed extundelete and some removed pkgs.

  26 Feb 2012; Kacper Kowalik <xarthisius@gentoo.org> package.mask:
  removing obsolete mask on dev-lang/open64 that was removed from tree

  26 Feb 2012; Justin Lecher <jlec@gentoo.org> package.mask:
  Remove mask for sci-visualization/hippodraw

  25 Feb 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask rb_libtorrent-0.15.10 as well

  25 Feb 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  genmenu was fixed.

  25 Feb 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  desc/video_cards.desc:
  Add video_cards_modesetting.

  24 Feb 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Move CC0-1.0-Universal from MISC-FREE to GPL-COMPATIBLE license group. Add
  EUPL-1.1 to FSF-APPROVED group.

  24 Feb 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Add also qt-webkit-4.8.0-r1 to the mask for bug #404493.

  24 Feb 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add Unlicense to GPL-COMPATIBLE license group.

  23 Feb 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Unmask x11-misc/lightdm-1.1.3

  23 Feb 2012; Davide Pesavento <pesa@gentoo.org> package.mask:
  Update comment about x11-libs/qt-qt3support-4.8.0-r1 mask.

  23 Feb 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite sys-fs/extundelete wrt #402633

  22 Feb 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Remove mask for libreoffice-bin.

  22 Feb 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask new libreoffice binpackages for testing, new generation mechanism

  21 Feb 2012; Michał Górny <mgorny@gentoo.org> package.mask:
  Forward mask API-incompatible update of npapi-sdk.

  21 Feb 2012; Theo Chatzimichos <tampakrap@gentoo.org> package.mask:
  Masking www-client/arora

  21 Feb 2012; Ole Markus With <olemarkus@gentoo.org> package.mask:
  Masking dev-php/PEAR-Image_Color, dev-php/PEAR-Image_Canvas

  20 Feb 2012; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask vlc 2.0

  20 Feb 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask what will be the Xfce Desktop Environment 4.10 for testing.

  20 Feb 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Removed entries for ogle (and reverse dependencies), ripmake and thunar-vfs.

  19 Feb 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask app-text/notecase-pro for removal

  19 Feb 2012; Robin H. Johnson <robbat2@gentoo.org> updates/1Q-2012:
  Move net-wireless/{wispy-,spec}tools.

  19 Feb 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Masking x11-libs/qt-qt3support-4.8.0-r1 for testing

  19 Feb 2012; William Hubbs <williamh@gentoo.org> package.mask:
  remove old udev from mask and adjust udev-init-scripts mask.

  18 Feb 2012; Vlastimil Babka <caster@gentoo.org> package.mask:
  Unmask dev-java/ant-1.8.2 and friends.

  18 Feb 2012; Eray Aslan <eras@gentoo.org> package.mask:
  punt mask for dovecot-2.1_rc builds

  18 Feb 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask lightdm-1.1.3 for testing

  18 Feb 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Remove entry for dev-util/chromium-tools, package has been removed.

  17 Feb 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Unmask gtkdiskfree after fixing trivial bug and people wanting to keep it due
  less RDEPENDs (bug #370605).

  16 Feb 2012; Vlastimil Babka <caster@gentoo.org> package.mask:
  Mask dev-java/ant-1.8.2 and deps for atomic bump+testing.

  16 Feb 2012; Justin Lecher <jlec@gentoo.org> ChangeLog:
  move app-shells/prll sys-process/prll

  16 Feb 2012; Amadeusz Żołnowski <aidecoe@gentoo.org>
  desc/dracut_modules.desc:
  'ssh-client' added to dracut_modules.

  16 Feb 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  pavuk was fixed and updated, media-libs/libdlna and media-video/ushare will
  be proxy maintained in the near future.

  16 Feb 2012; Justin Lecher <jlec@gentoo.org> package.mask:
  Mask sci-chemistry/pymol-plugins-cealign for removal

  15 Feb 2012; Joerg Bornkessel <hd_brummy@gentoo.org> updates/1Q-2012:
  moved media-tv/linuxtv-dvb-headers virtual/linuxtv-dvb-headers

  15 Feb 2012; Samuli Suominen <ssuominen@gentoo.org>
  targets/desktop/package.use:
  Disable USE="zlib" in sys-apps/pciutils by default for USE="hwdb" in
  sys-fs/udev.

  14 Feb 2012; Bernard Cafarelli <voyageur@gentoo.org> package.mask:
  Last rites for gnustep-libs/objcunit, gnustep-apps/cynthiune,
  gnustep-apps/gridlock, gnustep-apps/talksoup

  14 Feb 2012; Markos Chandras <hwoarang@gentoo.org> use.desc:
  ayatana: add note about libappindicator as well

  14 Feb 2012; Markos Chandras <hwoarang@gentoo.org> use.desc:
  ayatana is now global per
  http://archives.gentoo.org/gentoo-dev/msg_f2eb26947d0c86020625a9aeca6f25e4.xm
  l

  14 Feb 2012; Justin Lecher <jlec@gentoo.org> base/package.use.mask:
  Correct version for recent pymol USE=vmd mask

  13 Feb 2012; Justin Lecher <jlec@gentoo.org> base/package.use.mask:
  Masked USE=vmd for >pymol-1.5

  13 Feb 2012; Alex Legler <a3li@gentoo.org> package.mask:
  tikiwiki is gone

  13 Feb 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask packages with treecleaners CCed for removal.

  12 Feb 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Take app-shells/ksh off the chopping block.

  12 Feb 2012; Matti Bickel <mabi@gentoo.org> package.mask:
  Unmask x11-libs/fox-1.7* since the dev branch is quite stable now

  12 Feb 2012; Maxim Koltsov <maksbotan@gentoo.org> package.mask:
  Unmasked ldb-1.1.4, bug 401635

  12 Feb 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask more packages for removal.

  12 Feb 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask more packages for removal.

  12 Feb 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask alsa-driver for removal.

  11 Feb 2012; Ole Markus With <olemarkus@gentoo.org> package.mask:
  Masked pecl-{idn,enchant}

  11 Feb 2012; Sergei Trofimovich <slyfox@gentoo.org>
  hardened/linux/amd64/no-multilib/parent:
  Reverted previous change as it caused phony profiles to pop up (found out by
  blueness).

  11 Feb 2012; Sergei Trofimovich <slyfox@gentoo.org>
  hardened/linux/amd64/no-multilib/parent:
  Make hardened/linux/amd64/no-multilib include arch/amd64/no-multilib
  (http://archives.gentoo.org/gentoo-dev/msg_7c41ab6653426048c2e8b0f271637bf3.x
  ml). Approved by Zorry.

  11 Feb 2012; Sergei Trofimovich <slyfox@gentoo.org>
  hardened/linux/package.mask:
  Mask skypetab-ng for hardened as it's a library for x86-only skype.

  11 Feb 2012; Angelo Arrifano <miknix@gentoo.org> license_groups:
  Add Mendeley-EULA to EULA, needed for sci-misc/mendeleydesktop

  10 Feb 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask app-laptop/thinkpad and friends for removal. Bug #381263

  10 Feb 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Masking app-shells/ksh for removal

  10 Feb 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  app-emulation/{libdsk,lib765} removal. Bug #402857

  10 Feb 2012; Matt Turner <mattst88@gentoo.org>
  +hardened/linux/amd64/no-multilib/use.mask:
  Add d3d USE mask to hardened/amd64/no-multilib.

  10 Feb 2012; Matt Turner <mattst88@gentoo.org> desc/video_cards.desc:
  Add i915 and i965 to video_cards.desc.

  10 Feb 2012; Justin Lecher <jlec@gentoo.org> package.mask:
  Mask sci-libs/cctbx-2010.03.29.2334-r6 as boost-1.48 is maked

  10 Feb 2012; Tim Harder <radhermit@gentoo.org> package.mask:
  Unmask =net-libs/gnutls-2.12*.

  10 Feb 2012; Angelo Arrifano <miknix@gentoo.org> package.mask:
  Force upgrade to arduino-1.0, mask old versions.

  09 Feb 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Update dev channel mask for www-client/chromium.

  09 Feb 2012; Robin H Johnson <robbat2@gentoo.org> package.mask:
  Mask sys-libs/db-5.3 for testing.

  08 Feb 2012; Bernard Cafarelli <voyageur@gentoo.org> package.mask:
  gnustep-make-2.6.1-r10 removed from tree, unmask libobjc2 USE flag for
  replacement

  08 Feb 2012; William Hubbs <williamh@gentoo.org> package.mask:
  add udev-181 to the udev mask.

  07 Feb 2012; Anthony G. Basile <blueness@gentoo.org> hardened/linux/use.mask:
  Unmask opencl USE flag on hardened

  06 Feb 2012; Ralph Sennhauser <sera@gentoo.org> package.mask:
  Remove package.mask entry for jrockit-jdk-bin after removal

  06 Feb 2012; Mike Frysinger <vapier@gentoo.org> package.mask:
  Drop the mask as the version no longer has KEYWORDS.

  06 Feb 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mask binutils-2.22.52.0.1 due to bug 402271.

  06 Feb 2012; Sébastien Fabbro <bicatali@gentoo.org> package.mask:
  Masked sci-libs/fftw-3.3.1_beta1 until more stable

  06 Feb 2012; Sébastien Fabbro <bicatali@gentoo.org> package.mask:
  Masking sci-visualization/hippodraw for removal

  04 Feb 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Unmask libpciaccess, bug #402141.

  04 Feb 2012; Justin Lecher <jlec@gentoo.org> arch/amd64/use.mask,
  arch/x86/use.mask, base/use.mask:
  Mask USE=zeitgeist globally and unmask fpr keyworded arches

  04 Feb 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Masking sys-kernel/kerneloops for removal. Bug #276412

  04 Feb 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  app-text/lyx2html is gone. Bug #388987

  04 Feb 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask app-portage/autounmask for removal

  04 Feb 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Unmask avidemux. Upstream does not care about parallel build and neither do I

  03 Feb 2012; William Hubbs <williamh@gentoo.org> package.mask:
  add udev-180 to the udev mask.

  03 Feb 2012; Maxim Koltsov <maksbotan@gentoo.org> package.mask:
  Mask =sys-libs/ldb-1.1.4

  03 Feb 2012; Nathan Phillip Brink <binki@gentoo.org> updates/1Q-2012:
  Move dev-libs/libmowgli-2* to SLOT=2.

  02 Feb 2012; Samuli Suominen <ssuominen@gentoo.org>
  default/linux/package.use.mask:
  Mask USE="fam" for x11-misc/spacefm since we have inotify support.

  02 Feb 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Masking www-apps/twiki for removal

  02 Feb 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask >www-client/opera-11.62.

  01 Feb 2012; Eray Aslan <eras@gentoo.org> package.mask:
  unmask postfix-2.9 version

  01 Feb 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite FlowScan, CUFlow and JKFlow for abusing < depend in the same
  stabilization level.

  31 Jan 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Remove package.mask on phonon-xine backend. It is removed from tree.

  31 Jan 2012; Pacho Ramos <pacho@gentoo.org> desc/cameras.desc:
  Add new camera.

  31 Jan 2012; Jeff Horelick <jdhore@gentoo.org> package.mask:
  Mask >=dev-libs/libmowgli-2.0.0_alpha1 in preperation for adding it to the tree.

  30 Jan 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Add =sci-geosciences/mapnik-0.7.1-r2 to boost-1.48 reverse dependencies

  30 Jan 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Lift mask for media-libs/opengtl-0.9.16, as it is released now.

  30 Jan 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Clean old entry.

  30 Jan 2012; Pacho Ramos <pacho@gentoo.org> arch/alpha/package.use.mask,
  arch/arm/package.use.mask, arch/ia64/package.use.mask,
  arch/sparc/package.use.mask:
  Mask libvisual USE flag in arches that don't have needed packages keyworded.

  30 Jan 2012; Sébastien Fabbro <bicatali@gentoo.org> package.mask:
  Mask another boost python reverse depedency

  29 Jan 2012; Sébastien Fabbro <bicatali@gentoo.org> package.mask:
  Dropped sci-astronomy/orsa and sci-astronomy/ds9 masking, gone from tree

  29 Jan 2012; Alex Alexander <wired@gentoo.org> package.mask:
  unmasked Qt 4.8.0 and friends

  29 Jan 2012; Aaron W. Swenson <titanofold@gentoo.org> thirdpartymirrors:
  PostgreSQL revamped their download network.
  http://pgsnake.blogspot.com/2011/12/updated-postgresql-download.html

  29 Jan 2012; Alex Alexander <wired@gentoo.org> package.mask:
  masked new revbump of cairo, will unmask it together with new Qt

  29 Jan 2012; Alex Alexander <wired@gentoo.org> package.mask:
  Getting ready to push qt-4.8.0

  29 Jan 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Improve xpdf mask message

  29 Jan 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mask another boost python revdep.

  28 Jan 2012; Aaron W. Swenson <titanofold@gentoo.org> package.mask:
  Masked dev-db/pgaccess for removal.

  28 Jan 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Remove pmask of mtink as it has been fixed.

  28 Jan 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Add some additial entries to hworang's boost/python mask.

  28 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite x11-misc/enter because it doesn't have ConsoleKit support.

  28 Jan 2012; Ralph Sennhauser <sera@gentoo.org> package.mask:
  Package.mask dev-java/sun-j2ee for removal in 30 days.
  Hopelessly outdated, contains broken jars. #91484

  28 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> thirdpartymirrors:
  Remove everything except archive.xfce.org from the mirror://xfce.

  27 Jan 2012; Krzysztof Pawlik <nelchael@gentoo.org> package.mask:
  Mask dev-python/pisa.

  27 Jan 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask xpdf for removal

  27 Jan 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Ah well. Lets try cups-1.5 now.

  27 Jan 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Prepare for a rebuild of kstlyes-4.7.4 synchronous with qt-4.8 upgrade

  27 Jan 2012; Pacho Ramos <pacho@gentoo.org>
  arch/amd64/no-multilib/package.mask:
  More emul packages


  27 Jan 2012; Jeremy Olexa <darkside@gentoo.org> package.mask:
  remove stale masks

  27 Jan 2012; Jeremy Olexa <darkside@gentoo.org> package.mask:
  cdebootstrap is removed from tree

  26 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask =net-p2p/transmission-2.42 for bugs #400815, #400865 and #400923

  26 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask net-misc/hylafax and x11-misc/tkhylafax because lack of support for
  stable media-libs/tiff >= 4.0.0.

  26 Jan 2012; Tony Vroon <chainsaw@gentoo.org> thirdpartymirrors:
  Drop firewalled ftp.silug.org from alsaproject mirror list. Timeouts suck.

  25 Jan 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Lift mask for KDE SC 4.8.0

  25 Jan 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Mask KDE SC 4.8.0

  24 Jan 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Finally mask media-fonts/gnu-gs-fonts-* for last-riting, ending
  year-long annoyance in bug 247657. Replaced by media-fonts/urw-fonts.

  24 Jan 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  lift mask on app-admin/webmin

  24 Jan 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Add dev-python/cgkit-2.0.0_alpha9-r1 to the boost-1.48 rdeps

  24 Jan 2012; Johannes Huber <johu@gentoo.org> updates/1Q-2012:
  Rename net-libs/telepathy-qt4 to net-libs/telepathy-qt

  24 Jan 2012; Jeroen Roovers <jer@gentoo.org> package.mask:
  Unmask www-client/opera-11.61.

  23 Jan 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Initial commit of boost-1.48 reverse python dependencies. See:
  http://archives.gentoo.org/gentoo-dev/msg_ab39d8366b714ecacfc7fa64cd48ad00.xm
  l

  23 Jan 2012; Sergei Trofimovich <slyfox@gentoo.org>
  arch/powerpc/package.use.mask:
  Mask USE=usbredir for qemu and qemu-kvm (unsatisfied dep on
  sys-apps/usbredir).

  22 Jan 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask net-p2p/monsoon for removal

  22 Jan 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Drop my old entries.

  22 Jan 2012; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask dev-lang/nemerle for removal

  22 Jan 2012; Ulrich Müller <ulm@gentoo.org> package.mask:
  Update mask for Emacs live ebuilds.

  22 Jan 2012; Sergei Trofimovich <slyfox@gentoo.org>
  desc/qemu_softmmu_targets.desc:
  Added LatticeMico32 to QEMU_SOFTMMU_TARGETS.

  21 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> updates/1Q-2012:
  Rename dev-perl/sdl-perl to dev-perl/SDL.

  21 Jan 2012; Sergei Trofimovich <slyfox@gentoo.org>
  desc/qemu_softmmu_targets.desc, desc/qemu_user_targets.desc:
  Added more upstream targets to QEMU_USER_TARGETS and QEMU_SOFTMMU_TARGETS.

  21 Jan 2012; Justin Lecher <jlec@gentoo.org> package.mask:
  Mask sci-visualization/scidavis for removal

  21 Jan 2012; Markos Chandras <hwoarang@gentoo.org> updates/1Q-2012,
  package.mask:
  Remove masking. Use portage move instruction instead

  21 Jan 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  masking media-sound/minitunes for removal

  21 Jan 2012; Ole Markus With <olemarkus@gentoo.org> package.mask:
  Removing mask of pruned packages

  21 Jan 2012; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask sys-apps/systemd-sysv-utils until we get necessary tools out of
  sysvinit.

  20 Jan 2012; Alexey Shvetsov <alexxy@gentoo.org> arch/alpha/package.use.mask,
  arch/ia64/package.use.mask, arch/powerpc/package.use.mask,
  arch/sparc/package.use.mask:
  Mask some use for new openmpi deps

  19 Jan 2012; Eray Aslan <eras@gentoo.org> package.mask:
  Mask experimental mail-mta/postfix-2.10 versions

  18 Jan 2012; Matti Bickel <mabi@gentoo.org> package.mask:
  Lastrite dev-php/PEAR-PHP_Archive

  17 Jan 2012; Matti Bickel <mabi@gentoo.org> package.mask:
  Lastrite dev-php/PEAR-HTML_Select_Common

  17 Jan 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Mask not yet released media-libs/opengtl-0.9.16.

  17 Jan 2012; Johannes Huber <johu@gentoo.org> base/use.mask, use.desc:
  Remove kdeenablefinal. Build feature is gone.

  17 Jan 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Mask dev-util/chromium-tools for removal. Determined by the maintaining team
  to be no longer useful.

  16 Jan 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Update package mask entry for phonon-xine

  16 Jan 2012; Matti Bickel <mabi@gentoo.org> package.mask:
  Lastrite dev-php/PEAR-I18N, bug #396975.

  16 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite dev-dotnet/gnome-panel-sharp.

  16 Jan 2012; Johannes Huber <johu@gentoo.org> package.mask:
  Remove package mask of kcheckgmail, bug #394881.

  16 Jan 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Remove Emacs-23-CEDET-grammars from FSF-APPROVED since it's no longer used.

  16 Jan 2012; Nirbheek Chauhan <nirbheek@gentoo.org> package.mask:
  Let's unmask rhythmbox-2.9x, the worst bugs seem to be fixed

  15 Jan 2012; Ole Markus With <olemarkus@gentoo.org> package.mask:
  Removed mask of purged ebuilds

  15 Jan 2012; Justin Lecher <jlec@gentoo.org> package.mask:
  Removed dev-tcltk/tkimg mask as the version isn't in the tree anymore

  14 Jan 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask net-print/mtink for removal in 30 days. Bug 342799.

  14 Jan 2012; Kacper Kowalik <xarthisius@gentoo.org> use.desc:
  Add global tcmalloc

  14 Jan 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Calligra 2.3.86 has been released

  11 Jan 2012; Bernard Cafarelli <voyageur@gentoo.org> package.mask:
  Remove llvm-gcc mask after last rites

  11 Jan 2012; Daniel Pielmeier <billie@gentoo.org> package.mask:
  net-print/cupsddk has been removed. See bug #394089 reference.

  10 Jan 2012; Samuli Suominen <ssuominen@gentoo.org>
  default/linux/package.use.mask:
  Unmask USE="e2fsprogs" for app-arch/libarchive as Linux -only feature wrt
  #354923

  09 Jan 2012; William Hubbs <williamh@gentoo.org> package.mask:
  add sys-apps/kmod to the udev mask

  09 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite sys-fs/zfs-fuse.

  08 Jan 2012; Robin H. Johnson <robbat2@gentoo.org> package.mask:
  Update package.mask for vulnerable MySQL versions.

  08 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite media-video/ogle and reverse dependencies because of incompabilities
  with current libdvdread.

  08 Jan 2012; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add czyborra and noweb to MISC-FREE license group, bugs 395179 and 397485.

  08 Jan 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  mask new boost for testing

  08 Jan 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  qt-4.8.0_rc is no more

  08 Jan 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  app-admin/mon is no more

  07 Jan 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask not-yet-released calligra

  07 Jan 2012; Olivier Crête <tester@gentoo.org> package.mask:
  Remove gupnp block as we have the newer gupnp-igd

  07 Jan 2012; Michael Pagano <mpagano@gentoo.org> package.mask:
  Remove portpeek mask

  06 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite media-video/ripmake.

  06 Jan 2012; William Hubbs <williamh@gentoo.org>
  default/linux/package.use.mask:
  dropping mask for zlib on pciutils/usbutils after talking with ssuominon on
  irc.

  05 Jan 2012; William Hubbs <williamh@gentoo.org>
  default/linux/package.use.mask:
  Mask zlib for sys-apps/pciutils and sys-apps/usbutils; needed for bug #360849

  05 Jan 2012; Mike Gilbert <floppym@gentoo.org> package.mask:
  Update mask for chrome dev channel; 17.x is now the beta channel.

  05 Jan 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask one more x11 prerelease package.

  05 Jan 2012; Thomas Beierlein <tomjbe@gentoo.org> package.mask:
  Drop mask for media-radio/fldigi as a version supporting fltk-1.3 is in the
  tree

  05 Jan 2012; Maxim Koltsov <maksbotan@gentoo.org> package.mask:
  Unmask app-emulation/libguestfs

  05 Jan 2012; Matthew Marlowe <mattm@gentoo.org> package.mask:
  Taking maintainership for net-libs/wt

  04 Jan 2012; Nirbheek Chauhan <nirbheek@gentoo.org> package.mask:
  Add two more packages that need esound, found by Mr_Bones_

  04 Jan 2012; Michael Pagano <mpagano@gentoo.org> package.mask:
  Mask portpeek >= 2.0.17 for testing

  04 Jan 2012; Ralph Sennhauser <sera@gentoo.org> package.mask:
  Package.mask dev-java/jrockit-jdk-bin for removal in 30 days.
  Outdated Java version, fails to fetch, no upstream. #228929

  04 Jan 2012; Nirbheek Chauhan <nirbheek@gentoo.org> base/use.mask,
  package.mask:
  Last Rites for esound daemon as per mail to gentoo-dev

  02 Jan 2012; Andreas K. Huettel <dilfridge@gentoo.org> +ChangeLog-2007,
  +ChangeLog-2008, +ChangeLog-2009, +ChangeLog-2010, +ChangeLog-2011:
  Split ChangeLog

  02 Jan 2012; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Masking new avidemux2.5.6 until upstream fixes parallel build failures

  02 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> use.desc:
  Description for USE flag "neon"

  02 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite xfce-extra/thunar-vfs.

  02 Jan 2012; Michael Pagano <mpagano@gentoo.org> thirdpartymirrors:
  Remove invalid kernel mirrors. Bug #396087

  01 Jan 2012; Sebastian Pipping <sping@gentoo.org> package.mask:
  Extend mask on Gimp to upcoming version 2.7.4

  01 Jan 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Add mask for xf86-input-evdev versions that require mtdev.

  01 Jan 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask more prerelease x11 packages.

  01 Jan 2012; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Remove package mask of kmuddy, bug 371451

  For previous entries, please see ChangeLog-2011.
