* Re: 'From OE-Core rev: <commit-id>' in recent master commits
From: Andreas Müller @ 2016-12-19 11:22 UTC (permalink / raw)
To: Burton, Ross; +Cc: Patches and discussions about the oe-core layer
In-Reply-To: <CAJTo0LZbgGV9kd0bw8jGgfg0kLbJn0ANgETon7_gJxG5fWML7g@mail.gmail.com>
On Mon, Dec 19, 2016 at 12:19 PM, Burton, Ross <ross.burton@intel.com> wrote:
>
> On 19 December 2016 at 11:14, Andreas Müller <schnitzeltony@googlemail.com>
> wrote:
>>
>> just updated to latest HEAD and checked commits. Found a lot of commits
>> with
>>
>> (From OE-Core rev: <commit ID>)
>
>
> Can you point to any SHAs in particular that have this?
>
> Ross
Those and more
commit c87361fc886432a9db584712bf3e41ecd0541960
Author: Ross Burton <ross.burton@intel.com>
Date: Thu Dec 15 17:19:46 2016 +0000
lib/oe/package_manager: bail if createrepo can't be found
If createrepo isn't found then the errors later are mysterious, so
explicitly
check and error out early if it isn't there.
(From OE-Core rev: e09636bbb3ea8ec58984197fd9c691bb908efe00)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
commit 147d7802926153ef0abb12d5e738576d8dfd02d7
Author: Armin Kuster <akuster808@gmail.com>
Date: Thu Dec 15 07:21:45 2016 -0800
tzdata: update to 2016j
Briefly: Saratov, Russia moves from +03 to +04 on 2016-12-04.
Changes to future time stamps
Saratov, Russia switches from +03 to +04 on 2016-12-04 at 02:00.
This hives off a new zone Europe/Saratov from Europe/Volgograd.
(Thanks to Yuri Konotopov and Stepan Golosunov.)
Changes to past time stamps
The new zone Asia/Atyrau for Atyraū Region, Kazakhstan, is like
Asia/Aqtau except it switched from +05/+06 to +04/+05 in spring
1999, not fall 1994. (Thanks to Stepan Golosunov.)
Changes to past time zone abbreviations
Asia/Gaza and Asia/Hebron now use "EEST", not "EET", to denote
summer time before 1948. The old use of "EET" was a typo.
(From OE-Core rev: a0b389b5f3effad5194109f9914dec6125b3569d)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
commit f9d6b482f2275c054dff91b81ac901b612f9c9b4
Author: Armin Kuster <akuster808@gmail.com>
Date: Thu Dec 15 07:21:44 2016 -0800
tzcode-native: update to 2016j
Changes to code
zic no longer mishandles file systems that lack hard links, fixing
bugs introduced in 2016g. (Problems reported by Tom Lane.)
Also, when the destination already contains symbolic links, zic
should now work better on systems where the 'link' system call
does not follow symbolic links.
Changes to documentation and commentary
tz-link.htm now documents the relationship between release version
numbers and development-repository commit tags. (Suggested by
Paul Koning.)
The 'Theory' file now documents UT.
iso3166.tab now accents "Curaçao", and commentary now mentions
the names "Cabo Verde" and "Czechia". (Thanks to Jiří Boháč.)
(From OE-Core rev: 3fb5ddce97af1d4ada0dcc7f9c0ceef6ac392918)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
commit a4111417b1b46cc852bf96a443b0edb0a525f346
Author: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Date: Thu Dec 15 15:40:11 2016 +0100
gstreamer1.0-plugins-bad: default to using egl
With the current set of PACKAGECONFIG, we end up building with
'gles2' and neither
'opengl', nor 'egl'. As a result we are building -bad with neither 'glx' nor
'egl' platform support. So let's make sure that we at least have
egl by default
(since we default to 'gles2').
(From OE-Core rev: 4de8447c6536385ca134866682709efebf7d4e3d)
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
commit 41061a812239dcfde2e4cd5636250ff2cd7e4cbb
Author: Mike Looijmans <mike.looijmans@topic.nl>
Date: Thu Dec 15 14:31:57 2016 +0100
linux-firmware: Split out Realtek chipsets rtl8188 rtl8723 rtl8821
Add rtl8188 rtl8712 rtl8723 rtl8821 packages to install only
firmware for the
corresponding chipset. Uses a rather blunt approach by simply
adding all firmware
files with matching prefix, to keep the package count down a bit.
(From OE-Core rev: 62a5c0a40d13594a0f16a01701e70dac5e492125)
Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
commit c4b71ff17f630d5289a8105ec9465ff29ecd0e6c
Author: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Date: Thu Dec 15 14:48:09 2016 +0200
xf86-video-intel: fix upstream version check
Even though upstream hasn't tagged new versions for a long while,
we should not report a bogus tag as something that can be updated to.
(From OE-Core rev: e16e4892368ec2475853d69332f3732dbf7b06cd)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
commit 428531463574f4e7722912d1960bd288df586c14
Author: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Date: Thu Dec 15 14:48:08 2016 +0200
upstream-version-is-even.bbclass: exclude various alphas, betas,
pre-releases etc.
Was a problem with perl in particular.
(From OE-Core rev: cc40b3ad2c4a725f93d0b984f23d34d247cffb2f)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
commit 4e8e884054b56c578d51d7b4af7150b77806368d
Author: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Date: Thu Dec 15 14:48:07 2016 +0200
ghostscript: fix upstream version check
(From OE-Core rev: 10001924baf112a4556c5e85c16c482cbf435950)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
commit 4e0e95a02a231bbdb350b1971536f4d65f4e9490
Author: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Date: Thu Dec 15 14:48:06 2016 +0200
vala: update to 0.34.4
(From OE-Core rev: 798af66e2e11baf53eff6b7f0e370fb77a1c5f72)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
commit 0c3dbaa5d62e9ce404d1203c0478512e36ab8136
Author: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Date: Thu Dec 15 14:48:05 2016 +0200
sysprof: update to 3.22.3
(From OE-Core rev: 4a8ea471e386adff9b8f8b535589e599c1491fa5)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
commit d4487c9ee54a90e2e11287d9c41dce675a65ad15
Author: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Date: Thu Dec 15 14:48:04 2016 +0200
iso-codes: update to 3.72
(From OE-Core rev: 232ce36bb17643355b0b282063609147aa51bc1f)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
commit ab43357dba96d4404a66baf7b998d81ef0b7ad1d
Author: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Date: Thu Dec 15 14:48:03 2016 +0200
icu: update to 58.2
(From OE-Core rev: 68eca85201c2e15ab5c197f3cc70d863fb021493)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
commit 84c6a3bcf44950049bba255075177a0004058a44
Author: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Date: Thu Dec 15 14:48:02 2016 +0200
gnutls: update to 3.5.7
Add a 0001-Do-not-add-cli-args.h-to-cli-args.stamp-Makefile-tar.patch
to fix a compile issue (incorrect creation of an empty header).
Add a libunistring dependency as gnutls has gained it.
(From OE-Core rev: b2ec343ad770c26f39f3a6d335e4bb3ccbf41aec)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
commit 7c5462f5ff3303da8d7daa5f22827bd852987138
Author: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Date: Thu Dec 15 14:48:01 2016 +0200
ffmpeg: update to 3.2.2
(From OE-Core rev: b9b50814dfb40f8d124be736f7af9ed4d69bc6b3)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
^ permalink raw reply
* [PATCH v6 5/5] wic: selftest: add tests for --fixed-size partition flags
From: Maciej Borzecki @ 2016-12-19 11:21 UTC (permalink / raw)
To: openembedded-core; +Cc: Maciej Borzecki
In-Reply-To: <cover.1482145354.git.maciej.borzecki@rndity.com>
wic has a new flag for setting a fixed parition size --fixed-size. Add
tests that verify if partition is indeed sized properly and that errors
are signaled when there is not enough space to fit partition data.
Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
---
meta/lib/oeqa/selftest/wic.py | 61 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py
index 8efece3171db47ee622f2c0f712fff2c2fcf645b..9caf3b0b1e3d4b538fffd409b26f68f0101e78dc 100644
--- a/meta/lib/oeqa/selftest/wic.py
+++ b/meta/lib/oeqa/selftest/wic.py
@@ -29,6 +29,7 @@ import unittest
from glob import glob
from shutil import rmtree
from functools import wraps
+from tempfile import NamedTemporaryFile
from oeqa.selftest.base import oeSelfTest
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu
@@ -59,6 +60,8 @@ class Wic(oeSelfTest):
def setUpLocal(self):
"""This code is executed before each test method."""
+ self.native_sysroot = get_bb_var('STAGING_DIR_NATIVE', 'core-image-minimal')
+
arch = get_bb_var('HOST_ARCH', 'core-image-minimal')
is_x86 = arch in ['i586', 'i686', 'x86_64']
if is_x86:
@@ -344,3 +347,61 @@ class Wic(oeSelfTest):
self.assertEqual(0, runCmd("wic create %s -e core-image-minimal" \
% image).status)
self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
+
+ def _make_fixed_size_wks(self, size):
+ """
+ Create a wks of an image with a single partition. Size of the partition is set
+ using --fixed-size flag. Returns a tuple: (path to wks file, wks image name)
+ """
+ with NamedTemporaryFile("w", suffix=".wks", delete=False) as tf:
+ wkspath = tf.name
+ tf.write("part " \
+ "--source rootfs --ondisk hda --align 4 --fixed-size %d "
+ "--fstype=ext4\n" % size)
+ wksname = os.path.splitext(os.path.basename(wkspath))[0]
+
+ return wkspath, wksname
+
+ def test_fixed_size(self):
+ """
+ Test creation of a simple image with partition size controlled through
+ --fixed-size flag
+ """
+ wkspath, wksname = self._make_fixed_size_wks(200)
+
+ self.assertEqual(0, runCmd("wic create %s -e core-image-minimal" \
+ % wkspath).status)
+ os.remove(wkspath)
+ wicout = glob(self.resultdir + "%s-*direct" % wksname)
+ self.assertEqual(1, len(wicout))
+
+ wicimg = wicout[0]
+
+ # verify partition size with wic
+ res = runCmd("parted -m %s unit mib p 2>/dev/null" % wicimg,
+ ignore_status=True,
+ native_sysroot=self.native_sysroot)
+ self.assertEqual(0, res.status)
+
+ # parse parted output which looks like this:
+ # BYT;\n
+ # /var/tmp/wic/build/tmpfwvjjkf_-201611101222-hda.direct:200MiB:file:512:512:msdos::;\n
+ # 1:0.00MiB:200MiB:200MiB:ext4::;\n
+ partlns = res.output.splitlines()[2:]
+
+ self.assertEqual(1, len(partlns))
+ self.assertEqual("1:0.00MiB:200MiB:200MiB:ext4::;", partlns[0])
+
+ def test_fixed_size_error(self):
+ """
+ Test creation of a simple image with partition size controlled through
+ --fixed-size flag. The size of partition is intentionally set to 1MiB
+ in order to trigger an error in wic.
+ """
+ wkspath, wksname = self._make_fixed_size_wks(1)
+
+ self.assertEqual(1, runCmd("wic create %s -e core-image-minimal" \
+ % wkspath, ignore_status=True).status)
+ os.remove(wkspath)
+ wicout = glob(self.resultdir + "%s-*direct" % wksname)
+ self.assertEqual(0, len(wicout))
--
2.5.5
^ permalink raw reply related
* [PATCH v6 4/5] wic: selftest: do not assume bzImage kernel image
From: Maciej Borzecki @ 2016-12-19 11:21 UTC (permalink / raw)
To: openembedded-core; +Cc: Maciej Borzecki
In-Reply-To: <cover.1482145354.git.maciej.borzecki@rndity.com>
Instead of assuming that bzImage is available, query bitbake enviroment
for KERNEL_IMAGETYPE.
Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
---
meta/lib/oeqa/selftest/wic.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py
index 35cd14fb0c4a9b863a7a6324885f80da8e86d3eb..8efece3171db47ee622f2c0f712fff2c2fcf645b 100644
--- a/meta/lib/oeqa/selftest/wic.py
+++ b/meta/lib/oeqa/selftest/wic.py
@@ -339,7 +339,8 @@ class Wic(oeSelfTest):
def test_sdimage_bootpart(self):
"""Test creation of sdimage-bootpart image"""
image = "sdimage-bootpart"
- self.write_config('IMAGE_BOOT_FILES = "bzImage"\n')
+ kimgtype = get_bb_var('KERNEL_IMAGETYPE', 'core-image-minimal')
+ self.write_config('IMAGE_BOOT_FILES = "%s"\n' % kimgtype)
self.assertEqual(0, runCmd("wic create %s -e core-image-minimal" \
% image).status)
self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
--
2.5.5
^ permalink raw reply related
* [PATCH v6 3/5] wic: selftest: avoid COMPATIBLE_HOST issues
From: Maciej Borzecki @ 2016-12-19 11:20 UTC (permalink / raw)
To: openembedded-core; +Cc: Maciej Borzecki
In-Reply-To: <cover.1482145354.git.maciej.borzecki@rndity.com>
wic tests will unconditionally attempt to build syslinux and add
configuration options that may not be compatible with current machine.
Resolve this by consulting HOST_ARCH (which defaults to TARGET_ARCH) and build
recipes, add configuration options or skip tests conditionally.
A convenience decorator onlyForArch() can be used to skip test cases for
specific architectures.
Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
---
meta/lib/oeqa/selftest/wic.py | 53 +++++++++++++++++++++++++++++++++++++++----
1 file changed, 48 insertions(+), 5 deletions(-)
diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py
index e652fad24ab6dd7ab1b998b60a98a4052a2f1dd7..35cd14fb0c4a9b863a7a6324885f80da8e86d3eb 100644
--- a/meta/lib/oeqa/selftest/wic.py
+++ b/meta/lib/oeqa/selftest/wic.py
@@ -24,15 +24,33 @@
"""Test cases for wic."""
import os
+import unittest
from glob import glob
from shutil import rmtree
+from functools import wraps
from oeqa.selftest.base import oeSelfTest
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu
from oeqa.utils.decorators import testcase
+class onlyForArch(object):
+
+ def __init__(self, *args):
+ self.archs = args
+
+ def __call__(self,f):
+ @wraps(f)
+ def wrapped_f(*args, **kwargs):
+ arch = get_bb_var('HOST_ARCH', 'core-image-minimal')
+ if self.archs and arch not in self.archs :
+ raise unittest.SkipTest("Testcase arch dependency not met: %s" % arch)
+ return f(*args, **kwargs)
+ wrapped_f.__name__ = f.__name__
+ return wrapped_f
+
+
class Wic(oeSelfTest):
"""Wic test class."""
@@ -41,16 +59,23 @@ class Wic(oeSelfTest):
def setUpLocal(self):
"""This code is executed before each test method."""
- self.write_config('IMAGE_FSTYPES += " hddimg"\n'
- 'MACHINE_FEATURES_append = " efi"\n'
- 'WKS_FILE = "wic-image-minimal"\n')
+ arch = get_bb_var('HOST_ARCH', 'core-image-minimal')
+ is_x86 = arch in ['i586', 'i686', 'x86_64']
+ if is_x86:
+ self.write_config('IMAGE_FSTYPES += " hddimg"\n' \
+ 'MACHINE_FEATURES_append = " efi"\n'
+ 'WKS_FILE = "wic-image-minimal"\n')
# Do this here instead of in setUpClass as the base setUp does some
# clean up which can result in the native tools built earlier in
# setUpClass being unavailable.
if not Wic.image_is_ready:
- bitbake('syslinux syslinux-native parted-native gptfdisk-native '
- 'dosfstools-native mtools-native bmap-tools-native')
+ tools = 'parted-native gptfdisk-native ' \
+ 'dosfstools-native mtools-native bmap-tools-native'
+ if is_x86:
+ tools += ' syslinux syslinux-native'
+ bitbake(tools)
+
bitbake('core-image-minimal')
Wic.image_is_ready = True
@@ -72,6 +97,7 @@ class Wic(oeSelfTest):
self.assertEqual(0, runCmd('wic list --help').status)
@testcase(1211)
+ @onlyForArch('i586', 'i686', 'x86_64')
def test_build_image_name(self):
"""Test wic create directdisk --image-name core-image-minimal"""
self.assertEqual(0, runCmd("wic create directdisk "
@@ -79,6 +105,7 @@ class Wic(oeSelfTest):
self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
@testcase(1212)
+ @onlyForArch('i586', 'i686', 'x86_64')
def test_build_artifacts(self):
"""Test wic create directdisk providing all artifacts."""
bbvars = dict((var.lower(), get_bb_var(var, 'core-image-minimal')) \
@@ -93,6 +120,7 @@ class Wic(oeSelfTest):
self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
@testcase(1157)
+ @onlyForArch('i586', 'i686', 'x86_64')
def test_gpt_image(self):
"""Test creation of core-image-minimal with gpt table and UUID boot"""
self.assertEqual(0, runCmd("wic create directdisk-gpt "
@@ -126,6 +154,7 @@ class Wic(oeSelfTest):
self.assertEqual(0, runCmd('wic help kickstart').status)
@testcase(1264)
+ @onlyForArch('i586', 'i686', 'x86_64')
def test_compress_gzip(self):
"""Test compressing an image with gzip"""
self.assertEqual(0, runCmd("wic create directdisk "
@@ -135,6 +164,7 @@ class Wic(oeSelfTest):
"directdisk-*.direct.gz")))
@testcase(1265)
+ @onlyForArch('i586', 'i686', 'x86_64')
def test_compress_bzip2(self):
"""Test compressing an image with bzip2"""
self.assertEqual(0, runCmd("wic create directdisk "
@@ -144,6 +174,7 @@ class Wic(oeSelfTest):
"directdisk-*.direct.bz2")))
@testcase(1266)
+ @onlyForArch('i586', 'i686', 'x86_64')
def test_compress_xz(self):
"""Test compressing an image with xz"""
self.assertEqual(0, runCmd("wic create directdisk "
@@ -153,6 +184,7 @@ class Wic(oeSelfTest):
"directdisk-*.direct.xz")))
@testcase(1267)
+ @onlyForArch('i586', 'i686', 'x86_64')
def test_wrong_compressor(self):
"""Test how wic breaks if wrong compressor is provided"""
self.assertEqual(2, runCmd("wic create directdisk "
@@ -160,6 +192,7 @@ class Wic(oeSelfTest):
"-c wrong", ignore_status=True).status)
@testcase(1268)
+ @onlyForArch('i586', 'i686', 'x86_64')
def test_rootfs_indirect_recipes(self):
"""Test usage of rootfs plugin with rootfs recipes"""
wks = "directdisk-multi-rootfs"
@@ -171,6 +204,7 @@ class Wic(oeSelfTest):
self.assertEqual(1, len(glob(self.resultdir + "%s*.direct" % wks)))
@testcase(1269)
+ @onlyForArch('i586', 'i686', 'x86_64')
def test_rootfs_artifacts(self):
"""Test usage of rootfs plugin with rootfs paths"""
bbvars = dict((var.lower(), get_bb_var(var, 'core-image-minimal')) \
@@ -189,6 +223,7 @@ class Wic(oeSelfTest):
"%(wks)s-*.direct" % bbvars)))
@testcase(1346)
+ @onlyForArch('i586', 'i686', 'x86_64')
def test_iso_image(self):
"""Test creation of hybrid iso image with legacy and EFI boot"""
self.assertEqual(0, runCmd("wic create mkhybridiso "
@@ -221,6 +256,7 @@ class Wic(oeSelfTest):
self.assertTrue(content[var])
@testcase(1351)
+ @onlyForArch('i586', 'i686', 'x86_64')
def test_wic_image_type(self):
"""Test building wic images by bitbake"""
self.assertEqual(0, bitbake('wic-image-minimal').status)
@@ -236,6 +272,7 @@ class Wic(oeSelfTest):
self.assertTrue(os.path.isfile(os.path.realpath(path)))
@testcase(1348)
+ @onlyForArch('i586', 'i686', 'x86_64')
def test_qemux86_directdisk(self):
"""Test creation of qemux-86-directdisk image"""
image = "qemux86-directdisk"
@@ -244,6 +281,7 @@ class Wic(oeSelfTest):
self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
@testcase(1349)
+ @onlyForArch('i586', 'i686', 'x86_64')
def test_mkgummidisk(self):
"""Test creation of mkgummidisk image"""
image = "mkgummidisk"
@@ -252,6 +290,7 @@ class Wic(oeSelfTest):
self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
@testcase(1350)
+ @onlyForArch('i586', 'i686', 'x86_64')
def test_mkefidisk(self):
"""Test creation of mkefidisk image"""
image = "mkefidisk"
@@ -260,6 +299,7 @@ class Wic(oeSelfTest):
self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
@testcase(1385)
+ @onlyForArch('i586', 'i686', 'x86_64')
def test_directdisk_bootloader_config(self):
"""Test creation of directdisk-bootloader-config image"""
image = "directdisk-bootloader-config"
@@ -268,6 +308,7 @@ class Wic(oeSelfTest):
self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
@testcase(1422)
+ @onlyForArch('i586', 'i686', 'x86_64')
def test_qemu(self):
"""Test wic-image-minimal under qemu"""
self.assertEqual(0, bitbake('wic-image-minimal').status)
@@ -278,6 +319,7 @@ class Wic(oeSelfTest):
self.assertEqual(1, status, 'Failed to run command "%s": %s' % (command, output))
self.assertEqual(output, '/dev/root /\r\n/dev/vda3 /mnt')
+ @onlyForArch('i586', 'i686', 'x86_64')
def test_bmap(self):
"""Test generation of .bmap file"""
image = "directdisk"
@@ -286,6 +328,7 @@ class Wic(oeSelfTest):
self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
self.assertEqual(1, len(glob(self.resultdir + "%s-*direct.bmap" % image)))
+ @onlyForArch('i586', 'i686', 'x86_64')
def test_systemd_bootdisk(self):
"""Test creation of systemd-bootdisk image"""
image = "systemd-bootdisk"
--
2.5.5
^ permalink raw reply related
* [PATCH v6 2/5] wic: add --fixed-size wks option
From: Maciej Borzecki @ 2016-12-19 11:20 UTC (permalink / raw)
To: openembedded-core; +Cc: Maciej Borzecki
In-Reply-To: <cover.1482145354.git.maciej.borzecki@rndity.com>
Added new option --fixed-size to wks. The option can be used to indicate
the exact size of a partition. The option cannot be added together with
--size, in which case an error will be raised. Other options that
influence automatic partition size (--extra-space, --overhead-factor),
if specifiec along with --fixed-size, will raise an error.
If it partition data is larger than the amount of space specified with
--fixed-size option wic will raise an error.
Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
---
scripts/lib/wic/help.py | 14 ++++--
scripts/lib/wic/imager/direct.py | 2 +-
scripts/lib/wic/ksparser.py | 41 ++++++++++++++--
scripts/lib/wic/partition.py | 88 +++++++++++++++++++++-------------
scripts/lib/wic/utils/partitionedfs.py | 2 +-
5 files changed, 105 insertions(+), 42 deletions(-)
diff --git a/scripts/lib/wic/help.py b/scripts/lib/wic/help.py
index e5347ec4b7c900c68fc64351a5293e75de0672b3..daa11bf489c135627ddfe4cef968e48f8e3ad1d8 100644
--- a/scripts/lib/wic/help.py
+++ b/scripts/lib/wic/help.py
@@ -646,6 +646,12 @@ DESCRIPTION
not specified, the size is in MB.
You do not need this option if you use --source.
+ --fixed-size: Exact partition size. Value format is the same
+ as for --size option. This option cannot be
+ specified along with --size. If partition data
+ is larger than --fixed-size and error will be
+ raised when assembling disk image.
+
--source: This option is a wic-specific option that names the
source of the data that will populate the
partition. The most common value for this option
@@ -719,13 +725,15 @@ DESCRIPTION
space after the space filled by the content
of the partition. The final size can go
beyond the size specified by --size.
- By default, 10MB.
+ By default, 10MB. This option cannot be used
+ with --fixed-size option.
--overhead-factor: This option is specific to wic. The
size of the partition is multiplied by
this factor. It has to be greater than or
- equal to 1.
- The default value is 1.3.
+ equal to 1. The default value is 1.3.
+ This option cannot be used with --fixed-size
+ option.
--part-type: This option is specific to wic. It specifies partition
type GUID for GPT partitions.
diff --git a/scripts/lib/wic/imager/direct.py b/scripts/lib/wic/imager/direct.py
index 2bedef08d6450096c786def6f75a9ee53fcd4b3b..11ec15e33f65885618c7adc83e55c6a39fedbe99 100644
--- a/scripts/lib/wic/imager/direct.py
+++ b/scripts/lib/wic/imager/direct.py
@@ -290,7 +290,7 @@ class DirectImageCreator(BaseImageCreator):
self.bootimg_dir, self.kernel_dir, self.native_sysroot)
- self.__image.add_partition(int(part.size),
+ self.__image.add_partition(part.disk_size,
part.disk,
part.mountpoint,
part.source_file,
diff --git a/scripts/lib/wic/ksparser.py b/scripts/lib/wic/ksparser.py
index 0894e2b199a299fbbed272f2e1c95e9d692e3ab1..62c490274aa92bf82aac304d9323250e3b728d0c 100644
--- a/scripts/lib/wic/ksparser.py
+++ b/scripts/lib/wic/ksparser.py
@@ -113,6 +113,9 @@ def systemidtype(arg):
class KickStart():
""""Kickstart parser implementation."""
+ DEFAULT_EXTRA_SPACE = 10*1024
+ DEFAULT_OVERHEAD_FACTOR = 1.3
+
def __init__(self, confpath):
self.partitions = []
@@ -127,16 +130,24 @@ class KickStart():
part.add_argument('mountpoint', nargs='?')
part.add_argument('--active', action='store_true')
part.add_argument('--align', type=int)
- part.add_argument("--extra-space", type=sizetype, default=10*1024)
+ part.add_argument("--extra-space", type=sizetype)
part.add_argument('--fsoptions', dest='fsopts')
part.add_argument('--fstype')
part.add_argument('--label')
part.add_argument('--no-table', action='store_true')
part.add_argument('--ondisk', '--ondrive', dest='disk')
- part.add_argument("--overhead-factor", type=overheadtype, default=1.3)
+ part.add_argument("--overhead-factor", type=overheadtype)
part.add_argument('--part-type')
part.add_argument('--rootfs-dir')
- part.add_argument('--size', type=sizetype, default=0)
+
+ # --size and --fixed-size cannot be specified together; options
+ # ----extra-space and --overhead-factor should also raise a parser
+ # --error, but since nesting mutually exclusive groups does not work,
+ # ----extra-space/--overhead-factor are handled later
+ sizeexcl = part.add_mutually_exclusive_group()
+ sizeexcl.add_argument('--size', type=sizetype, default=0)
+ sizeexcl.add_argument('--fixed-size', type=sizetype, default=0)
+
part.add_argument('--source')
part.add_argument('--sourceparams')
part.add_argument('--system-id', type=systemidtype)
@@ -170,11 +181,33 @@ class KickStart():
lineno += 1
if line and line[0] != '#':
try:
- parsed = parser.parse_args(shlex.split(line))
+ line_args = shlex.split(line)
+ parsed = parser.parse_args(line_args)
except ArgumentError as err:
raise KickStartError('%s:%d: %s' % \
(confpath, lineno, err))
if line.startswith('part'):
+ # using ArgumentParser one cannot easily tell if option
+ # was passed as argument, if said option has a default
+ # value; --overhead-factor/--extra-space cannot be used
+ # with --fixed-size, so at least detect when these were
+ # passed with non-0 values ...
+ if parsed.fixed_size:
+ if parsed.overhead_factor or parsed.extra_space:
+ err = "%s:%d: arguments --overhead-factor and --extra-space not "\
+ "allowed with argument --fixed-size" \
+ % (confpath, lineno)
+ raise KickStartError(err)
+ else:
+ # ... and provide defaults if not using
+ # --fixed-size iff given option was not used
+ # (again, one cannot tell if option was passed but
+ # with value equal to 0)
+ if '--overhead-factor' not in line_args:
+ parsed.overhead_factor = self.DEFAULT_OVERHEAD_FACTOR
+ if '--extra-space' not in line_args:
+ parsed.extra_space = self.DEFAULT_EXTRA_SPACE
+
self.partnum += 1
self.partitions.append(Partition(parsed, self.partnum))
elif line.startswith('include'):
diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py
index b191cdee542054956262d6c49f3ccc7cf812ee8a..aa8f8a79486b00b99fc43153fda93e654adfd1d9 100644
--- a/scripts/lib/wic/partition.py
+++ b/scripts/lib/wic/partition.py
@@ -54,6 +54,7 @@ class Partition():
self.part_type = args.part_type
self.rootfs_dir = args.rootfs_dir
self.size = args.size
+ self.fixed_size = args.fixed_size
self.source = args.source
self.sourceparams = args.sourceparams
self.system_id = args.system_id
@@ -87,6 +88,41 @@ class Partition():
else:
return 0
+ def get_rootfs_size(self, actual_rootfs_size=0):
+ """
+ Calculate the required size of rootfs taking into consideration
+ --size/--fixed-size flags as well as overhead and extra space, as
+ specified in kickstart file. Raises an error if the
+ `actual_rootfs_size` is larger than fixed-size rootfs.
+
+ """
+ if self.fixed_size:
+ rootfs_size = self.fixed_size
+ if actual_rootfs_size > rootfs_size:
+ msger.error("Actual rootfs size (%d kB) is larger than allowed size %d kB" \
+ %(actual_rootfs_size, rootfs_size))
+ else:
+ extra_blocks = self.get_extra_block_count(actual_rootfs_size)
+ if extra_blocks < self.extra_space:
+ extra_blocks = self.extra_space
+
+ rootfs_size = actual_rootfs_size + extra_blocks
+ rootfs_size *= self.overhead_factor
+
+ msger.debug("Added %d extra blocks to %s to get to %d total blocks" % \
+ (extra_blocks, self.mountpoint, rootfs_size))
+
+ return rootfs_size
+
+ @property
+ def disk_size(self):
+ """
+ Obtain on-disk size of partition taking into consideration
+ --size/--fixed-size options.
+
+ """
+ return self.fixed_size if self.fixed_size else self.size
+
def prepare(self, creator, cr_workdir, oe_builddir, rootfs_dir,
bootimg_dir, kernel_dir, native_sysroot):
"""
@@ -97,9 +133,9 @@ class Partition():
self.sourceparams_dict = parse_sourceparams(self.sourceparams)
if not self.source:
- if not self.size:
- msger.error("The %s partition has a size of zero. Please "
- "specify a non-zero --size for that partition." % \
+ if not self.size and not self.fixed_size:
+ msger.error("The %s partition has a size of zero. Please "
+ "specify a non-zero --size/--fixed-size for that partition." % \
self.mountpoint)
if self.fstype and self.fstype == "swap":
self.prepare_swap_partition(cr_workdir, oe_builddir,
@@ -146,6 +182,7 @@ class Partition():
oe_builddir,
bootimg_dir, kernel_dir, rootfs_dir,
native_sysroot)
+
# further processing required Partition.size to be an integer, make
# sure that it is one
if type(self.size) is not int:
@@ -153,6 +190,12 @@ class Partition():
"This a bug in source plugin %s and needs to be fixed." \
% (self.mountpoint, self.source))
+ if self.fixed_size and self.size > self.fixed_size:
+ msger.error("File system image of partition %s is larger (%d kB) than its"\
+ "allowed size %d kB" % (self.mountpoint,
+ self.size, self.fixed_size))
+
+
def prepare_rootfs_from_fs_image(self, cr_workdir, oe_builddir,
rootfs_dir):
"""
@@ -228,15 +271,7 @@ class Partition():
out = exec_cmd(du_cmd)
actual_rootfs_size = int(out.split()[0])
- extra_blocks = self.get_extra_block_count(actual_rootfs_size)
- if extra_blocks < self.extra_space:
- extra_blocks = self.extra_space
-
- rootfs_size = actual_rootfs_size + extra_blocks
- rootfs_size *= self.overhead_factor
-
- msger.debug("Added %d extra blocks to %s to get to %d total blocks" % \
- (extra_blocks, self.mountpoint, rootfs_size))
+ rootfs_size = self.get_rootfs_size(actual_rootfs_size)
with open(rootfs, 'w') as sparse:
os.ftruncate(sparse.fileno(), rootfs_size * 1024)
@@ -262,15 +297,7 @@ class Partition():
out = exec_cmd(du_cmd)
actual_rootfs_size = int(out.split()[0])
- extra_blocks = self.get_extra_block_count(actual_rootfs_size)
- if extra_blocks < self.extra_space:
- extra_blocks = self.extra_space
-
- rootfs_size = actual_rootfs_size + extra_blocks
- rootfs_size *= self.overhead_factor
-
- msger.debug("Added %d extra blocks to %s to get to %d total blocks" % \
- (extra_blocks, self.mountpoint, rootfs_size))
+ rootfs_size = self.get_rootfs_size(actual_rootfs_size)
with open(rootfs, 'w') as sparse:
os.ftruncate(sparse.fileno(), rootfs_size * 1024)
@@ -292,20 +319,13 @@ class Partition():
out = exec_cmd(du_cmd)
blocks = int(out.split()[0])
- extra_blocks = self.get_extra_block_count(blocks)
- if extra_blocks < self.extra_space:
- extra_blocks = self.extra_space
-
- blocks += extra_blocks
-
- msger.debug("Added %d extra blocks to %s to get to %d total blocks" % \
- (extra_blocks, self.mountpoint, blocks))
+ rootfs_size = self.get_rootfs_size(blocks)
label_str = "-n boot"
if self.label:
label_str = "-n %s" % self.label
- dosfs_cmd = "mkdosfs %s -S 512 -C %s %d" % (label_str, rootfs, blocks)
+ dosfs_cmd = "mkdosfs %s -S 512 -C %s %d" % (label_str, rootfs, rootfs_size)
exec_native_cmd(dosfs_cmd, native_sysroot)
mcopy_cmd = "mcopy -i %s -s %s/* ::/" % (rootfs, rootfs_dir)
@@ -328,8 +348,9 @@ class Partition():
"""
Prepare an empty ext2/3/4 partition.
"""
+ size = self.disk_size
with open(rootfs, 'w') as sparse:
- os.ftruncate(sparse.fileno(), self.size * 1024)
+ os.ftruncate(sparse.fileno(), size * 1024)
extra_imagecmd = "-i 8192"
@@ -346,8 +367,9 @@ class Partition():
"""
Prepare an empty btrfs partition.
"""
+ size = self.disk_size
with open(rootfs, 'w') as sparse:
- os.ftruncate(sparse.fileno(), self.size * 1024)
+ os.ftruncate(sparse.fileno(), size * 1024)
label_str = ""
if self.label:
@@ -362,7 +384,7 @@ class Partition():
"""
Prepare an empty vfat partition.
"""
- blocks = self.size
+ blocks = self.disk_size
label_str = "-n boot"
if self.label:
diff --git a/scripts/lib/wic/utils/partitionedfs.py b/scripts/lib/wic/utils/partitionedfs.py
index 9ea4a30cbb1cc66be66651653814c60b17bad2f9..68301f0b476ed48edfcb4dcad0df903474d13b50 100644
--- a/scripts/lib/wic/utils/partitionedfs.py
+++ b/scripts/lib/wic/utils/partitionedfs.py
@@ -210,7 +210,7 @@ class Image():
msger.debug("Assigned %s to %s%d, sectors range %d-%d size %d "
"sectors (%d bytes)." \
% (part['mountpoint'], part['disk_name'], part['num'],
- part['start'], part['start'] + part['size'] - 1,
+ part['start'], disk['offset'] - 1,
part['size'], part['size'] * self.sector_size))
# Once all the partitions have been layed out, we can calculate the
--
2.5.5
^ permalink raw reply related
* [PATCH v6 1/5] oeqa/utils/commands.py: allow use of binaries from native sysroot
From: Maciej Borzecki @ 2016-12-19 11:20 UTC (permalink / raw)
To: openembedded-core; +Cc: Maciej Borzecki
In-Reply-To: <cover.1482145354.git.maciej.borzecki@rndity.com>
Tests may need to run a native tool that is not available on the host
filesystem, but can be built using one of the *-native recipes. In such case,
the tool will be available in native sysroot, and running in from that location
will require adjustments to PATH.
runCmd() can now take a path to native sysroot as one of its arguments and
setup PATH accordingly.
Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
---
meta/lib/oeqa/utils/commands.py | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/meta/lib/oeqa/utils/commands.py b/meta/lib/oeqa/utils/commands.py
index 3a68b001b76ca89df17545912e2f75ca2cca6a38..0425c9fd98c7e8074ced6222156f5a1c2a393f50 100644
--- a/meta/lib/oeqa/utils/commands.py
+++ b/meta/lib/oeqa/utils/commands.py
@@ -97,9 +97,16 @@ class Result(object):
pass
-def runCmd(command, ignore_status=False, timeout=None, assert_error=True, **options):
+def runCmd(command, ignore_status=False, timeout=None, assert_error=True, native_sysroot=None, **options):
result = Result()
+ if native_sysroot:
+ extra_paths = "%s/sbin:%s/usr/sbin:%s/usr/bin" % \
+ (native_sysroot, native_sysroot, native_sysroot)
+ nenv = dict(options.get('env', os.environ))
+ nenv['PATH'] = extra_paths + ':' + nenv.get('PATH', '')
+ options['env'] = nenv
+
cmd = Command(command, timeout=timeout, **options)
cmd.run()
--
2.5.5
^ permalink raw reply related
* [PATCH v6 0/5] wic: bugfixes & --fixed-size support, tests, oeqa: enhancements
From: Maciej Borzecki @ 2016-12-19 11:20 UTC (permalink / raw)
To: openembedded-core; +Cc: Maciej Borzecki
In-Reply-To: <20161213185317.GA6550@linux.intel.com>
v6 of a patch series previously posted here [1].
Changes since v5:
* `oe-selftest: enforce en_US.UTF-8 locale` was merged to master, hence it's no
longer part of this series
* rebased on top of master (d0d260b0b85790ceb136dd6b0445e8e33d038f5e)
[1]. http://lists.openembedded.org/pipermail/openembedded-core/2016-November/129187.html
Maciej Borzecki (5):
oeqa/utils/commands.py: allow use of binaries from native sysroot
wic: add --fixed-size wks option
wic: selftest: avoid COMPATIBLE_HOST issues
wic: selftest: do not assume bzImage kernel image
wic: selftest: add tests for --fixed-size partition flags
meta/lib/oeqa/selftest/wic.py | 117 +++++++++++++++++++++++++++++++--
meta/lib/oeqa/utils/commands.py | 9 ++-
scripts/lib/wic/help.py | 14 +++-
scripts/lib/wic/imager/direct.py | 2 +-
scripts/lib/wic/ksparser.py | 41 ++++++++++--
scripts/lib/wic/partition.py | 88 +++++++++++++++----------
scripts/lib/wic/utils/partitionedfs.py | 2 +-
7 files changed, 224 insertions(+), 49 deletions(-)
--
2.5.5
^ permalink raw reply
* Re: 'From OE-Core rev: <commit-id>' in recent master commits
From: Burton, Ross @ 2016-12-19 11:19 UTC (permalink / raw)
To: Andreas Müller; +Cc: Patches and discussions about the oe-core layer
In-Reply-To: <CALbNGRThWRoOfZjN1BaQpT2hAGzuRCfHUnfG89gxQcDE=6cgUw@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 279 bytes --]
On 19 December 2016 at 11:14, Andreas Müller <schnitzeltony@googlemail.com>
wrote:
> just updated to latest HEAD and checked commits. Found a lot of commits
> with
>
> (From OE-Core rev: <commit ID>)
>
Can you point to any SHAs in particular that have this?
Ross
[-- Attachment #2: Type: text/html, Size: 701 bytes --]
^ permalink raw reply
* 'From OE-Core rev: <commit-id>' in recent master commits
From: Andreas Müller @ 2016-12-19 11:14 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
Hi,
just updated to latest HEAD and checked commits. Found a lot of commits with
(From OE-Core rev: <commit ID>)
If I try to check the commit mentioned with 'git show' I get 'fatal:
bad object ..'.
I thought the tag was meant for release branches when backporting
master commits.
What am I missing - or did these tags come in by accident?
Regards
Andreas
^ permalink raw reply
* Re: [V2 02/10] gdb: Upgrade to 7.12
From: Burton, Ross @ 2016-12-19 11:14 UTC (permalink / raw)
To: Khem Raj; +Cc: OE-core
In-Reply-To: <20161219063957.18716-2-raj.khem@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 511 bytes --]
On 19 December 2016 at 06:39, Khem Raj <raj.khem@gmail.com> wrote:
> --- a/meta/conf/distro/include/tcmode-default.inc
> +++ b/meta/conf/distro/include/tcmode-default.inc
> @@ -25,7 +25,7 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
> GCCVERSION ?= "6.2%"
> SDKGCCVERSION ?= "${GCCVERSION}"
> BINUVERSION ?= "2.27%"
> -GDBVERSION ?= "7.11%"
> +GDBVERSION ?= "7.12%"
> GLIBCVERSION ?= "2.25"
>
Can you rebase stuff to master before submitting it, as this patch doesn't
apply.
Ross
[-- Attachment #2: Type: text/html, Size: 983 bytes --]
^ permalink raw reply
* Re: [V2 07/10] x264: Fix build on mips architectures
From: André Draszik @ 2016-12-19 10:40 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <1482143598.27847.17.camel@andred.net>
On Mon, 2016-12-19 at 10:33 +0000, André Draszik wrote:
> On Sun, 2016-12-18 at 22:39 -0800, Khem Raj wrote:
> > Disable asm to fix
> >
> > > You specified a pre-MSA CPU in your CFLAGS.
> > > If you really want to run on such a CPU, configure with --disable-asm.
> >
> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > ---
> > meta/recipes-multimedia/x264/x264_git.bb | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/meta/recipes-multimedia/x264/x264_git.bb b/meta/recipes-
> > multimedia/x264/x264_git.bb
> > index e790681ad3..240a19661f 100644
> > --- a/meta/recipes-multimedia/x264/x264_git.bb
> > +++ b/meta/recipes-multimedia/x264/x264_git.bb
> > @@ -23,6 +23,8 @@ inherit lib_package pkgconfig perlnative
> > X264_DISABLE_ASM = ""
> > X264_DISABLE_ASM_armv4 = "--disable-asm"
> > X264_DISABLE_ASM_armv5 = "--disable-asm"
> > +X264_DISABLE_ASM_mips = "--disable-asm"
> > +X264_DISABLE_ASM_mipsel = "--disable-asm"
>
> I think you can use _mipsarch these days, which covers all MIPS. Equally,
> mips32r5 and later have MSA, so I think the override should be:
>
> X264_DISABLE_ASM_mipsarch = "--disable-asm"
> X264_DISABLE_ASM_mipsarchr6 = ""
>
> or just
>
> X264_DISABLE_ASM_mipsarch = "${@bb.utils.contains("AVAILTUNES", "mips32r6", "", "--disable-asm", d)}"
or
X264_DISABLE_ASM_mipsarch = "${@bb.utils.contains("TUNE_FEATURES", "r6", "", "--disable-asm", d)}"
> not sure, and completely untested.
A.
^ permalink raw reply
* Re: [V2 07/10] x264: Fix build on mips architectures
From: André Draszik @ 2016-12-19 10:33 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <20161219063957.18716-7-raj.khem@gmail.com>
On Sun, 2016-12-18 at 22:39 -0800, Khem Raj wrote:
> Disable asm to fix
>
> > You specified a pre-MSA CPU in your CFLAGS.
> > If you really want to run on such a CPU, configure with --disable-asm.
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> meta/recipes-multimedia/x264/x264_git.bb | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/meta/recipes-multimedia/x264/x264_git.bb b/meta/recipes-
> multimedia/x264/x264_git.bb
> index e790681ad3..240a19661f 100644
> --- a/meta/recipes-multimedia/x264/x264_git.bb
> +++ b/meta/recipes-multimedia/x264/x264_git.bb
> @@ -23,6 +23,8 @@ inherit lib_package pkgconfig perlnative
> X264_DISABLE_ASM = ""
> X264_DISABLE_ASM_armv4 = "--disable-asm"
> X264_DISABLE_ASM_armv5 = "--disable-asm"
> +X264_DISABLE_ASM_mips = "--disable-asm"
> +X264_DISABLE_ASM_mipsel = "--disable-asm"
I think you can use _mipsarch these days, which covers all MIPS. Equally,
mips32r5 and later have MSA, so I think the override should be:
X264_DISABLE_ASM_mipsarch = "--disable-asm"
X264_DISABLE_ASM_mipsarchr6 = ""
or just
X264_DISABLE_ASM_mipsarch = "${@bb.utils.contains("AVAILTUNES", "mips32r6",
"", "--disable-asm", d)}"
not sure, and completely untested.
Cheers,
Andre'
^ permalink raw reply
* Re: [PATCH 7/8] x264: Fix build on mips architectures
From: André Draszik @ 2016-12-19 10:30 UTC (permalink / raw)
To: Khem Raj, openembedded-core
In-Reply-To: <20161219030600.1284-7-raj.khem@gmail.com>
On Sun, 2016-12-18 at 19:05 -0800, Khem Raj wrote:
> Disable asm to fix
>
> > You specified a pre-MSA CPU in your CFLAGS.
> > If you really want to run on such a CPU, configure with --disable-asm.
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> meta/recipes-multimedia/x264/x264_git.bb | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/meta/recipes-multimedia/x264/x264_git.bb b/meta/recipes-
> multimedia/x264/x264_git.bb
> index e790681ad3..240a19661f 100644
> --- a/meta/recipes-multimedia/x264/x264_git.bb
> +++ b/meta/recipes-multimedia/x264/x264_git.bb
> @@ -23,6 +23,8 @@ inherit lib_package pkgconfig perlnative
> X264_DISABLE_ASM = ""
> X264_DISABLE_ASM_armv4 = "--disable-asm"
> X264_DISABLE_ASM_armv5 = "--disable-asm"
> +X264_DISABLE_ASM_mips = "--disable-asm"
> +X264_DISABLE_ASM_mipsel = "--disable-asm"
I think you can use _mipsarch these days, which covers all MIPS. Equally,
mips32r5 and later have MSA, so I think the override should be:
X264_DISABLE_ASM_mipsarch = "--disable-asm"
X264_DISABLE_ASM_mipsarchr6 = ""
or just
X264_DISABLE_ASM_mipsarch = "${@bb.utils.contains("AVAILTUNES", "mips32r6", "", "--disable-asm", d)}"
not sure, and completely untested.
Cheers,
Andre'
^ permalink raw reply
* Re: [V2 10/10] gdk-pixbuf: Update to 2.36.1
From: Jussi Kukkonen @ 2016-12-19 9:13 UTC (permalink / raw)
To: Khem Raj; +Cc: Patches and discussions about the oe-core layer
In-Reply-To: <20161219063957.18716-10-raj.khem@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2266 bytes --]
On 19 December 2016 at 08:39, Khem Raj <raj.khem@gmail.com> wrote:
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> .../gdk-pixbuf/{gdk-pixbuf_2.36.0.bb => gdk-pixbuf_2.36.1.bb} | 7
> +++----
>
I'm pretty sure this breaks debian renaming because of the added
thumbnailer binary.
I've got this upgrade (with an added ${PN}-bin package) in a branch that I
plan to send after a quick test so no need to fix.
Jussi
> 1 file changed, 3 insertions(+), 4 deletions(-)
> rename meta/recipes-gnome/gdk-pixbuf/{gdk-pixbuf_2.36.0.bb =>
> gdk-pixbuf_2.36.1.bb} (95%)
>
> diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.0.bb
> b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.1.bb
> similarity index 95%
> rename from meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.0.bb
> rename to meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.1.bb
> index 9efe374c0d..debc2d706a 100644
> --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.0.bb
> +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.1.bb
> @@ -18,9 +18,8 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz
> \
> file://run-ptest \
> file://fatal-loader.patch \
> "
> -
> -SRC_URI[md5sum] = "1a3baf91956c7923dab49ee3de100ce1"
> -SRC_URI[sha256sum] = "85ab52ce9f2c26327141b3dcf21cca
> 3da6a3f8de84b95fa1e727d8871a23245c"
> +SRC_URI[md5sum] = "fe30b0420e013f2c4590ae6226d895d4"
> +SRC_URI[sha256sum] = "9d5ba72070460c1b5b74115d395a3e
> 33daeb7b7b67fb256cdccc9d7187c42a38"
>
> inherit autotools pkgconfig gettext pixbufcache ptest-gnome
> upstream-version-is-even gobject-introspection gtk-doc
>
> @@ -46,7 +45,7 @@ PACKAGES =+ "${PN}-xlib"
> FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}"
> ALLOW_EMPTY_${PN}-xlib = "1"
>
> -FILES_${PN} += "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"
> +FILES_${PN} += "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders
> ${datadir}/thumbnailers"
>
> FILES_${PN}-dev += " \
> ${bindir}/gdk-pixbuf-csource \
> --
> 2.11.0
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
[-- Attachment #2: Type: text/html, Size: 4166 bytes --]
^ permalink raw reply
* [PATCH v3 3/3] selftest/wic: Add tests for --exclude-dir option.
From: Kristian Amlie @ 2016-12-19 9:09 UTC (permalink / raw)
To: Ed Bartosh; +Cc: openembedded-core
In-Reply-To: <1482138565-4120-1-git-send-email-kristian.amlie@mender.io>
Based partially on an earlier patch by Maciej Borzecki.
Signed-off-by: Kristian Amlie <kristian.amlie@mender.io>
---
meta/lib/oeqa/selftest/wic.py | 103 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 102 insertions(+), 1 deletion(-)
diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py
index faac11e..09f475c 100644
--- a/meta/lib/oeqa/selftest/wic.py
+++ b/meta/lib/oeqa/selftest/wic.py
@@ -49,7 +49,8 @@ class Wic(oeSelfTest):
# setUpClass being unavailable.
if not Wic.image_is_ready:
bitbake('syslinux syslinux-native parted-native gptfdisk-native '
- 'dosfstools-native mtools-native bmap-tools-native')
+ 'dosfstools-native mtools-native bmap-tools-native '
+ 'e2tools-native')
bitbake('core-image-minimal')
Wic.image_is_ready = True
@@ -299,3 +300,103 @@ class Wic(oeSelfTest):
self.assertEqual(0, runCmd("wic create %s -e core-image-minimal" \
% image).status)
self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
+
+ def test_exclude_path(self):
+ """Test --exclude-path wks option."""
+
+ # For using 'e2ls'.
+ old_path = os.environ['PATH']
+ os.environ['PATH'] = get_bb_var('PATH', 'core-image-minimal')
+
+ wks_file = 'temp.wks'
+ with open(wks_file, 'w') as wks:
+ rootfs_dir = get_bb_var('IMAGE_ROOTFS', 'core-image-minimal')
+ wks.write("""part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path usr
+part /usr --source rootfs --ondisk mmcblk0 --fstype=ext4 --rootfs-dir %s/usr
+part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --rootfs-dir %s/usr"""
+ % (rootfs_dir, rootfs_dir))
+ self.assertEqual(0, runCmd("wic create %s -e core-image-minimal" \
+ % wks_file).status)
+
+ os.remove(wks_file)
+ wicout = glob(self.resultdir + "%s-*direct" % 'temp')
+ self.assertEqual(1, len(wicout))
+
+ wicimg = wicout[0]
+
+ # verify partition size with wic
+ res = runCmd("parted -m %s unit b p 2>/dev/null" % wicimg)
+ self.assertEqual(0, res.status)
+
+ # parse parted output which looks like this:
+ # BYT;\n
+ # /var/tmp/wic/build/tmpfwvjjkf_-201611101222-hda.direct:200MiB:file:512:512:msdos::;\n
+ # 1:0.00MiB:200MiB:200MiB:ext4::;\n
+ partlns = res.output.splitlines()[2:]
+
+ self.assertEqual(3, len(partlns))
+
+ for part in [1, 2, 3]:
+ part_file = os.path.join(self.resultdir, "selftest_img.part%d" % part)
+ partln = partlns[part-1].split(":")
+ self.assertEqual(7, len(partln))
+ start = int(partln[1].rstrip("B")) / 512
+ length = int(partln[3].rstrip("B")) / 512
+ self.assertEqual(0, runCmd("dd if=%s of=%s skip=%d count=%d" %
+ (wicimg, part_file, start, length)).status)
+
+ # Test partition 1, should contain the normal root directories, except
+ # /usr.
+ res = runCmd("e2ls %s" % os.path.join(self.resultdir, "selftest_img.part1"))
+ self.assertEqual(0, res.status)
+ files = res.output.split()
+ self.assertIn("etc", files)
+ self.assertNotIn("usr", files)
+
+ # Partition 2, should contain common directories for /usr, not root
+ # directories.
+ res = runCmd("e2ls %s" % os.path.join(self.resultdir, "selftest_img.part2"))
+ self.assertEqual(0, res.status)
+ files = res.output.split()
+ self.assertNotIn("etc", files)
+ self.assertNotIn("usr", files)
+ self.assertIn("share", files)
+
+ # Partition 3, should contain the same as partition 2, including the bin
+ # directory, but not the files inside it.
+ res = runCmd("e2ls %s" % os.path.join(self.resultdir, "selftest_img.part3"))
+ self.assertEqual(0, res.status)
+ files = res.output.split()
+ self.assertNotIn("etc", files)
+ self.assertNotIn("usr", files)
+ self.assertIn("share", files)
+ self.assertIn("bin", files)
+ res = runCmd("e2ls %s:bin" % os.path.join(self.resultdir, "selftest_img.part3"))
+ self.assertEqual(0, res.status)
+ self.assertEqual("No files found!", res.output.strip())
+
+ for part in [1, 2, 3]:
+ part_file = os.path.join(self.resultdir, "selftest_img.part%d" % part)
+ os.remove(part_file)
+
+ os.environ['PATH'] = old_path
+
+ def test_exclude_path_errors(self):
+ """Test --exclude-path wks option error handling."""
+ wks_file = 'temp.wks'
+
+ rootfs_dir = get_bb_var('IMAGE_ROOTFS', 'core-image-minimal')
+
+ # Absolute argument.
+ with open(wks_file, 'w') as wks:
+ wks.write("part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path /usr")
+ self.assertNotEqual(0, runCmd("wic create %s -e core-image-minimal" \
+ % wks_file, ignore_status=True).status)
+ os.remove(wks_file)
+
+ # Argument pointing to parent directory.
+ with open(wks_file, 'w') as wks:
+ wks.write("part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path ././..")
+ self.assertNotEqual(0, runCmd("wic create %s -e core-image-minimal" \
+ % wks_file, ignore_status=True).status)
+ os.remove(wks_file)
--
2.7.4
^ permalink raw reply related
* [PATCH v3 2/3] Add e2tools recipe, in order to test contents of images.
From: Kristian Amlie @ 2016-12-19 9:09 UTC (permalink / raw)
To: Ed Bartosh; +Cc: openembedded-core
In-Reply-To: <1482138565-4120-1-git-send-email-kristian.amlie@mender.io>
Signed-off-by: Kristian Amlie <kristian.amlie@mender.io>
---
meta/recipes-devtools/e2tools/e2tools-native_0.0.16.bb | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
create mode 100644 meta/recipes-devtools/e2tools/e2tools-native_0.0.16.bb
diff --git a/meta/recipes-devtools/e2tools/e2tools-native_0.0.16.bb b/meta/recipes-devtools/e2tools/e2tools-native_0.0.16.bb
new file mode 100644
index 0000000..5483287
--- /dev/null
+++ b/meta/recipes-devtools/e2tools/e2tools-native_0.0.16.bb
@@ -0,0 +1,17 @@
+SRC_URI = "http://home.earthlink.net/~k_sheff/sw/e2tools/e2tools-0.0.16.tar.gz;md5sum=1829b2b261e0e0d07566066769b5b28b"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fa8321a71778d26ff40690a4d371ea85"
+
+inherit native
+
+do_configure() {
+ ./configure --prefix=${prefix}
+}
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ oe_runmake DESTDIR=${D} install
+}
--
2.7.4
^ permalink raw reply related
* [PATCH v3 1/3] wic: Add --exclude-path option to rootfs source plugin.
From: Kristian Amlie @ 2016-12-19 9:09 UTC (permalink / raw)
To: Ed Bartosh; +Cc: openembedded-core
In-Reply-To: <1482138565-4120-1-git-send-email-kristian.amlie@mender.io>
It will omit the given path from the resulting partition, and if the
given path ends in a slash, it will only delete the content, and keep
the directory.
Since mkfs only accepts whole directories as input, we need to copy
the rootfs directory to the workdir so that we can selectively delete
files from it.
Since we want to use the copyhardlinktree() function, we need to put
the generic oe lib in the module search path.
Signed-off-by: Kristian Amlie <kristian.amlie@mender.io>
---
scripts/lib/wic/help.py | 6 +++++
scripts/lib/wic/ksparser.py | 1 +
scripts/lib/wic/partition.py | 1 +
scripts/lib/wic/plugins/source/rootfs.py | 43 +++++++++++++++++++++++++++++++-
scripts/wic | 2 ++
5 files changed, 52 insertions(+), 1 deletion(-)
diff --git a/scripts/lib/wic/help.py b/scripts/lib/wic/help.py
index e5347ec..9dab670 100644
--- a/scripts/lib/wic/help.py
+++ b/scripts/lib/wic/help.py
@@ -715,6 +715,12 @@ DESCRIPTION
partition table. It may be useful for
bootloaders.
+ --exclude-path: This option is specific to wic. It excludes the given
+ absolute path from the resulting image. If the path
+ ends with a slash, only the content of the directory
+ is omitted, not the directory itself. This option only
+ has an effect with the rootfs source plugin.
+
--extra-space: This option is specific to wic. It adds extra
space after the space filled by the content
of the partition. The final size can go
diff --git a/scripts/lib/wic/ksparser.py b/scripts/lib/wic/ksparser.py
index 0894e2b..17b97fd 100644
--- a/scripts/lib/wic/ksparser.py
+++ b/scripts/lib/wic/ksparser.py
@@ -127,6 +127,7 @@ class KickStart():
part.add_argument('mountpoint', nargs='?')
part.add_argument('--active', action='store_true')
part.add_argument('--align', type=int)
+ part.add_argument('--exclude-path', nargs='+')
part.add_argument("--extra-space", type=sizetype, default=10*1024)
part.add_argument('--fsoptions', dest='fsopts')
part.add_argument('--fstype')
diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py
index ac4c836..cba78a5 100644
--- a/scripts/lib/wic/partition.py
+++ b/scripts/lib/wic/partition.py
@@ -45,6 +45,7 @@ class Partition():
self.align = args.align
self.disk = args.disk
self.extra_space = args.extra_space
+ self.exclude_path = args.exclude_path
self.fsopts = args.fsopts
self.fstype = args.fstype
self.label = args.label
diff --git a/scripts/lib/wic/plugins/source/rootfs.py b/scripts/lib/wic/plugins/source/rootfs.py
index 425da8b..794ad69 100644
--- a/scripts/lib/wic/plugins/source/rootfs.py
+++ b/scripts/lib/wic/plugins/source/rootfs.py
@@ -26,10 +26,13 @@
#
import os
+import shutil
+
+from oe.path import copyhardlinktree
from wic import msger
from wic.pluginbase import SourcePlugin
-from wic.utils.oe.misc import get_bitbake_var
+from wic.utils.oe.misc import get_bitbake_var, exec_cmd
class RootfsPlugin(SourcePlugin):
"""
@@ -78,6 +81,44 @@ class RootfsPlugin(SourcePlugin):
real_rootfs_dir = cls.__get_rootfs_dir(rootfs_dir)
+ # Handle excluded paths.
+ if part.exclude_path is not None:
+ # We need a new rootfs directory we can delete files from. Copy to
+ # workdir.
+ new_rootfs = os.path.join(cr_workdir, "rootfs")
+
+ if os.path.lexists(new_rootfs):
+ shutil.rmtree(os.path.join(new_rootfs))
+
+ copyhardlinktree(real_rootfs_dir, new_rootfs)
+
+ real_rootfs_dir = new_rootfs
+
+ for orig_path in part.exclude_path:
+ path = orig_path
+ if os.path.isabs(path):
+ msger.error("Must be relative: --exclude-path=%s" % orig_path)
+
+ full_path = os.path.realpath(os.path.join(new_rootfs, path))
+
+ # Disallow climbing outside of parent directory using '..',
+ # because doing so could be quite disastrous (we will delete the
+ # directory).
+ if not full_path.startswith(new_rootfs):
+ msger.error("'%s' points to a path outside the rootfs" % orig_path)
+
+ if path.endswith(os.sep):
+ # Delete content only.
+ for entry in os.listdir(full_path):
+ full_entry = os.path.join(full_path, entry)
+ if os.path.isdir(full_entry) and not os.path.islink(full_entry):
+ shutil.rmtree(full_entry)
+ else:
+ os.remove(full_entry)
+ else:
+ # Delete whole directory.
+ shutil.rmtree(full_path)
+
part.rootfs_dir = real_rootfs_dir
part.prepare_rootfs(cr_workdir, oe_builddir, real_rootfs_dir, native_sysroot)
diff --git a/scripts/wic b/scripts/wic
index fe2c33f..f58843e 100755
--- a/scripts/wic
+++ b/scripts/wic
@@ -41,6 +41,8 @@ from distutils import spawn
scripts_path = os.path.abspath(os.path.dirname(__file__))
lib_path = scripts_path + '/lib'
sys.path.insert(0, lib_path)
+oe_lib_path = os.path.join(os.path.dirname(scripts_path), 'meta', 'lib')
+sys.path.insert(0, oe_lib_path)
bitbake_exe = spawn.find_executable('bitbake')
if bitbake_exe:
--
2.7.4
^ permalink raw reply related
* [PATCH v2 3/3] selftest/wic: Add tests for --exclude-dir option.
From: Kristian Amlie @ 2016-12-19 9:09 UTC (permalink / raw)
To: Ed Bartosh; +Cc: openembedded-core
In-Reply-To: <20161216144423.GB6398@linux.intel.com>
>> + def test_exclude_path(self):
>> + """Test --exclude-path wks option."""
>> +
>> + # For using 'e2ls'.
>> + old_path = os.environ['PATH']
>> + os.environ['PATH'] = get_bb_var('PATH', 'core-image-minimal')
>> +
>> + wks_file = 'temp.wks'
>> + ks = open(wks_file, 'w')
>
> I'd use more pythonic 'with open(wks_file, 'w') as wks:' here.
Done for all three blocks!
--
Kristian
^ permalink raw reply
* Re: [PATCH] curl: add ptest
From: Maxin B. John @ 2016-12-19 9:01 UTC (permalink / raw)
To: Burton, Ross; +Cc: Cristian Iorga, OE-core
In-Reply-To: <CAJTo0LZ5ne934RKTZChfSx8TeuTqneZE5R7fd6JJNOSsd=9M=A@mail.gmail.com>
Hi Ross,
>On Fri, Dec 16, 2016 at 05:53:25PM +0000, Burton, Ross wrote:
>>On 12 December 2016 at 13:09, Maxin B. John <maxin.john@intel.com> wrote:
>>
>> + python-argparse python-pprint diffutils openssh \
> Sadly this dependency on openssh breaks images which pull in dropbear explicitly, such as core-image-sato-dev.
Ah, ok.
> Why does the curl ptest needs openssh, and can it use dropbear if that is present?
Will check and take care of it in V2. Thanks!
Best Regards,
Maxin
^ permalink raw reply
* [PATCH] gnupg: specify explicitly tar path
From: Wenlin Kang @ 2016-12-19 7:01 UTC (permalink / raw)
To: openembedded-core
On cross-compile platform, automatic check of ustar is unreliable, so we
specify explicitly tar path after check manually.
Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
---
.../fix-ustar-and-tar-path-check-issue.patch | 46 ++++++++++++++++++++++
meta/recipes-support/gnupg/gnupg_1.4.7.bb | 2 +
2 files changed, 48 insertions(+)
create mode 100644 meta/recipes-support/gnupg/gnupg-1.4.7/fix-ustar-and-tar-path-check-issue.patch
diff --git a/meta/recipes-support/gnupg/gnupg-1.4.7/fix-ustar-and-tar-path-check-issue.patch b/meta/recipes-support/gnupg/gnupg-1.4.7/fix-ustar-and-tar-path-check-issue.patch
new file mode 100644
index 0000000..fca8d64
--- /dev/null
+++ b/meta/recipes-support/gnupg/gnupg-1.4.7/fix-ustar-and-tar-path-check-issue.patch
@@ -0,0 +1,46 @@
+Remove automatic detection of tar path and ustar format
+
+Remove automatic detection of tar path and ustar format, because they
+are unreliable and inappropriate for cross-compile platform.
+
+Upstream status: Inappropriate [cross-compile platform specific]
+
+Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
+
+diff -uarN gnupg-1.4.7-org/m4/tar-ustar.m4 gnupg-1.4.7/m4/tar-ustar.m4
+--- gnupg-1.4.7-org/m4/tar-ustar.m4 2016-12-19 11:06:58.621838069 +0800
++++ gnupg-1.4.7/m4/tar-ustar.m4 2016-12-19 11:13:31.721840809 +0800
+@@ -15,22 +15,22 @@
+
+ if test x$_do_tar != xno ; then
+
+- if test x$_do_tar = x ; then
+- AC_PATH_PROG(TAR,"tar")
+- _mytar=$ac_cv_path_TAR
+- fi
+-
+ # Check if our tar is ustar format. If so, it's good. TODO: Add some
+ # code to check various options, etc, to try and create ustar
+ # format.
+
+- if test x$_mytar != x ; then
+- AC_MSG_CHECKING([whether $_mytar speaks USTAR])
+- echo hithere > conftest.txt
+- $_mytar -cf - conftest.txt | (dd skip=257 bs=1 count=5 2>/dev/null || cat) | grep ustar > /dev/null
+- _tar_bad=$?
+- rm conftest.txt
++ if test x$_do_tar != x ; then
++ AC_SUBST(TAR,$_do_tar)
++ AC_MSG_CHECKING([whether $_do_tar speaks USTAR])
++
++ # Here, we ignore the check code, because it isn't indeed applicable for
++ # cross-compile platform.
++ # Now our tar support ustar, so we say directly yes, but once the tar is changed,
++ # you should check whether it suppport ustar, and please reference the follow command:
++ # echo hithere > conftest.txt
++ # tar -cf - conftest.txt | (dd skip=257 bs=1 count=5 2>/dev/null || cat) | grep ustar > /dev/null
+
++ _tar_bad=0
+ if test x$_tar_bad = x0 ; then
+ AC_MSG_RESULT([yes])
+ else
diff --git a/meta/recipes-support/gnupg/gnupg_1.4.7.bb b/meta/recipes-support/gnupg/gnupg_1.4.7.bb
index 6ccffd5..6ea6fe3 100644
--- a/meta/recipes-support/gnupg/gnupg_1.4.7.bb
+++ b/meta/recipes-support/gnupg/gnupg_1.4.7.bb
@@ -18,6 +18,7 @@ SRC_URI = "${GNUPG_MIRROR}/gnupg/gnupg-${PV}.tar.bz2 \
file://CVE-2013-4351.patch \
file://CVE-2013-4576.patch \
file://CVE-2013-4242.patch \
+ file://fix-ustar-and-tar-path-check-issue.patch \
"
SRC_URI[md5sum] = "b06a141cca5cd1a55bbdd25ab833303c"
@@ -79,6 +80,7 @@ EXTRA_OECONF = "--disable-ldap \
--disable-selinux-support \
--with-readline=${STAGING_LIBDIR}/.. \
ac_cv_sys_symbol_underscore=no \
+ --with-tar=${base_bindir}/tar \
"
# Force gcc's traditional handling of inline to avoid issues with gcc 5
--
1.9.1
^ permalink raw reply related
* [V2 10/10] gdk-pixbuf: Update to 2.36.1
From: Khem Raj @ 2016-12-19 6:39 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <20161219063957.18716-1-raj.khem@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../gdk-pixbuf/{gdk-pixbuf_2.36.0.bb => gdk-pixbuf_2.36.1.bb} | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
rename meta/recipes-gnome/gdk-pixbuf/{gdk-pixbuf_2.36.0.bb => gdk-pixbuf_2.36.1.bb} (95%)
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.0.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.1.bb
similarity index 95%
rename from meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.0.bb
rename to meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.1.bb
index 9efe374c0d..debc2d706a 100644
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.0.bb
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.1.bb
@@ -18,9 +18,8 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
file://run-ptest \
file://fatal-loader.patch \
"
-
-SRC_URI[md5sum] = "1a3baf91956c7923dab49ee3de100ce1"
-SRC_URI[sha256sum] = "85ab52ce9f2c26327141b3dcf21cca3da6a3f8de84b95fa1e727d8871a23245c"
+SRC_URI[md5sum] = "fe30b0420e013f2c4590ae6226d895d4"
+SRC_URI[sha256sum] = "9d5ba72070460c1b5b74115d395a3e33daeb7b7b67fb256cdccc9d7187c42a38"
inherit autotools pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc
@@ -46,7 +45,7 @@ PACKAGES =+ "${PN}-xlib"
FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}"
ALLOW_EMPTY_${PN}-xlib = "1"
-FILES_${PN} += "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"
+FILES_${PN} += "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders ${datadir}/thumbnailers"
FILES_${PN}-dev += " \
${bindir}/gdk-pixbuf-csource \
--
2.11.0
^ permalink raw reply related
* [V2 09/10] opnssl-native: Compile with -fPIC
From: Khem Raj @ 2016-12-19 6:39 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <20161219063957.18716-1-raj.khem@gmail.com>
Fixes
| /usr/bin/ld: libcrypto.a(sha1-x86_64.o): relocation R_X86_64_PC32 against undefined symbol `OPENSSL_ia32cap_P' can not be used when making a shared object; recompile with -fPIC
| /usr/bin/ld: final link failed: Bad value
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-connectivity/openssl/openssl_1.0.2j.bb | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.2j.bb b/meta/recipes-connectivity/openssl/openssl_1.0.2j.bb
index f2aca36eca..94672f90bc 100644
--- a/meta/recipes-connectivity/openssl/openssl_1.0.2j.bb
+++ b/meta/recipes-connectivity/openssl/openssl_1.0.2j.bb
@@ -5,6 +5,7 @@ require openssl.inc
DEPENDS += "cryptodev-linux"
CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS"
+CFLAG_append_class-native = " -fPIC"
LIC_FILES_CHKSUM = "file://LICENSE;md5=27ffa5d74bb5a337056c14b2ef93fbf6"
--
2.11.0
^ permalink raw reply related
* [V2 08/10] autoconf: Fix AC_HEADER_MAJOR with glibc 2.25
From: Khem Raj @ 2016-12-19 6:39 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <20161219063957.18716-1-raj.khem@gmail.com>
Backport the patch from master for 2.69
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
| 162 +++++++++++++++++++++
meta/recipes-devtools/autoconf/autoconf_2.69.bb | 1 +
2 files changed, 163 insertions(+)
create mode 100644 meta/recipes-devtools/autoconf/autoconf/AC_HEADER_MAJOR-port-to-glibc-2.25.patch
--git a/meta/recipes-devtools/autoconf/autoconf/AC_HEADER_MAJOR-port-to-glibc-2.25.patch b/meta/recipes-devtools/autoconf/autoconf/AC_HEADER_MAJOR-port-to-glibc-2.25.patch
new file mode 100644
index 0000000000..fc37236bf8
--- /dev/null
+++ b/meta/recipes-devtools/autoconf/autoconf/AC_HEADER_MAJOR-port-to-glibc-2.25.patch
@@ -0,0 +1,162 @@
+From e17a30e987d7ee695fb4294a82d987ec3dc9b974 Mon Sep 17 00:00:00 2001
+From: Eric Blake <eblake@redhat.com>
+Date: Wed, 14 Sep 2016 08:17:06 -0500
+Subject: [PATCH] AC_HEADER_MAJOR: port to glibc 2.25
+
+glibc 2.25 is deprecating the namespace pollution of <sys/types.h>
+injecting major(), minor(), and makedev() into the compilation
+environment, with a warning that insists that users include
+<sys/sysmacros.h> instead. However, because the expansion of
+AC_HEADER_MAJOR didn't bother checking sys/sysmacros.h until
+after probing whether sys/types.h pollutes the namespace, it was
+not defining MAJOR_IN_SYSMACROS, with the result that code
+compiled with -Werror chokes on the deprecation warnings because
+it was not including sysmacros.h.
+
+In addition to fixing autoconf (which only benefits projects
+that rebuild configure after this fix is released), we can also
+give a hint to distros on how they can populate config.site with
+a cache variable to force pre-existing configure scripts without
+the updated macro to behave sanely in the presence of glibc 2.25
+(the documentation is especially useful since that cache variable
+is no longer present in autoconf after this patch).
+
+Note that mingw lacks major/minor/makedev in any of its standard
+headers; for that platform, the behavior of this macro is unchanged
+(code using the recommended include formula will get a compile error
+when trying to use major(), whether before or after this patch); but
+for now, it is assumed that programs actually concerned with
+creating devices are not worried about portability to mingw. If
+desired, a later patch could tighten AC_HEADER_MAJOR to fail at
+configure time if the macros are unavailable in any of the three
+system headers, but that semantic change is not worth mixing into
+this patch.
+
+* lib/autoconf/headers.m4 (AC_HEADER_MAJOR): Drop check for
+major within sys/types.h; it interferes with the need to check
+sysmacros.h first.
+* doc/autoconf.texi (Particular Headers) <AC_HEADER_MAJOR>: Expand
+details on usage, and on workarounds for non-updated projects.
+
+Signed-off-by: Eric Blake <eblake@redhat.com>
+---
+Upstream-Status: Backport
+
+ doc/autoconf.texi | 35 +++++++++++++++++++++++++++++++----
+ lib/autoconf/headers.m4 | 30 ++++++++++++++----------------
+ 2 files changed, 45 insertions(+), 20 deletions(-)
+
+Index: autoconf-2.69/doc/autoconf.texi
+===================================================================
+--- autoconf-2.69.orig/doc/autoconf.texi
++++ autoconf-2.69/doc/autoconf.texi
+@@ -15,7 +15,7 @@
+ @c The ARG is an optional argument. To be used for macro arguments in
+ @c their documentation (@defmac).
+ @macro ovar{varname}
+-@r{[}@var{\varname\}@r{]}@c
++@r{[}@var{\varname\}@r{]}
+ @end macro
+
+ @c @dvar(ARG, DEFAULT)
+@@ -23,7 +23,7 @@
+ @c The ARG is an optional argument, defaulting to DEFAULT. To be used
+ @c for macro arguments in their documentation (@defmac).
+ @macro dvar{varname, default}
+-@r{[}@var{\varname\} = @samp{\default\}@r{]}@c
++@r{[}@var{\varname\} = @samp{\default\}@r{]}
+ @end macro
+
+ @c Handling the indexes with Texinfo yields several different problems.
+@@ -5926,10 +5926,37 @@ Also see @code{AC_STRUCT_DIRENT_D_INO} a
+ @cvindex MAJOR_IN_SYSMACROS
+ @hdrindex{sys/mkdev.h}
+ @hdrindex{sys/sysmacros.h}
+-If @file{sys/types.h} does not define @code{major}, @code{minor}, and
+-@code{makedev}, but @file{sys/mkdev.h} does, define
+-@code{MAJOR_IN_MKDEV}; otherwise, if @file{sys/sysmacros.h} does, define
+-@code{MAJOR_IN_SYSMACROS}.
++Detect the headers required to use @code{makedev}, @code{major}, and
++@code{minor}. These functions may be defined by @file{sys/mkdev.h},
++@code{sys/sysmacros.h}, or @file{sys/types.h}.
++
++@code{AC_HEADER_MAJOR} defines @code{MAJOR_IN_MKDEV} if they are in
++@file{sys/mkdev.h}, or @code{MAJOR_IN_SYSMACROS} if they are in
++@file{sys/sysmacros.h}. If neither macro is defined, they are either in
++@file{sys/types.h} or unavailable.
++
++To properly use these functions, your code should contain something
++like:
++
++@verbatim
++#include <sys/types.h>
++#ifdef MAJOR_IN_MKDEV
++# include <sys/mkdev.h>
++#elif defined MAJOR_IN_SYSMACROS
++# include <sys/sysmacros.h>
++#endif
++@end verbatim
++
++Note: Configure scripts built with Autoconf 2.69 or earlier will not
++detect a problem if @file{sys/types.h} contains definitions of
++@code{major}, @code{minor}, and/or @code{makedev} that trigger compiler
++warnings upon use. This is known to occur with GNU libc 2.25, where
++those definitions are being deprecated to reduce namespace pollution.
++If it is not practical to use Autoconf 2.70 to regenerate the configure
++script of affected software, you can work around the problem by setting
++@samp{ac_cv_header_sys_types_h_makedev=no}, as an argument to
++@command{configure} or as part of a @file{config.site} site default file
++(@pxref{Site Defaults}).
+ @end defmac
+
+ @defmac AC_HEADER_RESOLV
+Index: autoconf-2.69/lib/autoconf/headers.m4
+===================================================================
+--- autoconf-2.69.orig/lib/autoconf/headers.m4
++++ autoconf-2.69/lib/autoconf/headers.m4
+@@ -502,31 +502,29 @@ fi
+
+ # AC_HEADER_MAJOR
+ # ---------------
++# Thanks to glibc 2.25 deprecating macros in sys/types.h, coupled with
++# back-compat to autoconf 2.69, we need the following logic:
++# Check whether <sys/types.h> compiles.
++# If <sys/mkdev.h> compiles, assume it provides major/minor/makedev.
++# Otherwise, if <sys/sysmacros.h> compiles, assume it provides the macros.
++# Otherwise, either the macros were provided by <sys/types.h>, or do
++# not exist on the platform. Code trying to use these three macros is
++# assumed to not care about platforms that lack the macros.
+ AN_FUNCTION([major], [AC_HEADER_MAJOR])
+ AN_FUNCTION([makedev], [AC_HEADER_MAJOR])
+ AN_FUNCTION([minor], [AC_HEADER_MAJOR])
+ AN_HEADER([sys/mkdev.h], [AC_HEADER_MAJOR])
+ AC_DEFUN([AC_HEADER_MAJOR],
+-[AC_CACHE_CHECK(whether sys/types.h defines makedev,
+- ac_cv_header_sys_types_h_makedev,
+-[AC_LINK_IFELSE([AC_LANG_PROGRAM([[@%:@include <sys/types.h>]],
+- [[return makedev(0, 0);]])],
+- [ac_cv_header_sys_types_h_makedev=yes],
+- [ac_cv_header_sys_types_h_makedev=no])
+-])
+-
+-if test $ac_cv_header_sys_types_h_makedev = no; then
++[AC_CHECK_HEADERS_ONCE([sys/types.h])
+ AC_CHECK_HEADER(sys/mkdev.h,
+ [AC_DEFINE(MAJOR_IN_MKDEV, 1,
+ [Define to 1 if `major', `minor', and `makedev' are
+ declared in <mkdev.h>.])])
+-
+- if test $ac_cv_header_sys_mkdev_h = no; then
+- AC_CHECK_HEADER(sys/sysmacros.h,
+- [AC_DEFINE(MAJOR_IN_SYSMACROS, 1,
+- [Define to 1 if `major', `minor', and `makedev'
+- are declared in <sysmacros.h>.])])
+- fi
++if test $ac_cv_header_sys_mkdev_h = no; then
++ AC_CHECK_HEADER(sys/sysmacros.h,
++ [AC_DEFINE(MAJOR_IN_SYSMACROS, 1,
++ [Define to 1 if `major', `minor', and `makedev'
++ are declared in <sysmacros.h>.])])
+ fi
+ ])# AC_HEADER_MAJOR
+
diff --git a/meta/recipes-devtools/autoconf/autoconf_2.69.bb b/meta/recipes-devtools/autoconf/autoconf_2.69.bb
index aa1877a1fb..fd01585441 100644
--- a/meta/recipes-devtools/autoconf/autoconf_2.69.bb
+++ b/meta/recipes-devtools/autoconf/autoconf_2.69.bb
@@ -14,6 +14,7 @@ SRC_URI += "file://check-automake-cross-warning.patch \
file://autotest-automake-result-format.patch \
file://add_musl_config.patch \
file://performance.patch \
+ file://AC_HEADER_MAJOR-port-to-glibc-2.25.patch \
"
SRC_URI[md5sum] = "82d05e03b93e45f5a39b828dc9c6c29b"
--
2.11.0
^ permalink raw reply related
* [V2 07/10] x264: Fix build on mips architectures
From: Khem Raj @ 2016-12-19 6:39 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <20161219063957.18716-1-raj.khem@gmail.com>
Disable asm to fix
| You specified a pre-MSA CPU in your CFLAGS.
| If you really want to run on such a CPU, configure with --disable-asm.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-multimedia/x264/x264_git.bb | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta/recipes-multimedia/x264/x264_git.bb b/meta/recipes-multimedia/x264/x264_git.bb
index e790681ad3..240a19661f 100644
--- a/meta/recipes-multimedia/x264/x264_git.bb
+++ b/meta/recipes-multimedia/x264/x264_git.bb
@@ -23,6 +23,8 @@ inherit lib_package pkgconfig perlnative
X264_DISABLE_ASM = ""
X264_DISABLE_ASM_armv4 = "--disable-asm"
X264_DISABLE_ASM_armv5 = "--disable-asm"
+X264_DISABLE_ASM_mips = "--disable-asm"
+X264_DISABLE_ASM_mipsel = "--disable-asm"
X264_DISABLE_ASM_powerpc = "${@bb.utils.contains("TUNE_FEATURES", "spe", "--disable-asm", "", d)}"
EXTRA_OECONF = '--prefix=${prefix} \
--
2.11.0
^ permalink raw reply related
* [V2 06/10] pax: Fix build with glibc 2.25
From: Khem Raj @ 2016-12-19 6:39 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <20161219063957.18716-1-raj.khem@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
...s-sysmacros.h-for-major-minor-definitions.patch | 65 ++++++++++++++++++++++
meta/recipes-extended/pax/pax_3.4.bb | 4 +-
2 files changed, 68 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-extended/pax/pax/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch
diff --git a/meta/recipes-extended/pax/pax/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch b/meta/recipes-extended/pax/pax/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch
new file mode 100644
index 0000000000..1d969bc34a
--- /dev/null
+++ b/meta/recipes-extended/pax/pax/0001-include-sys-sysmacros.h-for-major-minor-definitions.patch
@@ -0,0 +1,65 @@
+From 7f4f379f8343c0ce92aa30f3f9037288a089a902 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 18 Dec 2016 08:24:56 +0000
+Subject: [PATCH] include <sys/sysmacros.h> for major/minor definitions
+
+glibc 2.25 will error out if the applications are expecting
+this to come from sys/types.h, it is being removed from
+there.
+
+Fixes
+
+error: In the GNU C Library, "minor" is defined
+| by <sys/sysmacros.h>. For historical compatibility, it is
+| currently defined by <sys/types.h> as well, but we plan to
+| remove this soon. To use "minor", include <sys/sysmacros.h>
+| directly. If you did not intend to use a system-defined macro
+| "minor", you should undefine it after including <sys/types.h>. [-Werror]
+| ul_oct ((u_long) MINOR (arcn->sb.st_rdev), hd->devminor,
+| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/cpio.c | 2 +-
+ src/gen_subs.c | 2 +-
+ src/tar.c | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+Index: pax-3.4/src/cpio.c
+===================================================================
+--- pax-3.4.orig/src/cpio.c
++++ pax-3.4/src/cpio.c
+@@ -36,6 +36,7 @@
+ #include "config.h"
+ #endif
+
++#include <sys/sysmacros.h>
+ #include <sys/types.h>
+ #include <sys/time.h>
+ #include <sys/stat.h>
+Index: pax-3.4/src/gen_subs.c
+===================================================================
+--- pax-3.4.orig/src/gen_subs.c
++++ pax-3.4/src/gen_subs.c
+@@ -37,6 +37,7 @@
+ #include "config.h"
+ #endif
+
++#include <sys/sysmacros.h>
+ #include <sys/types.h>
+ #include <sys/time.h>
+ #include <sys/stat.h>
+Index: pax-3.4/src/tar.c
+===================================================================
+--- pax-3.4.orig/src/tar.c
++++ pax-3.4/src/tar.c
+@@ -37,6 +37,7 @@
+ #include "config.h"
+ #endif
+
++#include <sys/sysmacros.h>
+ #include <sys/types.h>
+ #include <sys/time.h>
+ #include <sys/stat.h>
diff --git a/meta/recipes-extended/pax/pax_3.4.bb b/meta/recipes-extended/pax/pax_3.4.bb
index 9d1abfbb54..9b4e17b3df 100644
--- a/meta/recipes-extended/pax/pax_3.4.bb
+++ b/meta/recipes-extended/pax/pax_3.4.bb
@@ -16,7 +16,9 @@ DEPENDS_append_libc-musl = " fts "
SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/${BPN}/${BP}.tar.bz2/fbd9023b590b45ac3ade95870702a0d6/${BP}.tar.bz2 \
file://fix_for_compile_with_gcc-4.6.0.patch \
- file://pax-3.4_fix_for_x32.patch"
+ file://pax-3.4_fix_for_x32.patch \
+ file://0001-include-sys-sysmacros.h-for-major-minor-definitions.patch \
+"
SRC_URI_append_libc-musl = " file://0001-Fix-build-with-musl.patch \
file://0001-use-strtoll-instead-of-strtoq.patch \
--
2.11.0
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox