Commit Graph

16 Commits

Author SHA1 Message Date
Martin Jansa 7ea8156eea android-tools: refresh patches with devtool
* devtool isn't able to regenerate them completely, it generates only
  top level commit which says that submodules were changed, like this:
  From c8fa114325e4e532657499b9bb6fd23cb6536eaa Mon Sep 17 00:00:00 2001
  From: OpenEmbedded <oe.patch@oe>
  Date: Tue, 2 Oct 2018 16:46:55 +0000
  Subject: [PATCH] Committing changes from do_patch

  ---
   external/libselinux | 2 +-
   system/core         | 2 +-
   system/extras       | 2 +-
   3 files changed, 3 insertions(+), 3 deletions(-)
  ..

  but it still creates relatively good commits in each submodule and
  after small manual cleanup they can be exported with
  git format-patch --no-numbered --no-signature

* rename .gitignore to prevent git ignoring the changes in .patch files
  in meta-oe already (we want to use it only later during the build)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-10-02 17:17:10 -07:00
Martin Jansa ff5549841c android-tools: use patchdir parameter to apply patches
* helps to apply the patches for correct git repo
* split remove-selinux-android.patch into 2, because devtool modify fails to apply
  it across 2 different git repositories:
ERROR: Command Error: 'sh -c 'PATCHFILE="remove-selinux-android.patch" git -c user.name="OpenEmbedded" -c user.email="oe.patch@oe" commit -F /tmp/tmpvn7yf20j --author="Sergio Schvezov <sergio.schvezov@canonical.com>" --date="Wed, 7 Sep 2016 12:58:47 +0300"'' exited with 0  Output:
On branch devtool
Changes not staged for commit:
        modified:   system/core (modified content)
        modified:   system/extras (modified content)

no changes added to commit
ERROR: Function failed: patch_do_patch
ERROR: Logfile of failure stored in: /OE/build/owpb/webos-ports/tmp-glibc/work/aarch64-webos-linux/android-tools/5.1.1.r37-r0/devtooltmp-7qrccor9/temp/log.do_patch.8643
NOTE: Tasks Summary: Attempted 3 tasks of which 0 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory
ERROR: Extracting source for android-tools failed

* similarly with remove-bionic-android.patch

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-10-02 17:17:10 -07:00
Martin Jansa 934a034e0e android-tools: import 2 changes from meta-webos-ports
* import upstream-able changes from following commits:
  https://github.com/webOS-ports/meta-webos-ports/commit/9d032e47b5a90846485393095a4fd9b923578f22
  https://github.com/webOS-ports/meta-webos-ports/commit/fea52b88281e197482b7412824802c057ec99000
  https://github.com/webOS-ports/meta-webos-ports/commit/d8068a7a4722f6203ef16d85c235f86a5a76fa9c
  https://github.com/webOS-ports/meta-webos-ports/commit/c314b69505343ea959adc9789e0a1fca52a8af67

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-10-02 17:17:10 -07:00
Martin Jansa 7e267304b7 android-tools: depends on openssl10 only for target builds
* openssl isn't used by TOOLS enabled for native and nativesdk builds:
  TOOLS_class-native = "fastboot ext4_utils mkbootimg"
  TOOLS_class-nativesdk = "fastboot ext4_utils mkbootimg"
  it's used e.g. by adb which is enabled only for target

* with openssl10 it cannot be really used by anything, because
  openssl.cnf from openssl10-native will conflict with openssl.cnf
  installed to RSS by openssl-native, causing:

