సంతకం లేని యాడ్-ఆన్లను ఇన్స్టాల్ చేయడానికి మరియు వెబ్ ఎక్స్టెన్షన్స్ ఎక్స్పెరిమెంట్స్ APIని ఉపయోగించడానికి అన్బ్లాక్ చేయబడిన సామర్థ్యాలు గల ఫైర్ఫాక్స్ బిల్డ్లను పంపిణీ చేయకూడదనే మోజిల్లా మరియు డిస్ట్రిబ్యూషన్ల విధానంతో విభేదించడం వల్ల, సాధారణ ఫైర్ఫాక్స్ బిల్డ్లను డిజిటల్ సంతకం లేకుండా యాడ్-ఆన్ల వాడకాన్ని అనుమతించే "డెవలపర్ ఎడిషన్" వెర్షన్గా మార్చే ఒక సాధనం అభివృద్ధి చేయబడింది.
ఫైర్ఫాక్స్లో అవసరమైన కార్యాచరణ ECMAScript కోడ్లో అమలు చేయబడి, ప్రతి ఫైర్ఫాక్స్ వెర్షన్తో పాటు చేర్చబడి, కానీ సెట్ చేయబడిన స్థిర విలువల ఆధారంగా రన్టైమ్లో ప్రారంభించబడుతుంది అనే వాస్తవం ఈ టూల్ అభివృద్ధిని సులభతరం చేసింది. ఈ స్థిరాంకాలు ("MOZ_DEV_EDITION" మరియు "MOZ_REQUIRE_SIGNING") "/usr/lib/firefox/omni.ja" జిప్ ఆర్కైవ్లో ఉన్న "modules/addons/AddonSettings.jsm" అనే ఒకే ఫైల్లో నిర్వచించబడ్డాయి.
ఈ యుటిలిటీ, ఎస్ప్రైమా-పైథాన్ ఉపయోగించి అవసరమైన ఫైల్ను పార్స్ చేస్తుంది, ASTని ప్యాచ్ చేస్తుంది, మరియు jscodegen.py ఉపయోగించి దానిని సీరియలైజ్ చేస్తుంది. జిప్ ఫార్మాట్కు మద్దతును libzip యొక్క బైండింగ్ అయిన libzip.py అందిస్తుంది. ఈ లైబ్రరీలను సంబంధిత గిట్ రిపోజిటరీల నుండి మాన్యువల్గా ఇన్స్టాల్ చేసుకోవాలని సిఫార్సు చేయబడింది.
అదనంగా, unpin.py స్క్రిప్ట్ గురించి కూడా ప్రస్తావించాలి. ఇది, చాలా మంది డెవలపర్లు ఉపయోగించే వీల్ ఫార్మాట్లో ముందుగా నిర్మించిన ప్యాకేజీలోని డిపెండెన్సీల వెర్షన్లపై ఉండే "{", "==", మరియు "~=" పరిమితులను తొలగించడానికి మిమ్మల్ని అనుమతిస్తుంది. దీనివల్ల, డిఫాల్ట్ సెట్టింగ్లతో పిప్ (pip) ద్వారా అవసరమైన ప్యాకేజీని ఇన్స్టాల్ చేసేటప్పుడు ఆటోమేటిక్ డౌన్గ్రేడ్ను నివారించవచ్చు.
మూలం: opennet.ru
