OBSのutilitiesリポジトリのetckeeperのパッケージを
更新している内に判らないことが出てきたのでお伺いします。
buildの途中でx86_64環境でのみerrorが出るようになりました。
-------- error --------
[ 14s] etckeeper-zypp-plugin-1.12-0.noarch
[ 14s] ... running 01-check-debuginfo
[ 14s] ... testing for empty debuginfo packages
[ 14s] ... running 02-check-gcc-output
[ 14s] ... testing for serious compiler warnings
[ 14s] (using /usr/lib/build/checks-data/check_gcc_output)
[ 14s] (using /var/tmp/build-root/openSUSE_Factory-x86_64/.build.log)
[ 14s] ... running 03-check-binary-kernel-log
[ 14s] ... running 04-check-filelist
[ 14s] ... checking filelist
[ 14s] etckeeper-1.12-0.noarch.rpm: directories not owned by a package:
[ 14s] - /usr/lib/python2.7/site-packages/bzrlib
[ 14s] - /usr/lib/python2.7/site-packages/bzrlib/plugins
--------
/usr/lib/python2.7/site-packages/bzrlib/plugins/etckeeper/__init__.py
というfileをpackageに入れる必要があります。
(私が修正するまでutilitiesのetckeeperには__init__.pyファイルが
rpmパッケージに入っていませんでした。)
これはdirectory名が示すとおりに
etckeeperのBazaar(bzrコマンド)対応pluginです。
/usr/lib/python2.7/site-packages/bzrlib/plugins/etckeeper/
/usr/lib/python2.7/site-packages/bzrlib/plugins/etckeeper/__init__.py
はetckeeperのpackageに含めるべきなので含めております。
しかし以下のディレクトリはbzrパッケージに含まれるべきdirectoryだと思います。
[ 14s] - /usr/lib/python2.7/site-packages/bzrlib
[ 14s] - /usr/lib/python2.7/site-packages/bzrlib/plugins
しかしbzrはこれらのディレクトリを含みません。
仕方がないので今はetckeeperの方に%dirでパッケージに含めています。
https://build.opensuse.org/package/view_file/home:Mitsutoshi:branches:utilit...
-------- etckeeper.spec --------
# added python_sitelib files 2014-07-10 bkbin005@rinku.zaq.ne.jp
# Are these right?
%dir %{python_sitelib}/bzrlib
%dir %{python_sitelib}/bzrlib/plugins
--------
お伺いしたいのは、こんなことをして本当に良いのか?、ということです。
叱られないでしょうか?
bzr packageにお願いして上記のdirectoryを作ってもらうべきでしょうか?
Googleで検索してみたところ、これは結構よくある問題のようで、
いっぱい情報が出てきて、上記の回避策を見つけたのですが、
「これが正しい」と確信できる情報には出会えませんでした。
bzrはpythonスクリプトなのですが、noarchで作られておらず、
https://build.opensuse.org/package/view_file/devel:tools:scm/bzr/bzr.spec?ex...
i586版は/usr/lib/python2.7/site-packages/bzrlibに
x86_64版は/usr/lib64/python2.7/site-packages/bzrlibに
ディレクトリを作っておりました。
他のdistributionではどう対応しているのか確認するため
CentOS7+EPEL7betaを入れてみたのですが、
rpm -qf /usr/lib/python2.7/site-packages/bzrlib/plugins
はどのパッケージにも属さないディレクトリだそうです。
ですがopenSUSEではどのpackageにも属さないdirectoryは許さないpolicyのようですね。
--
1xx