কেউ কি জানেন যে কীভাবে (বা এক পারে) একটি একক প্রয়োজনের বিপরীতে কোনও বিকল্প ফাইল বা একটি নির্দিষ্ট ফাইলে প্রয়োজনীয়তার সেট নির্দিষ্ট করতে পারে?
উদাহরণস্বরূপ, বলুন এখানে দুটি প্যাকেজ উপলব্ধ রয়েছে, সুবিধামত নামকরণ করা হয়েছে foo-bar
এবং bar-foo
। আমার প্যাকেজটির মধ্যে একটির প্রয়োজন তবে উভয়ই নয় এবং কোনটি উপস্থিত তা আমি পাত্তা দিই না। রানটাইম এ আমি যা ব্যবহার করি তা উপলব্ধ।
এত কার্যকরভাবে আমি বলার উপায় চাই:
Requires: foo-bar OR bar-foo
যতদূর আমি বলতে পারি যে এটি সম্ভব নয়, তবে আমি অনুমান করেছি যে এখানে এমন লোক আছেন যারা আমার চেয়ে আরপিএম সম্পর্কে আরও অনেক কিছু জানেন, তাই সম্ভবত এটি করার একটি উপায় রয়েছে।
আপডেট: আমি কেবল প্যাকেজিং নিয়ন্ত্রণ করি bar-foo
না foo-bar
, তাই ভার্চুয়াল প্যাকেজ সরবরাহ করার ফলে উভয়ই কাজ করবে না।
আপডেট: আমার আসলে যে জিনিসটি প্রয়োজন তা হ'ল প্রতিটি প্যাকেজের অভ্যন্তরে ভার্চুয়াল প্যাকেজ। বলুন foo-bar provides eagle' and
বার- ফু বিগল ag and my package works with either (or both); but other packages require either
গল or
বিগল ফু or
-বার or
বার-ফু সরবরাহ করে এবং লক্ষ্য সিস্টেমে দুটি বা উভয়ই ইনস্টল থাকতে পারে।
আমি বর্তমানে এমন একটি %pre
স্ক্রিপ্ট দিয়ে এর সমাধানের দিকে ঝুঁকছি যা এরকম কিছু করে:
rpm -q eagle || rpm -q beagle || echo "need eagle or beagle" && /bin/false
যদিও আমি নিশ্চিত যে এটি কার্যকর হবে, এটি RPM এর নির্ভরশীলতা ট্র্যাকিংয়ের নৃশংস পরিস্থিতিতে বলে মনে হচ্ছে। উদাহরণস্বরূপ আপনি জিজ্ঞাসা করলে whatrequires foo-bar
বা কখনই আমার প্যাকেজটি দেখতে পাবেন না whatrequires beagle
।
আপডেট: দ্বিতীয় ভাবাতে, লোকেরা foo-bar
যেখানে ইনস্টল করতে হবে তাদের প্রয়োজনীয় বেদনা কমপক্ষে আমার পরিস্থিতির জন্য, আরপিএম নির্ভরতা পরিচালনার অবসন্ন হওয়ার বেদনার চেয়ে কম নয়। সুতরাং যদি না কেউ সঠিকভাবে "এই ওআর" প্রয়োজন হয় (যা আমি মনে করি সাধারণত আরপিএমের মধ্যে থাকা একটি দুর্দান্ত বৈশিষ্ট্য হবে) প্রয়োজন হয় তবে আমি পরিকল্পনা করি কেবলমাত্র foo-bar
এবং তারপরে, রানটাইম এ, যদি bar-foo
পাওয়া যায় তবে আমি তাদের মধ্যে বেছে নেব আমার যা প্রয়োজন মানদণ্ড অনুসারে সেগুলি।
আপডেট: আর একটি ধারণা, যা আরপিএমকে প্রতারণা করবে কিন্তু জিনিসগুলি সঠিক অবস্থায় পেতে পারে। সম্ভবত আমি %post
সরাসরি আরপিএম এর ডাটাবেসটি দিয়ে বেড়াতে পারি। এভাবে %pre
একটি থেকে আমাকে রক্ষা করতে পারে অবৈধ ইনস্টল করুন, এবং %post
ব্যাপকভাবে আরপিএম বলুন যে আমি হয় করতে হবে foo-bar
বা bar-foo
অথবা উভয়, কি উপর নির্ভর করে সেখানে যখন আমি ইনস্টল করুন।
পরামর্শের জন্য ধন্যবাদ!
Provides: foo-bar
, সুতরাং এটি উভয় নির্ভরতা সন্তুষ্ট করে। নতুন আরপিএম সংস্করণগুলির জন্য, বুলিয়ান নির্ভরতাগুলি পরীক্ষা করুন । বিভাগ %pre
এবং %post
বিভাগ থেকে দূরে থাকুন , সিস্টেমকে পরাস্ত করার চেষ্টা করবেন না ।