[AWS] imgsvr announcement

David Marceau davidmarceau@sympatico.ca
Sun, 21 Sep 2003 18:34:07 -0400


Darren New wrote:
> 
> Patrice Freydiere wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > Right,
> > I remove Aws, Booch components to the repository.
> > it will be then more difficult to rebuild the project from source file.
> >
> > I understand that Aws, and Booch components are not aimed to be included in
> > project.
> 
> Well, personally, I'd say leave them in. Anyone who cares knows enough
> about it to reconfigure it to use their local copy. It's also a headache
> if an "improvement" to AWS for example breaks your code, because then
> there's no way to know why.
If you want to encourage more ada developers to give their
opinion/feedback on source/binaries then it is important to get other
ada developers up to speed  easily and quickly with existing
sources....i.e. easy first-time configure, build and run :)

If there are any changes to aws they should be committed into the aws
cvs server and not the imgsvr cvs server.

As it stands, you didn't modify any of the aws source tree
anyways...right?  Well if that's the case then just place something in
your makefile that checks for the existence of the aws directory and if
it doesn't then the makefile checks it out of the gnat cvs repository
with the specific version tag you want it to work with i.e. "cvs co -r
v1.3 aws" or something like that also doing the setting of CVSROOT, cvs
login and cvs logout.

Besides if you do have any changes to make to aws sources you should
submit the patches to the aws team anyways.  In the interim while they
haven't applied the patch well you just supply the patch based on some
known release in the aws cvs server i.e v1.3.  Yes it is possible to get
something from aws that might break your code....but that would imply
they significantly changed the aws infrastructure.  I find aws is
well-architected IMHO.  Your code should be isolated to some aws call
backs essentially.   Yes you will be calling some services within the
aws infrastructure but I am sure the aws team would ensure the behaviour
for the existing specification of all the services won't change
dramatically.  One thing is for sure if it compiles successfully odds
are the behaviour will be preserved.  If the sources don't compile
anymore, it is more probable they added more specs/behaviour rather than
dramatically changing existing specs.
There is at least one exception I can think of though....using
adasockets instead of gnat sockets.  I have seen different behaviour on
windows for adasockets that forced me to use gnat sockets with ACT's
gnat...Oddly enough the same sources on a linux box with adasockets and
gcc-ada however seem to run with some  success.  In other words I have
confidence aws works reasonably well no matter what version you are
using if you manage to successfully compile it and if aws breaks your
code, the damage to your code isn't guaranteed to be minimal but I am
highly confident the damage to your code will be minimal.

> 
> > So my question will be :
> > how can i simplify the compilation process ??
> 
> Distribute precompiled binaries! :-)
If you just want to encourage the user community this is fine.  You
could however be held responsible for propagating possibly
virus-infected binaries.
If ever you're computer becomes infected, from what I recently read and
understood you are also considered an outlaw.  Yet another reason to let
the user compile his own binaries.

If you really want others to contribute and participate with the
development of the imgsvr/aws
it would be best to supply something clear and straightforward to help
the others to get up and building/running without causing confusion
between versions of aws.

I do understand you both something in the long run that works for
everyone but what will save everyone time in the long run is getting the
distribution and the setup of the sources right up front IMHO and
preserving the build errors along the way with the recommended fixes in
this mailing list or the imgsvr mailing list along with patches to the
imgsvr makefile.  Essentially that's how aws/imgsvr wisdom will get
built up and self-documented along the way..via the mailing list IMHO. 
When there's time yeah sure create docs for it if you want.  As it
stands a mailing list along with a search engine attached to the mailing
list contents is adequate documentation to get anyone really interested
up and running.

It's a lot like the recommendations I have for one of the basic aspects
of just building aws for windows.  aws needs a couple of things setup
properly to get the unix tool feel working well with the windows
environment.  These aspects aren't ironed out yet and the symptoms of
this pop up now then when people still ask why aws does build
successfully on windows.  Sure it is easy to tell everybody to install
cygwin and make sure it is in the path but then, slowly and surely
people discover they need to put these things in the right directory or
in their path in order to get it building i.e. cp, rm, tex, tex2pdf,
make, gnatmake, awsres...
It's these little things that are annoying in the long run that need to
be fixed once and for all in the makefile and it's not there yet.  I
believe our environment can remain untouched and simply by running the
makefile and letting the makefile set all the environment for the
current process should be enough.  At the same time it forces the
makefile to have everything necessary for a successful run of the
executable.  We are human we do tend to set things up in our personal
environment without setting them up properly in the makefile and by
forcing the makefile to contain everything necessary to run imgsvr/aws,
this ensures some degree of successful-first-time-build-and-run
confidence. Yes there are differences of opinion but ultimately the
popularity of aws will rest with the number of users actually
successfully compiling the first time.  For as long as I see people
asking on the mailing-list how to compile the basic build of aws, my
observation will be there is a symptom that the makefile/configuration
isn't there yet.

I am suggesting to anyone building anything ada...aws or imgsvr or
whatever...listen to the subtleties and they will tell you something
i.e. if you get build errors when you build something off a cvs
tree..ah.  If you get build errors when building aws/imgsvr/whatever
project the first time...ah.
This shouldn't happen on any os the first time.  If the maintainers
still get feedback about unsuccessful builds, they should consider maybe
it isn't a user problem but in fact a problem somewhere in
makefile/documented-recipes.

I hope this helps.

Cheers,
David Marceau