{"action":"closed","issue":{"url":"https://api.github.com/repos/openSUSE/libsolv/issues/109","labels_url":"https://api.github.com/repos/openSUSE/libsolv/issues/109/labels{/name}","comments_url":"https://api.github.com/repos/openSUSE/libsolv/issues/109/comments","events_url":"https://api.github.com/repos/openSUSE/libsolv/issues/109/events","html_url":"https://github.com/openSUSE/libsolv/issues/109","id":111375604,"number":109,"title":"disabled multiversion pkg is removed when distroupgrade + allowuninstall","user":{"login":"jsilhan","id":5243763,"avatar_url":"https://avatars.githubusercontent.com/u/5243763?v=3","gravatar_id":"","url":"https://api.github.com/users/jsilhan","html_url":"https://github.com/jsilhan","followers_url":"https://api.github.com/users/jsilhan/followers","following_url":"https://api.github.com/users/jsilhan/following{/other_user}","gists_url":"https://api.github.com/users/jsilhan/gists{/gist_id}","starred_url":"https://api.github.com/users/jsilhan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsilhan/subscriptions","organizations_url":"https://api.github.com/users/jsilhan/orgs","repos_url":"https://api.github.com/users/jsilhan/repos","events_url":"https://api.github.com/users/jsilhan/events{/privacy}","received_events_url":"https://api.github.com/users/jsilhan/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-10-14T11:05:32Z","updated_at":"2015-10-14T12:34:44Z","closed_at":"2015-10-14T12:34:44Z","body":"Hi,\r\nwe are struggling with fixing the [last distro-sync Fedora Freeze blocker](https://bugzilla.redhat.com/show_bug.cgi?id=1260989) where kernel packages are going to be removed even when they are excluded.\r\n\r\nWithout `allowuninstall` it works:\r\n```\r\nrepo system 0 testtags <inline>\r\n#>=Pkg: kernel-core 1 1 x86_64\r\n#>=Prv: kernel\r\n#>=Pkg: B 1 1 x86_64\r\nrepo fedora 0 testtags <inline>\r\n#>=Pkg: kernel-core 2 2 x86_64\r\n#>=Prv: kernel\r\n#>=Pkg: B 1 2 x86_64\r\nsystem x86_64 rpm system\r\npoolflags implicitobsoleteusescolors\r\ndisable pkg kernel-core-1-1.x86_64@system\r\nsolverflags allowvendorchange keepexplicitobsoletes bestobeypolicy keeporphans yumobsoletes\r\njob distupgrade all packages\r\njob multiversion provides kernel\r\nresult transaction,problems  <inline>\r\n#>install kernel-core-2-2.x86_64@fedora\r\n#>upgrade B-1-1.x86_64@system B-1-2.x86_64@fedora\r\n```\r\n\r\nWhen `allowuninstall` flag is set it tries to remove installed multilib package. I expect the result to be the same as in previous example.\r\n```\r\nrepo system 0 testtags <inline>\r\n#>=Pkg: kernel-core 1 1 x86_64\r\n#>=Prv: kernel\r\n#>=Pkg: B 1 1 x86_64\r\nrepo fedora 0 testtags <inline>\r\n#>=Pkg: kernel-core 2 2 x86_64\r\n#>=Prv: kernel\r\n#>=Pkg: B 1 2 x86_64\r\nsystem x86_64 rpm system\r\npoolflags implicitobsoleteusescolors\r\ndisable pkg kernel-core-1-1.x86_64@system\r\nsolverflags allowvendorchange allowuninstall keepexplicitobsoletes bestobeypolicy keeporphans yumobsoletes\r\njob distupgrade all packages\r\njob multiversion provides kernel\r\nresult transaction,problems  <inline>\r\n#>erase kernel-core-1-1.x86_64@system\r\n#>install kernel-core-2-2.x86_64@fedora\r\n#>upgrade B-1-1.x86_64@system B-1-2.x86_64@fedora\r\n```\r\n\r\nI've tried to use `lock` instead of disable but it gives the errors (we was advised to use considered map along with distroupgrade):\r\n```\r\nrepo system 0 testtags <inline>\r\n#>=Pkg: kernel-core 1 1 x86_64\r\n#>=Prv: kernel\r\n#>=Pkg: B 1 1 x86_64\r\nrepo fedora 0 testtags <inline>\r\n#>=Pkg: kernel-core 2 2 x86_64\r\n#>=Prv: kernel\r\n#>=Pkg: B 1 2 x86_64\r\nsystem x86_64 rpm system\r\npoolflags implicitobsoleteusescolors\r\nsolverflags allowvendorchange allowuninstall keepexplicitobsoletes bestobeypolicy keeporphans yumobsoletes\r\njob lock pkg kernel-core-1-1.x86_64@system\r\njob distupgrade all packages\r\njob multiversion provides kernel\r\nresult transaction,problems  <inline>\r\n#>install kernel-core-2-2.x86_64@fedora\r\n#>problem 7c1b4d09 info kernel-core-1-1.x86_64 does not belong to a distupgrade repository\r\n#>problem 7c1b4d09 solution 40e697e3 allow kernel-core-1-1.x86_64@system\r\n#>problem 7c1b4d09 solution a2852e8d deljob lock pkg kernel-core-1-1.x86_64@system\r\n#>upgrade B-1-1.x86_64@system B-1-2.x86_64@fedora\r\n```\r\n\r\nI've noticed we even can't mark all but running kernel package as `allowuninstall` (I expect the result as in first case):\r\n```\r\nrepo system 0 testtags <inline>\r\n#>=Pkg: kernel-core 1 1 x86_64\r\n#>=Prv: kernel\r\n#>=Pkg: B 1 1 x86_64\r\nrepo fedora 0 testtags <inline>\r\n#>=Pkg: kernel-core 2 2 x86_64\r\n#>=Prv: kernel\r\n#>=Pkg: B 1 2 x86_64\r\nsystem x86_64 rpm system\r\npoolflags implicitobsoleteusescolors\r\ndisable pkg kernel-core-1-1.x86_64@system\r\nsolverflags allowvendorchange keepexplicitobsoletes bestobeypolicy keeporphans yumobsoletes\r\njob distupgrade all packages\r\njob multiversion provides kernel\r\njob allowuninstall name B\r\nresult transaction,problems  <inline>\r\n#>erase kernel-core-1-1.x86_64@system\r\n#>install kernel-core-2-2.x86_64@fedora\r\n#>upgrade B-1-1.x86_64@system B-1-2.x86_64@fedora\r\n```\r\n\r\nI've found one workaround but I don't know whether we should always mark counterpart of disabled package to be installed. we still expect excluded packages to not be touched at all during distro-sync (not removed, not installed, not upgraded).\r\n```\r\nrepo system 0 testtags <inline>\r\n#>=Pkg: kernel-core 1 1 x86_64\r\n#>=Prv: kernel\r\n#>=Pkg: B 1 1 x86_64\r\nrepo fedora 0 testtags <inline>\r\n#>=Pkg: kernel-core 2 2 x86_64\r\n#>=Prv: kernel\r\n#>=Pkg: B 1 2 x86_64\r\nsystem x86_64 rpm system\r\npoolflags implicitobsoleteusescolors\r\ndisable pkg kernel-core-1-1.x86_64@system\r\nsolverflags allowvendorchange allowuninstall keepexplicitobsoletes bestobeypolicy keeporphans yumobsoletes\r\njob distupgrade all packages\r\njob multiversion provides kernel\r\njob install pkg kernel-core-2-2.x86_64\r\nresult transaction,problems  <inline>\r\n#>install kernel-core-2-2.x86_64@fedora\r\n#>upgrade B-1-1.x86_64@system B-1-2.x86_64@fedora\r\n```\r\n\r\nAnother workaround is to mark all but excluded packages into separated distroupgrade jobs - that works fine.\r\n\r\nIs it possible to use `distupgrade all` in combination with `disable pkg` and keep disabled packages in place? Can you tell me what's the best approach we should use, please?"}}