2013-11-21 41 views
0

我需要使用Puppet清单手动编译和安装FFMPEG作为我的依赖项之一。我想自己做这个来根据我的项目需要定制FFMPEG的配置。使用Puppet编译和安装软件的工作流程

我不确定如何用类来构造整个过程。逻辑应该是这样的:

  1. 如果/usr/local/bin/ffmpeg不存在,编译:
    1. 从安装apt-get的构建依赖关系。
    2. 创建库源/tmp/ffmpeg
    3. 下载目录和编译YASM汇编
      1. 下载。
      2. 提取物。
      3. 配置
      4. make安装
    4. 下载并编译X264
      1. 克隆源。
      2. 配置。
      3. make安装
    5. 下载并编译FDK-AAC:
      1. ...
    6. ....

我可以轻松地将所有这些分支到他们自己的模块中并将它们声明为FFMPEG的依赖项,这不是问题。

我的主要问题是理解如何为每个模块完成整个下载/提取/编译过程,除非系统上尚未存在。

如何将我的类构造为仅在软件尚未安装时才动作?

+0

您正在使用ffmpeg的包管理器;包管理器将处理所需的依赖关系。 –

+0

我没有使用FFMPEG的包管理器。我需要自己编译我需要的编解码器,否则'package {“ffmpeg”:ensure => present}'会尽我所需。不,那太容易了。 –

回答