Fix autostart after multiple snap updates #127
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #128.
Исправлена проблема, суть которой в следующем: символическая ссылка на .desktop файл создаётся в $SNAP_USER_DATA/.config/autostart/ только во время первого запуска после установки и не изменяется после обновлений snap пакета. Snapd хранит только две ревизии $SNAP_USER_DATA: текущую и предыдущую. К примеру мы установили пакет с ревизией 90. В /home/user/snap/indicator-sound-switcher/ создаётся директория 90 и $SNAP_USER_DATA указывает на эту директорию. После первого запуска программы в $SNAP_USER_DATA/.config/autostart/ создаётся символическая ссылка на /snap/indicator-sound-switcher/90/share/applications/indicator-sound-switcher.desktop. Далее мы обновляем snap пакет на ревизию 91, но символическая ссылка $SNAP_USER_DATA/.config/autostart/indicator-sound-switcher.desktop будет указывать на .desktop файл из предыдущей ревизии - /snap/indicator-sound-switcher/90/share/applications/indicator-sound-switcher.desktop. Пока что всё нормально. Но при следующем обновлении на ревизию 92, директория с ревизией 90 удаляется(/snap/indicator-sound-switcher/90/) и теперь наша ссылка указывает на несуществующую директорию и как следствие автозапуск перестаёт работать
Также внёс небольшие изменения в snapcraft.yaml. Во-первых при сборке на современных версиях snapcraft ругается на то, что в секции stage указаны директории. А во-вторых ругается на директиву python-version, которая судя по всему становится deprecated