ฉันจะใช้ไฟล์. deb ในเครื่องในตัวสร้าง pbuilder ได้อย่างไร


9

บ่อยครั้งที่ฉันต้องสร้างแพ็คเกจซึ่งแพ็คเกจอื่นขึ้นอยู่กับ (เช่น build dependencies) แทนที่จะมีแพ็คเกจเหล่านี้ทั้งหมดจะถูกสร้างใน ppa ของฉัน (ซึ่งบางครั้งอาจใช้เวลาสักครู่) ฉันต้องการใช้ไดเรกทอรีผลลัพธ์จาก pbuilder เป็นแหล่งสำหรับ pbuilder เอง

ฉันจะทำสิ่งนี้ได้อย่างไร ฉันสามารถทำสิ่งนี้ผ่านเบ็ดได้หรือไม่?

คำตอบ:


5

คุณสามารถติดมันใน repo ง่ายๆที่สร้างขึ้นด้วย dpkg-scanpackages และทำให้มันใช้ได้ผ่านทาง apache จากนั้นอัปเดตการกำหนดค่า apt ของ pbuilder เพื่อใช้ repo ของคุณ


3
ดูเพิ่มเติมwiki.ubuntu.com/PbuilderHowto#Buildingด้วยแพ็คเกจท้องถิ่น ไม่แน่ใจว่าตัวอย่าง OTHERMIRROR ของพวกเขาทำงานกับระบบไฟล์ในระบบได้หรือไม่ ฉันใช้เส้นทางง่าย ๆ ในการใช้เส้นทางlocalhostสำหรับแพ็คเกจ repo พิเศษของฉัน
andol

6

สามารถทำได้สองสามวิธี ตามที่กล่าวถึงโดย adol, wiki ของ Ubuntu มีตัวอย่างที่ดีเกี่ยวกับวิธีการทำเช่นนี้โดยการสร้างที่เก็บข้อมูลในเครื่องพร้อม mini-dinstall และเพิ่มเข้าไปในการกำหนดค่า pbuilder ของคุณ คำตอบของเดนนิสเกี่ยวกับการใช้ dpkg-scanpackages ก็ใช้ได้เช่นกัน

ฉันได้ทำเช่นนี้เมื่อเร็ว ๆ นี้ด้วยฉลาด - ftparchive ฉันชอบวิธีการนี้เนื่องจากฉันพบว่ามีน้ำหนักเบามาก นี่คือตัวอย่างของสิ่งที่ฉันทำ:

# From my ~/.pbuilderrc file

# Location of the dir where you keep pbuilder hook scripts.
HOOKDIR="/home/andrew/.pbuilder-hooks"

# Path to your local repo to be used as a mirror written as apt source line.
OTHERMIRROR="deb file:///home/andrew/pbuilder/local_repo ./"

# Path to your local repo. This tells pbuilder to mount this directory so it is available in the chroot.
BINDMOUNTS="/home/andrew/pbuilder/local_repo"

# As we need to have the apt-ftparchive command, we need to insure this package is installed.
EXTRAPACKAGES="apt-utils"

คุณต้องมีตะขอ pbuilder ด้วย:

# From my ~/.pbuilder-hooks/D5update-local-repo file

# Path to the local repo.
LOCAL_REPO="/home/andrew/pbuilder/local_repo"

# Generate a Packages file.
(cd $LOCAL_REPO ; apt-ftparchive packages . > Packages)

# Update to include any new packages in the local repo.
apt-get update

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

คุณอาจนึกภาพการเปลี่ยนแปลงอื่น ๆ ของสิ่งนี้ ตัวอย่างเช่นคุณสามารถใช้ dput กับ post_upload_command เพื่อสร้างไฟล์แพ็กเกจแทนการใช้ hook

นี้หน้าวิกิพีเดีย Debianยังอาจจะเป็นประโยชน์


1
ไฟล์ hook ต้องถูกเรียกD05...(หมายเลขสองหลัก) และต้องสามารถเรียกใช้งานได้ นอกจากนี้ (อย่างน้อยเมื่อใช้ pbuilder-dist) หลังจากเพิ่มแพ็กเกจ apt-utils พิเศษที่คุณต้องโทรpbuilder-dist <dist> update --override-configหนึ่งครั้ง และอีกครั้งด้วย pbuilder-dist คุณต้องตั้งค่า OTHERMIRROR เป็นตัวแปรสภาพแวดล้อมเนื่องจากมันแทนที่การตั้งค่าไฟล์
BubuIIC
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.