Инструменты пользователя

Инструменты сайта


ru:rpm_build_howto

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
ru:rpm_build_howto [2010/09/05 23:21] – внешнее изменение 127.0.0.1ru:rpm_build_howto [2019/04/28 13:53] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
-#summary|RPM-build HOWTO with rpm-based linux +====== RPM-build HOWTO with rpm-based Linux ======
-#labels linux,Mandriva+
  
-*Сборка RPM-пакета для RPM-based дистрибутивов (HOWTO)*+===== Сборка RPM-пакета для RPM-based дистрибутивов (HOWTO) =====
  
-_Примечание:_ пример сборки приведён на базе дистрибутива Mandriva Linux 2008.1 поэтому названия некоторых пакетов могут отличаться в вашем дистрибутиве. Также предполагается, что пакет будет собираться на чистой системе, т.е. без установленного необходимого ПО для этого.+__**Примечание**__Пример сборки приведён на базе дистрибутива Mandriva Linux 2008.1 поэтому названия некоторых пакетов могут отличаться в вашем дистрибутиве. Также предполагается, что пакет будет собираться на чистой системе, т.е. без установленного необходимого ПО для этого.
  
-*Шаг 1.Подготовка системы для сборки пакета.+==== Шаг 1. Подготовка системы для сборки пакета ====
  
 Прежде всего надо установить необходимое программное обеспечение. Для этого необходимо ввести следующие команды: Прежде всего надо установить необходимое программное обеспечение. Для этого необходимо ввести следующие команды:
 +
  
 <code> <code>
Строка 16: Строка 16:
 </code> </code>
  
-*Шаг 2.* После установки ПО необходимо подготовить среду для работы программы rpm-build 
  
-_Примечание:_ замените выражение $USER на имя вашего пользователя в системе 
  
-В каталоге */home/$USER/создаём файл *.rpmmacros* со следующим содержимым:+==== Шаг 2. После установки ПО необходимо подготовить среду для работы программы rpm-build ==== 
 + 
 +__**Примечание**__: Замените выражение //$USER// на имя вашего пользователя в системе 
 + 
 +В каталоге ///home/$USER/// создаём файл **.rpmmacros** со следующим содержимым:
  
 <code> <code>
Строка 36: Строка 38:
 </code> </code>
  
-_Примечание:_ создать персональный ключ можно командой *gpg --gen-key* +__**Примечание**__Создать персональный ключ можно командой **gpg --gen-key**. Посмотреть идентификатор ключа можно командой **gpg --list-key** в секции pub после слэша ("/").
-посмотреть идентификатор ключа можно командой *gpg --list-key* в секции pub после слэша ("/").+
  
 Далее создаём необходимые директории: Далее создаём необходимые директории:
Строка 54: Строка 55:
 Теперь ваша система готова для сборки RPM-пакета. Теперь ваша система готова для сборки RPM-пакета.
  
