कुछ सॉफ़्टवेयर के कई अलग-अलग संस्करणों के RPM पैकेज प्रकाशित करने के लिए, मैं "अपग्रेड" माने जाने वाले संस्करण "संख्या" को निर्दिष्ट करने का एक तरीका ढूंढ रहा हूं, और कई पूर्व-रिलीज़ संस्करणों के भेदभाव को शामिल करता हूं, जैसे (क्रम में) ): "2.4.0 अल्फा 1", "2.4.0 अल्फा 2", "2.4.0 अल्फा 3", "2.4.0 बीटा 1", "2.4.0 बीटा 2", "2.4.0 रिलीज उम्मीदवार", "2.4.0 अंतिम", "2.4.1", "2.4.2", आदि।
मेरे पास इसका मुख्य मुद्दा यह है कि RPM मानता है कि "2.4.0" "2.4.0.alpha1" से पहले आता है, इसलिए मैं अंतिम संस्करण संख्या के अंत में सिर्फ प्रत्यय नहीं जोड़ सकता।
मैं "2.4.0.alp11", "2.4.0.beta1", "2.4.0.final" की कोशिश कर सकता था, जो कि "रिलीज़ उम्मीदवार" को छोड़कर काम करेगा, जिसे बाद में "2.4.0.final" माना जाएगा। "।
एक विकल्प जिसे मैंने माना है वह RPM संस्करण संख्या के "युग:" खंड का उपयोग कर रहा है (युग: उपसर्ग मुख्य संस्करण संख्या से पहले माना जाता है ताकि "1: 2.4.0" वास्तव में "2: 1.0.0" से पहले हो) । युग: क्षेत्र में एक टाइमस्टैम्प लगाकर, सभी संस्करणों को आरपीएम द्वारा अपेक्षित के रूप में आदेश दिया जाता है, क्योंकि उनके संस्करण समय में वृद्धि के लिए दिखाई देते हैं। हालाँकि, यह तब विफल होता है जब एक ही समय में कई प्रमुख संस्करणों पर नए रिलीज़ किए जाते हैं (उदाहरण के लिए, 2.4.2 2.4.0 के बाद जारी किया जाता है, लेकिन RPM के लिए उनका संस्करण "20121003: 2.3.2" और "20120928: 2.4" है। 2.3.2 पर 0 "और सिस्टम 2.4.0 पर" अपग्रेड "नहीं कर सकते, क्योंकि आरपीएम इसे पुराने संस्करण के रूप में देखता है)। इस मामले में, yum / zypper / etc ने 2.4.0 में अपग्रेड करने से इनकार कर दिया, इस प्रकार मेरी समस्या।
इसे प्राप्त करने के लिए मैं किन वर्जन नंबरों का उपयोग कर सकता हूं, और सुनिश्चित करें कि RPM हमेशा वर्जन नंबरों को क्रम में रखने पर विचार करता है। या नहीं तो संस्करण संख्या, RPM पैकेजिंग में अन्य तंत्र?
नोट 1: मैं मूल फ़ाइल के लिए "रिलीज़:" फ़ील्ड को मूल उद्देश्य के लिए रखना चाहूंगा (पैकेज के कई रिलीज़, जिसमें पैकेजिंग परिवर्तन भी शामिल है, पैकेज्ड सॉफ़्टवेयर के एक ही संस्करण के लिए)।
नोट 2: यह आरएचईएल / सेंटोस 6 और एसएलईएस 11. जैसे प्रमुख वितरणों के वर्तमान उत्पादन संस्करणों पर काम करना चाहिए, लेकिन मुझे उन समाधानों में दिलचस्पी है जो बहुत अधिक नहीं हैं, इसलिए जब तक वे आरपीएम को पुन: स्थापित नहीं करते हैं!
नोट 3: डेबियन जैसी प्रणालियों पर, dpkg संस्करण संख्या में एक विशेष घटक का उपयोग करता है जो "~" (टिल्ड) वर्ण है। यह dpkg को "ऋणात्मक" क्रम के रूप में प्रत्यय गिनने का कारण बनता है, ताकि "2.4.0 ~ कुछ" "2.4.0" से पहले आ जाए। फिर, "~" के बाद सामान्य आदेश लागू होता है, इसलिए "2.4.0 ~ अल्फा 1" "2.4.0 ~ बीटा 1" से पहले आता है क्योंकि "अल्फा" वर्णानुक्रम में "बीटा" से पहले आता है। मैं जरूरी नहीं कि आरपीएम पैकेजों के लिए एक ही योजना का उपयोग कर रहा हूं (मुझे पूरा यकीन है कि ऐसा कोई समान मौजूद नहीं है), इसलिए यह सिर्फ FYI है।