Если у вас есть tar. Который нужно запаковать в rpm делать нужно примерно так:
# mkdir /root/rpmbuild
# cd /root/rpmbuild
# rpmdev-setuptree
# cd SOURCES/
# git clone -b BRANCHNAME https://YOUGITNAME.ru/REPO.git app
Cloning into 'app'...
remote: Counting objects: 3388, done.
remote: Compressing objects: 100% (2091/2091), done.
remote: Total 3388 (delta 1612), reused 1111 (delta 477)
Receiving objects: 100% (3388/3388), 552.47 KiB | 0 bytes/s, done.
Resolving deltas: 100% (1612/1612), done.
# rm -fr app/.git
# tar -zcf 123.tar.gz app
# cd ../SPECS
# wget https://YUOREPO>ru/123.spec ./
# rpmbuild --define '_topdir /root/rpmbuild/' -ba 123.spec
И собственно spec-файл:
# Имя пакета
Name: 123
# Небольшое описание для пакета
Summary: 123 Test for APP
# Версия вашего пакета
Version: 1.0
# Номер релиза пакета
Release: 1
# Любые лицензии которые вы хотите использовать
License: GNU GPL
# Какая группа
Group: Applications
# Имя Фамилия человека
Packager: Name Surname
# Архитектура пакета (noarch/x86_64/i386/etc)
Buildarch: noarch
# Здесь можно ничего не трогать
Buildroot: %{_tmppath}/%{name}
# Пакер какой использован
# tar / tar.gz / tar.bz2
Source0: %{name}.tar.gz
# Если rpm пошел узнавать про зависимости раскоментируй:
#AutoReqProv: no
# Если есть зависимости раскоментируй:
#Requires: bash
# Подробное описание
%description
123 for APP main application
# Это можно не трогать
%define debug_package %{nil}
%prep
%setup -q -c
cd app
#Тут можно сделать что-то до билда
%build
cd app
#Тут можно делать что-то во время билда
%install
rsync -a . %{buildroot}/
%clean
rm -rf %{buildroot}
%pre
%post
%preun
%postun
#%trigger
#%triggerin
#%triggerun
%changelog
* Tue Jun 01 2021 Name Surname <None>
- Test version.
%files
%attr(0755, root, root) %dir "/app"
%attr(0644, root, root) "/app/README.md"
#И дальше также все файлы по аналогии файлы лежат в SOURCES