ลองเอา Cotton ขึ้น Homebrew ด้วย Tap

หลังจากเมื่อวานลองเอา cotton ขึ้น homebrew ไม่สำเร็จ ทาง commitay ซึ่งเป็น member ของ homebrew ก็มา comment ใน pull request ที่ถูก reject ซึ่งเป็นอะไรที่น่าสนใจดี เขาเขียนว่า

Thanks for the PR! Unfortunately this doesn’t meet our notability requirements.

Also,

https://docs.brew.sh/Acceptable-Formulae

We frown on authors submitting their own work unless it is very popular.

I’d suggest creating your own tap.

ใจความสำคัญคือ ให้ไปดูรายละเอียดของ formula ที่เขาโอเคนะ formula ที่ทำเองแล้วยังไม่ฮิตนี่ไม่รับนะ ถ้าจะทำ ลองสร้าง tap สิ

Tap

Tap คือชุดของ formula ที่เราจัดการเองได้ เหมือน homebrew-core ในโพสต์ก่อนหน้านี้ แตกต่างกันที่ homebrew-core ทาง homebrew เป็นคนจัดการ ส่วน homebrew tap เราเป็นคนจัดการ โครงสร้างข้างในที่จำเป็นก็จะมีแค่ directory ที่เอาไว้เก็บ formula ที่เราทำ ชื่อว่า HomebrewFormula หรือ Formula ก็ได้ (ทาง homebrew แนะนำให้ใช้ชื่อแรก)

สร้าง Tap

วิธีง่ายมากคือ เราต้องสร้าง git repo ที่ชื่อ homebrew-XXX ขึ้นมา โดยที่ XXX จะหมายถึงชื่อของ tap เรา ตั้งอะไรก็ได้ ชื่อ tap ที่เราได้จะเป็น github-username/tap-name เลยไปสร้าง repo ใน github ชื่อว่า homebrew-universe ขึ้นมา กะเอาไว้เก็บ tool ต่าง ๆ ที่ทำขึ้นทั้งหมด เป้าหมายคือกะว่าเวลาคนที่อยากจะ install cotton ก็จะทำได้ด้วยท่านี้

brew tap chonla/universe
brew install cotton

พอสร้างเสร็จแล้วก็สร้าง directory ชื่อ HomebrewFormula เสร็จแล้วเอา formula ที่ทำไว้ก่อนหน้านี้ที่ชื่อ cotton.rb มาใส่ไว้ในนี้ ดังนั้นตอนนี้ structure ของเราควรจะเป็นแบบนี้

homebrew-universe/
homebrew-universe/HomebrewFormula
homebrew-universe/HomebrewFormula/cotton.rb

เสร็จแล้ว commit และ push เลย

เอา Tap ไปใช้

ถ้าต้องการ tap เฉย ๆ ไม่ install อะไร ก็สั่ง brew tap chonla/universe หรือถ้าจะ install ในคำสั่งเดียวเลยก็ brew install chonla/universe/cotton หรือจะแยกเป็น 2 คำสั่งตามที่วางแผนไว้ก็ได้เหมือนกัน

brew tap chonla/universe
brew install cotton

ง่ายกว่ากันเยอะเลยแฮะ

อ้างอิง

Leave a Reply