Использование rpmbuild, когда исходный каталог tar не соответствует name-version - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь собрать rpm из source-1.4.3-linux.tgz (который загружается, поэтому я не контролирую имя), и файл распаковывается в каталог source-1.4.3-linux. В моем файле source.spec у меня есть

Name: source
Version: 1.4.3 

Так что вполне вероятно, что я получаю сообщение об ошибке:

cd: source-1.4.3: No such file or directory.  

Я пытался привязать -linux к версии, но rpmbuild хочет, чтобы там был только номер. Что мне нужно сделать, чтобы сообщить rpmbuild, что исходные файлы не заархивированы в source-1.4.3-linux?

Ответы [ 3 ]

0 голосов
/ 13 сентября 2018

хорошо, я получил это работает.Может быть, взломать, но это работает.Что касается вопроса, то мой тарбол нестандартно назван.

$ tar tzf source-1.4.3-linux-amd64.tar.gz 
source-1.4.3-linux-amd64/
source-1.4.3-linux-amd64/simple.txt

в разделе% prepfile specfile вместо того, чтобы использовать% setup или% autosetup, я распаковал вручную и переименовал каталог без архива.

Name:       source
Version:    1.4.3
Release:    0
Source0:    https://example.com/%{name}-%{version}-linux-amd64.tar.bz2

%prep
rm -fr %{name}-%{version}
tar -xjf %{SOURCE0}
mv %{name}-%{version}-linux-amd64 %{name}-%{version}
0 голосов
/ 14 сентября 2018

Просто используйте макрос установки .

setup -n %{name}-%{version}.linux

0 голосов
/ 12 сентября 2018

Вот файл simple.spec, который поможет вам разобраться в проблеме. Исходный архив содержит следующее:

$ tar tzf simple-0.tar.gz 
simple-0/
simple-0/simple.txt

Файл спецификации:

Summary: Simple SPEC
Name: simple
Version: 0
Release: 1
License: NONE
Group: NONE
URL: NONE
Source0: %{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root


%description
" This is Simple "

%prep
%setup -q

%build

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/tmp/
install -m 0644 simple.txt %{buildroot}/tmp/simple.txt

%clean
rm -rf $RPM_BUILD_ROOT

%post
echo "In the Post section of Simple"

%files
%defattr(-,root,root,-)
%doc
/tmp/simple.txt


%changelog
* Wed Sep 12 2018  <iamauser@localdomain> - 
- Initial build.
...