LINUX.ORG.RU
ФорумTalks

Кривость патчей ubuntu

 , кривость,


2

2

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

Дежурная шутка про то, что Каноникал ничего не делают, а значит никаких патчей они и не посылают.

aidan ★★★★
()
Ответ на: комментарий от quiet_readonly

Увы, патчи Canonical настолько кривые, что не влазят в форму ответа.

Круто, афроюмор тут как тут :)

Noloboot
() автор топика

почему патчи пишут авторы дистрибутива вместо авторов софта? Нет ли тут чего-то странного?

stevejobs ★★★★☆
()
Ответ на: комментарий от bhfq

Обрати внимание кто пишет такие фразы и тебе все станет ясно.

У них на аватарках везде синий цвет и буква f. Это какая-то секта?

quiet_readonly ★★★★
()
Ответ на: комментарий от quiet_readonly

Не от хорошей жизни

Угу и в перерывах в борьбе с багами они постят свой тупняк на лор :)

bhfq ★★★★★
()
Последнее исправление: bhfq (всего исправлений: 1)
Ответ на: комментарий от quiet_readonly

Не надо ля-ля. Я, например, про патчи от каноникал никогда ничего не писал, ибо в коде полный профан :) Но это, естественно, ничего не меняет, да :D

carasin ★★★★★
()

Не-не, вот отрисовка шрифтов у них няшная, мне и в федорке такое приятно видеть.

PaRuSoft ★★★★
()
Ответ на: комментарий от quiet_readonly

Каноникал взяли на работу Кержакова?

shuck ★★★
()
Ответ на: комментарий от sh4r4t4n

Если кто-нибудь ответит, что там такого кривого

И желательно сразу объяснять, что там кривое и как надо было писать. А то там указатели - как указатели :)

sh4r4t4n
()
Ответ на: комментарий от sh4r4t4n

Если кто-нибудь ответит, что там такого кривого - кастаните :)

А с чего ты взял, что там должно быть что-то кривое? В коммите с revert-ом написана нехарактерная для проекта фраза «Ordered-by: The Management», что намекает:)

risenshnobel ★★★
()
Ответ на: комментарий от evilmanul

Патчи для отрисовки шрифтов у них годные.

У них нет своих патчей для отрисовки шрифтов. Они просто включают поддержку субпиксельного сглаживания, которую другие дистрибутивы не могут включить по патентным соображениям.

Vovka-Korovka ★★★★★
()

Нет, это фантастика.

Часто слышу такую фразу от здешних обитателей

Дежурная отмашка.

но так и не отправил.

Ну я тоже не видел.

что бы все таки подобные фразу не были голословными.

Столбы силовых линий и то быстрее идут на контакт.

aes_ultimum ★★
()
Ответ на: комментарий от risenshnobel

В коммите с revert-ом написана нехарактерная для проекта фраза «Ordered-by: The Management», что намекает:)

Намекает на сраный вендор лок.

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

Намекает на сраный вендор лок.

Правда, я так и не понял, а какое именно Интелу дело до иксов и мира? Они же вроде в стороне.

risenshnobel ★★★
()
Ответ на: комментарий от risenshnobel

Интел на пару с красношляпыми разрабатывает wayland. Mir - прямой конкурент wayland-а, а красношляпые теряют рыночную долю из-за Ubuntu.

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)
Ответ на: комментарий от risenshnobel

что намекает

А я намекаю, что так удаляются большинство патчей Canonical, а школота и федорасты орут про кривость :)

sh4r4t4n
()
Ответ на: комментарий от Vovka-Korovka

У них нет своих патчей для отрисовки шрифтов. Они просто включают поддержку субпиксельного сглаживания, которую другие дистрибутивы не могут включить по патентным соображениям.

Нет, у них свои патчи. Субпиксельное сглаживание ClearType выглядит как говно и не сильно отличается от сглаживания в оттенках серого.

Gotf ★★★
()
Ответ на: комментарий от Manhunt

Mir - прямой конкурент wayland-а, а красношляпые теряют рыночную долю из-за Ubuntu.

Но на десктопах-то у редхата никогда особой доли не было, тут они бубунте и не были конкурентом. А серверные дела вроде не имеют отношения к миру и вейланду вообще.

