Политика не грузится в окружении текущего Сизифа/p8 Ну, во первых, ему фактически нужен policycoreutils-devel, что не вполне правильно, но даже если его поставить, возникают проблемы вида: Unable to resolve name: system_u Failed to resolve filecon statement at 174 of /var/lib/selinux/altlinux/tmp/modules/400/base/cil Failed to resolve ast semodule: Failed!
PS эта ошибка возникает при установке пакета. PS1 если поставить пакет, например, на c7, а потом сделать dist-upgrade до Сизифа -- работает
Для Сизифа/p8: Из пакета policycoreutils-devel требуется /usr/libexec/selinux/hll/ для установки selinux-policy-altlinux. Вероятно, её стоит перенести в файлы пакета policycoreutils. С остальными ошибками сейчас разбираюсь.
/usr/libexec/selinux/hll/ я сейчас перенесу. Полагал, это для разработки только.
Последний не-апстримный коммит [1], с которым работает selinux-policy-altlinux. Апстримный коммит, в котором ломаются полиси, находится где-то между [1] и [2] коммитами. Продолжу исследования. [1] http://git.altlinux.org/gears/p/policycoreutils.git?p=policycoreutils.git;a=commit;h=063837a8c5c69289438135587f1a67fef87ba69a [2] http://git.altlinux.org/gears/p/policycoreutils.git?p=policycoreutils.git;a=commit;h=d442b3651354c109ec408fbbe4df6c9789372391
Последний апстримный коммит [1], который собирается в окружении c7. Осталось примерно 50 коммитов, которые не собираются в окружениях c7 или Sisyphus или из-за компилятора, или из-за несоответствии версии libselinux. Продолжу исследования. [1] http://git.altlinux.org/gears/p/policycoreutils.git?p=policycoreutils.git;a=commit;h=ac33098a807671204720aae97d6bcf6429d3fa92
Уточнение: собирается и политика грузится.
Зерг, я не понял, ты же вроде это чинил ?
(В ответ на комментарий №7) > Зерг, я не понял, ты же вроде это чинил ? AFAIK уже нет.
Created attachment 6823 [details] context__contains.patch
Последний коммит [1], с которым политики загружаются, в следующем коммите [2] semodule сегфолтится при попытке их загрузить. Чистые коммиты не собираются, для их сборки необходимо наложить патч (во вложении). [1] http://git.altlinux.org/gears/p/policycoreutils.git?p=policycoreutils.git;a=commit;h=aea047c76904a907c0acb15ab4a6399ffe32dd63 [2] http://git.altlinux.org/gears/p/policycoreutils.git?p=policycoreutils.git;a=commit;h=e37fa2f63be89afab9b5f5ddfedbd589d0676c4e
А что говорит апстрим на это ? Ну сегфолт видимо является следствием того, что наша политика лежит в /etc, а не в /var.
> Ну сегфолт видимо является следствием того, что наша политика лежит в /etc, а не в /var. Не совсем. Причина сегфолта пока непонятна. Правила из /etc/selinux/altlinux/modules/ в /var/lib/selinux/altlinux/ нужно перекладывать как раз в версии policycoreutils-2.4, т.е. тот, что в p8/Sisyphus. И если их туда положить, то при их загрузке также происходит сегфолт (как и в случае того коммита). Пока продолжаю исследования. P.S. Я в #4 (https://bugzilla.altlinux.org/show_bug.cgi?id=32254#c4) написал, что с версией 2.3 наши политики работают. Это неправда. Тоже происходит сегфолт.
Точнее, с policycoreutils 2.4 не сегфолтятся, а не загружаются правила с известной диагностикой.
Ан-нет, с версией policycoreutils 2.3 политики загружаются #4.
Правильно ли я понимаю, что, хотя задача была в целом решена, пакет в Сизиф/p8 собран не был?
Я его видел в eperm.
task #170252 Он был в Eperm, сейчас он снова стал NEW. Отправил на сборку.
Если его кто-то протестировал, то я могу заапрувить.
Downgrade это всё-таки не решение задачи. Нам всё равно неминуемо придётся переходить на более новые версии libselinux и policycoreutils. Ещё есть время разобраться в корне проблемы и исправить её.
(In reply to comment #19) > Downgrade это всё-таки не решение задачи. Нам всё равно неминуемо придётся > переходить на более новые версии libselinux и policycoreutils. Ещё есть время > разобраться в корне проблемы и исправить её. Сперва надо зафиксировать работающую версию. Конечно, проблем много и двигаться вперед нужно.
работающая версия в p7 зафиксирована.
Владимир, вы пробовали собирать версию 2.6 ? https://github.com/SELinuxProject/selinux/wiki/Releases
(In reply to comment #21) > работающая версия в p7 зафиксирована. Меня интересует сейчас фиксация в Сизифе и p8. Остальное -- не предмет обсуждения в этой баге.
> Владимир, вы пробовали собирать версию 2.6 ? Нет. Она вышла недавно. Можно попробовать. Мне тоже даунгрейд не нравится, но я сомневаюсь, что в 2.6 правила заработают; правильнее было бы конечно правила переписать. Но лучше проверить.
А не работает только с нашими правилами ? Тогда это совсем просто должно быть.
(В ответ на комментарий №25) > А не работает только с нашими правилами ? Тогда это совсем просто должно быть. Возможно. Но сначала надо сделать чтоб оно работало здесь и сейчас.
policycoreutils-1:2.3-alt1 -> sisyphus: * Thu Sep 29 2016 Vladimir D. Seleznev <vseleznv@altlinux> 1:2.3-alt1 - downgraded due regression (closes: #32254)
Антон, такие революции надо проводить не в Sisyphus а в стабильном бранче. Зачем оно понадобилось тебе в Sisyphus - я не понимаю. Обнови в бранче, после этого я соберу 2.6.
policycoreutils-1:2.3-alt1 -> p8: * Thu Sep 29 2016 Vladimir D. Seleznev <vseleznv@altlinux> 1:2.3-alt1 - downgraded due regression (closes: #32254)
refpolicy c 2.6 грузится, policy-altlinux - нет. Проблема где-то в политике.
Забрал на себя
Загрузка обламывается на этих строчках (если читать CIL, на который как раз ругается): (filecon "HOME_DIR" symlink (system_u object_r def_t ((s0) (s0)))) (filecon "HOME_DIR" dir (system_u object_r def_t ((s0) (s0)))) (filecon "HOME_DIR/.+" any (system_u object_r def_t ((s0) (s0)))) (filecon "HOME_ROOT" any (system_u object_r home_root_t ((s0) (s0)))) Судя по всему ошибка в политике была всегда, просто новые policycoreutils научились её обрабатывать. По крайней мере код, который пишет Failed to resolve %s statement появился вместе с компилятором CIL в коммите bb0f8beff890195cfd459c67230c6130c86b3214 policycoreutils.
В общем это ошибка копипаста - в нашей политике не используется system_u и home_root_t, соответственно их никто не объявляет, отсюда и проблемы. Эти строчки просто не нужны, старый policycoreutils игнорировал синтаксические ошибки, новый стал на них ругаться. И ещё раз просьба к Владимиру и Антону - прежде чем делать глупости - посоветуйтесь с более опытными коллегами, тем более вы оба не является ментейнерами подсистемы selinux и отправлять пакеты без согласования по крайней мере не красиво, а в данном случае ещё и некорректное применение прав git_root
сейчас всё грузится на текущем sisyphus и c8/p8