Impact of new builds

General discussion for players of Oolite.

Moderators: another_commander, winston

User avatar
hiran
Theorethicist
Posts: 2531
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Impact of new builds

Post by hiran »

mcarans wrote: Fri Feb 13, 2026 7:38 am
I am thinking about how to simplify the build so that new developers can understand it easily. I'm also considering how to have the version come from the GitHub release tag into the build rather than having to be hard coded in different places. So I need to get an understanding of what is being used and how.
I am striving for the same and thus open to discuss. The Github flows you improved were introduced by me to relieve developers from building manually on different platforms. However currently there is impact.

Could we restore functionality and then discuss how to simplify?
Sunshine - Moonlight - Good Times - Oolite
User avatar
Lone_Wolf
---- E L I T E ----
---- E L I T E ----
Posts: 783
Joined: Wed Aug 08, 2007 10:59 pm
Location: Netherlands

Re: Impact of new builds

Post by Lone_Wolf »

another_commander wrote: Fri Feb 13, 2026 7:01 am
I am preparing a zipped 1.92 source code tarball and am going to add the manifest file (the one normally created during build) inside it. Resources will be included too. Hopefully this will help with the issue.

Edit: Uploaded source code tarball https://github.com/OoliteProject/oolite ... e-1.92.zip
Manifest file can be found inside the Resources folder.
Content of the Resources folder in that file :

Code: Select all

AIs
Binary
Config
Scenarios
Scripts
Shaders
AIReference.html
InfoPlist.strings
manifest.plist
oolite-document.icns
oolite-expansion-document.icns
oolite-icon.icns  
README.TXT
Hiran, is that enough to create the expansion catalog from ?
OS : Arch Linux 64-bit - rolling release

From: The Netherlands, Europe

OXPs : My user page (needs updating)

Retired, occasionally active
User avatar
hiran
Theorethicist
Posts: 2531
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Impact of new builds

Post by hiran »

Lone_Wolf wrote: Fri Feb 13, 2026 11:20 am
another_commander wrote: Fri Feb 13, 2026 7:01 am
I am preparing a zipped 1.92 source code tarball and am going to add the manifest file (the one normally created during build) inside it. Resources will be included too. Hopefully this will help with the issue.

Edit: Uploaded source code tarball https://github.com/OoliteProject/oolite ... e-1.92.zip
Manifest file can be found inside the Resources folder.
Content of the Resources folder in that file :

Code: Select all

AIs
Binary
Config
Scenarios
Scripts
Shaders
AIReference.html
InfoPlist.strings
manifest.plist
oolite-document.icns
oolite-expansion-document.icns
oolite-icon.icns  
README.TXT
Hiran, is that enough to create the expansion catalog from ?
That's what I was asking for, yes. It does not prevent that I have to make adaptions as the structure is not identical to the MacOS build I had used before - but that is no showstopper.

I'd like the file to be autogenerated so we can be sure it always exists and has the same structure. The name of the file is not important either - but calling it source would imply it is a dump of the repository where some of the content is not part of the repo. From my desk this looks misleading. But as said, it's not that important.
Sunshine - Moonlight - Good Times - Oolite
User avatar
hiran
Theorethicist
Posts: 2531
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Impact of new builds

Post by hiran »

I downloaded and inspected the new file oolite-1.92.zip. It contains the required files. It also contains traces of having been handcrafted.

With the oolite-1.90.zip I used to processed the path /Oolite.app/Contents/Resources/
With the oolite-1.92.zip I now need to process the path /oolite.app/Contents/Resources/

As the indexing runs on a Linux build machine the case matters. I would need to know whether this is a typo that will be corrected or if it is the future directory structure and thus the indexing process needs to access the new location.
And such little differences are what can break automation completly - the reason why I'd like to have this new file produced by the build process automatically.
Sunshine - Moonlight - Good Times - Oolite
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 7151
Joined: Wed Feb 28, 2007 7:54 am

Re: Impact of new builds

Post by another_commander »

The source code zip is just a zipped up full git checkout of the oolite repository at the 1.92 tag, including all submodules. The manual interventions are the deletion of the .git folder (not needed for the purposes of this zip) and the addition of the manifest file in the Resources folder. Everything else is exactly as it currently stands in github.

I would suggest using the 1.92 source zip as reference. There are no typos there, it is what's in the source at this moment.
User avatar
hiran
Theorethicist
Posts: 2531
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Impact of new builds

Post by hiran »

With all due respect, when I try to follow your instructions the result looks different than what you present.

Code: Select all

