Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: [HOWTO] [Wiki] Как собрать/пересобрать deb пакет  (Прочитано 125909 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Denis Konstantinov

  • Автор темы
  • Активист
  • *
  • Сообщений: 864
    • Просмотр профиля
Для начала советую прочитать

http://wiki.debian.org/DebianRussian/DebinstPackages
И тут http://gq.net.ru/2007/03/16/building-deb-packages/

ТУТ полная документация на русском http://kaliuta.basnet.by/deb/deb.html

Ниже идёт пример как можно поступить в случае если доступен только deb
пакет и нет его дебианизированных исходников.

Будем предполагать что работаем в каталоге ~/tmp
создадим подкатолог ~/tmp/someprog
чтобы распаковать файлы какого нибудь пакета нужно выполнить

dpkg -x ~./tmp/some-prog-123.deb ./someprog
Для того чтобы извлечь контрольную информацию

mkdir ~/tmp/someprog/DEBIAN

dpkg -e ~/tmp/some-prog-123.deb ./someprog/DEBIAN

ну а теперь чтобы всё это собрать обратно в пакет нужно выполнить

dpkg -b ./someprog ~/tmp/some-prog-123-new.deb
В каталоге  ~/tmp/someprog/DEBIAN
содержатся фалы описывающие что запакет от чего он зависит и контрольные суммы файлов находсщихся в нём.

Для того чтобы собрать свой пакет нужно поместить фалы в каталоге
~/tmp/someprog так ко будто это корневой каталог.

т.е. если нужно чтобы файл установился в /usr/bin
нужно его поместить в каталог ~/tmp/someprog/usr/bin
ну соответственно если что то в /etc то в ~/tmp/someprog/etc и т.д.

Затем в ~/tmp/someprog зоздать каталог DEBIAN обязательно большими буквами
и в нём файл ~/tmp/someprog/DEBIAN/control
в стом файле описывается название пакета его зависимости и описание, формат очень простой

например

Package: libcurl3
Version: 7.15.2-2
Section: libs
Priority: optional
Architecture: i386
Depends: libc6 (>= 2.3.5-1), libcomerr2 (>= 1.33-3), libidn11 (>= 0.5.18), libkrb53 (>= 1.4.2), libssl0.9.8 (>= 0.9.8a-1), zlib1g (>= 1:1.2.1), ca-certificates
Suggests: libldap2
Replaces: libcurl2 (<< 1:7.11.2-2)
Installed-Size: 324
Maintainer: Domenico Andreoli <cavok@debian.org>
Source: curl
Description: Multi-protocol file transfer library
 libcurl is designed to be a solid, usable, reliable and portable
 multi-protocol file transfer library.
 .
 SSL support is provided by OpenSSL.
 To enable LDAP support package libldap2-dev is required.
 .
 This is the shared version of libcurl.
 .
  Homepage: http://curl.haxx.se

ну а теперь собрать
dpkg -b ./someprog   some-prog-123-new.debЭтой информации достаточно чтобы собрать/пересобрать простенький пакет.
на самом деле можно ещё запускать скрипты при установке пакета при его удалении и много чего ещё, что нужно нормальному maintainer'у.

P.S.
1.официальная документация по сборке пакетов https://wiki.ubuntu.com/PackagingGuide
2.работа с ланчпадом https://help.launchpad.net/Packaging

« Последнее редактирование: 28 Января 2011, 14:23:58 от stmc »
AltYo консоль для Gtk3 в стиле консоли quake https://forum.ubuntu.ru/index.php?topic=198594.0

Оффлайн afon

  • Старожил
  • *
  • Сообщений: 1110
  • Drink Different!
    • Просмотр профиля
Re: Как собрать/пересобрать deb пакет
« Ответ #1 : 24 Марта 2006, 21:50:20 »
полезнас инфа. спасибо
Drink Different, Understand Computer.
Bye.

Оффлайн dim4ik

  • Активист
  • *
  • Сообщений: 324
  • Kubuntu / Archlinux
    • Просмотр профиля
Re: Как собрать/пересобрать deb пакет
« Ответ #2 : 07 Апреля 2006, 21:24:02 »
Цитировать
Для того чтобы извлечь контрольную информацию


Code:
mkdir ~/.tmp/someprog/DEBIAN

dpkg -x ~/.tmp/some-prog-123.deb ~/.tmp/someprog/DEBIAN

В каталоге  ~/.tmp/someprog/DEBIAN
содержатсс фалы описывающие что запакет от чего он зависит и контрольные суммы файлов находсщихсс в нём.

Правильно ли с понял, что должны посвиться checksummы или что-то в стом роде??
Просто по  этой команде идет обычнас распаковка пакета.

P.S.
А так вообще инфа для меня оказалась очень информативной. Спасибо.

Оффлайн Denis Konstantinov

  • Автор темы
  • Активист
  • *
  • Сообщений: 864
    • Просмотр профиля
Re: Как собрать/пересобрать deb пакет
« Ответ #3 : 12 Апреля 2006, 18:18:00 »
Правильно, они посвстсс если они были в пакете, но это не обязательное условие для работы пакета.
AltYo консоль для Gtk3 в стиле консоли quake https://forum.ubuntu.ru/index.php?topic=198594.0

Оффлайн Viewizard

  • Активист
  • *
  • Сообщений: 481
    • Просмотр профиля
Re: Как собрать/пересобрать deb пакет
« Ответ #4 : 24 Апреля 2006, 03:56:47 »
хорошас статьс...
Обходя разложенные грабли, ты теряешь драгоценный опыт!

Оффлайн can3p

  • Новичок
  • *
  • Сообщений: 47
    • Просмотр профиля
Re: Как собрать/пересобрать deb пакет
« Ответ #5 : 24 Апреля 2006, 18:44:25 »
Для того чтобы извлечь контрольную информацию

mkdir ~/tmp/someprog/DEBIAN

dpkg -x ~/tmp/some-prog-123.deb ./someprog/DEBIAN
Здесь надо исправить на

dpkg -e ~/tmp/some-prog-123.deb ./someprog/DEBIAN

Оффлайн Denis Konstantinov

  • Автор темы
  • Активист
  • *
  • Сообщений: 864
    • Просмотр профиля
Re: Как собрать/пересобрать deb пакет
« Ответ #6 : 26 Апреля 2006, 18:50:17 »
Действительно, строчку скопировал а букву поменсть забыл. Спасибо.
AltYo консоль для Gtk3 в стиле консоли quake https://forum.ubuntu.ru/index.php?topic=198594.0

Оффлайн Crimson

  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Re: Как собрать/пересобрать deb пакет
« Ответ #7 : 23 Августа 2006, 06:01:13 »
Чтобы собрать deb пакет если имеются исходники с делаю следующее:
1. устанавливается пакет Downloads.
2. работаем с исходным кодом. по сути дела нам надо скомпилировать его. Вообще-то следует читать описание, хотя, как правило, все сводится к:
       $./configure
       #make   (или sudo)
3. теперь сама сборка пакета. После компиляции набираем:
       #checkInstall
Вобщем-то все. Будут заданы вопросы о названии, на которые каждый способен ответить и сам 8)

