Как собирать .deb climm в Debian


ramok аватар

ramok - Posted on 11 Июль 2007

В последнее время climm бурно развивается, и в каждом релизе добавляется что нибудь вкусненькое (например постепенно улучшается поддержка jabber). К сожалению сам автор предоставляет .deb только для Ubuntu. Но это не беда, можно собирать пакет из deb-src под свою систему Ж:-)
Так же радует что все необходимые настройки для сборки .deb есть в главном репозитории climm.



Первый вариант сборки: релиз из репозитория

Добавляем в /etc/apt/source.list репозиторий в который выкладывается deb-src каждого релиза:

deb-src http://www.climm.org/deb/ sid main
$ sudo apt-get update                     # обновим базы
$ apt-get source climm                    # установим исходники из deb-src
$ sudo apt-get build-dep climm            # устанавливаем пакеты которые
                                                 # необходимы для постройки
$ cd climm
$ dpkg-buildpackage -rfakeroot            # делаем .deb
$ sudo dpkg -i ../climm_0.6.1-0_i386.deb # устанавливаем что получилось

Примечание: К сожалению этот процесс нельзя автоматизировать с помощью apt-build изза ошибки в нем.



Второй вариант сборки: trunk из репозитория

Примерно тоже самое что первый вариан, то понадобится установленные в системе autoconf и automake. И нужно будет самостоятельно поставить необходимые для сборки пакеты.

$ svn co http://svn.climm.org/climm/
$ cd climm

или обновить уже существующий транк

$ cd climm
$ svn update

собираем пакет

$ ./prepare                              # запускаем autoconf
$ dpkg-buildpackage -rfakeroot           # делаем .deb
$ sudo dpkg -i ../climm_0.6.1-0_i386.deb # устанавливаем что получилось

Примечание: К сожалению этот процесс нельзя автоматизировать с помощью svn-buildpackage так как автор не хочет вносить в debian/rules код для автоматического запуска ./prepare



Вариант для разработчиков

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

$ DEB_BUILD_OPTIONS=nostrip WIP=1 dpkg-buildpackage -rfakeroot -m"ramok <ramok@core.org.ua>"
$ sudo dpkg -i ../climm_0.6.1-0_i386.deb # устанавливаем что получилось
0
Ваша оценка: Ничего

Для людящих кастомайзинг
скачиваем сырцы
http://www.micq.org/deb/dists/unstable/main/source/
я выбрал
micq_0.5.4.2.orig.tar.gz
распаковываем
gunzip micq_0.5.4.2.orig.tar.gz && tar xvf gunzip micq_0.5.4.2.orig.tar
cd micq_0.5.4.2
читаем INSTALL (less INSTALL)
и если что-то нужно, добавляем, если нет
make (вот тут самя подстава, если не хватает библиотек придётся доставлять их ручками)
sudo make install
make clean

уверен что после less INSTALL не пропустил
./prepare
и
./configure --с-ключиками-для-людей-любящих-кастомайзинг
?
если с этим разобратся то можно отдельным типсом сделать, думаю будет полезно как минимум тем у кого не Debian
--
Signature invent in progress 24% ##........

Добавляем в /etc/apt/source.list репозиторий в который выкладывается deb-src каждого релиза:
deb-src http://www.micq.org/deb/ sid main

И понеслась:
$ sudo apt-get update # обновим базы
$ apt-get source micq # установим исходники из deb-src
$ sudo apt-get build-dep micq # станавливаем пакеты которые
# необходимы для постройки
$ cd micq
$ less README
$ vim debian/rules
$ dpkg-buildpackage -rfakeroot # делаем .deb
$ sudo dpkg -i ../micq_0.5.4.2-0_i386.deb # устанавливаем что получилось

возможно придется добавлять кое-какие недостающие либы в debian/control и устанавливать, но это тру-деб-вей кастомайзинга.

;)

не поверишь, но я как раз зашел дописать в этот типс как собрать micq в .deb пакет с не стрипнутыми отладочными данными из бинарника Ж:-)

ps
либы доставлять врядли придется, после sudo apt-get build-dep micq
--
Signature invent in progress 24% ##........

Ну я на самом деле не знаю, добавляются ли у micq зависимости после --enable-*, поэтому предположил что добавляются. )

там недавно включили автодетект, тоесть если есть нужные пакеты то собирается с нужной фичей. если есть tcl8.4-dev то с tcl скриптами и так далее..
ну а так да.. может придется чего то и доставить в таком случае Ж:-)
--
Signature invent in progress 24% ##........