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,
[ 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,
On 04/26/2011 04:34 AM, Philippe Naudin wrote:
[ 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,
Think of epoch as a hidden number that allows you to make what would be a lower version of an RPM seem newer. One might think this is not something that would ever need to be done ... however, there are times when you might need to do it, for example:
You might use it in a situation where you rebase an RPM version down ... for example if you had a Distro called Red Hat 9.0 and if you wanted to start a new distribution called Red Hat Enterprise Linux 3.0 and if you wanted the Red Hat Release RPM of RHEL 3 (with a version of 3.x.x) to be newer than a Red Hat Release of RH9 (with a version of 9.x.x) then you can use Epoch to make that happen.
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@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_...
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@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_...
Thanks a lot for this explanation, and for the URL : it is exactly what I needed.