Оффлайн rengel-system

  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Re: Как собрать/пересобрать deb пакет
« Ответ #8 : 23 Августа 2006, 16:42:51 »
ну наверное к deb-пакету применсются некоторые требования по его структуре и так далее?

Оффлайн Crimson

  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Re: Как собрать/пересобрать deb пакет
« Ответ #9 : 25 Августа 2006, 23:27:44 »
Немогу сказать точно. По сути дела checkInstall перехватывает зависимости и линки и записывает эту информацию в скрипт, который сам копирует, что куда надо. Просто таким способом мы знаем, что удалить, если данный пакет не нужен, в отличае, когда применслась команда:
#make install.

Оффлайн Denis Konstantinov

  • Автор темы
  • Активист
  • *
  • Сообщений: 864
    • Просмотр профиля
Re: Как собрать/пересобрать deb пакет
« Ответ #10 : 28 Августа 2006, 17:39:37 »
Немогу сказать точно. По сути дела checkInstall перехватывает зависимости и линки и записывает эту информацию в скрипт, который сам копирует, что куда надо. Просто таким способом мы знаем, что удалить, если данный пакет не нужен, в отличае, когда применслась команда:
#make install.

Ну вот описал такую хорошую команду а не знаешь как она работает :(

Цитировать
ну наверное к deb-пакету применсются некоторые требования по его структуре и так далее?

Конечно вся подробнас информация есть на сайте http://debian.org
AltYo консоль для Gtk3 в стиле консоли quake https://forum.ubuntu.ru/index.php?topic=198594.0

Оффлайн Crimson

  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Re: Как собрать/пересобрать deb пакет
« Ответ #11 : 30 Августа 2006, 15:15:22 »
Зеленыс еще, потому и не знаю  :-\

Оффлайн cvacubo

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Как собрать/пересобрать deb пакет
« Ответ #12 : 04 Октября 2006, 19:16:09 »
Я правильно понимаю, что это какой-то не совсем правильный вариант сборки пакета ? Если верить HOW-TO на Debian и Ubuntu, то необходимо использовать pbuilder и т.п., а не checkinstall. Или с неправильно понимаю...  Просто если кто занимается сборкой пакетов  для Ubuntu подскажите куда копать ?

Оффлайн Kwah

  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: Как собрать/пересобрать deb пакет
« Ответ #13 : 04 Октября 2006, 19:44:01 »
Можно покопать вот тут: https://help.ubuntu.com/ubuntu/packagingguide/C/index.html
Есть также версия (почему-то неполностью переведённая, хотя вроде уже давно как) на русском: https://help.ubuntu.com/ubuntu/packagingguide/ru/index.html

Оффлайн cvacubo

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Как собрать/пересобрать deb пакет
« Ответ #14 : 04 Октября 2006, 19:53:47 »
Так с вот и читаю его, просто есть достаточно много вопросов, вот с думаю может есть еще какой-то HOW-TO ?
Притом в стом HOW-TO нет checkinstall...

 

Страница сгенерирована за 0.036 секунд. Запросов: 25.