dev-manual: Added "Properly Versioning Pre-Release Recipes" section.

Fixes [YOCTO #6243]

This section addresses situations when working with recipe
file names of recipes that have not been released (e.g.
recipe-name_1.0.3.rc1).  When the recipe is released the system
has difficulty recognizing the new recipe name as a later version.
So the work-around is to use PV to set the recipe version in
the recipe.  The section describes this.

(From yocto-docs rev: a98754620e0285d28f20fd507a68496e8a4364dc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
poky.ent: Updated variables to support a 1.6.1 release.

(From yocto-docs rev: 34b80491296535421ab3c9dad2fb6bc9d30ec32c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
documentation: Updated Manual Revision Tables for 1.6.1 point release.

I put in the "Sometime in 2014" string for when this point
release would be available.

(From yocto-docs rev: 82d14a71db7e033e8cc58d2b4cc470792275be8f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
mega-manual.sed: changed 1.6 to 1.6.1 for support of that release.

(From yocto-docs rev: 97a821bd39447a9cd569f8d3f569f68d803d0f3c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lib/oe/sdk: Ensure target directory exists before creating the link

(From OE-Core rev: 03a11d3cecc977b23bdf7b8510bf80dbe408b135)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake: runqueue: Fix handling of zero priority task

The zero priority task should be run first but was being confused with
the None value the priority field defaulted to. Check for None
explicitly to avoid this error.

In the real world this doesn't change much but it confused the debug
output from the schedulers.

(Bitbake rev: 49c9d8c9400f74c804c2f36462639236e0841ff0)

(Bitbake rev: 5c3b0c139143ffd68033afa93421164f89703426)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake: runqueue: Fix task weighting algorithm

When looking at a list of tasks, do_patch and do_unpack were being
given equal priority when one clearly depends on another. The
reason for this was the default task weights of 0 being to tasks.
This is therefore changed to 1 to allow correct weighting of dependencies
which means the scheduler has better information available to it about
tasks.

Weight endpoints differently (10) for clearer debugging of priorities.

(Bitbake rev: 12dc1d17fac3e8ec420fcafb06186d32fd847d89)

(Bitbake rev: f19f3bf10af52b1610a35bfb47308ff48a5038b1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake: bitbake-diffsigs: Fix runtime error when no arguments are given

If bitbake-diffsigs is run without arguments it will error:

    Traceback (most recent call last):
      File "./bin/bitbake-diffsigs", line 121, in <module>
        if output:
    NameError: name 'output' is not defined

Fix this by moving the check for output into the inner else-clause.

(Bitbake rev: 7d3545a66863ad7183a7650b2af57eee091c45ae)

(Bitbake rev: 8df9bf87fc67633c2be0ac21eec24a356b3d63ba)

Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake: HG Fetch with username and password in url

Following up a previous patch for mercurial fetcher, I just fixed a
problem when calling update on a repository with subrepositories enabled.

Attached a patch that fixes this problem

>From caae519a2bd64bf7c729bb26aff344827def47fb Mon Sep 17 00:00:00 2001
From: Volker Vogelhuber <v.vogelhuber@digitalendoscopy.de>
Date: Tue, 29 Apr 2014 15:29:47 +0200
Subject: [PATCH] bitbake: bitbake: - fixed authentication issues in case of using sub
 repositories

(Bitbake rev: dfa041c940caad12da50126a559afc8de089eeda)

(Bitbake rev: 8b9e8a19dbee56f1012966b77d7f7bd595af55ff)

Signed-off-by: Volker Vogelhuber <v.vogelhuber@digitalendoscopy.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake: Fix refetch of local files when they are read only

(Bitbake rev: 42b7be1a6c5ff559f4a213eed04b370ca955460d)

(Bitbake rev: ad2f373fa29fcaf03934d96f7d69440254a259f0)

Signed-off-by: Nick Lewis <nick.lewis@usa.g4s.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake: fix cloning of mercurial repository with username and password specified in url

(Bitbake rev: 9a328262e047562a6edf7b2ec7b8a1949e287cbe)

(Bitbake rev: 410372783b22cf3ff2d8bbd80a5c3f4a1694e9a4)

Signed-off-by: Volker Vogelhuber <v.vogelhuber@digitalendoscopy.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake: fetch2/perforce: Ensure command has a default

Ensure there is default command available if FETCHCMD_p4 isn't set.

Also clean up the getVar references whilst here.

(Bitbake rev: d150226d11d5f041f78c8c3ce4abc5465dbc81d8)

(Bitbake rev: d865692e8b76a1da80c80788946978f150f2c34b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake: data_smart: Fix an unusual variable reference bug

If you try:

Y = ""
Y_remove = "X"

in OE-Core, bitbake will crash with a KeyError during expansion. The reason
is that no expansion of the empty value is attempted but removal from is it
and hence no varparse data is present for it in the expand_cache.

If the value is empty, there is nothing to remove so the best fix is simply
not to check for None but check it has any value.

Also add a test for this error so it doesn't get reintroduced.

(Bitbake rev: af3ce0fc0280e6642fa35de400f75fdbabf329b1)

(Bitbake rev: 2d3478c97b7c7a2f5b12a8be302d8ea5ba4e1277)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake: fetch2/hg: Fix missing proto param for hg checkout with user and pw

A fix for the former patch when checking out a repository with
username and password using HG

(Bitbake rev: 6e7f7cdc0d533911046741817be1cfffde23f125)

Signed-off-by: Volker Vogelhuber <v.vogelhuber@digitalendoscopy.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
apr: remove the use of ${SHELL} to avoid bash/dash confliction

While multible hosts sharing a common sstate cache, the fist host using
bash as default shell and build apr, the second host using dash as
default shell and build apr-util, there was a failure in apr-util:
...
| /bin/sh: 0: Can't open i586-poky-linux-libtool
| make[1]: *** [dbm/apr_dbm_gdbm.lo] Error 127
| make[1]: *** Waiting for unfinished jobs....
| make[1]: Leaving directory
`tmp/work/i586-poky-linux/apr-util/1.5.2-r0/apr-util-1.5.2'
...

The quick way to reproduce the defect in Ubuntu 1204:
1. Create a new build
2. sudo dpkg-reconfigure dash <set bash as /bin/sh>
3. bitbake apr
4. sudo dpkg-reconfigure dash <set dash as /bin/sh>
5. bitbake apr-util

Remove the use of $(SHELL) in the apr could avoid this issue.

(From OE-Core rev: 53af71200b6f6d117e1e7dc2e7a7d21c6faab8f9)

(From OE-Core rev: f33a9060ef10322ac1c0e8e5ca05678ce93860f1)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
libnotify: add dbus-glib dependency

* | No package 'dbus-glib-1' found
  | configure:11865: error: Package requirements (gtk+-2.0 >= 2.18, glib-2.0 >= 2.6,
    dbus-1 >= 0.76, dbus-glib-1 >= 0.76 gmodule-2.0) were not met:

* introduced in:
  commit 5c1eeb5d16566521e45947b07fdcd9f552fec45b
  Author: Alexandru Palalau <alexandrux.palalau@intel.com>
  Date:   Thu Feb 27 12:05:41 2014 +0200

      libnotify: don't use gnome.bbclass

  because gnome.bbclass was adding gconf->dbus-glib dependency

* it was also causing other recipes to fail when they were depending
  on libnotify which has dbus-glib in pkg-config and dbus-glib was
  missing, e.g. firefox:
  | checking for libnotify >= 0.4... Package dbus-glib-1 was not found
  in the pkg-config search path. Perhaps you should add the directory
  containing `dbus-glib-1.pc' to the PKG_CONFIG_PATH environment
  variable Package 'dbus-glib-1', required by 'libnotify', not found
  | configure: error: Library requirements (libnotify >= 0.4) not met;
  consider adjusting the PKG_CONFIG_PATH environment variable if your
  libraries are in a nonstandard prefix so pkg-config can find them.

(From OE-Core rev: abb2571a6352fc33a8b78ab0886d443894cda3b6)

(From OE-Core rev: 63281707f0360e97e43d08f022e8aa2c1df131fa)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
libav: Add libsdl to DEPENDS only when x11 is enabled

When we have opengl in distro features but not x11 and try to
build libav then it calls out to build libsdl which inturn has depependency on libglu
and libglu fails to build

ld: error: cannot find -lGL
| collect2: error: ld returned 1 exit status
| make: *** [libGLU.la] Error 1
| ERROR: oe_runmake failed

since libglu wants glx enabled in mesa and glx in mesa is (righly) enabled only when x11
is in distro features.

This breaks the dependency chain leading to this problem

(From OE-Core rev: fe9fe5ca5039743fc80d14f0518b95929c458b1a)

(From OE-Core rev: 740deb02b653d1c5174be99c3093dac5af73f6ff)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
shadow: fix building systemd with useradd-staticids.bbclass enabled

| groupadd: 'systemd-journal-gateway' is not a valid group name

Without useradd-staticids enabled, group 'systemd-journal-gateway' is created
by useradd and that seems not to care for GROUP_NAME_MAX_LENGTH which has 16 by
default.

(From OE-Core rev: 33c7892326de296cc6d143577be5b395ac887d91)

(From OE-Core rev: 103a270d2c094c810faf3bbafb2a429ee08e22f7)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
icecc: don't create unnecessary 'ice' dirs in sysroots when disabled

* parsing ICE_PATH="${@icc_path(bb, d)}" causes "ice" directories
  to be created in every sysroot, that could be a bit confusing for
  people who inherit icecc.bbclass, but disabled it
* shorten ICECC_VERSION="${@icc_version(bb, d)}" path a bit
  by returning sooner when disabled
* remove ICECC_PATH and ICECC_ENV_EXEC from signatures, we assume that
  using icecc doesn't influence the output, so it shouldn't matter when
  user supplies own version of icecc or env script
* always compare ICECC_DISABLED with "1", boolean typed_value isn't used
  because documentation already mentions using empty value to keep icecc
  enabled and that's not valid boolean value when oe.data.typed_value is
  used:
  ERROR: ICECC_DISABLED: Invalid boolean value ''

(From OE-Core rev: c3e8bfe30685e2357a6eb3ba8f4a014c7dc9f58e)

(From OE-Core rev: 41aeb447de70b5fb3e1d0ef4aa90376ad5caef4c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/send-error-report: simple hack to use proxy from the enviroment

People behind a proxy couldn't send an error report to an upstream server,
this should fix the issue if they use a proxy that doesn't require authentication,
or one that uses basic http authentication and it's correctly exported in the enviroment.

(From OE-Core rev: a8511ee80246b4e2caa353b87f4b586f1539e6d4)

(From OE-Core rev: 3550355391a8920911e0dc68f01690afff7003b2)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>