ฉันได้พูดคุยกับผู้ดูแลบางคนที่ Debian IRC channel irc: //irc.debian.org #debian-mentorsขอสิ่งเดียวกันแน่นอนและฉันทามติทั่วไปคือ:
โซลูชัน # 1:
การรวมการพึ่งพาในแพคเกจของคุณโดยการคัดลอกไฟล์ต้นฉบับของพวกเขาในขณะที่ codebase เดียวเป็นfrowned มาก มันจะเอาชนะจุดประสงค์ของระบบบรรจุภัณฑ์ที่จัดการการพึ่งพาการอัปเดตการกำหนดเวอร์ชัน ฯลฯ
โซลูชัน # 3:
การดาวน์โหลดแพ็คเกจที่ไม่ใช่ debian on-the-fly เมื่อติดตั้งไบนารี ( .deb
) เป็นความเสี่ยงด้านความปลอดภัยที่ร้ายแรงแน่นอนว่าไม่ต้องทำ คุณจะไม่สามารถตรวจสอบ การพึ่งพาโดยการแตกไฟล์deb
เพราะดาวน์โหลดและติดตั้งเมื่อทำการติดตั้ง มันเป็นวิธีการที่เลี่ยงผ่านระบบที่เก็บข้อมูลอย่างสมบูรณ์ ผู้ใช้ที่เกี่ยวข้องจะไม่พอใจกับแพ็คเกจที่อยู่เบื้องหลัง (และroot
จำได้!) ดาวน์โหลดซอฟต์แวร์ที่ไม่น่าเชื่อถือเพิ่มเติมจากแหล่งที่ไม่น่าเชื่อถือ ใช่ว่าจะต้องเล่นซอกับDEBIAN/postinst
(หรือpreinst
) และออกwget
(หรือในกรณีของคุณpip install
) และนั่นคือวิธีการที่ใช้โดย Flash, Oracle Java, Steam และอื่น ๆ แต่นั่นเป็นกรรมสิทธิ์ซอฟต์แวร์โอเพนซอร์ซดังนั้นความปลอดภัยจึงไม่มีเลย
โซลูชัน # 1.5:
คุณไม่ได้พูดถึงมัน แต่คุณสามารถบูรณาการอ้างอิงเท่านั้นที่เวลาในการสร้างคือในแหล่งที่มาของแพคเกจ (คน.orig.tar.gz
, .debian.tar.gz
, .dsc
สาม) โดยการดาวน์โหลดจาก PyPi เมื่อสร้างแพคเกจ "ฐาน" (คน.deb
) คำแนะนำสำหรับการที่pip install
จะเข้าไปdebian/rules
(สังเกตตัวพิมพ์เล็กdebian
เมื่อเทียบกับแพคเกจไบนารี) และจะได้รับการดำเนินการเมื่อคุณออกหรือdebuild
dpkg-buildpackage
นี่คือพื้นกลางระหว่าง # 1 และ # 3 มันช่วยลด (แต่ไม่แก้ปัญหา!) ปัญหาบางอย่างของ # 3: อย่างน้อยคุณสามารถตรวจสอบผลิตภัณฑ์ขั้นสุดท้ายและ.deb
จะไม่ต้องใช้อินเทอร์เน็ตในเวลาติดตั้ง ความเสี่ยงและภาระทั้งหมดจะถูกถ่ายโอนจากผู้ใช้ขั้นสุดท้ายไปยังผู้ดูแลแพ็คเกจ แต่มีปัญหาเช่นเดียวกับ # 1 เนื่องจากมันผ่านโครงสร้างพื้นฐานของระบบบรรจุภัณฑ์ส่วนใหญ่ หลังจากนั้นการจัดการการอ้างอิง (รุ่นการอัปเดตข้อกำหนดความขัดแย้ง) เป็นสาเหตุdpkg
/ apt
ถูกสร้างขึ้นตั้งแต่แรก! :)
โซลูชัน # 2:
หนึ่งทรูทางขวา™ คุณสร้างแพคเกจเดเบียนสำหรับการอ้างอิงของคุณรายการพวกเขาเป็นข้อกำหนดในแพคเกจของคุณและจัดส่งแพคเกจทั้งหมด.debs
หรือแหล่งที่มา
จากตรงนั้นคุณมีตัวเลือกมากมาย:
ส่งแพ็คเกจต้นทางทั้งซอฟต์แวร์ของคุณและการขึ้นต่อกันเพื่อรวมไว้ใน Debian หากได้รับการยอมรับผู้ใช้ Debian ทุกคนจะสามารถใช้งานได้โดยอัตโนมัติรวมถึงตราสารอนุพันธ์ทั้งหมดเช่น Ubuntu
อัปโหลดแพ็กเกจซอร์สไปยังLaunchpadดังนั้นการสร้างPPAที่ผู้ใช้ Ubuntu ใด ๆ (และอนุพันธ์ของมันเช่น Linux Mint) สามารถเพิ่มและติดตั้งได้อย่างง่ายดาย
โฮสต์ที่เก็บเดเบียนของคุณเองในเว็บไซต์ของคุณที่ผู้ใช้จากระบบที่ใช้เดเบียนสามารถเพิ่มลงในพวกเขา/etc/apt/sources.list.d
และใช้apt
โครงสร้างพื้นฐานเพื่อดาวน์โหลดติดตั้งและอัปเดตอยู่เสมอ (เช่นด้านบน!)
โฮสต์.deb
ไฟล์สำหรับการดาวน์โหลดและติดตั้งโดยตรง ไม่มีapt
การอัปเดตอัตโนมัติหรือเกี่ยวข้องกับความคิด
สำหรับวิธีจัดแพคเกจการพึ่งพา PyPi ของคุณ (และซอฟต์แวร์หลามของคุณด้วย!) มีเครื่องมือและการอ้างอิงหลายอย่างที่ทำให้กระบวนการง่ายขึ้น:
stdebตามที่คุณพูดถึง Oldie และ Goodie
Pybuild , เครื่องมือใหม่ที่น่าตื่นตาตื่นใจจาก Debian stdeb
แทนที่ว่า
และการอ้างอิงที่มีประโยชน์มากมาย:
ต้องการความช่วยเหลือ? ลองดูสิ