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