Specfile RPM для проекта C / C ++ : как мне узнать, как заполнять поля Requires и BuildRequires?

Возможно, стоит посмотреть на Filesystem Hierarchy Standard, который описывает, для чего обычно используются различные файловые системы (с точки зрения стандартов, не все должны следовать им), что позволит вам узнать, где могут храниться персонализированные данные. Однако короткий ответ таков: везде, где приложение хочет их хранить и имеет разрешение на их хранение.

Обычно неадминистративные пользователи имеют доступ на запись только к /tmp/, /home/user, /var/tmp/, некоторым каталогам в /run/ (/run/lock и /run/shm, например).

Однако, почтовый демон и демон печати, которые теоретически могут использоваться для хранения персонализированных данных в файлах, хотя бы временно, имеют доступ на запись к местам в /var/spool/. Syslog теоретически может хранить персональную информацию, в зависимости от того, как пользователи взаимодействуют с системой, и, следовательно, в /var/log/ может быть содержимое.

Все это не распространяется на другие продукты, которые могут создавать данные в других местах (/opt/, /srv/, в любом другом месте, где они настроены для этого).

Делать это по частям будет сложно.

NB: В Википедии есть краткое описание FHS.

1
02.02.2014, 10:49
2 ответа

команда update-modules устарела в течение некоторого времени. Эквивалент:

depmod -a

-121--290613-

Инструменты Fedora RPM очень умны в определении зависимостей времени выполнения самостоятельно, если только они не могут быть выведены из самих устанавливаемых файлов. Зависимости для построения вы узнаете сами. Возможно, Руководство Fedora по RPM полезно (я пользователь Fedora, и это лучший ресурс, который я знаю; возможно, ваш дистрибутив имеет более релевантную документацию для вашего использования). Fedora предлагает макет (1) , который создает чистую среду с помощью только встроенных инструментов, упомянутых для создания пакета. Это настоящая боль ( очень медленная, так как она по сути создает полную систему в хрооте, скачивая все для каждой сборки), но полезная финальная проверка.

3
29.04.2021, 00:43

Вот как я получаю информацию, чтобы обеспечить явные зависимости для файла спецификации:

  • Requires: см. мой сценарий здесь;
  • BuildRequires: используйте auti-buildrequires инструмент от Richard Jones;
1
29.04.2021, 00:43

Теги

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