Bug#915246: [Aptitude-devel] Bug#915246: Bug#931536: aptitude update fails to cope with changed release info
Hi, Francesco Poli wrote: > this bug is still unfixed in aptitude... Correct. > Are there any plans to fix this bug in aptitude once and for all? I assume so, yes. But not by myself as this is outside of my C/C++ capabilities. (In other words: I hope that Manuel — or someone else — will find time to tackle this at some point with one of the next upstream releases.) Oh, and of course: Patches are welcome! If there are well working patches, I can also apply them in the upstream branches and do upstream releases with them. I just can't write new C++ code from scratch. (I other words: Within the Aptitude team, I'm primarily the package maintainer and Manuel does nearly all of the upstream development.) Regards, Axel -- ,''`. | Axel Beckert , https://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 `-| 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE
Bug#931536: [Aptitude-devel] Bug#931536: aptitude update fails to cope with changed release info
On Sun, 7 Jul 2019 16:41:27 +0200 Francesco Poli wrote: [...] > I am looking forward to seeing this fix implemented. Hello again! After more than two years, this bug is still unfixed in aptitude... # cat /etc/apt/sources.list deb http://deb.debian.org/debian testing main deb http://deb.debian.org/debian unstable main deb http://deb.debian.org/debian-security testing-security main # aptitude update && aptitude --purge-unused safe-upgrade Get: 1 http://deb.debian.org/debian testing InRelease [81.6 kB] Get: 2 http://deb.debian.org/debian unstable InRelease [165 kB] Get: 3 http://deb.debian.org/debian-security testing-security InRelease [35.6 kB] Fetched 282 kB in 8s (36.6 kB/s) E: Repository 'http://deb.debian.org/debian testing InRelease' changed its 'Codename' value from 'bullseye' to 'bookworm' E: Repository 'http://deb.debian.org/debian-security testing-security InRelease' changed its 'Codename' value from 'bullseye-security' to 'bookworm-security' E: Failed to download some files W: Failed to fetch http://deb.debian.org/debian/dists/testing/InRelease: W: Failed to fetch http://deb.debian.org/debian-security/dists/testing-security/InRelease: E: Some index files failed to download. They have been ignored, or old ones used instead. Once again, I had to work around the bug by using 'apt update': # apt update Get:1 http://deb.debian.org/debian testing InRelease [81.6 kB] Hit:2 http://deb.debian.org/debian unstable InRelease Get:3 http://deb.debian.org/debian-security testing-security InRelease [35.6 kB] E: Repository 'http://deb.debian.org/debian testing InRelease' changed its 'Codename' value from 'bullseye' to 'bookworm' N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details. Do you want to accept these changes and continue updating from this repository? [y/N] y E: Repository 'http://deb.debian.org/debian-security testing-security InRelease' changed its 'Codename' value from 'bullseye-security' to 'bookworm-security' N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details. Do you want to accept these changes and continue updating from this repository? [y/N] y Reading package lists... Done Building dependency tree... Done Reading state information... Done 4 packages can be upgraded. Run 'apt list --upgradable' to see them. At that point, I was able to resume my usual upgrade routine with: # aptitude update && aptitude --purge-unused safe-upgrade Are there any plans to fix this bug in aptitude once and for all? Please -- http://www.inventati.org/frx/ There's not a second to spare! To the laboratory! . Francesco Poli . GnuPG key fpr == CA01 1147 9CD2 EFDF FB82 3925 3E1C 27E1 1F69 BFFE pgpQx76AAUL59.pgp Description: PGP signature
Bug#915246: Bug#931536: aptitude update fails to cope with changed release info
On Sun, Jul 07, 2019 at 03:54:04PM +0200, Axel Beckert wrote: > I hope that Manuel (CCc'ed) can provide a fix which we then can also > apply to aptitude in Buster in the first minor update which is > expected in about a month. It was two years ago, so my memory was spotty, but now that I am looking into extending the reporting let me add some implementation hints: (Note that this is against apt/master which has some API changes, but in that case that means ABI-compat classes where folded into another, so backports should be rather trivial – adding virtual methods is ABI breaking, so in buster the class to derive from has the creative name pkgAcquireStatus2 as it is itself derived from pkgAcquireStatus) libapt has a pkgAcquireStatus class which gained a new virtual method: ReleaseInfoChanges – kinda similar to the existing MediaChange. aptitude subclasses this a few times, just pick the right one I guess. See apt{,-get}s implementation: https://salsa.debian.org/apt-team/apt/blob/master/apt-private/acqprogress.cc#L334 I guess you want to work directly with the parameter std::vector & rather than do the trickery to make "proper" apt error messages out of it and then print them directly by wrap-calling the default implementation I did there – aka it is probably simpler for you. See the doc for the struct in the method in the header: https://salsa.debian.org/apt-team/apt/blob/master/apt-pkg/acquire.h#L797 And the code generating the messages you can reuse via the struct: https://salsa.debian.org/apt-team/apt/blob/master/apt-pkg/acquire-item.cc#L1806 If I could make a wish I would suggest featuring the messages which don't need confirmation (in apt N: lines) not too prominently – as in don't make them a popup dialog with an OK button (while the other type is a popup dialog with yes and no buttons). I can't speak for aptitude folks and I am not too good with aptitude code, but if I would be that might be a good bug for tagging +newcomer. Happy to help in case there are {lib,}apt questions in any case – although I have insane reply delays currently. Best regards David "breaking the world one feature at a time" Kalnischkies signature.asc Description: PGP signature
Bug#915246: [Aptitude-devel] Bug#931536: aptitude update fails to cope with changed release info
On Sun, 7 Jul 2019 15:54:04 +0200 Axel Beckert wrote: > Hi Francesco, Michael and Sven, Hello Axel, thanks for chiming in! [...] > I though must admit that we actually were aware of this issue [...] > But admittedly I totally underestimated its severity [...] > Sorry for that. It's OK, luckily we have the simple "apt update" workaround (although many people will have to be informed about it...). > > I hope that Manuel (CCc'ed) can provide a fix which we then can also > apply to aptitude in Buster in the first minor update which is > expected in about a month. I am looking forward to seeing this fix implemented. Bye! -- http://www.inventati.org/frx/ There's not a second to spare! To the laboratory! . Francesco Poli . GnuPG key fpr == CA01 1147 9CD2 EFDF FB82 3925 3E1C 27E1 1F69 BFFE pgp_A4UmooiTz.pgp Description: PGP signature
Bug#915246: [Aptitude-devel] Bug#931536: aptitude update fails to cope with changed release info
Hi Francesco, Michael and Sven, Francesco Poli (wintermute) wrote: > As you know, Debian buster has been released yesterday and the current > Debian testing has just been renamed from 'buster' to 'bullseye'. > > Good, but... today I tried to update the repository lists and upgrade > my Debian testing boxes with aptitude: […] > E: Repository 'http://deb.debian.org/debian testing InRelease' changed its > 'Codename' value from 'buster' to 'bullseye' > E: Failed to download some files > W: Failed to fetch http://deb.debian.org/debian/dists/testing/InRelease: > E: Some index files failed to download. They have been ignored, or old ones > used instead. Indeed. This also seems to have an impact where buster changed from "testing" to "stable", see https://bugs.debian.org/931543. That's actually prompted by a change in libapt (as Sven already pointed out in #931543) which aptitude indeed hasn't been updated a for. I though must admit that we actually were aware of this issue as I ran into it with a third-party repo a few months ago, see https://bugs.debian.org/915246. But admittedly I totally underestimated its severity and especially also its impact at release time as I didn't think of that exactly the same will happen when Debian shifts all suite names at release time. Sorry for that. I hope that Manuel (CCc'ed) can provide a fix which we then can also apply to aptitude in Buster in the first minor update which is expected in about a month. The official workaround is to use "apt update" once inbetween, answer its questions (with "y" :-) and then continue to use aptitude. Regards, Axel -- ,''`. | Axel Beckert , https://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 `-| 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE
Bug#931536: aptitude update fails to cope with changed release info
Package: aptitude Version: 0.8.11-7 Severity: normal Hello! As you know, Debian buster has been released yesterday and the current Debian testing has just been renamed from 'buster' to 'bullseye'. Good, but... today I tried to update the repository lists and upgrade my Debian testing boxes with aptitude: # cat /etc/apt/sources.list deb http://deb.debian.org/debian testing main deb http://deb.debian.org/debian unstable main deb http://deb.debian.org/debian-security testing-security main # aptitude update && aptitude --purge-unused safe-upgrade Get: 1 http://deb.debian.org/debian testing InRelease [87.0 kB] Hit http://deb.debian.org/debian unstable InRelease Get: 2 http://deb.debian.org/debian-security testing-security InRelease [26.1 kB] Fetched 26.1 kB in 0s (57.2 kB/s) E: Repository 'http://deb.debian.org/debian testing InRelease' changed its 'Codename' value from 'buster' to 'bullseye' E: Failed to download some files W: Failed to fetch http://deb.debian.org/debian/dists/testing/InRelease: E: Some index files failed to download. They have been ignored, or old ones used instead. OK, it's telling me that the codename has changed, so I have to be sure I want to continue to use that repository. This is useful in cases where the user has configured something like "deb http://deb.debian.org/debian stable main" and does not want to be caught unprepared by a new stable release. But for Debian testing, I really want to continue tracking testing and the codename change is not an actual discontinuity. I had to do the following: # apt update Get:1 http://deb.debian.org/debian testing InRelease [87.0 kB] Hit:2 http://deb.debian.org/debian unstable InRelease E: Repository 'http://deb.debian.org/debian testing InRelease' changed its 'Codename' value from 'buster' to 'bullseye' N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details. Do you want to accept these changes and continue updating from this repository? [y/N] y Hit:3 http://deb.debian.org/debian-security testing-security InRelease Reading package lists... Done Building dependency tree Reading state information... Done All packages are up to date. and then resume my usual upgrading procedure: # aptitude update && aptitude --purge-unused safe-upgrade Hit http://deb.debian.org/debian testing InRelease Hit http://deb.debian.org/debian unstable InRelease Hit http://deb.debian.org/debian-security testing-security InRelease No packages will be installed, upgraded, or removed. 0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B of archives. After unpacking 0 B will be used. I think this is a bug in aptitude: it should interactively ask the user to explicitly confirm the will to go on with the new codename, like apt does, and also provide a command line option to do so ("--allow-releaseinfo-change", see the apt-get(8) man page). Please implement this feature. Thanks for your time and dedication! Bye. -- Package-specific info: Terminal: xterm $DISPLAY is set. which aptitude: /usr/bin/aptitude aptitude version information: aptitude 0.8.11 Compiler: g++ 8.2.0 Compiled against: apt version 5.0.2 NCurses version 6.1 libsigc++ version: 2.10.1 Gtk+ support disabled. Qt support disabled. Current library versions: NCurses version: ncurses 6.1.20181013 cwidget version: 0.5.17 Apt version: 5.0.2 aptitude linkage: linux-vdso.so.1 (0x7ffcea27c000) libapt-pkg.so.5.0 => /usr/lib/x86_64-linux-gnu/libapt-pkg.so.5.0 (0x7f3eb711a000) libncursesw.so.6 => /lib/x86_64-linux-gnu/libncursesw.so.6 (0x7f3eb70e) libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x7f3eb70b2000) libsigc-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libsigc-2.0.so.0 (0x7f3eb70a9000) libcwidget.so.3 => /usr/lib/x86_64-linux-gnu/libcwidget.so.3 (0x7f3eb6fa3000) libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x7f3eb6e81000) libboost_iostreams.so.1.67.0 => /usr/lib/x86_64-linux-gnu/libboost_iostreams.so.1.67.0 (0x7f3eb6e61000) libboost_system.so.1.67.0 => /usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0 (0x7f3eb6e5a000) libxapian.so.30 => /usr/lib/x86_64-linux-gnu/libxapian.so.30 (0x7f3eb6c2e000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x7f3eb6c0d000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x7f3eb6a89000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x7f3eb6906000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x7f3eb68ea000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x7f3eb6729000) libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x7f3eb670f000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x7f3eb64f1000)