บรรจุภัณฑ์ RPM ส่วนที่ 3: บรรจุLÖVE

เราจะดำเนินการครั้งแรก การปฏิบัติ de แพ็คด้วย RPMและมันจะบรรจุเอนจิ้นของเกมที่เราต้องการเล่น หากไม่มีเกมนี้จะไม่ทำงาน

สิ่งที่คุณต้องการคือLÖVE

ความรัก เป็นเครื่องมือสำหรับเกม 2 มิติที่เขียนด้วย Luaและ ไม่ใช่ Tetris 2 มันเป็นเกมที่สร้างขึ้นสำหรับเครื่องยนต์ดังกล่าว เนื่องจากการอ้างอิงขึ้นอยู่กับ libmpg123 พวกเขาไม่ได้อยู่ในที่เก็บอย่างเป็นทางการดังนั้นจึงเหมาะสำหรับการสอน

ไฟล์ SPEC ที่มีอยู่ใน openSUSE พวกเขาทำหน้าที่เป็นแรงบันดาลใจ

ดาวน์โหลดซอร์สโค้ด

คุณจะต้องดาวน์โหลดแหล่งที่มาและวางไว้ในโฟลเดอร์ SOURCES

cd ~ / rpmbuild / SOURCES
wget https://bitbucket.org/rude/love/downloads/love-0.7.2-linux-src.tar.gz

สร้างเทมเพลตข้อมูลจำเพาะเปล่า

คำสั่งนี้จะสร้าง รัก.สเป็ค. ใน RPM ชื่อของไฟล์มีความสำคัญมากเนื่องจาก ระบบการตั้งชื่อเป็นมาตรฐาน เพื่อบ่งบอกถึงหลาย ๆ อย่างเช่นสถาปัตยกรรมเวอร์ชันรีลีสดิสโทร ฯลฯ

cd ~ / rpmbuild / SPECS
rpmdev- หนังสือพิมพ์รัก

เราจะเปิดไฟล์ที่สร้างขึ้นใหม่ ~ / rpmbuild / SPECS / love.spec. คุณจะเห็นว่าเป็นเทมเพลตเปล่า ส่วนแรกฉันคิดว่าค่อนข้างอธิบายตัวเองได้ เราจะเติมด้วย ข้อมูลที่พบในหน้าอย่างเป็นทางการ.

กรอกเทมเพลตและสร้าง SPEC แรกของเรา

ฉันใส่ลักษณะของไฟล์ที่สมบูรณ์พร้อมความคิดเห็นมากมายที่อธิบายแต่ละส่วน:

# ชื่อแพ็กเกจ
# ตามมาตรฐานเราจะลบเครื่องหมาย umlaut เป็น "o"
ชื่อ: ความรัก

# เวอร์ชันตามผู้เขียนดั้งเดิมของแพ็คเกจ (ต้นน้ำ)
เวอร์ชัน: 0.7.2

# รุ่นบรรจุภัณฑ์. ทุกครั้งที่เราแก้ไขแพคเกจเราจะเพิ่มหนึ่งใน
# เบอร์นี้. ทางนี้ยำรู้มาอัพเดท
ปล่อย: 1% {? dist}

# คำอธิบายสั้น ๆ ของแพ็คเกจ
สรุป: LÖVEเป็นเอ็นจิ้นเกม 2 มิติฟรีสำหรับการสร้างเกมที่ง่ายใน Lua


# ใบอนุญาต (แค่ชื่อ)
ใบอนุญาต: ZLIB

# เว็บไซต์โปรแกรม
URL: http://love2d.org/

# URL ที่แน่นอนซึ่งโดยปกติจะดาวน์โหลดแหล่งที่มาดั้งเดิม
# ในไฟล์เก็บถาวร. tar.gz, .zip หรือสิ่งที่คล้ายกัน
#
# อย่างที่คุณเห็นเราใช้มาโครดังนั้นหากเราอัปเดตแพ็คเกจเราจะไม่ต้องทำ
# แก้ไขบรรทัดนี้ มาโคร "ชื่อ" และ "เวอร์ชัน" มาจากอะไร
# เราได้ระบุไว้ข้างต้น
ที่มา 0: https://bitbucket.org/rude/%name/downloads/%name-%version-linux-src.tar.gz


# การพึ่งพาที่จำเป็นในการสร้างแพ็คเกจ
# เรารู้เรื่องนี้เพราะเขาแปะไว้ในเว็บของเขา
BuildRequires: flac-devel
BuildRequires: freetype-devel
BuildRequires: glibc-devel
BuildRequires: libmpg123-devel
BuildRequires: libmodplug-devel
BuildRequires: physfs-devel
BuildRequires: mesa-libGL-devel
BuildRequires: openal-soft-devel
BuildRequires: DevIL-devel
BuildRequires: libvorbis-devel
BuildRequires: SDL-devel
BuildRequires: libmng-devel
BuildRequires: libtiff-devel
BuildRequires: lua-devel