DEBUG: Executing python function sstate_task_prefunc
DEBUG: Python function sstate_task_prefunc finished
DEBUG: Executing python function extend_recipe_sysroot
NOTE: Direct dependencies are ['virtual:native:/OE/build/owpb/webos-ports/openembedded-core/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.3.bb:do_populate_sysroot',
'/OE/build/owpb/webos-ports/openembedded-core/meta/recipes-devtools/quilt/quilt-native_0.65.bb:do_populate_sysroot',
'/OE/build/owpb/webos-ports/openembedded-core/meta/recipes-devtools/gcc/gcc-cross_8.2.bb:do_populate_sysroot',
'/OE/build/owpb/webos-ports/openembedded-core/meta/recipes-devtools/gcc/gcc-runtime_8.2.bb:do_populate_sysroot',
'/OE/build/owpb/webos-ports/openembedded-core/meta/recipes-core/glibc/glibc_2.28.bb:do_populate_sysroot',
'virtual:native:/OE/build/owpb/webos-ports/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb:do_populate_sysroot',
'virtual:native:/OE/build/owpb/webos-ports/openembedded-core/meta/recipes-devtools/rpm/rpm_4.14.2.bb:do_populate_sysroot',
'virtual:native:/OE/build/owpb/webos-ports/openembedded-core/meta/recipes-devtools/dwarfsrcfiles/dwarfsrcfiles.bb:do_populate_sysroot',
'virtual:native:/OE/build/owpb/webos-ports/openembedded-core/meta/recipes-devtools/pseudo/pseudo_git.bb:do_populate_sysroot']
ERROR: Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:extend_recipe_sysroot(d)
     0003:
File: '/OE/build/owpb/webos-ports/openembedded-core/meta/classes/staging.bbclass', lineno: 553, function: extend_recipe_sysroot
     0549:                    dest = newmanifest[l]
     0550:                    if l.endswith("/"):
     0551:                        staging_copydir(l, targetdir, dest, seendirs)
     0552:                        continue
 *** 0553:                    staging_copyfile(l, targetdir, dest, postinsts, seendirs)
     0554:
     0555:    bb.note("Installed into sysroot: %s" % str(msg_adding))
     0556:    bb.note("Skipping as already exists in sysroot: %s" % str(msg_exists))
     0557:
File: '/OE/build/owpb/webos-ports/openembedded-core/meta/classes/staging.bbclass', lineno: 151, function: staging_copyfile
     0147:        os.symlink(linkto, dest)
     0148:        #bb.warn(c)
     0149:    else:
     0150:        try:
 *** 0151:            os.link(c, dest)
     0152:        except OSError as err:
     0153:            if err.errno == errno.EXDEV:
     0154:                bb.utils.copyfile(c, dest)
     0155:            else:
Exception: FileExistsError: [Errno 17] File exists: '/OE/build/owpb/webos-ports/tmp-glibc/sysroots-components/x86_64/openssl-native/etc/ssl/openssl.cnf' -> '/OE/build/owpb/webos-ports/tmp-glibc/work/tissot-webos-linux/android-system-image-tissot/20180914-22-r0/recipe-sysroot-native/etc/ssl/openssl.cnf'

DEBUG: Python function extend_recipe_sysroot finished
ERROR: Function failed: extend_recipe_sysroot

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-10-02 17:17:10 -07:00
Khem Raj c5e8c7be59 android-tools: Depend on openssl10
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-09-08 13:32:12 -07:00
Martin Jansa 72220d6088 android-tools: fix build with glibc-2.28
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-08-11 20:16:52 -07:00
Martin Jansa aeca0185a6 android-tools: use fixed SRCREVs instead of tag name
* so that bitbake doesn't need to use git ls-remote during parsing to resolve tag name into SRCREV

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-05-30 09:57:27 -07:00
Martin Jansa 81736797cb android-tools: refresh patch
WARNING: android-tools-5.1.1.r37-r0 do_patch:
Some of the context lines in patches were ignored. This can lead to incorrectly applied patches.
The context lines in the patches can be updated with devtool:

    devtool modify <recipe>
    devtool finish --force-patch-refresh <recipe> <layer_path>

Then the updated patches and the source tree (in devtool's workspace)
should be reviewed to make sure the patches apply in the correct place
and don't introduce duplicate lines (which can, and does happen
when some of the context is ignored). Further information:
http://lists.openembedded.org/pipermail/openembedded-core/2018-March/148675.html
https://bugzilla.yoctoproject.org/show_bug.cgi?id=10450
Details:
Applying patch preserve-ownership.patch
patching file system/extras/ext4_utils/make_ext4fs_main.c
Hunk #1 succeeded at 47 with fuzz 2 (offset -2 lines).
Hunk #2 succeeded at 81 (offset -2 lines).
Hunk #3 succeeded at 144 (offset -2 lines).
patching file system/extras/ext4_utils/make_ext4fs.c

