Hello, On a machine with CentOS-5.6, I need libvorbis >= 1.2, so I have recompiled and packaged libvorbis. But I get the following error : $ rpm -U /usr/src/redhat/RPMS/x86_64/libvorbis-1.2.3-phn.1.x86_64.rpm /usr/src/redhat/RPMS/x86_64/libvorbis-devel-1.2.3-phn.1.x86_64.rpm package libvorbis-1.1.2-3.el5_4.4.x86_64 (which is newer than libvorbis-1.2.3-phn.1.x86_64) is already installed package libvorbis-devel-1.1.2-3.el5_4.4.x86_64 (which is newer than libvorbis-devel-1.2.3-phn.1.x86_64) is already installed Who knows how to make rpm understand than 1.2.3 is newer than 1.1.2 ? I have tried : %define name libvorbis Name: %{name} Provides: %{name} = %{version}-%{release} Obsoletes: %{name} < %{version}-%{release} and the same thing for %{name}-devel, but without any success. "Yum update" also fails, with the following error : Examining /usr/src/redhat/RPMS/x86_64/libvorbis-1.2.3-phn.1.x86_64.rpm: libvorbis-1.2.3-phn.1.x86_64 /usr/src/redhat/RPMS/x86_64/libvorbis-1.2.3-phn.1.x86_64.rpm: does not update installed package. Examining /usr/src/redhat/RPMS/x86_64/libvorbis-devel-1.2.3-phn.1.x86_64.rpm: libvorbis-devel-1.2.3-phn.1.x86_64 /usr/src/redhat/RPMS/x86_64/libvorbis-devel-1.2.3-phn.1.x86_64.rpm: does not update installed package. No Packages marked for Update Can someone help me ? Thanks, -- Philippe
[ replying to myself ] Le mar 26 avr 2011 11:20:44 CEST, Philippe Naudin a ?crit:> ... > Who knows how to make rpm understand than 1.2.3 is newer than 1.1.2 ? > I have tried : > %define name libvorbis > Name: %{name} > Provides: %{name} = %{version}-%{release} > Obsoletes: %{name} < %{version}-%{release} > and the same thing for %{name}-devel, but without any success.Got it : I had to add (ahem) Epoch: 1 but I don't understand exactly how this "Epoch" stuff works. Any pointer to some reading about spec files ? Thanks, -- Philippe
On 04/26/2011 04:20 AM, Philippe Naudin wrote:> Hello, > > On a machine with CentOS-5.6, I need libvorbis >= 1.2, so I have > recompiled and packaged libvorbis. > But I get the following error : > > $ rpm -U /usr/src/redhat/RPMS/x86_64/libvorbis-1.2.3-phn.1.x86_64.rpm /usr/src/redhat/RPMS/x86_64/libvorbis-devel-1.2.3-phn.1.x86_64.rpm > package libvorbis-1.1.2-3.el5_4.4.x86_64 (which is newer than libvorbis-1.2.3-phn.1.x86_64) is already installed > package libvorbis-devel-1.1.2-3.el5_4.4.x86_64 (which is newer than libvorbis-devel-1.2.3-phn.1.x86_64) is already installed > > Who knows how to make rpm understand than 1.2.3 is newer than 1.1.2 ? > I have tried : > %define name libvorbis > Name: %{name} > Provides: %{name} = %{version}-%{release} > Obsoletes: %{name} < %{version}-%{release} > and the same thing for %{name}-devel, but without any success. > > "Yum update" also fails, with the following error : > Examining /usr/src/redhat/RPMS/x86_64/libvorbis-1.2.3-phn.1.x86_64.rpm: libvorbis-1.2.3-phn.1.x86_64 > /usr/src/redhat/RPMS/x86_64/libvorbis-1.2.3-phn.1.x86_64.rpm: does not update installed package. > Examining /usr/src/redhat/RPMS/x86_64/libvorbis-devel-1.2.3-phn.1.x86_64.rpm: libvorbis-devel-1.2.3-phn.1.x86_64 > /usr/src/redhat/RPMS/x86_64/libvorbis-devel-1.2.3-phn.1.x86_64.rpm: does not update installed package. > No Packages marked for Update > > Can someone help me ?CentOS, Red Hat and Fedora use an NEVR model (Name-Epoch-Version-Release) for version control. This command shows that libvorbis has an epoch of 1: [root at m4500 ~]# rpm -q --qf '%{epoch}\n' libvorbis 1 The default Epoch, if undefined, is (none) ... or 0. You need to set the epoch in your spec file to at least 1 to make it newer than the installed libvorbis. See this link to read about epoch: http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-specfile-syntax.html -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 253 bytes Desc: OpenPGP digital signature URL: <http://lists.centos.org/pipermail/centos/attachments/20110426/d318d918/attachment-0005.sig>
Le mar 26 avr 2011 04:34:58 CEST, Johnny Hughes a ?crit:> CentOS, Red Hat and Fedora use an NEVR model > (Name-Epoch-Version-Release) for version control. > > This command shows that libvorbis has an epoch of 1: > > [root at m4500 ~]# rpm -q --qf '%{epoch}\n' libvorbis > 1 > > The default Epoch, if undefined, is (none) ... or 0. > > You need to set the epoch in your spec file to at least 1 to make it > newer than the installed libvorbis. > > See this link to read about epoch: > > http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-specfile-syntax.htmlThanks a lot for this explanation, and for the URL : it is exactly what I needed. -- Philippe