วิธีใช้ 'apt' เพื่อรับซอร์สโค้ดจากนั้นทำการคอมไพล์แยกกัน


26

ฉันต้องการได้รับซอร์สโค้ดสำหรับโครงการแล้วสร้างมันในลักษณะเดียวกับที่เหมาะสม เช่นฉันต้องการซอร์สโค้ดที่ใช้งานได้และสามารถเรียกใช้ 'make' หรือคำสั่งที่คล้ายกันในซอร์สได้

ฉันจะทำสิ่งนั้นได้อย่างไร

โดยเฉพาะฉันต้องการได้รับแหล่งนี้ 'icedtea-6-jre-jamvm'

คำตอบ:


28

สำหรับตัวอย่างนี้ฉันจะใช้icedtea-6-jre-jamvmเป็นแพ็คเกจที่คุณต้องการสร้างใหม่

ก่อนติดตั้งการอ้างอิงทั้งหมดและสร้างสิ่งจำเป็น:

sudo apt-get build-dep icedtea-6-jre-jamvm
sudo apt-get install build-essential

จากนั้นจับแหล่งที่มา:

apt-get source icedtea-6-jre-jamvm

จากนั้น cd ในไดเรกทอรีไดเรกทอรี openjdk และสร้าง deb, -us และ -uc ที่นี่ข้าม GPG ตรวจสอบว่าคุณเพิ่งสร้างมันใหม่ด้วยตัวเอง:

cd openjdk-6-6b24-1.11.5
dpkg-buildpackage -us -uc

จากนั้นขึ้นไดเรกทอรีและคุณควรมีไฟล์. deb

แหล่งที่มา:


ว่าเป็นสิ่งที่ดีมาก! หนึ่งอุปสรรคใหญ่ในการเริ่มมีส่วนร่วมในโปรแกรมซอฟต์แวร์ฟรีคือ "ทำให้คอมไพล์" และเป็นการดีที่ได้เห็นสิ่งนี้โดยอัตโนมัติ มันจะเรียบร้อยอย่างไรก็ตามถ้าเราสามารถสร้างไบนารีและหยุดอยู่ที่นั่น (เช่นไม่สร้าง debs) เนื่องจากมันสะดวกกว่าสำหรับนักพัฒนาที่กำลังแก้ไขและคอมไพล์บ่อยครั้ง ... คุณรู้วิธีที่จะทำหรือไม่ ที่?
josinalvo

7

เพื่อรวบรวมแพคเกจเพียงใช้สคริปต์ debian / กฎที่ให้ไว้ในแต่ละแพคเกจ debain:

sudo apt-get build-dep <package>
apt-get source <package>
cd <package>_<version>
./debian/rules binary

นี่เป็นเพียงส่วนกำหนดค่าและคอมไพล์


4

คุณสามารถใช้ follwing:

apt-get source <package>

คุณต้องให้แน่ใจว่าคุณติดตั้งการพึ่งพาสร้าง:

sudo apt-get build-dep <package> 

สำหรับการเรียกใช้ข้อมูลเพิ่มเติม:

man apt-get

ตัวเลือกอื่น: ก่อนอื่นคุณต้องทราบตำแหน่งของแพ็คเกจ จากนั้นดาวน์โหลดไฟล์ tar โดยใช้:

sudo wget <url>

จากนั้นคุณสามารถถอดออกและรวบรวมโดยใช้ make

หากคุณไม่แน่ใจเกี่ยวกับคำสั่งที่เฉพาะเจาะจงดูในโฟลเดอร์ควรมีREADMEไฟล์หรือINSTALLคำสั่งที่เหมาะสม


ที่ได้รับจากเว็บไซต์โฮสต์ มีวิธีทำกับ 'apt หรือไม่ สมบูรณ์ด้วย 'apt' ลบการคอมไพล์จริง เช่นฉันจะ 'ได้รับแหล่งที่มา' และจากนั้นไปที่ไดเรกทอรีนั้น 'ทำ'
Berlin Brown

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