用于创建RPM软件包的简单规格文件



我有一个二进制java run.jar文件,一个bash脚本 run.sh,该文件通过 java -jar执行 run.jar

  • 在我的环境中(~/rpmbuild/),我必须在哪里放置这两个文件?我必须在哪里放置源文件?(我想我应该压缩源为.tar.gz

如何将规格文件写入:

  • 制作目录~/bin/my-package;
  • run.jarrun.sh复制到上面的目录;

这就是我想要的。你能帮我一点吗?

感谢您的时间。

P.S:我经历了这一方法。不幸的是,我是新手,我找不到解决方案。

创建〜/.rpmmacros以设置RPM构建环境。

$ mkdir -p ~/rpmbuild/{BUILD,RPMS/{i{3,4,5,6}86,x86_64,noarch},SOURCES,SPECS,SRPMS}
$ echo "%_topdir $HOME/rpmbuild" > ~/.rpmmacros

和put run.jar/run.sh和spec文件分别为〜/rpmbuild/sources和〜/rpmbuild/specs/specs/specs/specs/ppmbuild/ppmbuild/ppmbuild/ppmbuild/ppmbuild/specs/specs/prop。

编辑:在规格文件中:

(skip)
Source0: run.jar
Source1: run.sh
(skip)
%install
%{__mkdir_p} ${RPM_BUILD_ROOT}/path/to/my-package
%{__install} -m0644 %{SOURCE0} ${RPM_BUILD_ROOT}/path/to/my-package
%{__install} -m0644 %{SOURCE1} ${RPM_BUILD_ROOT}/path/to/my-package
(skip)
%files
/path/to/my-package/*

我无法编辑@taizo ito的答案,因为有很多更改。他的答案是正确的,但我更新到最新的RPM构建指南:

# skip
Source0: run.jar
Source1: run.sh
#skip
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_bindir}/my-package
cp %{SOURCE0} %{buildroot}%{_bindir}/my-package
cp %{SOURCE1} %{buildroot}%{_bindir}/my-package
# skip
%files
%{_bindir}/my-package/*
%clean
rm -rf %{buildroot}
# ...

最新更新