-
# คำอธิบายแพ็คเกจแบบยาว
คำอธิบาย%
LÖVEเป็นเกมเอนจิ้น 2 มิติที่ยอดเยี่ยมอย่างไม่ต้องสงสัยซึ่งช่วยให้เล่นเกมได้รวดเร็ว
การพัฒนาและการสร้างต้นแบบในลัวะ

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


-
# ในส่วนนี้เราจะเตรียมแหล่งที่มาเพื่อรวบรวมและใช้ไฟล์
# แพทช์ถ้าคุณมี
% เตรียม

# มาโครนี้เป็นฟังก์ชันที่คลายการบีบอัดแหล่งที่มาดั้งเดิม
# เราระบุ 2 พารามิเตอร์:
# -q: โหมดเงียบ อย่าส่งข้อความสำหรับแต่ละไฟล์
# คลายซิป
# -n% name-HEAD: ในกรณีนี้เมื่อมีการสร้างการคลายซิปไดเร็กทอรีขึ้น
#% ชื่อ - หัว หากเราไม่ได้ระบุสิ่งนี้โปรแกรมจะค้นหา
# หนึ่งเรียกว่ารุ่น% name-% และไม่พบว่าจะทำให้เกิดข้อผิดพลาด
% setup -q -n% name-HEAD

# อย่างที่คุณทราบไฟล์ข้อความที่สร้างใน Windows ลงท้ายด้วย rn
# ในขณะที่ * nix ลงท้ายด้วย n เท่านั้น เพื่อสิ่งที่ดีกว่า
# ความเข้ากันได้เราจะลบ r ในเอกสารที่ให้มา
sed -i 's / r //' * .txt


-
# ในส่วนนี้เราจะรวบรวมซอร์สโค้ด
% สร้าง

# นี่ก็เหมือนกับการทำ ". / Configure` ด้วยพารามิเตอร์พิเศษมากมายที่
# ทำให้เราไม่ผิดพลาดได้ง่ายๆ
กำหนดค่า%

# เพิ่มตัวเลือกเริ่มต้นที่จะสร้างถ้ามี
# ในกรณีของฉันสิ่งนี้ขยายเป็น "make -j3"
สร้าง% {? _ smp_mflags}


-
# ที่นี่เราจะติดตั้งโปรแกรมภายใน% buildroot
% ติดตั้ง

# ชอบ "ทำการติดตั้ง" ด้วยพารามิเตอร์ที่กำหนดไว้ล่วงหน้าที่จำเป็นมากมาย
% make_install


-
# ที่นี่เราตรวจสอบไฟล์ที่ติดตั้ง
% ไฟล์

# เราจะระบุไฟล์ที่เป็นเอกสารพร้อมฟังก์ชั่นนี้
% doc changes.txt license.txt readme.txt

# ถัดไปคุณต้องแสดงรายการไฟล์ทั้งหมดที่จะติดตั้ง
# ไฟล์เดียวที่จะติดตั้งคือ / usr / bin / love หรืออะไรที่เหมือนกัน:
ชื่อ% _bindir /%


-
# สุดท้ายคุณต้องกรอกบันทึกการเปลี่ยนแปลงแพ็คเกจ
% การเปลี่ยนแปลง
* ศ. 18 พ.ย. 2011 Jairot Llopis 0.7.2-1
- การเปิดตัวครั้งแรก
@ domain.com>

เรามีขั้นตอนสุดท้ายก่อนสร้างแพ็คเกจ: การติดตั้งการอ้างอิง เราจะใช้ยูทิลิตี้จากแพ็คเกจ yum-utils เพื่ออ่านโดยตรงจากไฟล์ที่เราเพิ่งสร้างขึ้น

sudo yum-builddep ~ / rpmbuild / SPECS / love.spec

ที่ควรพอเพียง ต่อไปเราจะสร้างแพ็คเกจ

rpmbuild -ba ~ / rpmbuild / SPECS / love.spec

พร้อม! เรามีแพ็คเกจของเราแจกจ่ายในแผนผังไดเรกทอรีแล้ว เราจะมี:

  • ~/rpmbuild/RPMS/x86_64/love-0.7.2-1.fc16.x86_64.rpm: RPM พร้อมติดตั้ง
  • ~ / rpmbuild / SRPMS / love-0.7.2-1.fc16.src.rpm: Source RPM พร้อมที่จะแก้ไขแพ็คเกจได้อย่างง่ายดาย ซึ่งรวมถึงไฟล์ SPEC ซอร์สโค้ดและแพตช์
อย่างไรก็ตามการมีเอนจิ้นเกมจะไม่ทำให้เราดีขึ้นด้วยตัวมันเอง ในงวดหน้าเราจะมาดูกันว่า สร้างเกมเอง.


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   สวอตช์ dijo

    คุณสามารถทำแบบฝึกหัดสำหรับบรรจุภัณฑ์. deb

  2.   ลูคัสมาติอัสโกเมซ dijo

    ช่างเป็นบทช่วยสอนที่ดีฉันอยากให้คุณทำสำหรับ. deb

  3.   Portaro dijo

    muy bueno