Theppitak's blog

My personal blog.

26 พฤศจิกายน 2551

Lenny-Goal Bugs

เมื่อมีเวลาว่าง ก็กลับมาช่วย Debian บ้าง ครั้งที่แล้ว ไม่ได้ปิด RC bug ใด ๆ เพิ่ม นอกจาก file RC bug ใหม่พร้อมเสนอแพตช์ ครั้งนี้ เนื่องจากเวลาว่างเป็นช่วงสั้น ๆ ก็เลยไม่เสียเวลาหา RC bug

RC bug เป็นเพียงหัวข้อหนึ่งใน Lenny Release Goal ถ้าคุณอยากช่วย Debian แต่พบว่า RC bug มันแก้ยากไป ก็ไม่ใช่ว่าคุณจะช่วยอะไรไม่ได้เลย ยังมี release goal อื่น ๆ ที่เป็น non-RC bug คือ:

  • Double build support - ให้ debian source สามารถสั่ง build ได้สองครั้งติดต่อกันโดยไม่ทิ้งขยะไว้ ตรงนี้ต้องดู rules ในการ clean ให้ดี ๆ
  • Switch /bin/sh to dash - Debian มีนโยบายที่จะให้ใช้ dash แทน bash ได้ถ้าผู้ใช้ต้องการ เพื่อความรวดเร็วและประหยัดหน่วยความจำ เพราะ dash เล็กกว่า bash มาก เวลาใช้กับการบูตจะลดเวลาบูตได้ รวมถึง maintainer script เวลาติดตั้ง-ถอดถอน-ปรับรุ่นแพกเกจ ด้วย (Ubuntu ก็มี Blueprint เรื่องนี้เหมือนกัน ตั้งแต่รุ่น edgy ซึ่งก็ไล่ ๆ กับการเริ่มรอบพัฒนาของ Lenny เหมือนกัน) ตรงนี้มีเครื่องมือสำหรับตรวจสอบ syntax ของ shell script ว่าเจาะจงกับ bash หรือไม่ คือ checkbashisms ในแพกเกจ devscripts
  • Dependency-based init systems - กำหนด header info ใน init script ของแพกเกจต่าง ๆ ให้มีการระบุ dependency ด้วย ถ้าต้องการให้แพกเกจอื่นเปิด service ก่อน
  • Piuparts-clean archive - แพกเกจที่ upgrade จาก etch แล้ว purge ต้องไม่ทิ้งร่องรอยใด ๆ ไว้ ส่วนมากแล้ว ร่องรอยเหล่านี้มักจะมาจาก config file ที่มีการเปลี่ยนชื่อหรือเปลี่ยนตำแหน่งใน lenny แล้วไม่มีการเคลียร์ทิ้งขณะ upgrade
  • IPv6 - รองรับ IPv6 ในโปรแกรมต่าง ๆ
  • No unmet recommends in main - แพกเกจต่าง ๆ ต้องไม่ recommend แพกเกจอื่นที่ไม่มีใน pool หรือไม่สามารถติดตั้งได้
  • I18n support in all debconf-using packages - แพกเกจที่ใช้ debconf ควรจะใช้ po-debconf เพื่อเปิดโอกาสให้แปลข้อความได้
  • Large file support - รองรับแฟ้มขนาดใหญ่

ในหน้า Lenny Release Goal ข้างต้น มีลิงก์ไปยังรายชื่อบั๊กของแต่ละหมวดทั้งหมด คุณสามารถเลือกมาทำได้เวลาว่าง ๆ บางหมวดแก้ไม่ยากนัก เพียงแต่ปริมาณมันเยอะเท่านั้น

ขอแนะนำคนที่สนใจเข้าร่วมกับ Debian ถือโอกาสสร้างผลงานสะสมจาก bug เหล่านี้ครับ หรือถ้าคุณแก้ RC bug ได้ด้วย ยิ่งเป็นผลงานชิ้นใหญ่เลย

