Project

General

Profile

Support #187

CoCoA-5 (partial) releases: make the process simpler

Added by Anna Maria Bigatti almost 12 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Category:
Release
Target version:
Start date:
13 Jun 2012
Due date:
% Done:

100%

Estimated time:
45.00 h
Spent time:

Description

It is reasonably easy now to make a new CoCoALib (snapshot) release.
On the other hand making a new CoCoA-5 is quite tedious because it involves compilations and many more spurious components (e.g. icons!)

A similar snapshot process should be designed at least for MacOS-10.6
(making it easier to offer snapshots to Robbiano and Torrente)

Decisions to be made:
- which version number should it have? (the "future" version number?)
- where and how public the release should be?
- which parts are to be guaranteed up-to-date? (CoCoALib, packages, documentation,..?)

When this process is tested enough it can be extended to other OS.


Related issues

Related to CoCoA-5 - Bug #197: ./C5.bin: fork: Resource temporarily unavailableClosed2012-06-26

Related to CoCoA-5 - Feature #270: Distribution for linuxClosed2012-10-18

Related to CoCoA - Support #266: Compilation on M$Windows: cygwinClosed2012-10-17

Related to CoCoA-5 - Design #527: GUI: better name for the graphical interface?New2014-04-08

Related to CoCoA-5 - Support #616: Release: CoCoA-5.1.2Closed2014-08-01

Related to CoCoA-5 - Support #605: Release: CoCoA-5.1.1Closed2014-08-01

Related to CoCoA-5 - Support #559: Release: CoCoA-5.1.0Closed2014-05-14

History

#1 Updated by John Abbott almost 12 years ago

I believe the Linux kernel uses odd/even version numbers to distinguish between public releases and interim versions. Anyway, we could use such a simple technique (though it does require some discipline on our part).

I suppose the odd/even distinction should apply to the third number in the full version triple.

#2 Updated by Anna Maria Bigatti almost 12 years ago

  • Assignee set to Anna Maria Bigatti

I've created on my computer a "snapshot" directory for the "current cvs snapshot" where I should compile (and also get the packages from?)

About the Mac GUI: I still have the problems about how to create a proper application bundle
- where and how to set the icons
- where and how to set the manual
maybe these links can be useful:
http://stackoverflow.com/questions/1596945/building-osx-app-bundle
http://qt-project.org/doc/qt-5.0/appicon.html -- Setting the Application Icon (not enough)
http://hasseg.org/stuff/assignIconScript/assignIcon -- bash script (not tried
http://hintsforums.macworld.com/showthread.php?t=70769 -- command line

#3 Updated by Anna Maria Bigatti almost 12 years ago

I have the first "complete" version of cocoa5-cvs-snapshot.
  • It assumes the cvs copy in my "0.99/snapshot" directory is up-to-date.
  • It copies packages and CoCoAManual directories into the MacCoCoA app directory (with the spurious CVS directories, a little tedious, but fixable)
  • Makes a tgz of the MacCoCoA app directory (it seems that tgz preserves the icon... hard to believe)
  • Prints the command line to send the tgz to the web site (does not send it automatically to prevent human errors..)

#4 Updated by Anna Maria Bigatti almost 12 years ago

  • % Done changed from 0 to 30

added to script generation of pre-release for cocoa-5.0.3 for Mac emacs
(and made pre-release)

#5 Updated by Anna Maria Bigatti almost 12 years ago

Problem for the GUI release:
even though it works reasonably well, there is a bug related to the fact that (by default) GMP is not thread-safe so the official GUI has to be linked to a GMP compiled with
--flag???
Does it have to be compiled or just linked?

This is an example showing the bug:
??????? (cannot find it, it's in my mail somewhere......)

#6 Updated by Anna Maria Bigatti almost 12 years ago

  • Status changed from New to In Progress

#7 Updated by Anna Maria Bigatti over 11 years ago

Instructions:
The first time create a cvs "snapshot" directory:

  cd <my-dir>
  bash
  mkdir snapshot
  cd snapshot
  export CVSROOT=:ext:bigatti@www.dima.unige.it:/Volumes/Home_1/cocoa/cvs-repository
  cvs checkout CoCoALib-0.99

following times you just need to update it.
  cd CoCoALib-0.99
  ./configure <my-params>
  make -j3

Then (the first time fix the dir names in the script)
  ~/shell-scripts/cocoa5-cvs-snapshot

This compiles and makes the tgz. Then read the instructions it prints.

The first time you also need to update the download web page.
(The following time the date is set automatically)

#8 Updated by Anna Maria Bigatti over 11 years ago

  • Target version set to CoCoA-5.0.3
  • % Done changed from 30 to 40

Prototype working for the textual version on linux.
I had some problems compiling with Normaliz (for OPENMP, which I had to disable by hand).

Needs cleaning and merging (as much as possible) with the Mac script.

Now it is in principle downloadable from the website, but there are still "virtual-server" (already met) problems with file sharing which I asked Alessandro Cartatone to investigate.... and solve for me ;-)

