2014-11-12 11 views
5

Làm cách nào để tạo một RPM đặt POSIX capabilities của một tệp? Nếu tôi thử làm rpmbuild với tư cách là người dùng không phải root thì tôi sẽ gặp lỗi khi install install của makefile cố gắng chạy setcap, nhưng nếu tôi không chạy setcap thì sao chép rpmbuild sao chép các khả năng? Dường như không có cách nào để thiết lập khả năng từ bên trong RPM spec file.Tạo RPM có chức năng tập tin POSIX

Trả lời

7

macro tệp thông số cho cài đặt khả năng, %caps; vì một số lý do, điều này dường như chủ yếu được ghi lại trong các release notes và các thay đổi, vì vậy phải mất một lúc để tôi tìm thấy nó.

Nó được sử dụng như thế này trong file spec:

%caps(cap_net_admin=pe) %{_sbindir}/foobar 

Để có được make install sử dụng setcap chỉ khi gọi bởi root, bạn có thể làm một cái gì đó như thế này:

@if test `id -u` -eq 0; then \ 
    setcap cap_net_admin=pe $(DEST_SBINDIR)/foobar ; \ 
fi 
+0

tôi đã không thể để chỉ thị '% caps' hoạt động. Đã nhận được 'lỗi cú pháp gần mã thông báo không mong muốn \' cap_net_raw + ep''. Tìm thấy giải pháp khác bằng cách sử dụng '% bài đăng' như được mô tả trong vấn đề này: https://github.com/schweikert/fping/issues/24#issue-5647305 – acw

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