войти зарегистрироваться

Убунтариум whois

индекс
170,92

Пересборка пакетов для 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. Тем не менее, моей главной задачей было показать, как пересобирать пакеты.

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

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

    (Во FreeBSD порт обновился восемь часов назад)
    • Debian абы когда не обновляется. Там все распланировано и свежие сборки (кроме патчей безопасности) никогда не попадают в стабильную ветку.
  • может выложишь сборку? :)
    а то не работает ничего
    • может попробуешь сам все-таки сделать?
      • я пробовал, но работать не стало
        а чо в облом помочь?
        • http://webfile.ru/2061052
          Это для hardy, amd64.

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

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

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

    Так же заходите на http://ubuntuclub.ru
  • а с apt-build шагов в 2 раза меньше...

    а еще б checkinstall -D для общего случая добавил бы
  • Проще.
    Удаляем старый pidgin.
    Ставим новый 2.4.3 с http://getdeb.net/
    И все работает! :)
    • установил, а мне все равно матерится, что версия старая ((
      помогите... плизз
  • вот вопрос, как
    sudo apt-get build-dep libpurple0
    сочтется с тем что я штатно юзаю aptitude? Говорят что апт-гет после аптитюда не рекомендуется юзать.
    • Да, не очень сочетается. У aptitude, вроде, есть build-dep.

      А я лично вернулся на apt-get.
Только авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста.