|
Bugzilla – Full Text Bug Listing |
| Summary: | Update to 11.3 removes one old repo from 11.2 | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 11.3 | Reporter: | Michael Schröder <mls> |
| Component: | YaST2 | Assignee: | Lukas Ocilka <locilka> |
| Status: | RESOLVED FEATURE | QA Contact: | Jiri Srain <jsrain> |
| Severity: | Normal | ||
| Priority: | P2 - High | CC: | coolo, locilka, lslezak, ma, Markus.Elfring |
| Version: | Final | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: |
y2log
y2log from update to 11.3 |
||
|
Description
Michael Schröder
2009-11-18 10:18:15 UTC
Does this happen at a step during the installation from a CD or DVD? Is your experience related to previous issues? - Bug #461595: Check handling of installation sources during distribution update - Bug #478024: Repositories were not saved after proceed No logs attached, closing as CANTFIX. Huh, how about setting it to NEEDINFO first? Why do you need logs anyway? This is about function BackUpAllTargetSources of clients/pkg_finish.ycp from the yast2-packager package. Relevant part of logs: 2009-11-17 11:55:24 <1> f229.suse.de(3452) [YCP] clients/pkg_finish.ycp:49 These repos currently exist on a target: ["KDE:KDE4:UNSTABLE:Desktop.repo", "openSUSE 11.1-0.repo", "openSUSE:Tools.repo", "repo-debug.repo", "repo-oss.repo", "FATE.repo", "openSUSE Fa ctory.repo", "repo-source.repo", "openSUSE 11.2-0.repo", "repo-non-oss.repo", "repo-update.repo"] 2009-11-17 11:55:24 <1> f229.suse.de(3452) [YCP] clients/pkg_finish.ycp:74 Removing target repository /etc/zypp/repos.d/KDE:KDE4:UNSTABLE:Desktop.repo 2009-11-17 11:55:24 <1> f229.suse.de(3452) [YCP] clients/pkg_finish.ycp:74 Removing target repository /etc/zypp/repos.d/openSUSE 11.1-0.repo 2009-11-17 11:55:24 <1> f229.suse.de(3452) [YCP] clients/pkg_finish.ycp:74 Removing target repository /etc/zypp/repos.d/openSUSE:Tools.repo 2009-11-17 11:55:24 <1> f229.suse.de(3452) [YCP] clients/pkg_finish.ycp:74 Removing target repository /etc/zypp/repos.d/repo-debug.repo 2009-11-17 11:55:24 <1> f229.suse.de(3452) [YCP] clients/pkg_finish.ycp:74 Removing target repository /etc/zypp/repos.d/repo-oss.repo 2009-11-17 11:55:24 <1> f229.suse.de(3452) [YCP] clients/pkg_finish.ycp:74 Removing target repository /etc/zypp/repos.d/FATE.repo 2009-11-17 11:55:24 <1> f229.suse.de(3452) [YCP] clients/pkg_finish.ycp:74 Removing target repository /etc/zypp/repos.d/openSUSE Factory.repo 2009-11-17 11:55:24 <1> f229.suse.de(3452) [YCP] clients/pkg_finish.ycp:74 Removing target repository /etc/zypp/repos.d/repo-source.repo 2009-11-17 11:55:24 <1> f229.suse.de(3452) [YCP] clients/pkg_finish.ycp:74 Removing target repository /etc/zypp/repos.d/openSUSE 11.2-0.repo 2009-11-17 11:55:24 <1> f229.suse.de(3452) [YCP] clients/pkg_finish.ycp:74 Removing target repository /etc/zypp/repos.d/repo-non-oss.repo 2009-11-17 11:55:24 <1> f229.suse.de(3452) [YCP] clients/pkg_finish.ycp:74 Removing target repository /etc/zypp/repos.d/repo-update.repo 2009-11-17 11:55:24 <1> f229.suse.de(3452) [YCP] clients/pkg_finish.ycp:82 All old repositories were removed from the target It seems to be correct. Please, attach YaST logs and not only the 'relevant part'. Thanks in advance. Could you please read the initial description of this bug? Created attachment 328930 [details]
y2log
This is actually the relevant part: 2009-11-17 11:55:23 <1> f229.suse.de(3452) [Pkg] clients/inst_extrasources.ycp:192 Pkg Builtin called: SourceSaveAll Bad luck, it cannot be fixed. Argh, what are you talking about? Please read the initial description: This is about BackUpAllTargetSources(): - it removes old repos instead of disabling them - it removes them by just deleting the .repo file instead of calling libzypp to do the job. 1.) During the initial stage of update, client inst_upgrade_urls is called
and correctly registers previously used repositories, e.g.,
KDE:KDE4:UNSTABLE:Desktop
2.) Later, at the end of the installation, pkg_finish.ycp calls
inst_extrasources which adds the repositories defined by product.
Repositories are then saved by Pkg::SourceSaveAll. You can see, for
instance KDE:KDE4:UNSTABLE:Desktop being saved.
3.) Then a backup of configuration of repositories is done, configurations
are removed and Pkg::SourceSaveAll is called to finally save the
"current" configuration. It's actually a mistake that #3 is called after
#2 - it should be vice versa. Anyway, saving all the sources dumps
only the newly added repositories.
The real issue seems to be that Pkg::SourceSaveAll does something different in #3 then it does in #2.
Lado, please, check what has happened there.
Of course, libzypp is intentionally not used to remove the old configurations, the issue is that they "are not old". I just have tested update from 11.2 to 11.3 - during the initial workflow I have changed the "remove" state in the repository overview to "disabled" (so the old repositories and not removed but kept in disabled state). After update the old 11.2 repositories were present in the system in disabled state, except one repo that was missing completely. This is a bug in inst_upgrade_urls.ycp - it removes repo with "ID: 0" from the list of upgraded repos. (I guess because it doesn't want to remove the repo which is used for update, see line 1012. The ids are assigned starting from 0, maybe this is the problem...) Also after going back from the upgrade proposal the first repo is marked as "remove" in upgrade repo dialog (although I set it to "disabled" originally). Reassigning to Lukas to fix inst_upgrade_urls.ycp Created attachment 399700 [details] y2log from update to 11.3 The most important is this part: 2010-11-11 09:21:00 <1> dhcp40.suse.cz(2979) [YCP] clients/inst_upgrade_urls.ycp:946 Checking repo: $["alias":"download.opensuse.org-non-oss", "autorefresh":false, "enabled":true, "id":"ID: 0", "initial_url_stat us":"removed", "keeppackages":false, "name":"Main Repository (NON-OSS)", "new_status":"disabled", "type":"yast2", "url":"http://download.opensuse.org/distribution/11.2/repo/non-oss/"] 2010-11-11 09:21:00 <1> dhcp40.suse.cz(2979) [YCP] clients/inst_upgrade_urls.ycp:983 Source to add disabled: ID: 0 2010-11-11 09:21:00 <1> dhcp40.suse.cz(2979) [YCP] clients/inst_upgrade_urls.ycp:946 Checking repo: $["alias":"openSUSE 11.2-0", "autorefresh":false, "enabled":true, "id":"ID: 1", "initial_url_status":"removed", "keeppackages":false, "name":"openSUSE 11.2-0", "new_status":"disabled", "type":"yast2", "url":"http://fallback.suse.cz/netboot/find/openSUSE-11.2-DVD-x86_64"] 2010-11-11 09:21:00 <1> dhcp40.suse.cz(2979) [YCP] clients/inst_upgrade_urls.ycp:983 Source to add disabled: ID: 1 2010-11-11 09:21:00 <1> dhcp40.suse.cz(2979) [YCP] clients/inst_upgrade_urls.ycp:946 Checking repo: $["alias":"download.opensuse.org-update", "autorefresh":true, "enabled":true, "id":"ID: 2", "initial_url_status ":"removed", "keeppackages":false, "name":"Main Update Repository", "new_status":"disabled", "type":"rpm-md", "url":"http://download.opensuse.org/update/11.2/"] 2010-11-11 09:21:00 <1> dhcp40.suse.cz(2979) [YCP] clients/inst_upgrade_urls.ycp:983 Source to add disabled: ID: 2 2010-11-11 09:21:00 <1> dhcp40.suse.cz(2979) [YCP] clients/inst_upgrade_urls.ycp:946 Checking repo: $["alias":"download.opensuse.org-oss", "autorefresh":false, "enabled":true, "id":"ID: 3", "initial_url_status": "removed", "keeppackages":false, "name":"Main Repository (OSS)", "new_status":"disabled", "type":"yast2", "url":"http://download.opensuse.org/distribution/11.2/repo/oss/"] 2010-11-11 09:21:00 <1> dhcp40.suse.cz(2979) [YCP] clients/inst_upgrade_urls.ycp:983 Source to add disabled: ID: 3 So there are 4 disabled repos, but then only 3 are actually used: 2010-11-11 09:21:00 <1> dhcp40.suse.cz(2979) [YCP] clients/inst_upgrade_urls.ycp:593 Add ["ID: 1", "ID: 2", "ID: 3"] disabled repos Lukas, see comment #11. Entered as a new feature: FATE #311045: Old-repositories handling during upgrade (inst_upgrade_urls) needs rewriting |