一、x86操作步骤
1. 查找是否有依赖
rpm -qa | grep rpm-build
rpm -qa | grep rpmrebuild
如果没有,就安装依赖:
yum install rpmrebuild
yum install rpm-build
2. 强制安装各服务rpm包
rpm -ivh ambari-server-2.7.3.0-139.x86_64.rpm —nodeps
3. 提取rpm包的spec文件
rpmrebuild —spec-only=ambari-server-2.7.3.0-139.x86_64.spec ambari-server-
2.7.3.0-139.x86_64
4. 提取rpm包的依赖文件
rpm2cpio ambari-server-2.7.3.0-139.x86_64.rpm | cpio —extract —make-directories
二、arm操作步骤
1. 在arm机器上执行的一些重新打包的准备工作
mkdir SPECS
scp ambari-server-2.7.3.0-139.x86_64.spec
10.1.249.36:/home/yanbin/rpmbuild/SPECS
vim :1,$s/x86_64/aarch64/g
统计总数::%s/string//gn
mkdir BUILDROOT/ambari-server-2.7.3.0-139.aarch64
cp -r x86_64 aarch64
在arm重新编译_posixsubprocess.so 文件:下载subprocess32-3.2.6,将其中的
subprocess32.py文件,替换为ambari自己的
scp -r _posixsubprocess.so
10.1.249.36:/home/yanbin/rpmbuild/BUILDROOT/ambari-server-2.7.3.0-
139.aarch64/usr/lib/ambari-server/lib/ambari_commons/libs/aarch64
在arm重新编译: _speedups.so文件
下载simplejson-3.16.0文件,将其中的decoder.py,encoder.py,scanner.py三个文件
替换为ambari自己的。
2. 重新生成RPM包
rpmbuild -ba SPECS/ambari-server-2.7.3.0-139.aarch64.spec