Tom Rini [Fri, 28 Jan 2011 21:07:21 +0000 (14:07 -0700)]
perl-native: Update for userelocatableinc and non-shared libperl
Rather than using a wrapper switch to using upstreams support for
relocation. While in here, bring in the mangling to use
/usr/bin/env perl rather than /full/path/to in order to work
in deep directory paths.
Also drop the DEPENDS on gpbm and db since we disable these in the configure
and don't use them.
Signed-off-by: Tom Rini <tom_rini@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 31 Jan 2011 16:22:14 +0000 (16:22 +0000)]
package.bbclass: Disable EXPORT_FUNCTIONS for do_package
As discovered by Lianhao Lu and Kevin Tian:
"""
do_package checksum changes with switching the order In PACKAGE_CLASSES, e.g:
From
PACKAGE_CLASSES = "package_rpm package_ipk"
To
PACKAGE_CLASSES = "package_ipk package_rpm"
This is undesired since the order only matters for final rootfs generation. The actual
cause is related to how do_package is generated, which depends on when
package.bbclass is first brought in.
"""
Since we never need the EXPORT_FUNCTIONS funcationality for do_package we just drop
it which removes this problem and stablisised checksums.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kevin Tian [Mon, 31 Jan 2011 06:05:48 +0000 (14:05 +0800)]
license.bbclass: don't mark it as 'nostamp'
'nostamp' is normally used for some standalone tasks like clean, checkuri, etc.
It doesn't make sense to mark do_populate_lic as 'nostamp', which is depended
by do_package. No stamp file in the build dependency chain implicates that
do_package needs to be reinvoked and thus further do_package_write* stuff.
This together with another sstate bug fully confused recent master, that people
keep observing unnecessary do_package rebuilt with or without change. Below is
a short explanation for two behaviors we observed:
a) a fresh build, and then bitbake same target w/o any change. User will observe
one unnecessary rebuild and then later rebuild is fine:
[1st rebuild]
* do_populate_lic has no stamp, and thus do_package is thought not current
* do_package_setscene is then invoked with stamp file created
* then later do_package_write*** also are rebuilt
[2nd and later rebuild]
* do_populate_lic has no stamp, and thus do_package is thought not current
* do_package_setscene has stamp file and thus no need to re-execute setscene
* thus no further rebuild required
b) a fresh build, and then adjust order of PACKAGE_CLASSES. There's one bug
regarding to PACKAGE_CLASSES and do_package_setscene, that only switch the
order in PACKAGE_CLASSES generates different checksum. In this case user may
observe up to 3 rebuilds when switching package_rpm/package_ipk back and forth.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Joshua Lock [Mon, 31 Jan 2011 11:38:35 +0000 (11:38 +0000)]
scripts/bitbake: remove bashisms
As the BitBake script is the initial entry point for the system we need to
ensure it can run in as many places as possible, including systems which
aren't yest optimally configured for running Poky.
Remove some bashisms from the script so that it can run under Dash.
Pointers from: https://wiki.ubuntu.com/DashAsBinSh
Errors before this patch: http://pastie.org/1502136
Joshua Lock [Mon, 31 Jan 2011 11:11:30 +0000 (11:11 +0000)]
license.bbclass: handle | (or) in the LICENSE field
The class strips out operators from the LICENSE field and to reduce it to a
list of license, | was missing but is quite frequently used so add it to the
list of replaced characters.
Qing He [Tue, 18 Jan 2011 10:00:29 +0000 (18:00 +0800)]
creating the rpmrepo metadata
This includes two method for build rpm repo:
1. create the metadata in rootfs_rpm
2. standalone binary for building the metadata
Not both of them are needed, generally #2 fits more for the purpose,
but #1 may have its use on rootfs creation using zypper.
Both share some problems and are subjected for future improvement:
1. the createrepo now builds metadata for the whole directory,
if there are more than one arch, it builds for all, which means
rootfs_rpm may run longer if more builds have been run.
2. createrepo builds metadata for stale rpms
Mark Hatle [Fri, 28 Jan 2011 01:13:01 +0000 (19:13 -0600)]
rootfs_rpm: Setup the platform configuration
The RPM platform configuration file lists all of the supported architectures,
while RPM itself doesn't use this information, other tools may use it to
determine compatibility. The first item is the default architecture for a
system, while the following items specify alternative compatible architectures.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Wolfgang Denk [Thu, 27 Jan 2011 11:42:16 +0000 (12:42 +0100)]
x11-common: Fix unusable serial console
The serial console port is basicly unusable in images containing X.
Login works fine, but at the shell prompt only one out of N input
characters (N usually between 2 and 10) gets through to the shell.
dbus-launch (running as "dbus-launch --sh-syntax --exit-with-session")
is also reading from /dev/console and "eating" the missing characters.
As soon as I stop the Xserver ("sh /etc/init.d/xserver-nodm stop")
the serial console starts wroking fine (because dbus-launch is not
running any more).
This patch addresses the problem.
Signed-off-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Dexuan Cui [Mon, 24 Jan 2011 18:04:32 +0000 (02:04 +0800)]
gnome-doc-utils: upgrade from 0.20.2 to 0.20.4
Also fix DEPENDS on gettext for native casea -- this is to fix the
following failure(that occasionally occurs in my local tests):
configure.in:44: warning: AM_NLS is m4_require'd but not m4_defun'd
| aclocal.m4:1826: IT_PROG_INTLTOOL is expanded from...
| configure.in:44: the top level
| configure:3327: error: possibly undefined macro: AM_NLS
Also remove a trailing space char in LIC_FILES_CHKSUM.
Also apply four patches from Koen to fix four issus:
- The tv-out gets added last and the driver tries to reconfigure dvi to TV resolutions, which fails
- The new DSS mode breaks XV, so force plain mode
- Picture is garbled after switching resolutions
- Virtual size too big
CC: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Yu Ke <ke.yu@intel.com>
Beth Flanagan [Thu, 27 Jan 2011 19:25:12 +0000 (11:25 -0800)]
Initial commit of license reporting:
This is an intial commit for the license reporting system. A few notes:
The LICENSE fields needs to be standardized throughout poky. As it
stands, we throw a warning if the license file is not found (either
because it does not exist or because LICENSE_FILE_CHKSUM is munged)
in the generic license directory. This should eventually become an
error.
I've seen a few places where Apache-v2.0 is written differently and
I'm sure this will throw the above warning. This does not put the
license data on the rootfs. Also, I provide both the actual license
text and a link to the best guess of the generic_license. That guessing
is not very robust and I'm loath to get into a bunch of pattern matching
rather than standardize LICENSE.
This adds one new param to poky.conf and one new to license.bbclass:
LICENSE_DIR: the base directory we copy all the license results to (set
in license.bbclass)
COMMON_LICENSE_DIR: this is the directory that holds all the common
generic license files. currently meta/files/common-licenses (set in
poky.conf)
TODO:
- We should verify the common-licenses. I stripped these from my Ubuntu
10.10 system.
- We should allow the capability of licenses on the rootfs, although the
resulting image created would be a lot larger.
- More common-licenses. I don't include bzip, zlib, ICS.... I should,
but that means tracking down a lot of licenses.
- General cleanup of licensing and standardization of names. We should
standardize on a naming convention. What's in licenses.conf should
match up with what is in the recipes which should match with what is
in common-licenses. Outside the scope of this though. See:
http://bugzilla.pokylinux.org/show_bug.cgi?id=650
Kevin Tian [Wed, 26 Jan 2011 08:28:45 +0000 (16:28 +0800)]
base-files: remove ending colon from default $PATH for root user
now the PATH for root user defined in a problematic way
PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin:
from eglibc:
/* Two adjacent colons, or a colon at the beginning or the end
of `PATH' means to search the current directory. */
that means current directory is always searched as the last path,
which could generate undesired behavior.
One example is found in LTP cron_deny01 test, which always complains
"sh: cron_deny01 not found"
cron_deny01 is a shell script which setups the initial test preparation
and then invokes itself for real test under a different user:
su $TEST_USER1 -c "$0"
'su' doesn't inherit PATH into the sub-shell, and thus $0 has to
be an absolute path to have right script found.
ltp appends the path of cron_deny01 to $PATH before running the test:
export PATH="${PATH}:${LTPROOT}/testcases/bin"
In ideal way "${LTPROOT}/testcases/bin/cron_deny01" is found and becomes
$0, which works well.
However due to the ending colon in original PATH:
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin::${LTPROOT}/testcases/bin
$0 becomes 'cron_deny01' w/o leading path which makes sub-shell under 'su'
failed to locate cron_deny01.
Richard Purdie [Fri, 28 Jan 2011 10:21:41 +0000 (10:21 +0000)]
bitbake/runqueue.py: Avoid starvation of events to the server
The server UI was reading 1024 bytes, then sleeping for 0.25 seconds. Since
most new LogRecord events are larger than this it leads to a build up of data
which is only processed slowly, leading to a bottleneck and a slow down of
all bitbake processes.
Thanks to Dongxiao Xu <dongxiao.xu@intel.com> for the great work in debugging
this. A large value has been left in for the read() command just to ensure some
fairness amongst process handling if a task tries to log truly huge amounts of
data to the server, or goes crazy and ensures the main loop doesn't stall.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 27 Jan 2011 11:05:14 +0000 (11:05 +0000)]
rm_work.bbclass: Update to convert stamps to setscene stamps
We need to manipulate the stamps when removing WORKDIR to indicte that
tasks like compile or install can't just rerun. The most effective method
to do this is to convert the layout to match that which would have been the
case had the system been build from sstate packages.
Darren Hart [Wed, 26 Jan 2011 17:42:33 +0000 (09:42 -0800)]
send-pull-request: ensure a proper FROM header is included
Commit 94629f2521711055b412f954af19e48b9bda6e50 removes the FROM header when
sending via sendmail to avoid sending mail as the original change committer (as
opposed to the local user). This resulted in mail going out without any FROM
header, which some mailing lists correct by adding the *bounce address as the
FROM.
Correct this by reading FROM from the environment, from a new -f argument, or
from the git user.name and user.email config settings, in that order of
preference. Also display the FROM that will be used prior to the send
confirmation.
This has no effect if the -g (send via git) argument is specified, other than
printing the git sendemail.from config setting.
Signed-off-by: Darren Hart <dvhart@linux.intel.com> Reported-by: Saul Wold <saul.wold@intel.com>
Bruce Ashfield [Tue, 25 Jan 2011 19:27:47 +0000 (14:27 -0500)]
kern-tools: update to the new repository
As the first of several changes to the kern-tools coupled to
the branch management in the yocto kernels the repository
is being renamed to it proper name. This change switches us to
that newly created repo.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Scott Rifenbark [Thu, 20 Jan 2011 23:07:21 +0000 (15:07 -0800)]
documentation/yocto-project-qs/yocto-project-qs.xml: Added note to poky-qemu command
Depending on the architecture you are booting and the profile of the
filesystem image QEMU might come up in a new shell, and existing shell,
have a GUI, or be in command-line mode. I added a note indicating this
behavior.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Scott Rifenbark [Thu, 20 Jan 2011 18:13:32 +0000 (10:13 -0800)]
documentation/yocto-project-qs/yocto-project-qs.xml: Updated list introducing pre-built section
The section that introduces the using a pre-built binary section needed
more items in the list. I added text for setting up the environment
and for starting QEMU.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
I added the exact architecture strings for each of the five supported
architectures as part of the /opt/poky/environment-setup.... commands
resulting from installing the toolchain tarballs.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
ExtUtils::Embed ccopts is getting the host's -I/usr/local/include and
using it to compile perf, which results in a compilation error that
started appearing just recently.
This turns the code that makes use of ExtUtils::Embed off and simply
hard-codes NO_LIBPERL.
It does the same for LIBPYTHON while we're at it, since it probably
suffers from a similar underlying problem and just by chance hasn't
broken anything yet.
This will be re-enabled after I familiarize myself with the perf
recipe and am able to create a proper fix.
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Joshua Lock [Tue, 25 Jan 2011 12:41:51 +0000 (12:41 +0000)]
util-linux: tidy up metadata
Apply a couple of best practices to the recipe:
1) use the gettext class to ensure the right versions of gettext are
used for the recipe variants (target, native, etc).
2) use layout variables rather than absolute paths in the package FILES_
definitions.
Richard Purdie [Tue, 25 Jan 2011 12:22:21 +0000 (12:22 +0000)]
sanity/sstate: Due to the sysroot layout changes, the toolchain bootstrap process changes and the recent pseudo bug, bump the tmpdir layout version number and the sstate version numbers
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Yu Ke [Mon, 24 Jan 2011 06:58:26 +0000 (14:58 +0800)]
bb.fetch2: add "BB_NO_NETWORK" option
Sometime user want a purely local fetching, i.e. using local mirror without
any remote netowrk access. BB_NO_NETWORK option is introduced for this purpose
check_network_access() is the guard for BB_NO_NETWOKR option. it should be
put in any place that fetcher use network access
Yu Ke [Tue, 18 Jan 2011 15:35:30 +0000 (23:35 +0800)]
git.py: split download to download() and build_mirror_data()
the download is to fetch the source from URL, the build_mirror_data is
to create the mirror tar ball. the original go() method mix them together,
it is more clean to split them.
Yu Ke [Tue, 18 Jan 2011 14:41:23 +0000 (22:41 +0800)]
bb.fetch: add fetch version to distinguish bb.fetch and bb.fetch2
there is case that we need to distingush bb.fetch and bb.fetch2,
and use different API for bb.fetch and bb.fetch2. so it is necessary
to add version info for distinguish purpose
Yu Ke [Tue, 18 Jan 2011 14:08:09 +0000 (22:08 +0800)]
bb.fetch2: revise the Fetch.unpack API
change the unpack to use the urldata and rootdir parameter
- urldata is the FetchData instance
- rootdir is the dir to put the extracted source. the original unpack
use current dir (os.getcwd) as destination dir, which is not flexible
and error-prone (error will occur if caller not chdir to dest dir)