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 以解决此问题。

相关内容