[M3devel] Release engineering
Olaf Wagner
wagner at elegosoft.com
Sat May 9 13:03:55 CEST 2009
Quoting Peter Eiserloh <eiserlohpp at yahoo.com>:
>>>> o Documentation: Write manual page for cm3.
>>
>> I can do that.
>
> Ah.., I already did. Just cm3, still need to write
> modula3.man, m3makefile.man, and m3overrides.man.
>
> It would be bad form to suggest all sorts of things, and then
> not actually do anything myself.
>
> http://www.eiserloh.org/~peter/modula3/#mydocs
I just added that to the repository.
> Again, I agree that a release of 5.8 should be soon. And soon,
> means no significant changes.
> BTW: I imported the CVS repository as a GIT repository,
> I intend to make this visible externally, but in the
> mean time it is in a private directory. I looked at the
> cm3-releases branch, wow it has been a long time since
> the last release, which according to the repository,
> 5.1 was released (2001-01-24).
That's just the branch where the old releases from Critical Mass
were imported. IIRC, the last CM3 release was around 2006 :-)
> Cool you got gcc-4.3, after 5.8 is released, are we going
> to update the gcc backend to 4.3? What version is currently
> in the backend.
>
> BTW(2): When I built the cm3.man manual page, I saw the
> -config option which simply wrote the version number, instead
> of the configuration info. Could it at least print the
> TARGET architecture?
Should be no problem.
>> Well, I hope he won't be too dissatisfied,
> Well, I (<-<-) he does understand exactly where I am,
> and what I am attempting.
>
> I have been playing on the extreme periphery of M3 development
> for the past 14 or 15 years, when I first heard of it.
Then this might be a good time to become more involved? :-))
Any help is welcome.
I've been thinking today about using the .M3SHIP files for
installation purposes. Curently, the paths they contain are all
resolved like this:
make_dir("/usr/local/cm3/pkg/test/FreeBSD4")
install_file(".M3EXPORTS", "/usr/local/cm3/pkg/test/FreeBSD4", "0644")
install_file(".M3WEB", "/usr/local/cm3/pkg/test/FreeBSD4", "0644")
make_dir("/usr/local/cm3/pkg/test/src")
install_file("../src/Test.m3", "/usr/local/cm3/pkg/test/src", "0644")
install_file("Test", "/usr/local/cm3/pkg/test/FreeBSD4", "0644")
If we use the variables defined in the cm3 config file, we can
defer path resolution to installation time:
make_dir(PKG_INSTALL & "/test/FreeBSD4")
install_file(".M3EXPORTS", PKG_INSTALL & "/test/FreeBSD4", "0644")
install_file(".M3WEB", PKG_INSTALL & "/test/FreeBSD4", "0644")
make_dir(PKG_INSTALL & "/test/src")
install_file("../src/Test.m3", PKG_INSTALL & "/test/src", "0644")
install_file("Test", PKG_INSTALL & "/test/FreeBSD4", "0644")
Not really a good example, as its just a test package; others
could also use BIN_INSTALL, LIB_INSTALL, MAN_INSTALL, DOC_INSTALL,
HTML_INSTALL etc. We could even add ETC_INSTALL if you like ;-)
Then we could just run cm3 -ship for any package installation,
and perhaps even provide system-specific overrides for the install
routines in quake if needed.
Installation packages could contain a workspace with precompiled
packages, and actual package installation is done on the target
system by cm3 itself. I haven't really thought it through nor
tested it though. It looks as if it wouldn't be too difficult
to implement.
Comments welcome,
Olaf
--
Olaf Wagner -- elego Software Solutions GmbH
Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95
http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194
More information about the M3devel
mailing list