-
-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rework loadups so that the loadup-all.sh process can be restarted from the various stages. Add template for lfg loadups. #1958
base: master
Are you sure you want to change the base?
Conversation
…lso addded a skeleton loadup-lfg-from-full.sh
from PR #1948 loadup changes, please set HELPTIME to 0, change CLOS::LOAD-CLOS to IL: package. |
I fetched this branch and tried doing a build: scripts/loadup-full.sh. It said success, but TEDIT and some other things (cd commands) were not included in the makesys. And after the script ran, there were a bunch of new discardable files in the loadups/build/ directory. |
It failed during loadup-aux. The
Then I deleted the contents of the |
I’m seeing the same thing. The whereis problem tends to show up when there is an earlier failure that caused some of the files (like WHEREIS) not to be loaded, even thought the build seemed to go through.
… On Jan 7, 2025, at 3:43 PM, Matt Heffron ***@***.***> wrote:
I got this branch.
i.e., copied my medley repo folder (at the master branch), then checked out fgh_loadups-rework branch.
I deleted the contents of the loadups folder.
in Ubuntu shell, I cd to the scripts folder
./loadup-all.sh
It failed during loadup-aux. The whereis.dribble contains:
XCL::WHERE-IS-NOTICE is an undefined function.
3_
NIL
3_ (IL:LOGOUT T)
Then I deleted the contents of the loadups folder, checked out the master branch, and repeated the .\loadup-all.sh as above. It succeeded, but there were several warnings/errors in the whereis.dribble (attached).
whereis.dribble.txt <https://github.com/user-attachments/files/18339685/whereis.dribble.txt>
The full.sysout ran seemingly fine.
—
Reply to this email directly, view it on GitHub <#1958 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AQSTUJI4DLWHKM4M3HUKGND2JRRCZAVCNFSM6AAAAABUVISGBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNZWGQZTENZSHE>.
You are receiving this because you were mentioned.
|
| sed -e "s#${MEDLEYDIR}/##g" | ||
fi | ||
|
||
if [ -f "${LOADUP_WORKDIR}"/RDSYS ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this be checking for RDSYS.LCOM before trying to cpv it?
This PR reworks the loadup scripts so that the loadup process can be "restarted" from an existing sysout.
You now call loadup-all.sh with the following flags:
All flags and parameters have alternative forms (e.g., -s or -start or --start). The first set of flags specifies the target sysout. The set of options to -s specifies the sysout to start building from. The -noaux option prevents the building of the whereis.database and exports.all when building full.sysout. Defaults are -full and -s scratch.
Example - builds the full.sysout starting with the existing lisp.sysout
Example - builds the lfg sysout starting from scratch
How this works:
All work is now done in the /loadups/build directory (so can only run one loadup at a time - no checks for this now).
On successful completion of loadup-all run, the sysouts and a few other files are copied into /loapdups. The dribble files are not copied. The result of this is that the loadups directory can easily have "inconsistent" sysouts - e.g., the lisp.sysout and the apps.sysout are based on different medley commits.
When you specify a starting stage - it looks for the corresponding sysout first in loadups/build and then in loadups (which it then copies into loadups/build). If the sysout is not found in either place, it errors out (although we should eventually have it recursively build the required starting sysout until it find an existing starting sysout).
The SYSOUTCOMMITS mechanism had to be changed since there is no guarantee that e.g., lisp.sysout and full.sysout are built on the same commit. So (ASSOC 'MEDLEY SYSOUTCOMMITS) now returns an assoc list of sysouts, e.g., ((INIT "aaa")(LISP "bbb")(FULL "ccc")(APPS "ddd")), showing the commits for the various layers of the loadup. [The whole SYSOUTCOMMITS mechanism is a bit problematic in loadups and needs to be discussed.]
@rmkaplan There is a template loadup-lfg-from-full.sh. But we need to discuss specifics about how to do the lfg loadup and how the lfg and medley dirs are p=located relative to each other.