Shell 从编译的二进制文件创建RPM规范文件
环境是AIX7.0RPM版本3.0.5。我对Unix世界很陌生,请耐心对待我的无知 我们有3种不同类型的文件要打包为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文件必须转到目标服务器上的不同目录 由于
•源代码/二进制文件/*.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
数据库只能由提供的用户写入。如果这是可以接受的,我会写一个答案与规格模板,你可以使用。