Убунтариум

индекс
253,47

Пересборка пакетов для Ubuntu (Debian)

Думаю, практически все понимают преимущества пакетных менеджеров над установкой при помощи ./configure && make && make install.

На примере недавно появившегося патча для Pidgin я хочу показать, как легко пересобирать пакеты в deb-based дистрибутивах.

  • Подготовка. Нам понадобятся следующие пакты: devscripts build-essential fakeroot.
    sudo apt-get install devscripts build-essential fakeroot
  • Скачиваем исходники. Для этого должны быть подключены соответствующие репозитории. Нам нужен libpurple0, т.к. патч относится к этой библиотеке. На самом же деле libpurple, pidgin и pidgin-data имеют общий исходник, там что мы можем написать как
    apt-get source libpurple0
    так и
    apt-get source pidgin
    Обратите внимание, что apt-get source надо делать не из под sudo. Исходники скачиваются в текущую директорию.
  • Патчим.
    wget http://launchpadlibrarian.net/15741199/pidgin-2.4.2-icq.patch
    cd pidgin-2.4.1
    patch -p0 < ../pidgin-2.4.2-icq.patch
  • Устанавливаем зависимости, необходимые для сборки:
    sudo apt-get build-dep libpurple0
  • Пересобираем пакет (из той же директории)
    debuild -us -uc
  • Получившийся пакет устанавливаем:
    cd ..
    sudo dpkg -i libpurple0_2.4.1-1ubuntu2_amd64.deb

    Если у вас i386-дистрибутив, то пакет будет называться libpurple0_2.4.1-1ubuntu2_i386.deb.

После этой операции pidgin (после перезагрузки) начинает подключаться к ICQ.

P.S. Настало время переходить на Jabber :)

UPD: Для убунты, вроде бы, уже есть пакет на ppa. Тем не менее, моей главной задачей было показать, как пересобирать пакеты.

+40
2 июля 2008, 16:38
63

комментарии (28)

0
gwinn #
может не совсем в тему, но у меня Pidgin 2.0.2, и проблем с icq никаких не возникало.
+2
pento #
Полезный топик
0
iZENfire #
А когда в Debian появится новая версия Pidgin 2.4.3?

(Во FreeBSD порт обновился восемь часов назад)
0
heroOfOurTime #
Debian абы когда не обновляется. Там все распланировано и свежие сборки (кроме патчей безопасности) никогда не попадают в стабильную ветку.
НЛО прилетело и опубликовало эту надпись здесь
+2
pr0r0k_d #
может попробуешь сам все-таки сделать?
НЛО прилетело и опубликовало эту надпись здесь
0
Davidov #
http://webfile.ru/2061052
Это для hardy, amd64.

Но я, всё-таки, рекомендую разобраться в том, почему не работает. Возможно дело в моей опечатке (apt-get build-dep).
0
Davidov #
Есть пакет на PPA. См. UPD.
0
pr0r0k_d #
sudo apt-get build-dep libpurple0
на каком месте не получается расскажи хотя бы
НЛО прилетело и опубликовало эту надпись здесь
0
pr0r0k_d #
какую версия pidgin собирал?
+1
Masik #
Я конечно не гуру Linux'а, но у меня
sudo build-dep libpurple0
не заработало, а так
sudo apt-get build-dep libpurple0
все получилось

Так что либо у Вас ошибка, либо я точно ничего не понимаю
+1
Masik #
А еще приятно было бы, если к параметрам поеснения были бы, но это так на всякий случай
0
Davidov #
Там всё довольно тривиально: -p0 говорит команде patch, использовать пути из patch-файла целиком (p1 отрезать верхний уровень и т.д.).
-us -uc говорит, чтоб не подписывался пакет.
0
drujebober #
>sudo build-dep libpurple0
этим вы собираете свою пропатченую либу
а
>sudo apt-get build-dep libpurple0
этим соберается и ставится автоматом, резолвя зависимости, из репозитария, тоесть непропадченая
как то так.
0
Davidov #
Спасибо, это была опечатка.
0
4twilight #
а я утром повоевал с установкой патча, плюнул и ушел на psi с talk.gmail + гейт на асю. Жаль, что статья не появилась чуть раньше, но я обновкой вполне доволен :)
Спасибо за ликбез по установке патча :)
0
schoolptor #
Отличная статья! Мне, как новичку в убунту (равно как и в линукс вообще), весьма пригодится!
+1
Qiwichupa #
А опыта установки сорцовых пакетов у вас нет? Мне вот интересна эта технология, но я не встречал доходчивого мануала по процессу -_-. А за статью спасибо =)
0
nuit #
может найдёте здесь что-то полезное, но это не доходчивый мануал, тк написано ужасно :)
0
werm #
Запущен dc.ubuntuclub.ru:4111 and 80.240.218.168:4111
DC Hub - шара пока маловата
и возможно ещё не все DNS сервера обновились(вполне возможно не удастся подключится)
через пару дней - много чего вкусного можно будет скачать =)

цель dc.ubuntuclub.ru - куча софта и игр которого нет в репах
подробнее http://dc.ubuntuclub.ru

Так же заходите на http://ubuntuclub.ru
НЛО прилетело и опубликовало эту надпись здесь
+2
l1nker #
Проще.
Удаляем старый pidgin.
Ставим новый 2.4.3 с http://getdeb.net/
И все работает! :)
0
sunsey #
установил, а мне все равно матерится, что версия старая ((
помогите... плизз
0
Qiwichupa #
вот вопрос, как
sudo apt-get build-dep libpurple0
сочтется с тем что я штатно юзаю aptitude? Говорят что апт-гет после аптитюда не рекомендуется юзать.
0
Davidov #
Да, не очень сочетается. У aptitude, вроде, есть build-dep.

А я лично вернулся на apt-get.
0
nesmit #
добавил к статье свою метку «пересборка пакетов». Легче потом искать будет.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.