Fedora 29にアップグレードした。しかし、カスタムRPMを入れると、dnf updateするたびにカスタムRPMを再度インストールするように促される。このままではdnf updateもできないため、いろいろ調べた。以下のURLに参考情報があった。
Bug 1644241 – dnf enforces reinstalling custom changed packages
現在はdnfのバグだが、直るまでの間ローカルリポジトリーを自分で作成しないといけないみたい。
ローカルリポジトリーを作成するのに、いかの手順で実施する。
1.フォルダー作成
自分は /var/local/fedora29/x86_64 を作成したが、/var/local の部分は変更可能。
2.カスタムRPMファイルのコピー
自分でビルドしたカスタムRPMファイルを /var/local/fedora29/x86_64/ にコピーする。
自分は
コマンドを使っていた。
ちなみに、自分はカスタムRPMは以下です。
(1) unzip。 Windowsで作成されたzipファイルを解凍するためのオプションを追加
(2) ibus-mozc。デフォルト入力モードをひらがなに変更
(3) fbreader。コマンドラインからepubファイルを指定して実行する場合のクラッシュを修正
よくわからないが、
sudo createrepo -u file:///var/local/fedora29/x86_64/ /var/local/fedora29/x86_64/
コマンドを実行して、動いた。オプションが正しくないかもしれない。
4./etc/yum.repos.d/fedora-local.repo ファイルを追加
中身は以下のように設定
[fedora-local]
name=Local Fedora Repository
baseurl=file:///var/local/fedora$releasever/$basearch
failovermethod=priority
enabled=1
protect=0
priority=1
skip_if_unavailable=Falsegpgcheck=0
今後にもFedora 30になっても使えるように、変数を使った。「priority=1」を指定することにより、fedoraやfedora-updatesのリポジトリーより優先的に使用される。
これで、カスタムRPMをインストールしてもdnfから再インストールを提示されることがなくなった。