tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

HEADS-UP: Recent atari install floppy overflow



I notice in the most recent builtbot build of current, the atari build failed
because of install floppy overflow.

   [Several arm builds failed as well, but those look to be from an entirely
    unrelated reason, and were failing earlier for the same reason.]

This recent build would have included my recent changes to test(1) (which
get included in /bin/sh which will certainly be included in that floppy image)
and make it a little bigger, and could easily be the cause of the overflow
(these things tend to be very very tight).

floppy shells are built with -DSMALL (or -DTINY which includes -DSMALL)

There are two things I can do ...

1) I can make the new changes valish if -DSMALL so the SMALL /bin/sh is
(close enough to) exactly the same as it was before.   It would continue to
perform incorrecly (the reason for the change) in some odd cases, but if they
have never caused issues for install media before, they are unlikely to in
the future either.

2) I can make the "other code" (the fallback code, for when test usage is
of a form that gives unspecified - but traditional - results) go away when 
compiled -DSMALL (or perhaps -DTINY).   This would make test (and hence
sh) smaller than it was before (the fallback method takes much more effort
to get "correct") - but has the side effect that many old form uses of test 
would then be simply errors, and need to be updated (updating is always
possible, it just means locating every case and changing the usage to use
shell operators rather than test operators).    As option 2x I could make the
fallback code go away with -DSMALL, and even some of the (more or less
useless) standards conformant code go away with -DTINY (this would
delete uses like
	test \( "$arg" \)
which is conformant, but entirely a waste of time, the parentheses that
are given achieve nothing at all, and could simply be omitted to give the
same result.    That would make the TINY test (and sh) even smaller, with
no effects that couldn't easily be worked around.

Which is preferred?

Note that if I do (2) (the clean/correct way) the fallout will affect *all* 
ports that use a -DSMALL (or perhaps -DTINY) /bin/sh anywhere in
the installation builds.   That is, not just the atari build.   They will all
benefit from the smaller sh, and all need to deal with fixing scripts
(like /etc/rc relted stuff in the install media) which breaks because of it.

Neither of these fixes will affect the eventual installed system.

kre

ps: please reply only to current-users (or current-users and me) - I included
all the other lists in this message so it would be seen by everyone relevant.



Home | Main Index | Thread Index | Old Index