FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Development

 
 
LinkBack Thread Tools
 
Old 07-05-2012, 10:06 PM
Arthur de Jong
 
Default Bug#680226: lib{nss,pam}-ldapd: apt wants to remove them on dist-upgrade in favour of lib{nss,pam}-ldap:i386

found 680226 0.8.5
tags 680226 + help
thanks

On Wed, 2012-07-04 at 15:42 +0200, Thorsten Glaser wrote:
> this situation is a bit weird, on an M-A enabled system (debugging
> hindered a bit due to #680225), after upgrading libnss-ldapd and
> libpam-ldapd to the latest version (or even before doing that), a
> further dist-upgrade wants to kill them and install libnss-ldap and
> libpam-ldap (the nōn-“d” versions, which thus will not work due to
> #423252) from i386 (WTF?).

Thanks for pointing this out.

My guess is that this is due to the Conflicts/Replaces that is included
in libnss-ldapd on libnss-ldap and in libpam-ldapd on libpam-ldap.

I guess the conflicts is interpreted to apply to any installed version
of the package while what should be interpreted as a conflict/replaces
only of the package of the same architecture.

I'm not sure what the proper way is to specify that Conflicts and
Provides should only apply for a same-architecture version of the
package. If I do this (just trying some things):

Conflicts: libnss-ldap:${Arch}
Provides: libnss-ldap:${Arch}

the package is built but Lintian complains loudly and dpkg refuses to
install with:

# dpkg -i libnss-ldapd_0.8.10-2_i386.deb
dpkg: error processing libnss-ldapd_0.8.10-2_i386.deb (--install):
parsing file '/var/lib/dpkg/tmp.ci/control' near line 9 package 'libnss-ldapd':
'Conflicts' field, reference to 'libnss-ldap': invalid architecture name 'i386': a value different from 'any' is currently not allowed

This page [https://wiki.ubuntu.com/MultiarchSpec] says: "consideration
of a syntax extension for Conflicts(and Replaces) is deferred until
after the initial implementation"

Does anyone know how to deal with this situation? I could perhaps drop
the provides (or make it Provides: libnss-ldap:${Arch}). There is only
one package in the archive that has a suggests on libnss-ldap so the
"damage" within the archive should be minimal. This would only leave the
case where you would want to have libnss-ldap on i386 and libnss-ldapd
on amd64 impossible (which is theoretically valid).

Any ideas?

--
-- arthur - adejong@debian.org - http://people.debian.org/~adejong --
 
Old 07-06-2012, 08:00 AM
David Kalnischkies
 
Default Bug#680226: lib{nss,pam}-ldapd: apt wants to remove them on dist-upgrade in favour of lib{nss,pam}-ldap:i386

On Fri, Jul 6, 2012 at 12:06 AM, Arthur de Jong <adejong@debian.org> wrote:
> I guess the conflicts is interpreted to apply to any installed version
> of the package while what should be interpreted as a conflict/replaces
> only of the package of the same architecture.

Correct guess. "Negative dependencies" (Breaks, Conflicts, …) apply
to all architectures. (Any) architecture-specific dependencies are not
allowed in wheezy as APT and dpkg gained support for them only very
very recently, thanks to Thibaut Girka. I am not sure if they are allowed
even then in negatives though (and I doubt APT supports them there
currently).

Long story short:

> I'm not sure what the proper way is to specify that Conflicts and
> Provides should only apply for a same-architecture version of the
> package. If I do this (just trying some things):

There is simple no way.


> Provides: libnss-ldap:${Arch}

Provides on the other hand are architecture specific by default.
They are only non-architecture specific if you mark the package
M-A:foreign - I hope it is obvious why.


> # dpkg -i libnss-ldapd_0.8.10-2_i386.deb
> dpkg: error processing libnss-ldapd_0.8.10-2_i386.deb (--install):
> parsing file '/var/lib/dpkg/tmp.ci/control' near line 9 package 'libnss-ldapd':
> 'Conflicts' field, reference to 'libnss-ldap': invalid architecture name 'i386': a value different from 'any' is currently not allowed

Which dpkg version is that?
But as said, you can't use architecture specific dependencies in wheezy.
(The message is a bit confusing, :any doesn't make a lot of sense here
provided that it is the same without :any … or worse: any could mean
we are conflicting only with one arch at random, if you have a second
installed you might be lucky - or not - depending on moon phase)


Best regards

David Kalnischkies


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: CAAZ6_fA2R+TBsXsCau6MNiMZFdm4TYgGs+ZmB__f0R9eZ8Epq Q@mail.gmail.com">http://lists.debian.org/CAAZ6_fA2R+TBsXsCau6MNiMZFdm4TYgGs+ZmB__f0R9eZ8Epq Q@mail.gmail.com
 
Old 07-06-2012, 11:02 AM
Thorsten Glaser
 
Default Bug#680226: lib{nss,pam}-ldapd: apt wants to remove them on dist-upgrade in favour of lib{nss,pam}-ldap:i386

[… “interesting” M-A consequences …]

Oh, sorry for disturbing an anthill then. This sounds
entirely nōn-trivial to solve…

Could this work: libnss-ldap and libnss-ldapd both
provide the same virtual package and conflict with it?
Same for the pam ones but a different virtual package.

Just a wild-guess,
//mirabilos
--
21:27⎜[Natureshadow] BÄH! Wer hatn das Bier neben den Notebooklüfter
⎜ gestellt ...
21:27⎜>Natureshadow< lol 21:27⎜>Natureshadow< du?
21:27⎜[Natureshadow] vermutlich ... -- Kev^WNatureshadow allein zu Haus


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: Pine.BSM.4.64L.1207061100300.19695@herc.mirbsd.org ">http://lists.debian.org/Pine.BSM.4.64L.1207061100300.19695@herc.mirbsd.org
 
Old 07-07-2012, 03:02 PM
Arthur de Jong
 
Default Bug#680226: lib{nss,pam}-ldapd: apt wants to remove them on dist-upgrade in favour of lib{nss,pam}-ldap:i386

On Fri, 2012-07-06 at 10:00 +0200, David Kalnischkies wrote:
> > I'm not sure what the proper way is to specify that Conflicts and
> > Provides should only apply for a same-architecture version of the
> > package. If I do this (just trying some things):
>
> There is simple no way.

Thanks for your reply.

I guess I could drop the Provides for now then which seems to be the
least disruptive change to support multiarch (but also see below).

I can't drop the Conflicts because libnss-ldapd and libnss-ldap share
the same file (at least the same library which may be in the same file
depending on whether you are comparing multiarch or non-multiarch
versions).

> > # dpkg -i libnss-ldapd_0.8.10-2_i386.deb
> > dpkg: error processing libnss-ldapd_0.8.10-2_i386.deb (--install):
> > parsing file '/var/lib/dpkg/tmp.ci/control' near line 9 package 'libnss-ldapd':
> > 'Conflicts' field, reference to 'libnss-ldap': invalid architecture name 'i386': a value different from 'any' is currently not allowed
>
> Which dpkg version is that?

This was 1.16.4.2 that was lying around in a play chroot. dpkg 1.16.7
installs the deb just fine.

I've been playing a bit with only changing the conflicts to include
:${Arch} which seems to work with dpkg (though lintian still complains),
however apt doesn't seem to understand it and doesn't remove
libnss-ldapd when installing libnss-ldap.

Then again, I can't reproduce the problem that Thorsten reported. I've
got both libnss-ldapd:i386 and libnss-ldapd:amd64 installed (both
0.8.10-1) in a chroot with dpkg:i386 1.16.7. The installation was done
with apt-get (apt:i386 0.9.7.1) and went fine. Also apt-get dist-upgrade
doesn't want to remove either of the packages (for some reason apt does
want to switch back to the i386 coreutils that I managed to switch to
amd64).

On Fri, 2012-07-06 at 11:02 +0000, Thorsten Glaser wrote:
> Could this work: libnss-ldap and libnss-ldapd both provide the same
> virtual package and conflict with it? Same for the pam ones but a
> different virtual package.

My guess is that it wouldn't because the conflict would still match it
on the other architecture.

--
-- arthur - adejong@debian.org - http://people.debian.org/~adejong --
 

Thread Tools




All times are GMT. The time now is 06:58 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org