trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: December 2019

Re: [trinity-devel] build scripts again

From: "Michele Calgaro via trinity-devel" <trinity-devel@...>
Date: Wed, 11 Dec 2019 23:57:56 +0800
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Hi Ilya,
see comments below mixed with your email. You are building R14.1.0-DEV right?

> Last week I tried out TDE building scripts: for example 99_build_TDE.sh which successfully finished its work in 38
> hours.  But later that week I looked into 0_logs/build_result.log and found there some "[FAILED]" messages for ten
> packages ("k3b-i18n", "k9copy", "kaffeine", "kasablanca", "katapult", "kbarcode", "kbfx", "kbibtex", "kbiff",
> "kpilot").

Under TDE_SRC/2_build/debs/<module>/src you will find a detailed build log of the module, so you can see what went
wrong for that specific module


Later I tried to run the same script in "local
> mode" ("-l" flag in BUILD_DEFAULT_OPTIONS variable of _config.sh) but it seems the modules don't see the
> compilation results of the previously compiled modules. And I didn't find any way in the scripts for them to see.
> So here are some questions about building scripts

- -l is used to build a module locally on your live system. It is mostly useful if you are testing changes and want to
do quick local builds. It is not recommended to use it to build a clean TDE since it depends on locally install
modules and build may fails if you don't update step by step


> 0) Do I understand correctly that "modules" (as this word is used in command "build_module" for example in
> 06_applications_03.sh script) are corresponding 1-to-1 to debian source packages on the one hand and to git
> submodules of TDE/tde repository on the other hand?

Yes, that is correct.


> 1) What exactly is the mechanism used while building with "pbuilder" (i.e. WITHOUT "-l") for the module A to use
> package B built in one of the previous modules?

This is done by pbuilder as long as everything has been setup correctly. A pbuilder hook script is used to scan the
"debs" folder before building each module, specifically the D05deps script.


> 2) Does something similar exist while building everything in "local mode" (i.e. WITH "-l") on a clean machine? I
> see there only the *.deb files, but they don't seem to be installed immediately after creation and then the next
> step is about to start already and *.deb files are just left there not installed.

As said above this is not recommended and in some unlucky case you may not even be able to build TDE from within TDE.
If you want to use -l you need to install the various .deb by yourself in your system before proceeding with the next
package. "-l" does not create clean chrooted modules, so think of it as a development tool/commodity.

> 
> 3) Is there any simple way to disable colored output which is very nice on the terminal, but quite disturbing while
> reading logs in a
> 
I may be saying something wrong here going by memory, but I think I have already addressed this issue in my scripts.
Am I wrong?


> 
> 4) Is there a way to stop let's say 99_build_TDE.sh script if a single module compilation failed?

the various build set have been thought as a way to automate building of multiple modules, so they normally continue
in case of a build failure. You will need to edit the scripts and look at the result returned by build_module and stop
in case of a fault.
Perhaps an idea to consider for future improvements :-)


> 5) Sometimes I see the following lines in the log file (using "show log" -sl option and piping output into a
> file): dpkg-checkbuilddeps: error: Unmet build dependencies: tdelibs14-trinity-dev [and many more -I.D.] 
> dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting dpkg-buildpackage: warning: (Use -d
> flag to override.) Building completed SUCCESSFULLY [in green color -I.D.]
> 
> Does this combination (package can't be built, but it's kinda success nevertheless) have any sense or is it some
> kind of error in the scripts?

It is probably a corner case of the scripts when missing dependencies are detected. I have seen something like this
from time to time as well, not often enough to bother me to the point to work on it yet :-D


> 
> The meaning of all these questions for me is to understand how to create an environment, where I can rebuild the
> whole TDE in a reliable way (run a single command and be sure that its success indicates nothing went wrong and
> everything is built) on a clean machine.

Don't use "-l" in this case. you can use the build TDE script and grep the build_result.log file for "FAILED". That
will tell you if any package has failed the build process.

If you need further info, please let me know.
Btw, I have not yet come around the meta package building. I am under very heavy work load and for a while have very
limited time for TDE unfortunately :-(

Cheers
  Michele
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEjhl1z5vbYB3YbFTiKnW3yore1c8FAl3xEgAACgkQKnW3yore
1c+Z7g//Te4YIe++l8PnS16XDlaqw28M4eFkhTB2fzeCNtAXRgrxoKTD+xoPfZqS
ag/3AKr5h2UFlhsPvL3JWLPJMsWLBMR0Wq0jwOlDaJmt4k4Teak7vnvjPEShBRfJ
n6QyqdYf1bz3Xsay1ao/Cz9Gnz1/7U3TktvKCtmutp+PcwF44LOUE52wT69MNm8o
Q3b1XKAWVgMBITarUHXxa9B41ijCXJdx7HAwbIMpth0ngFSg8JqptZhH+UjCQn+j
fjjKY6dHW4UsXTBPCQr4lAGEh4+13afqZxWDW4CIix/DnPz5K7eoEl4srkwEteou
/2ZZcBDCwKcY/MZSe0wNEvUxEeDnzMHcwlEHv4UjA0XAMBGzGuT6JQw/RzNGVaL3
v3JNKssrTY10VDepxfW5QcFwOEUgIOwr2nDouHkg3M4h+Fc99SkOzcUh3am0NwsB
ePfPleNLAEt/GOPHgHrtgJLvTkAD67/f4eiMfNK60dz+mxk9N3afXoraGwEmH7nO
aSrIcRZM01KtTesHdBYoOW289e/gixINDwgSYAEwHB8fnV/TSmNAitqfJ8fPMxj9
ZtLfuoxtnM34aaiE6wFS5/W7imnOIMwaV4KObYdY/PE49cViWDFGCTdk36GyldRy
ziE97thSeqGn0xUi2w1RzI+BzhS5Xv5Bv0Z39fWKon0vF3laZRs=
=VPIq
-----END PGP SIGNATURE-----