Erlang 21 - 5. Versions

5 संस्करण




erlang

5 संस्करण

5.1 ओटीपी संस्करण

ओटीपी रिलीज़ 17 के रूप में, ओटीपी रिलीज़ संख्या ओटीपी संस्करण के प्रमुख भाग से मेल खाती है। ओटीपी संस्करण एक अवधारणा के रूप में ओटीपी 17 में पेश किया गया था। उपयोग की गई Version Scheme को Version Scheme में विस्तार से वर्णित किया गया है।

विशिष्ट संस्करण का OTP विशिष्ट संस्करणों के अनुप्रयोगों का एक समूह है। OTP संस्करण द्वारा पहचाने गए एप्लिकेशन संस्करण उन एप्लिकेशन संस्करणों से मेल खाते हैं, जिन्हें एरिक्सन AB पर Erlang / OTP टीम द्वारा एक साथ परीक्षण किया गया है। हालांकि, एक ओटीपी प्रणाली को विभिन्न ओटीपी संस्करणों के अनुप्रयोगों के साथ रखा जा सकता है। अर्लंग / ओटीपी टीम द्वारा आवेदन संस्करणों के इस तरह के संयोजन का परीक्षण नहीं किया गया है। इसलिए हमेशा एक ही OTP संस्करण से OTP अनुप्रयोगों का उपयोग करना पसंद किया जाता है

रिलीज़ उम्मीदवारों के पास एक- -rc<N> प्रत्यय है। प्रत्यय -rc0 का उपयोग विकास के दौरान पहले रिलीज उम्मीदवार तक किया जाता है।

वर्तमान ओटीपी संस्करण को पुनः प्राप्त करना

OTP स्रोत कोड ट्री में, OTP संस्करण को पाठ फ़ाइल <OTP source root>/OTP_VERSION से पढ़ा जा सकता है। फ़ाइल का पूर्ण पथ फ़ाइल filename:join([ code:root_dir() , "OTP_VERSION"]) को कॉल करके बनाया जा सकता है।

