J'essaie de construire un paquet en utilisant rpmbuild sur un serveur CentOS 6.3 64 bits.
Voici le spec
archivo:
Name: test-fms
Version: 1.0
Release: 1%{?dist}
Summary: my FMS Package
Group: Applications/Internet
License: Nobody.
URL: http://www.bla.com
Provides: test-fms = %{version}-%{release}
%description
test FMS server.
%prep
%build
%install
mkdir -p $RPM_BUILD_ROOT
cp -r /workspace/%{name}/* $RPM_BUILD_ROOT/
%post
%clean
\rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
/opt/adobe/fms
Lorsque j'essaie d'installer le paquet sur un autre serveur CentOS 6.3 64 bits, j'obtiens les erreurs suivantes :
--> Finished Dependency Resolution
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: /usr/local/bin/perl
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: librt.so.1
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: libc.so.6
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: libc.so.6(GLIBC_2.0)
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: libc.so.6(GLIBC_2.4)
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: libstdc++.so.6(GLIBCXX_3.4)
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: libpthread.so.0(GLIBC_2.1)
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: libpthread.so.0(GLIBC_2.0)
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: libgcc_s.so.1(GCC_3.0)
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: libgcc_s.so.1
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: libc.so.6(GLIBC_2.1)
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: libcurl.so.3
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: libstdc++.so.6
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: libstdc++.so.6(CXXABI_1.3)
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: libdl.so.2
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: libpthread.so.0(GLIBC_2.3.2)
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: libpthread.so.0
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: libc.so.6(GLIBC_2.1.3)
Error: Package: test-fms-1.0-1.el6.x86_64 (myrepo)
Requires: libm.so.6
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
Bien que le RPM ait été construit en 64 bits, il nécessite des paquets 32 bits, par exemple pour le programme glibc
j'ai installé le paquet 64 bits, mais les dépendances du RPM requièrent libc.so.6
:
[root@test ~]# yum provides libc.so.6
Loaded plugins: downloadonly, fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.spd.co.il
* extras: centos.spd.co.il
* updates: centos.spd.co.il
updates/primary_db | 4.6 MB 00:04
glibc-2.12-1.80.el6.i686 : The GNU libc libraries
Repo : base
Matched from:
Other : libc.so.6
Après avoir joué avec le fichier spec pendant un certain temps, j'ai remarqué que si je supprime l'élément %files
du fichier de spécification, alors aucune exigence n'est nécessaire.
Comment puis-je réparer cela ? Qu'est-ce que je fais mal ?
Pourquoi le RPM ajoute-t-il automatiquement les exigences ? Puis-je le contrôler d'une manière ou d'une autre ?