私が作成しているパッケージには、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にパッチを適用してください。