[Howto] สร้างแพ็คเกจซอฟต์แวร์ Arch Linux และอนุพันธ์

สิ่งหนึ่งที่ฉันชอบมากที่สุดเกี่ยวกับ Arch Linux และอนุพันธ์คือไฟล์ ง่ายมาก เพื่อสร้างแพ็คเกจที่จะติดตั้งในระบบในภายหลังซึ่งแตกต่างจากแพ็คเกจที่รู้จัก หญิงที่เข้าสังคมครั้งแรก ของ Debian / Ubuntu / Linux Mint / etc ซึ่งเป็นเรื่องวุ่นวาย (และถ้าเป็นไลบรารีฉันจะไม่บอกคุณ)

เทมเพลตพื้นฐานจะเป็นดังนี้:

# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()

build() {
...
}
package() {
...
}

ตอนนี้ฉันจะอธิบายแต่ละพารามิเตอร์:

  • # ผู้ดูแล: ในนั้นจะมีการใส่ชื่อของผู้ดูแลของบรรจุภัณฑ์
  • ชื่อ pkg: ชื่อของแพ็กเกจ มีได้เฉพาะตัวอักษรตัวเลข -, _ และ +
  • แพ็คเกจ: เวอร์ชันแพ็คเกจ pe 1.0.0
  • แพ็คเกจ: การทบทวนโปรแกรมหรือแพ็คเกจ pe 1
  • ระบุรายละเอียด: คำอธิบายแพ็คเกจ
  • โค้ง: สถาปัตยกรรมของโปรแกรม: สามารถเป็นแบบใดก็ได้ (สำหรับทุกคน), i686 และ x86_64 ซึ่งเป็นแบบใดก็ได้สำหรับแพ็คเกจที่ไม่ต้องการการคอมไพล์เช่นโปรแกรมใน bash หรือ python หากเป็นโปรแกรมที่ต้องการ (ตัวอย่างเช่นโปรแกรมใน C หรือ C ++) ควรระบุว่าเป็น i686 หากเป็น 32 บิตหรือ x86_64 สำหรับ 64 บิต โดยทั่วไปหากเข้ากันได้กับทั้งสองอย่างจะมีการตั้งค่า (i686, x86_64)
  • URL: URL ไปยังหน้าอย่างเป็นทางการของโปรแกรม ขอแนะนำให้ใส่ไว้
  • ใบอนุญาต: ใบอนุญาตโปรแกรม เช่น GPL3
  • กลุ่ม: กลุ่มที่เป็นของแพ็กเกจ กลุ่ม = ('ระบบ')
  • ขึ้นอยู่กับ: ในนั้นเราระบุแพ็คเกจที่จำเป็นสำหรับการทำงานของโปรแกรม pependens = ('python2' 'pygtk')
  • ขึ้นอยู่กับ: การอ้างอิงที่จำเป็นในการคอมไพล์แพ็กเกจเท่านั้น หากต้องการดาวน์โหลดรหัสจากตัวจัดการเวอร์ชันขอแนะนำให้ใส่รหัสดังกล่าว pe: makedepends = ('git')
  • แหล่งที่มา: ในนั้นเราระบุไฟล์ที่จำเป็นสำหรับการสร้างแพ็คเกจ ตามกฎทั่วไปเป็น url ไปยังแพ็กเกจที่มีโค้ด, โปรแกรมแก้ไข, ไฟล์. desktop, ไอคอน ฯลฯ pe: source = (pacsyu.desktop)
  • md5sums: นี่คือผลรวม md5 ของไฟล์ที่ระบุในแหล่งที่มา หากต้องการทราบว่าเราเรียกใช้จากเทอร์มินัลใดในโฟลเดอร์ที่ PKGBUILD อยู่ (มีการเขียนเส้นทางไฟล์ในแหล่งที่มา) makepkg -g และผลรวมจะปรากฏบนหน้าจอ
    นอกจากนี้ยังสามารถใช้ผลรวมอื่น ๆ เช่น sh1
  • สร้าง: ในฟังก์ชันนี้เราจะใส่ไฟล์ คำสั่งที่จำเป็นในการดำเนินการคอมไพล์ซอฟต์แวร์. หากไม่จำเป็นต้องรวบรวมเฉพาะฟังก์ชันต่อไปนี้เท่านั้นที่จำเป็น)
  • แพคเกจ: ในฟังก์ชั่นอื่น ๆ นี้คำสั่งการติดตั้งโปรแกรมจะไป ตัวอย่างเช่นถ้าเรากำลังรวบรวมรหัส C ที่นี่การติดตั้งจะดำเนินไป

และเพื่อให้เสร็จสิ้นเราก็ต้องดำเนินการ แต่งหน้ากก เพื่อตรวจสอบว่าแพคเกจถูกสร้างขึ้น
อย่างที่คุณเห็นมันเป็นเรื่องยากสำหรับเรา จากนั้นฉันจะปล่อยให้คุณมีพารามิเตอร์พิเศษของ แต่งหน้า:

  • -ผม: สั่งให้ makepkg ติดตั้งแพคเกจหลังจากสร้างเสร็จแล้ว
  • - ส: ติดตั้งการอ้างอิงแพ็กเกจหากอยู่ในที่เก็บ
  • -F: หากมีแพคเกจที่มีชื่อเวอร์ชันและการแก้ไขที่มีพารามิเตอร์นี้อยู่แล้วเราขอให้คุณเขียนทับ
  • -ค: ทำความสะอาดโฟลเดอร์ที่ใช้งานได้ (pkg และ source) เมื่อเสร็จสิ้น
  • -NS: บรรจุหีบห่อใหม่โดยไม่ต้องทำการคอมไพล์ใหม่

ฉันขอแนะนำให้ดูไฟล์ PKGBUILD เพิ่มเติมเพื่อดูตัวอย่างเพิ่มเติมดำเนินการคำสั่ง makepkg -h เพื่อดูพารามิเตอร์โปรแกรมที่เหลือนอกเหนือจากการดูไฟล์ เอกสารอย่างเป็นทางการ makepkg บน Arch Linux Wiki คุณหาอะไรได้บ้าง ที่นี่