scm/bb/tizen-distro.git
10 years agolicense.bbclass: Dont create a manifest when using BUILD_IMAGES_FROM_FEEDS
David Nyström [Tue, 11 Feb 2014 15:00:05 +0000 (16:00 +0100)]
license.bbclass: Dont create a manifest when using BUILD_IMAGES_FROM_FEEDS

Wihtout this patch, FEEDS functionality is broken, and creating
a manifest from recipe metadata may be faulty when using FEEDS.

(From OE-Core rev: d926c0bdc58ab6dda55eed52b66dbd5834ced64f)

Signed-off-by: David Nyström <david.nystrom@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake: user-manual-metadata.xml: Edits to the "Sharing Functionality" section.
Scott Rifenbark [Tue, 4 Feb 2014 19:36:11 +0000 (13:36 -0600)]
bitbake: user-manual-metadata.xml: Edits to the "Sharing Functionality" section.

Applied some review edits from Paul to the section.

(Bitbake rev: 56321b18808f5ed932543d907b9ebcfbf4420233)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake: user-manual-metadata.xml: Edits to "Conditional Syntax (Overrides)"
Scott Rifenbark [Mon, 3 Feb 2014 22:55:51 +0000 (16:55 -0600)]
bitbake: user-manual-metadata.xml: Edits to "Conditional Syntax (Overrides)"

Re-wrote this section to use clearer more described examples.

