※ 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パッケージに取り込むようなイメージをもっているのがこれは間違っているのでしょうか?
SPECからRPMをつくる際に、Buildroot以外にインストールされるのは正しい動作?
Vine LinuxでQpopperのSPECからMaildirをサポートするパッチをあてたrpmパッケージを作りたいのですが、完成したrpmパッケージを"rpm -qlp"コマンドでみると、docファイルしか入ってないようです。パッケージを作る際のログを見ると、Buildroot以下ではなく、/usr/sbin/とか、/usr/share/man 以下に直接書き込んでいました。
私は、Buildroot以下に仮想インストールしたものをrpmパッケージに取り込むようなイメージをもっているのがこれは間違っているのでしょうか?
SPECファイルは以下のとおりです。文字数制限の関係で省略あり。
------------------------------------
Summary: POP3 Server.(APOP, SSL, Maildir Support version)
Name: qpopper
Version: 4.0.9
Release: asm1
Source: %{name}-%{version}.tar.gz
Patch: %{name}-mysql-0.15-test.patch
License: BSD
Group: Applications/Services
Packager: test
Buildroot: %{_tmppath}/%{name}-root
%description
(省略)
%prep
%{__rm} -rf $RPM_BUILD_ROOT
%setup -n %{name}%{version}
%patch -p1
%build
%configure \
--prefix=/usr/local \
--without-pam \
--enable-standalone \
--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
%{__make} prefix=${RPM_BUILD_ROOT}/usr/local install
%clean
%{__rm} -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%doc README
%doc README.MAILDIR
%doc doc/
%{_sbindir}/popper
%{_sbindir}/popauth
%{_mandir}/man8/popper.8
%{_mandir}/man8/popauth.8
%changelog
* Fri Dec 22 2006 test <home@home> 4.0.9-1
- first release
お礼
なるほど。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
補足
[最終報告 2006/12/24 18:00] 教えていただきましたSRPMを元にSPECファイルを再構成し、無事RPMパッケージに必要なファイルが取り込まれるようになりました。RPM作成時にBuildroot以外にインストールされるのは正しい動作ではなかったですね。その他、いろいろ勉強になりました。ありがとうございました。