IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Измерительная техника, инструменты [278]
    Drones, boats, cars... [99]
    Накопители данных [186]
    Гаджеты для спорта и здоровья... [166]
    Автомобильные гаджеты... [159]
    Сети, сетевые технологии, оборудование... [211]
    Гаджеты, аксессуары... [604]
    News IT, Это интересно, ликбез... [1048]
    Linux и не только [4195]
    Windows 10... [271]
    Планшеты [738]
    Нетбуки, Ноутбуки, Ультрабуки [618]
    Смартфоны, фаблеты.. [4986]
    GPS-навигаторы, трекеры... [49]
    Видеорегистраторы [195]
    mini computers и не только... [365]
    Своими руками [322]
    CB, LPD, PMR- связь... [110]
    Smart TV, UltraHD, приставки, проекторы... [404]
    Радар-детекторы [22]
    DECT, IP-телефоны [18]
    Мультиварки, блендеры и не только... [122]
    Smart Watch [225]
    Блоки питания, Power Banks, зарядки... [340]
    Sound: наушники, плееры, усилители... [568]
    Безопасность IT [478]
    Электронные книги [75]
    Роботы-пылесосы [26]
    electric cars [28]
    Фотокамеры, объективы, искусство фотографии.. [433]
    Время

    Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1243
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2014 » Март » 10 » Как собрать .deb пакет
    16:45
    Как собрать .deb пакет

    Как собрать .deb пакет

    В любом дистрибутиве GNU/Linux, имеющем на борту пакетный менеджер, приветствуется установка программного обеспечения строго из пакетов. В какой-то момент может возникнуть ситуация, что проще собрать пакет, чем компилировать и устанавливать классическим методом «./configure && make && sudo make install», например, если некоторая программа необходима нескольким коллегам, среди которых не каждый в состоянии понять почему сборка из сорцов не удалась.

    Если Вы намереваетесь создавать пакеты, которые могу/будут входить в официальный репозиторий Debian, то для начала стоит ознакомится со следующими материалами:

    Но, если Вам просто нужно понять, как собрать .deb пакет, здесь и сейчас, то добро пожаловать под кат.

    Сборка из исходников

    GPG ключ

    Первое, что необходимо, это сгенерировать gpg ключ, если его еще нет, так как пакет, при создании, будет подписан этим ключом:

    gpg --gen-key

    Важно помнить, что на дальнейших этапах необходимо будет использовать те же самые имя и email, что использовались при создании ключа.

    Для того, что бы использовать данный ключ для подписи делаем следующее:

    gpg -a --output ~/.gnupg/YOUR_NAME.gpg --export 'YOUR NAME'

    После чего:

    gpg --import ~/.gnupg/YOUR_NAME.gpg

    Все, ключ готов.

    Подготовка окружения

    Установим необходимые для сборки пакеты:

    sudo apt-get install build-essential autoconf automake \
    autotools-dev dh-make debhelper devscripts fakeroot \
    xutils lintian pbuilder

    Получение и подготовка исходников

    Разархивируем исходники и переименуем директорию в формат имя-версия, важно, что бы название директории было в нижнем регистре. После этого, на одном уровне с этой директорией необходимо разместить архив с исходниками, например, в формате tar.gz (можно просто создать архив с директорией, которую только что создали).

    Пример:

    mkdir -p ~/build/memcached/1.4.17
    cd ~/build/memcached/1.4.17
    wget -c http://www.memcached.org/files/memcached-1.4.17.tar.gz
    tar -xzf memcached-1.4.17

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

    Первое что мы сделаем — подготовим структуру и информацию о нашем пакете.

    cd ~/build/memcached/1.4.17/memcached-1.4.17
    dh_make -e youremail@address -f ../memcached-1.4.17.tar.gz

    Не забываем, что необходимо использовать тот же email, что использовался при генерации ключа. После выполнения данной команды в терминале появится следующее приглашение:

    Type of package: single binary, indep binary, multiple binary,
     library, kernel module, kernel patch?
    [s/i/m/l/k/n/b]

    Выберем пока самый простой вариант — s

    В нашей директории появилась новая поддиректория — debian, которая содержит файлы, необходимые для дальнейшей сборки. Теперь отредактируем информацию о нашем пакете.

    Файл «control»

    Source: memcached
    Section: unknown
    Priority: optional
    Maintainer: YOUR NAME <your @email.org>
    Build-Depends: debhelper (>= 8.0.0), autotools-dev
    Standards-Version: 3.9.4
    Homepage: <insert the upstream URL, if relevant>

    Package: memcached
    Architecture: any
    Depends: ${shlibs:Depends}, ${misc:Depends}
    Description: </insert><insert up to 60 chars description>
      </insert><insert long description, indented with spaces>

    Добавим зависимости и описание пакета

    # Смотрим зависимости
    dpkg-depcheck -d ./configure

    В терминале видем следующее:

    Packages needed:
      mime-support
      libsigsegv2:amd64
      gawk
      libevent-dev

    Теперь изменим файл debian/control, учитывая эти зависимости и добавим необходимую информацию:

    Source: memcached
    Section: web
    Priority: optional
    Maintainer: YOUR NAME <your @email.org>
    Build-Depends: debhelper (>= 8.0.0), autotools-dev,
     mime-support, libsigsegv2, gawk, libevent-dev
    Standards-Version: 3.9.4
    Homepage: http://memcached.org/

    Package: memcached
    Architecture: any
    Depends: ${shlibs:Depends}, ${misc:Depends}
    Description: High-performance, distributed memory object caching system
      Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects)
    from results of database calls, API calls, or page rendering.

    Файл «copyright»

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

    Файл «changelog»

    Этот файл автоматически заполняется при вызове dh_make, важно убедиться, что указанный в файле email тот же, что использовался для генерации gpg-ключа.

    Сборка

    dpkg-buildpackage -rfakeroot

    Если не было допущено ошибок на предыдущих этапах, то в процессе сборки будет получено приглашение ввести пароль от gpg-ключа, после ввода которого в директории на уровень выше появятся файлы:

    • memcached_1.4.17-1_amd64.changes
    • memcached_1.4.17-1_amd64.deb
    • memcached_1.4.17-1.dsc
    • memcached_1.4.17-1.debian.tar.xz
    • memcached_1.4.17.orig.tar.gz

    Как видите, сборка производилась на платформе x86_64. Нужна другая платформа — не проблема.

    Сборка под другую платформу

    Для сборки, например, под платформу i386 нам понадобится pbuilder — система автоматической сборки, работающая в chroot.

    sudo pbuilder --create --architecture i386
    sudo pbuilder --update
    sudo pbuilder --build ../memcached_1.4.17-1.dsc

    Готовый пакет можно будет забрать из директории /var/cache/pbuilder/result

    Пересборка пакета

    Если в дальнейшем необходимо будет изменить сожержимое пакета, то после внесения изменений необходимо выполнить:

    dpkg-buildpackage -rfakeroot -b


    http://lushpai.org/kak-sobrat-deb-paket/
    Категория: Linux и не только | Просмотров: 618 | Добавил: laptop | Рейтинг: 4.0/1
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Погода
    Погода в Нью-Йорке Погода в Бреcте
    Поиск
    Календарь
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2019