Шаги к пакету RPM после компиляции исходного кода — CentOS7

Linux

Цель

Измененная часть исходного кода Spark.После компиляции в пакет jar замените jar в исходном пакете rpm и перепечатайте его в пакет rpm для установки.

шаг

  1. Установите rpmbuild, rpmrebuild, rpmdevtools
yum install -y rpm-build
yum install -y rpmrebuild
yum install -y rpmdevtools
  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. Извлеките файл спецификации:
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. Unzip spark2_3_0_1_0_187-2.3.1.3.0.1.0-187.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. Переупакуйте извлеченные файлы в соответствии с извлеченным спецификационным файлом:
cd ~/rpmbuild/
rpmbuild -ba SPECS/spark2.spec
  1. Новое расположение пакета xxx.rpm в папке /root/rpmbuild/rpms (при использовании пользователей root)
  2. Этот пакет RPM может быть установлен и использован:
rpm -ivh /root/rpmbuild/RPMS/xxx.rpm

Примечание

Чтобы извлечь файл спецификации, вы также можете использовать следующую команду:

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