2011-09-22 24 views

Trả lời

18

Chắc chắn nó hỗ trợ các liên kết tượng trưng. Nhưng bạn thực sự phải đóng gói symlink và không sao chép nội dung vào buildroot. Ví dụ Spec đóng gói một liên kết tượng trưng đến thư mục/bin gọi/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 

Bạn cũng sẽ cần nothing tập tin trong thư mục nguồn của bạn để thành công xây dựng rpm trong số này. Thử nghiệm với rpm 4.9.1.2

+0

Tôi sẽ thực hiện một thay đổi đối với những gì Stan đã nói ở trên, vì -f nằm trong liên kết tạo, việc xóa không cần thiết. – Jane

+0

@Jane - Tôi không đồng ý. Nó thường là một ý tưởng tốt để làm sạch các buildroot để loại bỏ cruft ở đầu '% install'. Ví dụ, giả sử rằng phiên bản trước của gói đã cài đặt tệp thứ hai, "'% {buildroot}/newlib' ", nhưng phiên bản hiện tại không cài đặt tệp đó. Phiên bản hiện tại của gói sẽ không biết tệp đó và do đó nó sẽ không bị xóa khỏi buildroot (theo gợi ý của bạn). Nói chung, cá thể rpmbuild hiện tại không nhận thức được bất kỳ cruft cũ nào có thể nằm trong root build. Tốt hơn chỉ để nuke toàn bộ buildroot trước khi bước cài đặt. – jayhendren

-1

Tôi không nghĩ vậy. Tôi đã sử dụng kịch bản cài đặt sau cài đặt các liên kết tượng trưng trong các gói của tôi.

Các vấn đề liên quan