เขียนมาซะยาว ช่วงว่างที่ผ่านมา ผมเลือกทำหมวด piuparts-clean archive เพราะได้ทำใน thailatex ไปนานแล้ว และเพิ่งทำกับ thaifonts-scalable มาหมาด ๆ โดยเสนอ non-maintainer upload (NMU) ไป 3 แพกเกจ ได้ upload 2 แพกเกจ ปิดบั๊กไป 5 บั๊ก (#455037, #455039, #455040, #455042, #455043) ส่วนอีกแพกเกจหนึ่ง maintainer เขารับแพตช์ไปรวมใน maintainer upload เอง ก็เพียงแต่รอเขาจัดการ (#455109)

พอละ ครั้งนี้รู้สึกได้อะไรเป็นชิ้นเป็นอันบ้าง ไว้ว่างครั้งหน้ามาทำต่อ ตอนนี้เข้าถ้ำ ทำงานก่อน

ป้ายกำกับ:

23 พฤศจิกายน 2551

ThaiFonts-Scalable 0.4.11

thaifonts-scalable 0.4.11 ออกไปแล้วเมื่อวานซืน ที่ไม่ได้ blog ทันทีเพราะพยายามจัดการกับ debian package อยู่

รุ่นนี้ ถึงจะห่างจาก รุ่นที่แล้ว ไป 6 เดือน แต่ก็เป็นการรวมรายการแก้บั๊กและปรับปรุงเล็ก ๆ น้อย ๆ ที่สะสมมา ไม่ได้มีการพัฒนาอะไรเพิ่มมากนัก เพราะช่วงที่ผ่านมา ผมไปทำงานอย่างอื่นซะเยอะ เช่น งานแปล GNOME, งานแพตช์ Mozilla, งานจิปาถะที่กรุงเทพฯ และงานรับจ้างต่าง ๆ

รายการที่แก้ ก็มี:

  • เพิ่ม priority ของ fontconfig ให้สูงกว่าค่า default ของ fontconfig มาตรฐาน ซึ่งมีการเพิ่มเข้ามาในรุ่น 2.6 จาก Mandriva ซึ่ง Mandriva เขามีฟอนต์ไทยไม่มาก และยังอ้างอิงฟอนต์สมัยเก่าที่ยังมีแค่ไม่กี่ฟอนต์ ทำให้อะไร ๆ ก็ Norasi ไปหมด

    ผม file Freedesktop #16223 ไว้เกือบ 6 เดือนแล้ว แต่ทุกอย่างยังเงียบ จำเป็นที่แพกเกจฟอนต์ต้องพยายามหาทางตั้งค่าทับเอาเอง

    การตั้งค่าทับที่ว่า ต้องทำถึงสองขยัก ขยักแรกคือเปลี่ยนการเซ็ต alias จาก <accept> เป็น <prefer> ซึ่งก็คิดว่าเพียงพอ เพราะมันได้ผลในเครื่องผม แต่ผมไม่รู้ว่าจริง ๆ ยังไม่พอ เพราะสภาพแวดล้อมที่ผมใช้พัฒนา ผมต้องติดตั้งจาก CVS โดยไม่ใช้ค่าตั้งระบบ แล้วอาศัยค่าตั้งจาก ~/.fonts.conf เอา ซึ่งปรากฏว่ามันก็ทับค่าของระบบได้ เพราะมี priority สูงกว่าอยู่แล้ว

    จนกระทั่งได้รับรายงานจากผู้ใช้ Ubuntu ว่าเลือก Sans แล้วมันได้แต่ Norasi ถึงได้รู้ว่าแค่ขยักแรกนั้นยังไม่พอ ต้องเปลี่ยนลำดับของกฎให้มาก่อน 65-nonlatin.conf ตัวเจ้าปัญหาจาก Mandriva ด้วย (ของผมที่มันได้ผลเพราะ priority ของ ~/.fonts.conf อยู่ที่ 50 ซึ่งมาก่อน 65) พอเปลี่ยนใน CVS แล้ว ก็ได้รับรายงานซ้ำอีกครั้งที่ debianclub ทีแรกคิดว่าจะรอออกหลัง lenny แต่ดูแนวโน้ม RC bug ของ Debian ค่อนข้างจะคงที่ กว่าจะออกคงอีกนาน ก็เลยตัดสินใจ release ในที่สุด เพื่อแก้ปัญหานี้โดยเฉพาะ

  • ปรับแก้เรื่องเส้นขีดฆ่าหนาใน Waree อันนี้เคยกล่าวถึงไว้ใน blog เก่า ในส่วนของวันที่ 19 มิ.ย. ว่าเป็นบั๊กของ fontforge แต่ fontforge ของ Debian ถูกแช่แข็งไว้ที่ 20080429 ซึ่งยังมีบั๊กที่ว่านี้อยู่ ก็เลยจำต้องแก้แบบขัดตาทัพไปก่อน

  • ปรับ hint ของฟอนต์ตระกูล TlwgMono (TlwgTypo, TlwgTypist, TlwgTypewriter, TlwgMono) นิดหน่อย จากการตรวจพบขณะใช้งาน

ตอนนี้ thaifonts-scalable 0.4.11-1 และ 0.4.11-2 ก็ได้เข้า Debian sid เป็นที่เรียบร้อย โดย -2 นั้น ทำเพิ่มในก๊อกสอง เพื่อเคลียร์ config file เก่าที่ตกค้างอยู่ อันนี้เป็นหนึ่งใน Lenny Release Goals คือในหัวข้อ piuparts-clean archive ถ้ายังปล่อย config file ตกค้างอยู่ จะเจอ RC bug ทำให้เข้า Lenny ไม่ได้

ต่อไปก็รอ bug report ใน sid อย่างน้อย 10 วัน บวกกับการอนุญาตจากทีม debian-installer และ release team ให้ผ่านเข้า lenny ต่อไป (thaifonts-scalable ถูกใช้ใน d-i ด้วย การผ่านเข้า lenny จึงต้องผ่านด่าน d-i team อีกชั้นหนึ่งด้วย)

ส่วน Ubuntu เข้าใจว่าคงผ่านเข้า Jaunty ทันทีอยู่แล้ว เนื่องจากยังอยู่ในช่วงที่ประตู sync กับ Debian เปิดอยู่

ป้ายกำกับ: , , ,

01 พฤศจิกายน 2551

GNOME Alternative Logo

เรื่อง ส้นตีน GNOME ยังคงอภิปรายกันต่อไปแบบช้า ๆ ดูเหมือนไม่มีประเทศไหนมีปัญหามากเท่าเรา ยกเว้นลาว นอกนั้น ที่ตอบมาแล้วว่าไม่มีปัญหาเลยคือมองโกเลียและจีน ส่วนมาเลเซีย เขาบอกว่าเข้าใจถึงประเด็นนี้ในแถบเอเชียตะวันออกเฉียงใต้ แต่สำหรับมาเลเซียเองปัญหาไม่รุนแรงนัก แต่ก็ยอมรับว่ามีคนถามบ่อยถึงเหตุผลที่ต้องใช้รูปเท้า

มานั่งคิด ๆ กับ อ.พฤษภ์ ดู ก็ทำให้อยากรู้ท่าทีของอินเดีย เพราะคิดว่าค่านิยมเรื่องหัวเรื่องเท้าของเราน่าจะมีรากมาจากอินเดียโบราณ ผ่านทางศาสนาพราหมณ์หรือพุทธ แล้วก็น่าติดตามท่าทีของประเทศที่อื่นที่รับวัฒนธรรมอินเดียไปด้วย เช่น เนปาล ศรีลังกา พม่า กัมพูชา แต่ก็ยังไม่มีคำตอบจากประเทศเหล่านั้น

ทางด้านชุมชน GNOME เอง มีความเห็นแยกเป็นหลายแบบ อย่างที่เล่าไปแล้วใน blog ก่อน แต่ตอนนี้มี solution เพิ่มเติม คือให้มันเป็นเรื่องของ งานแปล ไปเสีย โดยให้โปรแกรมใน GNOME ใช้โลโก้ที่สามารถ แปล ได้ ประเทศไหนไม่ชอบรูปเท้าก็แปลชื่อโลโก้ให้ไปใช้รูปอื่น

วิธีนี้น่าเลือกสำหรับเขา ถ้าประเทศที่แสดงตัวว่ามีปัญหากับเท้ามีแค่ไม่กี่ประเทศอย่างนี้ แต่ปัญหาของวิธีนี้คือ:

  • ผู้ใช้จะรู้หรือเปล่า ว่าโลโก้ที่เปลี่ยนมานี้ ใช้แทน GNOME ได้เหมือนกัน สามารถใช้อ้างอิงได้ ไม่ใช่แค่ theme ที่แต่งกันเล่น ๆ หรือเป็นการ fork โครงการโดยใช้โลโก้ใหม่?
  • สำหรับสิ่งที่ไม่ใช่ UI เช่น ในเว็บโปรโมท GNOME หรือเวลาออกนิทรรศการ จะสามารถใช้โลโก้ใหม่นั้นแทน GNOME ได้หรือเปล่า? ผู้คนจะเข้าใจทันทีไหมว่าใช้แทน GNOME ได้เหมือนกัน?
  • นักพัฒนาจะรู้หรือเปล่า ว่าโลโก้ใหม่นี้มีความสำคัญ นอกจากจะใช้รูปเท้าในที่ต่าง ๆ ของโปรแกรมแล้ว ควรจะเตรียมรูปที่ใช้โลโก้ใหม่นี้ควบคู่กันไปด้วย ถ้าจะบอกให้คนไทยไปตาม file bug เอาเอง แต่ถ้าโครงการ GNOME ไม่รับรู้ ปล่อยให้เป็นเรื่อง localization แบบนี้ จะโน้มน้าวนักพัฒนาได้ยากไหม?
  • ถึงแม้จะทำทุกอย่างสำเร็จ แต่ผู้ใช้คนไทยจำนวนมากไม่ชอบใช้คำแปลไทย จะยังมีกลุ่มไหนไหมที่ไม่ชอบทั้งรูปเท้าทั้งคำแปลไทย แล้วก็ต้องเจอกับส้นตีนไปเรื่อย ๆ ?

ขณะเดียวกัน ก็มีแบบของโลโก้เสนอมาแล้ว 3 แบบ ข้อมูลชักเยอะ เลยทำ หน้าสรุป ไว้ที่ GNOME Live เสีย ดูแบบของโลโก้ที่มีการเสนอได้ที่หน้านั้น

ป้ายกำกับ:

hacker emblem