Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 从编译的二进制文件创建RPM规范文件_Shell_Rpm_Aix_Rpmbuild_Rpm Spec - Fatal编程技术网

Shell 从编译的二进制文件创建RPM规范文件

Shell 从编译的二进制文件创建RPM规范文件,shell,rpm,aix,rpmbuild,rpm-spec,Shell,Rpm,Aix,Rpmbuild,Rpm Spec,环境是AIX7.0RPM版本3.0.5。我对Unix世界很陌生,请耐心对待我的无知 我们有3种不同类型的文件要打包为RPM。 •源代码/二进制文件/*.bainary文件(约160个) •Source/ui/*.mm(文件数量2) •Source/scripts/*.sh(10到20) 这些文件是为目标服务器编译的,它们是二进制形式的,我们不想将这些文件压缩为tar 当使用rpmbuild在生成的RPM上进行安装时,.binaryfiles、.ui和.sh文件必须转到目标服务器上的不同目录 由于

环境是AIX7.0RPM版本3.0.5。我对Unix世界很陌生,请耐心对待我的无知

我们有3种不同类型的文件要打包为RPM。

•源代码/二进制文件/*.bainary文件(约160个)

•Source/ui/*.mm(文件数量2)

•Source/scripts/*.sh(10到20)

这些文件是为目标服务器编译的,它们是二进制形式的,我们不想将这些文件压缩为tar

当使用rpmbuild在生成的RPM上进行安装时,.binaryfiles、.ui和.sh文件必须转到目标服务器上的不同目录

由于已经构建,因此不必进行构建

谁能给我提供.spec文件示例和步骤。 我们可以在没有根访问权限的情况下运行rpmbuild吗?
我们可以在没有root访问权限的情况下运行rpm的安装吗?

下面是一个没有任何构建部分的示例

Name: special-package
Version: 0.0
Release: 0.1
Summary: This is a special package

Group: Devlopment/Tools
License: Special Proprietary
BuildArch: noarch

%description
This package contains some special stuff

%install
# e.g., on the target server path_to_all_binary_files=/usr/share/special/bin
%{mkdir_p} %{buildroot}%{_path_to_all_binary_files}

# In case of a copy, file permissions will be copied as it is.
# You can also try 'install -m 755 $RPM_SOURCE_DIR/....'
# 'man install' for more information
%{__cp} $RPM_SOURCE_DIR/binary/*.binaryfiles %{buildroot}%{_path_to_all_binary_files}
# Similarly do this for other sets of files 

%files
%{_path_to_binary_files}/*.binaryfiles
%{_path_to_sh_files}/*.sh

%changelog
* Tue Mar 14 2017 Name Surname<name.surname@email.com>
 - First build of the special package
名称:特殊包装
版本:0.0
发行版本:0.1
小结:这是一个特别的包裹
组:开发/工具
许可证:特殊专有
建筑拱门:无拱门
%描述
这个包裹里有一些特别的东西
%安装
#例如,在目标服务器路径上,所有二进制文件=/usr/share/special/bin
%{mkdir_p}%{buildroot}%{{u path_to_all_binary_files}
#如果是复制,文件权限将按原样复制。
#您也可以尝试“install-m755$RPM\u SOURCE\u DIR/…”
#“手动安装”以获取更多信息
%{{uuuu cp}$RPM\u SOURCE\u DIR/binary/*.binaryfiles%{buildroot}%{u path\u to\u all\u binary\u files}
#类似地,对其他文件集执行此操作
%档案
%{{u path_to_binary_files}/*.binaryfiles
%{{u path_to_sh_files}/*.sh
%变更日志
*2017年3月14日星期二姓名
-特殊包的第一次构建
这是Fedora的,但我认为很多指导原则一般都适用

使用
rpm
没有意义<代码>tar是用于此目的的正确工具。请注意,它不会压缩任何东西。示例tar:
cd/some/where;tar-cf Source.tar Source
;untar示例:
cd/path/to;tar-xf Source.tar
该组织提出了一个新的方案,将所有可安装的组件构建为RPM。您可以作为普通用户运行
rpmbuild
。但是,您需要root用户才能安装该软件包,因为
rpmdb
数据库只能由提供的用户写入。如果这是可以接受的,我会写一个答案与规格模板,你可以使用。