macdeployqt: don't use hardcoded lib/ when searching for dylib

Currently when parsing otool output for dylibs, "lib/" is appended to
the path. However dylibs might not be always found in a lib folder like
e.g. the mysql client libraries from macports. This patch aims to remove
that hardcoded path and use the data from the currently parsed otool
line.

[ChangeLog][OS X][macdeployt] Fixed a bug where dynamic libraries where
searched in the wrong directory

Task-number: QTBUG-21913
Change-Id: I992d15bc48ad827185216852108b2d0a5633043e
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Bump version

Change-Id: Ib882880ca853660bdd3cd6388d4e94b020e87ce3
remove pointless empty column in message list

the view has one column less than the context list, so reflect that in
the model.

Change-Id: I51c87167bc334b47e4a35874a476823db4908790
Reviewed-by: hjk <hjk121@nokiamail.com>
Update copyright year in About dialogs

Change-Id: I4c911c809c3779f7ac59917d5d88a38628817f67
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
fix context checkmarks

not such a good idea to not count finished messages towards non-obsolete
ones.

amends 9d3cbd0a.

Task-number: QTBUG-34921
Change-Id: I22d0dd14c094a33973635c23e59c66d72c6c746a
Reviewed-by: hjk <hjk121@nokiamail.com>
Merge remote-tracking branch 'origin/5.3.2' into 5.3

Change-Id: I75765dd8b4ebe39933da89933df1d61ae209e0cd
Fix crash when accessing the content model.

1) Make sure invalidateContents() is called whenever the help engine's
   DB readers are destroyed.
2) In QHelpContentProvider::stopCollecting(), remove all root items, as
   they are invalid now: Their child items reference DB readers that
   are going to be destroyed.

Task-number: QTBUG-18829
Change-Id: Id9cc4ea99c43c36ad5c5d1f04157a68bac79d44a
Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
Fix framework bundle deployment

Rework copyFramework(). Split out dylib deployment
into copyDylib(). Remove the special symlink handling.
Always create symlinks from "Current" to the actual
version.

This ensures we're compatible with Apple's framework
bundle spec [1]. It also makes the 'codesign' utility
happy, easing the step to sandbox Qt OS X applications.

[1]: https://developer.apple.com/library/mac/documentation/
macosx/conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html

Task-number: QTBUG-32896
Change-Id: Ide23437c9bb6515d5013d37ae6ff4133a69085ad
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Add -codesign option.

Use the "codesign" tool with the provided signing identity to
sign all code binaries in the bundle. Application code binaries
include the app executable(s), plugin and framework/dylib
dependencies.

Finally, run "codesign --verify" to verify that the app
bundle is correctly signed.

Change-Id: Idfff030a2b218e1dc1ad1bc279a32a330665b347
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Make deployed Qt Quick imports code signable

The OS X code signing process enforces strict code/data
separation. Split up the Qt Quick imports; deploy
.dylibs to "Contents/Plugins/quick/", deploy .qml files
and other resources to "Resources/". Create symlinks
to the dylibs so that Qt Quick can load the imports
as usual.

Task-number: QTBUG-34810
Change-Id: If7e1f80b357598c8e3cc7dd46a9363387218d541
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Work around legacy framework structures.

Existing versions of qmake produce application bundles
which are incompatible with OS X code signing.

Deploy framework Info.plist files to the correct
location. Patch them to remove any "_debug" suffix
on the value for CFBundleExecutable.

Task-number: QTBUG-32896
Change-Id: Id657e394f3bf919713a43e395e716bf46488c644
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Prevent re-deploying already deployed imports.

Check if the target directory exists before copying
the import.

Change-Id: Id729f26b4b887c7a3b209aa88649eca3fc73b0ba
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Make sure the content widget never replaces valid data with empty data.

This could happen because insertContents() is called once for
every run of the content provider, even if an invalidation happens
in between. Example sequence:
    run()
    invalidate() [removes result of first run]
    run()
    insertContents() [queued for first run, retrieves result of second run]
    insertContents() [queued for second run, retrieves empty data]
We now check in insertContents() whether the content provider has a
valid root item and do nothing if it does not. This means that
insertContents() will never replace the current model data with empty
data; only invalidateContents() can do that from now on.
Further improvements:
    - Only call insertContents() if the run was not aborted; this
      reduces the number of useless objects in the event queue.
    - Remove the m_rootItem member; it was only used in the run() function.
    - Only add the root item to the list at the end of a successful run;
      there is no reason this object should be accessible from the outside
      while there are still children being added to it.

Change-Id: I80e2ea93dd9bbc8ab7f406c989b61f16f11b6eea
Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>