Ние ще изпълним първата практика de пакет с обороти в минута, и той ще опакова двигателя на играта, която искаме да играем. Без него играта нямаше да работи. |
Всичко от което се нуждаеш е любов
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 Llopis0.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 файла, изходния код и корекциите.
можете да направите урок за опаковане .deb
Какъв добър урок, бих искал също да направите такъв за .deb
Muy BUENO