Главная > HOWTO > Собираем RPM пакет Sublime Text 2 для Linux

Собираем RPM пакет Sublime Text 2 для Linux

В данном HOWTO мы подробно рассмотрим процесс ручной сборки RPM пакета для замечательного программистского редактора Sublime Text 2 для RPM based дистрибутивов GNU/Linux.

Введение

Данный редактор распространяется на официальном сайте только в виде тарбола и его предлагается распаковывать в домашний каталог. Если же у вас (как и у меня) домашний каталог смонтирован с флагом noexec, запрещающем исполнение, то единственный способ использовать редактор — установить его в систему.

Устанавливать «в лоб» в пакетных дистрибутивах категорически не рекомендуется, т.к. это превращает систему в Slackware. Именно поэтому мы соберём и установим RPM пакет.

Установленная с помощью RPM пакета программа будет доступна для всех пользователей системы.

Шаг 1. Загрузка архива с приложением

Загрузите последнюю версию программы с её официального сайта для используемой вами платформы (поддерживаются x86 (i686) и x86_64).

Шаг 2. Подготовка к сборке

Установите в систему средство сборки RPM-пакетов — rpmbuild (в openSUSE пакет так и называется rpmbuild, а в Fedora/CentOS/RHEL — rpm-build). Для установки rpmbuild в систему на Fedora/CentOS/RHEL выполните:

sudo yum -y install rpm-build

На openSUSE:

sudo zypper install rpmbuild

Скопируйте распакованный на шаге 2 архив с бинарниками в каталог, доступный утилите rpmbuild (пример показан для версии 2.0.1 платформы x86_64):

cd ~
mkdir -p ~/rpmbuild/SOURCES/
cp -f "Sublime Text 2.0.1 x64.tar.bz2" ~/rpmbuild/SOURCES/

Загрузите файл со спецификациями для сборки пакета:

cd ~
wget https://github.com/xvitaly/sublrpm/raw/master/sublime.spec

Шаг 3. Сборка пакета

В терминале выполните команду для запуска сборки:

rpmbuild -ba sublime.spec

В случае успеха в каталоге ~/rpmbuild/RPMS/i686/ (на 32-битных системах) или ~/rpmbuild/RPMS/x86_64/ (на 64-битных) вы получите собранный RPM пакет.

Шаг 4a. Установка пакета на i686 системах

Установите пакет в систему. На Fedora/CentOS/RHEL:

sudo yum -y localinstall ~/rpmbuild/RPMS/i686/sublimetext*

На openSUSE:

sudo zypper install ~/rpmbuild/RPMS/i686/sublimetext*.rpm

Шаг 4b. Установка пакета на x86_64 системах

Если у вас 64-разрядная система, выполните на Fedora/CentOS/RHEL:

sudo yum -y localinstall ~/rpmbuild/RPMS/x86_64/sublimetext*

На openSUSE:

sudo zypper install ~/rpmbuild/RPMS/x86_64/sublimetext*.rpm

Заключение

При сборке пакета rpmbuild загрузит из репозитория на GitHub и файл sublimetext.desktop, что обеспечит создание значка запуска программы Sublime Text 2 в большинстве десктопных сред.

Категории:HOWTO Метки:, , , , , ,
  1. Илья
    28 марта 2013 в 12:30 | #1

    Спасибо за интересную статью.

    К сожалению, установка пакета требует libffi.so.5, которую найти не представляется возможным.

    Поскажите, что делать…

    П.С. Я пользуюсь openSUSE 12.3 архитектура AMD.

  2. 28 марта 2013 в 19:45 | #2

    Илья :

    К сожалению, установка пакета требует libffi.so.5, которую найти не представляется возможным.

    Скачайте SPEC-файл, откройте его любым текстовым редактором (vim, mcedit, kwrite и т.д.) и закомментируйте или удалите строку 28. После этого соберите пакет отредактированным спеком.

  3. Илья
    30 марта 2013 в 16:21 | #3

    @V1TSK
    Спасибо, помогло!

    П.С. А как можно добавить иконку в список аппликаций? Я тут прикрепил скриншот с вышеупомянутым дефектом:

    http://s8.postimg.org/tobh6bq79/snapshot1.png

  4. 31 марта 2013 в 10:37 | #4

    Илья :

    П.С. А как можно добавить иконку в список аппликаций? Я тут прикрепил скриншот с вышеупомянутым дефектом:

    Проверьте существование файла, прописанного в директиве Icon файла /usr/share/applications/sublimetext.desktop. В Fedora значок отображается корректно.

  5. Илья
    31 марта 2013 в 14:01 | #5

    Всё на месте:

    ls /usr/share/applications/sub*
    /usr/share/applications/sublimetext.desktop
    ls -al /opt/sublimetext/Icon/128x128/sublime_text.*
    -rw-r--r-- 1 root root 11334 Jul 14  2012 /opt/sublimetext/Icon/128x128/sublime_text.png
  6. 2 апреля 2013 в 12:29 | #6

    @Илья
    Тогда непонятно почему значок не отображается. Возможно в openSUSE требуется, чтобы для каждого размера (128*128, 256*256, 64*64, 32*32) был указан свой значок. Если так, то их придётся генерировать вручную ибо в оригинальном архиве есть только 128*128.

  7. Илья
    2 апреля 2013 в 13:00 | #7

    Возможно следует создать SVG-иконку?

    Тогда система сможет масштабировать ее по своему усмотрению. Я готов заняться этим, если RPM-пакеты поддерживают векторную графику.

  8. 2 апреля 2013 в 13:04 | #8

    @Илья
    RPM’у всё равно. SVG поддерживается всеми современными DE.

  9. Илья
    2 апреля 2013 в 13:17 | #9

    Я посмотрел чужой *.desktop файл, и там иконка лежала в другом каталоге:

    Icon=/usr/share/pixmaps/sublime.png

    Возможно как раз расположение иконки имеет значение для DE ? Я попробую это сегодня вечером, дома…

  10. Илья
    2 апреля 2013 в 13:27 | #10

    Я нашел документ определяющий поведение DM касательно иконок:

    h++p://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html

    >>>>Installing Application Icons

    So, you’re an application author, and want to install application icons so that they work in the KDE and Gnome menus. Minimally you should install a 48×48 icon in the hicolor theme. This means installing a PNG file in $prefix/share/icons/hicolor/48×48/apps. Optionally you can install icons in different sizes. For example, installing a svg icon in $prefix/share/icons/hicolor/scalable/apps means most desktops will have one icon that works for all sizes.

    Как вы думаете, это актуально в данной ситуации?

  11. 2 апреля 2013 в 22:18 | #11

    @Илья
    Нет, мой SPEC заставляет Sublime Text 2 размещаться в /opt/, что единственно верно для ПО с закрытым исходным кодом, коим и является ST2.

    Значок может располагаться в любом каталоге. Поддерживаются форматы PNG, SVG и ICO.

  12. 2 апреля 2013 в 22:20 | #12

    @Илья
    Можете проверить, отредактировав файл /usr/share/applications/sublimetext.desktop и скопировав значок разных разрешений в указанные каталоги. В Fedora 17-18 (с KDE 4) работает из любого каталога.

Представьтесь, пожалуйста! Если ваш комментарий предполагает ответ, мы ответим на него в ближайшее время. Адрес электронной почты должен быть действительным.


Внимание! Запрещено публиковать любые ссылки в тексте комментария, иначе он сразу же будет помечен как нежелательный и не будет опубликован на сайте.