जोर्ज का सामान्यीकृत उत्तर उबंटू विकास में कूदने के लिए एक शानदार परिचय है, लेकिन आइए आपको विशिष्ट मुद्दे पर थोड़ा करीब से देखने की कोशिश करें ...
Apport के मुख्य अपस्ट्रीम डेवलपर और उबंटू अनुचर एक और एक ही हैं। यह आपके लिए चीजों को थोड़ा सरल करता है। पैकेजिंग और पैच सिस्टम के बारे में जानने के बजाय, यहां सबसे आसान रास्ता सीधे अपस्ट्रीम कोड पर काम करना है।
एपॉर्ट के विकास को लॉन्चपैड पर होस्ट किया गया है । यह अपने स्रोत कोड को प्रबंधित करने के लिए बाज़ार वितरित संस्करण नियंत्रण प्रणाली का उपयोग करता है। अपने बग को ठीक करने की दिशा में पहला कदम स्रोत को हथियाना है। यदि आपने पहले बाज़ार का उपयोग नहीं किया है, तो पाँच मिनट के ट्यूटोरियल में बाज़ार शुरू करने के लिए एक अच्छी जगह है।
के साथ बाजार स्थापित करें:
sudo apt-get install bzr
Apport के स्रोत कोड को खींचें:
bzr branch lp:apport
अब आप हैकिंग शुरू कर सकते हैं। अधिकांश वीसीएस के साथ, जब बाजार के साथ काम करते हैं, तो यह केवल एक प्रति बदलाव करने के लिए एक अच्छा विचार है। आपको अपने प्रतिबद्ध संदेशों को जानकारीपूर्ण भी बनाना चाहिए। यह आपके परिवर्तनों की समीक्षा करना बहुत आसान बनाता है। जब आप अपना पहला कमिट करने के लिए तैयार हों, तो दौड़ें:
bzr commit -m "My commit message. Did foo to bar in order to achieve baz."
परिवर्तन करना जारी रखें और तब तक कमिट करें जब तक आप संतुष्ट न हों कि आपका बग ठीक हो गया है। अपने आखिरी कमिटमेंट के साथ, आप इसे --fixes lp:<bug_number>
कमिट कमांड में जोड़कर बग को ठीक करने के रूप में भी टैग कर सकते हैं । अब आप समीक्षा और समावेशन के लिए अपने परिवर्तन प्रस्तुत करने के लिए तैयार हैं।
सबसे पहले, आपको इसे सार्वजनिक रूप से उपलब्ध कराने के लिए लॉन्चपैड पर धकेलने की आवश्यकता है:
bzr push lp:~<launchpad_username>/apport/<branch_name>
आपकी शाखा अब यहां मिल सकती है:
https://code.launchpad.net/~<launchpad_username>/apport/<branch_name>/
bzr lp-open
ब्रांच में चलने से ब्राउज़र में वह लोकेशन खुल जाएगा।
अब हम मर्ज का प्रस्ताव करना चाहते हैं। उस पृष्ठ पर, "विलय के लिए प्रस्ताव" चुनें।
अगले पृष्ठ पर, अपनी लक्ष्य शाखा चुनें और अपने परिवर्तनों का अवलोकन करें।
अब आपके पास एक सक्रिय मर्ज प्रस्ताव होगा।
अनुरक्षक आपके परिवर्तनों की समीक्षा करेंगे। यदि वे उपयुक्त हैं, तो उन्हें विलय कर दिया जाएगा और अगले रिलीज में उपलब्ध होगा। वैकल्पिक रूप से, प्रस्ताव को "आवश्यकता कार्य" के लिए सेट किया जा सकता है और अनुरक्षक आपके साथ अतिरिक्त बदलावों पर चर्चा करेगा जो विलय से पहले किए जाने चाहिए। यदि ऐसा होता है, तो कृपया इसे किसी भी प्रकार के व्यक्तिगत अस्वीकृति के रूप में न लें। जब पहली बार किसी नए प्रोजेक्ट में योगदान करते हैं, तो अक्सर कोडिंग स्टाइल जैसी छोटी चीजें होती हैं, जिनके बारे में आप नहीं जानते होंगे।