【发布时间】:2013-11-21 16:07:20
【问题描述】:
我需要使用 Puppet 清单手动编译和安装 FFMPEG 作为我的依赖项之一。我想自己这样做,以根据我的项目需要自定义 FFMPEG 的配置。
我不确定如何使用类来构建整个过程。逻辑应该是这样的:
- 如果
/usr/local/bin/ffmpeg不存在,编译:- 从 apt-get 安装构建依赖项。
- 为库源
/tmp/ffmpeg创建一个目录 - 下载并编译 Yasm 汇编器
- 下载。
- 提取。
- 配置
- 制作
- 进行安装
- 下载并编译x264
- 克隆源。
- 配置。
- 制作
- 进行安装
- 下载并编译fdk-aac:
- ...
- ....
我可以轻松地将所有这些分支到它们自己的模块中,并将它们声明为 FFMPEG 的依赖项,这不是问题。
我的主要问题是了解如何为每个模块执行整个下载/提取/编译过程只有在系统上不存在的情况下。
我如何构建我的类以仅在尚未安装软件的情况下执行?
【问题讨论】:
-
你正在使用 ffmpeg 的包管理器;包管理器将处理所需的依赖项。
-
我没有使用 FFMPEG 的包管理器。我需要自己为我需要的编解码器编译它,否则
package { "ffmpeg": ensure => present }会做我需要的一切。不,那太容易了。
标签: puppet