Richard Purdie [Thu, 11 Oct 2012 12:20:20 +0000 (13:20 +0100)]
sstate: Use -m option to tar when unpacking sstate
We've noticed failures on the project autobuilders where a shared sstate
directory is used across multiple builders and the clocks become skewed.
Most of the time this causes harmless building but if this happens where
an environment is changed (make install vs make in qt4-x11-free for example),
the build can fail.
This avoids modification times in the future and should make builds safer
in shared environments sstate was designed for.
Richard Purdie [Thu, 11 Oct 2012 11:05:35 +0000 (12:05 +0100)]
scipts/combo-layer: Fix check_rev_branch() for cases where the revision is on more than one branch
If a revision is in more than one branch, the check_rev_branch() function can't
cope with it and the tool returns incorrect errror messages. This patch
ensures it copes with this situation.
This address the following when libexecdir is not set to /usr/libexec
WARNING: QA Issue: qemu: Files/directories were installed but not shipped
/usr/libexec
/usr/libexec/qemu-bridge-helper
/usr/libexec/.debug
/usr/libexec/.debug/qemu-bridge-helper
This tests for /usr/libexec as we are moving things to /lib/.
the test is ignored if the distro defaults to /usr/libexec.
Currently this test will be disabled by default since the current
value of ${libexecdir} is "/usr/libexec". Also this tests needs
to be enabled in the WARN_QA list.
Joe Slater [Wed, 10 Oct 2012 22:16:43 +0000 (15:16 -0700)]
chkconfig: pass CFLAGS to Makefile
The environment CFLAGS is not used by the chkconfig
Makefile, so debug and optimization options are ignored.
So, we use RPM_OPT_FLAGS to pass CFLAGS into Makefile.
populate_sdk_base.bbclass: Make it possible to override the create_shar method of populate_sdk_base.
If you wish to change the install/unpack method of the sdk, this can now be done by making
your own create_shar method, and setting a SDK_PACKAGING_FUNC variable to your
new create_shar function.
Phil Blundell [Mon, 1 Oct 2012 16:03:04 +0000 (17:03 +0100)]
recipe_sanity: Don't bother checking LICENSE
Since e3d7890cace71b0a57d2530bf615a58dcb46d96f or so, base.bbclass has
considered invalid LICENSE settings to be a fatal error. This means we
will never see them so there is no point checking for that.
Constantin Musca [Fri, 28 Sep 2012 15:13:12 +0000 (18:13 +0300)]
libnss-mdns: fix mDNS resolving speed
We need to fix the "hosts: files dns mdns4" nsswitch.conf line
because for a .local lookup it does a DNS lookup first which will fail.
The recommended solution is:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
Phil Blundell [Wed, 26 Sep 2012 10:18:29 +0000 (11:18 +0100)]
strace: Don't package strace-graph
Commit 9c9ea24b115a9bb87df1323b5f185ce426262aec made strace depend on perl because the
strace-graph script needs it. However, this cost of the dependency is large (building
all of perl) and the value of the script is marginal. Let's just delete the script
instead and remove the dependency again.
If anybody wants strace-graph then it should be packaged in its own recipe and that one
can be made to depend on perl without disrupting the main strace package.
Phil Blundell [Wed, 26 Sep 2012 12:02:26 +0000 (13:02 +0100)]
kernel.bbclass, module.bbclass: Make update-modules optional
The update-modules mechanism is something of a historical relic and it isn't
entirely clear that it has a great deal of value nowadays. Also, it causes a
problem when building a read-only rootfs since update-modules itself refuses
to configure offline.
Allow DISTROs to circumvent this whole thing by declaring (via DISTRO_FEATURES)
that they don't wish to use update-modules. This is backfilled for existing
distributions and will have to be marked as CONSIDERED by those who actually
don't want it.
Phil Blundell [Wed, 26 Sep 2012 10:30:53 +0000 (11:30 +0100)]
gettext: Remove spurious-looking dependencies on libxml2-native
These were added in aae5021101224344a2b1a3af5becf74291fbbfe5, ostensibly to resolve
some sort of "host contamination" issue. However, that commit contains no information
about what contamination was being observed or how the dependencies help.
gettext-native is being configured --with-included-libxml so it shouldn't be using
libxml2 from either the host or the sysroot, in which case the dependency would seem
to be useless. Using the included copy of libxml2 is in any case preferable to adding
a dependency on libxml2-native because the latter brings quite a large stack of other
dependencies with it.
Colin Walters [Mon, 24 Sep 2012 23:54:42 +0000 (19:54 -0400)]
Add packagegroup-core-buildessential
[Not heavily tested, but sent for discussion]
task-core-sdk is too big - for example, I simply don't want to ship tcl, ever =)
Historically distcc caused a large dependency graph explosion because it has
a utility which uses gtk+, although that was fixed.
packagegroup-core-sdk also includes coreutils, which is a bit
confusing; conceptually things dependent on coreutils should pull it
in explicitly, or possibly we just declare coreutils to be in the
minimal build set.
So packagegroup-core-buildessential is intended to be similar to
Debian's "build-essential" package. It's the stuff needed by say 80+%
of components, not worth repeating over and over.
Richard Purdie [Mon, 8 Oct 2012 15:44:06 +0000 (15:44 +0000)]
pkgconfig: Drop automatic pkgconfig RDEPENDS
Just because a recipe uses pkgconfig, it doesn't mean that it's -dev
package should RDEPENDS on pkgconfig. I can understand the thinking
that lead to this but it makes sense to be able to install the package
when pkgconfig hasn't been built.
Currently you can also get failures where pkgconfig wasn't built yet
a -dev package is included that depends on it leading to rootfs failures.
I considered making this a RRECOMMENDS but it should probably be an
RSUGGESTS at best given the tenuous pkgconfig requirement any given
-dev package has.
Richard Purdie [Mon, 8 Oct 2012 15:41:34 +0000 (15:41 +0000)]
package: Recommend virtual-locale-*, don't depend on it
The virtual-locale-* packages are provided by libc which may or
may not have a matching locale for any given recipes's provided locales.
Certainly, we shouldn't get a failure if the locale package isn't
available.
This patch therefore makes the dependency optional rather than
required, allowing the locale packages in question to install. This
resolves errors like:
virtual-locale-eo is needed by bash-locale-eo-4.2-r5.i586
virtual-locale-en+boldquot is needed by bash-locale-en+boldquot-4.2-r5.i586
virtual-locale-en+quot is needed by bash-locale-en+quot-4.2-r5.i586
Richard Purdie [Mon, 8 Oct 2012 15:38:52 +0000 (15:38 +0000)]
libc-package: Drop bogus replacement operation
The names used to generate the binary-localdata packages need to match the location
the dependencies are added. In one case the dash replacement is made, in the other it
is not leading to packages which cannot be installed:
eglibc-binary-localedata-af-za.iso88591 is needed by locale-base-af-za.iso-8859-1-2.16-r22.i586
eglibc-binary-localedata-cs-cz.iso88592 is needed by locale-base-cs-cz.iso-8859-2-2.16-r22.i586
eglibc-binary-localedata-ru-ru.koi8r is needed by locale-base-ru-ru.koi8-r-2.16-r22.i586
eglibc-binary-localedata-pl-pl.iso88592 is needed by locale-base-pl-pl.iso-8859-2-2.16-r22.i586
eglibc-binary-localedata-hu-hu.iso88592 is needed by locale-base-hu-hu.iso-8859-2-2.16-r22.i586
eglibc-binary-localedata-de-at+euro.iso885915 is needed by locale-base-de-at+euro.iso-8859-15-2.16-r22.i586
eglibc-binary-localedata-sv-fi.iso88591 is needed by locale-base-sv-fi.iso-8859-1-2.16-r22.i586
Scott Rifenbark [Tue, 16 Oct 2012 18:14:36 +0000 (11:14 -0700)]
documentation: dev-manual - lttng and Git workflow changes
* Updates to the Git Workflow section based on feedback from
Darren Hart. These changes simplify the flow and make it
generic.
* Updates to the lttng user space tool used from within
Eclipse. The legacy version of the tool is no longer supported
so it had to be edited out of the description and replaced
with the 2.0 version.
Scott Rifenbark [Tue, 16 Oct 2012 13:47:16 +0000 (06:47 -0700)]
documentation: dev-manual - edits to the compliance section.
Feedback from Paul Eggleton suggested to not use the linked
term "Source Directory" in the last paragraph of this section.
Reasoning being that it is mis-leading in this case. People
reading this will be thinking more along the lines of traditional
source code rather than our establishe "Source Directory" term,
which in the doc set refers to either the unpacked poky tarball
or the cloned poky Git repository.
Scott Rifenbark [Mon, 15 Oct 2012 20:27:35 +0000 (13:27 -0700)]
documentation: poky-ref-manual - added note about PATH
Added a note explaining why "PATH" is needed when using
SSTATE_MIRRORS if the shared state directory structure on
the mirror is the same as SSTATE_DIR.
Scott Rifenbark [Mon, 15 Oct 2012 19:37:52 +0000 (12:37 -0700)]
documentation: poky-ref-manual - New chapter on migration added.
Created a new chapter dedicated to migration information for
the user updgrading from a previous YP release. Also had to
include the new chapter in the poky-ref-manual.xml manual so
that it will build.
Paul Eggleton [Wed, 10 Oct 2012 21:42:07 +0000 (14:42 -0700)]
documentation: poky-ref-manual - Edits to fix default description
* Use correct/up-to-date names of package systems
* SUMMARY does not default to the value of DESCRIPTION, it's the other
way around (although the logic may be improved in future so that this
is the effect).
Paul Eggleton [Wed, 10 Oct 2012 21:38:35 +0000 (14:38 -0700)]
documentation: poky-ref-manual - New backfill variables and section.
Document DISTRO_FEATURES_BACKFILL and MACHINE_FEATURES_BACKFILL. We may
wish to expand upon this in future, but at least this explains what
these variables are for and how to use them.
Also add a link from the DISTRO_FEATURES entry to the section that lists
valid DISTRO_FEATURES items.
Extend the description of the DISTRO variable so that it mentions that
this points to a .conf file under conf/distro and mentions what happens
if the value is left blank.
Adjust the descriptions so that it is clearer that these are specific
to a machine and should appear in the machine's .conf file, and are
intended to affect the image contents, not the dependencies of a
specific package. Also change the examples so that they demonstrate more
realistic usage scenarios for these variables.
Scott Rifenbark [Wed, 10 Oct 2012 18:50:13 +0000 (11:50 -0700)]
documentation: Makefile, dev-manual - edits to patching kernel
Made some general edits to the new "Patching the Kernel" section.
Also had to remove a couple of images no longer used in the section
from the Makefile "TARFILES" variable.
Paul Eggleton [Thu, 11 Oct 2012 13:27:27 +0000 (14:27 +0100)]
local.conf.sample: add PATH to SSTATE_MIRRORS comments
The shared state cache as pointed to by SSTATE_DIR by default now has
two-character subdirectories to prevent there being an issue with too
many files in the same directory; also, native sstate packages will go
into a subdirectory named using the distro ID string. If you copy the
newly structured sstate cache to a mirror location (either local or
remote) and then point to it in SSTATE_MIRRORS, you need to append
"PATH" to the end of the mirror URL so that the path used by bitbake
before the mirror substitution is appended to the path used to access
the mirror.
Richard Purdie [Wed, 10 Oct 2012 21:39:36 +0000 (21:39 +0000)]
gdbm: Resolve host contamination issue
The autoconf macros detect the presence of -ldbm or -lndbm on the host
system and add the library to link against, for now good reason I can
explain.
This patch makes the build behave determinstically whether they're
present or not. Other than the extra linkage, there doesn't appear to be
any other change in behaviour from these options and they look like
dead code.
The extra linkage can cause problems where sstate is used on a machine
where the extra librbary isn't present causing build failures.
Richard Purdie [Wed, 10 Oct 2012 16:56:41 +0000 (17:56 +0100)]
pkgconfig: Drop the RREPLACES for pkgconfig-dev
This line causes pkgconfig-dev to replace pkgconfig so the package with all the files
in is replaced by one with no files. This makes no sense and hence we should just
remove this broken line.
At this point in the release, this is the safest way to fix this even if an empty -dev
package is left available.
Saul Wold [Wed, 10 Oct 2012 15:55:45 +0000 (08:55 -0700)]
eglibc: force make to use /bin/bash
The eglibc core build still has a number of issues with /bin/dash.
Recently found is both sysdeps/unix/make-syscalls.sh and it's output,
which make calls via SHELL do not play well with /bin/dash. By force
make to use /bin/bash via SHELL setting it works correctly.
Currenly known issues are: make-syscalls.sh line with a bad substitution,
which can be corrected by:
vdso_symver="$(printf '%s\n' ${vdso_symver} | sed 's/\./_/')"
Following that there is an issue with emiting a '\n' through a second
echo and then to the compiler. There maybe more issues beyond that.
Scott Rifenbark [Tue, 9 Oct 2012 18:38:35 +0000 (11:38 -0700)]
documentation: dev-manual - edits to patching kernel section plus others
Removed the temporary text in the new "Patching the Kernel" section
that was copied from the old appendix A. Fixed the PRINC variable
in the creating a new layer example.
Removed the "kernel-example-repos-generic.png" file as it describes
the bare clone method for kernel modification. We are removing
that from this manual.
The kernel workflow section was re-written to reflect that the
kernel appendix has been removed. Also, changes to the flow in
general no longer make reference to the bare clone and the copy
of the bare clone as a method used to modify the kernel.
Many links were modified in other manuals as well.
Scott Rifenbark [Tue, 9 Oct 2012 13:30:04 +0000 (06:30 -0700)]
documentation: dev-manual - Removed figures no longer needed.
The figure that shows the bare clone and the copy of the bare
clone are no longer needed. The description for the kernel
workflow has been reduced to discussing only modification of
the temporary source files. We are no longer talking about
creating a bare clone and copying it as a way to modify the
kernel in this manual. That topic will be described elsewhere.