Shane Wang [Tue, 22 May 2012 11:33:23 +0000 (19:33 +0800)]
Hob: reimplement the proxy page
This patch is to reimplement the proxy page in the "Advanced Settings" dialog
per the new design in https://bugzilla.yoctoproject.org/attachment.cgi?id=442
and https://bugzilla.yoctoproject.org/attachment.cgi?id=443.
[Yocto #2247]
Signed-off-by: Shane Wang <shane.wang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The custom HobNotebook widget was implemented to address perceived
deficiencies in the gtk.Notebook API.
Recent inspection reveals that the API is capable of all that Hob
requires of it and therefore maintaining a custom class to provide
similar functionality does not make sense.
Addresses [YOCTO #2276]
Signed-off-by: Joshua Lock <josh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 15 May 2012 19:49:36 +0000 (19:49 +0000)]
bitbake/fetch: Spell out which fetcher backends support and recommend checksums
There were some hardcoded behaviours in the system for which backends
support checksums verses which backends recommend them verses which
don't recommend them.
This moves the functionality into specific fetchers and then makes the
general code generic. This cleans up the codebase and fixes some corner
cases such as trying to checksum directories returned by the git fetcher.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 13 May 2012 12:31:01 +0000 (12:31 +0000)]
bitbake/fetch: If checksums are available, check them for any file, local or remote
Currently, checksums are only checked for remote files. This changes
the check to apply to any file we have checksum data for. A mismatch
against a file is fatal but in the local case, no warnings are shown
about missing checksums.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 13 May 2012 12:00:45 +0000 (12:00 +0000)]
bitbake/fetch2: Improve visibility of checksum warnings when fetching from mirrors
When fetching from mirrors, checksum errors would get buried in the
logs. This raises their profile so a warning is logged on the console
when fetcher checksum issues are encountered, even if other attempts
are made to get the file (which may or may not have the same issue).
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 13 May 2012 07:40:42 +0000 (07:40 +0000)]
bitbake/fetch2: Improve stamp creation in mirror code
Under certain contitions such as local file:// mirrors of all files,
bitbake might not check checksums. This is not desirable and we should
always check the checksum where possible.
This only exception to this is the git mirror tarball case where the
checksum is unknown but we need to create the .done stamp for other
reasons. This patch preserves thta functionality but in a more specific
section of code where this doesn't interfere in normal checksums.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 13 May 2012 07:38:13 +0000 (07:38 +0000)]
bitbake/fetch2: Remove hardcoded file removal and use clean method
Under certain circumstances, bitbake could remove files which were
outside its control since it unconditionally removes ud.localpath.
In the file:// case this can point at external paths.
This patch converts it to use the clean() method which will remove
files when its safe to do so but not in the file:// case since the
file:// handler has an empty clean method. This means bitbake no
longer removes files outside its control and is generally much safer.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 11 May 2012 17:14:40 +0000 (18:14 +0100)]
bitbake/fetch2/git: Don't set the branch name to None, that makes no sense
With floating revisions and no specified branch, the fetcher could fail
with some obtuse errors. This was due to the branch name being set to None
which makes no sense. This patch reworks some conditions to avoid this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 10 May 2012 08:23:11 +0000 (09:23 +0100)]
bitbake/runqueue: Drop check_stamp_fn, it's obsolete and should not be used
This function was used by old code such as packaged staging but is thankfully
obsolete now and replaced with better mechanisms. Its time to remove it and
the horrible internal only variables associated with it.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 10 May 2012 08:22:22 +0000 (09:22 +0100)]
bitbake/runqueue: Drop check_stamps function, it is obsolete and unused
This was originally used to check the consistency of the stamps in one function
call. This turns out to be inefficient, unnecessary and if it were necessary,
check_stamp_task() could be called in a loop. The function has been unmodified
for a while and likely contains bugs. Its best simply removed.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- for a normal exit, use WEXITSTATUS, rather than manually shifting
- for exit via signal, set the exit code to 128+N, per shell convention
- if a process was stopped, return and don't handle it, as the process can yet
be continued
This should fix the case where bitbake says a task failed with an exit code of
0 (we assumed failure based on the overall status, but didn't pass all the
information along to task_fail).
Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Liming An [Tue, 8 May 2012 11:48:06 +0000 (19:48 +0800)]
Hob: add original url show function with the tooltip hyperlink for user
When case about No browser, such as running in 'Build Appliance', user can't open
the hyper link, so add this work around for user. (Checking the browser is avaiable
or not is hard by different system and browser type)
[YOCTO #2340]
Signed-off-by: Liming An <limingx.l.an@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 4 May 2012 15:18:55 +0000 (16:18 +0100)]
bitbake: Add start of bitbake regression/self testing
This adds some basic unit testing for the codeparser and data store code. Many of
the actual test cases were taken from work by Chris Larson's OE-Signatures work but with
changes to adapt to the current bitbake APIs we need to test.
I also imported CoW tests written by Holger Freyther from the original bitbake-test
codebase: http://svn.berlios.de/wsvn/bitbake/trunk/bitbake-tests/tests/ and
some tests from the doctests that were removed in commit:
http://git.openembedded.org/bitbake/commit?id=3a11c2807972bbbddffde2fa67fc380d159da467
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 4 May 2012 14:03:33 +0000 (15:03 +0100)]
bitbake/utils: Convert vercmp_string() to use vercmp internally
Having two different version comparision algorithms in bitbake has never seemed
like a sensible idea. Worryingly, they also return different results to each other.
The vercmp_string API is relatively unused with no users in OE-Core or BitBake
itself for example. This patch converts it to use vercmp internalls, bringing
consitency to the comparisions which is easy now we have other recently added
functions. Yes, this changes behaviour but in this case I'd prefer we were
consistent than having two different comparisions.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In original scheme, sanity check is part of the parsing process. If a
sanity check fails, it means the parsing is failed and values in Hob
GUI may not correct.
With this commit, Hob will actively issue sanity_check() after the
parsing is completed.
This fixes [YOCTO #2361]
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 16 Apr 2012 22:31:58 +0000 (23:31 +0100)]
bitbake-layers: hide deprecation warnings
There are a number of DeprecationWarnings within BitBake code which
bitbake itself filters out; bitbake-layers was not doing this, resulting
in a stream of warnings printed out when used with Python < 2.7 (these
warnings default to disabled on version 2.7 and above.)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hob: Set the "stop" button insensitive before hide it
If user stops a build, we need to firstly set the button insensitive and
then hide it. This ensures the button's init status is "insensitive" in
next build.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
data_smart: Improve the calculation of config hash
For config hash, we put the keys in structure of "set()", which is not
order sensitive. Therefore when calculating the md5 value for config
hash, we need to identify the order of the keys.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Liming An [Mon, 16 Apr 2012 08:53:27 +0000 (16:53 +0800)]
Hob: fixed the issue that the notebook overlay-scrollbar is overlapped
In those systems which had use gtk overlay-scrollbar feature,such as
Ubuntu 11.10, we have the issue with the multiple overlaped scrollbar in
'Recipe View' notebook or 'Package View' notebook, this patch is going to
fix it.
Signed-off-by: Liming An <limingx.l.an@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hob: Handle NoProvider event in runningbuild module
If NoProvider event is received, we will handle it in runningbuild
module and send notification to Hob instance, avoiding stepping into the
final page with no image built out.
This fixes [YOCTO #2249]
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Shane Wang [Sat, 14 Apr 2012 18:58:58 +0000 (02:58 +0800)]
Hob: remember layers and settings between Hob sessions
This patch is to remember layers and settings between Hob sessions, which
includes:
- Put some variables for the build details screen from Configuration to
Parameters because they are not actually for build but for show
- We create a dummy Configuration instance and a dummy Parameters instance
in __init__ of builder
- The two instances will be assigned the real values by
update_configuration_parameters() after parsing (in the event callback)
- When it is the first time to launch Hob in a build directory, nothing is
remembered since everything is fresh.
- The feature is implemented with templates, and based on the hook for Hob.
- When the user changes the layers or the settings, a default template file
is saved into ".hob/".
- Later on, the layers and the settings are remembered by loading the default
template automatically.
Signed-off-by: Shane Wang <shane.wang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Lianhao Lu [Thu, 12 Apr 2012 09:28:01 +0000 (17:28 +0800)]
bb.utils: Modifed vercmp() to meet Debian rules.
The version compare function vercmp() was not exatcly conforming to
Debian rules, e.g. it reported 'r1' > 'r1.1' but the Debian rules says
'r1' < 'r1.1'; it didn't support the "~" either.
Modified the vercmp() to meet Debian rules, so that it's compatible to
the rules used in opkg.
This part of the buf fixing of [YOCTO #2233].
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Shane Wang [Thu, 12 Apr 2012 14:22:44 +0000 (22:22 +0800)]
Hob: forbid users to exit Hob directly when Hob is busy
When Hob is busy with generating data, exiting Hob is not allowed.
That should be reasonable because at that time the mouse cursor is not a pointer.
If users want to exit, they can click "Stop" first and then do exit.
That is also a walkaround for [Yocto #2142]
Signed-off-by: Shane Wang <shane.wang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To make Hob's specific variable settings take effect, we add a Hob
config hook at the end of parsing for each configuration file, and in
the hook function, Hob will set its own variables to the data store.
This fixes:
[YOCTO #2210]
[YOCTO #2254]
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
ui/crumbs/utils.py: new file for choosing terminals
Adding this simple version of a terminal selector for use
hob since it's needed. Moving forward in the 1.3 release
the existing code in meta/lib/oe/termnial.py will be migrated
to core bitbake code and this will use that code.
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Liming An [Mon, 9 Apr 2012 14:13:51 +0000 (22:13 +0800)]
Hob:Fixed some incorrect values of Build configuration tab
Because some variables not be updated when building started, so add them
to the updating function of configuration class, and add reset function of
configurate treeview of building detail page
[YOCTO #2244]
Signed-off-by: Liming An <limingx.l.an@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Shane Wang [Mon, 9 Apr 2012 14:13:49 +0000 (22:13 +0800)]
Hob: forget selected_recipes and selected_packages after users change the machine
The patch is to fix [Yocto #2255]. Now the logic is:
- If users change the machine, the image combo is empty for users to select.
- If users load the template, the image combo should set the value of
selected_image specified in the template.
- After loading a template, if users change the machine, the selected_image
specified in the template should be removed from the image combo because
it is probably invalid for a new machine.
- If users customize the recipe/package list, and change the settings which
causes reparsing, selected_recipes and selected_packages should be remembered.
- If users add more layers, selected_recipes and selected_packages should be
remembered.
Signed-off-by: Shane Wang <shane.wang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Shane Wang [Mon, 9 Apr 2012 14:13:37 +0000 (22:13 +0800)]
Hob: clean up and unify the steps for CONFIG_UPDATE to call update_config_async()
For the steps in CONFIG_UPDATE, the patch consolidates them into
update_config_async() to call.
consequently remove CONFIG_UPDATE since MACHINE_SELECTION covers it.
Signed-off-by: Shane Wang <shane.wang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Shane Wang [Mon, 9 Apr 2012 14:13:36 +0000 (22:13 +0800)]
Hob: clean up and unify the steps for new build to call initiate_new_build_async()
initiate_new_build() (changed the function name into initiate_new_build_async()
to indicate it is an async function) or the similar sub-functions are called at
different places.
This patch is unify to call initiate_new_build_async().
Signed-off-by: Shane Wang <shane.wang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Liming An [Mon, 9 Apr 2012 14:13:32 +0000 (22:13 +0800)]
Hob: add fadeout display effection for recipe view include page
As UI request, in recipes selection page, if user exclude a item,
the related depends recipes will be excluded together,so the view
clearly to add it.
[YOCTO #2100]
Signed-off-by: Liming An <limingx.l.an@intel.com> Signed-off-by: Shane Wang <shane.wang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>