제가 만들고 있는 패키지에는 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을 패치하세요.