Debian + Pidgin = ??
sudo нашёл?
У техподдержки стоял etch, собирать pidgin из исходников - то ещё удовольствие, а в репозитории - только древний 2.3, и навряд ли там вообще появится 2.4.3.
Решили поставить lenny, скачали диски, поставили - а, оказывается, для установки 2.4.3 надо выкачивать полсистемы. Пиздец.
если не хочешь обновляться, используй мессенджер, менее плотно интегрированный с окружением.
оно ж как лучше хочет, но вполне можно сказать ему как надо.
вы бы еще CENTOS 3-4 поставили
или правь бинарник hexedit-ором
мессенджер, менее плотно интегрированный с окружениемПросто интересно, нахрена оно хочет новый перл?
вполне можно сказать ему как надоУже.
вы бы еще CENTOS 3-4 поставилиА ты бы что поставил (из линуксов)? Разве дебиану и дебиан-based дистрибутивам есть конкуренты?
или правь бинарник hexedit-оромСебе в винде я уже исправил дллку руками. А для линукса - никто не знает, что и где менять (в общем-то, это и понятно - бинарники, они же для всех систем разные).
apt-get source --compile pidgin
dpkg -i *.deb
Я на ноуте давно не обновлял pidgin, поэтому заметил.
Вот ченджлог:
version 2.4.3 (07/01/2008):
libpurple:
* Yahoo! Japan now uses UTF-8, matching the behavior of official clients
and restoring compatibility with the web messenger (Yusuke Odate)
* Setting your buddy icon once again works for Yahoo! accounts.
* Fixes in the Yahoo! protocol to prevent a double free, crashes on
aliases, and alias functionality
* Fix crashes in the bonjour protocol
* Always use UTF-8 for Yahoo! (#5973)
* Fix a crash when the given jabber id is invalid.
* Make the IRC "unknown message" debugging messages UTF-8 safe.
* Fix connecting to ICQ
* Fix a memleak when handling jabber xforms.
Видимо из-за чего-то этого и перешли на новый перл с питоном, там обычно не просто так ставят ограничение по версии.
В etch по информации с debian.org еще gaim 2.0.0, а pidgin 2.3 в etch-backports. И я почти уверен, что там пофиксена эта бага, сейчас на виртуалку поставлю, проверю.
вот он клал на обновление протокола icqДа ну?
Проблема в том, что пиджин-то умеет работать с новым протоколом, сам протокол и не менялся, просто раньше пиджин говорил серверу icq, что он использует версию протокола 5 (если ничего не путаю а на серверах icq первого июля стали давать отлуп всем пользователям древних версий icq - тем, кто сообщает о том, что у него версия 5.
Всё это решается исправлением одного-единственного байта - переправить 5 на 6.
а pidgin 2.3 в etch-backports. И я почти уверен, что там пофиксена эта багаЗря уверен, потому что 2.3 - это что-то дико древнее, а "бага" вскрылась первого июля, и первого же июля срочно выпустили 2.4.3, фиксящий эту багу (а я под виндой просто поменял номер версии протокола в длл - у меня стояла 2.4.2, и она тоже перестала подключаться).
У всех людей на работе, кто пользуется дебианом - стоит именно 2.3 из backports, и она у них перестала подключаться. Из-за этого мы и начали поддержку по google talk, из-за этого у нас с 1 июля поддержку по icq осуществляет не техподдержка, и из-за этого мы и ставим сейчас техподдержке lenny.
почему не висту?
Денег стоит, техподдержка может и без неё обойтись (всё равно она даже при желании ничего сломать не сможет).
Однако gaim 2.0.0beta5, который есть на дисках etch, подключается и посылает/принимает сообщения
dpkg-deb -x libpurple0(что-то там).deb /tmpпримерно так.
sudo cp /tmp/usr/lib/purple-2/libicq.so /usr/lib/purple-2/
у меня она автоматически на следующий стянула какую-то xml-ку и начала нормально логиниться
http://kopete.kde.org/oscarversions.xml
По сути это тот же патч, который в этом треде уже проскакивал, только не надо всё пересобирать или качать новую версию программы. Вот такой подход мне больше нравится =)
Она скачала По сути это тот же патч, который в этом треде уже проскакивал, только не надо всё пересобирать или качать новую версию программы. Вот такой подход мне больше нравится =)
...надо выкачивать полсистемы. Пиздец...Очень не верится. В мегабайтах сколько?
Из опыта использования gentoo/redhat/debian, debian очень скуп при разрешении зависимостей.
Очень не верится. В мегабайтах сколько?Не мерял. Но должно быть дохрена - потому что только сама bpurple0 янет за собой новый перл и новый питон (хотя насчёт питона сейчас не уверен а ещё есть куча того, что вытянуто тем, что вытянуто libpurple...
...Не мерял...должно быть...
aptitude update
aptitude -s upgrade pidgin
там обычно не просто так ставят ограничение по версии.если ты так про мейтенеров дебиана думаешь, то зря - имхо они ставят необходимыми те версии пакетов, которые на момент сборки этого пакета стояли у них в системе.
оно ж как лучше хочет, но вполне можно сказать ему как надо.Хехе. Сказали ему "как надо", поставили пакет с чем-то вроде --force - теперь при установке совсем других пакетов, у которых всё хорошо, оно вопит "ааа, у вас не все зависимости удовлетворены - у вас же стоит пиджин, который хочет новый перл, о котором я не знаю, ахтунг, чините зависимости или идите нахуй".
В общем, тупо нашли все файлы/папки, у которых в названии libpurple, забэкапили, откатили в менеджере пакетов до предыдущей версии, и бинарники подменили на бинарники новой версии. Вроде бы, работает.
А че мешает пересобрать pingin из исходников или по аналогии с твоим методом на винде (изменение в dll) изменить один байтик хексредактором в liboscar.so?
или по аналогии с твоим методом на винде (изменение в dll) изменить один байтик хексредактором в liboscar.so?В винде - дллка, она одна на всех системах, и известно, какой байт и на какой позиции менять.
В случае с линуксами - у каждого дистрибутива своя .so, у каждого, кто собрал руками из исходников - своя .so, и никто не знает, где и что менять.
А че мешает пересобрать pingin из исходниковУже не помню - то ли не пересобралось, то ли не запустилось, то ли не смогло подключиться к аське после этого.
я же показал патч - искать в нём такую последовательность байт
То что не собралось - просто наличие кривых рук. У меня 2.4.2 пересобралась и заработала без лишних ухищрений.
apt-get install build-essential devscripts fakeroot
apt-get build-dep pidgin
apt-get source pidgin
заходим в папочку с исходниками, патчим
dpkg-buildpackage -rfakeroot -us -uc
Получили готовый deb пакет и установили. Делов-то 10 минут.
apt-get install build-essential devscripts fakerootЯсно - мы пытались собрать из исходников с http://pidgin.im/
apt-get build-dep pidgin
apt-get source pidgin
Ты уверен, что тот пакет, который выйдет в итоге, не захочет новый перл?
Уверен - он захочет тоже самое, что хотел pidgin-2.4.2 который был в коробке. Это он и есть - с одним измененным байтиком
я же показал патч - искать в нём такую последовательность байтТы это серьёзно?
Да, надо найти последовательность байт 010a и заменить её на 010b.
Как ты думаешь, сколько таких последовательностей в мегабайтной (не помню точно, сколько там) либе?
И, кстати, всё ещё веселее, потому что в дллке оно хранится в обратном порядке, 0a01.
Специально сейчас посмотрел - в моей 250КБ liboscar.dll два раза встречается 010a и аж десять раз - 0a01. Что менять предлагаешь?
0X01140034000000b80b3d04
0000019B50: DC C7 E6 8A 68 C7 45 E0 │ CA E6 8A 68 C7 45 A8 BA ▄╟цКh╟Eр╩цКh╟Eи║Жирным выделен номер версии, 0а нужно было заменить на 0b.
0000019B60: E6 8A 68 66 C7 45 AC 0A │ 01 66 C7 45 AE 14 00 66 цКhf╟Eм◙☺f╟Eо¶ f
0000019B70: C7 45 B0 34 00 66 C7 45 │ B2 00 00 66 C7 45 B4 B8 ╟E░4 f╟E▓ f╟E┤╕
Какие 12 байт, говоришь, искать надо?
я про libpurple
Из этих исходников собирается и libpurple, и liboscar.dll.
Ты настолько уверен в себе, что хочешь сказать, что при сборке под линукс там обязательно должны быть эти 12 байт, а при сборке под винду - нет?
-000259d0 45 ac 0a 01 66 c7 45 ae 14 00 66 c7 45 b0 34 00
+000259d0 45 ac 0a 01 66 c7 45 ae 06 00 66 c7 45 b0 00 00
-000259e0 66 c7 45 b2 00 00 66 c7 45 b4 b8 0b c7 45 b8 3d
+000259e0 66 c7 45 b2 00 00 66 c7 45 b4 ab 17 c7 45 b8 35
-000259f0 04 00 00 89 45 a4 89 04 24 e8 66 51 fe ff 89 c6
+000259f0 75 00 00 89 45 a4 89 04 24 e8 66 51 fe ff 89 c6
#define CLIENTINFO_PURPLE_ICQ { \
"Purple/" VERSION, \
0x010a, \
- 0x0014, 0x0034, \
- 0x0000, 0x0bb8, \
- 0x0000043d, \
+ 0x0006, 0x0000, \
+ 0x0000, 0x17ab, \
+ 0x00007535, \
"us", "en", \
}
и четырёхбайтовые хреновины 66 C7 45 xx с твоими сходятся
Оставить комментарий
kruzer25
Поставили lenny с дисков. Диски старые, pidgin там только 2.4.2, libpurple - тоже 2.4.2, так что к аське не подключается.Пытаемся поставить из интернета libpurple 2.4.3... упс, оно зависит от libpurple0 2.4.3 (которого тоже на дисках нет - только 2.4.2 а libpurple зависит от кучи вещей, в частности, питона и перла 5.10.0.11 (на дисках - только 5.10.0.10)... и таким образом, для установки микроскопическое обновления для маленькой либы для работы с аськой надо вытягивать из интернета полсистемы.
Нет, ну я всё понимаю, но нахрена libpurple0 после перехода с 2.4.2 на 2.4.3 понадобился новый перл? Там же в этой libpurple0 поменялся только номер протокола, который оно говорит асечному серверу!