risenshnobel ★★★
()

Не совсем патчи, но все же. Были проблемы с глобальным меню. Оно отображало не все пункты (в гноме и кде все работало нормально, а в юнити не все пункты были). Проблема оказалась в том, что меню экспортируется только один раз (на момент первого показа окна, вроде бы). А в моей проге пункты меню добавлялись динамически. При поиске решения наткнулся на кусок файла, в котором был «черный список» прог, меню которых не следует экспортировать. Они были захардкодены прямо в сишном файле, что на мой взгляд не хорошо. Лучше бы подгружали из какого-нибудь файла. Было это во времена 11.10

Rubbiroid
()
Ответ на: комментарий от Rubbiroid

Они были захардкодены прямо в сишном файле, что на мой взгляд не хорошо.

Это говнокод. Как там сейчас?

А в моей проге пункты меню добавлялись динамически.

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

sh4r4t4n
()
Ответ на: комментарий от stevejobs

почему патчи пишут авторы дистрибутива вместо авторов софта? Нет ли тут чего-то странного?

В контексте дистрибутивных патчей всегда так было.

yoghurt ★★★★★
()
Ответ на: комментарий от sh4r4t4n

Как там сейчас?

Без понятия. Надо посмотреть исходники gtkmenuproxy или что-то в таком духе.

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

Ты хоть понимаешь, что такое глобальное меню в убунту и как оно реализовано? Что-то мне кажется, что нет.

Rubbiroid
()
Последнее исправление: Rubbiroid (всего исправлений: 1)
Ответ на: комментарий от sh4r4t4n

Это говнокод. Как там сейчас?

Все так же: http://bazaar.launchpad.net/~indicator-applet-developers/appmenu-gtk/trunk.13...

/* Crude blacklist to avoid patching innocent apps */
/* Use xprop | grep CLASS to find the name to use */
static gboolean
app_menu_brige_shouldnt_load (void)
{
  const char *prg = g_get_prgname ();

  if ((g_strrstr (prg, "indicator-applet") != NULL)
      || (g_strcmp0 (prg, "indicator-loader") == 0)
      || (g_strcmp0 (prg, "mutter") == 0)
      || (g_strcmp0 (prg, "midori") == 0)
      || (g_strcmp0 (prg, "qtoctave") == 0)
      || (g_strcmp0 (prg, "firefox-bin") == 0)
      || (g_strcmp0 (prg, "thunderbird-bin") == 0)
      || (g_strcmp0 (prg, "Eclipse") == 0)
      || g_str_has_prefix (prg, "emacs")
      || (g_strcmp0 (prg, "glade") == 0)
      || (g_strcmp0 (prg, "gnome-panel") == 0)
      || (g_strcmp0 (prg, "gwyddion") == 0)
      || (g_strcmp0 (prg, "wicd-client.py") == 0)
      || (g_strcmp0 (prg, "IBM Notes") == 0)
      || (g_strcmp0 (prg, "Lotus Notes") == 0))
    {
      return TRUE;
    }

  return FALSE;
}

Rubbiroid
()
Ответ на: комментарий от Rubbiroid

Ты хоть понимаешь, что такое глобальное меню в убунту и как оно реализовано?

Понимаю. Но я не видел вашу программу и понятия не имею, как вы динамически реализовали изменение меню. После каждого такого изменения ваша программа должна по DBus сообщать appmenu, что надо рисовать заново. Да, реализовать это можно по разному. Да, это костыль.

sh4r4t4n
()
Ответ на: комментарий от sh4r4t4n

Gtk#: Menu.addItem(«New Super Item»).

После каждого такого изменения ваша программа должна по DBus сообщать appmenu

Это забота патченого Gtk, но не моя.

Rubbiroid
()
Ответ на: комментарий от Rubbiroid

Это забота патченого Gtk, но не моя.

Нет, опрос по таймеру этим бриджем был бы ещё большим говнокодом, чем blacklist в исходниках. Приложение должно явно сообщать о своём нетипичном поведении.

sh4r4t4n
()
Ответ на: комментарий от sh4r4t4n

С каких пор добавление пункта меню в рантайме стало нетипичным поведением?

