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