reportbug - เมื่อคุณเจอบั๊ก
เช่นเดียวกับโครงการซอฟต์แวร์เสรีทั่วไป คุณสามารถรายงานบั๊กที่พบขณะใช้เดเบียน เพื่อช่วยให้นักพัฒนาสามารถปรับปรุงแก้ไขข้อบกพร่องได้
ระบบติดตามบั๊กของเดเบียน จะทำงานผ่านเมลเป็นหลัก โดยมี web archive ให้ติดตามแต่ละบั๊กได้ ทุกสิ่งทุกอย่างที่คุณจะสั่งการบั๊ก ไม่ว่าจะเป็นการรายงาน การแสดงความเห็นเพิ่มเติม การติดแท็กหรือเปลี่ยนสถานะของบั๊ก จะสั่งการผ่านอีเมลทั้งหมด แต่ในขั้นตอนที่สำคัญและผู้ใช้อย่างคุณจะเกี่ยวข้องมากที่สุด คือการรายงานบั๊กนั้น มีเครื่องมือช่วยเหลือ ชื่อว่า reportbug
ถ้าระบบของคุณยังไม่มีแพกเกจนี้ ก็ติดตั้งก่อน
# apt-get install reportbug
สมมุติว่าคุณเซ็ตระบบเมลในเครื่องของคุณเรียบร้อยแล้ว เวลาจะรายงานบั๊กสำหรับแพกเกจ p (เปลี่ยนชื่อเอานะครับ) ก็เพียงสั่ง:
$ reportbug p
reportbug จะตรวจสอบรุ่นที่คุณติดตั้งก่อน ถ้าไม่ใช่รุ่นใหม่ล่าสุด ก็จะถามว่าจะลองปรับรุ่นก่อนหรือเปล่า เพื่อป้องกันการรายงานบั๊กเก่าที่อาจแก้ไขไปแล้ว คุณสามารถยกเลิกแล้วมาปรับรุ่นก่อนได้
จากนั้น reportbug ก็จะแสดงรายการบั๊กต่าง ๆ ของแพกเกจที่คุณรายงาน โดยคุณสามารถเลือกดูเนื้อหาของบั๊กต่าง ๆ ได้ โดยตอบเป็นหมายเลขตัวเลือก (ไม่ใช่หมายเลขบั๊ก) เช่น:
Bugs fixed in subsequent releases (7 bugs) 1) #133348 [FIXED libx11 2:1.1.3-1]: xlibs-dev: XGetCommand man page lies 2) #392618 [FIXED libx11 2:1.1.2-1]: Unneeded define in debian/rules. 3) #400443 [FIXED 2]: libx11-6: multiple wrong calls to LockDisplay and Unlo 4) #427296 [FIXED libx11 2:1.1.3-1]: xterm: xcb_xlib.c:50: xcb_xlib_unlock: 5) #225839 [FIXED libx11 2:1.1.2-1]: libx11-dev: XQueryBestCursor(3x) should 6) #393434 [FIXED libx11 2:1.1.3-1]: libx11-dev: error in manual page for Xr 7) #399094 [FIXED libx11 2:1.1.2-1]: mismatch between docs and header (struc Outstanding bugs -- Important bugs; Unclassified (1 bug) 8) #366355: libx11: ssh -X between Sarges XF86 and Sids Xorg7 broken Outstanding bugs -- Normal bugs; Unclassified (2 bugs) 9) #349251: CVE-2006-0197: XClientMessageEvent struct issue on 64 bit 10) #364014: libx11-6: UTF-8 incorrectly displayed in ion window title Outstanding bugs -- Normal bugs; More information needed (1 bug) 11) #425445: libx11-6: fails to cross-build. tries to run cross-built makekey Outstanding bugs -- Normal bugs; Will Not Fix (3 bugs) 12) #216933: libx11-6: many clients get BadLength error from X_ChangeProperty 13) #234556: libx11-6: apps crash with 'BadLength (poly request too large or 14) #261251: libx11-6: apps crash with 'BadLength (poly request too large or (1-14/36) Is the bug you found listed above [y|N|m|r|q|s|f|?]? 1
ในตัวอย่างข้างบน ผมตอบ 1 เพื่อดูรายละเอียดบั๊ก #133348 เป็นต้น
ถ้าดูหัวข้อบั๊กแล้ว ไม่มีตัวไหนเกี่ยวข้อง ก็ตอบ n หรือกด enter (เพราะ n คือคำตอบปริยาย) เพื่อดูชุดถัดไปไปเรื่อย ๆ ถ้าพบบั๊กที่ใช่ (คือมีคนรายงานไปแล้ว ไม่ควรรายงานซ้ำ) และตอบ y ก็จะมีคำถามถามหมายเลขบั๊กที่จะแสดงความเห็นเพิ่มเติม หรือถ้าจะไม่เพิ่มเติมอะไรก็กด enter เพื่อออก
แต่ถ้าคุณแน่ใจจริง ๆ ว่าไม่มีใครรายงานบั๊กนี้แล้ว หรือจะข้ามช่วงของบั๊กที่แก้ไปแล้ว ก็ตอบ s (skip) เพื่อข้ามไปเริ่มป้อนข้อมูลบั๊กทันทีได้ หรือถ้าจะเปลี่ยนใจไม่รายงานบั๊กแล้ว ก็ตอบ q (quit)
โอย จำไม่ไหว ตัวเลือกเยอะจัง กด '?' เพื่อขอดู help ได้ครับ รวมถึงคำตอบขณะดูเนื้อหาบั๊กแต่ละบั๊กด้วย คงไม่ต้องอธิบายคำตอบต่าง ๆ ในที่นี้แล้วนะครับ
ข้ามไปที่ขั้นรายงานบั๊ก จะมี prompt ให้กรอก subject ของบั๊ก พยายามใช้ข้อความที่กระชับแต่ได้ใจความ คือให้คนที่เจอบั๊กเดียวกับคุณเขามาอ่านทีหลังแล้วรู้ทันที ว่าใช่บั๊กเดียวกันหรือเปล่า
จากนั้นก็จะเป็นคำถามเกี่ยวกับความร้ายแรงของบั๊ก ขอให้อ่านรายละเอียดของแต่ละระดับให้แน่ใจนะครับ
- critical (วิกฤติ) คือระดับความร้ายแรงสูงสุด บั๊กน้อยตัวนักที่จะอยู่ในขั้นนี้ มักเป็นบั๊กที่ทำให้ระบบพิการทั้งหมด หรือทำให้แพกเกจอื่นเสียหายไปด้วย หรือสร้างรูโหว่ด้านระบบรักษาความปลอดภัยสำหรับทั้งระบบ
- grave (สาหัส) เป็นบั๊กที่ทำให้แพกเกจที่รายงานนี้ใช้การไม่ได้สำหรับผู้ใช้ส่วนใหญ่ หรือสร้างรูโหว่ด้านระบบรักษาความปลอดภัยของตัวแพกเกจเอง
- serious (ร้ายแรง) ใช้กับการละเมิด Debian Policy ในข้อที่ใช้คำว่า 'must' หรือ 'required' แต่ถ้าเป็นการละเมิดกรณีอื่น ก็ไม่ใช่ความร้ายแรงขั้นนี้
- important (สำคัญ) เป็นบั๊กที่ไม่ได้มีผลกับส่วนใหญ่ของแพกเกจ แต่ทำให้ผู้ใช้บางส่วนใช้การไม่ได้
- does-not-build (คอมไพล์ไม่ผ่าน) คือบั๊กที่เรียกกันว่า FTBFS (Fails To Build From Source) เคยเป็นบั๊กในระดับ serious แต่ปัจจุบันแยกออกมาเป็นเอกเทศ
- normal (ปกติ) ไม่ได้ทำให้แพกเกจใช้การไม่ได้ แต่เป็นปัญหาของบางส่วนของโปรแกรมเท่านั้น
- minor (เล็กน้อย) เป็นบั๊กเกี่ยวกับตัวสะกด หรือหน้าตาที่ผิดเพี้ยนของหน้าจอ เป็นต้น โดยไม่ได้มีผลกับการทำงานของแพกเกจ
- wishlist (ขอเพิ่ม) เป็นการขอเพิ่มความสามารถบางอย่าง หรือเพิ่มคำแปล
ผ่านขั้นนี้ไปแล้ว ก็เป็นรายละเอียดของบั๊กละ
Subject: libx11-6: Thai XIM does not filter keys when NumLock/CapsLock is on Package: libx11-6 Version: 2:1.0.3-7 Severity: normal *** Please type your report below this line *** (ป้อนรายละเอียดที่นี่) -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.22-2-amd64 (SMP w/2 CPU cores) Locale: LANG=th_TH.UTF-8, LC_CTYPE=th_TH.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages libx11-6 depends on: ii libc6 2.6.1-5 GNU C Library: Shared libraries ii libx11-data 2:1.0.3-7 X11 client-side library ii libxau6 1:1.0.3-2 X11 authorisation library ii libxdmcp6 1:1.0.2-2 X11 Display Manager Control Protoc ii x11-common 1:7.3+2 X Window System (X.Org) infrastruc libx11-6 recommends no packages. -- no debconf information
สังเกตว่าจะมี header ซึ่งระบบบั๊กจะใช้ขณะสร้างบั๊ก จึงไม่ควรแตะต้องเด็ดขาด และตอนท้าย จะให้ข้อมูลทั่วไปของระบบ รวมทั้งรุ่นของแพกเกจต่าง ๆ ที่เกี่ยวข้องโดยอัตโนมัติ ไม่ควรแตะต้องเช่นกัน ป้อนเฉพาะรายละเอียดตรงบริเวณที่กำหนดเท่านั้นพอ
เสร็จแล้ว สั่งบันทึก (เช่น ถ้าใช้ vi ก็ ':wq') แล้วตอบคำถามยืนยัน โปรแกรมจะส่งบั๊กผ่านทางเมลให้โดยอัตโนมัติ
เมื่อระบบบั๊กได้รับเมลของคุณ และสร้างรายการบั๊กให้แล้ว ก็จะมีเมลตอบมาพร้อมหมายเลขบั๊ก พร้อมคำอธิบายวิธีติดตามบั๊ก
เริ่มยาวแล้ว ไว้ตอนหน้ามาพูดถึงการปรับแต่ง reportbug สำหรับสถานการณ์บางอย่าง แล้วต่อด้วยการติดตามบั๊กที่รายงานไปครับ
- thep's blog
- Login or register to post comments
|
ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้ |















Re: reportbug - เมื่อคุณเจอบั๊ก
บรรทัด Version ใส่มากกว่า 1 version ได้มั้ยครับ, เช่น,
Package: phpmyadmin
Version: 4:2.6.2-3sarge5
Version: 4:2.9.1.1-4
หรือ
Package: phpmyadmin
Version: 4:2.6.2-3sarge5, 4:2.9.1.1-4