Packaging Automation/DistroMap: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
 
(не показано 9 промежуточных версий 2 участников)
Строка 6: Строка 6:
== DistroMap ==
== DistroMap ==


База данных DISTROMAP трансляции пространств имен в репозиториях пакетов свободного программного обеспечения.
База данных DISTROMAP предназначена для трансляции пространств имен между дистрибутивами. DISTROMAP включает в себя собственно базы данных, утилиты генерации и сопровождения  баз данных, shell интерфейс и perl интерфейс.  Для удобства расширения и сопровождения база данных сделана модульной.
=== Введение. ==
 
Дистрибутивы различаются в политике именования пакетов, а также деления программного кода на исходные и бинарные пакеты. Различие в пространствах имен в репозиториях пакетов свободного программного обеспечения приводит к необходимости трансляции имен, а также, при необходимости, и версий, бинарных пакетов программного обеспечения в установочных и сборочных зависимостях пакетов программного обеспечения, а также трансляции имен исходных пакетов свободного программного обеспечения при сравнении пакетной базы репозитариев.
=== Введение. ===
Также, при портировании сторонних пакетов в репозитрий пакетов свободного программного обеспечения Sisyphus возникает проблема трансляции групп пакетов. Это связано с тем, что для попадания пакета в репозитрий пакетов свободного программного обеспечения Sisyphus его rpm группа должна принадлежать списку групп, указанных в /usr/lib/rpm/GROUPS.
Дистрибутивы различаются в политике именования пакетов, а также деления программного кода на исходные и бинарные пакеты. Различие в пространствах имен приводит к необходимости трансляции имен, а также, при необходимости, и версий, бинарных пакетов в установочных и сборочных зависимостях пакетов, а также трансляции имен исходных пакетов при сравнении пакетной базы репозиториев.
В качестве имеющихся попыток сравнения  пакетной базы репозитариев можно указать таблицы соответствий версий пакетов [3], [4] (к сожалению, сравнивает версии исходных пакетов, но не содержит таблиц трансляции  имен исходных пакетов.
 
Утилиты пакета etersoft-build-utils [5] поддерживают трансляцию установочных и сборочных зависимостей пакетов программного обеспечения для репозитрия пакетов свободного программного обеспечения Sisyphus. в пакеты других репозитриев пакетов свободного программного обеспечения для широкого круга других репозитриев с помощью всторенной базы данных соответствий. Также, предусмотрена возможность трансляция групп rpm, и есть таблица соответствий групп репозитрия пакетов свободного программного обеспечения Sisyphus и бранчей этого репозитория более ранних версий, используемая для бакпортирования пакетов из репозитрия пакетов Sisyphus в соответствующие бранчи.
Также, при портировании сторонних пакетов в Sisyphus возникает проблема трансляции групп пакетов. Это связано с тем, что для попадания пакета в Sisyphus его rpm группа должна принадлежать списку групп, указанных в /usr/lib/rpm/GROUPS.
Для трансляции в обратном направлении, предыдущая версия библиотеки RPM::Source::Convert содержала таблицы трансляции установочных и сборочных зависимостей пакетов программного обеспечения из репозиториев RHEL и Fedora в репозитрий пакетов свободного программного обеспечения Sisyphus с помощью всторенной базы данных соответствий. Также, Имелись таблицы трансляции rpm групп других репозиториев в rpm группы репозитрия пакетов свободного программного обеспечения Sisyphus.
 
Утилиты пакета [[etersoft-build-utils]] поддерживают трансляцию установочных и сборочных зависимостей пакетов Sisyphus. в пакеты широкого круга других дистрибутивов с помощью встроенной базы данных соответствий. Также, предусмотрена возможность трансляция групп rpm, и есть таблица соответствий групп Sisyphus и групп бранчей, используемая для бакпортирования пакетов из Sisyphus в соответствующие бранчи.
 
Для трансляции в обратном направлении, предыдущая версия библиотеки RPM::Source::Convert содержала таблицы трансляции установочных и сборочных зависимостей пакетов из репозиториев RHEL и Fedora в репозиторий Sisyphus с помощью встроенной базы данных соответствий. Также, имелись таблицы трансляции rpm групп других репозиториев в rpm группы репозитория пакетов свободного программного обеспечения Sisyphus.
Общим недостатком описанных баз данных являлся незначительный объем, недостаточный для использования в общем случае, а также сложность их расширения и повторного использования, несистематический подход к их разработке.
Общим недостатком описанных баз данных являлся незначительный объем, недостаточный для использования в общем случае, а также сложность их расширения и повторного использования, несистематический подход к их разработке.
Плагинам  fedora-package-compare и fedora-сnucnu для системы агрегации оповещений о появлении новой версии программного пакета для реализации всех их возможностей необходима полноценная база данных трансляции имен исходных пакетов из репозитария пакетов свободного программного обеспечения Fedora Rawhide в репозитарий Sisyphus.
 
Также, при разработке программного комплекса автоматизации портирования и сопровождения программных пакетов из репозитория СПО «fedora» в нестабильной ветки репозитория СПО «Sisyphus» fedoraimport стало ясно, что для массового использования  fedoraimport необходимо иметь как можно более полную база данных трансляции имен бинарных пакетов, которая бы использовалась для трансляции сборочных и установочных зависимостей пакетов. Также, полноценная база данных трансляции имен исходных пакетов из репозитария пакетов свободного программного обеспечения Fedora Rawhide в репозитарий Sisyphus позволяет явно выделить множество исходных пакетов   репозитария пакетов свободного программного обеспечения Fedora Rawhide, которые отсутствуют в  репозитарии пакетов свободного программного обеспечения Sisyphus, позволяя, таким образом, автоматизировать задачу подбора начальных данных для системы  fedoraimport.
Плагинам  fedora-package-compare и fedora-сnucnu для системы агрегации оповещений о появлении новой версии программного пакета для реализации всех их возможностей необходима полноценная база данных трансляции имен исходных пакетов из Fedora Rawhide в репозитарий Sisyphus.
Обе эти базы данных достаточно сильно связаны между собой. В частности, имея  базу данных трансляции имен исходных пакетов, из нее можно сгенерировать большую часть базы данных трансляции сборочных и установочных зависимостей. К сожалению, из-за различий в разбиении исходных пакетов свободного программного обеспечения на бинарные пакеты и различий в зависимостях между бинарными пакетами корректировка вручную необходима, однако эти зависимости связывают обе базы данных в единое целое.
 
Эти причины побудили вынести как отдельную подсистему базы данных трансляции пространств имен в репозиториях пакетов свободного программного обеспечения. из систем, отвечающих за мониторинг upstream-репозитория в случае, когда upstream-репозиторий является сторонним репозиторием пакетов свободного программного обеспечения и выделить ее в отдельный проект, получивший название DISTROMAP.
Также, при разработке программного комплекса автоматизации портирования и сопровождения программных пакетов из Fedora Rawhide в Sisyphus, fedoraimport, стало ясно, что для массового использования  fedoraimport необходимо иметь как можно более полную база данных трансляции имен бинарных пакетов, которая бы использовалась для трансляции сборочных и установочных зависимостей пакетов. Также, полноценная база данных трансляции имен исходных пакетов из Fedora Rawhide в Sisyphus позволяет явно выделить множество исходных пакетов репозитория Fedora Rawhide, которые отсутствуют в  репозитории Sisyphus, позволяя, таким образом, автоматизировать задачу подбора начальных данных для системы  fedoraimport.
Структура проекта  DISTROMAP.
 
Обе эти базы данных достаточно сильно связаны между собой. В частности, имея  базу данных трансляции имен исходных пакетов, из нее можно сгенерировать большую часть базы данных трансляции сборочных и установочных зависимостей. К сожалению, из-за различий в разбиении исходных пакетов на бинарные пакеты и различий в зависимостях между бинарными пакетами корректировка вручную необходима, однако эти зависимости связывают обе базы данных в единое целое.
 
Эти причины побудили вынести как отдельную подсистему базы данных трансляции пространств имен в репозиториях пакетов из систем, отвечающих за мониторинг upstream-репозитория в случае, когда upstream-репозиторий является сторонним репозиторием пакетов свободного программного обеспечения, и выделить ее в отдельный проект, получивший название DISTROMAP.
 
=== Структура проекта  DISTROMAP. ===
DISTROMAP предназначен для трансляции пространств имен в репозиториях пакетов свободного программного обеспечения. DISTROMAP включает в себя собственно базы данных, утилиты генерации и сопровождения  баз данных, shell интерфейс и интерфейс в виде модуля perl.  Структура баз данных и интерфейс спроектированы таким образом, чтобы поддерживать различные репозитории, а также различные релизы (дистрибутивы, ветви) этих репозиториев. В качестве первой цели проекта выбраны БД трансляции пространства имен репозитариев пакетов свободного программного обеспечения Fedora Rawhide и Sisyphus.
DISTROMAP предназначен для трансляции пространств имен в репозиториях пакетов свободного программного обеспечения. DISTROMAP включает в себя собственно базы данных, утилиты генерации и сопровождения  баз данных, shell интерфейс и интерфейс в виде модуля perl.  Структура баз данных и интерфейс спроектированы таким образом, чтобы поддерживать различные репозитории, а также различные релизы (дистрибутивы, ветви) этих репозиториев. В качестве первой цели проекта выбраны БД трансляции пространства имен репозитариев пакетов свободного программного обеспечения Fedora Rawhide и Sisyphus.
Shell интерфейс представляет собой фильтр конвейера оболочки, в зависимости от опций осуществляющий трансляцию  имен  исходных либо бинарных пакетов, либо трансляцию сборочных и установочных зависимостей (При трансляции имен пакетов используется трансляция один-к-одному, в то время как при трансляции сборочных и установочных зависимостей используется трансляция один-ко-многим. Это связанно с тем, что при поиске пакета, соответствующего данному, целью является конкретный пакет, например, для сравнения версий. В то же время для удовлетворения сборочных или установочных зависимостей может понадобиться указать сразу несколько пакетов программного обеспечения.
Shell интерфейс представляет собой фильтр конвейера оболочки, в зависимости от опций осуществляющий трансляцию  имен  исходных либо бинарных пакетов, либо трансляцию сборочных и установочных зависимостей (При трансляции имен пакетов используется трансляция один-к-одному, в то время как при трансляции сборочных и установочных зависимостей используется трансляция один-ко-многим. Это связанно с тем, что при поиске пакета, соответствующего данному, целью является конкретный пакет, например, для сравнения версий. В то же время для удовлетворения сборочных или установочных зависимостей может понадобиться указать сразу несколько пакетов программного обеспечения.
Интерфейсный модуль perl реализует стандартный интерфейс хеш-таблиц perl. Он конфигурируется через указание исходного и целевого репозитариев пакетов свободного программного обеспечения а также их подвидов (релизов, дистрибутивов, бранчей). По умолчанию, это  (Fedora, Rawhide) в качестве источника и (ALT Linux, Sisyphus) в качестве репозитория назначения. Также указывается режим соответствия  трансляция один-к-одному или трансляция один-ко-многим.
Интерфейсный модуль perl реализует стандартный интерфейс хеш-таблиц perl. Он конфигурируется через указание исходного и целевого репозитариев пакетов свободного программного обеспечения а также их подвидов (релизов, дистрибутивов, бранчей). По умолчанию, это  (Fedora, Rawhide) в качестве источника и (ALT Linux, Sisyphus) в качестве репозитория назначения. Также указывается режим соответствия  трансляция один-к-одному или трансляция один-ко-многим.
Утилиты сопровождения позволяют находить потенциальные соответствия по заданным алгоритмам и заносить их в БД после подтверждения оператором, находить устаревшие соответствия и перемещать их в соответствия релизов и т. д.
Утилиты сопровождения позволяют находить потенциальные соответствия по заданным алгоритмам и заносить их в БД после подтверждения оператором, находить устаревшие соответствия и перемещать их в соответствия релизов и т. д.
Для удобства расширения и сопровождения база данных сделана модульной.
Для удобства расширения и сопровождения база данных сделана модульной.
== внутренние служебные утилиты DistroMap ==
=== Фильтры ===
Фильтры distromap работают с табличными текстовыми файлами, где колонки разделяются последовательностью пробельных символов (\s+).
В каждой строке (кроме пустых и #-комментариев) в указанной колонке значение заменяется на значение из базы distromap.
По умолчанию замена производится в первой колонке.
Если замена не найдена, содержимое не меняется.
Примеры:
* замена имен src.rpm fedora -> altlinux (надо установить distromap-fedora-rawhide-altlinux-sisyphus)
echo PyYAML | distromap-filter-translate-source-names --originrepo fedora --destrepo altlinux
python-module-yaml
* обратная замена имен src.rpm fedora <- altlinux.
Если делать как в прошлом примере, то надо иметь обратную базу distromap-altlinux-sisyphus-fedora-rawhide.
Но поскольку такой сейчас нет, можно исхитриться и с имеющейся distromap-fedora-rawhide-altlinux-sisyphus,
вызвав другую утилиту:
echo python-module-yaml | distromap-filter-reverse-translate-source-names  --originrepo fedora --destrepo altlinux
PyYAML
* замена имен бинарных rpm fedora -> altlinux (надо установить distromap-fedora-rawhide-altlinux-sisyphus)
echo argtable-devel | distromap-filter-translate-binary-names --originrepo fedora --destrepo altlinux
libargtable2-devel
* CPAN, PyPI. distromap-filter-translate-*-names с ними не работают, для них есть отдельные утилиты.
distromap-filter-translate-altlinux2cpan
distromap-filter-translate-altlinux2pypi
distromap-filter-translate-cpan2altlinux
distromap-filter-translate-pypi2altlinux
Пример:
echo Arp | distromap-filter-translate-cpan2altlinux
perl-Arp
== классы данных ==
Основные:
TODO:
Дополнительно:
В структуре описания репозитария:
* Допустимые группы rpm
* файлы конфигурации pkg-config
* соответствие бинарных и исходных пакетов
В структуре описания трансляции  репозитариев:
* поддержка несравнимых по версиям соответствий пакетов
* поддержка списка избыточных пакетов, подлежащих удалению из сборочных либо установочных зависимостей
* поддержка списка избыточных пакетов, для которых из сборочных либо установочных зависимостей должны быть удалены версии (несравнимые по версиям пакеты включаются в этот список автоматически).
* точные соответствия групп rpm
* нестрогие соответствия групп rpm.
Продолжена работа по наполнению БД трансляции пространства имен репозитариев пакетов свободного программного обеспечения Fedora Rawhide и Sisyphus. Текущая БД трансляции содержит 1280 записей для случаев, когда имена пакетов или других сущностей различны. БД трансляции пространства имен репозитариев пакетов свободного программного обеспечения Fedora Rawhide и Sisyphus оформлена в виде программного пакета для нестабильной ветви «Sisyphus» репозитория СПО.
Дополнительно к уже имеющейся  БД трансляции пространства имен репозитариев пакетов свободного программного обеспечения Fedora Rawhide и Sisyphus начата работа по наполнению БД трансляции пространств имен из нестабильной ветви «Sisyphus» в стабильную ветвь t6 репозитария пакетов свободного программного обеспечения.
БД состояния репозитория теперь обновляются ежедневно и доступны online: БД текущего состояния  нестабильной ветви «Sisyphus» репозитория СПО доступно с сайта http://repocop.altlinux.ru, БД текущего состояния  стабильной ветви «t6» репозитория СПО доступно с сайта http://autoports.altlinux.ru.
Интерфейсный модуль perl переписан для использования новых  классов данных, добавленых для БД состояния репозитория и БД трансляции пространства имен репозитариев.
{| class="wide"
| Разработано при поддержке [http://www.fasie.ru/ Фонда содействия развитию МП НТС] в рамках НИОКР 01201066526
| [[Изображение:Logo_FASIE_preview.jpg|200px|rigft]]
|}

Текущая версия от 13:15, 24 декабря 2018


DistroMap

База данных DISTROMAP предназначена для трансляции пространств имен между дистрибутивами. DISTROMAP включает в себя собственно базы данных, утилиты генерации и сопровождения баз данных, shell интерфейс и perl интерфейс. Для удобства расширения и сопровождения база данных сделана модульной.

Введение.

Дистрибутивы различаются в политике именования пакетов, а также деления программного кода на исходные и бинарные пакеты. Различие в пространствах имен приводит к необходимости трансляции имен, а также, при необходимости, и версий, бинарных пакетов в установочных и сборочных зависимостях пакетов, а также трансляции имен исходных пакетов при сравнении пакетной базы репозиториев.

Также, при портировании сторонних пакетов в Sisyphus возникает проблема трансляции групп пакетов. Это связано с тем, что для попадания пакета в Sisyphus его rpm группа должна принадлежать списку групп, указанных в /usr/lib/rpm/GROUPS.

Утилиты пакета etersoft-build-utils поддерживают трансляцию установочных и сборочных зависимостей пакетов Sisyphus. в пакеты широкого круга других дистрибутивов с помощью встроенной базы данных соответствий. Также, предусмотрена возможность трансляция групп rpm, и есть таблица соответствий групп Sisyphus и групп бранчей, используемая для бакпортирования пакетов из Sisyphus в соответствующие бранчи.

Для трансляции в обратном направлении, предыдущая версия библиотеки RPM::Source::Convert содержала таблицы трансляции установочных и сборочных зависимостей пакетов из репозиториев RHEL и Fedora в репозиторий Sisyphus с помощью встроенной базы данных соответствий. Также, имелись таблицы трансляции rpm групп других репозиториев в rpm группы репозитория пакетов свободного программного обеспечения Sisyphus. Общим недостатком описанных баз данных являлся незначительный объем, недостаточный для использования в общем случае, а также сложность их расширения и повторного использования, несистематический подход к их разработке.

Плагинам fedora-package-compare и fedora-сnucnu для системы агрегации оповещений о появлении новой версии программного пакета для реализации всех их возможностей необходима полноценная база данных трансляции имен исходных пакетов из Fedora Rawhide в репозитарий Sisyphus.

Также, при разработке программного комплекса автоматизации портирования и сопровождения программных пакетов из Fedora Rawhide в Sisyphus, fedoraimport, стало ясно, что для массового использования fedoraimport необходимо иметь как можно более полную база данных трансляции имен бинарных пакетов, которая бы использовалась для трансляции сборочных и установочных зависимостей пакетов. Также, полноценная база данных трансляции имен исходных пакетов из Fedora Rawhide в Sisyphus позволяет явно выделить множество исходных пакетов репозитория Fedora Rawhide, которые отсутствуют в репозитории Sisyphus, позволяя, таким образом, автоматизировать задачу подбора начальных данных для системы fedoraimport.

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

Эти причины побудили вынести как отдельную подсистему базы данных трансляции пространств имен в репозиториях пакетов из систем, отвечающих за мониторинг upstream-репозитория в случае, когда upstream-репозиторий является сторонним репозиторием пакетов свободного программного обеспечения, и выделить ее в отдельный проект, получивший название DISTROMAP.

Структура проекта DISTROMAP.

DISTROMAP предназначен для трансляции пространств имен в репозиториях пакетов свободного программного обеспечения. DISTROMAP включает в себя собственно базы данных, утилиты генерации и сопровождения баз данных, shell интерфейс и интерфейс в виде модуля perl. Структура баз данных и интерфейс спроектированы таким образом, чтобы поддерживать различные репозитории, а также различные релизы (дистрибутивы, ветви) этих репозиториев. В качестве первой цели проекта выбраны БД трансляции пространства имен репозитариев пакетов свободного программного обеспечения Fedora Rawhide и Sisyphus.

Shell интерфейс представляет собой фильтр конвейера оболочки, в зависимости от опций осуществляющий трансляцию имен исходных либо бинарных пакетов, либо трансляцию сборочных и установочных зависимостей (При трансляции имен пакетов используется трансляция один-к-одному, в то время как при трансляции сборочных и установочных зависимостей используется трансляция один-ко-многим. Это связанно с тем, что при поиске пакета, соответствующего данному, целью является конкретный пакет, например, для сравнения версий. В то же время для удовлетворения сборочных или установочных зависимостей может понадобиться указать сразу несколько пакетов программного обеспечения. Интерфейсный модуль perl реализует стандартный интерфейс хеш-таблиц perl. Он конфигурируется через указание исходного и целевого репозитариев пакетов свободного программного обеспечения а также их подвидов (релизов, дистрибутивов, бранчей). По умолчанию, это (Fedora, Rawhide) в качестве источника и (ALT Linux, Sisyphus) в качестве репозитория назначения. Также указывается режим соответствия трансляция один-к-одному или трансляция один-ко-многим.

Утилиты сопровождения позволяют находить потенциальные соответствия по заданным алгоритмам и заносить их в БД после подтверждения оператором, находить устаревшие соответствия и перемещать их в соответствия релизов и т. д.

Для удобства расширения и сопровождения база данных сделана модульной.

внутренние служебные утилиты DistroMap

Фильтры

Фильтры distromap работают с табличными текстовыми файлами, где колонки разделяются последовательностью пробельных символов (\s+). В каждой строке (кроме пустых и #-комментариев) в указанной колонке значение заменяется на значение из базы distromap. По умолчанию замена производится в первой колонке. Если замена не найдена, содержимое не меняется. Примеры:

  • замена имен src.rpm fedora -> altlinux (надо установить distromap-fedora-rawhide-altlinux-sisyphus)
echo PyYAML | distromap-filter-translate-source-names --originrepo fedora --destrepo altlinux
python-module-yaml
  • обратная замена имен src.rpm fedora <- altlinux.

Если делать как в прошлом примере, то надо иметь обратную базу distromap-altlinux-sisyphus-fedora-rawhide. Но поскольку такой сейчас нет, можно исхитриться и с имеющейся distromap-fedora-rawhide-altlinux-sisyphus, вызвав другую утилиту:

echo python-module-yaml | distromap-filter-reverse-translate-source-names  --originrepo fedora --destrepo altlinux
PyYAML
  • замена имен бинарных rpm fedora -> altlinux (надо установить distromap-fedora-rawhide-altlinux-sisyphus)
echo argtable-devel | distromap-filter-translate-binary-names --originrepo fedora --destrepo altlinux
libargtable2-devel
  • CPAN, PyPI. distromap-filter-translate-*-names с ними не работают, для них есть отдельные утилиты.
distromap-filter-translate-altlinux2cpan
distromap-filter-translate-altlinux2pypi
distromap-filter-translate-cpan2altlinux
distromap-filter-translate-pypi2altlinux

Пример:

echo Arp | distromap-filter-translate-cpan2altlinux 
perl-Arp

классы данных

Основные:

TODO:

Дополнительно:

В структуре описания репозитария:

  • Допустимые группы rpm
  • файлы конфигурации pkg-config
  • соответствие бинарных и исходных пакетов

В структуре описания трансляции репозитариев:

  • поддержка несравнимых по версиям соответствий пакетов
  • поддержка списка избыточных пакетов, подлежащих удалению из сборочных либо установочных зависимостей
  • поддержка списка избыточных пакетов, для которых из сборочных либо установочных зависимостей должны быть удалены версии (несравнимые по версиям пакеты включаются в этот список автоматически).
  • точные соответствия групп rpm
  • нестрогие соответствия групп rpm.

Продолжена работа по наполнению БД трансляции пространства имен репозитариев пакетов свободного программного обеспечения Fedora Rawhide и Sisyphus. Текущая БД трансляции содержит 1280 записей для случаев, когда имена пакетов или других сущностей различны. БД трансляции пространства имен репозитариев пакетов свободного программного обеспечения Fedora Rawhide и Sisyphus оформлена в виде программного пакета для нестабильной ветви «Sisyphus» репозитория СПО. Дополнительно к уже имеющейся БД трансляции пространства имен репозитариев пакетов свободного программного обеспечения Fedora Rawhide и Sisyphus начата работа по наполнению БД трансляции пространств имен из нестабильной ветви «Sisyphus» в стабильную ветвь t6 репозитария пакетов свободного программного обеспечения. БД состояния репозитория теперь обновляются ежедневно и доступны online: БД текущего состояния нестабильной ветви «Sisyphus» репозитория СПО доступно с сайта http://repocop.altlinux.ru, БД текущего состояния стабильной ветви «t6» репозитория СПО доступно с сайта http://autoports.altlinux.ru. Интерфейсный модуль perl переписан для использования новых классов данных, добавленых для БД состояния репозитория и БД трансляции пространства имен репозитариев.

Разработано при поддержке Фонда содействия развитию МП НТС в рамках НИОКР 01201066526 rigft