PeterMosmans / ansible-role-customize-gnome

Ansible role that customizes the GNOME desktop. It installs fonts and GNOME extensions from packages or zip files, copies files like desktop backgrounds and GNOME shell tweaks to a host, and modifies user settings.
GNU General Public License v3.0
76 stars 20 forks source link

Shell extensions don't get updated #17

Closed grdryn closed 2 years ago

grdryn commented 2 years ago

Hi! If I install an extension, and then a new version becomes available, I can update that from extensions.gnome.org, but I don't seem to be able to get this role to update it (even if I specify the url field with the version_tag part set to the value for the newer version).

Here's a reproducer:

  1. Install an older version of an extension first:
    gnome_extensions:
    - id: 4679
    name: burn-my-windows@schneegans.github.com
    url: https://extensions.gnome.org/download-extension/burn-my-windows@schneegans.github.com.shell-extension.zip?version_tag=32456
    enable: yes
  2. Re-login to get it enabled fully (Wayland...)
  3. Try to update to the new version:
    gnome_extensions:
    - id: 4679
    name: burn-my-windows@schneegans.github.com
    url: https://extensions.gnome.org/download-extension/burn-my-windows@schneegans.github.com.shell-extension.zip?version_tag=33113
    enable: yes

Is this intentional behaviour, or would being able to update extensions be an improvement? Thanks!

PeterMosmans commented 2 years ago

Hey @grdryn , thanks for the report. Would you be so kind to specify your guest OS version, and maybe paste the relevant Ansible output here? That would help me debugging this particular issue

It's not intentional behaviour, as it should update the extension....

grdryn commented 2 years ago

@PeterMosmans I'm on Fedora 36 (Silverblue variant, with ansible running from a toolbx container in Podman, but I don't think any of that is important).

I've created #18 which I believe fixes the issue...which I think was caused by myself in 2019 in #2 :see_no_evil:

Edit: I forgot you asked for ansible output. Here it is, in case it's useful.

Installing old version first:

PLAY [silverblue] ************************************************************************************************************************************************************************************************************************************************************************ TASK [Gathering Facts] ******************************************************************************************************************************************************************************************************************************************************************* ok: [silverblue] TASK [petermosmans.customize-gnome : Parse Gnome Shell version] ************************************************************************************************************************************************************************************************************************** ok: [silverblue] TASK [petermosmans.customize-gnome : Set Gnome Shell version as parameter] *************************************************************************************************************************************************************************************************************** ok: [silverblue] TASK [petermosmans.customize-gnome : Check if Gnome Shell was detected] ****************************************************************************************************************************************************************************************************************** skipping: [silverblue] TASK [petermosmans.customize-gnome : Install (font) packages] **************************************************************************************************************************************************************************************************************************** TASK [petermosmans.customize-gnome : Ensure that target directory exists] **************************************************************************************************************************************************************************************************************** skipping: [silverblue] TASK [petermosmans.customize-gnome : Copy files] ***************************************************************************************************************************************************************************************************************************************** TASK [petermosmans.customize-gnome : Install fonts] ************************************************************************************************************************************************************************************************************************************** TASK [petermosmans.customize-gnome : Refresh font list] ********************************************************************************************************************************************************************************************************************************** ok: [silverblue] TASK [petermosmans.customize-gnome : Load Gnome extension information] ******************************************************************************************************************************************************************************************************************* included: /var/home/gryan/.ansible/roles/petermosmans.customize-gnome/tasks/get_extension_info.yml for silverblue => (item={'id': 4679, 'name': 'burn-my-windows@schneegans.github.com', 'url': 'https://extensions.gnome.org/download-extension/burn-my-windows@schneegans.github.com.shell-extension.zip?version_tag=32456', 'enable': True}) TASK [petermosmans.customize-gnome : Get Gnome Shell extension info for 4679] ************************************************************************************************************************************************************************************************************ skipping: [silverblue] TASK [petermosmans.customize-gnome : Add gnome_extension item with additional info to gnome_extensions_full] ***************************************************************************************************************************************************************************** skipping: [silverblue] TASK [petermosmans.customize-gnome : Add original gnome_extensions item to gnome_extensions_full] **************************************************************************************************************************************************************************************** ok: [silverblue] TASK [petermosmans.customize-gnome : Download GNOME Shell extensions] ******************************************************************************************************************************************************************************************************************** changed: [silverblue] => (item=burn-my-windows@schneegans.github.com) TASK [petermosmans.customize-gnome : Create GNOME extension directories] ***************************************************************************************************************************************************************************************************************** changed: [silverblue] => (item=burn-my-windows@schneegans.github.com) TASK [petermosmans.customize-gnome : Unzip GNOME extensions] ***************************************************************************************************************************************************************************************************************************** changed: [silverblue] => (item=burn-my-windows@schneegans.github.com) TASK [petermosmans.customize-gnome : Enable extensions] ********************************************************************************************************************************************************************************************************************************** ok: [silverblue] => (item=burn-my-windows@schneegans.github.com) TASK [petermosmans.customize-gnome : Modify application settings using gsettings] ******************************************************************************************************************************************************************************************************** TASK [petermosmans.customize-gnome : Modify application settings using dconf] ************************************************************************************************************************************************************************************************************ PLAY RECAP ******************************************************************************************************************************************************************************************************************************************************************************* silverblue : ok=10 changed=3 unreachable=0 failed=0 skipped=9 rescued=0 ignored=0

