In mail from четверг, 9 декабря 2021 г. 12:35:16 +03 user Jan Kiszka wrote:
> On 09.12.21 08:36, Uladzimir Bely via Xenomai wrote:
> >
> > diff --git a/recipes-xenomai/xenomai/xenomai.inc
> > b/recipes-xenomai/xenomai/xenomai.inc index 8f13767..454dd7b 100644
> > --- a/recipes-xenomai/xenomai/xenomai.inc
> > +++ b/recipes-xenomai/xenomai/xenomai.inc
> > @@ -41,7 +41,5 @@ do_prepare_build() {
> >
> > dpkg_runbuild_prepend() {
> >
> > bbplain $(printf "xenomai-%s: Building revision %.20s\n" \
> >
> > ${PV} ${COMMIT})
> >
> > -
> > - sudo chroot --userspec=$( id -u ):$( id -g ) ${BUILDCHROOT_DIR} \
> > - sh -c "cd ${PP}/${PPS}; scripts/bootstrap"
> > + SBUILD_PREBUILD="cd %p; scripts/bootstrap"
>
> Could we rather provide an abstract interface to users, not carrying
> SBUILD in its name? I'm concerned that the current will make it hard to
> switch builders in the future if we may have to.
>
> Jan
Hello.
With current approach it doesn't look easy enough. With buildchroot, it's
possible to do anything we want in 'dpkg_runbuild_prepend' or 'prepare_build'
task. When the actual build is started, all preparations are here and can be
used.
Sbuild is an isolated environment, so similar things can only be somehow
passed to the build environment. Here we use SBUILD_PREBUILD to do it, so all
preparations are 'postponed' until real build starts and all dependencies
installed.
If we want to unify the approach, we have 2 possible ways:
1) use something like SBUILD_PREBUILD (we can call it BUILD_PREBUILD) - so,
the preparations won't be done in some prebuild tasks, but they will be
postponed (with buildchroot, too) and executed during the actual build.
2) place the stuff into debian/rules, using patches or somehow else. So, the
preparations will be done in Debian style at the correct time.
Q:
Also, there is a question regarding 'xenomai.inc' quoted above. Why 'scripts/
bootstrap' is executed manually here, before the build? There is `bootstrap`
make target that does exactly the same, but at the build stage.
I'm simply removing 'dpkg_runbuild_prepend()' from xenomai.inc and it is still
working for me.
--
Uladzimir Bely
Promwad Ltd.
External service provider of ilbers GmbH
Maria-Merian-Str. 8
85521 Ottobrunn, Germany
+49 (89) 122 67 24-0
Commercial register Munich, HRB 214197
General Manager: Baurzhan Ismagulov