Package depends on epoch, but why

Panu Matilainen pmatilai at laiskiainen.org
Sun Apr 30 04:27:01 PDT 2006


On Sun, 30 Apr 2006, Richard Bos wrote:

> While performing a upgrade in suse-10.1 the following is reported:
>
> medion101:~ # apt -s upgrade
> Reading Package Lists... Done
> Building Dependency Tree... Done
> The following packages will be upgraded
> ....................................
> The following packages have been kept back
>  cyrus-imapd dbus-1 dbus-1-glib dbus-1-mono dbus-1-qt3 dbus-1-x11 postfix
>
>
> medion101:~ # apt -s install cyrus-imapd dbus-1 dbus-1-glib dbus-1-mono
> dbus-1-qt3 dbus-1-x11 postfix
> Reading Package Lists... Done
> Building Dependency Tree... Done
> Some packages could not be installed. This may mean that you have
> requested an impossible situation or if you are using the unstable
> distribution that some required packages have not yet been created
> or been moved out of Incoming.
> The following information may help to resolve the situation:
>
> The following packages have unmet dependencies:
>  dbus-1-mono: PreDepends: dbus-1 (= 0:0.60-28)
>  dbus-1-qt3: PreDepends: dbus-1 (= 0:0.60-28)
>  dbus-1-x11: Depends: dbus-1 (= 0:0.60-28)
> E: Broken packages
>
> The packages are available in the repository:
> dbus-1-qt3;0.60-28;i586;base
> dbus-1-x11;0.60-28;i586;base
> dbus-1-mono;0.60-28;i586;base
>
> 10.1-i386/RPMS.base > rpm -qp --requires dbus-1-mono-0.60-28.i586.rpm
> dbus-1 = 0.60-28
>
> The spec files of dbus-1-* contains the following:
> dbus-1-mono.spec:Requires:       dbus-1-devel
> dbus-1-mono.spec:Requires:       dbus-1-qt3 = %{version}-%{release}
> dbus-1-mono.spec:Requires:       dbus-1-qt = %{version}-%{release}
> dbus-1-mono.spec:Requires:       dbus-1 = %{version}-%{release}
> dbus-1-mono.spec:Requires:       glibc-devel
> dbus-1-mono.spec:Requires:       libstdc++-devel
> dbus-1-mono.spec:Requires:       libxml2-python
> dbus-1-mono.spec:Requires:       qt-devel
> dbus-1-mono.spec:Requires:       zlib-devel
> dbus-1.spec:Requires:       aaa_base
> dbus-1.spec:Requires:       %{name} = %{version}-%{release}
> dbus-1.spec:Requires:       %{name} = %{version}-%{release} dbus-1-glib
> glib2-devel
>
> AFAICS, no references to epoch (0:...).  Why does apt determine that dbus-1-*
> depends on 0:0.60...?

Because createrepo stomps zero epochs everywhere if epoch doesn't exist 
and that doesn't mix well with reality on pre 4.2.1 rpm versions. To add 
to that, lorg3 tries to hide away those false epochs partially, mixing up 
the situation even more for old rpm versions. What version of rpm does 
10.1 have, is it still rpm-4.1+patches?

See the thread starting at 
http://lists.laiskiainen.org/pipermail/apt-rpm-laiskiainen.org/2006-April/000024.html, 
RHL 9 has similar problems because of the false zero epochs reported by 
repomd data.

Unless I'm missing something, the only solution is to have the metadata 
not lie about epochs, but that breaks smart and yum which both expect the 
epoch property to be always there and be zero for non-existing epochs. The 
remaining option is to add a switch to createrepo to make it possible to 
disable adding those false epochs in the metadata: 
https://lists.dulug.duke.edu/pipermail/rpm-metadata/2006-April/000627.html

 	- Panu -



More information about the Apt-Rpm mailing list