Журнал ошибок, проявившихся при разработке проекта Bombono DVD

Pазработка современного ПО построена по модульному принципу. Так, Bombono DVD использует такие проекты, как Boost, Gtk, SCons и другие (всего 10 явных зависимостей, есть и неявные). Однако помимо преимуществ наследуются недостатки и ошибки, включая будущие. С некотого момента я решил завести журнал заметок, в который записываю технические проблемы, проявившиеся в ходе разработки, которые зависели/зависят не от меня (но решать-то все равно пришлось).

Смысл в том, чтоб на основе полученных данных более объективно подходить к выбору с кем "дружить", а с кем не "дружить".1 Критерием попадания в список являются все случаи, когда ошибка/поведение/смена API/ABI/... проявилась или добавилась уже после того, когда соответствующий функционал уже прочно задействован в проекте.2

Список

 SCons: 
- несколько раз менял свое поведение до версии 1.2.0; однако благодаря природе Python выходы находились.
- INSTALLSTR, начиная с версии 1.0 может принимать только строковые значения (не функции) - явная
  ошибка.
- расчет md5 путем чтения содержимого файла в строку; при гигабайтовом файле валился авторинг
 GraphicsMagick:
- отсутствие функции OpenCache() в новых версиях сильно попортило нервы; к тому сложности в узнавании
 какая версия GM используется бесит.
 Дистрибутивы:
- замена toolame -> twolame не дает возможности сделать одну версию для всех дистров.
- убрали /proc/scsi/devices из Debian Sid, пришлось изучать исходники ядра. (2 дня потратил).
 Gtk:
- диалог-помощник мой поломали (в Karmic, Sid) - 2 места
- синхронизацию ломали (в Hardy) между текущей вкладкой и текущим пунктом в меню Go.
- GtkButton - чего-то поменяли в стилях по умолчанию и значки на них перестали показываться
- GtkAssistant:
  - убрали возможность устанавливать страницу до show_all()
  - поменяли порядок OnApply и OnPrepare (делать что ли нечего!)
- GtkDialog - провозился целый день с открытием диалога, если в нем есть метка со ссылкой (бесконечный цикл)
- GtkFileChooser (c gtk >= 2.30.0):
  - выпадение из-за неправильного мониторинга
  - set_filename() не работает в паре c get_filename() для SELECT_FOLDER 
 GCC:
- ужесточили препроцессор так, что код Boost (1.33) перестал компилиться (починил)
 Winff:
- неправильно генерит видео для DVD (опция -target *-dvd должна быть всегда)
 Totem: 
- с версии 2.27.1 авторы перестали поддерживать xine backend.


  1. Получилось нечто вроде, кхм, компромата... :) (1)

  2. Пока качеством зависимостей доволен, хотя, конечно же, хотелось вообще без сюрпризов. (2)

Get_Involved/Bug_Journal (последним исправлял(а) webmaster 2010-05-02 15:07:19)