git clone --branch 1.92 --filter=blob:none --recurse-submodules https://github.com/OoliteProject/oolite.git
[...]
find -name .git -print -delete
[...]
touch oolite/Resources/manifest.plist
find -maxdepth 2
.
./oolite
./oolite/README.md
./oolite/Mac-specific
./oolite/Resources
./oolite/DebugOXP
./oolite/GNUmakefile
./oolite/.relative_gitmodules
./oolite/.github
./oolite/Doc
./oolite/files.make
./oolite/tools
./oolite/.travis.yml
./oolite/Makefile
./oolite/config.make
./oolite/GNUmakefile.postamble
./oolite/deps
./oolite/installers
./oolite/tests
./oolite/.gitmodules
./oolite/flags.make
./oolite/.gitattributes
./oolite/.eslintrc.json
./oolite/Oolite.xcodeproj
./oolite/debian
./oolite/libjs.make
./oolite/ShellScripts
./oolite/Schemata
./oolite/src
./oolite/.git
./oolite/package.json
./oolite/Doxyfile
./oolite/.gitignore
There is a folder ./oolite/Resources. But there is neither one of
- /Oolite.app/Contents/Resources/
- /oolite.app/Contents/Resources/

Where do these come from?

So two manually created files
- https://github.com/OoliteProject/oolite ... e-1.92.zip
- https://github.com/OoliteProject/oolite ... e-1.92.zip

Both of them claim to have been created with a minimum effort. And the structure differs enough that I would not know which one to take as authorative.
Sunshine - Moonlight - Good Times - Oolite
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 7151
Joined: Wed Feb 28, 2007 7:54 am

Re: Impact of new builds

Post by another_commander »

hiran wrote: Sun Feb 15, 2026 7:16 pm
There is a folder ./oolite/Resources. But there is neither one of
- /Oolite.app/Contents/Resources/
- /oolite.app/Contents/Resources/

Where do these come from?
Probably created at build time for the now obsolete Mac version. There are no folders named "Contents" in the current source code.
So two manually created files
- https://github.com/OoliteProject/oolite ... e-1.92.zip
- https://github.com/OoliteProject/oolite ... e-1.92.zip

Both of them claim to have been created with a minimum effort. And the structure differs enough that I would not know which one to take as authorative.
The first one was created by phkb as a quick and dirty solution to allow for the expansions indexing mechanism to work again. I have not downloaded it but I can imagine it was based on the previous Mac binaries' structure.

The second one is an actual source code dump. Since we do not have Mac builds anymore, this is the one that should be taken as authoritative.
User avatar
hiran
Theorethicist
Posts: 2531
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Impact of new builds

Post by hiran »

another_commander wrote: Sun Feb 15, 2026 7:40 pm
hiran wrote: Sun Feb 15, 2026 7:16 pm
There is a folder ./oolite/Resources. But there is neither one of
- /Oolite.app/Contents/Resources/
- /oolite.app/Contents/Resources/

Where do these come from?
Probably created at build time for the now obsolete Mac version. There are no folders named "Contents" in the current source code.
So two manually created files
- https://github.com/OoliteProject/oolite ... e-1.92.zip
- https://github.com/OoliteProject/oolite ... e-1.92.zip

Both of them claim to have been created with a minimum effort. And the structure differs enough that I would not know which one to take as authorative.
The first one was created by phkb as a quick and dirty solution to allow for the expansions indexing mechanism to work again. I have not downloaded it but I can imagine it was based on the previous Mac binaries' structure.

The second one is an actual source code dump. Since we do not have Mac builds anymore, this is the one that should be taken as authoritative.
I just downloaded the second file again. Has it changed? Nevertheless, now it matches the structure I get when executing the above statements.
With that I can change OoliteAddonScanner to download such files and access the correct path. We just need to ensure that future builds also provide that zip.
Sunshine - Moonlight - Good Times - Oolite
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 7151
Joined: Wed Feb 28, 2007 7:54 am

Re: Impact of new builds

Post by another_commander »

hiran wrote: Sun Feb 15, 2026 9:19 pm
I just downloaded the second file again. Has it changed?
No, it was uploaded only once and not changed since.
Nevertheless, now it matches the structure I get when executing the above statements.
With that I can change OoliteAddonScanner to download such files and access the correct path. We just need to ensure that future builds also provide that zip.
Please let us know when you have adjusted the OAS to use the new paths so that we can remove the Oolite-1.92.zip file from the release.
User avatar
hiran
Theorethicist
Posts: 2531
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Impact of new builds

Post by hiran »