एक स्थापित ओटीपी विकास प्रणाली में, ओटीपी संस्करण को पाठ फ़ाइल <OTP installation root>/releases/<OTP release number>/OTP_VERSION से पढ़ा जा सकता है। फ़ाइल filename:join([ द्वारा पूर्ण पथ का निर्माण किया जा सकता है filename:join([ code:root_dir() , "releases", code:root_dir() , "releases", erlang:system_info(otp_release) , "OTP_VERSION"]).

यदि किसी विकास प्रणाली में OTP_VERSION फ़ाइल से पढ़े गए संस्करण में ** प्रत्यय है, तो सिस्टम को otp_patch_apply टूल का उपयोग करके पैच किया गया है। इस स्थिति में, सिस्टम में कई OTP संस्करणों से अनुप्रयोग संस्करण होते हैं। ** प्रत्यय से पहले वाला संस्करण आधार प्रणाली के OTP संस्करण से मेल खाता है जिसे पैच किया गया है। ध्यान दें कि यदि किसी विकास प्रणाली को otp_patch_apply अलावा अन्य माध्यमों से अपडेट किया जाता है, तो otp_patch_apply फ़ाइल एक गलत OTP संस्करण की पहचान कर सकती है।

OTP उपकरण द्वारा बनाई गई target system में कोई OTP_VERSION फ़ाइल नहीं OTP_VERSION गई है। यह आसानी से एक लक्ष्य प्रणाली बना सकता है जहां आधार ओटीपी संस्करण का निर्धारण करना कठिन है। हालाँकि, यदि आप OTP संस्करण जानते हैं तो ऐसी फ़ाइल वहाँ रख सकते हैं।

OTP संस्करण तालिका

पाठ फ़ाइल <OTP source root>/otp_versions.table , जो स्रोत कोड का हिस्सा है, में OTP 17.0 से वर्तमान OTP संस्करण तक के सभी OTP संस्करणों के बारे में जानकारी है। प्रत्येक पंक्ति में उन एप्लिकेशन संस्करणों के बारे में जानकारी होती है जो एक विशिष्ट OTP संस्करण का हिस्सा हैं, और निम्न प्रारूप हैं:

<OtpVersion> : <ChangedAppVersions> # <UnchangedAppVersions> :

<OtpVersion> में प्रारूप OTP-<VSN> , जो कि स्रोत को पहचानने के लिए उपयोग किए गए गिट टैग के समान है।

<ChangedAppVersions> और <ChangedAppVersions> एप्लिकेशन संस्करणों की अंतरिक्ष-अलग-अलग सूचियाँ हैं और इसका प्रारूप <application>-<vsn>

  • <ChangedAppVersions> इस OTP संस्करण में नए संस्करण संख्याओं के साथ परिवर्तित अनुप्रयोगों से मेल खाता है।
  • <UnchangedAppVersions> इस OTP संस्करण में अपरिवर्तित अनुप्रयोग संस्करणों से मेल खाती है।

दोनों खाली हो सकते हैं, लेकिन एक ही समय में नहीं। यदि <ChangedAppVersions> रिक्त है, तो कोई भी परिवर्तन नहीं किए गए हैं जो किसी भी एप्लिकेशन के बिल्ड परिणाम को बदलते हैं। उदाहरण के लिए, यह बिल्ड सिस्टम का शुद्ध बग फिक्स हो सकता है। लाइनों का क्रम अपरिभाषित है। इस फ़ाइल में सभी श्वेत-स्थान वर्ण या तो स्थान (वर्ण 32) या पंक्ति-विराम (वर्ण 10) हैं।

साधारण यूनिक्स उपकरणों का उपयोग करके जैसे कि sed और grep आसानी से विभिन्न प्रश्नों के उत्तर पा सकते हैं जैसे:

  • कौन से OTP संस्करण kernel-3.0 हिस्सा हैं?

    $ grep ' kernel-3\.0 ' otp_versions.table

  • किस OTP संस्करण में kernel-3.0 पेश किया गया था?

    $ sed 's/#.*//;/ kernel-3\.0 /!d' otp_versions.table

उपरोक्त आदेश सटीक उत्तरों की तुलना में थोड़ी अधिक जानकारी देते हैं, लेकिन इन सवालों के जवाबों को मैन्युअल रूप से खोजते समय पर्याप्त जानकारी।

चेतावनी

ओटीपी 17 रिलीज के दौरान otp_versions.table का प्रारूप परिवर्तनों के अधीन हो सकता है।

5.2 अनुप्रयोग संस्करण

ओटीपी के रूप में 17.0 एप्लिकेशन संस्करण ओटीपी संस्करण के समान version scheme उपयोग करते हैं। एप्लिकेशन संस्करण के रिलीज़ उम्मीदवार के हिस्से में हालांकि OTP संस्करण के रूप में एक- -rc<N> प्रत्यय नहीं होगा। यह भी ध्यान दें कि एप्लिकेशन संस्करण में एक प्रमुख वेतन वृद्धि आवश्यक रूप से OTP संस्करण का एक बड़ा वेतन वृद्धि नहीं है। यह इस बात पर निर्भर करता है कि आवेदन में बड़े बदलाव को ओटीपी के लिए एक बड़ा बदलाव माना जाए या नहीं।

5.3 संस्करण योजना

ध्यान दें

संस्करण योजना को ओटीपी 17.0 के रूप में बदल दिया गया था। इसका तात्पर्य यह है कि OTP 17.0 से पहले उपयोग किए गए एप्लिकेशन संस्करण इस संस्करण योजना का पालन नहीं करते हैं। A list of application versions used in OTP 17.0 इस खंड के अंत में शामिल है

सामान्य स्थिति में, एक संस्करण का निर्माण <Major>.<Minor>.<Patch> , जहां <Major> सबसे महत्वपूर्ण हिस्सा है।

हालाँकि, इससे अधिक डॉट-पार्ट अलग हो सकते हैं। डॉट-अलग किए गए हिस्से में गैर-नकारात्मक पूर्णांक होते हैं। यदि सभी भाग <Minor> 0 से कम महत्वपूर्ण हैं, तो उन्हें छोड़ दिया जाता है। तीन सामान्य भागों <Major>.<Minor>.<Patch> को निम्नानुसार बदला गया है:

  • <Major> - असंगतता सहित बड़े बदलाव होने पर वृद्धि होती है।
  • <Minor> - जब नई कार्यक्षमता जोड़ी जाती है तो बढ़ जाती है।
  • <Patch> - शुद्ध बग फिक्स होने पर बढ़ता है।

जब संस्करण संख्या में एक हिस्सा बढ़ता है, तो सभी कम महत्वपूर्ण भाग 0 सेट होते हैं।

एक एप्लिकेशन संस्करण या एक OTP संस्करण स्रोत कोड संस्करणों की पहचान करता है। यही है, यह इस बारे में कुछ भी नहीं कहता है कि आवेदन या ओटीपी कैसे बनाया गया है।

संस्करणों का क्रम

सामान्य रूप में संस्करण संख्याएं केवल आंशिक रूप से आदेशित होती हैं। हालाँकि, OTP 17.0 के रूप में सामान्य संस्करण संख्या (तीन भागों के साथ) का कुल या रैखिक क्रम होता है। यह सामान्य ओटीपी संस्करणों और सामान्य एप्लिकेशन संस्करणों दोनों पर लागू होता है।

जब दो वर्जन नंबरों की तुलना की जाती है, तो प्रत्येक भाग की तुलना सामान्य पूर्णांकों से सबसे महत्वपूर्ण भाग से कम महत्वपूर्ण भागों तक की जाती है। आदेश को उसी महत्व के पहले भागों द्वारा परिभाषित किया गया है जो भिन्न होता है। एक बड़े संस्करण के साथ एक OTP संस्करण में वे सभी परिवर्तन शामिल हैं जो एक छोटे OTP संस्करण का हिस्सा हैं। वही अनुप्रयोग संस्करणों के लिए जाता है।

सामान्य तौर पर, संस्करणों के तीन से अधिक भाग हो सकते हैं। संस्करण तब केवल आंशिक रूप से आदेशित होते हैं। ऐसे संस्करण केवल असाधारण मामलों में उपयोग किए जाते हैं। जब एक अतिरिक्त भाग (सामान्य तीन भागों में से) को एक संस्करण संख्या में जोड़ा जाता है, तो संस्करणों की एक नई शाखा बनाई जाती है। नई शाखा में आधार संस्करण के खिलाफ एक रैखिक क्रम है। हालांकि, विभिन्न शाखाओं के संस्करणों में कोई आदेश नहीं है, और इसलिए कोई केवल यह निष्कर्ष निकाल सकता है कि वे सभी शामिल हैं जो उनके निकटतम सामान्य पूर्वज में शामिल हैं। जब एक ही बेस वर्जन से कई बार ब्रांचिंग की जाती है, तो बेस वर्जन और कम से कम महत्वपूर्ण 1 भाग के बीच एक अनोखा वर्जन मिलने तक 1 भाग जोड़े जाते हैं। जिन संस्करणों में एक आदेश है उनकी तुलना पिछले पैराग्राफ में वर्णित की जा सकती है।

शाखाओं वाले संस्करणों का एक उदाहरण: संस्करण 6.0.2.1 आधार संस्करण 6.0.2 से एक शाखा संस्करण है। फॉर्म 6.0.2.<X> पर संस्करण 6.0.2.<X> की तुलना सामान्य संस्करणों के साथ 6.0.2 या उससे छोटे संस्करणों के साथ की जा सकती है और फॉर्म 6.0.2.<X> पर अन्य संस्करणों की तुलना की जा सकती है 6.0.2.<X> संस्करण 6.0.2.1 में 6.0.2 में सभी परिवर्तन शामिल होंगे। हालांकि, 6.0.3 सबसे अधिक संभावना 6.0.2.1 में सभी परिवर्तनों को शामिल नहीं 6.0.2.1 (ध्यान दें कि इन संस्करणों का कोई आदेश नहीं है)। आधार संस्करण 6.0.2 से एक दूसरा शाखित संस्करण 6.0.2.0.1 संस्करण 6.0.2.0.1 , और तीसरा शाखित संस्करण 6.0.2.0.0.1 होगा।

5.4 रिलीज और पैच

जब कोई नया OTP रिलीज़ होता है, तो उसका फॉर्म <Major>.0 पर OTP संस्करण होगा, जहाँ प्रमुख OTP संस्करण संख्या रिलीज़ संख्या के बराबर होती है। पिछले प्रमुख संस्करण के बाद से प्रमुख संस्करण संख्या एक कदम बढ़ गई है। उसी प्रमुख OTP संस्करण संख्या के साथ अन्य सभी OTP संस्करण उस OTP रिलीज़ पर पैच होते हैं।

पैच या तो रखरखाव पैच पैकेज या आपातकालीन पैच पैकेज के रूप में जारी किए जाते हैं। अंतर केवल इतना है कि रखरखाव पैच पैकेज की योजना बनाई जाती है और आमतौर पर आपातकालीन पैच पैकेज की तुलना में अधिक परिवर्तन होते हैं। आपातकालीन पैच पैकेज एक या अधिक विशिष्ट मुद्दों को हल करने के लिए जारी किए जाते हैं जब ऐसी खोज की जाती है।

एक रखरखाव पैच पैकेज की रिलीज़ आमतौर पर OTP <Minor> संस्करण की वृद्धि का संकेत देती है जबकि आपातकालीन पैच पैकेज की रिलीज़ आमतौर पर OTP <Patch> संस्करण की वृद्धि का संकेत देती है। हालांकि यह हमेशा जरूरी नहीं होता है क्योंकि ओटीपी संस्करणों के परिवर्तन कोड में वास्तविक बदलावों पर आधारित होते हैं और इस आधार पर नहीं होते हैं कि पैच की योजना बनाई गई थी या नहीं। अधिक जानकारी के लिए ऊपर Version Scheme अनुभाग देखें।

5.5 OTP 17.0 अनुप्रयोग संस्करण

निम्न सूची उन एप्लिकेशन संस्करणों का विवरण देती है जो ओटीपी 17.0 का हिस्सा थे। यदि एप्लिकेशन संस्करण संख्या का सामान्य हिस्सा सूची में संबंधित एप्लिकेशन संस्करण की तुलना में छोटा है, तो संस्करण संख्या OTP 17.0 में शुरू की गई संस्करण योजना का पालन नहीं करती है और इसे उन संस्करणों के विरुद्ध आदेश नहीं माना जाता है, जिनका उपयोग संस्करण के रूप में किया गया है ओटीपी 17.0।

  • asn1-3.0
  • common_test-1.8
  • compiler-5.0
  • cosEvent-2.1.15
  • cosEventDomain-1.1.14
  • cosFileTransfer-1.1.16
  • cosNotification-1.1.21
  • cosProperty-1.1.17
  • cosTime-1.1.14
  • cosTransactions-1.2.14
  • crypto-3.3
  • debugger-4.0
  • dialyzer-2.7
  • diameter-1.6
  • edoc-0.7.13
  • eldap-1.0.3
  • erl_docgen-0.3.5
  • erl_interface-3.7.16
  • erts-6.0
  • et-1.5
  • eunit-2.2.7
  • gs-1.5.16
  • hipe-3.10.3
  • ic-4.3.5
  • inets-5.10
  • jinterface-1.5.9
  • kernel-3.0
  • megaco-3.17.1
  • mnesia-4.12
  • observer-2.0
  • odbc-2.10.20
  • orber-3.6.27
  • os_mon-2.2.15
  • ose-1.0
  • otp_mibs-1.0.9
  • parsetools-2.0.11
  • percept-0.8.9
  • public_key-0.22
  • reltool-0.6.5
  • runtime_tools-1.8.14
  • sasl-2.4
  • snmp-4.25.1
  • ssh-3.0.1
  • ssl-5.3.4
  • stdlib-2.0
  • syntax_tools-1.6.14
  • test_server-3.7
  • tools-2.6.14
  • typer-0.9.6
  • webtool-0.8.10
  • wx-1.2
  • xmerl-1.3.7