On 06/30/2016 08:00 PM, scsijon wrote:

On 06/27/2016 07:12 PM, René Rebe wrote:
Hi,

On Jun 27, 2016, at 8:19, scsijon <[email protected]> wrote:


Having read the manual in an attempt to find answers, I have two
questions if I may.

1- Is there some means to pause a build (not cancel it) at a suitable
point (such as at the end of the current package being built)? Reason
is that sometimes I want to see what has happened inside a particular
package's build or what files have been placed where before I
continue. If somethings different to what I expected or need, or they
are in the wrong directory (structurally) I can then abort the build
there or do a temporary fix for this build, or if all seems ok i'd
like to have it just continue on as if nothing happened. I know I can
stop, clean cache, and restart with build-target, but that is not
what I am looking for at this point.

No. Because the T2 build is not meant to be an interactive game and
instead automatic build process, like an IDE Makefile.

When I do debug some tricky package thing I usually add a breakpoint
error to the .conf, IIRC this should work:

hook_add post make 5 abort


Ok so i'm stuck with a restart, I can live with that. I'm actually not
looking for an interactive step but a pause in the build to be able to
track that important parts of earlier package building has ocurred
before it goes ahead and builds a 'optional' component into a later
package or not.


See below please

and

2- As I understand it the first chroot ocurrs after Stage 1 has
ocurred and before Stage 2, is there a way of adding others between
other stages in an attempt to sort out a problem through a chroot
isolation?

Likewise not, sorry.

The stages are structured so for a reason (and this should be
somewhere mentioned in the handbook).

stage 0 - cross compiler toolchain bootstrap
stage 1 - cross compile packages - for a native build this is only a
minimal system
 - from here on native build -

stage 2, 3 - rebuild some tools just in case

stage 5 - main native build stage
stage 6…9 - mostly unused, empty
stage 9 - rebuild all for paranoia and stress testing

further mixing things into this mix should not really be necessary

basically it is

0. bootstrap
1. cross build
5. native main build

Yes, that was something like I thought I read in the manual, however i'm
now more confused, does it mean the chroot has ocurred between stage 0
and stage 1, or between stage 1 and stage 2 as I thought I understood
from the manual. If it's between stage 0 and stage 1 I thought I should
be getting no 'interferance' from my own pre chroot systems packages or
placements in later stages but would get them in stage 0 and stage 1 as
actually seems to be happening.

As an example if I change in Config the gnome2 variable
SDECFG_PKG_GNOME2_CORE_PREFIX from opt/gnome2 to usr so that some
packages can build in stage5 and not fail as they expect the .h files to
live under /usr/include/$packagename-version and not
/opt/gnome2/include/$packagename-version I'm getting .err files and
"Created file outside allowed top-level dir: PKGPREFIX_ERROR/ etc....."
in the log. Easiest example to see it with is glib (the first gnome2
package). It fails the build at 1-glib if I change the variable at the
start but if I change it manually in the config file after the stage 2
build has started or before the start of stage 5 it seems ok and also
allows the others to build ok.

I did wonder if the gnome2 package script gnome2-conf.in could be
relocated so there was only need for one copy rather than multiples and
modified for this, but not being a coder (although I can read scripts)
or sufficently understanding of your way of doing it, nor the script's
'owner I am not willing to play with it.

Could you advise please.


Actually, when I think more about it after reading your comments, the manual sections some more, and some blfs etc. docs, I think my problems may be relating to it failing during Stage 1 and onward, and then restarting the build with existing build left in situ, rather than deleting the build and starting again after fixing the problem.

I'm now thinking that the problem cause is that on a restart for stages 1+, the build is NOT performing a chroot to the new environment when necessary and starting again from there, but is attempting to continue to build within the stage0 environment, that would seem to explain the problems ocurring.

As a test i've done a couple of "very tacky" temporary script alterations for workarounds and disabled a couple of packages that normally continually fail. After changing the Config gnome2 variable to usr, it seems to be building correctly and the packaes are showing in the var/adm/flists to be in the right places if I don't stop the build, (at least to the start of stage 2 so far) and so i'll leave it at least overnight and check to see what happens. I do know, as i've tested that already, that if the build fails or stops before stage 5 it fails again and gives the error I mentioned if I just attempt to get it to continue by using ./script/Build-Target again, whether I use a ./script/Clean -cache or not beforehand.

This may mean as i'm beginning to understanding it, the problem could be fixed by adding in ?Build-Target (or where-ever it needs to be), a check of what stage being built and performing a chroot into where-ever it should before the build continues. But where and what scripting is needed, I have no idea, hopefully Rene does.

Hopefully this makes sense

regards


regards and keep up the good T2 work.

Thanks,
    René




----------------------------------------------------------- If you wish
to unsubscribe from this mailing, send mail to
[email protected] with a subject of: unsubscribe t2




----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to
[email protected] with a subject of: unsubscribe t2

Reply via email to