前書き

Fedora Rawhide(30)を使っていて、Coprでパッケージをインストールしようとしてうまくいかなかったので、解決法を記す。

原因

登録しようとしたリポジトリはPapirus Icon Themeで、2018年9月18日でFedora 30に対応しておらず、Fedora 27, 28にのみ対応していた。

通常は、下のコマンドでリポジトリを登録することができる。

# dnf copr enable dirkdavidis/papirus-icon-theme

しかし、Fedora 30で実行すると、次のエラーが発生した。

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/dnf/util.py", line 128, in _urlopen
    libdnf.repo.Downloader.downloadURL(conf._config if conf else None, url, fo.fileno())
RuntimeError: Status code: 404 for https://copr.fedorainfracloud.org/coprs/dirkdavidis/papirus-icon-theme/repo/fedora-30/

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/dnf", line 58, in <module>
    main.user_main(sys.argv[1:], exit_code=True)
  File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 179, in user_main
    errcode = main(args)
  File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 64, in main
    return _main(base, args, cli_class, option_parser_class)
  File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 99, in _main
    return cli_run(cli, base)
  File "/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 115, in cli_run
    cli.run()
  File "/usr/lib/python3.7/site-packages/dnf/cli/cli.py", line 1049, in run
    return self.command.run()
  File "/usr/lib/python3.7/site-packages/dnf-plugins/copr.py", line 200, in run
    self._download_repo(project_name, repo_filename, chroot)
  File "/usr/lib/python3.7/site-packages/dnf-plugins/copr.py", line 339, in _download_repo
    f = self.base.urlopen(self.copr_url + api_path, mode='w+')
  File "/usr/lib/python3.7/site-packages/dnf/base.py", line 2311, in urlopen
    return dnf.util._urlopen(url, self.conf, repo, mode, **kwargs)
  File "/usr/lib/python3.7/site-packages/dnf/util.py", line 130, in _urlopen
    raise IOError(e.args[1])
IndexError: tuple index out of range

エラーメッセージを読むと、
https://copr.fedorainfracloud.org/coprs/dirkdavidis/papirus-icon-theme/repo/fedora-30/
が存在しないことが原因らしい。

解決法

過去のバージョンのリポジトリを指定することで登録することができる。

指定方法はリポジトリ名の後ろにスペースを空け、下のようにリポジトリがサポートしているFedoraのバージョンを指定する。

# dnf copr enable dirkdavidis/papirus-icon-theme fedora-28

このままインストールしようとするとエラーが発生するので、リポジトリファイルの$releasever28に書き換える。

リポジトリファイルの名前はリポジトリによって違います。

# vim /etc/yum.repos.d/_copr_dirkdavidis-papirus-icon-theme.repo

リポジトリの更新をする。

# dnf upgrade

これでリポジトリにあるパッケージのインストールができるようになる。

# dnf install papirus-icon-theme
カテゴリー: FedoraLinuxRed Hat

0件のコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください