Etercifs/devel

Материал из Etersoft wiki
Версия от 21:49, 13 мая 2012; PavelShilovsky (обсуждение | вклад) (Import from wiki.etersoft.ru)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигацииПерейти к поиску
Wackowiki-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была автоматически перемещена с old.wiki.etersoft.ru.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


Порядок разработки etercifs

Репозиторий cifs-2.6

Назначение: из него собираются пакеты с исходниками etercifs для всех поддерживаемых ядер.


Адрес: http://git.etersoft.ru/people/piastry/packages/cifs-2.6.git (

Осторожно, большой объем

).


Бранчи и их назначение:


master - обновляется из git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git и содержит исходные версии ядер 2.6.xx (но не 2.6.xx.y) и 3.x.

stable-2.6.xx (например stable-2.6.32) - обновляются из git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.xx.y.git и содержат последние изменения из дополнительных веток для каждой версии ядра.

v2.6.xx-etercifs (например v2.6.32-etercifs) - содержит исходники с нашими патчами.


Текущие бранчи:


Актуальные ветки, для поддерживаемых ядер:

legacy-etercifs

legacy-centos52-etercifs

legacy-centos53-etercifs

legacy-centos54-etercifs

legacy-centos55-etercifs

legacy-centos56-etercifs

v2.6.16-etercifs (legacy для SUSE)

v2.6.23-etercifs

v2.6.24-etercifs

v2.6.25-etercifs

v2.6.26-etercifs

v2.6.27-etercifs

v2.6.28-etercifs

v2.6.29-etercifs

v2.6.30-etercifs

v2.6.31-etercifs

v2.6.32-etercifs

v2.6.33-etercifs

v2.6.34-etercifs

v2.6.35-etercifs

v2.6.36-etercifs

v2.6.37-etercifs

v2.6.38-etercifs

v2.6.39-etercifs

v3.0-etercifs


Аткуальные ветки с нашими патчами:

etersoft-common

etersoft-share-flags

etersoft-pid-forward

etersoft-invalidate


Планируется регулярное обновление бранчей stable-2.6.xx и внесение оттуда изменений в бранчи v2.6.xx-etercifs (если, конечно, изменения затрагивали содержимое папки fs/cifs).


Репозиторий etercifs

Назначение: из него собирается пакет etercifs со скриптами сборки и запуска сервиса, c исходниками для старых ядер (предположительно для 2.6.18-2.6.22) и исходниками для новых ядер.


Адрес: http://git.etersoft.ru/people/piastry/packages/etercifs.git


Бранч рабочий один - master.


Содержимое:


- Папка sources/legacy содержит исходники ядра для старых ядер. Для каждой версии ядра с 18 по 22 создается симлинк вида kernel-source-etercifs-2.6.18-1.50c.tar.bz2, который указывает на legacy-исходники.

- Папки sources/centosxx содержит исходники для CentOS x.x ядер.

- Папки sources/2.6.xx содержит исходники ядра для новых ядер.


Папка etercifs содержит скрипты, которые попадают в пакет etercifs:


- etercifs и etercifs.outformat - заготовки для rc-скриптов.

- buildmodule.sh - скрипт для сборки.

- functions.sh - функции для buildmodule.sh.

- etermount - скрипт для удобного монтирования шары.


Алгоритм сборки модуля etercifs (кратко):


1. Определяем, какая версия ядра.

2. Определяем, в зависимости от дистрибутива, место, где лежат исходники ядра.

3. Из исходников etercifs выбираем самый последний (по версии cifs и релизу), соответствующий нашему ядру.

4. Создаем временную директорию, распаковываем в неё исходники etercifs.

5. Собираем модуль ядра.