Предлагаю опакетить /etc/dconf/profile/user с таким содержанием: user-db:user system-db:local Как описано в статье: https://www.altlinux.org/Dconf Дело в том, что без всяких задних мыслей такой файл был опакечен в пакетах: mate-reduced-resource celluloid-csd-disabled Удаление пакетов делает нерабочими пользовательские переопределения. Кроме того, sin также планировал включить этот файл в свой пакет с политиками.
dconf-0.40.0-alt2 -> sisyphus: Wed Jul 26 2023 Yuri N. Sedunov <aris@altlinux> 0.40.0-alt2 - packaged /etc/dconf/profile/user as described in: https://help.gnome.org/admin/system-admin-guide/stable/dconf-profiles.html.en (ALT #47036) and /etc/dconf/db/local.d/locks directory as described in https://help.gnome.org/admin/system-admin-guide/stable/dconf-lockdown.html.en - enabled %check
Нам стандартный файл для работы не подойдёт. Мы подготовили рабочие по сценарий управления: https://git.altlinux.org/people/sin/packages/dconf-profile.git [sin@xdt dconf-profile]$ ls dconf_mandatory_dir.conf system user user_mandatory.template $ cat user user-db:user system-db:policy system-db:local system-db:default system-db:local system-db:policy $ cat system system-db:policy system-db:local system-db:default system-db:local system-db:policy $ cat user_mandatory.template user-db:user system-db:policy system-db:policy{{uid}} system-db:local system-db:default system-db:local system-db:policy{{uid}} system-db:policy Порядок и дублирование важны в связи с тем, что при вклюбченный
Порядок и дублирование важны в связи с тем, что при включенных блокировках, обход стека обратный.
Ну, как порешаете промеж себя с мантейнерами упомянутых выше mate-reduced-resource celluloid-csd-disabled, расскажете.
(Ответ для Yuri N. Sedunov на комментарий #4) > Ну, как порешаете промеж себя с мантейнерами упомянутых выше > mate-reduced-resource > celluloid-csd-disabled, > расскажете. Виноват, что не написал, что нужно подождать ответа Евгения (хотя бы). Я ничего против упаковки конфигов, о которых написал Евгений не имею. Но нужно выставить конфликты с пакетами: Conflicts: mate-reduced-resource < 0.2 Conflicts: celluloid-csd-disabled < 0.2 Я эти пакеты обновлю до версии 0.2. Но я не знаю, не будет ли это всё чревато при обновлении. Или же удалить эти пакеты и сделать Obsoletes? Так надёжнее будет? В спеке dconf-profile конфиги помечены как %config(noreplace). А точно есть желание пользователю разрешить их редактировать? Можно просто %config, чтобы пользовательские изменения сохранялись с .rpmsave Или не помечать как конфиг совсем. Но главное, если эти конфиги будут меняться со временем в пакете, то их действительно имеет смысл отдельно паковать. Но тогда будет та же проблема. Пользователь снёс dconf-profile, и его переопределения тоже перестанут работать.
Давайте я удалю только что добавленный /etc/dconf/profile/user и поставлю dconf'у зависимость на dconf-profile, в котором вы будете делать всё так, чтобы ничего не сломать?
(Ответ для Yuri N. Sedunov на комментарий #6) > Давайте я удалю только что добавленный /etc/dconf/profile/user и поставлю > dconf'у зависимость на dconf-profile, в котором вы будете делать всё так, > чтобы ничего не сломать? Пока можно только откатить изменение. dconf-profile в Сизифе ещё нет.
Да, давайте. В принципе, все готово, см. ниже. В других пакетах файл /etc/dconf/profile/user опакечен от безысоходности: - mate-reduced-resource - celluloid-csd-disabled После текущего обновления dconf эти пакеты более не рабочие - их нужно чинить. Чинить не сложно - нужно удалить из них /etc/dconf/profile/user. А без %config(noreplace) конфиг user - вообще ломает работу наших систем с групповыми политиками, когда профиль user запакован так, чтобы при обновлении перезасываестся. Предлагаю вот такой вариант решения: - профили выносятся в отдельный пакет dconf-profile; - в dconf прописыается записывается на него зависимость. Прошу одобрить dconf в таске: #325633 TESTED #1 [test-only] sisyphus dconf-profile.git=0.1-alt1 srpm=dconf-0.40.0-alt3.src.rpm
(Ответ для Evgeny Sinelnikov на комментарий #8) > Да, давайте. В принципе, все готово, см. ниже. Я за. > > В других пакетах файл /etc/dconf/profile/user опакечен от безысоходности: > - mate-reduced-resource > - celluloid-csd-disabled > > После текущего обновления dconf эти пакеты более не рабочие - их нужно > чинить. Чинить не сложно - нужно удалить из них /etc/dconf/profile/user. > Я их следом починю. Проблема в том, что обновление систем с этими пакетами сломается. > А без %config(noreplace) конфиг user - вообще ломает работу наших систем с > групповыми политиками, когда профиль user запакован так, чтобы при > обновлении перезасываестся. > Тогда понятно.
А, это зачем почикано? -mkdir -p %buildroot{%_datadir,%_sysconfdir}/%name/{profile,db/local.d/locks} +mkdir -p %buildroot{%_datadir,%_sysconfdir}/%name/{profile,db} -%config %_sysconfdir/%name/profile/user -%dir %_sysconfdir/%name/db/local.d -%dir %_sysconfdir/%name/db/local.d/locks
(Ответ для Yuri N. Sedunov на комментарий #10) > А, это зачем почикано? > > -mkdir -p %buildroot{%_datadir,%_sysconfdir}/%name/{profile,db/local.d/locks} > +mkdir -p %buildroot{%_datadir,%_sysconfdir}/%name/{profile,db} > > -%config %_sysconfdir/%name/profile/user > -%dir %_sysconfdir/%name/db/local.d > -%dir %_sysconfdir/%name/db/local.d/locks Оно прилетает из dconf-profile, иначе будет конфликтовать по файлам. Каталоги баз там сразу все, включая local. Профиль user расширен с сохранением оригинального поведения, если не использовать базы default и policy.
(Ответ для Evgeny Sinelnikov на комментарий #11) > (Ответ для Yuri N. Sedunov на комментарий #10) > Оно прилетает из dconf-profile, иначе будет конфликтовать по файлам. > Каталоги баз там сразу все, включая local. local оставьте dconf'у и можете отправлять свои профайлы в сизиф.
(Ответ для Yuri N. Sedunov на комментарий #12) > (Ответ для Evgeny Sinelnikov на комментарий #11) > > (Ответ для Yuri N. Sedunov на комментарий #10) > > > Оно прилетает из dconf-profile, иначе будет конфликтовать по файлам. > > Каталоги баз там сразу все, включая local. > > local оставьте dconf'у и можете отправлять свои профайлы в сизиф. Я не против. Но давайте подумаем вот над чем. Если база local - это настройка, то она может быть любой. Далее, если все базы прилетают из dconf-profile, то какой смысл только её привязывать к dconf'у? Я готов переделать, если вы настаиваете, это недолго. Но выглядит это целостно, на мой взгляд. Логика, насколько я понимаю в том, что во всех описаниях эта база прописана. Только в этом смысл, получается.
Речь только про каталоги %dir %_sysconfdir/%name/db/local.d %dir %_sysconfdir/%name/db/local.d/locks Пусть они по-прежнему принадлежат dconf'у.
Готово: #325633 TESTED #3 [test-only] sisyphus dconf-profile.git=0.1-alt1 srpm=dconf-0.40.0-alt3.src.rpm
Ждет ваш профиля в сизифе. [#325648] FAILED srpm=dconf-0.40.0-alt3.src.rpm
$ girar-show 325633 2023-Jul-27 00:20:16 :: task #325633 for sisyphus resumed by sin: #340 build 0.1-alt1 from /people/sin/packages/dconf-profile.git fetched at 2023-Jul-26 23:48:36 [...] 2023-Jul-27 00:23:54 :: task #325633 for sisyphus DONE
dconf-0.40.0-alt3 -> sisyphus: Thu Jul 27 2023 Yuri N. Sedunov <aris@altlinux> 0.40.0-alt3 - removed /etc/dconf/profile/user provided by new dconf-profile package (ALT #47036)