Проведем первые практика de пакет с об / мин, и он будет упаковывать движок игры, в которую мы хотим играть. Без него игра не работала бы. |
Все, что тебе нужно - это любовь
Файлы SPEC доступны в openSUSE они послужили источником вдохновения.
Скачать исходный код
Вам нужно будет скачать исходники и поместить их в папку SOURCES.
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
Вот как выглядит полный файл с большим количеством комментариев, объясняющих каждый раздел:
# Название пакета.
# По стандарту убираем умляут на "о".
Имя: любовь
# Версия в соответствии с исходным автором пакета (апстрим)
Версия: 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-% version, и если он не найден, это приведет к ошибке.
% настройка -q -n% имя-ГОЛОВКА
# Как известно, текстовые файлы, созданные в Windows, оканчиваются на rn,
# в то время как в * nix они заканчиваются только на n. Так что к лучшему
# совместимость, мы удалим r в прилагаемой документации.
sed -i 's / r //' * .txt
##########
# В этом разделе мы скомпилируем исходный код
% build
# Это то же самое, что и выполнение `. / Configure` с кучей дополнительных параметров, которые
# сделать так, чтобы нам было проще не делать ошибок.
% configure
# Добавить параметры по умолчанию, если они есть.
# В моем случае это расширяется до `make -j3`.
сделать% {? _ smp_mflags}
##########
# Здесь мы установим программу в% buildroot.
% install
# Как `make install` со многими обязательными предопределенными параметрами.
% make_install
##########
# Здесь мы проверяем установленные файлы
% файлов
# Мы укажем файлы документации с этой функцией
% doc changes.txt license.txt readme.txt
# Затем вам нужно перечислить все файлы, которые будут установлены.
# Единственный файл, который будет установлен, это / usr / bin / love, или что то то же самое:
% _bindir /% имя
##########
# Наконец, вы должны заполнить журнал изменений в пакете
% список изменений
* Пт, 18 ноября 2011 г., Жайрот Льопис0.7.2-1 @ domain.com>
- Изначальный выпуск
Перед созданием пакета у нас есть последний шаг: установка зависимостей. Воспользуемся утилитой из пакета вкусняшки чтобы прочитать их прямо из только что созданного файла.
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 / любовь-0.7.2-1.fc16.src.rpm: Source RPM готов легко изменить пакет. Он включает файл SPEC, исходный код и исправления.
вы можете сделать учебник по упаковке .deb
Какой хороший учебник, я также хотел бы, чтобы вы сделали его для .deb
очень хорошо