He estado tratando de usar fpm para crear un rpm, pero me encontré con un problema. Después de instalar el paquete, hay archivos que ya no necesito que se eliminan en un script posterior a la instalación para ahorrar espacio. Desafortunadamente, cuando los paquetes se desinstalan, se queja de que los archivos no están allí, ya que rpm aún los registra como parte del paquete. Cuando investigué cómo solucionar esto a través de rpm, me topé con la macro %config(missingok) que parece ideal. Sin embargo, no parece que haya una manera de configurar esto a través de fpm.
Mis opciones actuales para posibles soluciones son cambiar el indicador de edición de usar vi para editar el archivo de especificaciones a usar un script configurando la variable fpm_editor, o tocar el archivo en un script de eliminación previa para tratar de engañar a las RPM para que piensen en estos problemas. el archivo todavía existe. Ninguna de estas opciones es muy atractiva.
Así que mi pregunta es la siguiente: ¿Hay alguna manera de usar fpm para a: eliminar el paquete de la "vista" de la posinstalación de rpm, o b: marcar el archivo como noconfig (missingok) a través de fpm? Sin utilizar las dos soluciones anteriores, por supuesto.
La forma habitual de hacerlo es rm -f estos archivos al final de la sección %install , en lugar de hacerlo en el scriptlet post-install . De esta forma, los archivos inútiles no se empaquetarán en el rpm final.
Nunca empaqueté un rpm con fpm , pero al mirar el código fuente veo los interruptores de la línea de comandos --exclude y --exclude-file que deberían ser los que está buscando:
option ["-x", "--exclude"], "EXCLUDE_PATTERN", "Exclude paths matching pattern (shell wildcard globs valid here). " \ "If you have multiple file patterns to exclude, specify this flag " \ "multiple times.", :attribute_name => :excludes do |val| excludes << val next excludes end # -x / --exclude option "--exclude-file", "EXCLUDE_PATH", "The path to a file containing a newline-sparated list of "\ "patterns to exclude from input."