История изменений
Исправление Nxx, (текущая версия) :
Я заметил, что если секция %files пустая, а в %install используется утилита install, то все установленные файлы автоматом добавляются в список файлов пакета.
Нет такого. Это какие-то особенности вашей системы сборки.
В OBS просто выдает список файлов, который можно скопипастить в %files.
Я так понял, что %dir в секции %files удалит директорию даже если там есть какие-нибудь файлы, которые не входят в пакет.
Нет. В %dir надо прописывать все каталоги, где есть хоть один файл пакета. Есть ли там кроме него файлы других системных пакетов - не важно. Каталог не удалится, если там есть файлы.
Один и тот же пакет можно без проблем использовать в suse и centos?
.src.rpm - как правило, нельзя. Бинарные .rpm - как правило, можно.
Но для этого надо, чтобы в обоих дистрибутивах были нужные версии зависимостей/библиотек. Кроме того, дополнительные траблы могут возникнуть если речь идет не о программе на Си, а о каком-нибудь питоне, wxgtk и т.д.
Если программа написана на Си и не дистроспецифична (например, игра), то надо только проследить, чтобы зависимости были удовлетворены. Как правило, пакеты, собранные на более старой системе, работают и на более новых. Пакеты, собранные на дистрибутивах примерно одного и того же времени выхода, имеют больше шансов быть переносимыми. Пакет, собранный на Centos имеет больше шансов запуститься на последней сусе, чем наоборот (потому что там софт древнее).
Исправление Nxx, :
Я заметил, что если секция %files пустая, а в %install используется утилита install, то все установленные файлы автоматом добавляются в список файлов пакета.
Нет такого. Это какие-то особенности вашей системы сборки.
В OBS просто выдает список файлов, который можно скопипастить в %files.
Я так понял, что %dir в секции %files удалит директорию даже если там есть какие-нибудь файлы, которые не входят в пакет.
Нет. В %dir надо прописывать все каталоги, где есть хоть один файл пакета. Есть ли там кроме него файлы других системных пакетов - не важно. Каталог не удалится, если там есть файлы.
Один и тот же пакет можно без проблем использовать в suse и centos?
.src.rpm - как правило, нельзя. Бинарные .rpm - как правило, можно.
Но для этого надо, чтобы в обоих дистрибутивах были нужные версии зависимостей/библиотек. Кроме того, дополнительные траблы могут возникнуть если речь идет не от программе на Си, а о каком-нибудь питоне, wxgtk и т.д.
Если программа написана на Си и не дистроспецифична (например, игра), то надо только проследить, чтобы зависимости были удовлетворены. Как правило, пакеты, собранные на более старой системе, работают и на более новых. Пакеты, собранные на дистрибутивах примерно одного и того же времени выхода, имеют больше шансов быть переносимыми. Пакет, собранный на Centos имеет больше шансов запуститься на последней сусе, чем наоборот (потому что там софт древнее).
Исправление Nxx, :
Я заметил, что если секция %files пустая, а в %install используется утилита install, то все установленные файлы автоматом добавляются в список файлов пакета.
Нет такого. Это какие-то особенности вашей системы сборки.
В OBS просто выдает список файлов, который можно скопипастить в %files.
Я так понял, что %dir в секции %files удалит директорию даже если там есть какие-нибудь файлы, которые не входят в пакет.
Нет. В %dir надо прописывать все каталоги, где есть хоть один файл пакета. Есть ли там кроме него файлы других системных пакетов - не важно. Каталог не удалится, если там есть файлы.
Один и тот же пакет можно без проблем использовать в suse и centos?
.src.rpm - как правило, нельзя. Бинарные .rpm - как правило, можно.
Но для этого надо, чтобы в обоих дистрибутивах были нужные версии зависимостей/библиотек. Кроме того, дополнительные траблы могут возникнуть если речь идет не от программе на Си, а о каком-нибудь питоне, wxgtk и т.д.
Если программа написана на Си и не дистроспецифична (например, игра), то надо только проследить, чтобы зависимости были удовлетворены. Как правило, пакеты, собранные на более старой системе, работают и на более новых. Пакеты, собранные на дистрибутивах примерно одного и того же времени выхода, имеют больше шансов быть переносимыми.
Исходная версия Nxx, :
Я заметил, что если секция %files пустая, а в %install используется утилита install, то все установленные файлы автоматом добавляются в список файлов пакета.
Нет такого. Это какие-то особенности вашей системы сборки.
В OBS просто выдает список файлов, который можно скопипастить в %files.
Я так понял, что %dir в секции %files удалит директорию даже если там есть какие-нибудь файлы, которые не входят в пакет.
Нет. В %dir надо прописывать все каталоги, где есть хоть один файл пакета. Есть ли там кроме него файлы других системных пакетов - не важно. Каталог не удалится, если там есть файлы.
Один и тот же пакет можно без проблем использовать в suse и centos?
.src.rpm - как правило, нельзя. Бинарные .rpm - как правило, можно.
Но для этого надо, чтобы в обоих дистрибутивах были нужные версии зависимостей/библиотек. Кроме того, дополнительные траблы могут возникнуть если речь идет не от программе на Си, а о каком-нибудь питоне, wxgtk и т.д.
Если программа написана на Си и не дистроспецифична (например, игра), то надо только проследить, чтобы зависимости были удовлетворены. Как правило, пакеты, собранные на более старой системе, работают и на более новых.