ひさびさにcpan2rpmでPerlのCPANモジュールをRPM化しようとしたら、下記のようなエラーでコンパイルが進まなくなってしまいました。
$ cpan2rpm ****::**** -- cpan2rpm - Ver: 2.028 -- Upgrade check Fetch: HTTP -- module: Template::Toolkit -- Found: ***.tar.gz ...省略... RPM user environment - Your account does not have permissions to the requisite RPM directory structure. Try 'cpan2rpm --mk-rpm-dirs=~/rpm' to setup your environment for non-root package building. Failing dirs: ./rpmbuild/SRPMS ./rpmbuild/BUILD ./rpmbuild/SOURCES ./rpmbuild/SPECS ./rpmbuild/RPMS cannot remove path when cwd is /tmp/qaiZoP3Zij/Template-Toolkit-2.26 for /tmp/qaiZoP3Zij: at /usr/share/perl5/File/Temp.pm line 902 -- Done --
原因は、最初にrpmbuildディレクトリを作成していなかったので、上記のエラーにもあるように下記のコマンドでrpmbuildディレクトリを作成したのですが…
cpan2rpm --mk-rpm-dirs=./rpmbuild
その際に、下記のような「.rpmmacros」がホームディレクトリに生成されてしまったことが原因でした。このファイルを削除してコンパイルしたら成功しました。
$ cat .rpmmacros %_topdir ./rpmbuild
ネット上にも同様な事象でお悩みの方がいらっしゃいましたが解決に至っておらず、もし、この記事が参考になりましたら幸いです。