คำตอบทั่วไปของ Jorge เป็นการแนะนำที่ดีในการพัฒนาไปสู่อูบุนตู แต่ลองมองปัญหาเฉพาะของคุณให้ละเอียดยิ่งขึ้น ...
ผู้พัฒนาอัปสตรีมหลักของ Apport และผู้ดูแล Ubuntu เป็นหนึ่งเดียวกัน สิ่งนี้ช่วยให้คุณเข้าใจง่ายขึ้น แทนที่จะต้องเรียนรู้เกี่ยวกับระบบการบรรจุและแพทช์เส้นทางที่ง่ายที่สุดในที่นี้คือการทำงานโดยตรงบนโค้ดอัปสตรีม
การพัฒนาของ Apport ถูกโฮสต์ในLaunchpad มันใช้ระบบควบคุมเวอร์ชันกระจายของตลาดสดเพื่อจัดการซอร์สโค้ดของมัน ขั้นตอนแรกในการแก้ไขข้อผิดพลาดของคุณคือการจับแหล่งที่มา หากคุณไม่เคยใช้บาซ่าก่อนหน้านี้การสอนบาซ่าในห้านาทีเป็นจุดเริ่มต้นที่ดี
ติดตั้งบาซ่าด้วย:
sudo apt-get install bzr
ดึงรหัสต้นฉบับของ apport:
bzr branch lp:apport
ตอนนี้คุณสามารถเริ่มแฮ็คได้ เช่นเดียวกับ VCS ส่วนใหญ่เมื่อทำงานกับตลาดสดมันเป็นความคิดที่ดีที่จะทำการเปลี่ยนแปลงเพียงครั้งเดียวต่อการกระทำ คุณควรให้ข้อมูลการส่งข้อความ มันทำให้การเปลี่ยนแปลงของคุณง่ายต่อการตรวจสอบ เมื่อคุณพร้อมที่จะทำการคอมมิทครั้งแรกให้รัน:
bzr commit -m "My commit message. Did foo to bar in order to achieve baz."
ทำการเปลี่ยนแปลงต่อไปและทำคอมมิชชันจนกว่าคุณจะพอใจว่าบั๊กของคุณได้รับการแก้ไขแล้ว ด้วยการกระทำครั้งสุดท้ายของคุณคุณสามารถติดแท็กเป็นแก้ไขข้อผิดพลาดโดยผนวก--fixes lp:<bug_number>
เข้ากับคำสั่งกระทำ ตอนนี้คุณพร้อมที่จะส่งการเปลี่ยนแปลงเพื่อตรวจทานและรวมไว้แล้ว
ก่อนอื่นคุณต้องผลักดันมันไปที่ Launchpad เพื่อให้สามารถใช้งานได้แบบสาธารณะ:
bzr push lp:~<launchpad_username>/apport/<branch_name>
สาขาของคุณสามารถพบได้ที่:
https://code.launchpad.net/~<launchpad_username>/apport/<branch_name>/
การทำงานbzr lp-open
ในสาขาจะเป็นการเปิดตำแหน่งนั้นในเบราว์เซอร์
ตอนนี้เราต้องการเสนอการผสาน ในหน้านั้นเลือก "เสนอเพื่อการรวม"
ในหน้าถัดไปเลือกสาขาเป้าหมายของคุณและให้ภาพรวมของการเปลี่ยนแปลงของคุณ
ตอนนี้คุณจะมีข้อเสนอการผสานที่ใช้งานอยู่
ผู้ดูแลจะตรวจสอบการเปลี่ยนแปลงของคุณ หากเหมาะสมพวกเขาจะถูกรวมเข้าด้วยและพร้อมใช้งานในรุ่นถัดไป หรืออาจตั้งข้อเสนอเป็น "ต้องการทำงาน" และผู้ดูแลจะหารือกับคุณเกี่ยวกับการเปลี่ยนแปลงเพิ่มเติมที่ควรทำก่อนรวมเข้าด้วยกัน หากสิ่งนี้เกิดขึ้นโปรดอย่าใช้มันเป็นการปฏิเสธงานส่วนตัวของคุณ เมื่อมีส่วนร่วมในโครงการใหม่เป็นครั้งแรกมักจะมีบางสิ่งเล็ก ๆ น้อย ๆ เช่นสไตล์การเขียนโปรแกรมที่คุณอาจไม่ทราบ