Scott Rifenbark [Fri, 7 Feb 2014 20:39:47 +0000 (14:39 -0600)]
bitbake: user-manual-metadata.xml: Edits to "Variable Flags" section
Worked through this section with Richard providing an interactive
review. The changes are after the review. There was also a
small edit to the "Tasks" section.
Scott Rifenbark [Wed, 5 Feb 2014 22:31:46 +0000 (16:31 -0600)]
bitbake: user-manual-metadata.xml: Rewrite of the "Tasks" section.
I cleaned up this section with some general improvements.
I also broke this up into a couple sub-sections where it seemed
to logically fall. Also, stole some metadata concept from the
next section ("Running Tasks") that really should be lumped under
"Tasks".
This patch adds extra checks when selecting and writing
task and recipe objects to the database.
The patch fixes several issues where tasks may have been
misidentified between virtual-native and target tasks,
or spurious task objects may have been created.
bitbake: toaster: Move long content toggle to main.js
I have move all javascript needed for toggling very long
values for bitbake variables to main.js. I have changed the
names of the classes involved to make them more generic,
since I hope we'll be able to reuse them in other parts
of the Toaster interface.
.full-variable is now .full
.full-variable-hide is now full-hide
.full-variable-show is now full-show
I have also removed all the inline scripting in base.html, since
it is no longer needed.
Signed-off-by: Ravi Chintakunta <ravi.chintakunta@timesys.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake: toaster: Fix breadcrumb date format in detail pages
The template basebuilddetailpage.html had the completed
on date in the breadcrumb set to naturaltime. Changed to
d/m/y H:i to match the date format in the basebuildpage.html
template, so that breadcrumbs display the same date format across
all pages.
bitbake: toaster: Sort packages and dependencies in recipe.html
The tables in the Packages, Build dependencies and
Reverse build dependencies tabs in the recipe details
pages (template recipe.html) should be sorted by package
name and recipe name respectively.
bitbake: toaster: Change popover headings in recipes table
In the recipes table, dependencies and reverse dependencies
are shown inside a popover. The popover headings did not
match the table headings, so changed to "dependencies" and
"reverse dependencies" as per the design spec.
The help text for the Section information in the
recipes table and the recipe details page said
"packages" instead of recipes, and it said there
were 5 possible values for the SECTION variable
(which is not true).
Changed to "The section in which recipes should
be categorised"
bitbake: toaster: Hide the applied filter tooltip on click
When you apply a filter, we show you a tooltip on hover
that tells you which filter you have applied and allows you
to clear it quickly. That tooltip does not disappear
straight away if you click on the filter button: it hangs
in there because the tooltip has a delay specified on
hide. The effect is quite annoying.
This change to main.js makes sure the tooltip disappears when
you click the filter button.
bitbake: toaster: Add .muted class to disabled checkboxes
In the edit columns menu, the checkboxes for the columns in the
minimum table are disabled. To better communicate visually
the disabled state, this change applies the .muted class
to the labels of those checkboxes.
bitbake: toaster: Set the right styles for definition lists
In the task details page, our labels are quite long and
the default width of the dt elements in the .dl-horizontal
class is too small. Changing the width to 200px, and the
left margin of the dd element to 220px.
Changing the bootstrap.min.css file is not ideal (ok, is
a pretty bad hack), but it is the only way to keep the
nice responsive styles for those definition lists.
The templates bpackage.html, recipes.html and build.html included
an inline style declaration in the div containing the h1
tag to add a top margin of 40px. The extra top margin
is unnecessary in bpackage.html and recipes.html, but nicely
separates the Recent builds and All builds sections in build.html.
The changes remove the inline style declaration and create
a .top-air class in default.css to include the extra top margin
when needed, i.e. in the build.html template.
Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This optimization is in support of the bug #5485. The function called
at the beginning of every build: store_dependency_information was taking
approximately 20sec and it was delaying the arrival of events from the
event queue. The change minimizes the calls to _save_a_task(),
reducing the time to half.
Alexandru DAMIAN [Mon, 10 Feb 2014 14:26:12 +0000 (14:26 +0000)]
bitbake: toaster: mark dependency packages
We need to mark the package entries that are
created solely for dependency tracking purposes.
In order to avoid altering the database schema,
we mark the dependency targets with size = -1, since
this is not a valid size anyway and makes for easy
filtering.
Alexandru DAMIAN [Thu, 13 Feb 2014 13:12:39 +0000 (13:12 +0000)]
bitbake: toasterui: adding new task outcome empty
In order to separate tasks with invalid states from the
no exec tasks, we add a new value OUTCOME_EMPTY for the tasks.
OUTCOME_EMPTY has the same value as OUTCOME_NA as to maintain
compatibility with already existing builds. New value for
OUTCOME_NA can be used to detect tasks with invalid states, i.e.
it should never appear after finishing a build.
Paul Eggleton [Fri, 7 Mar 2014 14:48:48 +0000 (14:48 +0000)]
classes/uboot-config: ignore doc varflag
The doc varflag on UBOOT_CONFIG should be ignored by this code; without
this the recent addition of the UBOOT_CONFIG[doc] to documentation.conf
causes errors when UBOOT_MACHINE is used.
documentation.conf: sync with the Yocto Project reference manual
Make sure variables listed in the Glossary section of the reference
manual are listed here. There are still some listed here that aren't in
the manual; this should be fixed in the manual.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
David Nyström [Thu, 27 Feb 2014 20:20:37 +0000 (21:20 +0100)]
do_rootfs: Added PACKAGE_FEED_URIS functionality
Adding a common interface to add predefined package manager
channels to prebuilt rootfs:es.
Adding PACKAGE_FEED_URIS = "http://myre.po/repo/, will
assume repo directories named (rpm,ipk,deb) as subdirectories
and statically add them to the rootfs, using the same PKG_ARCHs
as the build which produced the images.
Tested with RPM, IPK and DEB.
deb feed functionality seem broken, is anyone using this ?
which are actually caused by some filenames included in package
containing '()' characters
Maybe we should change meta/classes/package.bbclass to
fail when some filedeprunner call fails like this and fix
filedeprunner to escape '()' and other possibly dangerous chars
it's called like this:
processed = list(pool.imap(oe.package.filedeprunner, pkglist))
* don't use shell=True
* show the command when it fails and let do_package task to fail
Ross Burton [Mon, 3 Mar 2014 20:23:34 +0000 (20:23 +0000)]
scripts: add lnr (link relative)
lnr is a simple script to generate relative symlinks from absolute paths,
similar to "ln -r" but without requiring coreutils 8.16 (Ubuntu 12.04 and others
currently ship 8.13).
oe-selftest: force some values in local.conf for _sstatetests_noauto.py
1) Some values should have default values in order for tests like sstate relocation to be relevant
- SSTATE_DIR needs to have default value
- SSTATE_MIRRORS need to be unset (we need the sstate files to be created)
- TMPDIR needs to be in default location
2) Added conf/auto.conf to list of ported files to secondary build directories
oe-selftest: optimize code in _sstatetests_noauto.py module
1) Some of the checks made when creating new directories are unnecessary beacause
the test will fail anyway if os.mkdir() fails, with the appropriate error message.
Removing this code.
2) Moved the adding to tracked paths for deletion of temporary build directories
and sstate-cache directories to after they are created. This makes more sense
and prevents deletion of these directories if they allready exist and may contain
useful data.
console-kit-log-system-start.service fails to to start if the
/var/log/ConsoleKit directory does not exist. Normally it is created
automatically but as we mount a tmpfs at /var/log, we need to add
a tmpfiles.d entry to create it.
Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Sat, 1 Mar 2014 20:52:47 +0000 (21:52 +0100)]
pango: Fix postinst by adding missing qemu-native dependency
* postinst_prologue calls qemu_run_binary but there is no
dependency on qemu-native which causes postinst to sometimes
fail which is fatal for building read-only rootfs
Khem Raj [Tue, 4 Mar 2014 23:22:15 +0000 (15:22 -0800)]
Upgrade to systemd-stable v208
Additional changes in ptest code since now
we have directories and not only bunch of files
under test/ dir so a simple install does not
work anymore we have to cp the files
Tom Zanussi [Fri, 7 Mar 2014 04:26:19 +0000 (22:26 -0600)]
lttng-modules: Exclude arm
lttng-modules and gcc-4.8 don't mix, according to the lttng ML
'current_thread_info() not respecting program order with gcc 4.8.x',
so remove it from arm builds.
Paul Eggleton [Thu, 6 Mar 2014 15:26:01 +0000 (15:26 +0000)]
js: remove
This is a very old version of Mozilla's Javascript engine, isn't
actually used by anything in OE-Core now that web is gone, and in public
layers outside of OE-Core is apparently only used by mediatomb within
meta-baryon.
Paul Eggleton [Thu, 6 Mar 2014 15:26:00 +0000 (15:26 +0000)]
zaurusd: remove
Despite the fact that it's currently specific to the Sharp Zaurus, we
kept this in OE-Core up to now as a potential basis for better handling
of device-specific customisations for a wider range of devices. Whilst
moving device-specific customisations to a more central point is still
a laudable goal, these days such functionality probably wouldn't be
implemented on top of zaurusd or even in the same way as zaurusd, and
thus it makes sense to leave its recipe to be maintained in the
meta-handheld layer (where a current recipe already exists.)
Robert Yang [Fri, 7 Mar 2014 06:59:34 +0000 (01:59 -0500)]
image_types.bbclass: use mke2fs -d to create the ext2/3/4 image
We used populate-extfs.sh which invoked the debugfs to create the image,
now the mke2fs' option "-d root-directory" can do the same thing, and
which is more faster, for example, the core-imag-sato:
* In the past:
$ time mke2fs -t ext4 rootfs.ext4
real 0m0.249s
user 0m0.036s
sys 0m0.132s
$ time populate-extfs.sh /path/to/rootfs/ rootfs.ext4
real 0m29.355s
user 0m10.637s
sys 0m5.544s
* Now:
$ time mkfs.ext4 -F -d /path/to/rootfs/ rootfs.ext4
real 0m6.338s
user 0m3.824s
sys 0m1.356s
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Reviewed-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Fri, 7 Mar 2014 06:59:31 +0000 (01:59 -0500)]
e2fsprogs: debugfs: use the functions in misc/create_inode.c
* Use the functions in misc/create_inode.c, and remove the duplicated
code.
* The CREATE_INODE_DEPS in the debugfs/Makefile.in is used for recording
create_inode.o's depends which is from misc/Makefile.in, we have to
recompile create_inode.o because we need it to print more messages when
it is used by debugfs, just like we recompile e2freefrag.o, but it seems
that the e2freefrag.o's depends in debugfs/Makefile.in is incorrect, it
would not rebuild when its depends (e.g.: lib/config.h) is changed,
which would cause unexpected errors. Make duplicated code in
debugfs/Makefile.in and misc/Makefile.in is not a good idea, maybe we'd
better define CREATE_INODE_DEPS in the top Makefile, I'd like to send
another patch and fix the e2freefrag if you are fine with it.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Reviewed-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Fri, 7 Mar 2014 06:59:30 +0000 (01:59 -0500)]
e2fsprogs: mke2fs: handle hardlinks
Create the inode and save the native inode number when we meet the hard
link (st_nlink > 1) at the first time, use ext2fs_link() to link the
name to the target inode number when we meet the same native inode
number again.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Reviewed-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Fri, 7 Mar 2014 06:59:29 +0000 (01:59 -0500)]
e2fsprogs: mke2fs: add an option: -d root-directory
This option is used for adding the files from a given directory (the
root-directory) to the filesystem, it is similiar to genext2fs, but
genext2fs doesn't fully support ext4.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Reviewed-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Reviewed-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Fri, 7 Mar 2014 06:59:27 +0000 (01:59 -0500)]
e2fsprogs: mke2fs: create directory
The do_mkdir_internal() is used for making dir on the target fs, most of
the code are from debugfs/debugfs.c, the debugfs/debugfs.c will be
modified to use this function.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Reviewed-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Fri, 7 Mar 2014 06:59:26 +0000 (01:59 -0500)]
e2fsprogs: mke2fs: copy regular file
The do_write_internal() is used for copying file from native fs to
target, most of the code are from debugfs/debugfs.c, the
debugfs/debugfs.c will be modified to use this function.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Reviewed-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Fri, 7 Mar 2014 06:59:25 +0000 (01:59 -0500)]
e2fsprogs: mke2fs: create symlink
The do_symlink_internal() is used for creating symlinks, most of the
code are from debugfs/debugfs.c, the debugfs/debugfs.c will be modified
to use this function.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Reviewed-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Fri, 7 Mar 2014 06:59:24 +0000 (01:59 -0500)]
e2fsprogs: mke2fs: create special file
The do_mknod_internal() is used for creating special file which is
block, character and fifo, most of the code are from debugfs/debugfs.c,
the debugfs/debugfs.c will be modified to use this function.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Reviewed-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Fri, 7 Mar 2014 06:59:23 +0000 (01:59 -0500)]
e2fsprogs: mke2fs: copy files recursively
Use opendir() and readdir() to read the native directory, then use
lstat() to identify the file type and call the corresponding function to
add the file to the filesystem, call the populate_fs() recursively if it
is a directory.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Reviewed-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Fri, 7 Mar 2014 06:59:22 +0000 (01:59 -0500)]
e2fsprogs: mke2fs: add the ability to copy files from a given directory
We will add a -d option which will be used for adding the files from a
given directory to the filesystem, it is similiar to genext2fs, but
genext2fs doesn't fully support ext4.
* We already have the basic operations in debugfs:
- Copy regular file
- Create directory
- Create symlink
- Create special file
We will move these operations into create_inode.h and create_inode.c,
then let both mke2fs and debugfs use them.
* What we need to do are:
- Copy the given directory recursively, this will be done by the
populate_fs()
- Set the owner, mode and other informations
- Handle the hard links
TODO:
- The libext2fs can't create the socket file (S_IFSOCK), do we have a
plan to support it ?
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Reviewed-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This clearly introduces a cross-kernel task dependency if the recipe
inheriting this class isn't the preferred provider of virtual/kernel, which is
obviously wrong, but further, will break the build if a kernel-yocto based
kernel is parsed and not skipped, but virtual/kernel refers to
a non-kernel-yocto recipe, which would not have the do_kernel_configme task.
Work around this by adding the in-recipe task dep programmatically with
bb.build.addtask when do_diffconfig exists.
Laurentiu Palcu [Mon, 3 Mar 2014 16:36:39 +0000 (18:36 +0200)]
image.py, rootfs.py, package_manager.py: redirect stderr to stdout when calling check_output()
If a command executed with subprocess.check_output() fails, the
subprocess.CalledProcessError.output contains only STDOUT and the user
needs to check the log.do_rootfs to see any other details.
This commit forwards stderr to stdout so that, in case of failure, the
entire error output will be displayed in terminal.
Richard Purdie [Fri, 7 Mar 2014 10:49:59 +0000 (10:49 +0000)]
wayland: Add target sysroot scanner m4 macro
With the new aclocals process, accesses to the macros is a lot stricter and
the native macros are not used. We need to ensure the modified macros are used
in target builds to get the correct scanner functionality. Inserting the
native macro into the target is the correct thing to do in this case.