Hi Martin
On 10/05/2014 23:08, Martin Quinson wrote:
I just spent one hour digging a bit, in the hope of moving this
process forward. Unfortunately, the bootstraping process in Scala is
very far from packager-friendly. I fear the worst for the rest of the
packaging effort :-/
I've looked at what the other distribution do, and it will only
partially help. In gentoo, they happily download the binary jar files
at build time, even if we don't have the source nor the licensing
information about these files. In Fedora, they provide a big tarfile
with all the jarfiles so that you don't have to download it yourself
at build time.
Fedora is still interesting because they came up with several patches
to get scala v2.10 betterly integrated with other already packaged
projects. They have a wiki page explaining everything:
https://fedoraproject.org/wiki/SIGs/bigdata/packaging/Scala
and their patches are available from here:
https://github.com/willb/scala-packaging/tree/gil-script
Note that they are still working on getting scala 2.10.x properly
packaged (in particular, to get sbt working for that version). I think
that we should package 2.11 anyway because the dependency list is much
smaller for 2.11:
Here are the bootstrap dependencies of 2.9 (from Debian package)
(obtained by running >>cat `find -name "*desired.sha1"`<< from root dir)
2546f965f6718b000c4e6ef73559c11084177bd8 ?instrumented.jar
981392dbd1f727b152cd1c908c5fce60ad9d07f7 ?enums.jar
cd33e0a0ea249eb42363a2f8ba531186345ff68c ?nest.jar
02fe2ed93766323a13f22c7a7e2ecdcd84259b6c ?annotations.jar
be8454d5e7751b063ade201c225dcedefd252775 ?methvsfield.jar
77dca656258fe983ec64461860ab1ca0f7e2fd65 ?scalacheck.jar
b1ec8a095cec4902b3609d74d274c04365c59c04 ?genericNest.jar
0392ecdeb306263c471ce51fa368223388b82b61 ?jsr166_and_extra.jar
d7b100ad483484b598b7cd643424bd2e33898a0d ?plugins.jar
f174c50c4363c492362a05c72dd45b0da18fdcd8 ?plugins.jar
8cccde4914da2058dca893783c231cda23855603 ?plugins.jar
2bda582b574287429ad5ee2e1d9a3effc88b0a5f ?plugins.jar
af91fd67ccef349e7f8ea662615e17796a339485 ?plugins.jar
7e6be9e33a87194e7061f94f6be115619f91ada2 ?plugins.jar
ee000286d00c5209d5644462c1cfea87fc8b1342 ?gnujaxp.jar
bd8e22a955eeb82671c5fdb8a7a14bc7f25e9eb1 ?fjbg.jar
c52dbed261e4870a504cef24518484b335a38067 ?scala-library.jar
12c479a33ee283599fdb7aa91d6a1df0197a52cf ?forkjoin.jar
6597e6f74113e952a4233c451c973f5ac7f2b705 ?midpapi10.jar
364c3b992bdebeac9fafb187e1acbece45644de7 ?scala-library-src.jar
545b37930819a1196705e582a232abfeb252cc8d ?jline.jar
5f31fab985a3efc21229297810c625b0a2593757 ?scala-compiler.jar
58f64cd00399c724e7d526e5bdcbce3e2b79f78b ?msil.jar
a1883f4304d5aa65e1f6ee6aad5900c62dd81079 ?push.jar
8b6ba65c8146217333f0762087fe2340d572e832 ?scalatest.jar
Here are the ones for 2.10 (from an earlier version of Lucas's git)
e737b123d31eede5594ceda07caafed1673ec472 *code.jar
1b11ac773055c1e942c6b5eb4aabdf02292a7194 ?instrumented.jar
981392dbd1f727b152cd1c908c5fce60ad9d07f7 *enums.jar
cd33e0a0ea249eb42363a2f8ba531186345ff68c *nest.jar
02fe2ed93766323a13f22c7a7e2ecdcd84259b6c *annotations.jar
be8454d5e7751b063ade201c225dcedefd252775 *methvsfield.jar
b6f4dbb29f0c2ec1eba682414f60d52fea84f703 *scalacheck.jar
b1ec8a095cec4902b3609d74d274c04365c59c04 *genericNest.jar
0392ecdeb306263c471ce51fa368223388b82b61 ?jsr166_and_extra.jar
d7b100ad483484b598b7cd643424bd2e33898a0d ?plugins.jar
f174c50c4363c492362a05c72dd45b0da18fdcd8 ?plugins.jar
8cccde4914da2058dca893783c231cda23855603 ?plugins.jar
2bda582b574287429ad5ee2e1d9a3effc88b0a5f ?plugins.jar
af91fd67ccef349e7f8ea662615e17796a339485 ?plugins.jar
7e6be9e33a87194e7061f94f6be115619f91ada2 ?plugins.jar
8acc87f222210b4a5eb2675477602fc1759e7684 *fjbg.jar
1e0e39fae15b42e85998740511ec5a3830e26243 ?scala-library.jar
d229f4c91ea8ab1a81559b5803efd9b0b1632f0b ?scala-reflect-src.jar
288f47dbe1002653e030fd25ca500b9ffe1ebd64 ?scala-reflect.jar
ddd7d5398733c4fbbb8355c049e258d47af636cf ?forkjoin.jar
cfa3ee21f76cd5c115bd3bc070a3b401587bafb5 ?scala-compiler-src.jar
8bdac1cdd60b73ff7e12fd2b556355fa10343e2d ?scala-library-src.jar
a5261e70728c1847639e2b47d953441d0b217bcb *jline.jar
d54b99f215d4d42b3f0b3489fbb1081270700992 ?scala-compiler.jar
d48cb950ceded82a5e0ffae8ef2c68d0923ed00c *msil.jar
a1883f4304d5aa65e1f6ee6aad5900c62dd81079 ?push.jar
and here are the ones of 2.11 (from Lucas's current git)
e737b123d31eede5594ceda07caafed1673ec472 *code.jar -> same as 2.9
1b11ac773055c1e942c6b5eb4aabdf02292a7194 ?instrumented.jar -> new version
981392dbd1f727b152cd1c908c5fce60ad9d07f7 *enums.jar -> same
cd33e0a0ea249eb42363a2f8ba531186345ff68c *nest.jar -> same
346d3dff4088839d6b4d163efa2892124039d216 ?jsoup-1.3.1.jar -> 1.7.3 is already
packaged
02fe2ed93766323a13f22c7a7e2ecdcd84259b6c *annotations.jar -> same
be8454d5e7751b063ade201c225dcedefd252775 *methvsfield.jar -> same
3794ec22d9b27f2b179bd34e9b46db771b934ec3 ?macro210.jar -> new thing
b1ec8a095cec4902b3609d74d274c04365c59c04 *genericNest.jar -> same
0392ecdeb306263c471ce51fa368223388b82b61 ?jsr166_and_extra.jar -> same
ddd7d5398733c4fbbb8355c049e258d47af636cf ?forkjoin.jar -> new version
a1883f4304d5aa65e1f6ee6aad5900c62dd81079 ?push.jar -> same
So it seems that if we go for 2.11, we have only one jarfile missing
to bootstrap. We also have 2 jarfiles that may be too old, and one
that may be too recent.
The next step for me is to understand how the version 2.9 does for not
downloading the bootstraping libraries at build time so that I can try
to do the same with Lucas's version. Medhi, could you guide me a bit,
please?
Thanks for this help.
I had not time to work on it but I think I can dig into this next week end.
I started to look how to make the build work without downloading
anything. Several dependencies are used to runs tests or to publish new
jars, I think we can cut them off for now.
I already did it for some of them but I need to finish this and test it
more thoroughly.
To bootstrap the all stuff, maybe we need to momentarily commit some
jars into the git repository.
I also think it is will be easier to start it with scala 2.11.0 instead
of 2.10.x series because the build script changed a lot between both
versions.
Lucas
Thanks for your work,
Mt.
--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org