Now at patch preserve-ownership.patch

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2018-05-01 18:12:49 -07:00
Dariusz Pelowski d2be40d2d9 android-tools: do_unpack_extra task removed
When user don't have properly configured git user.email and user.name
compilation fails on do_unpack_extra step when executing "git commit" command.

This patch removes whole do_unpack_extra task as it's unusual operation
for the recipe to remove .git directories and initialize new git repository
after do_unpack task.

Signed-off-by: Dariusz Pelowski <dariusz.pelowski@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2017-11-15 16:34:05 -08:00
Khem Raj cff46fec3b android-tools: Fix build with musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-09-22 22:50:42 +00:00
Andrea Galbusera e406d4f5ae android-tools: fix issue with missing files in eSDK updates
If this recipe was included in an eSDK and then eSDK incremental updates were
generated by repeatedly running the oe-publish-sdk script, after installing the
first of such updates, and any following as well, with 'devtool sdk-updates' the
eSDK gets corrupted. Indeed some of the files listed in SRC_URI (namely anything
in *.patch and *.service) get deleted by those updates, with bitbake that starts
warning with 'Unable to get checksum for android-tools* SRC_URI entry' at every
parse. Since the files are missing, such warnings turn into errors if trying to
bake android-tools.

The root cause is the somewhat unusual presence of android-tools/.gitignore,
indeed ignore everything not explicitly excepted. When oe-publish-sdk creates
the git repo it relies on to feed eSDK updates, the .gitignore gets honored,
leading to the buggy behaviour above.

This patch adds *.patch and *.service to the excepted patterns in .gitignore
Note that, although this solves the issue, it does not prevent from it popping
up again if new files get added to android-tools/ without explicitly excluding
them from .gitignore.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-08-13 13:19:41 +02:00
Ming Liu ebd31fd8d5 meta: do not prepend/append to BBCLASSEXTEND
Replace some "+=/=+" with "=" when setting BBCLASSEXTEND, they are
redundant and inconsistent with the same setting in other recipes.

Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-03-16 23:34:32 +01:00
Martin Jansa f7326128b8 android-tools: add libcap dependency and fix build on big endian systems
* add dependency on libcap to fix:
  android-tools/5.1.1.r37-r0/git/system/core/adb/adb.c:39:28: fatal error: sys/capability.h: No such file or directory
   #include <sys/capability.h>
                            ^
* add patch from buildroot to fix build with newer glibc and on
  bit-endian systems
  android-tools/5.1.1.r37-r0/git/system/core/adb/usb_linux_client.c:38:25: error: initializer element is not constant
    #define cpu_to_le32(x)  htole32(x)
                            ^

* and also disable thumb to fix:
  http://errors.yoctoproject.org/Errors/Details/133881/

* drop default apply=yes for the .patch files

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-02-22 13:17:07 +01:00
Koen Kooi 4cd27df21d android-tools: fix do_install
The previous patch introduced 2 bugs that made packaging fail:

1) Always failing grep
2) Conditionally install systemd files

Systemd.bbclass doesn't handle conditional installation and will throw an error.

Tested with -native and regular cross builds.

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-11-23 15:29:55 +01:00
Koen Kooi 3587696e11 android-tools: fix native build
* Find libbsd headers when building natively
* Disable tools that needs sys/capability.h when building natively
* Enhance do_install to work when some tools are disabled

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-10-26 10:28:40 +02:00
Fathi Boudra a231c431a5 android-tools: add recipe from AOSP tag android-5.1.1_r37
Android tools offer filsystem tools for creating sparse images,
so package them in package of its own.

This recipe is re-worked and not a straight import from meta-shr.

It's built from AOSP source. I've dropped the ubuntu-ism which will
never be upstreamed.

The intent is to be closer to the upstream AOSP source code and be able
to update the recipe regularly.

Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-09-15 10:22:46 +02:00