[M3devel] Release engineering

Peter Eiserloh eiserlohpp at yahoo.com
Sat May 9 07:07:02 CEST 2009


Hi Olaf,

> That's quite a long wish list you've got there, and as it is not
> Christmas, I'm afraid that we won't be able to fulfill all of them :-)

True, version 6.0 is only a couple years away.  If we start
planning things now, then they have a chance of happening.

> That's exactly because the default installation of CM3 is /usr/local ;-)
> We've never provided system-specific package formats until now.
> Of course system packages should install into their preferred locations.
Yes!  A distribution is not supposed to install anything into
/usr/local.  This is for the administrator to installing from
a source package, and manually installing them.

Like what we have done. Download the a min install, and a
source tarball, or do a CVS checkout.  Build and ship.  
These days we want to play with the distribution's mechanisms
for installing software.



>>   o Allow installation to temporary root during package building.
>
> Jay commented on it, but I'm not sure if that was what you meant.

During the building of a debian package (probably similar in an RPM)
all the binary executables and libraries are built, but instead
of installing them into their final destination (which is on the
host system), they are installed into a temporary tree

Some source packages can use their own makefile install target
specifying a DEST_DIR.  We would probably want to do something
like

For example, for package cm3-compiler_5.8 rules would contain
   pkg_cm3=/home/peter/src/modula3/cm3/src-all/debian/tmp-cm3/
   bin_dir=${pkg_cm3}/usr/cm3/bin
   etc_dir=${pkg_cm3}/usr/cm3/etc
   lib_dir=${pkg_cm3}/usr/cm3/lib
   pkgs_dir=${pkg_cm3}/usr/cm3/pkg

   mkdir -p ${bin_dir}
   mkdir -p ${lib_dir}
   mkdir -p ${pkg_cm3}/usr/cm3/pkg
   install m3-sys/cm3/${TARGET}/cm3 ${bin-dir}
   install m3-sys/m3cc/${TARGET}/m3cc ${bin_dir}

A number of administrative files are also installed into here
such as "DEBIAN/control", and "DEBIAN/confiles".

Once the directory tree has been built, then it is archived up.
Debian's *.deb file use "ar" for this.  Then when a package is
installed by the super-user, all files are installed to their
destinations (except configuration files, they get another stage).

>>   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 won't be able to provide manual pages for all M3 programs.

Didn't expect that for all programs, but then we aren't talking
about installing all those programs in the m3 repository.  Sure
zeus, and obliq and so forth are cool, but they are not the Modula-3
compiler, nor libm3.

Those would be in packages such as "zeus", and "obliq".

>I'm not against such changes, but they won't make it into this release,
>and somebody will have to volunteer to do them.

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).


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?

> 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.


+--------------------------------------------------------+
| Peter P. Eiserloh                                      |
+--------------------------------------------------------+


      



More information about the M3devel mailing list