[devel] indexhtml policy

Artem Zolochevskiy =?iso-8859-1?q?artem=2Ezolochevskiy_=CE=C1_gmail=2Ecom?=
Сб Апр 26 13:13:12 MSD 2008


hi all

Господа,
у нас есть indexhtml-пакеты. Это такие дистрибутивоспецифичные приветственные 
html-странички.

На сегодняшний день эти пакеты находятся в плачевном состоянии во многом  по 
причине того, что нет стандарта. Они конфликтуют друг с другом, содержат 
вызовы никому уже не понятных скриптов для "прописывания" себя в систему итп.

Я попытался написать черновик простого policy. Оно завязано на технологию 
альтернатив, в кторой я ещё не очень силён.

Прошу заинтересованных ознакомиться/высказаться и после принятия полиси, я 
обновлю все indexhtml-пакеты до соответствия.

-- 
Артём Золочевский
----------- следующая часть -----------
indexhtml-distro пакеты представляют из себя дистрибутивоспецифичную "приветственную" страничку, которая открывается по умолчанию браузерами.
Кроме этого, ссылка на такую страницу должна находится в меню (и на рабочем столе?) на случай смены умолчательной домашней страницы пользователем.

Этот простой html-файл содержит как правило:
- приветствие
- ссылки на локально установленную документацию
- ссылки на web-ресурсы


Требования к indexhtml-пакетам:
===============================
1.
Именование:
indexhtml-название_дистрибутива
Группа: System/Base (Books/Other?)

Пример:
Name: indexhtml-server
Group: System/Base

2.
Идея в том, что, пакет должен устанавливать _один_ index.html в /usr/share/doc/HTML/index.html, который устанавливается по умолчанию в браузерах. (это месторасположение нужно согласовать с мантейнерами браузеров).

Для того, чтобы можно было на иметь несколько установленных indexhtml-пакетов, файл /usr/share/doc/HTML/index.html должен быть реализован как "альтернатива".
Собственно же файл с содержанием устанавливается в /usr/share/doc/HTML/ с именем, отличным от index.html (либо придумать другое месторасположение: где-то внутри /usr/share/doc/alt-docs?)

Для того, чтоб избежать теоретических конфликтов по именам файлов между двумя indexhtml-пакетами, файл следует именовать так:
/usr/share/doc/HTML/имя_пакета.html
а файл альтернатив так:
%_altdir/имя_пакета

НЕ должна применяться система "весов". Ибо невозможно сказать, какой indexhtml более предпочтителен.
Поэтому у всех indexhtml-пакетов в обязательном порядке должен быть одинаковый вес (например 10).

Предполагается, что пользователь сможет самостоятельно задать желаемую альтернативу.

Пример:
/usr/sahre/doc/HTML/index.html	/usr/share/doc/HTML/indexhtml-server.html	10

3.
Т.к. при использовании одинакового веса и автоматических альтернатив выбор альтернативы осуществляется по алфавитному принципу, то дабы исключить алфавитную "случайность" простановки альтернатив при установке пакетов, необходимо устанавливать альтернативу принудительно в ручной режим. Это приводит к тому, что по умолчанию устанавливается та альтернатива, которая была установлена последней, что представляется вполне логичным. (Если ставится пакет, то пусть он работает). При удалении пакета с выставленной альтернативой, к сожалению, снова будет действовать алфавитный принцип выбора альтернативы.

поэтому к стандартным %register_alternatives/%unregister_alternatives добавляется:

%post
%register_alternatives имя_пакета

alternatives-manual %_defaultdocdir/HTML/index.html %_defaultdocdir/HTML/имя_пакета.html > /dev/null
alternatives-update

%preun
%unregister_alternatives %name > /dev/null



Подробная информация о списке рассылки Devel