Tôi có 3 gói corepkg
, corepkg-optB
và corepkg-optC
. corepkg-optC
phụ thuộc corepkg-optB
, corepkg-optB
phụ thuộc corepkg
.
Tôi đã tạo một repo của 3 gói này. Khi tôi chạy cài đặt yum corepkg-optC
, và corepkg
không thành công, cài đặt yum corepkg-optB
và corepkg-optC
. Nó không phải là những gì tôi muốn.
tôi muốn corepkg-optB
thất bại nếu corepkg
thất bại và corepkg-optC
thất bại nếu corepkg-optB
thất bại vì corepkg
thất bại.
Hồ sơ đặc tả của tôi trông như thế này:
Tên: corepkg
Phiên bản: 1.0.0
%pretrans
nếu ! grep -q foo /etc/hosts
sau đó
thoát 1
fi
%gói optB
Yêu cầu: corepkg = 1.0.0
%gói optC
Yêu cầu: codepkg-optB = 1.0.0
Tôi đã thử Yêu cầu rồi Yêu cầu (trước), nhưng cho tôi kết quả tương tự:
# yum cài đặt corepkg-optC
lỗi: tập lệnh %pretrans(corepkg-1.0.0-1.el7.noarch) không thành công, thoát trạng thái 1
Lỗi trong tập lệnh PRETRANS trong gói rpm corepkg-1.0.0-1.el7.noarch
Cài đặt: corepkg-optB-1.0.0-1.el7.noarch 1/3
lỗi: corepkg-1.0.0-1.el7.noarch: bỏ qua cài đặt
Cài đặt: corepkg-optC-1.0.0-1.el7.noarch 2/3
Đang xác minh: corepkg-optC-1.0.0-1.el7.noarch 1/3
Đang xác minh: corepkg-optB-1.0.0-1.el7.noarch 2/3
Đang xác minh: corepkg-1.0.0-1.el7.noarch 3/3
Cài đặt:
corepkg-optC.noarch 0:1.0.0-1.el7.noarch
Cài đặt phụ thuộc:
corepkg-optB.noarch 0:1.0.0-1.el7.noarch
Thất bại:
corepkg.noarch 0:1.0.0-1.el7.noarch
Tôi đã thử Yêu cầu (chuyển trước) nhưng điều đó thật vô nghĩa vì mọi thứ đều là một giao dịch yum duy nhất.
Tất cả corepkg là của tôi, tôi có thể sửa đổi các tệp đặc tả. Bất kỳ ý tưởng? Cảm ơn bạn!
CHỈNH SỬA: gói B và C không phải là dep mà giống như công cụ bổ sung cho corepkg. Nó tương tự như các gói php-* hoặc python-*.
Tương tự vì các gói corepkg-optB và corepkg-optC của tôi là các mô-đun (tệp văn bản) và không có nghĩa lý gì nếu không có corepkg.
Tôi nói vậy vì một số gói php-* hoạt động độc lập.