जवाबों:
हां, ऐसा करना बहुत आसान है।
बस लिखें:
Requires: somepackage >= 0.5.0, somepackage < 0.6.0
आपकी .spec
फ़ाइल में।
संस्करण आवश्यकताएँ जोड़ना
जब पैकेज में थोड़ी अधिक कठोर आवश्यकता होती है, तो पैकेज के कुछ संस्करणों की आवश्यकता होती है। निम्नलिखित आवश्यक संचालकों में से किसी एक से पहले वांछित संस्करण संख्या को जोड़ना आवश्यक है:
निर्दिष्ट संस्करण से कम संस्करण वाले पैकेज की आवश्यकता है।
निर्दिष्ट संस्करण से कम या बराबर संस्करण वाले पैकेज की आवश्यकता है।
निर्दिष्ट संस्करण के बराबर संस्करण के साथ पैकेज की आवश्यकता है।
निर्दिष्ट संस्करण के बराबर या उससे अधिक संस्करण वाले पैकेज की आवश्यकता है।
निर्दिष्ट संस्करण से अधिक संस्करण वाले पैकेज की आवश्यकता है।
हमारे उदाहरण के साथ जारी रखते हुए, मान लीजिए कि पैकेज बार के आवश्यक संस्करण को वास्तव में कम से कम 2.7 होना चाहिए, और यह कि बाज पैकेज 2.1 संस्करण होना चाहिए - कोई अन्य संस्करण नहीं करेगा। यह है कि टैग लाइन की आवश्यकता क्या होगी: आवश्यकताएं: बार> = 2.7, बाज = 2.1
स्रोत: http://rpm.org/user_doc/more_d dependencies.html
ऊपर वर्णित प्रणाली अधिकांश पैकेजों के लिए काम करती है; हालाँकि, यदि आप जिस पैकेज की आवश्यकता चाहते हैं, वह एक [आभासी क्षमता] [१] के रूप में प्रदान किया जाता है या अन्यथा प्रदान किया जाता है (यानी "प्रदान करता है:" कीवर्ड) विभिन्न नामों के पैकेजों द्वारा (जो एक-दूसरे के साथ संघर्ष नहीं करते हैं), तो आप स्थापित किए गए दो अलग-अलग पैकेजों के साथ समाप्त हो सकते हैं, जिनमें से प्रत्येक व्यक्तिगत रूप से आपकी आवश्यकताओं में से एक को संतुष्ट करता है। उदाहरण के लिए, यदि आपकी कल्पना फ़ाइल में है:
Requires: postgresql-server >= 8.4, postgresql-server < 9.0
की स्थापना में परिणाम हो सकता है (यदि आपके पास ये पैकेज yum के लिए उपलब्ध हैं):
लेकिन postgresql84- सर्वर को स्थापित नहीं करेगा , जो संभवतः वह पैकेज है जिसे आपने स्थापित करने की अपेक्षा की होगी।
(इस मामले में समाधान के लिए केवल पोस्टग्रैसक्लो84-सर्वर की आवश्यकता होगी; हालांकि, ऐसे अन्य उदाहरण होने की संभावना है जो एक आसान समाधान नहीं है।)
यह मेरे लिए स्पष्ट नहीं है यदि आप एक पैकेज बनाने या पैकेज स्थापित करने की कोशिश कर रहे हैं और इसकी निर्भरता को "सीमित" करते हैं।
मुझे पैकेज के पुनर्निर्माण के बिना दूसरा एक मामला बनाने का कोई रास्ता नहीं दिख रहा है।
आप SRPM को पुनः प्राप्त कर सकते हैं और कल्पना फ़ाइल को संपादित कर सकते हैं और प्रविष्टि को जोड़ / संशोधित कर सकते हैं (आप कुछ पैकेज चाहते हैं। 0.5., क्या आपको नहीं?) कुछ इस तरह से:
Requires: somepackage = 0.5.0
और फिर के साथ पुनर्निर्माण
rpmbuild -bb -v yourpackage.spec
यदि आपने कभी ऐसा नहीं किया, तो यह डराने वाला प्रतीत होता है, लेकिन यह आपकी समस्या को हल करता है। इस बात को ध्यान में रखें कि यदि कोई डिस्ट्रो के लिए एक सार्वजनिक पैकेज बना रहा है, तो आप इसकी गाइडलाइन को पढ़ना चाह सकते हैं क्योंकि सेट निर्भरता इस तरह आमतौर पर अनुशंसित नहीं होती है।