3

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

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

如何将规范文件写入:

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

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

谢谢你的时间。

PS:我经历了这个操作方法。不幸的是,我是这方面的新手,我找不到解决方案。

4

2 回答 2

5

我无法编辑@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}

# ...
于 2012-10-29T10:39:47.600 回答
5

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

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

并将run.jar/run.sh 和spec 文件分别放入~/rpmbuild/SOURCES 和~/rpmbuild/SPECS/ 中。

编辑:在规范文件中:

(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/*
于 2012-10-26T08:03:31.357 回答