Skip to content

Add automatic excludelist updating at runtime and ignore-excludelist CLI option#287

Open
Korne127 wants to merge 2 commits intolinuxdeploy:masterfrom
Korne127:master
Open

Add automatic excludelist updating at runtime and ignore-excludelist CLI option#287
Korne127 wants to merge 2 commits intolinuxdeploy:masterfrom
Korne127:master

Conversation

@Korne127
Copy link

This pull request adds an automatic excludelist updating mechanism at runtime.

With this pull request, each time the linuxdeploy command is invoked, it will try to download the current version of the excludelist, parse it and save it as a vector. If any of these steps fail, a warning is emitted.
For each library that should be tested against the excludelist, the newly downloaded excludelist will be used if it has been saved correctly, and the pre-packaged excludelist otherwise.

This feature is added because of the reasons stated in #286: Currently, it requires a new linuxdeploy version to be shipped and downloaded / used by everyone in order for excludelist changes to take effect. This also means that updates have to "trickle down" (e.g. when someone uses a framework like tauri that itself uses linuxdeploy) and it creates a single point of failure (a possible missing new linuxdeploy version).

This fixes #286.

Korne127 added 2 commits July 25, 2024 02:10
An automatic excludelist updating mechanism has been added at runtime.

To do this, each time the linuxdeploy command is invoked, it now tries to download the current version of the excludelist, parses it and saves it as a vector. If any of these steps fail, a warning is emitted.

For each library that should be tested against the excludelist, the newly downloaded excludelist is now used if it has been saved correctly, and the pre-packaged excludelist otherwise.

This feature has been added as previously, it had required a new linuxdeploy version to be shipped and downloaded / used by everyone in order for excludelist changes to take effect. This also meant that updates had to "trickle down" (e.g. when someone uses a framework like tauri that itself uses linuxdeploy) and it created a single point of failure (a possible missing new linuxdeploy version).
A new CLI option (--ignore-excludelist) has been added to linuxdeploy. When using it, the excludelist of the core libraries is ignored and the core libraries that are depended upon are included in the AppDir.
The excludelist updating will only take place if this option is not set (as it's not necessary otherwise).

Additionally, the code quality has been improved.
@Korne127 Korne127 changed the title Add automatic excludelist updating at runtime Add automatic excludelist updating at runtime and ignore-excludelist CLI flag Aug 24, 2024
@Korne127
Copy link
Author

I just updated this to also add an ignore-excludelist CLI option (which will, if used, lead to core libraries that are depended upon being included in the AppDir). The excludelist updating will only take place if this option is not set (as its not necessary if it's set).

@Korne127 Korne127 changed the title Add automatic excludelist updating at runtime and ignore-excludelist CLI flag Add automatic excludelist updating at runtime and ignore-excludelist CLI option Aug 24, 2024
@Korne127
Copy link
Author

Korne127 commented Dec 5, 2024

@TheAssassin Do you think this can be merged or do you want som changes? I think that especially the ignore-excludelist parameter is really useful for specific purposes in which you might want to do that so you don't have to combine linuxdeploy with other tools like go-appimage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Excludelist doesn't automatically update during runtime

1 participant