使用最新更新构建GlassFish RPM?

时间:2012-08-16 06:11:17

标签: glassfish glassfish-3 packaging rpm

为了使软件部署更加可靠和简单,最好使用操作系统的软件包管理来分发软件。现在我想将GlassFish打包为RPM。

目标: - 构建一次,多次部署 - 包含最新更新的GlassFish - 使用插件包装自定义GlassFish(应该在该GlassFish上运行的应用程序的必要)(参见注释1)

我已经构建了一个.spec文件夹,它解压缩GlassFish .zip(来自Oracle)并将其打包成RPM。 然后我尝试添加一个运行pkg工具的%build部分。 问题在于GlassFish的更新管理:它只接受更新到最新版本,因为您无法将版本传递给更新(或者您可以吗?)。

有了这个,就不可能一次又一次地从头开始构建特定版本的GlassFish RPM而不会每次都有不同的结果(以周/月为单位)。因此,这种方法无法用于生成RPM。

  • 我怎么能这样做?
  • 这是将GlassFish打包为RPM的完全错误的方法吗?
  • 您会推荐哪种替代分销/包装方法?

注意1:我倾向于将这些额外的libaries(插件)打包为另一个RPM,这取决于基本的GlassFish RPM,但我不认为这是可能的,因为安装插件时触摸的文件太多了。< / p>

也许我应该将这个问题改为“分发GlassFish的替代方式”,因为到目前为止,我看不出如上所述我可以做到这一点。

2 个答案:

答案 0 :(得分:1)

我不认为这是创建通用GlassFish RPM的正确方法,因为它需要删除软件包管理器,因此无法在安装后添加必要的运行时库(不将所有GlassFish库也包装为RPM)。 / p>

使用GlassFish RPM的唯一有用方法是针对特定于应用程序的GlassFish安装,其中包含所有必需的库(可能还有配置)。

我不会使用它,因为它为太小的好处增加了太多额外的努力。

我继续构建检查和设置脚本,检查环境。

答案 1 :(得分:0)

我创建了一个GlassFish安装tar,其中包含Linux本机安装程序,其中包含答案文件以及所需的任何修补程序或配置更改。然后我有一个内置于RPM的RPM划线器。在scriptlet中,我有命令运行本机安装程序,其中包含JDK和应答文件的位置(-a选项)。在我的例子中,我使用密码列表运行remove weak ciphers命令,禁用http2,然后进行任何必要的环境更改。