Зачем таймер? Когда вызываются функции gtk на изменение визуального состояния пунктов меню (изменение текста, добавление, удаление и тп) gtk должен переслать эти изменения в appindicator.

Rubbiroid
()
Последнее исправление: Rubbiroid (всего исправлений: 1)

В ubuntu нет кривых патчей. Я думал, что есть, пока не узнал что младший помощник моего админа завладел рутом и подключил левые ppa. Тут уже ржали по этому поводу, мне стыдно, я слишком доверяю людям. Никому нельзя верить, даже себе - ubuntu можно.

King_Carlo ★★★★★
()
Ответ на: комментарий от Rubbiroid

С каких пор добавление пункта меню в рантайме стало нетипичным поведением?

Потому что это тоже говнокод, который больше типичен c++ программистам.

Gtk#: Menu.addItem

Ага, я так понимаю, надо эту функцию тоже пропатчить, что бы после каждого такого извращения gtk само заставляло appmenu обновлять своё меню, раз программисты не могут добавить к себе в приложение маленький if? И плевать, что не все пользуются этим appmenu :)

sh4r4t4n
()
Последнее исправление: sh4r4t4n (всего исправлений: 1)
Ответ на: комментарий от King_Carlo

Никому нельзя верить, даже себе - ubuntu можно.

Ubuntu тоже верить нельзя, так как это почти debian. А вот Марку можно верить, он святой.

sh4r4t4n
()
Последнее исправление: sh4r4t4n (всего исправлений: 1)
Ответ на: комментарий от sh4r4t4n

Ubuntu тоже верить нельзя, так как это почти debian. А вот Марку можно верить, он святой.

Святой человек Марк из богомерзкого дебиана сделал прекрасную вещь сияющую во мгле греха путеводной звездой правды.

King_Carlo ★★★★★
()
Ответ на: комментарий от sh4r4t4n

Потому что это тоже говнокод,

приехали...

Ага, я так понимаю, надо эту функцию тоже пропатчить

В Ubuntu Gtk как раз патченый для глобального меню. Только вот не полностью. Ну, или внутренности у Gtk такие убогие, что проще чёрный список захардкодить, чем писать толковый патч.

Rubbiroid
()
Ответ на: комментарий от King_Carlo

Святой человек Марк из богомерзкого дебиана

Дебиан не богомерзкий, раз святой Марк обратил на него свой взор.

sh4r4t4n
()
Ответ на: комментарий от Rubbiroid

В Ubuntu Gtk как раз патченый для глобального меню

А функция Menu.addItem определённо не патченная.

Ну, или внутренности у Gtk такие убогие

Есть немного, но тот blacklist - явный говнокод. Можно было сделать красивее.

sh4r4t4n
()
Ответ на: комментарий от sh4r4t4n

Дебиан не богомерзкий, раз святой Марк обратил на него свой взор.

Согласен, он перестал быть таким, но не взор Марка освятил его, а лишь помысел его зажёг искру святости и непогрешимости. Взор же его может сделать большее - программу без компьютера. Великая программа, бесконечна большая и великая, она может работать сама, ей не нужен процессор и ей не нужен пользователь, она прекрасна.

King_Carlo ★★★★★
()
Ответ на: комментарий от lazyklimm

Зачем? Ты код видел? Вот этот список и вынести в файл. Хоть можно было бы свои проги добавлять. Я знаю про «export UBUNTU_MENUPROXY=0», но, на мой взгляд, лучше в файл прописать, чем писать обёртки.

Rubbiroid
()

Из того, что встречал лично - deb-src из стабильного репозитория без всяких изменений (как есть) не собирался, хотя build-dep-ы все были удовлетворены.

undertaker ★★
()
Ответ на: комментарий от undertaker

deb-src из стабильного репозитория без всяких изменений (как есть) не собирался

Ударила мне как-то в голову одна идея и я от делать нечего игрался с apt-build world - всё собиралось.

А так как мэйнтейнеры вряд ли собирают пакеты каким-то «особым» способом в полнолуние, то при наличии бинарного пакета в репах всё должно собираться по дефолту. Поэтому на всякий случай посоветую почитать документацию http://www.debian.org/doc/manuals/apt-howto/ch-sourcehandling.ru.html :)

sh4r4t4n
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.