2017-04-03 2 views
0

Je suis nouveau à rpmbuild + fichiers de spec et j'ai essayé le suivant tutorial pour construire l'exemple "hello world". Gérer pour le faire fonctionner, mais je voulais apprendre comment fonctionne dépendances/nécessite. Par conséquent, j'ai essayé de dupliquer un autre exemple "hello world 2" et de le lier en tant que dépendance au premier dans le fichier spec ci-dessous.rpmbuild installation dépendance

Cependant, je continue d'obtenir l'erreur ci-dessous. Y at-il un moyen pour que yum install prenne le helloworld1 et l'installe automatiquement quand j'installe helloworld2?

Un exemple pour moi apprendre?

SPEC DOSSIER

Name:   helloworld2 
Version:  2.0 
Release:  1%{?dist} 
Summary:  A hello world program 

License:  GPLv3+ 
URL:   https://blog.packagecloud.io 
Source0:  helloworld2-2.0.tar.gz 

#BuildRequires: helloworld1 
Requires(preun): helloworld1 
#PreReq: testYW 

%description 
A helloworld program from the packagecloud.io blog! 

%prep 
%setup 

%build 
make PREFIX=/usr %{?_smp_mflags} 

%install 
make PREFIX=/usr DESTDIR=%{?buildroot} install 
echo %{?buildroot} 

%clean 
rm -rf %{buildroot} 

%files 
%{_bindir}/helloworld2 

erorr

COMMANDE >> yum install RPMS/x86_64/helloworld2-2.0-1.el6.x86_64.rpm

Loaded plugins: product-id, search-disabled-repos, security, subscription-manager 
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. 
Setting up Install Process 
Examining RPMS/x86_64/helloworld2-2.0-1.el6.x86_64.rpm: helloworld2-2.0-1.el6.x86_64 
Marking RPMS/x86_64/helloworld2-2.0-1.el6.x86_64.rpm to be installed 
Resolving Dependencies 
--> Running transaction check 
---> Package helloworld2.x86_64 0:2.0-1.el6 will be installed 
--> Processing Dependency: helloworld1 for package: helloworld2-2.0-1.el6.x86_64 
--> Finished Dependency Resolution 
Error: Package: helloworld2-2.0-1.el6.x86_64 (/helloworld2-2.0-1.el6.x86_64) 
      Requires: helloworld1 
You could try using --skip-broken to work around the problem 

Répondre

1

depuis helloworld2 nécessite helloworld1; vous devez soit installer helloworld1 en premier; soit installez les deux ensemble. Depuis helloworld2 dépend de helloworld1; vous ne pouvez pas l'installer sans installer helloworld1 en premier (ou en même temps).

0

okay! J'ai la réponse!

je peux soit faire un yum install * .rpm, ce qu'il fera sa propre dépendance

mettre tout le monde le nouveau fichier rpm dans le référentiel et il le ramasser :)