Line # Revision Author
1 8 ahitrov@rambler.ru # Используется для запуска скриптов из crontab
2 # в виде: /some/script > /some/log
3 # Если STDOUT редиректится в файл, то STDERR дублируется в STDOUT.
4 # Таким образом, все выводы в STDOUT и STDERR всегда попадают в log
5 # для анализа. Отключение буферизации должно обеспечивать правильный порядок
6 # сообщений в файле.
7 # При этом warn и die и ошибки runtime уходят на email владельцу cron.
8 # То есть имеет смысл использовать print для всех некритичных сообщений
9 # а warn и die для сообщений, требующих вмешательства и исправления.
10
11 package ErrorTee;
12
13 use strict;
14 use warnings 'all';
15
16
17 # buffering off!
18 select((select(STDERR), $|=1)[0]);
19 select((select(STDOUT), $|=1)[0]);
20
21 # is file-redirected?
22 if (-p STDOUT || -f STDOUT) {
23 $SIG{'__DIE__'} = sub {
24 print STDOUT $_[0] if defined($^S) && $^S==0;
25 };
26
27 $SIG{'__WARN__'} = sub {
28 print STDOUT $_[0] if defined($^S) && $^S==0;
29 warn $_[0];
30 };
31 }
32
33 1;

Небольшая справка по веткам

cnddist – контейнер, в котором хранятся все дистрибутивы всех библиотек и программных пакетов, которые использовались при построении различных версий Contenido. Если какой-то библиотеки в данном хранилище нет, инсталлятор сделает попытку "подтянуть" ее с веба (например, с CPAN). Если библиотека слишком старая, есть очень большая вероятность, что ее там уже нет. Поэтому мы храним весь хлам от всех сборок. Если какой-то дистрибутив вдруг отсутствует в cnddist - напишите нам, мы положим его туда.

koi8 – отмирающая ветка, чей код, выдача и все внутренние библиотеки заточены на кодировку KOI8-R. Вносятся только те дополнения, которые касаются внешнего вида и функционала админки, баги ядра, обязательные обновления портов и мелочи, которые легко скопипастить. В дальнейшем планируется полная остановка поддержки по данной ветке.

utf8 – актуальная ветка, заточенная под UTF-8.

Внутри каждой ветки: core – исходники ядра; install – скрипт установки инсталляции; plugins – плагины; samples – "готовые к употреблению" проекты, которые можно поставить, запустить и посмотреть, как они работают.