Bug#519893: aptitude: aptitude attempts to resolve unmet dependencies by upgrading a package with itself

2014-01-31 Thread Manuel A. Fernandez Montecelo
Control: severity -1 wishlist
Control: tags -1 + wontfix
Control: retitle -1 aptitude: support for same package name and
version in different repositories but different content

Hi,

As the maintainer said, all of the main Debian packaging tools, dpkg,
apt and aptitude, decide on versions to install and what's newest
based on comparing package versions (see dpkg --compare-versions).  Se
also #737085 for a recent example with apt of how things go wrong
because of this, even with quite skilled developers very familiar with
the system try to bootstrap a new architecture.

So having different packages in different repositories with the same
name and version is not something that the tools are designed/prepared
to handle nicely, so I don't think that this request will ever be
addressed.


Cheers.
-- 
Manuel A. Fernandez Montecelo manuel.montez...@gmail.com


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#519893: aptitude: aptitude attempts to resolve unmet dependencies by upgrading a package with itself

2009-03-19 Thread Alexey Feldgendler
On Wed, 18 Mar 2009 15:53:49 +0100, Daniel Burrows dburr...@debian.org  
wrote:



  When you run dist-upgrade, what happens is:

  (1) aptitude sees a newer version of libgtk2.0-0 and marks it for
  an upgrade.  (that would be the version in the unstable archive)


You meant pidgin, not libgtk2.0-0? It's about versions of pidgin.