OoliteAddonScanner v1.0.87 is released. Catalog generation just ran successfully.
We have indexed Oolite 1.92, and the catalog is not empty.

https://ooliteproject.github.io/oolite- ... .core.html

With that the oolite-1.92.zip file can be removed.
Sunshine - Moonlight - Good Times - Oolite
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 7151
Joined: Wed Feb 28, 2007 7:54 am

Re: Impact of new builds

Post by another_commander »

Thank you! oolite-1.92.zip has been removed.
User avatar
mcarans
---- E L I T E ----
---- E L I T E ----
Posts: 679
Joined: Sun Jun 20, 2010 6:00 pm

Re: Impact of new builds

Post by mcarans »

hiran wrote: Mon Feb 16, 2026 7:21 pm
OoliteAddonScanner v1.0.87 is released. Catalog generation just ran successfully.
We have indexed Oolite 1.92, and the catalog is not empty.

https://ooliteproject.github.io/oolite- ... .core.html

With that the oolite-1.92.zip file can be removed.
another_commander wrote: Mon Feb 16, 2026 7:49 pm
Thank you! oolite-1.92.zip has been removed.
Great news! One less file in the releases simplifies it a bit.

If we are able in future to move to a monorepo instead of Git submodules, then presumably the auto generated "Source code (zip)" will be the same as "oolite-source-*.zip" file so the latter won't be needed?
User avatar
hiran
Theorethicist
Posts: 2531
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Impact of new builds

Post by hiran »

mcarans wrote: Mon Feb 16, 2026 8:56 pm
If we are able in future to move to a monorepo instead of Git submodules, then presumably the auto generated "Source code (zip)" will be the same as "oolite-source-*.zip" file so the latter won't be needed?
I agree. Since we do not have a monorepo, how can we make sure the "Source code (zip)" in future versions will contain what the one for v1.92 does?
Sunshine - Moonlight - Good Times - Oolite
User avatar
mcarans
---- E L I T E ----
---- E L I T E ----
Posts: 679
Joined: Sun Jun 20, 2010 6:00 pm

Re: Impact of new builds

Post by mcarans »

hiran wrote: Mon Feb 16, 2026 9:28 pm
mcarans wrote: Mon Feb 16, 2026 8:56 pm
If we are able in future to move to a monorepo instead of Git submodules, then presumably the auto generated "Source code (zip)" will be the same as "oolite-source-*.zip" file so the latter won't be needed?
I agree. Since we do not have a monorepo, how can we make sure the "Source code (zip)" in future versions will contain what the one for v1.92 does?
According to AI "What IS included (in Source code (zip))

All tracked files: Every file and folder currently committed to the repository at that specific tag/commit.

The directory structure: The folder hierarchy is preserved exactly as it appears in your main or master branch.

License and README: These are included just like any other source file."

To make the move to a monorepo, we should first delete any binaries that are no longer required by the modern builds. Then it's a just a case of making directories corresponding to the same locations as the pruned submodules. The biggest submodule is probably Resources/Binary at around 115Mb (according to AI) so this process won't add a lot to the Oolite repo by today's standards.

Actually there is one earlier step that would be advisable - for the Windows build to become modern only and drop the legacy build otherwise the old dlls and all espeak data will need to be checked into the Oolite repo.
User avatar
hiran
Theorethicist
Posts: 2531
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Impact of new builds

Post by hiran »

mcarans wrote: Tue Feb 17, 2026 1:09 am
hiran wrote: Mon Feb 16, 2026 9:28 pm
mcarans wrote: Mon Feb 16, 2026 8:56 pm
If we are able in future to move to a monorepo instead of Git submodules, then presumably the auto generated "Source code (zip)" will be the same as "oolite-source-*.zip" file so the latter won't be needed?
I agree. Since we do not have a monorepo, how can we make sure the "Source code (zip)" in future versions will contain what the one for v1.92 does?
According to AI "What IS included (in Source code (zip))

All tracked files: Every file and folder currently committed to the repository at that specific tag/commit.

The directory structure: The folder hierarchy is preserved exactly as it appears in your main or master branch.

License and README: These are included just like any other source file."

To make the move to a monorepo, we should [...]
I'm afraid I am not there yet. My worry is that by the next release of Oolite we forgot a manually added oolite-source.zip is required and we will start over this discussion.

Let's have the github workflow automatically create that file. AFAIK it is the repo content including submodules bar one file. Your AI agent neglected that part. Thus Github's automatically generated Source.zip will never deliver the required file.
Sunshine - Moonlight - Good Times - Oolite
Post Reply