emerge: fix invalid locale setting (bug 519074)

Don't die when the user has an invalid locale setting.
Resolves bug 519074.
emake: pass EXTRA_EMAKE after user's "$@", not before

Patch allows easier override or ebuild things, like
    #foo-9999.ebuild:
    src_compile() {
        emake V=1
    }

    EXTRA_EMAKE="V=0" emerge =foo-9999

That way it's easier to eyeball upstream builds for new warnings.

This behaviour is more in line with EXTRA_ECONF variable.

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
repoman: Do not report DESCRIPTION.punctuation warning for "etc.".
emerge: Prepend '=' to unmerge atoms (bug 512578)

Signed-off-by: Alexander Berntsen <bernalex@gentoo.org>
Reviewed-By:   Brian Dolbec       <dolsen@gentoo.org>
Reviewed-By:   Michał Górny       <mgorny@gentoo.org>
Enable consistent __future__ behavior for division

In Python 2, the division ('/') operator defaults to integer
(truncating) division when given integer argument. In Python 3, it
performs floating-point division unconditionally instead. To overcome
this difference and get a consistent behavior, integers were converted
to floats explicitly in a few places.

Instead, use a simpler 'from __future__ import division' statement that
enables floating-point division globally in Python 2. Use it in all
relevant files to get a consistent behavior, and use '//' appropriately
whenever integer division is desired.

Reviewed-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
Acked-by: Alexander Berntsen <bernalex@gentoo.org>
Acked-by: Brian Dolbec <dolsen@gentoo.org>
QA: Use pngfix to find broken PNG files

Acked-by: Alexander Berntsen <bernalex@gentoo.org>
Acked-by: Brian Dolbec <dolsen@gentoo.org>
Reviewed-by: Justin Lecher <jlec@gentoo.org>
Reviewed-by: Sergei Trofimovich <slyfox@gentoo.org>
QA: Warn when systemd units use /etc/conf.d

Acked-by: Alexander Berntsen <bernalex@gentoo.org>
Acked-by: Brian Dolbec <dolsen@gentoo.org>
Reviewed-by: Anthony G. Basile <blueness@gentoo.org>
--sync: Decode getaddrinfo() errors properly

Fixes UnicodeDecodeError in Python 2 with getaddrinfo() error messages
that contain non-ASCII characters, e.g. in pl_PL.UTF-8 locale.

Reviewed-by: Alexander Berntsen <bernalex@gentoo.org>
Reviewed-by: Brian Dolbec <dolsen@gentoo.org>
Updates for the release
Enable testing using travis-ci

Make it easy to use travis-ci for testing on github mirror and forks.

Reviewed-by: Alexander Berntsen <bernalex@gentoo.org>
Note the use of X-by in DEVELOPING

Signed-off-by: Alexander Berntsen <bernalex@gentoo.org>
Reviewed-by:   Brian Dolbec       <dolsen@gentoo.org>
DEVELOPING: Update RELEASE-NOTES & NEWS in commit

Signed-off-by: Alexander Berntsen <bernalex@gentoo.org>
Reviewed-by:   Brian Dolbec       <dolsen@gentoo.org>
repoman: Disable DESCRIPTION.punctuation check

This reverts commits:
  06637c4215d55c57517739214c6e0fd6f8f53914
  repoman: Add DESCRIPTION.puntuation check (bug #438976)

  0a2dab393f2ecf0476262620aa2e9a68d1f88a95
  repoman: Add accidently deleted closing bracket ')'

  bbb34efebd0bfc0b231073d00b863b3e3ebd918a
  repoman: Do not report DESCRIPTION.punctuation warning for "etc.".

QA has requested these reverts, as they did not approve of this repoman
check.

Signed-off-by: Alexander Berntsen <bernalex@gentoo.org>
Reviewed-by:   Brian Dolbec       <dolsen@gentoo.org>
vardb: Do not remove := from vdb on unmatched dependencies

Previously, the slot operator processing code used to remove := operator
from vdb dependency entries when the underlying package was not
installed. With regards to a dependency alike || ( A:= B:= ), this
suggested that the particular slot/subslot of installed package could
be replaced by any slot/subslot of the other package. In particular, it
confused dependency comparison in @changed-deps.

Instead, store the original := (or :slot=) atom in vdb. It does not
trigger any special behavior in the current dependency resolver, yet
keeps the extra information. It also makes proper @changed-deps
comparisons possible since the comparison code can know if the original
ebuild had the slot operator.
sets: Introduce @changed-deps to update packages which need dep changes

The @changed-deps set tries to compare RDEPEND and PDEPEND entries of
installed packages with ebuild counterparts, and pulls the ebuild
whenever the two are not in sync. This could be used, for example, to
clean up the system after disabling --dynamic-deps.