utils.py: Check for duplicate dependency entries

explode_dep_versions is not able to have duplicate entries.  Previously
duplicate entries ended up with the last item being the one returned to
the caller.

We now detect a collision.  We do allow an empty item to have a comparison
added to it, or a duplicate with the same comparison without error.

When a collision is detected a ValueError exception is thrown.

Allowed:
   foo foo (= 1.12) foo

Invalid:
   foo (= 1.12) foo (= 1.13)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
utils.py: Allow explode_dep_versions comparisons to have arbitrary whitespace

Refactor the explode_dep_versions to be more lenient on whitespace values.

The required format is:
   foo (= 1.10)
   foo (=1.10)
   foo ( = 1.10)
   foo ( =1.10)
   foo ( = 1.10 )
   foo ( =1.10 )

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
utils: Add explode_dep_versions2 to replace explode_dep_versions

The API for explode_dep_versions is flawed since there can only be one version
constraint against any given dependency. This adds a new function with an API
without this limitation. explode_dep_versions() is maintained with a warning
printed when its used in a situation where information is lost.

This should allow a simple transition to the new API to fix the lost dependency
information.

join_deps() is updated to deal with data in either format.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
tests/utils: Add test for explode_dep_versions2

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
hob/image_details: Remove kernel info from details

- removed kernel information from image details

[Yocto #3002]

Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
hob/settings: Change the 'Delete' button behaviour in the shared state settings tab

-the tab shows an empty mirror row when no mirror is configured
-able to delete the mirror row even if it's not empty(if it's not
the first mirror)

[YOCTO #3189]
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
hob: Fix 'User selected' tag functionality

- the 'User selected' tag is only used when the user
selects a package
- fix hob to remember which packages are 'User selected'
- if the package is already brought in by some other package,
it should not appear as 'User selected'

[YOCTO #3108]

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
hob: Further improvements to hob dialogs

1. Replace some labels in the "Build environment" tab
2. 'defaultsetup' changed to 'Default' in the "Image types" tab
3. Fixed the moving icon in the "Output" tab

For more details: https://bugzilla.yoctoproject.org/show_bug.cgi?id=2162

[Yocto #2162]

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Update version to 1.16.0

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>