概要
最近WinGetで環境構築をしているのですが、収録されているアプリで古いものがありました。どのようなバージョン管理をしているのか調べてみたのですが、なんとかなり人手で対応していることがわかりました。。。
WinGetのパッケージ管理リポジトリ
上記のGitHub上でWinGetのパッケージは管理されていました。このリポジトリを変換してAzure上で実際のファイル配信を行っているようです。
今回使ってみたかったのはArduino CLIになります。上記のリポジトリになるのですが、1系のバージョンがまったく入っていませんでした。そこで最新バージョンの1.0.4を登録してみました。
登録ツールのセットアップ
winget install wingetcreate
上記のコマンドでWingetCreateを入れます。
上記で開発がすすめられていて、コマンドなどのドキュメントもあります。
Arduino Cliを登録してみる
セットアップファイルのURLを調べる
上記で配布されていますので、リリースページから該当セットアップファイルのURLを確認します。
Windows用のセットアップファイルがありません。でもよく見るとShow all 16 assetsというリンクがあります。
すると上記のURLを確認することができました。
セットアップファイルから設定ファイルの自動作成
wingetcreate update --urls https://github.com/arduino/arduino-cli/releases/download/v1.0.4/arduino-cli_1.0.4_Windows_64bit.msi --version 1.0.4 ArduinoSA.CLI
登録済みのアプリケーションなので「ArduinoSA.CLI」に対応するセットアップファイルのURLとバージョンを引数にいれて呼び出すと自動的に設定ファイルが生成されます。
ローカルマニフェストの実行許可
winget settings --enable LocalManifestFiles
管理者権限のCMDなどで上記を実行することで、ローカルにあるファイルからWinGetのセットアップができるようになります。
設定ファイルのチェック
winget validate manifests\a\ArduinoSA\CLI\1.0.4
自動生成されたファイルが正しいのかを確認します。実際のところ自動生成なので間違っていることはありません。昔は手で書いていたのでこの手順が必要でした。
インストールテスト
winget install -m manifests\a\ArduinoSA\CLI\1.0.4
上記のコマンドでローカルマニフェストからセットアップを実行して、正しく動くかを確認します。
プルリクエストを提出
wingetcreate submit manifests\a\ArduinoSA\CLI\1.0.4
上記で自動的にGitHubにプルリクエストを飛ばしてくれます。
確認
実際のプルリクエストは上記でした。ライセンスに同意するのを一度実施する必要があります。その後は自動チェックをして、その後にコミッターの人が確認後に承認されると反映されます。
反映の確認
winget remove ArduinoSA.CLI
winget install ArduinoSA.CLI
とりあえず入っているものを削除してから、最新のものをセットアップしなおして動作確認をします。
まとめ
GitHubのリリースから自動的に取ってきて更新しているのかなと思ったのですが、非常に泥臭く更新作業が行われていました。
同じようにArduino IDEの2.3.3がリリースされたので更新してみましたが、こっちはもう少し面倒な感じになっていました。どうも最初に人が設定ファイルを作成すると、そのファイルに合わせた項目を設定する必要があるらしく、微妙に手順が異なりました。
M5Burnerでも新規登録しようと思ったのですが、CDNが外部からの直接ダウンロードをブロックしているようで諦めました。一応ZIPファイルでのPortableアプリにも対応しているのでWinGetにダウンロードさえできえれば登録できそうです。
みなさんも使いたいアプリがWinGetに収録されていなかったり、古い場合にはがんがん登録作業をすると他の人も幸せになれると思います。
コメント