質問:
RPMがインストール前に以前のRPMを削除するように、foo.specファイルには何を入れますか?
説明:
同じソースを使用し、同じサービスを提供するいくつかのパッケージのrpmを作成するスペックファイルを作成しました。たとえば、それぞれが同じ「機能」を提供する
これは、私の.specファイルが次のようになっている基本的な要素の例です。
%define version 1234
%define name foo
%define release 1
%define pkgname %{name}-%{version}-%{release}
Name: %{name}
Version: %{version}
Release: %{release}
Provides: %{name}
%package one
Summary: Summary for foo-one
Group: %{group}
Obsoletes: %{name} <= %{version}
Provides: %{name} = %{version}
%description one
Blah blah blah
%package two
Summary: Summary for foo-two
Group: %{group}
Obsoletes: %{name} <= %{version}
Provides: %{name} = %{version}
%description two
Blah blah blah
# %prep, %install, %build and %clean are pretty simple
# and omitted here for brevity sake
%files one
%defattr(-,root,root,-)
%{_prefix}/%{pkgname}
%files two
%defattr(-,root,root,-)
%{_prefix}/%{pkgname}
最初のものをインストールすると、okがインストールされます。次に、1つ目を削除し、2つ目をインストールします。これも問題なく動作します。
次に、1つ目をインストールし、すぐに2つ目をインストールします。どちらも順番にインストールされますが、2つ目をインストールする前に2つ目が削除されることを期待していました。
セッションの例:
# rpmbuild foo and copy rpms to yum repo
$ yum install foo-one
...
$ yum list installed|grep foo
foo-one.noarch 1234-1 @myrepo
$ yum install foo-two
...[Should say that it is removing foo-one, but does not]...
$ yum list installed|grep foo
foo-one.noarch 1234-1 @myrepo
foo-two.noarch 1234-1 @myrepo
$ rpm -q --provides foo-one
foo = 1234
foo-one = 1234-1
$ rpm -q --provides foo-two
foo = 1234
foo-two = 1234-1
RPMがインストール前に以前のRPMを削除するように、foo.specファイルには何を入れますか?
ありがとうございました、
.dave。
1
暗闇で撮影:時代遅れのものはこれではありませんか?
—
Charles
パッケージとその結果のデプロイメント(バイナリ、構成、またはその両方)の違いは何ですか?
—
nearora
何が違うの?PHPアプリ、構成、およびphpコードをパッケージ化しているためです。
—
fatehks