фрибдсмное 11.06.16 20:11 // оригинал
Сделал очередной подход к pkgng, получил массу эмоций. Да, FreeBSD 8.4 уже давно не поддерживается, но в случае моего vds особых вариантов нет. Через порты он (pkgng) уже давно не собирается, забрал собранный вариант с pkg.freebsd.org, обновил базу, как-то оно взлетело и поначалу даже понравилось. Делать полный апгрейд не позволило чувство осторожности, начал со второстепенных пакетов, все отработало на первый взгляд как положено.
Дальше стало веселей. Апгрейд subversion обещал снести апач, апгрейд апача обещал обновить 2.2, поставить 2.4 и снести nginx, апгрейд nginx тоже сносил что-то из соседей. Совместный апгрейд вроде ничего важного не сносил, кроме модперла под 2.2, хоть и обновлял кучу всего, так что все-таки решил пока притормозить. Напоследок глянул в логи - а там вопли от скриптов, использующих ImageMagick, который поломался из-за того, что среди тех пакетов, которые вроде не тянули за собой никакие зависимости, был и libpng, от старой версии которого ImageMagick таки зависел, хоть никому об этом и не говорил.
Вечер перестал быть томным. Стал искать пути отката. Попробовал portdowngrade и получил в лоб слова о том, что svn не может работать из-за потерявшейся libsqlite (которую тоже обновлял, и которая тоже ничего не знала о зависимостях от себя). Старые пакеты отказывались собираться, вопя, что тут pkg версии 1.5.5 (более свежего под 8.4 нет), а нужен хотя бы 1.6.0. Плюнул, нашел образ виртуалки с 8.3 (ставить с нуля было очень лениво), с помощью напильника и какой-то матери собрал там по старинке нужные библиотеки и залил на сервер. Вишенкой на торте стало то, что sqlite в виртуалке смог использовать posix_fallocate, а в vds нет (так что библиотека, собранная в виртуалке, в vds уже не работала). Пришлось подправить порт, вырвав из него с мясом работу с posix_fallocate, и distinfo, нахально вписав в него новый размер и sha256.
В общем, есть большие сомнения, что следующий (когда он случится, правда, неизвестно) переезд/апгрейд сервера будет на фрю. Ностальгия ностальгией, но надоело на ровном месте ловить проблемы, связанные исключительно с наплевательским отношением к обратной совместимости.