#9 Updated by Anna Maria Bigatti over 11 years ago

  • Estimated time changed from 5.00 h to 15.00 h

#10 Updated by Anna Maria Bigatti over 11 years ago

Prototype for gui on linux done.
Snapshot is online but still "server-invisible"

#11 Updated by Anna Maria Bigatti over 11 years ago

  • Target version changed from CoCoA-5.0.3 to CoCoA-5.0.9

#12 Updated by Anna Maria Bigatti almost 11 years ago

Now that I can compile cocoa on windows, I added some indications in script cocoa5-cvs-snapshot to help making the snapshot.

Fixed make-c5makefile.sh so that it deals with "-L" flag (John had fixed passing boost libs, but make-c5makefile.sh did not deal with the flag correctly)

#13 Updated by John Abbott about 10 years ago

  • Target version changed from CoCoA-5.0.9 to CoCoA-5.1.0 Easter14

#14 Updated by John Abbott about 10 years ago

  • Target version changed from CoCoA-5.1.0 Easter14 to CoCoA-5.1.1 Seoul14

#15 Updated by Anna Maria Bigatti almost 10 years ago

I've been cleaning up my scripts and insterted them in CVS.
... as usual it is difficult to make things easy!
I have found the Mac command line to set an icon: now MacCoCoA.app dir is created from scratch automatically.

Currently fighting with making Emacs configuration easy.

#16 Updated by Anna Maria Bigatti almost 10 years ago

I've been cleaning up my scripts and insterted them in CVS.
... as usual it is difficult to make things easy!
I have found the Mac command line to set an icon: now MacCoCoA.app dir is created from scratch automatically.

Currently fighting with making Emacs configuration easy.

#17 Updated by Anna Maria Bigatti almost 10 years ago

  • % Done changed from 40 to 70

works on mac and linux.
On linux also deals automatically with 32/64 bit binaries

#18 Updated by John Abbott over 9 years ago

  • Target version changed from CoCoA-5.1.1 Seoul14 to CoCoA-5.1.2 summer 2015

#19 Updated by Anna Maria Bigatti over 8 years ago

Anna Maria Bigatti wrote:

works on mac and linux.
On linux also deals automatically with 32/64 bit binaries

simplifying the scripts (making a file with common functions and version number to be "source"d)
Hoping to make it work on windows too (but I need to install pdflatex on cygwin...)

#20 Updated by Anna Maria Bigatti over 8 years ago

  • Estimated time changed from 15.00 h to 45.00 h

#21 Updated by Anna Maria Bigatti over 8 years ago

  • Target version changed from CoCoA-5.1.2 summer 2015 to CoCoA-5.1.3/4 Jan 2016

#22 Updated by John Abbott over 8 years ago

Why do you need pdflatex on cygwin?

I was thinking that the easy way to make a release would be effectively:
  • make veryclean
  • make dependencies
  • make doc

Then make a tar-gz of the subtree, and use that to compile on other platforms. This way you should need txt2tags and pdflatex only on one "master" machine. There is a minor problem with make dependencies since we want the internal dependencies but not the external ones.

#23 Updated by John Abbott over 8 years ago

After speaking to Anna about my last comment, I have changed my mind.

She is the one who normally compiles releases, and prefers to work with sources obtained directly from the CVS archive; since CVS does not contain the "compiled" documentation, my proposed solution does not work.

It also occurred to me that should anyone wish to develop CoCoALib/CoCoA in a Cygwin environment then it is best for them if everything works correctly (assuming pdflatex can be found for cygwin).

#24 Updated by Anna Maria Bigatti about 8 years ago

  • Target version changed from CoCoA-5.1.3/4 Jan 2016 to CoCoA-5.2.0 spring 2017
  • % Done changed from 70 to 80

Some improvements:
version for cocoa-5 is now automatic.
Partial releases will have odd version numbers.
Scripts in dir CoCoA-5/release-files are fairly complete
(linux requires 64 and 32 bit compilations, win still requires some hand copying)

#25 Updated by Anna Maria Bigatti almost 7 years ago

  • Target version changed from CoCoA-5.2.0 spring 2017 to CoCoA-5.2.2

Decision: corresponding CoCoALib versions will end with "0"

Still missing: release script for windows.

#26 Updated by Anna Maria Bigatti over 6 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 80 to 100

Improved instructions and release file for windows (just works for me, but that's enough)

Now the most tedious part is keeping the external libraries up to date. Apart from that the process is now reasonably simple.

Also available in: Atom PDF