Quickshell automatic rebuild
Qt6を最新化したらquickshellが起動しなくなりました。quickshellとQt6の整合性が崩れたことが原因なのでQt6の更新と連動してquickshellをリビルドするようにしてみました。
環境
- Arch Linux
- qt6
- quickshell
事象
Qt6が更新されるとquickshellが起動しなくなる。
> qs |
Incompatibility with new Qt version
https://github.com/quickshell-mirror/quickshell/issues/208
対策
元々、quickshellには標準フック(/usr/share/libalpm/hooks/quickshell-check.hook)が存在しています。
[Trigger] |
システムのアップデートの際に標準フックは起動するものの、その中で/usr/bin/quickshellが起動できない状態でエラーになっていました。
(19/24) Querying Quickshell compatibility after Qt6 update... |
暫定的に標準のフックを無効化し、代替のフックでquickshellをリビルドするようにします。
設定手順
- quickshellの標準フックと同じファイル名で自動リビルド用フックの作成
/etc/pacman.d/hooks/quickshell-check.hook [Trigger]
Operation = Upgrade
Type = Package
Target = qt6-base
[Action]
Description = Rebuilding quickshell-git after Qt6 update...
When = PostTransaction
Exec = /usr/bin/sudo -u [ユーザー名] /usr/bin/paru -S quickshell-git --rebuild --noconfirm- 標準フックは
/usr/share/libalpm/hooks/にファイル名quickshell-check.hookで配置される。 - 標準フックのファイル名と同じファイル名のファイルが
/etc/pacman.d/hooks/に存在すると標準フックは実行されない。 - 配置したファイルに代替のフック処理を実装する。
- ユーザ名の部分は書き換える。
- 標準フックは
確認
- qt6-baseのインストール 上記を実行すると
paru -S qt6-base
quickshell-gitパッケージのリビルドが実行されました。
Comments