Новая утилита для синхронизации Созданных юзеров/групп в build-режиме

В настоящий момент пользователи созданные в cl-build режиме, к примеру при установке некоторых служб не создаются в основной системе.
Это связано с тем, что файлы /etc/{group,passwd,shadow} уже изменены в слое workspace.
В качестве решения данной проблемы можно:
# вручную насоздавать новых юзеров/группы в workspace
# тупо открыть едитором файлы /etc/{group,passwd,shadow} в workspace, и явно прописать этих новых юзеров/группы (когда я с таким столкнулся, я так и сделал)
# Воспользоваться теми двумя фактами, что

  • если удалить файлы /mnt/scratch/workspace/etc/{group,passwd,shadow}, то в корне будут видны аналогичные файлы из /mnt/builder
  • в calculate уже есть механизм поиска созданных юзеров, и переноса их в устанавливаемую сисему.

Хоть при возникновении подобной ситуации я и воспользовался вторым методом, предлагаю внести в calculate-утилиты функционал вкрадце описанный в п.3 и подробнее расписанный ниже, и при необходимости - предлагать пользователю выполнить нужную команду, подобно тому как предлагается выполнить cl-kernel --symlink
Итак, суть моего видения этого процесса можно разделить на две части - это обнаружение лишних пользователей/группы в delta-слое (если в delta самих файлов нет, то чего-то нового ТОЧНО быть не должно). На bash это можно реализовать к примеру такой функцией:

<code class="bash">
group=
passwd=
shadow=
changet(){
    for f in {group,passwd,shadow}: do
        export ${f}=$(
            while read x; do
                x=${x%%:*}
                grep -qE "^$x:[^:]*:[^:]*:[^:]*" </mnt/scratch/workspace/etc/$f || echo $x
            done < /mnt/scratch/delta/etc/$f 2>/dev/null )
    done
    [ -n "${group}${passwd}${shadow}" ]
    return $?
}
</code>

Дальше осталось просто скопировать свойства профилей, подобно тому как это происходит в утилите cl-install, удалить файлы /mnt/scratch/workspace/etc/{group,passwd,shadow} (тем самым мы получаем в корне эти файлы аналогичные /mnt/builder), и создать юзеров/группы по новой, пользуясь сохраненными свойствами юзеров.@
@
Поскольку вторая часть понятна мне не до конца (а именно - что в каком файле в кальке прописывается для создания юзеров при первой загрузке системы, и что при этой загрузке вызывается), полноценный скрипт выложить не получилось. Просьба к девелоперам дать подсказку по этому вопросу, или самим дописать этот скриптик и вложить его в sys-apps/calculate-builder.@
@
Также возможна ситуация, когда созданный для службы пользователь удаляется при удалении самой службы, но насколько мне известно, это производится не автоматически(нет в ebuild-ах механизма userdel), а админом вручную, так что в автоматической синхронизации удаляемых не вижу необходимости.