Цель
Измененная часть исходного кода Spark.После компиляции в пакет jar замените jar в исходном пакете rpm и перепечатайте его в пакет rpm для установки.
шаг
- Установите rpmbuild, rpmrebuild, rpmdevtools
yum install -y rpm-build
yum install -y rpmrebuild
yum install -y rpmdevtools
- Запустите rpmdev-setuptree для создания рабочего каталога, используйте команду rpmbuild --showrc | grep topdir для просмотра рабочего каталога. Если это пользователь root, созданная в это время папка находится в
/root/rpmbuild
Вниз. Примечание: cd /root/rpmbuild;mkdir BUILDROOT - Вы также можете создать эти каталоги вручную с помощью mkdir -p:
mkdir -p /root/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
- Извлеките файл спецификации:
rpmrebuild -p -n -s spark2.spec spark2_3_0_1_0_187-2.3.1.3.0.1.0-187.noarch.rpm
- будет генерировать
spark2.spec
Скопируйте в каталог Specs. - 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
- ты мог быНеобходимо создать каталог spark2_3_0_1_0_187-2.3.1.3.0.1.0-187и переместите содержимое, извлеченное на предыдущем шаге, в этот каталог.
- Скопируйте пакет jar, скомпилированный вашим измененным кодом, в соответствующее место, где вы его извлекли (удалите исходный пакет jar с тем же именем!)
- Переупакуйте извлеченные файлы в соответствии с извлеченным спецификационным файлом:
cd ~/rpmbuild/
rpmbuild -ba SPECS/spark2.spec
- Новое расположение пакета xxx.rpm в папке /root/rpmbuild/rpms (при использовании пользователей root)
- Этот пакет RPM может быть установлен и использован:
rpm -ivh /root/rpmbuild/RPMS/xxx.rpm
Примечание
Чтобы извлечь файл спецификации, вы также можете использовать следующую команду:
rpmrebuild –package –notest-install –spec-only your.spec xxxx.rpm