คำถามติดแท็ก packaging

อ้างถึงการสร้างและบำรุงรักษาแพ็คเกจ Debian หรือ snap ไม่ว่าคุณจะต้องการอัปเดตแพ็คเกจสำหรับการใช้งานส่วนตัวหรือสงสัยว่าจะนำซอฟต์แวร์ของคุณไปสู่มือของผู้ใช้ Ubuntu ได้อย่างไรแท็กนี้เหมาะสำหรับคุณ

2
คุณจะสร้างแพคเกจ deb "ลงนาม" ได้อย่างไร
ฉันต้องการสร้างแพ็คเกจ deb จำนวนหนึ่ง แต่ฉันไม่ทราบว่าแพ็คเกจ "การลงชื่อ" ทำงานอย่างไร ดังนั้นฉันจึงสงสัยว่าจะสร้างแพ็คเกจ deb ที่ลงนามแล้วได้อย่างไร

2
วิธีที่ถูกต้องในการเริ่มบริการที่ขึ้นต่อกันในขณะติดตั้งแพ็คเกจคืออะไร?
ฉันกำลังสร้างแพ็คเกจการกำหนดค่าและต้องการหยุดและเริ่มบริการที่มีผลต่อการกำหนดค่า ตอนนี้ผมใช้service [stop|restart]ใน{pre,post}{inst,rm}ทาง ฉันอ่านคำถามในที่ที่invoke-rc.dถูกต้องเพราะได้รับความพึงพอใจจากผู้ใช้เกี่ยวกับบริการ อย่างไรก็ตามฉันไม่พบแนวทางเกี่ยวกับเรื่องนี้ ไม่มีใครรู้แนวทางดังกล่าวหรือไม่ หรือมีคำแนะนำใด ๆ เกี่ยวกับวิธีที่ฉันควรเลือก แพ็คเกจนี้ใช้ภายในและมีแนวโน้มว่าจะอยู่ที่ 14.04 ในอีกสองปีข้างหน้า อย่างไรก็ตามฉันต้องการปล่อยให้สถานะที่สะอาดที่สุดเท่าที่จะเป็นไปได้สำหรับผู้สืบทอดsystemdของฉัน จากinvoke-rc.dหน้าคน : เข้าถึงทุกสคริปต์ init โดยแพคเกจเดเบียนสคริปต์ดูแลควรจะทำผ่านวิงวอน-rc.d จากคู่มือนโยบาย Debian, บทที่ 9, ส่วน 3.3 : ผู้ดูแลควรใช้เลเยอร์ abstraction ที่จัดทำโดยโปรแกรม update-rc.d และ invoke-rc.d เพื่อจัดการกับ initscripts ในสคริปต์ของแพ็คเกจเช่น postinst, prerm และ postrm ... สคริปต์ผู้ดูแลแพ็คเกจต้องใช้ invoke-rc.d เพื่อเรียกใช้ /etc/init.d/* initscripts แทนที่จะเรียกใช้โดยตรง Debian ได้รับการใช้sysv-initและจะเปลี่ยนโดยตรงไปและผมคิดว่านโยบายคู่มือจะมีการปรับปรุงในเวลาที่กำหนดในการอ้างถึงsystemd systemctlแต่สิ่งที่ผมไม่แน่ใจเกี่ยวกับคือ: การใช้งานที่ฉันควรinvoke-rc.dแทนservice? ฉันสามารถบอกได้dpkgว่าฉันสนใจไฟล์บางไฟล์ …

2
ฉันจะคัดลอกแพ็กเกจจาก Debian ไปยัง PPA ของฉันได้อย่างไร
ฉันต้องการเพิ่มแพ็คเกจอาหารล่าสุดจาก Debian sid ไปยังPPA ของทีมของเราเพื่อให้ผู้ใช้ Ubuntu ที่ต้องการเรียกใช้ Gourmet รุ่นที่ทันสมัยสามารถเพิ่ม PPA นั้นไปยังแหล่งซอฟต์แวร์ของพวกเขา (พึ่งพาได้อย่างชาญฉลาดซึ่งไม่น่าเป็นปัญหามากนักเนื่องจากการพึ่งพาในปัจจุบันทั้งหมดของเรานั้นมีอยู่แล้วในทุกรุ่นของ Ubuntu ที่รองรับอยู่ในปัจจุบัน) ฉันได้ดาวน์โหลด*.dscไฟล์และเดเบียนและ orig tarballs แล้วและฉันก็สามารถใช้มันกับsource.changesไฟล์ของแพ็คเกจได้ ฉันยังดาวน์โหลดกุญแจสาธารณะของผู้ดูแล Debian เพื่อให้dputสามารถตรวจสอบแพ็คเกจได้ ฉันพยายามอัปโหลดแพคเกจไปยัง PPA ของเราโดยใช้dput ppa:~gourmet/ppa gourmet_0.17.3-1_source.changes(ฉันลองโดยไม่มี tilda) ดูเหมือนว่าจะประสบความสำเร็จ แต่ฉันไม่ได้รับอีเมลยืนยันและไม่มีแพ็คเกจใดแสดงอยู่ที่PPAของเราซึ่งทำให้ฉันเชื่อแพคเกจนั้นถูกปฏิเสธเพราะคีย์ของผู้ดูแล Debian นั้นไม่ได้อยู่ในคีย์ของสมาชิกในทีมของเรา ดังนั้นวิธีที่ง่ายที่สุดในการ "คัดลอก" แพ็คเกจจาก Debian (sid) ไปยัง Launchpad PPA คืออะไร ฉันจำเป็นต้องสร้างแพคเกจทั้งหมดขึ้นใหม่ในพื้นที่ก่อนที่จะอัพโหลดได้ไหม?
10 ppa  packaging  debian 

3
ฉันจะเพิ่มไฟล์ไบนารีลงในแพ็คเกจ PPA ที่มีอยู่ของฉันได้อย่างไร
การเพิ่มหรือแก้ไขไฟล์ข้อความใหม่ในแพ็คเกจ PPA ของฉันนั้นง่ายพอ: ขั้นตอนที่ 1: apt-get source [foo-package] cd [foo-package] ขั้นตอนที่ 2: เพิ่มหรือแก้ไขไฟล์ข้อความใหม่ที่มีการเปลี่ยนแปลง ขั้นตอนที่ 3 - อัปเดตรายการเปลี่ยนแปลง: dch -i ขั้นตอนที่ 4 - สร้างแพทช์ dpkg-source --commit ขั้นตอนที่ 5 - สร้างแพ็คเกจแหล่งที่มา debuild -S ขั้นตอนที่ 6 - อัปโหลดไปยัง launchpad cd .. dput [myppa]/[foo_source.changes] อย่างไรก็ตามตอนนี้ฉันต้องเพิ่มไฟล์ไอคอนใหม่ (ไฟล์. png) ลงในแพ็คเกจที่มีอยู่ ดังนั้นในขั้นตอนที่ 2 - คัดลอกลงใน [foo-package] ในขั้นตอนที่ …

1
ฉันจะใช้สูตร Launchpad สำหรับการแพทช์และสร้างแพ็คเกจเดิมได้อย่างไร
ฉันมีแพตช์กับเสียงเรียกเข้าซึ่งใช้กับเวอร์ชั่นที่บรรจุไว้ ฉันอยากจะทำสิ่งนี้โดยอัตโนมัติเพื่อที่ว่าเมื่อ Ubuntu ใหม่เปิดตัว vim ที่ไม่ได้อัปเดตใหม่จะได้รับการติดตั้งและสร้างโดยใช้สูตร ฉันอ่านเอกสารเกี่ยวกับสูตรอาหาร แต่ฉันไม่แน่ใจว่าจะใช้โปรแกรมแก้ไขได้อย่างไร ฉันควรสร้างสาขาที่มีแหล่งที่แก้ไขแล้วและมีสูตรผสานหรือไม่ วิธีการจัดการที่เมื่อสาขาที่ได้รับการปรับปรุงได้รับล้าสมัยกับแพคเกจ distro ในรุ่นใหม่กว่า? (แพตช์จะยังคงใช้อยู่ แต่จะสามารถรวมสาขาได้หรือไม่)

1
ศูนย์ซอฟต์แวร์กำหนดว่า "รายการทางเทคนิค" คืออะไรและไม่มีอะไร
ฉันเป็นสิ่งใหม่สำหรับการบรรจุหีบห่อ แต่ฉันจัดการเพื่อตั้งค่า PPA และทำงานได้ แต่เมื่อฉันค้นหาซอฟต์แวร์ของฉันใน Ubuntu Software Center มันจะปรากฏขึ้นหลังจากคลิก "แสดง _ รายการทางเทคนิค" เท่านั้น ซอฟต์แวร์ของฉันไม่ใช่รายการทางเทคนิค ฉันจะนำข้อมูลนี้ไปยังศูนย์ซอฟต์แวร์เพื่อให้สามารถจัดหมวดหมู่ข้อมูลได้อย่างเหมาะสมได้อย่างไร ฉันส่งไฟล์ .desktop และมันจะปรากฏในเมนูอย่างสมบูรณ์แบบ Software Center ยังแสดงเส้นทางไปยังรายการเมนูหลังจากที่ฉันติดตั้ง ("ค้นหาในเมนู: ... ") แก้ไข: ฉันใช้เวลาในช่องทาง IRC ของ Ubuntu หลายช่องและจากการสนทนากับคนที่แตกต่างกันสองคนฉันทามติดูเหมือนว่าจะไม่มีทางแก้ไขปัญหานี้ (และอีกสองคนเช่นการแสดงไอคอน) สำหรับแพ็คเกจ PPA . สิ่งที่เป็นอยู่ตอนนี้แพ็คเกจต้องอยู่ใน repos หลักเพื่อให้สามารถใช้งานร่วมกับ Ubuntu Software Center ได้อย่างสมบูรณ์

2
กำลังแปลข้อมูลแพ็คเกจ. deb
ฉันจะแปลเนื้อหาของdebian/controlในแพคเกจเดเบียนเพื่อให้ข้อมูลจะถูกแปลเป็นภาษาท้องถิ่นเมื่อแพคเกจถูกแสดงใน Software-Center ได้อย่างไร สำหรับแพ็คเกจใน Ubuntu สำหรับแพ็คเกจ. deb เดียว สำหรับแพ็คเกจใน PPAs

1
วิธีสร้างไฟล์. deb ด้วยการอ้างอิง
ฉันมีเกมที่สร้างด้วยกรอบLÖVEและฉันต้องการจัด.debเก็บเป็นไฟล์เพื่อให้ผู้อื่นสามารถติดตั้งได้ง่ายและหาได้ง่ายผ่านเส้นประ Unity ฉันยังมีกรอบLÖVE love_0.7.2.debซึ่งฉันต้องการอยู่ในไฟล์ deb อย่างใด ไฟล์ที่ฉันมี: game_icon.png game .desktop the_game.love love_0.7.2.deb มีคนอธิบายให้ฉันรู้วิธีการทำ

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

6
เป็นวิธีที่เหมาะสมในการแก้ไขไวน์สำหรับ PPA ที่กำหนดเองคืออะไร?
ฉันได้ทำการติดตั้ง Patch ให้กับ Wine ด้วยตนเองเพื่อใช้กับเครื่องของตัวเองแล้ว แต่ฉันต้องการที่จะใส่มันลงใน PPA สำหรับเพื่อนและความสัมพันธ์ของฉัน ขณะนี้ฉันทำตามขั้นตอนนี้: รับแหล่งข้อมูลล่าสุดจาก PPA ต้นน้ำผ่าน apt-get source ใช้patchเพื่อใช้โปรแกรมแก้ไขอย่างไม่เป็นทางการและไม่สนับสนุนของฉัน สร้างแพ็คเกจโดยใช้ dpkg-buildpackage -rfakeroot -uc -b นี่เป็นสิ่งที่ดีสำหรับการสร้างแพ็คเกจที่จะทำงานบนเครื่องของฉัน อย่างไรก็ตามตอนนี้ฉันต้องการกระจายงานสร้างที่กำหนดเองนี้ให้ผู้อื่นผ่านทาง PPA ขั้นตอนนี้เพียงพอหรือไม่หรือมีขั้นตอนที่ถูกต้องมากขึ้นและ / หรือง่ายกว่าในการรักษาขั้นตอนที่ฉันควรปฏิบัติตามสำหรับไวน์โดยเฉพาะหรือไม่

1
ไดเร็กทอรีไฟล์แพ็กเกจที่ดาวน์โหลดอยู่ที่ไหน
ฉันจะหาตำแหน่งของ.debไฟล์ที่ดาวน์โหลดได้ที่ไหน ฉันต้องการคัดลอกโฟลเดอร์นี้ก่อนที่ฉันจะติดตั้ง Ubuntu อีกครั้งดังนั้นฉันไม่ต้องดาวน์โหลดแพ็คเกจใหม่ ฉันใช้ Ubuntu 12.10 32- บิต ฉันจะทำสิ่งนี้ได้อย่างไร

1
ซอร์สโค้ดทั้งหมดบน Launchpad สามารถค้นหาได้ที่ไหน?
ฉันพบเบราว์เซอร์ซอร์สโค้ดของ Launchpad เสมอซึ่งมีประโยชน์อย่างยิ่งเมื่อฉันต้องการลิงก์ไปยังรหัสบรรจุภัณฑ์ในคำตอบ รูปแบบ URL นั้นง่ายพอ ( https://code.launchpad.net/ubuntu/+source/<package>) ที่ฉันมักจะสามารถแทนที่คำสุดท้ายหลังจากพิมพ์codeในแถบที่อยู่ของฉัน แต่ในช่วงปลายฉันพบว่ามันไม่สอดคล้องกันมากขึ้นในการค้นหารหัสบรรจุภัณฑ์จริง ตัวอย่างเช่น: GDM - ไม่มีอะไรใหม่กว่า 15.10 (เขี้ยวลากดิน) ที่นั่น แต่ชัดเจนจากการเปลี่ยนแปลงที่รหัสบรรจุภัณฑ์มีการเปลี่ยนแปลงตั้งแต่นั้นมา Bash - มันน่าสนใจ มีการเชื่อมโยงเพื่อเป็นที่เก็บ Git ใน Launchpadในหน้าเว็บนั้นและมีคุณสามารถดูบรรจุภัณฑ์สำหรับรุ่นที่ใหม่กว่า เช่นเดียวกันสำหรับapt , bash, git, grub2, .... โปรดทราบว่าไม่มีที่เก็บ Git ในรายการสำหรับบรรจุภัณฑ์ GDM คนอื่น ๆ เช่น GDM: ตลาดสด , LightDM , zsh , Chromium , ... รหัสบรรจุภัณฑ์ทั้งหมดนั้นหายไปไหน โปรดทราบว่าฉันไม่ต้องการที่จะดาวน์โหลดรหัสบรรจุภัณฑ์ฉันมีapt-get …

2
ทำไม override_dh_build-indep ลำดับไม่ถูกเรียกใช้โดย debuild
debian/rulesฉันมีเวลาที่ไม่ดีพยายามที่จะสร้างเอกสารบางอย่างสำหรับห้องสมุดร่วมกันภายใน ฉันถามคำถามก่อนหน้าเกี่ยวกับเป้าหมายที่จะใช้สำหรับการสร้างเอกสาร ปัญหาของฉันตอนนี้คือเป้าหมายไม่ได้ถูกสร้างขึ้นเมื่อผมทำงานoverride_dh_build-indep debuildฉันแทรกechoข้อความที่ด้านบนของ%เป้าหมายและค้นพบว่าdebuildสร้างเป้าหมายต่อไปนี้: clean build install ดูเหมือนว่าbuild-indepจะไม่ได้ถูกสร้างขึ้น ฉันพลาดอะไรไปรึเปล่า?

1
เพิ่มขั้นตอนที่กำหนดเองไปยัง debian / package.postinst ของแพ็คเกจต้นทางหรือไม่
ฉันมีแพ็คเกจที่รวมdebian/package.postinst.debhelperไฟล์ที่สร้างขึ้นอัตโนมัติเป็นไบนารีที่สร้างขึ้น เมื่อฉันใส่รหัสของตัวเองลงในไฟล์ไฟล์ที่debian/package.postinstสร้างโดยอัตโนมัติจะไม่ถูกรวมเข้าไปในไบนารีผลลัพธ์ ฉันจะเพิ่มรหัสที่กำหนดเองลงในpostinstไฟล์ในแพ็คเกจที่สร้างขึ้นโดยไม่ปิดกั้นการใช้รหัสที่สร้างขึ้นอัตโนมัติได้อย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.