Недавно
в sisyphus@ был частичный упрёк мэйнтейнерам в том, что они не следят за своими пакетами в других дистрибутивах.
С этого момента я решил, что я как образцово-показательный мэйнтейнер буду наблюдать за тем, как поддерживаются и что делается в других дистрибутивах. (То, что я очень читаю все коммиты в OpenBSD и NetBSD это не считается, я про Линуксы ведь.)
Поэтому я сел и составил карту со ссылками, чтобы можно было быстро за всем следить:
http://www.freesource.info/wiki/PhpCoder/MyPackages Здесь я раньше свои планы для моих пакетов публиковал, а теперь ещё добавил ссылки на пакеты в других дистрибутивах. Сразу же стало видно в каких дистрибутивах какие пакеты есть и где они староваты :) Ну да не в этом суть. Я действительно нашел некоторые полезные вещи, к примеру, в FreeBSD/OpenBSD есть ман для игрушки Netris, также в Опене есть патчик для использования snprintf() вместо sprintf().
На первый взгляд не так уж и сильно мои сборки пакетов отличаются от тех, что в других дистрибутивах. Я ещё посмотрю подробнее, но пока мне мои кажутся лучшими, в т.ч. и тем, что многие собраны с -Wall -Werror, а некоторые так ещё и с -W! :) Такую педантичность я мало где видел, особенно для не системообразующих пакетов.
Кстати! На заметку другим мэйнтейнерам: на
http://packages.qa.debian.org можно найти пакет, посмотреть всю инфу о нём и даже подписаться на новости, касающиеся пакета. Я тут же подписался на новости о всех своих пакетах, которые есть в Debian. Также очень удобным показался интерфейс
https://launchpad.net/ubuntu Здесь, как понял, тоже можно подписаться на новости о пакетах, но нужно регистрироваться, поэтому я пока не стал.
Ещё попутно обнаружил одну багу: xpenguins при запуске в fluxbox-1.0rc3 показывает пингвинов только на одном рабочем столе, в то время как на fluxbox-1.0rc2 они бегают по всем столам. Это ещё один баг, который появился между rc2/rc3. Об обоих я сообщил разработчикам и сегодня даже Mathias уточнял у меня некоторые детали.
Смотря на
пакет netris в Ubuntu увидел, что имеется
серьёзная бага, при которой игра падает при старте на 64 битах. Причем падает только на 64 битах, а на 32-ух не падает :) Уже было думал попросить
los_t проверить, так ли это, как понял, что у нас всё в порядке. Оно падало «because of missing declaration for strftime function» Патч всего лишь подключал где надо хедер time.h НО! У нас я давно это уже сделал, когда исправлял предупреждения от компилятора на implicit declaration :) Можно даже сравнить:
этой мой патч, а
это для Ubuntu :)
После этого я ещё раз укрепился в мысли, что предупреждения от компилятора игнорировать нельзя и зафиксив их раз, можно в будущем не наступить на такую вот хитрую багу :)
Далее я случайно откопал интересную новость, которую нашел в Debian-овской багзилле (
#417188):
«In GCC 4.3, the C++ header dependencies have been cleaned up. The advantage of this is that programs will compile faster. The downside is that you actually need to directly #include everything you use (but you really should do this anyway, otherwise your program won't work with any compiler other than GCC).»
Иными русскими словами: gcc 4.3, который пока ещё не вышел, был тщательно переработан на предмет выкидывания ненужных зависимостей между системными хедерами, в итоге в простейших hello world не будет подключаться по 200 Кб хедеров. Как результат: программы будут собираться быстрее, но при этом некоторые программы могут не собираться, потому что полагались на неявное включение используемых хедеров. Короче, это крутая новость для меня! Я начинаю думать, что скоро программы типа lint и coverity могут не понадобиться - всё это будет делать компилятор. И это хорошо.
Ну и последнее. Заметил что мой ящик на gmail.com уже заполнен на 7% (206 Мб) У кого-то есть больше? Я думаю, что такими темпами у меня он к концу года уже весь будет забит, и письма таки придётся удалять :)