X-Original-To: alpine-devel@lists.alpinelinux.org Received: from mail.wilcox-tech.com (mail.wilcox-tech.com [45.32.83.9]) by lists.alpinelinux.org (Postfix) with ESMTP id 7499BF8174C for ; Mon, 3 Jun 2019 10:04:39 +0000 (UTC) Received: (qmail 12045 invoked from network); 3 Jun 2019 10:04:36 -0000 Received: from localhost (HELO ?IPv6:2600:1702:2a80:1b90::45?) (awilcox@wilcox-tech.com@127.0.0.1) by localhost with ESMTPA; 3 Jun 2019 10:04:36 -0000 From: "A. Wilcox" Subject: [alpine-devel] [PATCH 0/1] apk upgrade has issues when old deps still available To: Timo Teras Cc: alpine-devel@lists.alpinelinux.org References: <20190601042516.56133-1-AWilcox@Wilcox-Tech.com> <20190603094533.782ca468@vostro> Openpgp: preference=signencrypt Message-ID: <0c8c6097-92d5-c796-3e31-f5dfcbed3081@Wilcox-Tech.com> Date: Mon, 3 Jun 2019 05:04:30 -0500 User-Agent: Mozilla/5.0 (X11; Linux ppc64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-Version: 1.0 In-Reply-To: <20190603094533.782ca468@vostro> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="C8eCcHQi6PPfhTeMY2g4h98cmbyfrR6zJ" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --C8eCcHQi6PPfhTeMY2g4h98cmbyfrR6zJ Content-Type: multipart/mixed; boundary="cDOnIW0AJt621jXujPWVXDKgad2TTPLMc"; protected-headers="v1" From: "A. Wilcox" To: Timo Teras Cc: alpine-devel@lists.alpinelinux.org Message-ID: <0c8c6097-92d5-c796-3e31-f5dfcbed3081@Wilcox-Tech.com> Subject: [alpine-devel] [PATCH 0/1] apk upgrade has issues when old deps still available References: <20190601042516.56133-1-AWilcox@Wilcox-Tech.com> <20190603094533.782ca468@vostro> In-Reply-To: <20190603094533.782ca468@vostro> --cDOnIW0AJt621jXujPWVXDKgad2TTPLMc Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 06/03/19 01:45, Timo Teras wrote: > Hi, >=20 > On Fri, 31 May 2019 23:25:15 -0500 > "A. Wilcox" wrote: >=20 >> When running `apk upgrade -al` only packages listed in the world file >> are forced to upgrade. If a package in world has a dependency that >> is eligible for upgrade, but the currently installed version is also >> still available in the repository, it will not be considered for >> upgrade. >> >> This causes considerable breakage for at least Ad=C3=A9lie Linux; we k= eep >> built packages around on the mirrors indefinitely. This breakage was >> noticed during upgrades of 1.0-BETA2 to 1.0-BETA3, and the solver log >> (using DEBUG_PRINT) can be seen at [1]. >> >> The patch I am sending fixes this issue for us by adding an option to >> the upgrade applet, '-d' or '--deep', which causes the solver to >> prefer newer versions of all selected packages when available. The >> difference in the solver log can be seen at [2]. >> >> [1]: https://www.adelielinux.org/storage/apk-error.log >> [2]: https://www.adelielinux.org/storage/deep.diff >=20 > Thanks for the debug logs, and analysis so far. I have seen this also > once or twice and been wondering what is causing it. >=20 > However, instead of adding yet another switch. I'd like to fix the root= > cause and make this default behaviour. Furthermore, I think the patch > suggested breaks at least package pinning. >=20 > Was any package pinning used? >=20 > Is there any cycles, or errors in the repository? E.g. does "apk dot > --errors --installed" see anything problematic? >=20 > Do you have an easy way for me to duplicate this setup, to further > analyze the issue? >=20 > It is likely related to the solver doing things in wrong order which > causes some of the dependency inherited flags to not be available at > the time when the dependency gets processed. >=20 > Thanks, > Timo We rarely use package pinning over here, so it wasn't in use on any of the computers that hit this bug. The easiest way that I can think of for you to duplicate it would be to install Ad=C3=A9lie beta2 with qt5-qtbase-dev in a chroot, then attempt t= o upgrade it to beta3: # mkdir /test # apk --root /test -X https://distfiles.adelielinux.org/adelie/1.0-beta2/system -X https://distfiles.adelielinux.org/adelie/1.0-beta2/user --allow-untrusted --initdb add adelie-base qt5-qtbase-dev # apk --root /test -X https://distfiles.adelielinux.org/adelie/1.0-beta3/system -X https://distfiles.adelielinux.org/adelie/1.0-beta3/user upgrade -al On the x86_64 machine I tested this on, there was a slightly different error, but the same cause/effect: Upgrading critical system libraries and apk-tools: (1/1) Upgrading apk-tools (2.10.3-r0 -> 2.10.3-r1) Continuing the upgrade transaction with new apk-tools: ERROR: unsatisfiable constraints: libpcrecpp-8.42-r1: breaks: pcre-dev-8.43-r0[libpcrecpp=3D8.43-r0] (If you don't want to use --allow-untrusted for the initial install, you can manually extract our adelie-keys apk.) It looks like there are two cycles shown in dot, one that we should probably fix (util-linux deps on libfdisk which deps on util-linux) and one that isn't really fixable (bash deps on /bin/sh because it has an install script, and /bin/sh is provided by bash-binsh which is part of bash). Neither of these seem to be related to the issue, but I may be wrong. I would really like to have this be the default behaviour but was unsure if it would be desired; I'm glad to hear that it is. Thank you for looking in to this. If you need more information, let me know. Best to you and yours, --arw --=20 A. Wilcox (awilfox) Open-source programmer (C, C++, Python) https://code.foxkit.us/u/awilfox/ --cDOnIW0AJt621jXujPWVXDKgad2TTPLMc-- --C8eCcHQi6PPfhTeMY2g4h98cmbyfrR6zJ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEjNyWOYPU1SaTSMHHyynLUZIrnRQFAlz08LMACgkQyynLUZIr nRQkwg//Qlwxd0OIaFEiSnz8MXd7ockQ2A+tB93RJ6ZHbJd5LP38jrltZxuE27kz 6Q7O0VOU131IUxaW715iZoco8Pa0QWZJmMEZqrugK+iIYOhJA9XX94jNVEn8hnXt RejeCxGJtTMjdA1VHEc1UGHAyYQWibB2fdgEWNar+CuqdM3Hd1x3TPoQ53OeYH/M JbAF4Wr1mYtTWWHQq/bM0FsCClSQCFNdU226GYfOmQI+0pY+8iULzeDTND+oobF4 MT64fEUFCl3Ri17kB1gWb6RhvpD+ZgxPTzFg+L1VCZzjY+OiYVidp1cvMLK/VUps dvkhSc2mhcJGoHA20UCxy/l1Id6qtqNnW127raAekzF9oZ+KYk8wzL11+QcuNmL7 Cm+P4zIGm0jSVDccLE+ng69Lv8QVaNSd4Fk3Zx/e4imMDDKu5I+Tk5tK/YgXfDOn 5gGyRD6sMvgBW6PO49H6jBIbWvmr7X5D/O2Wr3CNcc9J66DQy/g1oSJ9gIn7sOQF jx9FljtHeETLwrZCaF02NjgRMVzBp+PBT7RdnukcB4cutRV7l8hRL7Vqkyj529x0 8NFuPZ7CJSJhzzjNufydJaFwx98duks4R+81qVWmkyB0WAtG5Oy0ebyvennEgvA1 E4tQcFmYR7icoiQR8ViWT9iWost2dg4h/uTAMF2uyG6cstpFLng= =6rnI -----END PGP SIGNATURE----- --C8eCcHQi6PPfhTeMY2g4h98cmbyfrR6zJ-- --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---