Ray Kiddy wrote:
I started with the present http://www.scratchbox.org/documentation/user/scratchbox-1.0/html/installdoc.html and added info to the wiki pages at http://www.scratchbox.org/wiki/ScratchboxInstallation and http://www.scratchbox.org/wiki/ScratchboxTargetConfiguration. A lot of that is just going through the motions, though. These steps seem to work, but I have not seen any information as to why.

A lot of stuff under http://www.scratchbox.org/documentation is, sorry to say, out of date. I hope there comes a time when someone has the time to actually go through all the documentation and update where necessary and remove the obsolete parts.

Looking at files in the directory: http://scratchbox.org/download/files/sbox-releases/apophis/tarball/

scratchbox-core-1.0.6-i386.tar.gz
scratchbox-core-1.0.7-i386.tar.gz
scratchbox-core-1.0.8-i386.tar.gz
scratchbox-core-1.0.9-i386.tar.gz
scratchbox-core-1.0.10-i386.tar.gz

At the moment there's three branches of Scratchbox. The legacy (0.9.8), stable (Apophis) and development (2.0). 2.0 is actually a complete rework on the concept of Scratchbox and the old development branch is actually 1.2, but that really means nothing anymore :)

A lot of things have these versions. What do they correspond to? Looking at pages such as http://www.scratchbox.org/download/scratchbox-0.9.5.html, I see no correspondence between how versions on that list and the available files. On the "Scratchbox 0.9.5" page, one sees:

# gcc-2.95.3 + 40 patches, glibc-2.2.4, binutils-2.12.1 to be used for compiling kernels
# gcc-3.2.3, glibc-2.3.2, binutils-2.13.2.1 for non-kernel compilations
So, would these correspond to scratchbox-toolchain-cs2005q3.2-glibc-i386-1.0.4-i386.tar.gz or to scratchbox-toolchain-cs2005q3.2-glibc-i386-1.0.5-i386.tar.gz? Is there any connection at all between the versions numbers described in the documentation on scratchbox.org and the file sets that are made available? How does one find such a connection?

The last version is always the package version. Everything else before that relates to gcc or glibc.

The connection with the documentation may be a bit shaky, as the documentation is out of date.

Ok, so assuming "later" means "better", one can just pick the latest versions. Is that the best thing to do?

What about these?

scratchbox-toolchain-arm-linux-2007q1-21-1.0.7-i386.tar.gz
scratchbox-toolchain-arm-linux-cs344-2.3-1.0.4-i386.tar.gz
scratchbox-toolchain-arm-linux-ct401-2.3-1.0.4-i386.tar.gz

and
scratchbox-toolchain-arm-gcc3.4-uclibc0.9.28-1.0.4-i386.tar.gz
scratchbox-toolchain-arm-gcc4.1-uclibc20061004-1.0.4-i386.tar.gz

Yes and no. You have to know which toolchain your after (depends on your target) and then choose the suitable based on that (probably the latest version with that name).

One has "uclibc" and "0.9.28" and "uclibc" and a date, "0061004". So does "0.9.28" mean September 28, 2000? Presumably this version of the compiler does not date from the Roman empire. And what are "ct" and "cs" and 2007Q1 is when a company would have reported their income to the SEC. Is it also a compiler version?

0.9.28 is a release version number, 20061004 is a snapshot from the version control system.

The letters ct mean Crosstool and cs Codesourcery. Basicly Codesourcery releases their version of gcc so that a release is named like <year>Q<quarter>, for example cs2007q3.

The cs344-2.3-1.0.4 is actually a Codesourcery toolchain, the gcc and glibc versions are just written instead in the scratchbox packaging (I know, naughty).

It's a toolchain with gcc 3.4.4 and glibc 1.0.4 and scratchbox-toolchain-extras 1.0.4.

And we have scratchbox-devkit-apt-https-1.0.3-i386.tar.gz.

Why would apt and https go together? Why not git and https? Why not perl and https? Is any of this documented, or is the way to find out to look at all the source code?

This devkit contains only the most recent version of apt complete with https support. There's only apt, nothing more. It depends from debian devkit to get the rest of debian tools.

The installdoc.html says things like:

Base (required):
      scratchbox-core - environment, common tools and host compiler
      scratchbox-libs - libraries required by core, devkits and toolchains
Development kits (optional):
scratchbox-devkit-debian - environment and tools for Debian development
      scratchbox-devkit-doctools - document generation tools
      scratchbox-devkit-perl - additional Perl modules
Toolchains (optional):
      scratchbox-toolchain-arm-gcc3.3-glibc2.3
      scratchbox-toolchain-i686-gcc3.3-glibc2.3
      scratchbox-toolchain-arm-gcc3.2-uclibc20040229
      scratchbox-toolchain-i386-gcc3.2-uclibc20040229

So helpful. Yes, the toolchains are optional, but is there really no documentation on why one would choose one and not the other.

It really depends which is your target. If it's arm, then an arm toolchain. Sometimes the vendors may provide toolchains with their hardware and you have to scratchboxify that with scratchbox-toolchain-extras package, thus creating your own foreign toolchain.

If you're not compiling for x86 (probably a reason you chose Scratchbox to begin with), you'll need also the cputransp devkit to handle the emulation of foreign binaries in your host. The devkit contains various cpu transparency methods (sbrsh and several versions of qemu with different patch sets applied) for you to choose.

Are these things just obvious to everyone else using the tools? Where can one find these things out?

Any suggestions are welcome. Or, there is a wiki. One that anyone can add information to, anytime they want.

One of our goals is to get all the documentation in wiki at some point, makes editing easy, and then people would be able to fix an error when they see it, without needing any of us for that part :)

Regards,

  Jussi

_______________________________________________
Scratchbox-users mailing list
Scratchbox-users@lists.scratchbox.org
http://lists.scratchbox.org/cgi-bin/mailman/listinfo/scratchbox-users

Reply via email to