RPM опаковка. Част 3: опаковане LÖVE

Ние ще изпълним първата практика de пакет с обороти в минута, и той ще опакова двигателя на играта, която искаме да играем. Без него играта нямаше да работи.

Всичко от което се нуждаеш е любов

ВИЖДА е двигател за 2D игри, написани на LuaИ Не тетрис 2 това е игра, създадена за споменатия двигател. Поради зависимости, базирани на libmpg123 Те не са в официалните хранилища, така че е идеален за урока.

SPEC файлове, налични в openSUSE те са служили за вдъхновение.

Изтеглете изходния код

Ще трябва да изтеглите източниците и да ги поставите в папката ИЗТОЧНИЦИ.

cd ~ / rpmbuild / ИЗТОЧНИЦИ
wget https://bitbucket.org/rude/love/downloads/love-0.7.2-linux-src.tar.gz

Създайте празен шаблон за спецификация

Тази команда ще създаде любов.спец. В RPM името на файловете е доста важно, тъй като номенклатурата му е стандартизирана за да посочите много неща, като вашата архитектура, версия, версия, дистрибуция и т.н.

cd ~ / rpmbuild / SPECS
rpmdev-newspec любов

Ще отворим новосъздадения файл ~ / rpmbuild / SPECS / love.spec. Ще видите, че това е празен шаблон. Първата част мисля, че е доста обяснителна. Ще го напълним с информацията, намерена на официалната му страница.

Попълнете шаблона и създайте нашия първи SPEC

Поставих как изглежда целият файл с много коментари, които обясняват всеки раздел:

# Име на пакета.
# Според стандарта премахваме умлаута до "o".
Име: любов

# Версия според оригиналния автор на пакета (нагоре)
Версия: 0.7.2

# Опаковъчна версия. Всеки път, когато модифицираме пакета, ние го добавяме към
# този номер. По този начин yum знае да го актуализира.
Пускане: 1% {? Dist}

# Кратко описание на пакета
Резюме: LÖVE е безплатен 2D двигател за лесно създаване на игри в 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-разработка
BuildRequires: libmng-devel
BuildRequires: libtiff-devel
BuildRequires: lua-devel


##########
# Дълго описание на пакета
% описание
LÖVE е безспорно страхотен двигател за 2D игри, който позволява бърза игра
разработка и прототипиране в Lua.

Този проект непрекъснато се развива и промените идват и си отиват, понякога инициирани
от нас, а понякога и от препоръките на другите. Ако имате идея как
за да направим играта по-добра, силно желателно е да се свържете с нас и
кажете ни какво мислите.


##########
# В този раздел ще подготвим източниците за компилиране и прилагане на
# лепенки, ако имате такива
% подготовка

# Този макрос е функция, която декомпресира оригиналните източници.
# Посочваме 2 параметъра:
# -q: Тих режим. Не изпращайте съобщения за всеки файл
# разархивиран.
# -n% name-HEAD: В този случай при разархивиране се създава директория, наречена
#% 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“ с много необходими предварително дефинирани параметри.
% make_install


##########
# Тук проверяваме инсталираните файлове
% файлове

# Ще посочим файловете, които са документация с тази функция
% doc changes.txt лиценз.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: Изходен RPM готов да модифицира пакета с лекота. Той включва SPEC файла, изходния код и корекциите.
Наличието на игралния двигател обаче няма да ни помогне само по себе си. В следващата вноска ще видим как изградете самата игра.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   мостра каза той

    можете да направите урок за опаковане .deb

  2.   Лукас Матиас Гомес каза той

    Какъв добър урок, бих искал също да направите такъв за .deb

  3.   Портаро каза той

    Muy BUENO