-P.S. для создания необходимых файлов и папок(применительно к Mandriva)можно воспользоваться скриптом [[http://wiki.mandriva.com/ru/uploads/3/3a/Rpmsetup.sh|Rpmsetup.sh]] , а так же полезно ознакомиться с информацией отсюда: http://wiki.mandriva.com/ru/Development/Howto/RPM+__**P.S.**__ Для создания необходимых файлов и папок (применительно к Mandriva) можно воспользоваться скриптом [[http://wiki.mandriva.com/ru/uploads/3/3a/Rpmsetup.sh|Rpmsetup.sh]], а также полезно ознакомиться с информацией [[http://wiki.mandriva.com/ru/Development/Howto/RPM|отсюда]].
  
-*Шаг 3.Подготовка исходных кодов для сборки пакета+ 
 + 
 + 
 +==== Шаг 3. Подготовка исходных кодов для сборки пакета ====
  
 Теперь нам необходимо получить исходные коды и патчи. Теперь нам необходимо получить исходные коды и патчи.
Строка 80: Строка 84:
 </code> </code>
  
-Далее нам нужно исправить в файле *applicationinfo.cpp* текущую ревизию, заменить _ХХХна значение текущей ревизии из svn. +Далее нам нужно исправить в файле **applicationinfo.cpp** текущую ревизию, заменить __ХХХ__ на значение текущей ревизии из svn. 
-Для этого нужно создать следующий файл *rev.sh* в каталоге *psi_dev*+ 
 +Для этого нужно создать следующий файл **rev.sh** в каталоге //psi_dev//. 
 <code> <code>
 #!/bin/sh #!/bin/sh
Строка 97: Строка 103:
 Теперь исходный код Psi+ готов для сборки. Теперь исходный код Psi+ готов для сборки.
  
-*Способ 1.С помощью утилиты *checkinstall*+ 
 + 
 + 
 +==== Шаг 4. Сборка пакета ==== 
 + 
 + 
 +=== Способ 1. С помощью утилиты checkinstall ===
  
 Переходим в каталог с исходными кодами программы и выполняем команды конфигурирования и сборки Переходим в каталог с исходными кодами программы и выполняем команды конфигурирования и сборки
Строка 106: Строка 118:
 </code> </code>
  
-Здесь вместо команды *make install* вводим команду *checkinstall*, которая соберёт пакет и поместит его в каталог *BUILD_ROOT/RPMS*, однако придётся ответить на некоторые вопросы.+Здесь вместо команды **make install** вводим команду **checkinstall**, которая соберёт пакет и поместит его в каталог **BUILD_ROOT/RPMS**, однако придётся ответить на некоторые вопросы. 
 + 
 + 
  
-*Способ 2.С помощью утилиты rpm-build и spec-файла+=== Способ 2. С помощью утилиты rpm-build и spec-файла ===
  
-После того, как были наложены патчи, необходимо запаковать папку psi в архив и скопировать её в *BUILD_ROOT/SOURCES*+После того, как были наложены патчи, необходимо запаковать папку //psi// в архив и скопировать её в **BUILD_ROOT/SOURCES**
  
 <code> <code>
Строка 118: Строка 133:
 </code> </code>
  
-Далее в каталоге *BUILD_ROOT/SPECSсоздаём файл *psi.spec* следующего содержания:+Далее в каталоге //BUILD_ROOT/SPECS// создаём файл **psi.spec** следующего содержания:
  
 <code> <code>
-Summary: Client application for the Jabber network+Summary: Client application for the XMPP network
 Name: psi Name: psi
 Version: 0.14_dev Version: 0.14_dev
Строка 129: Строка 144:
 URL: http://code.google.com/p/psi-dev/ URL: http://code.google.com/p/psi-dev/
 Source0: %{name}-%{version}.tar.gz Source0: %{name}-%{version}.tar.gz
 +
  
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 +
  
 BuildRequires: openssl-devel, gcc-c++, zlib-devel BuildRequires: openssl-devel, gcc-c++, zlib-devel
 %{!?_without_freedesktop:BuildRequires: desktop-file-utils} %{!?_without_freedesktop:BuildRequires: desktop-file-utils}
 +
  
 %description %description
 Psi is the premiere Instant Messaging application designed for Microsoft Windows,  Psi is the premiere Instant Messaging application designed for Microsoft Windows, 
-Apple Mac OS X and GNU/Linux. Built upon an open protocol named Jabber+Apple Mac OS X and GNU/Linux. Built upon an open protocol named XMPP
 si is a fast and lightweight messaging client that utilises the best in open  si is a fast and lightweight messaging client that utilises the best in open 
 source technologies. The goal of the Psi project is to create a powerful, yet  source technologies. The goal of the Psi project is to create a powerful, yet 
-easy-to-use Jabber/XMPP client that tries to strictly adhere to the XMPP drafts. +easy-to-use XMPP client that tries to strictly adhere to the XMPP drafts. 
-and Jabber JEPs. This means that in most cases, Psi will not implement a feature  +and XMPP JEPs. This means that in most cases, Psi will not implement a feature  
-unless there is an accepted standard for it in the Jabber community. Doing so +unless there is an accepted standard for it in the XMPP community. Doing so 
 ensures that Psi will be compatible, stable, and predictable, both from an end-user  ensures that Psi will be compatible, stable, and predictable, both from an end-user 
 and developer standpoint. and developer standpoint.
 +
  
 %prep %prep
 %setup %setup
 +
  
 %build %build
Строка 161: Строка 181:
         --qtdir="$QTDIR"         --qtdir="$QTDIR"
 %{__make} %{?_smp_mflags} %{__make} %{?_smp_mflags}
 +
  
 %install %install
 %{__rm} -rf %{buildroot} %{__rm} -rf %{buildroot}
 +
  
 %{__make} install INSTALL_ROOT="%{buildroot}" %{__make} install INSTALL_ROOT="%{buildroot}"
 +
  
 # Install the pixmap for the menu entry # Install the pixmap for the menu entry
 %{__install} -Dp -m0644 iconsets/system/default/logo_128.png}} \ %{__install} -Dp -m0644 iconsets/system/default/logo_128.png}} \
     %{buildroot}%{_datadir}/pixmaps/psi.png}} ||:     %{buildroot}%{_datadir}/pixmaps/psi.png}} ||:
 +
  
 %post %post
Строка 178: Строка 202:
 touch --no-create %{_datadir}/icons/hicolor || : touch --no-create %{_datadir}/icons/hicolor || :
 %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
 +
  
 %clean %clean
 %{__rm} -rf %{buildroot} %{__rm} -rf %{buildroot}
 +
  
 %files %files
Строка 194: Строка 220:
 </code> </code>
  
-Переходим в каталог *BUILD_ROOT/SPECSи запускаем сборку пакета+Переходим в каталог //BUILD_ROOT/SPECS// и запускаем сборку пакета
  
 <code> <code>
Строка 201: Строка 227:
 </code> </code>
  
-Опция *-bb* указывает программе на сборку бинарного пакета. После удачной сборки пакет можно забрать из директории *BUILD_ROOT/RPMS/iXXX(в зависимости от архитектуры) и установить командой:+Опция **-bb** указывает программе на сборку бинарного пакета. После удачной сборки пакет можно забрать из директории //BUILD_ROOT/RPMS/iXXX// (в зависимости от архитектуры) и установить командой:
  
 <code> <code>
Строка 207: Строка 233:
 </code> </code>
  
-_Примечание:_ имя пакета приведено для примера.+__**Примечание**__Имя пакета приведено для примера.
  
-Также можно добавить цифровую подпись для пакета, сделать это можно с помощью следующей команды+Также можно добавить цифровую подпись для пакета, сделать это можно с помощью следующей команды:
  
 <code> <code>
 rpm --addsign psi-0.13_dev-3.mdv2008.1.i586.rpm rpm --addsign psi-0.13_dev-3.mdv2008.1.i586.rpm
 </code> </code>
 +
 +
 +
 +
ru/rpm_build_howto.1283728882.txt.gz · Последнее изменение: 2010/10/17 15:36 (внешнее изменение)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki