Строить RPM, чтобы вести себя по-другому при установке и обновлении?

У меня есть пакет RPM с почти 4000 файлами, и установка этого занимает много времени. Однако из этих 4000 файлов для каждой версии изменяется только фиксированный список из 25 файлов.

Мой запрос:

Можно ли создать RPM таким образом, чтобы во время установки и обновления он вел себя по-разному? Это то, что я намереваюсь сделать.

  1. Во время установки все 4000 файлов должны быть скопированы.
  2. Во время обновления копируются только 25 измененных файлов, а не остальные файлы (потому что они требуют много времени для установки и просто перезаписывают одни и те же файлы).

Да, это возможно.

Взгляните на эту полезную страницу вики из Fedora, в которой объясняется, что «scriplets» pre и post build принимает аргумент, который передается им, когда они запускаются как часть установки RPM.

Вы можете добавить проверку, чтобы определить, будет ли обновление или новая установка для вашего скрипта. Предоставленная ссылка содержит пример того, как это сделать в вашем сценарии предварительной установки.