我需要使用Puppet清单手动编译和安装FFMPEG作为我的依赖项之一。我想自己做这个,根据我的项目需要自定义FFMPEG的配置。
我不确定如何使用类构建整个过程。逻辑应该是这样的:
/usr/local/bin/ffmpeg
不存在,请编译:
/tmp/ffmpeg
我可以轻松地将所有这些分支到自己的模块中,并将它们声明为FFMPEG的依赖项,这不是问题。
我的主要问题是了解如何为每个模块执行整个下载/提取/编译过程,只有在系统上尚未存在时才会这样做。
如何构建我的类以仅在尚未安装软件时才执行操作?
答案 0 :(得分:0)
无论您如何处理,都需要一种方法来检查是否已安装自定义安装。
常用方法包括
检查文件并仅在不存在的情况下运行命令:http://docs.puppetlabs.com/references/latest/type.html#exec-attribute-creates
仅在另一个命令返回0时运行命令:http://docs.puppetlabs.com/references/latest/type.html#exec-attribute-onlyif(或者,unless
属性)