Yes, here is when it first goes wrong, because pidgin 2.5.5-1 in unsable  
isn't any newer than my 2.5.5-1.



  (2) aptitude notices, rightly, that the version of gtk2.0-0 on your
  computer doesn't have dependency problems, and offers to switch
  to it instead.  (these sidegrades are lumped together with
  upgrades in the display, probably that's a bug)


Well, why did it think that any package was broken in the first place? If  
my 2.5.5-1 really came from unstable, it would be broken, but the one I  
have isn't. If aptitude looked into the /var/lib/dpkg/status at the  
Depends: field under Package: pidgin, it would have seen that the pidgin I  
have has all of its dependencies satisfied. Nothing is broken, so nothing  
needs to be fixed.



  (3) Because libapt is confused about how many gtks there are and which
  one is newer, when aptitude asks it to make 2.5.5-1 (from your
  local repository) the current version, it decides it has to fetch
  and install a new version.

  (4) But of course there's still a newer version in unstable, so
  when you run dist-upgrade we go back to (1).

  I'm not quite sure about (3), i.e., why you're *actually* getting a
new version fetched.  The easiest way for you to solve your problem is
to just change the version number on your package to something larger
than the unstable version (e.g., to something like  
2.0.0-1.1~localrebuild).


Sure, I can work around it in several ways, but I think the bug(s) should  
be fixed.



All the apt tools and libraries tend to assume that different packages
have different version numbers and you'll see odd behavior if you have
distinct packages that have the same version number.


I still think that for installed packages apt should believe what  
/var/lib/dpkg/status stays more than anything else, at least when deciding  
whether something is currently broken.



4. aptitude shows NULL for the repository of the proposed package.



  I'm guessing your local repository doesn't have a Release file that
states what its archive name is.  It would probably be better to
display no archive information in this case, though!


That's right, no Release file there. This issue is minor, of course, but  
still a bug. Should this bug report be split into several issues?



--
Alexey Feldgendler ale...@feldgendler.ru
[ICQ: 115226275] http://feldgendler.livejournal.com



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#519893: aptitude: aptitude attempts to resolve unmet dependencies by upgrading a package with itself

2009-03-18 Thread Daniel Burrows
On Sun, Mar 15, 2009 at 11:49:40PM +0100, Alexey Feldgendler 
x...@pita.feldgendler.ru was heard to say:
 1. apt-cache doesn't seem to realize that the 2.5.5-1 at file: and the
 one currently installed are the same. (Still doesn't realize even
 after aptitude has “upgraded” it with itself.)

  I think this is the root of all your problems.

  When you run dist-upgrade, what happens is:

  (1) aptitude sees a newer version of libgtk2.0-0 and marks it for
  an upgrade.  (that would be the version in the unstable archive)

  (2) aptitude notices, rightly, that the version of gtk2.0-0 on your
  computer doesn't have dependency problems, and offers to switch
  to it instead.  (these sidegrades are lumped together with
  upgrades in the display, probably that's a bug)

  (3) Because libapt is confused about how many gtks there are and which
  one is newer, when aptitude asks it to make 2.5.5-1 (from your
  local repository) the current version, it decides it has to fetch
  and install a new version.

  (4) But of course there's still a newer version in unstable, so
  when you run dist-upgrade we go back to (1).

  I'm not quite sure about (3), i.e., why you're *actually* getting a
new version fetched.  The easiest way for you to solve your problem is
to just change the version number on your package to something larger
than the unstable version (e.g., to something like 2.0.0-1.1~localrebuild).
All the apt tools and libraries tend to assume that different packages
have different version numbers and you'll see odd behavior if you have
distinct packages that have the same version number.

 4. aptitude shows NULL for the repository of the proposed package.

  I'm guessing your local repository doesn't have a Release file that
states what its archive name is.  It would probably be better to
display no archive information in this case, though!

  Daniel



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#519893: aptitude: aptitude attempts to resolve unmet dependencies by upgrading a package with itself

2009-03-15 Thread Alexey Feldgendler
Package: aptitude
Version: 0.4.11.11-1
Severity: important

I run testing, but need pidgin 2.5.5-1 (currently in unstable). To
avoid it pulling lots of unstable libraries, I rebuilt pidgin with
libraries from testing, put the binary package into my local file:
repository and installed. Now aptitude offers me the following every
time I run dist-upgrade:


$ sudo aptitude dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
The following packages are BROKEN:
  pidgin (D: libgtk2.0-0)
1 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 702kB of archives. After unpacking 101kB will be used.
The following packages have unmet dependencies:
  pidgin: Depends: libgtk2.0-0 (= 2.14.0) but 2.12.12-1 is installed.
The following actions will resolve these dependencies:

Upgrade the following packages:
pidgin [2.5.5-1 (now) - 2.5.5-1 (NULL)]

Score is 80

Accept this solution? [Y/n/q/?]


Note the NULL. If I agree to this, aptitude gets the package from
the local repository (exactly the one I currently have) and reinstalls
it, which, of course, doesn't improve the situation, and on the next
run dist-upgrade isn't any happier.

My homemade pidgin 2.5.5-1 depends on libgtk2.0-0 (= 2.12.0), which
is satisfied.

My apt.conf:

APT {
Default-Release testing;
Cache-Limit 26777216;
};
Aptitude {
CmdLine::Show-Deps true;
Autoclean-After-Update true;
Parse-Description-Bullets true;
};

No preferences file.

Details on pidgin versions:

$ apt-cache policy pidgin
pidgin:
  Installed: 2.5.5-1
  Candidate: 2.5.5-1
  Version table:
 2.5.5-1 0
500 http://ftp.no.debian.org unstable/main Packages
 2.5.5-1 0
500 file: ./ Packages
 *** 2.5.5-1 0
100 /var/lib/dpkg/status
 2.5.4-2 0
990 http://ftp.no.debian.org testing/main Packages

There are several problems here:

1. apt-cache doesn't seem to realize that the 2.5.5-1 at file: and the
one currently installed are the same. (Still doesn't realize even
after aptitude has “upgraded” it with itself.)

2. aptitude thinks that pidgin is broken because 2.5.5-1 in unstable
depends on a newer libgtk2.0-0, even though the bastard 2.5.5-1 I
actually have is happy with my libgtk2.0-0 from testing.

3. aptitude tries to resolve the unmet dependency by upgrading to
exactly what I currently have.

4. aptitude shows NULL for the repository of the proposed package.



-- Package-specific info:
aptitude 0.4.11.11 compiled at Nov 20 2008 04:02:44
Compiler: g++ 4.3.2
Compiled against:
  apt version 4.6.0
  NCurses version 5.6
  libsigc++ version: 2.0.18
  Ept support enabled.

Current library versions:
  NCurses version: ncurses 5.7.20090228
  cwidget version: 0.5.12
  Apt version: 4.6.0
linux-gate.so.1 =  (0xb7ef4000)
libapt-pkg-libc6.7-6.so.4.6 = /usr/lib/libapt-pkg-libc6.7-6.so.4.6 
(0xb7e26000)
libncursesw.so.5 = /lib/libncursesw.so.5 (0xb7de8000)
libsigc-2.0.so.0 = /usr/lib/libsigc-2.0.so.0 (0xb7de1000)
libcwidget.so.3 = /usr/lib/libcwidget.so.3 (0xb7d1d000)
libept.so.0 = /usr/lib/libept.so.0 (0xb7c59000)
libxapian.so.15 = /usr/lib/libxapian.so.15 (0xb7b01000)
libz.so.1 = /usr/lib/libz.so.1 (0xb7aec000)
libpthread.so.0 = /lib/i686/cmov/libpthread.so.0 (0xb7ad3000)
libstdc++.so.6 = /usr/lib/libstdc++.so.6 (0xb79e4000)
libm.so.6 = /lib/i686/cmov/libm.so.6 (0xb79be000)
libgcc_s.so.1 = /lib/libgcc_s.so.1 (0xb79b1000)
libc.so.6 = /lib/i686/cmov/libc.so.6 (0xb785)
libutil.so.1 = /lib/i686/cmov/libutil.so.1 (0xb784c000)
libdl.so.2 = /lib/i686/cmov/libdl.so.2 (0xb7847000)
/lib/ld-linux.so.2 (0xb7ef5000)
Terminal: xterm
$DISPLAY is set.
`which aptitude`: /usr/bin/aptitude
aptitude version information:

aptitude linkage:

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-1-686 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages aptitude depends on:
ii  apt [libapt-pkg-libc6. 0.7.20.2  Advanced front-end for dpkg
ii  libc6  2.9-4 GNU C Library: Shared libraries
ii  libcwidget30.5.12-4  high-level terminal interface libr
ii  libept00.5.26High-level library for managing De
ii  libgcc11:4.3.3-3 GCC support library
ii  libncursesw5   5.7+20090228-1shared libraries for terminal hand
ii  libsigc++-2.0-0c2a 2.0.18-2  type-safe Signal Framework for C++
ii  libstdc++6 4.3.3-3   The GNU Standard C++ Library v3
ii  libxapian151.0.10-2  Search engine library
ii  zlib1g