2010-01-26 11 views
9

यह एक साधारण सवाल की तरह लगता है, लेकिन the docs इस विषय पर कुछ भी कहना नहीं है। मैं Requires: vim or emacs जैसे कुछ करना चाहता हूं लेकिन जब मैं ऐसा करता हूं, तो मैं वास्तव में vim, or और emacs पर निर्भर करता हूं। एक या दो पैकेजों के आधार पर वाक्यविन्यास क्या है?मैं एक आरपीएम पैकेज पर निर्भर करता हूं या पैकेज बी कैसे बना सकता हूं?

उत्तर

18

ऐसा करने का मानक तरीका वर्चुअल प्रदान करता है: प्रत्येक राज्य को आरपीएम प्रदान करता है कि वे वर्चुअल पैकेज प्रदान करते हैं, और आश्रित RPM को वर्चुअल पैकेज की आवश्यकता होती है। तो, आपके उदाहरण में, vim और emacs दोनों Provides: text-editor, और आपका पैकेज Requires: text-editor होगा।

यदि आप जिन पैकेजों पर निर्भर हैं, वे उचित वर्चुअल पैकेज प्रदान नहीं करते हैं, तो आप संभवतः अपना स्वयं का बनाकर इस पर हैक कर सकते हैं। डमी my-package-vim-mode और my-package-emacs-mode RPM Requires: vim और Requires: emacs क्रमशः, और Provides: my-package-text-editor बनाएं, फिर अपना पैकेज Requires: my-package-text-editor बनाएं।

2

आरपीएम में ऐसी कोई क्षमता नहीं है। एक वर्चुअल की आवश्यकता है कि पैकेज में सामान्य है, यदि कोई है तो।

7

यदि पैकेज सामान्य नहीं हैं, और आप उन पैकेजों के कांटे को पुनर्निर्माण और बनाए रखना नहीं चाहते हैं, लेकिन वे दोनों एक ही फ़ाइल प्रदान करते हैं, तो आप एक फ़ाइल पर निर्भर कर सकते हैं। उदाहरण के लिए:

Requires: /usr/bin/pear 

इस तरह अपने पैकेज में कोई फर्क नहीं होगा नाशपाती द्विआधारी php-नाशपाती या php53-नाशपाती द्वारा प्रदान की जाती है।

संबंधित मुद्दे

 संबंधित मुद्दे