Commit graph

52 commits

Author SHA1 Message Date
fiftydinar
61b3c35d57 chore(gnome-extensions): Add "null" if condition for QUIERIED_EXT in uninstall 2024-06-11 11:18:50 +02:00
fiftydinar
02922a7e04 fix(gnome-extensions): Usage of INSTALL_EXT instead of UNINSTALL_EXT in uninstall 2024-06-11 11:13:10 +02:00
fiftydinar
a7024ba475
feat(gnome-extensions): Add PK ID recipe input support (#249)
* chore(gnome-extensions): Make extension URL quering more robust

If there are multiple Gnome extensions with the same name, & they are compatible with Gnome version in the base image, then build will fail.

Previously, build would always fail if there are extensions with duplicate names.

* docs(gnome-extensions): Fix typo

* docs(gnome-extensions): Mention github repo

* fix(gnome-extensions): Version checking

* chore(gnome-extensions): Make operation order better for reading

* feat(gnome-extensions): Use new PK ID installation method

* fix(gnome-extensions): Unbound variable error

* fix(gnome-extensions): Legacy config order logic

* docs(gnome-extensions): Fix spacing

* docs(gnome-extension): Delete false-claim about better config readability

* chore(gnome-extensions): Add safe check for "null" in if `jq` parsing

* chore(gnome-extensions): Update uninstall step to use PK

This will break config for uninstalling extensions in literal names, but I bet that no one uses this feature yet since this extension is still new & fresh, so I'll just break it.

* Revert to the current module state

* docs(gnome-extensions): Add README details about missing gschema.compiled file

* chore(gnome-extensions): Introduce hybrid literal-name/PK config

If 2 or more same-named extensions are recommended, then user is recommended to use PK ID instead.

* chore(gnome-extensions): Ignore ShellCheck 2128 error, since it's harmless & intended

* chore(gnome-extensions): Also ignore harmless SC2178 notice

* chore(gnome-extensions): Use UUID for matching compiled.gschema workaround rather than extension name

* docs(gnome-extensions): Add note in module.yml that PK can be used
2024-06-05 13:29:20 +00:00
Andrey Brusnik
cea8f62efa
fix(gnome-extensions): Fix x2 workaround for Fly-Pie
EXT_UUID is undefined too in legacy config logic
2024-06-02 04:09:39 +04:00
Andrey Brusnik
0dc909a911
fix(gnome-extensions): Fix workaround for Fly-Pie
INSTALL_EXT is undefined in legacy config logic, but EXTENSION_NAME is defined here
2024-06-02 03:58:29 +04:00
fiftydinar
4c028bb1d8 fix(gnome-extensions): Fly-Pie extension not working pt.2
Forgot that this one also doesn't include `gschemas.compiled` in ZIP, unlike some extensions, so just compile the schema always to the UUID extension directory.
2024-06-02 00:58:46 +02:00
fiftydinar
f50b02db2b fix(gnome-extensions): Fly-Pie extension not working
It requires hard-coded compiled schema to be in extension UUID folder, else it fails.

Rest of the explanation can be seen in code comments.
2024-06-02 00:27:33 +02:00
fiftydinar
5df21fac2b docs(gnome-extensions): Fix README title formatting 2024-05-28 00:51:52 +02:00
fiftydinar
fd5e46fbe4 fix(gnome-extensions): Fix all jq commands 2024-05-27 22:04:59 +02:00
fiftydinar
b9e10da0f8 chore(gnome-extensions): Remove -I=0 flag, since it might be incompatible with jq 2024-05-27 21:11:47 +02:00
fiftydinar
7332928506
docs(gnome-extensions): Make caution about legacy configuration clearer
Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
2024-05-27 21:08:08 +02:00
fiftydinar
a0dab808f6
chore(gnome-extensions): Remove unneded ending log print
Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
2024-05-27 21:07:21 +02:00
fiftydinar
8f4857c8a6
chore(gnome-extensions): Remove unneded to-do comment
Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
2024-05-27 21:05:50 +02:00
fiftydinar
8fa97b5892 chore(gnome-extensions): Use jq instead of yq for parsing JSON 2024-05-27 21:03:25 +02:00
fiftydinar
64570aed40 fix(gnome-extensions): There is no need to use echo when bash substitution exists
Thanks to ShellCheck
2024-05-27 10:41:42 +02:00
fiftydinar
5ca57235bf fix(gnome-extensions): Use echo only, ditch sed for whitespace replace
Why use `sed` when `echo` can be utilized.

Thanks to ShellCheck.
2024-05-27 10:33:59 +02:00
fiftydinar
6c7ca18921 fix(gnome-extensions): Syntax errors reported by ShellCheck 2024-05-27 10:23:16 +02:00
fiftydinar
22f18acd65 chore(gnome-extensions): Add safe-check for main extension directory on uninstallation 2024-05-27 10:19:38 +02:00
fiftydinar
629ab53d52 refactor(gnome-extensions): Support for automatic install of latest Gnome extensions
Also adds support for uninstalling extensions.

Legacy config is still compatible, but it is advised to migrate to latest config. Users are warned about this in logs.

I find this pretty much ready, except I think about something down below.

Latest Gnome extension version, that is compatible with Gnome version of the image, is installed by default.
Legacy config format can be used to have this support, but I want to depreciate legacy config format in the future.
So Idk If I should add this feature as an option in new config format.
It can be useful in case of some extension regressions.
2024-05-27 10:04:08 +02:00
fiftydinar
774c9a8d55 chore(gnome-extensions): Add check if Gnome DE is used 2024-05-05 22:39:20 +02:00
fiftydinar
a7a78bda0e docs(gnome-extensions): Add missing step where gschema is compiled 2024-04-11 21:59:14 +02:00
fiftydinar
47b371c3b7 fix(gnome-extensions): Stupid missing quote 2024-04-11 21:31:26 +02:00
fiftydinar
00204a1114 fix(gnome-extensions): Extensions can't see gschema.xml, even when it's present
Gschema needs to be compiled also.

It worked for me initially, because I use `gschema-overrides` module after `gnome-extensions`, which does the same thing.

So I missed this crucial step.
2024-04-11 21:22:37 +02:00
fiftydinar
a1297a2ebd fix(gnome-extensions): Fix wget directory prefix 2024-04-11 19:39:48 +02:00
fiftydinar
305342eb3d fix(gnome-extensions): Make folder if it doesn't exist for archive 2024-04-11 19:30:58 +02:00
fiftydinar
d964693898 fix(gnome-extensions): Use wget instead of curl
`wget` might be more reliable for downloading things, which is performed in this module.

Some user faced the error with extension that didn't download fully, causing the `unzip` command to fail.
I tested the same extension & it installed successfully for me.

This was maybe a server error, maybe `curl`'s, but I will still do this change, as I have more trust in `wget` for strictly downloading things.
2024-04-11 19:22:07 +02:00
fiftydinar
b4af81b28e fix(gnome-extensions): Don't require extensions gschema file
Some extensions simply don't have preferences.
2024-04-10 21:27:20 +02:00
fiftydinar
16a96c22fc
docs: Make extensions with additional dependencies section even better
Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
2024-04-10 19:15:03 +02:00
fiftydinar
5cc81a489b docs: Fix grammar in logs for non-specified module input 2024-04-10 19:13:19 +02:00
fiftydinar
47c99acfe6 docs: Get rid of unnecessary comments in module.yml 2024-04-10 19:12:06 +02:00
fiftydinar
eac23050ad docs: Add explanation on how to install additional system dependencies if needed for extension 2024-04-10 19:06:55 +02:00
fiftydinar
2f14404e06 docs: Get rid of redundant Usage instructions 2024-04-10 18:54:13 +02:00
fiftydinar
bb56fb94a8 style: Make "DONE" in logs symmetric & get rid of gettext-domain term 2024-04-10 18:50:27 +02:00
fiftydinar
2f711abb2a
docs: Change title to be clearer & to avoid gettext-domain & module-input terms
Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
2024-04-10 18:29:21 +02:00
fiftydinar
4578c2f024
docs: Add clearer Usage instructions
Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
2024-04-10 18:27:25 +02:00
fiftydinar
2004690aa6
docs: Use "releases" term instead of "end-releases"
Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
2024-04-10 18:11:31 +02:00
fiftydinar
5e393fee44 docs: Update "Usage" with more accurate steps on how to get the recipe input 2024-04-09 19:44:30 +02:00
fiftydinar
10f53b27e6 fix: Revert icons installation
It's more reliable to have them in main extension folder instead

They appear to work.
2024-04-09 14:21:06 +02:00
fiftydinar
5b4b47e6e0 style: Make icons log more readable 2024-04-09 14:07:49 +02:00
fiftydinar
6f8cef496c feat: Copy icons if they exist & add better checks for gschema 2024-04-09 13:58:53 +02:00
fiftydinar
1ed844fd85 fix: Get rid of gettext-domain key, install key is already sufficient 2024-04-09 09:09:43 +02:00
fiftydinar
c2ffe9c20e style: Add more info about which extension is installed in logs 2024-04-09 09:05:42 +02:00
fiftydinar
ae1a7b53bf docs: "Almost all" extensions compatibility is true now. 2024-04-08 22:19:52 +02:00
fiftydinar
5ab351bfda fix: Get rid of SCHEMA_ID dependency!
gschema.xml can be copied without knowing the original name.
2024-04-08 22:16:46 +02:00
fiftydinar
a71bd6cc55 feat: Add full extension name for most error logs 2024-04-08 21:32:00 +02:00
fiftydinar
e6caae30f6 docs: Rephrase Gnome compatibility sentence better 2024-04-08 20:59:48 +02:00
fiftydinar
95724f2fc5 fix: Don't repeat "Gnome version" log multiple times 2024-04-08 20:53:32 +02:00
fiftydinar
dc6e0c34ee docs: Add note in Known Issues that safe-check is implemented 2024-04-08 20:45:30 +02:00
fiftydinar
c8634b9787 feat: Fail the module if some crucial metadata.json info is missing 2024-04-08 20:40:07 +02:00
fiftydinar
e8c72c87b4 docs: Make advantages compared to RPMs clearer 2024-04-08 20:09:29 +02:00