Cifs/etercifs 5.0.0

Материал из База знаний Etersoft
Перейти к: навигация, поиск

Etercifs 5.0.0 (http://bugs.etersoft.ru/show_bug.cgi?id=6765)

В новой версии модуля решено отойти от прошлой концепции одного большого пакета сразу под все дистрибьютивы. Теперь под каждой ядро будет выпускаться пакет, содержащий только один набор исходников + общий пакет со скриптами. Эти пакеты можно объединять в метапакеты для конкретных версий дистрибьютивов.

Репозиторий etercifs-sources будет состоять из веток под каждое ядро: 2.6.16, 2.6.23, ..., 2.6.37, centos52, ...,centos55 (список сформируется на основе решения баги: http://bugs.etersoft.ru/show_bug.cgi?id=6767). Репозиторий etercifs-common состоит из скриптов установки и сборки.

В системе может быть установлено сколько угодно пакетов etercifs-sources, но один пакет etercifs-common. Общая часть всегда будет выбирать из них более подходящую для текущей загруженной версии ядра.


Чтобы упросить пользователю жизнь, то я предлагаю всегда держать актульным систему каталогов со ссылками на пакеты вида:

Каталог Distros, в нём:

Ubuntu/10.04/

Ubuntu/10.10/

Fedora/13/

Fedora/14/

...


В каждом из них будут ссылки на каталоги исходников для ядер из данного релиза дистра вида:

(пример для Fedora/13)

sources-2.6.33 -> "../../Kernels/2.6.33/Fedora/13/"

sources-2.6.34 -> "../../Kernels/2.6.34/Fedora13/"


Каталог Kernels, в нём:

2.6.32/Ubuntu/10.04/

2.6.32/Fedora/12/

2.6.33/Fedora/13/

...


В каждом из них будут лежать пакеты вида etercifs-sources-2.6.32-5.x.x.

Каталоги Distros и Kernels будут лежать сразу в каталоге CIFS@Etersoft. То есть пользователь сможет выбрать себе пакет и по версии дистра и по номеру ядра (например если ему нужно нестандартное ядро). Так же пользователь сможет себе выбрать любую версию пакета вида etercifs-sources-2.6.33-5.x.x. Конечно можно стоит выделить отдельно stable, testing версии - опять же ссылками в том же каталоге "Kernels/2.6.33/Fedora/13/"

В случае метапакетов следует сделать отдельный каталог под них. Например: etercifs-fedora-13 будет включать в себя etercifs-common-5.x.x + (etercifs-sources-2.6.33-5.x.x + etercifs-sources-2.6.34-5.x.x. Это полностью ликвидирует любую неоднозначность для пользователя. Если же выходит обновление в текущем релизе дистра, то мы добавляем новые исходники и потом собираем новую версию метапакета, включающую в себя старые и новые исходники для этой версии дистра.

Процесс выглядит довольно ёмким в плане поддерживания всей этой инфраструктуры. Но если мы будем вовремя обновлять список дистров для каждого пакета исходников (вида etercifs-sources-2.6.32) и перезапускать скрипты сборки в случае изменений, то проблем быть не должно.