2017-07-25 22 views
2

ここでは何か非常に奇妙なことがあります。私は、rpmパッケージを構築し、ここに私のspecファイルですよ:rpmの2回目のインストールでシンボリックリンクが作成されない

[[email protected] rpmbuild]# cat SPECS/generated.spec 
# The name of your package 
Name: sotoolkit 

# A short summary of your package 
Summary: Toolkit 

# The version of your package 
Version: 1.5 

# The release number of your package 
Release: 1 

#URL 
URL: https://github.blah blah blah 

# Any license you wish to list 
License: GPLv2 

# What group this RPM would typically reside in 
Group: Development/Tools 

# Who packaged this RPM 
Packager: Me 

# The build architecture of this RPM (noarch/x86_64/i386/etc) 
Buildarch: noarch 

# You generally should not need to mess with this setting 
Buildroot: %{_tmppath}/%{name} 

# Change this extension to change the compression level in your RPM 
# tar/tar.gz/tar.bz2 
Source0: %{name}.tar.gz 

# If you are having trouble building a package and need to disable 
# automatic dependency/provides checking, uncomment this: 
AutoReqProv: no 

# If this package has prerequisites, uncomment this line and 
# list them here - examples are already listed 
#Requires: bash, python >= 2.7 

# A more verbose description of your package 
%description 
Toolkit v.1.5 

# You probably do not need to change this 
%define debug_package %{nil} 

%prep 
%setup -q -c 

%build 

%install 
rsync -a . %{buildroot}/ 
ln -sf /integration/scripts/sotoolkit1.5/start.sh /usr/bin/sotoolkit 

%clean 
rm -rf %{buildroot} 

#%pre 

#%post 

#%preun 

%postun 
unlink /usr/bin/sotoolkit 

#%trigger 

#%triggerin 

#%triggerun 

%changelog 
* Tue Jul 18 2017 L.Popovski <[email protected]> 
- 1.5-1 

%files 
%attr(0644, root, root) "/README" 
%attr(0755, root, root) %dir "/integration/scripts/sotoolkit1.5/changelog" 
%attr(0644, root, root) "/integration/scripts/sotoolkit1.5/changelog/fixes1.5.txt" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/check_if_single_or_multinode.sh" 
%attr(0755, root, root) %dir "/integration/scripts/sotoolkit1.5/log" 
%attr(0755, root, root) %dir "/integration/scripts/sotoolkit1.5/multinode" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/exp" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/firmware_tools.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/fm_tools.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/fs_tools.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/functions_multi" 
%attr(0755, root, root) %dir "/integration/scripts/sotoolkit1.5/multinode/log_tools" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/log_tools.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/log_tools/collectl_perf.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/log_tools/crashdump.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/log_tools/exp" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/log_tools/timediff.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/log_tools/vsp_collect.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/menu.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/node_tools.sh" 
%attr(0755, root, root) %dir "/integration/scripts/sotoolkit1.5/multinode/other_tools" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/other_tools.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/other_tools/b6200_missing_cluster.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/other_tools/exp" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/other_tools/relaxhw.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/other_tools/syscheck.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/sset_tools.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/multinode/sys_tools.sh" 
%attr(0755, root, root) %dir "/integration/scripts/sotoolkit1.5/multinode/tmp" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/replay_last_session.sh" 
%attr(0755, root, root) %dir "/integration/scripts/sotoolkit1.5/singlenode" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/singlenode/exp" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/singlenode/firmware_tools.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/singlenode/fm_tools.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/singlenode/fs_tools.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/singlenode/functions_single" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/singlenode/guideme.sh" 
%attr(0755, root, root) %dir "/integration/scripts/sotoolkit1.5/singlenode/log_tools" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/singlenode/log_tools.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/singlenode/log_tools/crashdump.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/singlenode/log_tools/exp" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/singlenode/menu.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/singlenode/node_tools.sh" 
%attr(0755, root, root) %dir "/integration/scripts/sotoolkit1.5/singlenode/other_tools" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/singlenode/other_tools.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/singlenode/other_tools/exp" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/singlenode/other_tools/relaxhw.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/singlenode/other_tools/syscheck.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/singlenode/sset_tools.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/singlenode/sys_tools.sh" 
%attr(0755, root, root) %dir "/integration/scripts/sotoolkit1.5/singlenode/tmp" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/sotoolkit.sh" 
%attr(0755, root, root) "/integration/scripts/sotoolkit1.5/start.sh" 
%doc README 

ここで奇妙なこと来る:最初のすべてが正常に動作RPMのインストールに

  1. を - シンボリックリンクで作成されています/ usr/bin
  2. 私はツールをアンインストールします - すべて正常に動作します
  3. 私は2回目のインストールを試みますが、今回はシンボリックリンクが作成されていません!非常に奇妙な !
  4. rpmを再構築してもう一度インストールするとうまく動作し、アンインストールして2回目のインストール時にシンボリックリンクを作成しません。

[ルート@ localhostのののrpmbuild]#回転数-e sotoolkit-1.5-1.noarch リンク解除 'は/ usr/binに/ sotoolkit' を解除することはできません:そのようなファイルまたはディレクトリ 警告:%のpostun(sotoolkit- 1.5-1.noarch)スクリプトレットは、1 [ルート@ localhostのののrpmbuild]#

RPMLintの

でこれを引き起こす可能性がどのような任意のアイデアをチェックすると、RPMでは見つかりませんでしたエラーや警告を、終了ステータスを失敗しましたか? %インストールセクションで

私が間違って実行します:

答えて

1

は私が問題を発見した

ln -sf /integration/scripts/sotoolkit1.5/start.sh /usr/bin/sotoolkit 

をしてから%のpostunで私が誤って実行します。代わりに

unlink /usr/bin/sotoolkit 

正しいこと行うべきことは%installです:

mkdir -p %{buildroot}/usr/bin/ 
ln -s /integration/scripts/sotoolkit1.5/start.sh %{buildroot}/usr/bin/sotoolkit 
シンボリックリンクは、ファイルの一部であり、ツールがアンインストールされた場合に削除されるように3210

はその後

/usr/bin/sotoolkit 

%のpostunを除去することができる%のファイルへのリンクを追加します。

関連する問題