Faculty of Information Technology
Software Engineering Group

Opened 2 years ago

Closed 11 months ago

#110 closed todo (fixed)

Fix `rake update` task to automatically download latest pre-built STC and librun

Reported by: Jan Vrany Owned by:
Priority: major Milestone: 8.0.0
Component: default Keywords:
Cc: Also affects CVS HEAD (eXept version): no

Description

As sources of STC and librun are not available, Smalltalk/X build system (aka "rakefiles") downloads prebuilt binaries from SWING CI server.

However, this is done only during checkout so rake update may result in uncompilable build tree if newer STC and/or librun is required.
Currently, user "has to know" about this and:

  1. manually delete STC/librun,
  2. run rake checkout,
  3. run rake update and
  4. finally run rake compile to recompile.

This should be automated so that rake checkout and rake update:

  1. once pre-build STC/librun is downloaded, store downloaded archive SHA256 checksum somewhere,
  2. when updating pre-built STC/librun, download checksum file first, and compare it with stored checksum
  3. if chechsums match, do nothing
  4. if chechsums differ, remove old STC/librun and download most recent one.

Relevant code is in specs/stx-jv.rbspec, see function download_blob_matching() and package specification for STC and librun below.

Change History (5)

comment:1 Changed 13 months ago by Bakhtiar Hasmanan

is there available librun thats isn't dwarf-eh?
I have gcc with sjlj-eh, I wonder if I can to mix it when building st/x or I should use matching gcc?

comment:2 in reply to:  1 Changed 13 months ago by Jan Vrany

Replying to Bakhtiar Hasmanan:

is there available librun thats isn't dwarf-eh?
I have gcc with sjlj-eh, I wonder if I can to mix it when building st/x or I should use matching gcc?

I'd be safer to use matching GCC, I only test Windows builds using MSYS2 environment as described in Building Smalltalk/X jv-branch from sources.

Now, I think it would work even with sjlj-eh as exceptions are not used withing Smalltalk/X class libraries and only at one or two place within stx:librun (to handle segmentation violation and FPE. But I did not even try.

comment:3 Changed 11 months ago by Jan Vrany

Status: newtesting

comment:4 Changed 11 months ago by Patrik Svestka

Resolution: fixed
Status: testingclosed

The patch works perfectly for the StX 8.0.0. I'm closing the ticket

Note: See TracTickets for help on using tickets.