ใน LibreOffice นั้นมี wiki บอกวิธีการ build อยู่ที่ http://wiki.documentfoundation.org/Development/Native_Build
โดยในส่วน getting the source นั้นเขียนไว้ดังนี้
$ mkdir git $ cd git $ git clone git://anongit.freedesktop.org/libreoffice/bootstrap libo Cloning into libo... Remote: Counting objects: 76845, done. remote: Compressing objects: 100% (17328/17328), done. remote: Total 76845 (delta 60786), reused 74045 (delta 58579) Receiving objects: 100% (76845/76845), 15.82 MiB | 1.17 MiB/s, done. Resolving deltas: 100% (60786/60786), done. $ cd libo
ถ้าดูจาก file size ที่ได้มา 15.82 MiB นั้นดูเหมือนจะน้อยเกินไปสำหรับ source code ของ LibreOffice ซึ่งในส่วนที่ get มานั้นเป็นแค่ bootstrap ของ LibreOffice เท่านั้น
LibreOffice นั้นเก็บ source code ทั้งหมดไว้เป็น 19 repository หรือ 20 ถ้ารวมส่วนของ l10n ไปด้วยซึ่งถ้าจะ git ออกมาทีละ repo ก็สามารถทำได้ แต่ว่า LibreOffice นั้นมี shell script ที่สามารถดึง source code ทั้งหมดออกมาได้ทีเดียว เรียกว่า g
ซึ่ง g ที่ว่านั้นอยุ่ใน bootstrap ที่เพิ่ง git ออกมานั่นเอง ทั้งนี้เมื่อเรา ได้ bootstrap มาแล้วเราสั่ง ./autogen.sh มันจะ check environment ทั้งหมดของเครื่องเราว่าสามารถที่จะ build LibreOffice ได้หรือไม่ และถ้าผ่านส่วนนั้นมาแล้ว มันจะไปเรียก g เพื่อ clone repository ทั้ง 19 repo มาไว้ที่เครื่องเราต่อไป
ดังนั้น source code ทั้งหมดนั้นเราจะใช้ git ในการ checkout หรือทำงานเฉยๆ ไม่ได้เพราะว่ามันต้องทำทีละ 19 repo แต่จากที่บอกไว้ทีแรก เราใช้ g ในการทำงานแทนได้ เพราะ g จะทำงานเหมือนกับคำสั่ง git แต่ว่าทำให้ทั้ง 19 repo เลยทีเดียว
โอ้ว ขอบคุณก้าบ เข้าใจง่ายดี
ตอบลบ