From: Jan Kiszka <jan.kiszka@siemens.com>
To: "Maxim Yu. Osipov" <mosipov@ilbers.de>,
Alexander Smirnov <asmirnov@ilbers.de>
Cc: isar-users <isar-users@googlegroups.com>
Subject: Re: crossbuild broken with host-distro != target-distro
Date: Wed, 5 Sep 2018 10:38:45 +0200 [thread overview]
Message-ID: <672b9026-df74-b51c-62e5-5e15898cba2c@siemens.com> (raw)
In-Reply-To: <d0d5ae8a-783c-56e6-5019-4512e9200654@ilbers.de>
On 2018-09-05 10:31, Maxim Yu. Osipov wrote:
> Hi Jan,
>
>
> On 08/30/2018 11:24 AM, Jan Kiszka wrote:
>> On 2018-08-27 21:51, [ext] Jan Kiszka wrote:
>>> Hi folks,
>>>
>>> I ran into a remaining glitch for the crossbuild support: When the
>>> target distro name differs from the host distro, buildchroot-host fails.
>>>
>>> That initially looked like it would be easy to fix and even made sense
>>> for a while:
>>>
>>> diff --git a/meta/recipes-devtools/buildchroot/buildchroot-host.bb
>>> b/meta/recipes-devtools/buildchroot/buildchroot-host.bb
>>> index daf92a2..01d426d 100644
>>> --- a/meta/recipes-devtools/buildchroot/buildchroot-host.bb
>>> +++ b/meta/recipes-devtools/buildchroot/buildchroot-host.bb
>>> @@ -30,5 +30,5 @@ BUILDCHROOT_PREINSTALL_append_arm64 +=
>>> "binutils-aarch64-linux-gnu \
>>> crossbuild-essential-arm64"
>>> -PARAMS = "--host-arch"
>>> +PARAMS = "--host-arch --host-distro"
>>> do_build[depends] = "isar-apt:do_cache_config
>>> isar-bootstrap-host:do_bootstrap"
>>>
>>>
>>> However, that only broke setup_root_file_system differently because it
>>> now tried to mount the non-existing host isar-apt repo. Workaround hack:
>>>
>>> diff --git a/meta/classes/isar-bootstrap-helper.bbclass
>>> b/meta/classes/isar-bootstrap-helper.bbclass
>>> index d45cdd7..4ad552f 100644
>>> --- a/meta/classes/isar-bootstrap-helper.bbclass
>>> +++ b/meta/classes/isar-bootstrap-helper.bbclass
>>> @@ -93,9 +93,9 @@ setup_root_file_system() {
>>> sudo tee "$ROOTFSDIR/etc/apt/preferences.d/isar" >/dev/null
>>> if [ ${COPYISARAPT} ]; then
>>> - sudo cp -Trpfx ${DEPLOY_DIR_APT}/${ROOTFS_DISTRO}
>>> $ROOTFSDIR/isar-apt
>>> + sudo cp -Trpfx ${DEPLOY_DIR_APT}/${DISTRO} $ROOTFSDIR/isar-apt
>>> else
>>> - sudo mount --bind ${DEPLOY_DIR_APT}/${ROOTFS_DISTRO}
>>> $ROOTFSDIR/isar-apt
>>> + sudo mount --bind ${DEPLOY_DIR_APT}/${DISTRO}
>>> $ROOTFSDIR/isar-apt
>>> fi
>>> sudo mount -t devtmpfs -o mode=0755,nosuid devtmpfs $ROOTFSDIR/dev
>>> sudo mount -t proc none $ROOTFSDIR/proc
>>>
>>>
>>> That will likely break sdkchroot, the only recipe that depends on
>>> isar-apt-host, so far the only caller of setup_root_file_system that
>>> passed --host-distro. But I'm not getting yet why the SDK has some own
>>> isar-apt repo and no one else. Can you clarify and maybe even explain
>>> how to fix the issue best?
>
> The initial idea is that sdk may be distributed to other hosts -
> so we need to copy local isar-apt to sdk chroot.
> Actually copying of isar-apt here is redundant, as the same is done
> later in do_populate_sdk to get all latest prebuilt packages for target
> distro.
Please explain again the different roles of isar-apt vs. isar-apt-host,
why we need both.
Then we need some wording about why that ROOTFS_DISTRO -> DISTRO is
correct. We can't merge such changes without explanations. No one will
understand the code and its history this way.
Jan
>
>
>>> Thanks,
>>> Jan
>>>
>>
>> Could you comment on this bug? It's a blocker here.
>
> I'm OK with your patch - it's reasonable. I've throughly tested it
> together with my v2 sdk: Move deployment to populate_sdk.
>
> Just sent a v2 series.
>
> Kind regards,
> Maxim.
>
--
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux
prev parent reply other threads:[~2018-09-05 8:38 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-27 19:51 Jan Kiszka
2018-08-30 9:24 ` Jan Kiszka
2018-09-05 8:31 ` Maxim Yu. Osipov
2018-09-05 8:38 ` Jan Kiszka [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=672b9026-df74-b51c-62e5-5e15898cba2c@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=asmirnov@ilbers.de \
--cc=isar-users@googlegroups.com \
--cc=mosipov@ilbers.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox