源码编译后打RPM包步骤-Spark

3,605 阅读1分钟

源自个人博客,欢迎访问:kelvin-qzy.top/

目的

修改了Spark部分源码,编译成jar包后要替换原rpm包中的jar,并重新打成rpm包以便安装。

步骤

  1. 安装rpmbuild,rpmrebuild,rpmdevtools
yum install -y rpm-build
yum install -y rpmrebuild
yum install -y rpmdevtools

rpmrebuild官网 rpmrebuild.sourceforge.net/

  • 下载rpmrebuild

RPM resource rpmrebuild rpmfind.net/linux/rpm2h…

  • 百度网盘下载rpmrebuild:

链接:pan.baidu.com/s/16_QY2aYS…
提取码:8mov

  1. 运行rpmdev-setuptree生成工作目录,使用rpmbuild --showrc | grep topdir查看工作目录。如果是root用户,此时生成的文件夹在/root/rpmbuild下。 注意:cd /root/rpmbuild;mkdir BUILDROOT
  2. 也可mkdir -p手动生成这些目录:
mkdir -p /root/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
  1. 提取spec文件:
rpmrebuild -p -n -s spark2.spec spark2_3_0_1_0_187-2.3.1.3.0.1.0-187.noarch.rpm
  1. 将生成的spark2.spec拷贝到SPECS目录下。
  2. 将spark2_3_0_1_0_187-2.3.1.3.0.1.0-187.noarch.rpm解压到rpmbuild/BUILDROOT目录下:
rpm2cpio spark2_3_0_1_0_187-2.3.1.3.0.1.0-187.noarch.rpm |cpio –idv
  1. 你可能需要创建spark2_3_0_1_0_187-2.3.1.3.0.1.0-187目录,并将上一步解压出来的内容移动到这个目录。
  2. 将你修改代码编译成的jar包拷贝到解压出来的相应位置(删除原来同名的jar包!)
  3. 根据提取的spec文件把解压出的那些文件重新打rpm包:
cd ~/rpmbuild/
rpmbuild -ba SPECS/spark2.spec
  1. 新生成的xxx.rpm包位置在/root/rpmbuild/RPMS下(使用root用户时)
  2. 这个rpm包可以安装使用了:
rpm -ivh /root/rpmbuild/RPMS/xxx.rpm

提取spec文件也可使用如下命令:

rpmrebuild –package –notest-install –spec-only   your.spec   xxxx.rpm