[M3devel] [M3commit] log messages for committed changes
Tony Hosking
hosking at cs.purdue.edu
Fri Jun 26 20:17:21 CEST 2009
For M3 system development tools like m3cgcat m3cggen, standalone is
generally best. True, most users don't need to ship those tools.
On 26 Jun 2009, at 12:40, Jay wrote:
>
> I was thinking of starting an email thread on this.
>
>
> I believe the reasons to make things standalone are:
>
> - unshipped built-global tools run during the build, such as
> m3bundle, stub generators, PklFonts, etc.
> I think these could be addressed but it'd take some work.
>
>
> - "Tony's convenience", still being discussed.
> A think this was a stronger case prior to -rpath where having
> "separate runnable backups"
> was more difficult. Or perhaps still since -rpath isn't yet
> everywhere, AMD64_DARWIN in particular.
> Personally when I revert to a backup I copy it back to the real
> place, sometimes
> with an entire package store,
> but it is reasonable to not have to do that, and even reasonable
> to reduce it to one file
> instead of roughly three in two directories.
> This would really only apple to cm3 and m3cgcat. For it to
> include m3cggen would
> definitely be surprising.
> It is also "nice to have" cm3 statically linked because when
> cross building to a new
> platform, you don't have to get shared libraries working before
> running cm3. But
> you could toggle that for this scenario.
>
> I had thought there was also a requirement around bootstrapping
> from an older
> build, where old cm3 can't build new m3core/libm3, but I don't
> see that now.
>
> - inability on some platforms to ship in use files, could be worked
> around, but
> partly related to previous, and more than that; in particular cm3
> shouldn't ship
> m3core.so/libm3.so that it uses, if you intend to run that cm3
> again
>
>
> - possibly so they can be redistributed with fewer files
> This is the typical reason in the larger world for reducing
> dynamic linking,
> as well to be independent of changes to those files.
> But I don't think "we" intend that to happen for "our" stuff.
> And I think we intend for now to always ship everything together,
> so versioning and compatibility can be ignored. I think.
> There are still a few sprinkled standalones, like in games.
> Which is why I was going to start email.
> If someone really wanted to copy solitaire around without
> installing its dependencies,
> rebuild it from source?
>
>
> - cminstall, because it runs so early
> Though this could be addressed via -rpath = $ORIGIN and putting
> the .so files it needs next to it, and not duplicating them.
>
>
> The reason to make things not standalone is several efficiency gains.
> You share the code in memory, you share it on disk, you don't copy
> it around
> as many times, locally or over the network. The savings are
> generally pretty large.
>
>
> - Jay
>
>
> ________________________________
>> Date: Fri, 26 Jun 2009 12:24:47 -0400
>> From: rcolebur at scires.com
>> To: m3commit at elegosoft.com; m3devel at elegosoft.com
>> Subject: [M3commit] log messages for committed changes
>>
>>
>>
>>
>>
>>
>>
>> Hey, I've seen several of these type messages (see below). My
>> question is "WHY"? Just to state that it doesn't need to be
>> standalone begs the question why was it made standalone in the
>> first place and what is the reason why it no longer needs to be
>> that way.
>>
>>
>>
>> Maybe this is part of a larger rant on my part, but when folks
>> commit changes, I would encourage everyone to provide some
>> rationale and detail in the log message.
>>
>>
>>
>> There are few people like Olaf and Tony that have enough
>> perspective with the whole system to be able to look at the details
>> of what was changed and try to reverse something that goes against
>> core principals or that will cause problems elsewhere. For the rest
>> of us, and for documentation of the system evolution, it is
>> important that the log messages be as detailed as possible, at
>> least to give the rationale why a change is being made. I know
>> documentation is not glamorous and doesn't directly affect the
>> code, but it is nonetheless important, and if done well can be a
>> real benefit.
>>
>>
>>
>> Thanks for listening. I'll step down off my soapbox now.
>>
>>
>>
>> Regards,
>>
>> Randy Coleburn
>>
>>
>>>>> Jay Krell 6/26/2009 10:12 AM>>>
>> CVSROOT:/usr/cvs
>> Changes by:jkrell at birch.09/06/26 10:12:42
>>
>> Modified files:
>> cm3/m3-sys/m3cgcat/src/: m3makefile
>>
>> Log message:
>> This doesn't need to be standalone.
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20090626/b74eb086/attachment-0002.html>
More information about the M3devel
mailing list