Etercifs/devel: различия между версиями
(Import from wiki.etersoft.ru) |
|||
Строка 25: | Строка 25: | ||
<tt>master</tt> - обновляется из git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git и содержит исходные версии ядер 2.6.xx (но не 2.6.xx.y) и 3.x. | <tt>master</tt> - обновляется из git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git и содержит исходные версии ядер 2.6.xx (но не 2.6.xx.y) и 3.x. | ||
<tt>v2.6.xx-etercifs</tt> (например v2.6.32-etercifs) - содержит исходники с нашими патчами. | <tt>v2.6.xx-etercifs</tt> (например v2.6.32-etercifs) - содержит исходники с нашими патчами. | ||
Строка 53: | Строка 52: | ||
<tt>v2.6.23-etercifs</tt> | <tt>v2.6.23-etercifs</tt> | ||
<tt> | <tt>...</tt> | ||
<tt>v2.6. | <tt>v2.6.39-etercifs</tt> | ||
<tt> | <tt>v3.0-etercifs</tt> | ||
<tt> | <tt>...</tt> | ||
<tt>v3.16-etercifs</tt> | |||
<tt>v3. | |||
Строка 95: | Строка 70: | ||
<tt>etersoft-share-flags</tt> | <tt>etersoft-share-flags</tt> | ||
<tt>etersoft- | <tt>etersoft-wine</tt> | ||
Планируется регулярное обновление бранчей | Планируется регулярное обновление бранчей vx.x.xx-etercifs из стабильных веток ядра вида stable/linux-x.x.y(если, конечно, изменения затрагивали содержимое папки fs/cifs). | ||
Строка 129: | Строка 102: | ||
- Папки <tt>sources/centosxx</tt> содержит исходники для [http://wiki.etersoft.ru/CentOS CentOS] x.x ядер. | - Папки <tt>sources/centosxx</tt> содержит исходники для [http://wiki.etersoft.ru/CentOS CentOS] x.x ядер. | ||
- Папки <tt>sources/ | - Папки <tt>sources/x.x.xx</tt> содержит исходники ядра для новых ядер. | ||
Версия 10:53, 23 декабря 2014
Порядок разработки 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.
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.39-etercifs
v3.0-etercifs
...
v3.16-etercifs
Аткуальные ветки с нашими патчами:
etersoft-common
etersoft-share-flags
etersoft-wine
Планируется регулярное обновление бранчей vx.x.xx-etercifs из стабильных веток ядра вида stable/linux-x.x.y(если, конечно, изменения затрагивали содержимое папки 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/x.x.xx содержит исходники ядра для новых ядер.
Папка etercifs содержит скрипты, которые попадают в пакет etercifs:
- etercifs и etercifs.outformat - заготовки для rc-скриптов.
- buildmodule.sh - скрипт для сборки.
- functions.sh - функции для buildmodule.sh.
- etermount - скрипт для удобного монтирования шары.
Алгоритм сборки модуля etercifs (кратко):
1. Определяем, какая версия ядра.
2. Определяем, в зависимости от дистрибутива, место, где лежат исходники ядра.
3. Из исходников etercifs выбираем самый последний (по версии cifs и релизу), соответствующий нашему ядру.
4. Создаем временную директорию, распаковываем в неё исходники etercifs.
5. Собираем модуль ядра.