Поиск по блогу :

    среда, 4 февраля 2009 г.

    Pidgin + изменения в протоколе ICQ

    Совсем недавно (на момент написания статьи, это было недавно), а точнее в конце января 2009 года, разработчики ICQ порадовали жителей стран СНГ тем, что именно для них изменили свой протокол, после чего не возможно было подключиться к icq через альтернативные клиенты. Связанно все это с тем, что ICQ очень популярна среди нашего населения, но в то же время примерно 90% пользователей icq используют для общения не официальный клиент, а альтернативные клиенты, отчего владельцы ICQ теряют громадную прибыль. Как вы понимаете, Pidgin, так же является альтернативным клиентом. Но если в конце января, по прошествии суток, изменения в протоколе откатили обратно, то буквально на днях, эта эпопея с протоколом повторилась.


    Ну что ж, мне, как пользователю голубя (именно так переводится pidgin), не хочется ждать несколько дней, пока пофиксят клиент и выложат новую версию, поэтому я расскажу как пропатчить клиент (точнее одну его библиотеку), чтобы он стал нормально понимать новый протокол.
    На момент написания статьи версия Pidgin = 2.5.4. Установленный Pidgin удалять не надо, просто выключите его.

    Патчим библиотеку liboscar

    1. Скачиваем последние искодники pidgin:
    $

    wget downloads.sourceforge.net/pidgin/pidgin-2.5.4.tar.bz2

    2. Распаковываем их:
    $
    tar xvfj pidgin-2.5.4.tar.bz2

    3. Скачиваем патч:
    $

    wget developer.pidgin.im/raw-attachment/ticket/8198/pidgin-NOT-UPSTREAM-2.5.4-icq-russia.patch

    4. Применяем скачанный патч:
    $
    patch -p0 < pidgin-NOT-UPSTREAM-2.5.4-icq-russia.patch

    5. Переходим в папку с исходниками и запускаем .configure :
    $ $
    cd pidgin-2.5.4
    ./configure --prefix=/usr

    6. После этого переходим в папку 'libpurple/protocols/oscar' и инсталлируем пропатченную библиотеку
    $ $
    cd libpurple/protocols/oscar/
    sudo make install

    7. Как только инсталляция библиотеки завершится, можете запускать pidgin и аська должна снова заработать на ура.

    P.S. Чтобы избежать вопроса "Почему бы не использовать метод (apt-get source, apt-get build-dep, debuild)?" - объясню. Я не использовал этот метод так как в репозиториях убунты на момент написания статьи, была старенькая версия Pidgin = 2.5.2.

    P.S.S. Так как у многих возникли проблемы со сборкой библиотечки, то выложил собранную библиотечку для скачивания (и для i386, и для amd64) - скачать. Распаковываете архив и копируете библитеку в /usr/lib/purple-2:
    $
    sudo cp liboscar.so.0.0.0 /usr/lib/purple-2

    13 коммент.:

    Alexey комментирует...

    Спасибо за статью.

    У меня на последнем шаге:
    >cd libpurple/protocols/oscar/
    >sudo make install

    выдает вот такое:
    lexus@lexus-laptop:~/test/pidgin-2.5.4/libpurple/protocols/oscar$ sudo make install
    [sudo] password for lexus:
    make: *** Нет правила для сборки цели `install'. Останов.

    Подскажите, пожалуйста, новичку, что делать

    Leolik комментирует...

    2 Alexey
    Значит у вас с ошибками закончилась сборка ./configure --prefix=/usr .
    Скорее всего пакеты нужные не проставлены.
    Покажите что у вас за ошибку выдает при конфигурации?

    LeXuS комментирует...

    Вот конец конец выполнения операции:
    ...
    checking for the %z format string in strftime()... yes
    checking for GLIB... no
    no
    configure: error:

    You must have the GLib 2.0 development headers installed to build.

    If you have these installed already you may need to install pkg-config so
    I can find them.

    LeXuS комментирует...

    Спасибо за совет, пакеты поставил и Pidgin установился

    Leolik комментирует...

    2 LeXuS
    Только собрался отвечать, а вы уже сами успели разобраться :)

    Alexx комментирует...

    sudo apt-get install tor

    дальше в настройках icq добавляем соеденение через SOCKS5 и адрес сервера 127.0.0.1 и порт 9050. И больше никаких проблем ;)

    Ivan комментирует...

    благадорю за патч.. помогло)

    George комментирует...

    Спасибо большое.. но возникли проблемы следующие
    сначала make: *** No rule to make target `install'. Stop.
    потом в сделал ./configure --prefix=/usr .
    получилось configure: WARNING: you should use --build, --host, --target
    checking build system type... Invalid configuration `.': machine `.' not recognized
    configure: error: /bin/bash ./config.sub . failed
    что делать? спасибо заранее.

    safright комментирует...

    Интэресничко :)
    Впрочем, сам сижу под tor'ом - пока эта бяка не коснулась всего мира, ИМХО, проще, чем каждый раз пересобирать клиент...
    (не патчил клиент ни в первый раз, ни в последнее время - все работает, правда заходит несколько дольше... но эт неактуально - не вылезаю из пиджина :) )

    Leolik комментирует...

    2 Alexx
    спасибо за совет про tor, интересный вариант

    2 all
    в связи с тем, что у многих возникли проблемы со сборкой пакета, я выложил уже скомпиленные библиотечки. Смотрите в конце статьи.

    Рамиль комментирует...

    спасибо дружище помогло

    bolik комментирует...

    у меня такая же проблема ((

    дает вот такое ./configure --prefix=/usr :
    You must have the GTK+ 2.0 development headers installed to compile Pidgin.
    If you want to build only Finch then specify --disable-gtkui when running configure.

    как быть? зарание спасибо

    Leolik комментирует...

    2 bolik
    Все дело в том, что когда вы собираете программу (любую) необходимо еще установить нужные пакеты для сборки, они заканчиваются на *-dev. В вашем случае это пакет libgtk2.0-dev. Но уверен вы еще с многими такими пакетами столкнетесь.

    Отправить комментарий