2016-04-26 2 views
0

基本パッケージを必要とするRPMファイルを構築するために仕様ファイルを構成します。 まずスペックRPMの設定:RPM自体が必要です

%global _installDir /opt 
%global _name  ovcore 
%global _build  1 
%global _version  1.2.1.R01 
%global _release  1 

Summary:  First RPM Version 
Name:   %{_name} 
Version:  %{_version}.%{_build} 
Release:  %{_release} 
License:  Free. 
Group:  OV 
URL:   http://free-core.vn 
BuildRoot: %{_tmppath}/%{_name} 
Provides:  %{_name} = %{version}-%{release} 

その後、私は私のSPECに更新秒を構築します:第二のrpmをインストールする際に、私のCentOSで

%global _installDir /opt 
%global _name  ovcore 
%global _build  10 
%global _version  1.2.1.R01 
%global _release  1 

Summary:  Second RPM Version 
Name:   %{_name} 
Version:  %{_version}.%{_build} 
Release:  %{_release} 
License:  Free. 
Group:  OV 
URL:   http://free-core.vn 
BuildRoot: %{_tmppath}/%{_name} 
Provides:  %{_name} = %{version}-%{release} 
Requires:  %{_name} = 1.2.1.R01.1-1 

(7)クライアント、私はこのエラーを得ましたファイルには、このコマンドを実行します。

[[email protected] ~]# yum install --debuglevel=10 --rpmverbosity=10 ovcore 
install ovcore 
Loading "fastestmirror" plugin 
Config time: 0.007 
Yum version: 3.4.3 
rpmdb time: 0.000 
Setting up Package Sacks 
local                                    | 2.9 kB 00:00:00 
local/x86_64/primary_db                                | 1.9 kB 00:00:00 
Determining fastest mirrors 
pkgsack time: 0.058 
Checking for virtual provide or file-provide for install 
No package install available. 
Obs Init time: 0.000 
Resolving Dependencies 
--> Running transaction check 
---> Package ovcore.x86_64 0:1.2.1.R01.10-1 will be installed 
Checking deps for ovcore.x86_64 0:1.2.1.R01.10-1 - u 
looking for ('ovcore', 'EQ', ('0', '1.2.1.R01.1', '1')) as a requirement of ovcore.x86_64 0:1.2.1.R01.10-1 - u 
looking for ('/bin/sh', None, (None, None, None)) as a requirement of ovcore.x86_64 0:1.2.1.R01.10-1 - u 
looking for ('/bin/sh', None, (None, None, None)) as a requirement of ovcore.x86_64 0:1.2.1.R01.10-1 - u 
ovcore-1.2.1.R01.10-1.x86_64 requires: ovcore = 1.2.1.R01.1-1 
--> Processing Dependency: ovcore = 1.2.1.R01.1-1 for package: ovcore-1.2.1.R01.10-1.x86_64 
Searching pkgSack for dep: ovcore 
Potential resolving package ovcore-1.2.1.R01.1-1.x86_64 has newer instance in ts. 
--> Finished Dependency Resolution 
Dependency Process ending 
Depsolve time: 0.385 
Error: Package: ovcore-1.2.1.R01.10-1.x86_64 (local) 
      Requires: ovcore = 1.2.1.R01.1-1 
      Available: ovcore-1.2.1.R01.1-1.x86_64 (local) 
       ovcore = 1.2.1.R01.1-1 
       ovcore = 1.2.1.R01-1 
      Installing: ovcore-1.2.1.R01.10-1.x86_64 (local) 
       ovcore = 1.2.1.R01.10-1 
       ovcore = 1.2.1.R01-1 
You could try using --skip-broken to work around the problem 
You could try running: rpm -Va --nofiles --nodigest 
[[email protected] ~]# 

ここでの主なアイデアは、次のとおりです。

私は私のRPMファイルをシステムにインストールしました。後で私のプログラムにバグがある場合は、それを修正するためのパッチを作成する必要があります(このパッチは1つのビルドの対象にする必要があります)。つまり、リポジトリにアップロードするパッチRPMファイルを作成する必要があります。 その後、クライアントPCでは、「yum update ovcore」を実行してパッチの修正を適用することができます。

何か助けてもらえますか?

答えて

0

1.2.1.R01.10-1(バージョンインストール中)!= 1.2.1.R01.1-1(第2の仕様で明示的に必要)。なぜあなたはそれが古いバージョンのものを必要としているのですか?

その他その他の注意事項:

  • あなたが同様にパッケージ化されているプログラムの原作者でない限り、ビルド番号は、おそらくリリースフィールドに行く必要があります。
  • 誤って内部変数に踏み込む可能性があるので、変数を_で始めるべきではありません。
+0

コメントありがとうございました。私はログを更新しました。 Plsそれを確認します。はい、私はovcoreプログラムのoringinal作者です。 – Khate

+0

私の答えはまだ適用されます。 2番目のものは最初のものを必要としません。 RPMはライブパッチ用ではありません。あなたのRPMの次のバージョンは以前のものを完全に置き換えます。 –

関連する問題