Update конфигов до Perl версии 5.16.xx

08.06.2015

В то время, когда космические корабли бороздят просторы Большого Театра, а сообщество перловиков ждет, когда же в едином порыве сойдутся mod_perl2 и Apache 2.4, Contenido продолжает использовать Apache 1.3 и mod_perl 1.31.

Почему?

Неоднократно и по-разному проведенные тесты показали, что никакой разницы в быстродействии при переходе от Apache 1.3 к Apache 2.2 и Apache 2.4 нет. Нет разницы в быстродействии у mod_perl1, mod_perl2 и fast-cgi. Зато есть большое количество структурных проблем, обнаруженных при попытке перевода Mason с mod_perl1 на mod_perl2. Первая из них – отваливающаяся магия dhandler. Второй mod_perl больше не пытается обрабатывать обращения к ссылкам, оканчивающимся на '/', и передает управление в mod_index; в результате dhandler просто не получает управление. Рекомендации по обходу данной проблемы, указанные в документации, в общем случае, не работают. Почему – выяснить пока не удалось.

В итоге, пока процесс перехода на Apache 2.2 буксует, оказалось, что проще пройтись по списку найденных и исправленных багов в mod_perl и сделать набор патчей для конфигурационных файлов с тем, чтобы Contenido можно было развернуть на старших версиях Perl. В настоящий момент "окучены" Perl 5.14 (Bug #68233 for mod_perl: mod_perl not install with perl 5.14) и 5.16.хх (Bug #77129 for mod_perl: PL_uid breakage on 5.16.0 и Bug #79977 for mod_perl: mod_perl cannot be built on Perl 5.16).

Кроме того, обнаружено, что в более новых версиях gcc изменен умолчательный метод оптимизации для инлайновых функций, что привело к невозможности вкомпилировать mod_perl в Apache.

Результатом стал набор патчей для apache, mod_perl и libapreq, автоматический прикладываемый при необходимости, и обеспечивающий установку на системы с Perl версий 5.16.xx и gcc версии 4.3 и выше. Эксперименты по установке на 5.17+ продолжаются.

Новости

26.04.2017: Теперь и под CentOS
16.06.2015: Установка под Linux (на примере Ubuntu)
8.06.2015: Update конфигов до Perl версии 5.16.xx
3.12.2014: Замена библиотеки Cache::Memcached на Cache::Memcached::Fast
23.10.2014: Срочный апдейт портов
6.02.2013: Модификация плагина Session
15.01.2013: Исправлены два бага в плагине Session

Новости

26.04.2017: Теперь и под CentOS
16.06.2015: Установка под Linux (на примере Ubuntu)
8.06.2015: Update конфигов до Perl версии 5.16.xx
3.12.2014: Замена библиотеки Cache::Memcached на Cache::Memcached::Fast
23.10.2014: Срочный апдейт портов
6.02.2013: Модификация плагина Session
15.01.2013: Исправлены два бага в плагине Session