rpmbuildエラー:シンボリックリンクがBuildRootを指しています。

rpmbuildエラー:シンボリックリンクがBuildRootを指しています。

私が作成しているパッケージには、Buildrootディレクトリにシンボリックリンクがあります。たとえば、次のようになります。

 /home/sg/impkg/buildroot/dir1/bin/w_be -> /home/sg/impkg/buildroot/dir2/targ/be

rpmbuildこれによりエラーが発生して失敗します。

 RPM build errors:
 Symlink points to BuildRoot: 
 /home/sg/impkg/buildroot/dir1/bin/w_be -> /home/sg/impkg/buildroot/dir2/targ/be

私のセクションには私が望むディレクトリ%filesだけを含んでいました。buildroot私の仕様ファイルの一部は次のとおりです。

Summary:                research compiler tool set
License:                GPL
Name:                   %{name}
Version:                %{version}
Release:                %{release}
Source:                 %{name}-%{version}.tar.gz
Prefix:                 /usr
Group:                  Development/Tools
Autoreq:                0
Autoprov:               0

%description
research compiler tool set

%prep
%setup -q

%build
rm -rf %{buildroot}/%{name}-%{version}
mkdir %{buildroot}/%{name}-%{version}
cd %{buildroot}/%{name}-%{version} && %{_builddir}/%{name}-%{version}/./configure --     prefix=%{buildroot}/%{name}-%{version}
make %{?_smp_mflags} -C %{buildroot}/%{name}-%{version}

%install
cd %{buildroot}/%{name}-%{version} && make DESTDIR=%{buildroot}/%{name}-%{version}  install

%clean
rm -rf %{buildroot}/%{name}-%{version}

%files
%defattr(755,-,-)
/%{name}-%{version}

論理に従う必要があります。これは、Makefileからこれらのリンクを削除できないことを意味します...この問題をどのように解決し、RPMを生成できますか?

ベストアンサー1

シンボリックリンク〜しなければならないインストール後にパッケージが動作するように相対的です。この問題を解決するには、makefileにパッチを適用してください。

おすすめ記事