(Bitbake rev: 6eea23c4783c591c2d2c7f0b2a98e7a0cc8aa3c3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake: user-manual-metadata.xml: Edits to "Defining Pure Python Functions"
Scott Rifenbark [Mon, 3 Feb 2014 18:07:43 +0000 (12:07 -0600)]
bitbake: user-manual-metadata.xml: Edits to "Defining Pure Python Functions"

Made a review edit here to the section per Paul Eggleton.

(Bitbake rev: 3b6ab095862367bc0101b995b002f62e7968ccf3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake: user-manual-metadata.xml: Edits through syntax section
Scott Rifenbark [Mon, 3 Feb 2014 17:51:04 +0000 (11:51 -0600)]
bitbake: user-manual-metadata.xml: Edits through syntax section

I made some general improvements in the "Overview" and
"Basic Syntax" sections.  Additionally, I added a blank
section for "Variable Flags" that will eventually hold general
information on this concept.  Finally, come review edits to the
"Defining Pure Python Functions" section per Paul Eggleton.

(Bitbake rev: 665d655f436f1a353f5fe467c5d97588f7b121c5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake: user-manual-intro.xml: General edits to Introduction chapter.
Scott Rifenbark [Mon, 3 Feb 2014 13:29:54 +0000 (07:29 -0600)]
bitbake: user-manual-intro.xml: General edits to Introduction chapter.

I performed a general edit to this chapter.  Some significant changes
include changing the chapter's title to "Overview" when it was titled
"BitBake User Manual", doing some consolidation of text to eliminate
a couple sections that described methods to obtain a copy of BitBake,
and various improvements as needed.

(Bitbake rev: f635c4b36af79b8572095083a392fb58c11198c9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake: user-manual-metadata.xml: Added "Checksums (Signatures)" section.
Scott Rifenbark [Wed, 29 Jan 2014 18:06:15 +0000 (12:06 -0600)]
bitbake: user-manual-metadata.xml: Added "Checksums (Signatures)" section.

Added this section to the end of the Metadata chapter.

(Bitbake rev: b653c58284cafd0b79991520543ca6239705d36b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake: user-manual-ref-variables.xml: Review edits to several variables in glossary.
Scott Rifenbark [Mon, 27 Jan 2014 15:01:21 +0000 (09:01 -0600)]
bitbake: user-manual-ref-variables.xml: Review edits to several variables in glossary.

ASSUME_PROVIDED
BBCLASSEXTEND
SRC_URI
PACKAGES_DYNAMIC
BB_NUMBER_THREADS
BB_DANGLINGAPPENDS_WARNONLY

(Bitbake rev: 8e586ccee6d5e78070d28cda67058578e1fe91d7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake: user-manual-ref-variables.xml: Added 11 new variables to glossary.
Scott Rifenbark [Fri, 24 Jan 2014 21:44:24 +0000 (15:44 -0600)]
bitbake: user-manual-ref-variables.xml: Added 11 new variables to glossary.

SRCREV_FORMAT
BUILDNAME
BB_ENV_WHITELIST
BB_PRESERVE_ENV
BB_ENV_EXTRAWHITE
BB_ORIGENV
BB_TASKHASH
BITBAKE_UI
BBDUBUG
BB_DEFAULT_TASK
BBINCLUDED

(Bitbake rev: 0e3106bfdebfa255b2db08a8a4585516d8bebe20)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake: user-manual-ref-variables.xml: Edits to FILESPATH.
Scott Rifenbark [Fri, 24 Jan 2014 21:10:13 +0000 (15:10 -0600)]
bitbake: user-manual-ref-variables.xml: Edits to FILESPATH.

(Bitbake rev: 64bdd3ba6fe90ed6e0338ad053c8117db0acfe2e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake: user-manual-ref-variables.xml: Added 6 new variables to glossary:
Scott Rifenbark [Fri, 24 Jan 2014 15:50:29 +0000 (09:50 -0600)]
bitbake: user-manual-ref-variables.xml: Added 6 new variables to glossary:

MULTI_PROVIDER_WHITELIST
CACHE
PERSISTENT_DIR
FETCHCMD
FILE
FILESDIR

(Bitbake rev: 4aa8c2f93cc126778f7e99229d99b398d603fcac)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake: user-manual-ref-variables.xml: Edits to PREFERRED_PROVIDER.
Scott Rifenbark [Fri, 24 Jan 2014 15:01:36 +0000 (09:01 -0600)]
bitbake: user-manual-ref-variables.xml: Edits to PREFERRED_PROVIDER.

(Bitbake rev: 9232cca08ec3f099475ad8dfc10e4fa3c2b39366)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake: user-manual-ref-variables.xml: Added PREFERRED_PROVIDERS to glossary.
Scott Rifenbark [Fri, 24 Jan 2014 14:59:25 +0000 (08:59 -0600)]
bitbake: user-manual-ref-variables.xml: Added PREFERRED_PROVIDERS to glossary.

(Bitbake rev: 86cacad8129502088011ebb622dd4d3d3663d39e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake: user-manual-ref-variables.xml: Added FAKEROOT* variables to glossary.
Scott Rifenbark [Fri, 24 Jan 2014 13:36:15 +0000 (07:36 -0600)]
bitbake: user-manual-ref-variables.xml: Added FAKEROOT* variables to glossary.

FAKEROOT
FAKEROOTCMD
FAKEROOTBASEENV
FAKEROOTDIRS
FAKEROOTENV
FAKEROOTNOENV

(Bitbake rev: 8480db0fa7d0363741e7075bb8169a9c1b6a71dd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake: user-manual-ref-variables.xml: Added BB* variables to glossary.
Scott Rifenbark [Thu, 23 Jan 2014 15:59:53 +0000 (09:59 -0600)]
bitbake: user-manual-ref-variables.xml: Added BB* variables to glossary.

BB_STRICT_CHECKSUM
BB_WORKERCONTEXT
BB_SIGNATURE_EXCLUDE_FLAGS
BB_HASHBASE_WHITELIST
BB_INVALIDCONF
BB_LOGFMT
BB_RUNFMT
BB_RUNTASK
BB_HASHBASE_WHITELIST
BB_STAMP_POLICY
BB_STAMP_WHITELIST
BB_SCHEDULER
BB_SCHEDULERS
BB_SETSCENE_DEPVALID
BB_SETSCENE_VERIFY_FUNCTION
BB_SIGNATURE_HANDLER
BB_SRCREV_POLICY
BB_VERBOSE_LOGS

(Bitbake rev: f02be6ca79fccc3c7bfbbadeef0c98242f661524)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agouseradd-staticids: Adjust USERADD_ERROR_DYNAMIC condition and error message
Mark Hatle [Mon, 10 Feb 2014 19:28:26 +0000 (13:28 -0600)]
useradd-staticids: Adjust USERADD_ERROR_DYNAMIC condition and error message

The USERADD_ERROR_DYNAMIC needs to check that both users and groups that are
defined need to be represented as static ids, or an error should occur.

For the user check, we want to make sure the uid is a numeric value.  (The gid
can be name, as the GROUPADD check will validate for a number there -- or
during install useradd will fail if that group is not defined.)

For the group check, we verify that the gid is specified and not left as a name.

Also two statements that can be uncommented for debugging were added so that
future development work on this code would be easier to do.

(From OE-Core rev: f35bbba65e3e41f8dea1f9ff872d3a9fbd84bf6d)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agouseradd-staticids: Fix groupadd when --user-group is selected
Mark Hatle [Mon, 10 Feb 2014 19:28:25 +0000 (13:28 -0600)]
useradd-staticids: Fix groupadd when --user-group is selected

When --user-group is selected (it's on by default as well) we want
to translate that to a groupname and disable the --user-group.  Before
we just disabled --user-group, but didn't always add the group to the
system.

This change ensures that we add the group (as long as we have enough
information to actually add the group), and we disable --user-group
in that case.  If a static groupid is not specified we continue to
use the groupname, but via an explicit groupadd.

(From OE-Core rev: ae83db0fdcf0b807ffdfc901f4d1c463fffee82a)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolinux-yocto: Use PACKAGE_ARCH in build dir
Darren Hart [Thu, 6 Feb 2014 04:02:44 +0000 (20:02 -0800)]
linux-yocto: Use PACKAGE_ARCH in build dir

The current linux-yocto build dir (B) includes MACHINE. This has been
appropriate as kernels are typically built machine-specific. We have
recently introduced an intel-common type kernel which can be shared
across multiple machines sharing a common base (intel-core2-32,
intel-corei7-64). In these cases, the kernel is built for a something
more generic than MACHINE, and the current mechanism results in
something like this when building for MACHINE=sys940x (using intel-common):

tmp/work/core2-32-intel-common-poky-linux/linux-yocto-dev/ \
3.13++gitAUTOINC+e5d23e7879_889c6bec6b-r0/linux-sys940x-noemgd-standard-build

Note the descrepancy between core2-32-intel-common and
linux-sys940x-noemgd-standard-build. This becomes counterintuitive at
the very least when switching to another machine and attempting to reuse
this build. This patch swaps MACHINE for PACKAGE_ARCH (which is
typically MACHINE_ARCH for linux-yocto), resulting in the following
build path:

tmp/work/core2-32-intel-common-poky-linux/linux-yocto-dev/ \
3.13++gitAUTOINC+e5d23e7879_889c6bec6b-r0/linux-core2-32-intel-common-standard-build

The impact to existing MACHINEs is a replace of - with _ if MACHINE
contains one or more - charachters.

(From OE-Core rev: 54590cdb940b6145ac92729ebf9bb7e7e537f5e2)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: Bruce Ashfield <bruce.ashfield@windriver.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolinux-yocto/3.10: add powermanagement config to 32 bit common-pc
Bruce Ashfield [Fri, 7 Feb 2014 19:04:51 +0000 (14:04 -0500)]
linux-yocto/3.10: add powermanagement config to 32 bit common-pc

The introduction of LTSI has exposed a missing dependency on cpufreq
being enabled. To fix the build, we enable power management in the
32 bit BSP, which aligns it with 64 bit.

(From OE-Core rev: e859ebf08e73091640bd4d7329bbbe44270c4bf0)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolinux-yocto/3.10: integrate LTSI
Bruce Ashfield [Tue, 4 Feb 2014 17:34:26 +0000 (12:34 -0500)]
linux-yocto/3.10: integrate LTSI

Updating the SRCREVs of the 3.10 tree to reflect the integration of
of commit 68054859 from:

    git://git.linuxfoundation.org/ltsi-kernegit://git.linuxfoundation.org/ltsi-kernel.git

Build and boot tested on all qemu architectures.

(From OE-Core rev: 41a6b620f6e00d9222989058b3620cadc940ac21)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agopackage.bbclass: fix strip and split logic
Koen Kooi [Tue, 21 Jan 2014 09:47:12 +0000 (10:47 +0100)]
package.bbclass: fix strip and split logic

Marks original commit message and variable documentation state that stripping and splitting are independent of eachother, but package.bbclass ANDs the two INHIBIT flags to see which files can be stripped and/or split.

Original behaviour:

INHIBIT_PACKAGE_STRIP: no strip, no debug split
INHIBIT_PACAKGE_DEBUG_SPLIT: no strip, no debug split

Behaviour after this patch:

INHIBIT_PACKAGE_STRIP: no strip, no debug split
INHIBIT_PACKAGE_DEBUG_SPLIT: strip, no split

(From OE-Core rev: 8ea3cc2c45d4e34bb68bd3e0bc359204c772133c)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agopython-smartpm: really ignore conflicts during install with --attempt
Paul Eggleton [Thu, 6 Feb 2014 13:39:01 +0000 (13:39 +0000)]
python-smartpm: really ignore conflicts during install with --attempt

The original patch added in OE-Core commit
bdf07b1698d228dc7ff555199a269b1ff8ceca19 was supposed to ignore
conflicts, but it was unable to do so because it wasn't raising errors
in the right place. When the --attempt option is used (as is done in
complementary package installation for RPM), raise errors immediately
on conflicts, catch errors at the right point so that requested packages
and their dependencies can be ignored, and print appropriate warnings
when doing so.

Fixes [YOCTO #5313].

(From OE-Core rev: 210a426584b77ad2331332059af85bb9f4e2081f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoconf/bitbake.conf: default HOMEPAGE to blank instead of unknown
Paul Eggleton [Thu, 6 Feb 2014 13:33:45 +0000 (13:33 +0000)]
conf/bitbake.conf: default HOMEPAGE to blank instead of unknown

The default value for HOMEPAGE of "unknown" has been in place since the
early OE-Classic days, but it doesn't really make sense - "unknown" is
not a valid URL and it just means we have to explicitly check for this
hardcoded string if we're displaying the value in some form of UI, such
as Toaster.

This has required some changes to the packaging classes as they
previously did not expect the value to be blank.

(From OE-Core rev: 244e1d73ef58e92d73c098044c66bd784644b933)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agotestimage: fail if no package manifest is found
Stefan Stanacar [Sun, 9 Feb 2014 10:39:31 +0000 (12:39 +0200)]
testimage: fail if no package manifest is found

Sometimes we may forget to actually build the image
we want to test (when testimage task is called manually).
Instead of an ugly traceback we should fail nicely.
The manifest is written after the rootfs so this ensures
the image was actually built.

(From OE-Core rev: 85c8dd4170a88a5d7f3d9ca181e75720302727c5)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agooeqa/utils: targetbuild: take proxy into account
Stefan Stanacar [Sun, 9 Feb 2014 10:39:30 +0000 (12:39 +0200)]
oeqa/utils: targetbuild: take proxy into account

A previous commit broke downloads
when proxies are involved, let's fix it.

(From OE-Core rev: 97e263b99cbe8184a74f80738fd471cfdef29e0c)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agokernel: use oldnoconfig before yes '' | make oldconfig
Alexandre Belloni [Fri, 7 Feb 2014 16:30:32 +0000 (17:30 +0100)]
kernel: use oldnoconfig before yes '' | make oldconfig

When using a defconfig, using yes '' | make oldconfig may not result in
the correct configuration being set. For example:

 $ ARCH=mips make qi_lb60_defconfig
 #
 # configuration written to .config
 #
 $ grep USB_ETH .config
 CONFIG_USB_ETH=y
 # CONFIG_USB_ETH_RNDIS is not set
 # CONFIG_USB_ETH_EEM is not set

 $ cp arch/mips/configs/qi_lb60_defconfig .config
 $ yes '' | make ARCH=mips oldconfig
[...]
 $ grep USB_ETH .config
 CONFIG_USB_ETH=m
 # CONFIG_USB_ETH_RNDIS is not set
 # CONFIG_USB_ETH_EEM is not set

Using make olddefconfig solves that but we'll use the oldnoconfig alias
for backward compatibility with older kernels.

 $ cp arch/mips/configs/qi_lb60_defconfig .config
 $ make ARCH=mips oldnoconfig
 scripts/kconfig/conf --olddefconfig Kconfig
 #
 # configuration written to .config
 #
 $ grep USB_ETH .config
 CONFIG_USB_ETH=y
 # CONFIG_USB_ETH_RNDIS is not set
 # CONFIG_USB_ETH_EEM is not set

(From OE-Core rev: 9b75f6a5786ff7b2e6219d78b38f0032f100c660)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agokernel: stop using -exec rm for deleting files
Bruce Ashfield [Mon, 10 Feb 2014 20:15:29 +0000 (15:15 -0500)]
kernel: stop using -exec rm for deleting files

Removing files from the source tree via find, exec and rm is not the
most efficient operation, due to (among other things) the many forked
processes.

If we use -delete, it saves a significant amount of time. But -delete
does not work with -prune (since it forces -depth). To maintain the
lib, tools and scripts source files, we can hide them temporarily,
skip their hidden directories and then finally restore them.

Time for install before this change:

 real    2m48.563s
 user    0m35.220s
 sys     0m33.036s

Time for install after this change:

 real    1m21.301s
 user    0m33.160s
 sys     0m28.388s

We could further speed this up by using inline perl to delete the files,
but that complexity is avoided for now.

(From OE-Core rev: 01932d6bbc71e86fd903097b5339e91f76846388)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agosystemd: Fix misc journald memory bugs
Khem Raj [Tue, 11 Feb 2014 03:33:35 +0000 (19:33 -0800)]
systemd: Fix misc journald memory bugs

These set of patches fix journald exhibiting some issues
under load.

One of the prevelant issues is that when appending to journal
it is not able to allocate memory and starts taking 100% cpu
spewing errors like

systemd-journald[2934]: Failed to write entry (19 items, 452 bytes), ignoring: Cannot allocate memory

Other memory issues crept up with time e.g.vacuuming

(From OE-Core rev: b1bdc1c6fb6914d85f888acde9d806d5560c84d8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake: runqueue: Fix setscene hard dependency problems
Richard Purdie [Mon, 10 Feb 2014 22:50:28 +0000 (22:50 +0000)]
bitbake: runqueue: Fix setscene hard dependency problems

Commit c54e738e2b5dc0d8e6fd8e93b284ed96e7a83051 added in the idea of hard dependencies
such as the case a setscene has a hard dependency on pseudo-native and that
dependency wasn't available from sstate for some reason.

Unfortunately the implementation was a bit too enthusiastic, causing rebuilds
of things when it wasn't necessary. A test case was:

bitbake quilt-native
bitbake quilt-native -c clean
bitbake <some-image>

and then you'd watch quilt-native get rebuilt for no good reason.

The clue to the problem is in the for loop where it never depends on
the item being iterated over.

The fix is to include the exact list of hard dependencies rather than
guessing. With these changes, the use case above works, the one in
the original commit also works.

This patch also adds in or cleans up various pieces of logging to
allow issues like this to be more easily debugged in future.

(Bitbake rev: 81bd475585ff1b44b390036b1eca0feae7c149eb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoimage.py, package_manager.py, rootfs.py: dump command output on error
Laurentiu Palcu [Mon, 10 Feb 2014 11:08:59 +0000 (13:08 +0200)]
image.py, package_manager.py, rootfs.py: dump command output on error

Print the entire command output in case of errors.

(From OE-Core rev: 2253c9ac2caa61dee0bd4fea04d4d77b79be7b36)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/package_manager.py: RpmPM: fix issue with multilib builds
Laurentiu Palcu [Mon, 10 Feb 2014 07:32:04 +0000 (09:32 +0200)]
lib/oe/package_manager.py: RpmPM: fix issue with multilib builds

Use python sets instead of lists, to avoid duplicates. When doing a
multilib build, "smart channel --add" fails because it tries to add
'all' channel twice.

(From OE-Core rev: 730d675090eec5c03e444f0448d96a52035d0bef)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/package_manager.py: check that package list is not empty
Laurentiu Palcu [Wed, 5 Feb 2014 13:25:18 +0000 (15:25 +0200)]
lib/oe/package_manager.py: check that package list is not empty

If we're just attempting to install packages and the package list is
empty, just return.

(From OE-Core rev: 8bf5d80e3502a71fdda688aace0799b47ae19b3b)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agorootfs.py, package_manager.py, sdk.py: Fix building from feeds feature for opkg
Laurentiu Palcu [Wed, 5 Feb 2014 09:08:34 +0000 (11:08 +0200)]
rootfs.py, package_manager.py, sdk.py: Fix building from feeds feature for opkg

When using opkg as the PM backend, one has the option to provide custom
feeds to create the rootfs from.

This commit:
 * fixes this in the refactored code;
 * moves the custom config creation code to python;
 * clean up the package-ipk.bbclass;

(From OE-Core rev: 19c538f57c8fa7c566e88a6dbe13ea4826d4f26c)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/package_manager.py: OpkgPM, bad recommendation handling change
Laurentiu Palcu [Mon, 3 Feb 2014 09:41:45 +0000 (11:41 +0200)]
lib/oe/package_manager.py: OpkgPM, bad recommendation handling change

The following commit:

rootfs_ipk: Ensure that BAD_RECOMMENDATIONS are honoured for all
architectures

changed the way BAD_RECOMMENDATIONS are handled. Make the change in the
new code too.

(From OE-Core rev: 7e518e399da51de3b159bd6804735b2f14c39357)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/package_manager.py: do not use stamps
Laurentiu Palcu [Fri, 31 Jan 2014 16:49:12 +0000 (18:49 +0200)]
lib/oe/package_manager.py: do not use stamps

Using stamps shortens rootfs/image creation because the package indexes
are not created again if no new package was installed in the deploy dir.
Unfortunately, there are some syncronization issues with
do_package_write_*() and the indexes are not properly created.

Will have to revisit this issue in the near future. For now, lose it.

(From OE-Core rev: 276f2a8a072ce243daa74210934ee63046e9c480)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/rootfs.py: OpkgRootfs, fix issue in _get_delayed_postinsts()
Laurentiu Palcu [Thu, 30 Jan 2014 19:55:32 +0000 (21:55 +0200)]
lib/oe/rootfs.py: OpkgRootfs, fix issue in _get_delayed_postinsts()

Status file path was not created correctly.

(From OE-Core rev: 628c4bce36ca0bc2b316ec78cf58b02a42e7f35f)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/package_manager.py: OpkgPM/DpkgPM fixes
Laurentiu Palcu [Thu, 30 Jan 2014 19:40:24 +0000 (21:40 +0200)]
lib/oe/package_manager.py: OpkgPM/DpkgPM fixes

This commit:
 * adds missing mark_packages() function for OpkgPM. This is needed to
 * manually change the packages installation status in the status file;
 * fix OpkgPM remove_packaging_data() issue;
 * fix OpkgPM handle_bad_recommendations() issue;
 * improve OpkgPM/DpkgPM mark_packages() regex pattern;
 * fix DpkgPM list_installed() problem;
 * fix DpkgPM _create_configs() problem: status file should not be
   truncated if it already exists/

(From OE-Core rev: d50a40100763dcbfabec2c147fdfcb46aa909329)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/image.py: fix image size calculation routine
Laurentiu Palcu [Thu, 30 Jan 2014 12:40:48 +0000 (14:40 +0200)]
lib/oe/image.py: fix image size calculation routine

The IMAGE_ROOTFS_EXTRA_SPACE value was not correctly added to the base
size.

(From OE-Core rev: f3ac2a68ae0ae9bdf2a03c1b6d0f83c9918d58bd)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/package_manager.py: DpkgPM, use lock on deploy dir
Laurentiu Palcu [Tue, 28 Jan 2014 12:43:14 +0000 (14:43 +0200)]
lib/oe/package_manager.py: DpkgPM, use lock on deploy dir

Lock deploy directory against concurrent index creation.

(From OE-Core rev: 127d19b84e78b5e650d0e6d7eaf29a8b7d799e5e)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoscripts/postinst-intercepts: do not redirect errors to /dev/null
Laurentiu Palcu [Tue, 28 Jan 2014 08:39:32 +0000 (10:39 +0200)]
scripts/postinst-intercepts: do not redirect errors to /dev/null

The redirection was necessary with the old bash code because the log
checking routine was searching for error strings in the log and abort
the build in case failures occured. With the new python code,
redirecting the intercept stderr is no longer necessary. This also makes
the intercept hooks easier to debug.

(From OE-Core rev: e2c3c59b26d84cd4052a953adafcd4d456264c26)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/rootfs.py: warn the user if intercept hooks fail
Laurentiu Palcu [Tue, 28 Jan 2014 08:28:30 +0000 (10:28 +0200)]
lib/oe/rootfs.py: warn the user if intercept hooks fail

The idea of postinstall intercept hooks is to run CPU intensive
postinstalls (like the ones generating font/pixbuf/icon caches) on host,
at rootfs generation time. So, ideally, the user would like to know if
the intercepts fail on host.

With this patch, the user will see warnings on console if intercept
hooks fail to execute.

(From OE-Core rev: 5666ce9720132a76b5ff6e99712e240b8dc8e47a)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/package_manager.py: RpmPM fixes
Laurentiu Palcu [Tue, 28 Jan 2014 08:24:22 +0000 (10:24 +0200)]
lib/oe/package_manager.py: RpmPM fixes

This commit:
 * fixes a crash when handling interecept hook failures which happened when
   MULTILIB_GLOBAL_VARIANTS was not set;
 * convert dashes to underscores and use sets (so that we make sure the
   items are unique) when creating RPM repos;
 * uses a regex pattern to search for packages in the feeds list. The
   old method could match also strings in the middle. For example: 'rpm'
   matched 'kernel-module-lttng-probe-rpm" in qemux86_64 feeds;
 * issue a bb.fatal if smart returns error while installing packages.
   Otherwise we might end up with an incomplete image...
 * fixes the /etc/rpm/platform file creation;

(From OE-Core rev: b98c7e4945f1c36a6e4f98144a3af4f3049450ae)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/package_manager.py: moving global SCRIPTLET_FORMAT and DB_CONFIG_CONTENT to...
Hongxu Jia [Mon, 27 Jan 2014 08:43:48 +0000 (16:43 +0800)]
lib/oe/package_manager.py: moving global SCRIPTLET_FORMAT and DB_CONFIG_CONTENT to RpmPM

The tweak made the code looks better.

(From OE-Core rev: 8e06be633222635c549d7f067218e8b833e76bda)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agopackage_manger.py/rootfs.py: rename save_rpmpostinist with save_rpmpostinst
Hongxu Jia [Mon, 27 Jan 2014 08:22:05 +0000 (16:22 +0800)]
package_manger.py/rootfs.py: rename save_rpmpostinist with save_rpmpostinst

The tweak made the code looks better.

(From OE-Core rev: 61981755b4738ccc49be0e790de828f4166ef0e8)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agopopulate_sdk_rpm.bbclass: remove old shell code
Hongxu Jia [Mon, 27 Jan 2014 07:08:58 +0000 (15:08 +0800)]
populate_sdk_rpm.bbclass: remove old shell code

The old code no more needed since the job is done in python now.

(From OE-Core rev: 96bf2a93bb75fea23732014106039e14d72cd1c7)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/rootfs.py: fix invoking _run_intercepts failed
Hongxu Jia [Mon, 27 Jan 2014 06:38:58 +0000 (14:38 +0800)]
lib/oe/rootfs.py: fix invoking _run_intercepts failed

- The variable D is needed by intercepts scripts;

(From OE-Core rev: 3d37dcdb836b59d8a7f880ce22d06760eb8af232)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/package_manager.py: fix invoking rpm save_rpmpostinist failed
Hongxu Jia [Mon, 27 Jan 2014 06:36:25 +0000 (14:36 +0800)]
lib/oe/package_manager.py: fix invoking rpm save_rpmpostinist failed

- Use self.target_rootfs instead of self.image_rootfs as saved dir;
- Remove redundant comment line;

(From OE-Core rev: 41d6edab676277afbcaa6cf41cd64a5663f09dc7)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/rootfs.py: fix invoking rpm _handle_intercept_failure failed
Hongxu Jia [Mon, 27 Jan 2014 06:32:02 +0000 (14:32 +0800)]
lib/oe/rootfs.py: fix invoking rpm _handle_intercept_failure failed

(From OE-Core rev: 7858c8ac141a7bf66c65ddc7e4b39ad937a7e084)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoCleanup rootfs_rpm,package_rpm bbclass files
Hongxu Jia [Mon, 27 Jan 2014 02:08:15 +0000 (10:08 +0800)]
Cleanup rootfs_rpm,package_rpm bbclass files

This commit cleans up the functions that were ported to python.

(From OE-Core rev: a4fe5263a683b73d0318fe3c0c55382c084f25b5)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoimage.bbclass/populate_sdk_base.bbclass: shift position of sdk complementary install...
Hongxu Jia [Mon, 27 Jan 2014 02:05:10 +0000 (10:05 +0800)]
image.bbclass/populate_sdk_base.bbclass: shift position of sdk complementary install definition

The sdk complementary install operation was defined in image.bbclass,
but the sdk recipe (such as meta-toolchain.bb) didn't inherit this
bbclass but populate_sdk, and both of image and populate_sdk bbclass
inherited populate_sdk_base bbclass, so move the sdk complementary
install definition to populate_sdk_base bbclass fixed this issue.

(From OE-Core rev: 907458935bab391f5bfba8f581ea9835078548d9)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/sdk.py: support RpmRootfs
Hongxu Jia [Mon, 27 Jan 2014 01:55:15 +0000 (09:55 +0800)]
lib/oe/sdk.py: support RpmRootfs

- Implementation RpmSdk class

(From OE-Core rev: 417b27ce5c1ea2fe2057caa898291cce0c043359)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolicense.bbclass: fix license_create_manifest failed
Hongxu Jia [Mon, 27 Jan 2014 01:49:08 +0000 (09:49 +0800)]
license.bbclass: fix license_create_manifest failed

While rpm incremental image generation enabled, invoked
license_create_manifest failed.
...
| ln: failed to create symbolic link 'tmp/work/qemux86_
64-poky-linux/core-image-base/1.0-r0/rootfs/usr/share/
common-licenses/alsa-conf-base/generic_GPLv2':File exists
| WARNING:tmp/work/qemux86_64-poky-linux/core-image-base/
1.0-r0/temp/run.license_create_manifest.26327:1 exit 1 from
|   ln -s ../${lic}/home/jiahongxu/yocto/build-20140120-
yocto-qemux86-64/tmp/work/qemux86_64-poky-linux/core-image
-base/1.0-r0/rootfs/usr/share/common-licenses/${pkg}/${lic}
...

(From OE-Core rev: 39f8658033c886fedefc9038a673f9a5edad7d26)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoimage.bbclass/license.bbclass: ajustment list_installed_packages invoking
Hongxu Jia [Mon, 27 Jan 2014 01:41:31 +0000 (09:41 +0800)]
image.bbclass/license.bbclass: ajustment list_installed_packages invoking

Since the list_installed_packages() function has refactored in
python, do the necessary adjustments to license_create_manifes-
t() and write_image_manifest() in license.bbclass and image.bb-
class respectively;

(From OE-Core rev: 4477991633d2971c17afbd0874b1ab2efb7d6eef)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/image.py: fix get rootfs_extra_space failed
Hongxu Jia [Sun, 26 Jan 2014 10:20:49 +0000 (18:20 +0800)]
lib/oe/image.py: fix get rootfs_extra_space failed

The value of IMAGE_ROOTFS_EXTRA_SPACE is "0 + 51200",
we should use eval rather than int in python.

(From OE-Core rev: dd3418e2db732ca1bc78fd93efa3f08da88a1183)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agorootfs.py: strip kernel-abiversion useless readline
Hongxu Jia [Sun, 26 Jan 2014 10:14:17 +0000 (18:14 +0800)]
rootfs.py: strip kernel-abiversion useless readline

It failed to read Kernel version from kernel-abiversion
file, the reason was it didn't strip the readline.
...
 Error: Kernel version 3.10.25-yocto-standard
  does not match kernel-abiversion (3.10.25-yocto-standard)
...

(From OE-Core rev: 17a0a8f44fe344ab1ae49730d9f17705b43987e5)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agorootfs.py: fix uninstall uneeded pkgs failed
Hongxu Jia [Sun, 26 Jan 2014 10:09:47 +0000 (18:09 +0800)]
rootfs.py: fix uninstall uneeded pkgs failed

The refactor of shell function rootfs_uninstall_unneeded is incorrect,
it should check and update the installed_pkgs.txt file for the existance
of the packages that were removed.
...
rootfs_uninstall_unneeded () {
    if ${@base_contains("IMAGE_FEATURES", "package-management", "false", "true", d)}; then
        if [ -z "$(delayed_postinsts)" ]; then
            # All packages were successfully configured.
            # update-rc.d, base-passwd, run-postinsts are no further
            # use, remove them now
            remove_run_postinsts=false
            if [ -e ${IMAGE_ROOTFS}${sysconfdir}/init.d/run-postinsts ]; then
                remove_run_postinsts=true
            fi

            # Remove package only if it's installed
            pkgs_to_remove="update-rc.d base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}"
            for pkg in $pkgs_to_remove; do
                # regexp for pkg, to be used in grep and sed
                pkg_regexp="^`echo $pkg | sed 's/\./\\\./'` "
                if grep -q "$pkg_regexp" ${WORKDIR}/installed_pkgs.txt; then
                rootfs_uninstall_packages $pkg
                sed -i "/$pkg_regexp/d" ${WORKDIR}/installed_pkgs.txt
                fi
            done
...

(From OE-Core rev: 9cdecb3935962653733705ad6313558bfd4fda29)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/rootfs.py: Tweak the rootfs removing operation
Hongxu Jia [Sun, 26 Jan 2014 10:01:13 +0000 (18:01 +0800)]
lib/oe/rootfs.py: Tweak the rootfs removing operation

Move the bb.utils.remove(self.image_rootfs, True) from the base class
constructor, to Opkg/Ipkg constructors after super's constructor is
called.

(From OE-Core rev: 66d86c4bbb9423c9fe0fc89005530be54068d401)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/rootfs.py: support RpmRootfs
Hongxu Jia [Sun, 26 Jan 2014 09:56:24 +0000 (17:56 +0800)]
lib/oe/rootfs.py: support RpmRootfs

- Implementation RpmRootfs class
- Refactor list_installed_packages in python

(From OE-Core rev: b3eeb0edf3f0296d30d7e62628bde722402bdb9d)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/package_manager.py: support RpmPM
Hongxu Jia [Sun, 26 Jan 2014 09:40:55 +0000 (17:40 +0800)]
lib/oe/package_manager.py: support RpmPM

- Implementation RpmPM class
- Support rpm incremental image generation

(From OE-Core rev: ca5203d6b1bb0cbf7830ea4f46109c6867138efc)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/manifest.py: add rpm image manifest creation
Hongxu Jia [Thu, 23 Jan 2014 08:47:00 +0000 (16:47 +0800)]
lib/oe/manifest.py: add rpm image manifest creation

Implementation RpmManifest class.

(From OE-Core rev: a0ef59ef9263653877db4853633883f2684d7a30)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agopopulate_sdk_(deb|ipk).bbclass: remove old shell code
Laurentiu Palcu [Wed, 22 Jan 2014 12:33:57 +0000 (14:33 +0200)]
populate_sdk_(deb|ipk).bbclass: remove old shell code

The old code no more needed since the job is done in python now.

(From OE-Core rev: 58f06621aa1a5618dc969e8d1b537e32763a9461)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoimage.bbclass: change POPULATE_SDK_POST_TARGET_COMMAND
Laurentiu Palcu [Wed, 22 Jan 2014 12:31:53 +0000 (14:31 +0200)]
image.bbclass: change POPULATE_SDK_POST_TARGET_COMMAND

Since rootfs_install_complementary() is now implemented in python for
each backend, remove it from POPULATE_SDK_POST_TARGET_COMMAND. Call it
directly in python.

(From OE-Core rev: c941fce37eb1ca7b77e5885c3e3e776f9538754b)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agopopulate_sdk_base.bbclass: activate the new python routines
Laurentiu Palcu [Wed, 22 Jan 2014 12:30:03 +0000 (14:30 +0200)]
populate_sdk_base.bbclass: activate the new python routines

Lose the old shell populate_sdk_image() function and use the new python
implementation.

(From OE-Core rev: 5a81b8a0820ceac972a68af2caebdc8d2f3945a1)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/sdk.py: add SDK class
Laurentiu Palcu [Wed, 22 Jan 2014 12:21:39 +0000 (14:21 +0200)]
lib/oe/sdk.py: add SDK class

This new file contains the python 'populate sdk' implementation of the
old bash populate_sdk_image() function for Opkg and Dpkg.

(From OE-Core rev: 6247efaba592db924e6466c39aef441f0e07c62a)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/package_manager.py: fixes for dpkg backend
Laurentiu Palcu [Wed, 22 Jan 2014 12:15:02 +0000 (14:15 +0200)]
lib/oe/package_manager.py: fixes for dpkg backend

This commit contains the following fixes:
 * pass the apt config directory to the DpkgPM constructor, so one can
   instantiate this class multiple times and give it different config
   files (like for creating SDK);
 * change constructor argument name from 'dpkg_archs' to 'base_archs';
 * export APT_CONFIG environment variable before calling apt-get, not in
   constructor. If done in constructor, the last class instantiation,
   sets the environment, which is note desireable;

(From OE-Core rev: dc626cbcfd37c940bb8739b14d3ab8097e1760ea)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/rootfs.py: use Manifest.INSTALL_ORDER
Laurentiu Palcu [Wed, 22 Jan 2014 12:12:40 +0000 (14:12 +0200)]
lib/oe/rootfs.py: use Manifest.INSTALL_ORDER

Since the Manifest class has this property, use it. This contains the
default package installation order.

(From OE-Core rev: bb1fb4ceb544c161ed30cd102155657e3771859b)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/manifest.py: create manifests for SDK too
Laurentiu Palcu [Wed, 22 Jan 2014 11:53:50 +0000 (13:53 +0200)]
lib/oe/manifest.py: create manifests for SDK too

This commit contains several changes:
 * it is possible to create manifests for following types of images:
   regular image, target SDK and host SDK. To distinguish between these
   types of manifests, one has to pass the manifest_type argument to the
   contructor or create_manifest() wrapper. The manifest type can have
   the following values: image, sdk_host, sdk_target;
 * move image_rootfs variable to _create_dummy_initial() since it's used
   only here. This function will probably be removed in the future;
 * fix a bug in the Dpkg class;
 * add INSTALL_ORDER property to Manifest class which contains the
   default install order for the packages and will be used Rootfs/Sdk
   classes;

(From OE-Core rev: a8c1b7504bf9cd5625fdecfdc3c3adce53aa164c)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoimage.bbclass, lib/oe/rootfs.py: remove intercept_scripts directory
Laurentiu Palcu [Mon, 13 Jan 2014 09:33:00 +0000 (11:33 +0200)]
image.bbclass, lib/oe/rootfs.py: remove intercept_scripts directory

Remove the directory, manually, in the Rootfs.create() function.

(From OE-Core rev: 37a9dc05272e7e49c8a475ccb3d10880dcee4763)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoCleanup image,rootfs_ipk,package_ipk bbclass files
Laurentiu Palcu [Mon, 13 Jan 2014 08:16:43 +0000 (10:16 +0200)]
Cleanup image,rootfs_ipk,package_ipk bbclass files

This commit cleans up the functions that were ported to python.

(From OE-Core rev: d950ef40a3eae4b54cc62828e66d84a62d78c447)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/rootfs.py: add support for opkg backend
Laurentiu Palcu [Mon, 13 Jan 2014 08:13:51 +0000 (10:13 +0200)]
lib/oe/rootfs.py: add support for opkg backend

(From OE-Core rev: 0650e1f2354cdb6f925040d9d07e2c785274a592)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/package_manager.py: add support for opkg backend
Laurentiu Palcu [Mon, 13 Jan 2014 08:10:09 +0000 (10:10 +0200)]
lib/oe/package_manager.py: add support for opkg backend

Additionaly, the commit contains a couple of minor changes
(comments, error printing, etc).

(From OE-Core rev: ef3faaef6b1a25c943a8d5594ce55b0e558b62f3)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/package_manager.py: use the bitbake APT_ARGS variable
Laurentiu Palcu [Mon, 13 Jan 2014 08:06:59 +0000 (10:06 +0200)]
lib/oe/package_manager.py: use the bitbake APT_ARGS variable

This commit will revert on using the bitbake APT_ARGS variable, so users
can alter the way apt is called without needing to change it in code.

(From OE-Core rev: ae337edc8ac441c947d1543c2800f37104a0be70)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/package_manager.py: add deploy dir locking mechanism
Laurentiu Palcu [Mon, 13 Jan 2014 08:01:53 +0000 (10:01 +0200)]
lib/oe/package_manager.py: add deploy dir locking mechanism

This is needed in order to serialize the index file creation when
multiple do_rootfs tasks are running in the same time.

(From OE-Core rev: cb03d15482569c2e56232c921526938dcecfdb68)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/manifest.py: create global variables for package types
Laurentiu Palcu [Fri, 10 Jan 2014 16:37:19 +0000 (18:37 +0200)]
lib/oe/manifest.py: create global variables for package types

Manifest class clients don't really need to know how package types are
encoded.

(From OE-Core rev: bac2e279005b601daff4d53549612ceb76a6a857)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agopackage_(deb|ipk).bbclass: remove the stamp when creating package from cache
Laurentiu Palcu [Fri, 10 Jan 2014 16:33:01 +0000 (18:33 +0200)]
package_(deb|ipk).bbclass: remove the stamp when creating package from cache

If the packages are created from cache, we need to remove the stamp so
that we re-generate the index files at do_rootfs time.

(From OE-Core rev: dc06a91144b79a152eb481f6d36f6c328321b7c4)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agooe/manifest.py: Add manifest creation for opkg
Laurentiu Palcu [Wed, 8 Jan 2014 08:02:28 +0000 (10:02 +0200)]
oe/manifest.py: Add manifest creation for opkg

In this commit:
 * add ability to create initial manifest for opkg;
 * make var_map available to all backends;

(From OE-Core rev: 8d14fbedcee02b723288004ae29a5c29524eec5a)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoActivate the new python rootfs/image creation routines
Laurentiu Palcu [Wed, 18 Dec 2013 16:02:18 +0000 (18:02 +0200)]
Activate the new python rootfs/image creation routines

This commit will:
 * remove old bash code common to all backends;
 * create a new do_rootfs() python function that will use the new
   rootfs/image creation routines;
 * allow creation of dpkg based images;
 * fail for rpm/opkg (not implemented yet);

(From OE-Core rev: a83144bac8d67704ff66f5dc0fc56f5b63979694)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/rootfs.py: add new library for rootfs creation
Laurentiu Palcu [Wed, 18 Dec 2013 15:52:31 +0000 (17:52 +0200)]
lib/oe/rootfs.py: add new library for rootfs creation

This library will be used to generate the rootfs.

Recommended usage:
 create_rootfs(d, manifest_file)

this will determine the PM backend used, save the shell environment and
will call the appropriate backend implementation (DpkgRootfs(d,
manifest_file).create()).

NOTE: this commit adds Dpkg support.

(From OE-Core rev: 5ad8c21bc7f2213d1287cecf07d00a61d1456ff7)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/package_manager.py: add new package management library
Laurentiu Palcu [Wed, 18 Dec 2013 15:46:12 +0000 (17:46 +0200)]
lib/oe/package_manager.py: add new package management library

This new library is intended to be used by the new python rootfs
creation code.

It implements the rpm/dpkg/opkg package management backends: RpmPM,
DpkgPM and OpkgPM.

The base API is this:
  update()
  install()
  install_complementary()
  remove()
  write_index()
  remove_packaging_data()
  list_installed()

All implementations have to provide these functions. Some backends may
need to implement additional functions though.

(From OE-Core rev: 224e5053044b4c7966fea3b8d199a3dfd4fe438e)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/manifest.py: add library for image manifest creation
Laurentiu Palcu [Wed, 18 Dec 2013 15:32:18 +0000 (17:32 +0200)]
lib/oe/manifest.py: add library for image manifest creation

This new library allows for the creation of 2 types of manifests:
 * initial manifest - used by the new rootfs creation routines to
   generate the rootfs;
 * final_manifest - this will contain all the packages in the image,
   after all installations finished;

Usage:
  Manifest(d, manifest_dir).create_initial()
  Manifest(d, manifest_dir).create_final()
or using the provided wrapper function:
  create_manifest(d, False, manifest_dir) -> creates initial manifest
  create_manifest(d, True, manifest_dir) -> creates final manifest

If manifest_dir argument is ommited, it defaults to ${WORKDIR}.

NOTE: this commit creates fixed manifests for minimal/sato/sato-sdk
images, for Rpm & Opkg backends, in order to help speed up
development of rootfs refactoring. Dpkg initial manifest creation is
implemented.

(From OE-Core rev: a9d8e5e5878d14b4804317a7f7ea6394fca5e010)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/image.py: add new image creation library
Laurentiu Palcu [Wed, 18 Dec 2013 15:24:08 +0000 (17:24 +0200)]
lib/oe/image.py: add new image creation library

This will replace the old bash image creation code. This needs the
rootfs to be already generated in order to work.

Usage:
  Image(d).create()
or using the provided wrapper function:
  create_image(d)

(From OE-Core rev: b75b78ce534fbf0d4de2f7f66af5b721d68b7471)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolib/oe/utils.py: add pre/post process helper function
Laurentiu Palcu [Wed, 18 Dec 2013 15:13:08 +0000 (17:13 +0200)]
lib/oe/utils.py: add pre/post process helper function

This helper function will be used to execute pre/post process commands.

(From OE-Core rev: 23d409558cb12cbf0300156e67f768a13442910a)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobitbake: bitbake: build.py: create separate function for shell trap creation code
Laurentiu Palcu [Mon, 3 Feb 2014 11:33:07 +0000 (13:33 +0200)]
bitbake: bitbake: build.py: create separate function for shell trap creation code

Currently, the shell trap code was created in exec_func_shell(). Split
the function so that we can create the code separately.

Also, some whitespaces were automatically deleted by my editor. Since
this is not necessarily a bad thing, leave these changes too.

(Bitbake rev: c712e622d20c61a07c9c172b60e9dc6beae14197)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agopython-pycurl: upgrade to 7.19.3
Laurentiu Palcu [Thu, 6 Feb 2014 15:29:32 +0000 (17:29 +0200)]
python-pycurl: upgrade to 7.19.3

Changes:
 * Refreshed no-static-link.patch;
 * LGPL&MIT license files changed names;
 * MIT license file added a contributor to the list;
 * README.rst license snippet changed to reflect the filename changes
   and the new contributor;

(From OE-Core rev: b5b4898cd409036161c62891e9618d9ab3f891f9)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoxserver-xorg: upgrade to 1.15.0
Laurentiu Palcu [Thu, 6 Feb 2014 15:29:31 +0000 (17:29 +0200)]
xserver-xorg: upgrade to 1.15.0

License file changed slightly: a new person has been added to the list
of authors.

Add dependency of presentproto.

(From OE-Core rev: b18fb872baa0deb89f1b8250883122fb5f6328c5)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoxf86-video-intel: add compat patch for xorg >= 1.14.99.2
Laurentiu Palcu [Thu, 6 Feb 2014 15:29:30 +0000 (17:29 +0200)]
xf86-video-intel: add compat patch for xorg >= 1.14.99.2

(From OE-Core rev: 0d80bec421b45dc5b997eecdce3fe21f00784cd7)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agopresentproto_git.bb: add recipe
Laurentiu Palcu [Thu, 6 Feb 2014 15:29:29 +0000 (17:29 +0200)]
presentproto_git.bb: add recipe

This is needed by xserver-xorg 1.15. Since presentproto has just been
created, use a git recipe because the initial version is missing some
fixes, license file, etc.

(From OE-Core rev: 05026e3a3dbe1c8a652e5af03a13967c1e7a9817)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoxf86-input-synaptics: upgrade to 1.7.3
Laurentiu Palcu [Thu, 6 Feb 2014 15:29:28 +0000 (17:29 +0200)]
xf86-input-synaptics: upgrade to 1.7.3

(From OE-Core rev: 0551c0f90247ff14bbdd7405c999711241fa1fa6)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolibmpc: upgrade to 1.0.2
Laurentiu Palcu [Thu, 6 Feb 2014 15:29:27 +0000 (17:29 +0200)]
libmpc: upgrade to 1.0.2

(From OE-Core rev: 11e2c03411365fe1cc16c79e5902719dd25411bd)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoxkeyboard-config: upgrade to 2.11
Laurentiu Palcu [Thu, 6 Feb 2014 15:29:26 +0000 (17:29 +0200)]
xkeyboard-config: upgrade to 2.11

(From OE-Core rev: 633a6b1e6cc7b0d29b418267521ea2c560b210f5)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agolibdrm: upgrade to 2.4.52
Laurentiu Palcu [Thu, 6 Feb 2014 15:29:25 +0000 (17:29 +0200)]
libdrm: upgrade to 2.4.52

(From OE-Core rev: b4a6fec9be9581a99768a26d55a106cb444ff598)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoxtrans: upgrade to 1.3.3
Laurentiu Palcu [Thu, 6 Feb 2014 15:29:24 +0000 (17:29 +0200)]
xtrans: upgrade to 1.3.3

(From OE-Core rev: 218beaf1072a29f7de60018c417cdbf4c1d0d26d)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoxcb-util-wm: upgrade to 0.4.0
Laurentiu Palcu [Thu, 6 Feb 2014 15:29:23 +0000 (17:29 +0200)]
xcb-util-wm: upgrade to 0.4.0

(From OE-Core rev: cc5de7844640f63bbf8aec6c0963d8d9a24af405)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agogdb: upgrade to 7.6.2
Laurentiu Palcu [Thu, 6 Feb 2014 15:29:22 +0000 (17:29 +0200)]
gdb: upgrade to 7.6.2

(From OE-Core rev: bfeb7ce8b525890c150f0b1cc2c5df089aa4b052)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoxextproto: upgrade to 7.3.0
Laurentiu Palcu [Thu, 6 Feb 2014 15:29:21 +0000 (17:29 +0200)]
xextproto: upgrade to 7.3.0

(From OE-Core rev: 5bcf6a03c83cb91793d891f1e860c200eaa68be3)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agonasm: upgrade to 2.11
Laurentiu Palcu [Thu, 6 Feb 2014 15:29:20 +0000 (17:29 +0200)]
nasm: upgrade to 2.11

(From OE-Core rev: 5847c2eb3fb03ce6de0842f69ae0c1d44ef3c8a0)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agobinconfig: mangle ${base_libdir}
Ross Burton [Thu, 6 Feb 2014 23:17:18 +0000 (23:17 +0000)]
binconfig: mangle ${base_libdir}

Some recipes are installing libraries into ${base_libdir} (typically /lib) and
also use a foo-config binary to identify compile paths, for example
libusb-compat.  Without mangling ${base_libdir} the ${base_libdir} path is
passed to the compiler, where it looks like a host path and results in
compile-host-path QA errors.

(From OE-Core rev: ccd9abdccb84d713427541b6ee29a0e217360e74)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agouseradd.bbclass: Add ability to select a static uid/gid automatically
Mark Hatle [Thu, 6 Feb 2014 23:37:24 +0000 (17:37 -0600)]
useradd.bbclass: Add ability to select a static uid/gid automatically

[YOCTO #5436]

Automatic selection of static uid/gid is needed for a dynamically generated
passwd and group file to have a deterministic outcome.

When a package is installed and instructs the system to add a new user or
group, unless it selects a static uid/gid value, the next available uid/gid
will be used.  The order in which packages are installed is dynamically
computed, and may change from one installation to the next.  This results
in a non-deterministic set of uid/gid values.

Enabling this code by adding USERADDEXTENSION = "useradd-staticids", and
adding a preconfigured passwd/group file will allow the continued dynamic
generation of the rootfs passwd/group files, but will ensure a deterministic
outcome.  (Dynamic generation is desired so that users and groups that have
no corresponding functionality are not present within the final system image.)

The rewrite params function will override each of the fields in the
useradd and groupadd calls with the values specified.  Note, the password
field is ignored as is the member groups field in the group file.  If the
field is empty, the value will not be overridden.  (Note, there is no way
to 'blank' a field, as this would only generally affect the 'comment' field
and there really is no reason to blank it.)

Enabling USERADD_ERROR_DYNAMIC will cause packages without static uid/gid
to generate an error and be skipped for the purpose of building.  This is
used to prevent non-deterministic behavior.

USERADD_UID_TABLES and USERADD_GID_TABLES may be used to specify the name
of the passwd and group files.  By default they are assumed to be
'files/passwd' and 'files/group'.  Layers are searched in BBPATH order.

(From OE-Core rev: 18c99dac52b746b88cd084eb4c2a2ef0329a6ff3)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agouseradd.bbclass: Fix build time install issues
Mark Hatle [Thu, 6 Feb 2014 23:37:23 +0000 (17:37 -0600)]
useradd.bbclass: Fix build time install issues

When the system attempts to populate the sysroot's passwd/group files, it
does so in a single block.  However, with the way it was previously
implemented, the system would always run through the code necessary to
populate the sysroot, even in the case of target packages.  This had
the side effect that a cross-installed filesystem may not match a
target installed filesystem.

The code was slightly reorganized to ensure that the cross/target installed
pre-install script behavior is the same.  It also moves the block that
configures the sysroot parameters to the sysroot specific section of
the code.

Also some minor validation was occuring even on nativesdk packages.
Nativesdk packages should be skipped when processing useradd ops.

(From OE-Core rev: 99fd0f14fd774c9194f62795e6023880e3aa5612)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 years agoscripts/oe-selftest: return based on the test results
Stefan Stanacar [Fri, 7 Feb 2014 10:08:51 +0000 (12:08 +0200)]
scripts/oe-selftest: return based on the test results

Regardless if the tests passed or not the script returned 0,
which isn't what one would expect.

(From OE-Core rev: c38f943c7fbb1fc077c875099dce8f73f41043b9)

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