Почему процедура создания RPM настолько изолирована?

Использование lsиз GNU coreutils (по умолчанию в большинстве систем Linux):

$ ls -v -1

При этом имена файлов будут перечислены в одном столбце (-1), отсортированном с использованием естественного порядка сортировки чисел в имени файла ("сортировка версий",-v). Это предполагает, что все имена файлов имеют одинаковую строку префикса до фактического числа (anacovaux_, например ).

Для систем без GNUls:

$ print '%s\n' * | sort -t '_' -k2,2n

Это позволит отсортировать имена по номеру после первого символа _в имени. Опять же, предполагается, что префикс имени файла является постоянным (это решение полностью игнорирует префикс до первого_).

1
22.08.2019, 06:42
3 ответа

Общий принцип упаковки заключается в том, что вы не должны делать каких-либо предположений о системе, которые не объявлены в конфигурации упаковки. Это включает в себя многое :пакеты, необходимые для сборки, пакеты, необходимые для выполнения, учетные записи (, необходимые пользователя или группу ), необходимые разрешения и т. д. В противном случае вы можете обнаружить, что файл спецификации, который вы написал может построить на вашей системе снежинка, но не в чистой среде. И даже если он будет построен, он может не установиться. И даже если он будет установлен, он может работать не так, как ожидалось.

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

3
27.01.2020, 23:17

Вы можете указать rpmbuild, где используются ваши файлы --define '_builddir <Your_Root>'Вам не нужно запускать его с другой учетной записью, хотя я думаю, что это хорошая практика. Надеюсь, это полезно. Эран.

0
27.01.2020, 23:17

Both of these instructions encourage building an RPM on a separate account.

Я не читаю документацию Fedora таким образом; для меня это говорит о том, что , если вы хотите , вы можете использовать отдельную учетную запись для выполнения своей работы по упаковке, и это объясняет, что вам нужно сделать, чтобы это заработало. Он не говорит, что вы должны это делать, и даже не поощряет вас к этому.

Я использую свой основной аккаунт для работы с пакетами. Однако я гарантирую, что мои требования к сборке выполнены, запустив mockсборки (и, конечно же, используя Koji или наш внутренний эквивалент ).

1
27.01.2020, 23:17

Теги

Похожие вопросы