2011-09-22 95 views

回答

18

當然,它支持符號鏈接。但是你實際上必須打包符號鏈接而不是將內容複製到buildroot。例如規格包裝一個符號鏈接到/ bin目錄名爲/ newbin

Name:   test 
Version:  1.0 
Release:  1%{?dist} 
Summary:  nothing 
License:  GPLv2 
Source0:  nothing 

%description 

%install 
rm -rf %{buildroot} 
mkdir %{buildroot} 
ln -sf /bin %{buildroot}/newbin 

%files 
/newbin 

您還需要nothing文件在你的源代碼目錄中成功地建立轉出這一點。用rpm測試4.9.1.2

+0

我會對上面Stan所說的做一個改動,因爲-f在創建鏈接中,所以不需要刪除。 – Jane

+0

@Jane - 我不同意。清理buildroot以刪除'%install'開頭處的垃圾通常是一個好主意。例如,假設軟件包的以前版本安裝了第二個文件「'{buildroot}/newlib」,但當前版本不安裝該文件。當前版本的軟件包不會知道該文件,因此它不會從buildroot中刪除(按照您的建議)。一般來說,當前的rpmbuild實例並不知道可能存在於構建根目錄中的任何舊版本。更好的做法是在安裝步驟之前核實整個buildroot。 – jayhendren

-1

我不這麼認爲。我已經使用安裝後腳本在我的包中設置了符號鏈接。