then attempting to install the new version:

PLAY [silverblue] ******************************************************************************************************************************************** TASK [Gathering Facts] *************************************************************************************************************************************** ok: [silverblue] TASK [petermosmans.customize-gnome : Parse Gnome Shell version] ********************************************************************************************** ok: [silverblue] TASK [petermosmans.customize-gnome : Set Gnome Shell version as parameter] *********************************************************************************** ok: [silverblue] TASK [petermosmans.customize-gnome : Check if Gnome Shell was detected] ************************************************************************************** skipping: [silverblue] TASK [petermosmans.customize-gnome : Install (font) packages] ************************************************************************************************ TASK [petermosmans.customize-gnome : Ensure that target directory exists] ************************************************************************************ skipping: [silverblue] TASK [petermosmans.customize-gnome : Copy files] ************************************************************************************************************* TASK [petermosmans.customize-gnome : Install fonts] ********************************************************************************************************** TASK [petermosmans.customize-gnome : Refresh font list] ****************************************************************************************************** ok: [silverblue] TASK [petermosmans.customize-gnome : Load Gnome extension information] *************************************************************************************** included: /var/home/gryan/.ansible/roles/petermosmans.customize-gnome/tasks/get_extension_info.yml for silverblue => (item={'id': 4679, 'name': 'burn-my-windows@schneegans.github.com', 'url': 'https://extensions.gnome.org/download-extension/burn-my-windows@schneegans.github.com.shell-extension.zip?version_tag=33113', 'enable': True}) TASK [petermosmans.customize-gnome : Get Gnome Shell extension info for 4679] ******************************************************************************** skipping: [silverblue] TASK [petermosmans.customize-gnome : Add gnome_extension item with additional info to gnome_extensions_full] ************************************************* skipping: [silverblue] TASK [petermosmans.customize-gnome : Add original gnome_extensions item to gnome_extensions_full] ************************************************************ ok: [silverblue] TASK [petermosmans.customize-gnome : Download GNOME Shell extensions] **************************************************************************************** changed: [silverblue] => (item=burn-my-windows@schneegans.github.com) TASK [petermosmans.customize-gnome : Create GNOME extension directories] ************************************************************************************* ok: [silverblue] => (item=burn-my-windows@schneegans.github.com) TASK [petermosmans.customize-gnome : Unzip GNOME extensions] ************************************************************************************************* skipping: [silverblue] => (item=burn-my-windows@schneegans.github.com) TASK [petermosmans.customize-gnome : Enable extensions] ****************************************************************************************************** ok: [silverblue] => (item=burn-my-windows@schneegans.github.com) TASK [petermosmans.customize-gnome : Modify application settings using gsettings] **************************************************************************** TASK [petermosmans.customize-gnome : Modify application settings using dconf] ******************************************************************************** PLAY RECAP *************************************************************************************************************************************************** silverblue : ok=9 changed=1 unreachable=0 failed=0 skipped=10 rescued=0 ignored=0

^as you can see in the attempt to upgrade, it skipped the unzip step. Now that I've applied #18, that "skipped" status is a "changed" status :slightly_smiling_face:

PeterMosmans commented 2 years ago

Haha, that made me laugh: You fixed an issue - then you ran into an issue, created by that issue, which you fixed.. as well :) Thanks for posting everything, and the fix. I'll merge your fix (for you bug ;) )

Have great one,

Peter

grdryn commented 2 years ago

Thanks a lot @PeterMosmans! :pray: