• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SPECからRPMをつくる際に、Buildroot以外にインストールされるのは正しい動作?)

SPECからRPMをつくる際に、Buildroot以外にインストールされるのは正しい動作?

このQ&Aのポイント
  • Vine LinuxでQpopperのSPECからMaildirをサポートするパッチをあてたrpmパッケージを作りたいのですが、完成したrpmパッケージを"rpm -qlp"コマンドでみると、docファイルしか入ってないようです。
  • パッケージを作る際のログを見ると、Buildroot以下ではなく、/usr/sbin/とか、/usr/share/man 以下に直接書き込んでいました。
  • 私は、Buildroot以下に仮想インストールしたものをrpmパッケージに取り込むようなイメージをもっているのがこれは間違っているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.3

>VineにRPMはあるけどSRPMはありませんでした。 こんにちは。 VineSeed から qpopperのパッケージソースをダウンロードして Vinelinux4にてコンパイルしてみました。 参考にしてください。 # wget http://www.ring.gr.jp/pub/linux/Vine/VineSeed/SRPMS.main/qpopper-4.0.9-0vl3.src.rpm # rpm -ivh qpopper-4.0.9-0vl3.src.rpm   1:qpopper        ########################################### [100%] # rpmbuild -ba --target i686 ~/rpm/SPECS/qpopper.spec # rpm -qlp ~/rpm/RPMS/i686/qpopper-4.0.9-0vl3.i686.rpm /etc/pam.d/qpopper /etc/xinetd.d/qpopper /usr/sbin/in.qpopper /usr/sbin/popauth /usr/share/doc/qpopper-4.0.9 /usr/share/doc/qpopper-4.0.9/GUIDE.pdf /usr/share/doc/qpopper-4.0.9/License.txt /usr/share/doc/qpopper-4.0.9/README /usr/share/doc/qpopper-4.0.9/doc /usr/share/doc/qpopper-4.0.9/doc/Changes /usr/share/doc/qpopper-4.0.9/doc/LMOS-FAQ.html /usr/share/doc/qpopper-4.0.9/doc/README.Berkeley /usr/share/doc/qpopper-4.0.9/doc/Release.Notes /usr/share/doc/qpopper-4.0.9/doc/guide /usr/share/doc/qpopper-4.0.9/doc/guide/%Qpopper.IX.fm /usr/share/doc/qpopper-4.0.9/doc/guide/%Qpopper.TOC.fm /usr/share/doc/qpopper-4.0.9/doc/guide/%Qpopper.book /usr/share/doc/qpopper-4.0.9/doc/guide/Qpopper.IX.fm /usr/share/doc/qpopper-4.0.9/doc/guide/Qpopper.TOC.fm /usr/share/doc/qpopper-4.0.9/doc/guide/Qpopper.book /usr/share/doc/qpopper-4.0.9/doc/guide/Qpopper.fm /usr/share/doc/qpopper-4.0.9/doc/guide/Qpopper_cover.fm /usr/share/doc/qpopper-4.0.9/doc/mac /usr/share/doc/qpopper-4.0.9/doc/rfc1939.txt /usr/share/doc/qpopper-4.0.9/doc/rfc2449.txt /usr/share/man/man8/in.qpopper.8.gz /usr/share/man/man8/popauth.8.gz /var/spool/mail/bulletins

yutaka303
質問者

お礼

なるほど。VineSeedの方にあったのですね。ありがとうございます! 一応%build以下を下記のように書き換えてRPMパッケージに必要なファイルをいれられるようになったのですが、VineSeedにあるファイルのSPECも確認してみます。 %build %configure \ --sbindir=${RPM_BUILD_ROOT}/usr/sbin \ --mandir=${RPM_BUILD_ROOT}/usr/share/man \ --without-pam \ --enable-maildrop-type=maildir \ --enable-home-dir-mail=Maildir \ --enable-apop=/etc/pop.auth \ --with-popuid=pop \ --enable-specialauth \ --with-openssl=/usr/share/ssl \ --enable-timing %{__make} %install mkdir -p ${RPM_BUILD_ROOT}/usr/sbin mkdir -p ${RPM_BUILD_ROOT}/usr/share/man/man8 mkdir -p ${RPM_BUILD_ROOT}/etc/xinetd.d %{__make} prefix=${RPM_BUILD_ROOT} install mv ${RPM_BUILD_ROOT}/usr/sbin/popper ${RPM_BUILD_ROOT}/usr/sbin/in.qpopper mv ${RPM_BUILD_ROOT}/usr/share/man/man8/popper.8 ${RPM_BUILD_ROOT}/usr/share/man/man8/in.qpopper.8 install -m 0644 ${RPM_BUILD_ROOT}/usr/sbin/in.qpopper ${RPM_BUILD_ROOT}/etc/xinetd.d/qpopper %clean #rpmを作ったあとの後始末 %{__rm} -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %doc README License.txt GUIDE.pdf README.MAILDIR %doc doc/ %{_sbindir}/in.qpopper %{_sbindir}/popauth %{_mandir}/man8/in.qpopper.8.gz %{_mandir}/man8/popauth.8.gz /etc/xinetd.d/qpopper %changelog * Fri Dec 22 2006 kaba <home@home> 4.0.9-asm1 - first release

yutaka303
質問者

補足

[最終報告 2006/12/24 18:00] 教えていただきましたSRPMを元にSPECファイルを再構成し、無事RPMパッケージに必要なファイルが取り込まれるようになりました。RPM作成時にBuildroot以外にインストールされるのは正しい動作ではなかったですね。その他、いろいろ勉強になりました。ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • oi_goo
  • ベストアンサー率44% (20/45)
回答No.2

たまにしか作らないので怪しいのですが…(^^; 本家からソースを落としてきている(?)ようですが, VineにもqpopperのSRPMってありますよね. それをベースに,パッチをあてるようSPECを修正すれば良いのでは ないでしょうか.

yutaka303
質問者

補足

ありがとうございます。私も参考にしようと思って探したんですが、VineにRPMはあるけどSRPMはありませんでした。 #apt-get update #apt-get source qpopper (略) E: qpopperのソースパッケージが見付かりません 今日はいろいろやってみたいと思います。

すると、全ての回答が全文表示されます。
  • mtfoggy
  • ベストアンサー率14% (37/255)
回答No.1

質問文がまったく情報不足なので、作り方の手順が悪かったのでしょう、 としか言えないですね。 manコマンドで作り方を見直してください。

yutaka303
質問者

お礼

ありがとうございます。そうですね。マニュアルを読みなおしたいと思います。 情報不足に関しては失礼致しました。思いつくことを以下に記します。他に必要な情報があれば教えていただけますか。 だいたい以下のように作業しました。 0. ファイルの取得  $wget http://asteroid-b612.org/software/qpopper-mysql/qpopper-mysql-0.15-test.patch  $wget ftp://ftp.qualcomm.com/eudora/servers/unix/popper/qpopper4.0.9.tar.gz 1. /usr/src/vine/SPECS に移動 2. SPECファイルを作成。qpopper.specとして保存。 3. tarボールの名前をqpopper-4.0.9.tar.gz に変更 4.qpopper-4.0.9.tar.gz と qpopper-mysql-0.15-test.patch を /usr/src/vine/SOURCES に保存 5. rpmbuild -bi qpopper.spec で動作確認 -> OK 6.rpmbuild -ba qpopper.spec > build.txt 2>&1 を実行。 7.rpmパッケージが/usr/src/vine/RPMS/i386 にできたので、rpm -qlp [ファイル名]を実行。docファイルのみ確認 ログの気になるところ抜粋: + /usr/bin/make prefix=/var/tmp/qpopper-root/usr/local install Installed man/popper.8 as /usr/share/man/man8/popper.8 Installed man/popauth.8 as /usr/share/man/man8/popauth.8 Installed popper as /usr/sbin/popper Installed popauth as /usr/sbin/popauth with uid pop RPM ビルドエラー: ファイルが見つかりません: /var/tmp/qpopper-root/usr/sbin/popper ファイルが見つかりません: /var/tmp/qpopper-root/usr/sbin/popauth ファイルが見つかりません: /var/tmp/qpopper-root/usr/share/man/man8/popper.8 ファイルが見つかりません: /var/tmp/qpopper-root/usr/share/man/man8/popauth.8 環境: VirutualPC(WinXP)上の Vine Linux 4.0 rpm version 4.2.2 gcc 3.3.6 参考にしたサイト: http://www.vinelinux.org/manuals/making-rpm.html

すると、全ての回答が全文表示されます。

関連するQ&A