Ubuntu: พวกเขากำลังทำอะไรกับแหล่งวานิลลา?


12

ถูกต้องฉันถ้าฉันผิด

เท่าที่ฉันรู้ distros เช่น Debian / Ubuntu / Fedora มักจะแก้ไขซอร์สโค้ดวานิลลาก่อนที่จะสร้างแพ็คเกจ อะไรคือเหตุผลที่อยู่เบื้องหลังการเปลี่ยนแปลงเหล่านี้ มีปัญหากับแหล่งต้นฉบับหรือไม่? ฉันจะรับรายการการเปลี่ยนแปลงและสาเหตุของการเปลี่ยนแปลงเหล่านั้นในแพ็คเกจเฉพาะได้อย่างไร

ขอบคุณสำหรับความช่วยเหลือ!

คำตอบ:


18
apt-get source package

คุณจะได้ไฟล์สองหรือสามไฟล์: tarball "ดั้งเดิม" (บางครั้งแก้ไข แต่ไม่ค่อย ... การเปลี่ยนแปลงเพียงอย่างเดียวมักจะเป็นชื่อไฟล์) - ชื่อ * .orig.tar.gz การเปลี่ยนแปลงของเดเบียนในรูปแบบ * .diff ไฟล์. gz และข้อมูลเมตาบางส่วน บางครั้งไฟล์. diff.gz ขาดหายไป: ซึ่งหมายความว่าแพคเกจนั้นสร้างขึ้นเฉพาะสำหรับเดเบียน / อูบุนตูเพื่อจัดการงาน distro เฉพาะอย่าง ... เช่นdakที่จัดการการอัปโหลดไฟล์เก็บถาวรเดเบียน จากนั้นรหัสทั้งหมดจะอยู่ใน tarball ดั้งเดิม

เหตุผลมีหลายประการ: แก้ไขข้อบกพร่องสำหรับซอฟต์แวร์ (เมื่อต้นน้ำไม่ต้องการ), ปรับซอฟต์แวร์ให้เป็นเดเบียน (ปรับเส้นทางไฟล์) Debian ต้องการให้แพคเกจทั้งหมดสอดคล้องกับFileSystem Hierarchy Standardและนี่เป็นการปรับทั่วไป

tarball ดั้งเดิมบางครั้งไม่เหมือนต้นน้ำที่สร้างขึ้นเนื่องจากปัญหาบรรจุภัณฑ์ ฉันจำได้ว่าเห็นโปรแกรมที่แจกจ่ายใน tarball หลาย ๆ ตัวในขณะที่พวกมันสร้างโปรแกรมที่ปฏิบัติการได้เพียงตัวเดียว - ผู้ดูแลเดเบียนตัดสินใจทำ tarball "ดั้งเดิม" ของตัวเองซึ่งประกอบด้วย tarball ต้นน้ำ tarred เหตุผลอื่นคือเมื่อผู้ดูแลเดเบียนบางครั้งตัดสินใจที่จะเพิ่มไบนารีไฟล์ลงในแพ็คเกจ เป็นการยากที่จะใส่ไบนารีในไฟล์. diff.gz ดังนั้น tarball ดั้งเดิมจึงได้รับการแก้ไข (ซึ่งโดยปกติจะอธิบายไว้อย่างชัดเจนในเอกสารประกอบสำหรับแพ็คเกจ)

บางครั้ง (น้อยมาก) การออกใบอนุญาตเป็นปัญหา มันเกิดขึ้นที่ต้นน้ำไม่เข้าใจหรือต้องการที่จะเข้าใจความหมายเนื่องจากใบอนุญาตบางอย่าง Debian ต้องการแก้ไขปัญหาสิทธิ์การใช้งานทั้งหมดดังนั้นจึงเกิดขึ้นที่เดเบียนแพทช์ทำบางสิ่งบางอย่างหรือ tarball ดั้งเดิมถูกปล้นจากไฟล์ที่แจกจ่ายผิดกฎหมาย

นอกจากนี้ยังเกิดขึ้นว่าเนื้อหาบางส่วนได้รับใบอนุญาตเพื่อให้คุณสามารถใช้งานได้ แต่ไม่แจกจ่าย โดยปกติ (fe for msttcorefonts, flashplugin-nonfree) แพ็คเกจ debian เป็นเพียงตัวติดตั้งสำหรับแพ็คเกจบางประเภทเท่านั้นและไม่มีเนื้อหาต้นฉบับอยู่ภายในแพ็คเกจ

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


Pine กำลังได้รับการพัฒนาเป็นอัลไพน์เพื่อแก้ไขปัญหาลิขสิทธิ์ดั้งเดิม - washington.edu/pine
theotherreceive

pineแพคเกจยังคงอยู่ในพื้นที่เก็บข้อมูล แต่นี่เป็นวิธีการออกใบอนุญาตที่ทำให้สิ่งต่างๆยากขึ้น
liori

2

เหตุผลอาจจะมากเท่าที่มีผู้ดูแลและแพ็คเกจ ฉันเดาว่าโดยปกติแล้วพวกเขาจะปรับเปลี่ยนซอฟต์แวร์เพื่อให้สามารถทำงานร่วมกับซอฟต์แวร์อื่น ๆ ใน distro ได้ดีขึ้นหรือเพื่อเพิ่มคุณสมบัติที่ไม่ได้อยู่ในรุ่น "ทางการ"

คุณสามารถรับแหล่งที่มา (และ Ubuntu เฉพาะที่แตกต่าง) โดยการพิมพ์ sudo apt-get source PACKAGENAMEที่บรรทัดคำสั่ง มันจะดาวน์โหลดแหล่งที่มาของวานิลลาและความแตกต่างของแพคเกจไปยังไดเรกทอรีปัจจุบัน พวกเขามักจะรวมถึงความคิดเห็นบางอย่างในแหล่งที่มา


1

คิดแบบนี้ หากคุณติดตั้งโปรแกรมจากแหล่ง tarball ดั้งเดิมผ่าน./configure; make; make installคุณยังคงมีงานที่ต้องทำ คุณต้องทำรายการเมนูคุณต้องตั้งค่าไฟล์ config และอื่น ๆ คุณอาจจะต้องให้ การเปลี่ยนแปลงของผู้ดูแลระบบ distro มักจะไม่ใช่แค่งานอัตโนมัติระดับโลกเท่านั้น./configure--prefix

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.