Thanks to visit codestin.com
Credit goes to github.com

Skip to content

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

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

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

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