[Bug 1214135] New: Installed opensuse-repos -- Now, zypper dup Tries To Add Repo That Exists
https://bugzilla.suse.com/show_bug.cgi?id=1214135 Bug ID: 1214135 Summary: Installed opensuse-repos -- Now, zypper dup Tries To Add Repo That Exists Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: openSUSE Tumbleweed Status: NEW Severity: Normal Priority: P5 - None Component: libzypp Assignee: zypp-maintainers@suse.de Reporter: bill_wayson@yahoo.com QA Contact: qa-bugs@suse.de Target Milestone: --- Found By: --- Blocker: --- Created attachment 868728 --> https://bugzilla.suse.com/attachment.cgi?id=868728&action=edit zypper.log Yesterday, I installed the openSUSE-repos-Tumbleweed-20230804.41e41a9-1.1.x86_64 package. Today, zypper dist-upgrade results in the following output (also attached as file_: rocky:~ # /usr/bin/zypper dist-upgrade Refreshing service 'openSUSE'. Adding repository 'repo-oss' ..........................................................................[error] Unexpected exception. [openSUSE:repo-oss|http://cdn.opensuse.org/tumbleweed//repo/oss] Repository already exists. Please file a bug report about this. See http://en.opensuse.org/Zypper/Troubleshooting for instructions. rocky:~ # I get this same result with every run of zypper dup. Per the request, I file this bug. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c1 --- Comment #1 from Bill Wayson <bill_wayson@yahoo.com> --- Created attachment 868729 --> https://bugzilla.suse.com/attachment.cgi?id=868729&action=edit Output from zypper-dup -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c2 --- Comment #2 from Bill Wayson <bill_wayson@yahoo.com> --- Created attachment 868731 --> https://bugzilla.suse.com/attachment.cgi?id=868731&action=edit zypper refresh --repo repo-oss Output -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c3 --- Comment #3 from Bill Wayson <bill_wayson@yahoo.com> --- Now I have discovered that the repository repo-oss fails its signature verification. I have attached the output of a zypper-refresh of that repository. My guess is that this is related to this issue. I believe this signature verification issue is related to bug 1210985, where I will add two cents. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c4 --- Comment #4 from Michael Andres <ma@suse.com> --- (In reply to Bill Wayson from comment #3)
Now I have discovered that the repository repo-oss fails its signature verification. But that's a different issue.
The error reported here appears to be real:
[openSUSE:repo-oss|http://cdn.opensuse.org/tumbleweed//repo/oss] Repository already exists.
According to the zypper.log, there is indeed an 'openSUSE:repo-oss' repo defined locally:
-------------------------------------- - alias : openSUSE:repo-oss - name : repo-oss - enabled : 1 - autorefresh : 1 - url : https://cdn.opensuse.org/tumbleweed//repo/oss - path : / - type : NONE - priority : 99 - gpgcheck : D(Y) repoD(Y)* sig? pkgD(Y)* - keeppackages: 0 - filePath: /etc/zypp/repos.d/openSUSE:repo-oss.repo
The repository indeed pretty much looks like it would belong to an 'openSUSE' service. Even the URL is the same. It also contains 'tumbleweed//repo' (2`/`es) like the /usr/share/zypp/local/service/openSUSE/repo/repoindex.xml. But if it would belong to a 'service', the tag would be present (after gpgcheck):
- service : openSUSE
I actually wonder if someone or somescript fiddled with the content of the .repo files. @Bill According to the log openSUSE:repo-openh264 is the only repo which is tagged belonging to the openSUSE service. All the other 'openSUSE:*' repos are no service repos and will clash.
- alias : openSUSE:repo-openh264 - service : openSUSE - filePath: /etc/zypp/repos.d/openSUSE:repo-openh264.repo
- alias : openSUSE:repo-non-oss - filePath: /etc/zypp/repos.d/openSUSE:repo-non-oss.repo
- alias : openSUSE:repo-oss-debug - filePath: /etc/zypp/repos.d/openSUSE:repo-oss-debug.repo
- alias : openSUSE:repo-oss-source - filePath: /etc/zypp/repos.d/openSUSE:repo-oss-source.repo
- alias : openSUSE:update-tumbleweed - filePath: /etc/zypp/repos.d/openSUSE:update-tumbleweed.repo
- alias : openSUSE:repo-oss - filePath: /etc/zypp/repos.d/openSUSE:repo-oss.repo
If the openSUSE service is enabled on your system, I'd remove all the '/etc/zypp/repos.d/openSUSE:*.repo' files and call `zypper refs` afterwards to let the service create them. After this 'zypper ls -r' should show l´the repso below the openSUSE service -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 Lubos Kocman <lubos.kocman@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lubos.kocman@suse.com Assignee|zypp-maintainers@suse.de |lubos.kocman@suse.com -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c5 --- Comment #5 from Lubos Kocman <lubos.kocman@suse.com> --- First thing just to test out idempotency of addservice and this part works. lkocman@localhost:~/Workspace/opensuse> sudo ZYPP_READONLY_HACK=1 zypper addservice /usr/share//zypp/local/service/openSUSE openSUSE [sudo] password for root: Adding service 'openSUSE'... Service 'openSUSE' with URL 'dir:/usr/share/zypp/local/service/openSUSE' already exists. Just updating the settings. Service 'openSUSE' has been successfully added. URI : dir:/usr/share/zypp/local/service/openSUSE Enabled : Yes Autorefresh : Yes lkocman@localhost:~/Workspace/opensuse> sudo ZYPP_READONLY_HACK=1 zypper addservice /usr/share//zypp/local/service/openSUSE openSUSE Adding service 'openSUSE'... Service 'openSUSE' with URL 'dir:/usr/share/zypp/local/service/openSUSE' already exists. Just updating the settings. Service 'openSUSE' has been successfully added. URI : dir:/usr/share/zypp/local/service/openSUSE Enabled : Yes Autorefresh : Yes Something tells me that the verification issue will be also a missing purge on repomd.xml. That would somethign for Dirk Mueller. Menawhile I'll try to downgrade/upgrade repos and try to reproduce your issue with duplicate repo entries. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c6 Lubos Kocman <lubos.kocman@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags| |needinfo?(ma@suse.com) CC| |ma@suse.com --- Comment #6 from Lubos Kocman <lubos.kocman@suse.com> --- I have not seen the same error but seems like addservice (or something else) generates these .repo_1 files which then use the same id. lkocman@localhost:~/Workspace/opensuse> cat /etc/zypp/repos.d/NVIDIA:repo-non-free.repo lkocman@localhost:~/Workspace/opensuse> cat /etc/zypp/repos.d/NVIDIA:repo-non-free.repo_1 [NVIDIA:repo-non-free] name=repo-non-free (${releasever}) enabled=1 autorefresh=1 baseurl=https://download.nvidia.com/opensuse/leap/${releasever} service=NVIDIA lkocman@localhost:~/Workspace/opensuse> I would expect that calling addservice would be an idempotent, where we'd not add new repo files if existing files with same id exists. Otherwise, I can add simple workaround to remove all service-related repo files prior calling addservice or e.g. in post uninstall. lkocman@localhost:~/Workspace/opensuse> sudo rm /etc/zypp/repos.d/NVIDIA:* lkocman@localhost:~/Workspace/opensuse> sudo zypper refs Refreshing service 'NVIDIA'. Adding repository 'repo-non-free (15.5)' ............................................................................................................[done] Refreshing service 'openSUSE'. All services have been refreshed. # The .rpmsave one is expected lkocman@localhost:~/Workspace/opensuse> ls -la /etc/zypp/repos.d/NVIDIA* -rw-r--r-- 1 root root 161 Aug 15 13:46 /etc/zypp/repos.d/NVIDIA:repo-non-free.repo -rw-r--r-- 1 root root 95 May 9 10:56 /etc/zypp/repos.d/NVIDIA.repo.rpmsave lkocman@localhost:~/Workspace/opensuse> -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c7 Lubos Kocman <lubos.kocman@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |IN_PROGRESS --- Comment #7 from Lubos Kocman <lubos.kocman@suse.com> --- Michael, is it possible that you're somehow hitting the check with empty .repo file like in above comment (perhaps that's why service was not set)? Workaround: https://github.com/openSUSE/openSUSE-repos/pull/36 -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c8 --- Comment #8 from Dirk Mueller <dmueller@suse.com> --- Bill, we had issues with purging repositories especially with http/https mix until yesterday, where I found one workaround (which however breaks https://). you should have http://cdn urls, and can you confirm that the issue still happens today? -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 Dirk Mueller <dmueller@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dmueller@suse.com -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c9 --- Comment #9 from Michael Andres <ma@suse.com> --- (In reply to Lubos Kocman from comment #6)
lkocman@localhost:~/Workspace/opensuse> cat /etc/zypp/repos.d/NVIDIA:repo-non-free.repo lkocman@localhost:~/Workspace/opensuse> cat /etc/zypp/repos.d/NVIDIA:repo-non-free.repo_1 [NVIDIA:repo-non-free] name=repo-non-free (${releasever}) enabled=1 autorefresh=1 baseurl=https://download.nvidia.com/opensuse/leap/${releasever} service=NVIDIA lkocman@localhost:~/Workspace/opensuse>
I would expect that calling addservice would be an idempotent, where we'd not add new repo files if existing files with same id exists.
The question is: What creates the empty NVIDIA:repo-non-free.repo file? As .repo files may contain multiple repo definitions, we remember the .repo file we read the data from and write modified data back to the same file. Data for a new repo will not be written to an existing file, but it should chose a not existing one by appending _NUMBER to the default name. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c10 --- Comment #10 from Bill Wayson <bill_wayson@yahoo.com> --- Thank you all for your attention to this. I am sorry for not answering sooner -- I've been pretty busy and away from home. Michael, I mentioned the verification issue only in case it was related (and, it was not). You were right about only one repo belonging to the "openSUSE" service. So that you know, I installed opensuse-repos using "yast2 sw_single". Some script may have fiddles with content of the repo files, and it might be a yast2 module. After installing opensuse-repos and letting the new repos be created (I do forget exactly how that happened, but it was automagic), I did what I customarily do, which is to use "yast2 repositories" to change the protocol in the URIs from http to https. Maybe this was the culprit? I did as you instructed at the bottom of your comment 4, and now I do not get the error with "zypper refresh". I won't fiddle with the URIs for now unless someone want to pursue that possibility. Lubos, regarding your comment 5, is there anything you'd like me to try? Dirk, regarding your comment 8, I did not have the verification issue for the last 2-3 days, but I have had the issue reported here until I followed Michael's instructions at the bottom of comment 4. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c11 Michael Andres <ma@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bill_wayson@yahoo.com Flags| |needinfo?(bill_wayson@yahoo | |.com) --- Comment #11 from Michael Andres <ma@suse.com> --- (In reply to Bill Wayson from comment #10)
did what I customarily do, which is to use "yast2 repositories" to change the protocol in the URIs from http to https. Maybe this was the culprit?
@Bill, I'll try to figure out what "yast2 repositories" does. Using https can not cause the issue here, but maybe the way "yast2 repositories" modifies the repo files. In case the yast logs of running "yast2 repositories" are still available on your system, please attach them. The yast log is /var/log/YaST2/y2log Older rotated logs are /var/log/YaST2/y2log-[0-9]* You can run `zypper log -l /var/log/YaST2/y2log` to see the commands inside the logfile (should work on the rotated files as well). AND BEWARE: A `service` is a kind of remote control! If you modify a service repos URL, the change is visible:
1772eeb5f905:/ # sed -i 's/http:/https:/' /etc/zypp/repos.d/* 1772eeb5f905:/ # zypper ls -ru # | Alias | ... | URI --+----------------------------+-...-+--------------------------------------------------------- 1 | openSUSE | ... | dir:/usr/share/zypp/local/service/openSUSE | openSUSE:repo-non-oss | ... | https://cdn.opensuse.org/tumbleweed//repo/non-oss | openSUSE:repo-openh264 | ... | https://codecs.opensuse.org/openh264/openSUSE_Tumbleweed | openSUSE:repo-oss | ... | https://cdn.opensuse.org/tumbleweed//repo/oss | openSUSE:repo-oss-debug | ... | https://cdn.opensuse.org/debug/tumbleweed//repo/oss | openSUSE:repo-oss-source | ... | https://cdn.opensuse.org/source/tumbleweed//repo/oss | openSUSE:update-tumbleweed | ... | https://cdn.opensuse.org/update/tumbleweed/
But the next service refresh (auto or manually) restores the URL:
1772eeb5f905:/ # zypper refs Refreshing service 'openSUSE'. All services have been refreshed. 1772eeb5f905:/ # zypper ls -ru # | Alias | ... | URI --+----------------------------+-...-+-------------------------------------------------------- 1 | openSUSE | ... | dir:/usr/share/zypp/local/service/openSUSE | openSUSE:repo-non-oss | ... | http://cdn.opensuse.org/tumbleweed//repo/non-oss | openSUSE:repo-openh264 | ... | http://codecs.opensuse.org/openh264/openSUSE_Tumbleweed | openSUSE:repo-oss | ... | http://cdn.opensuse.org/tumbleweed//repo/oss | openSUSE:repo-oss-debug | ... | http://cdn.opensuse.org/debug/tumbleweed//repo/oss | openSUSE:repo-oss-source | ... | http://cdn.opensuse.org/source/tumbleweed//repo/oss | openSUSE:update-tumbleweed | ... | http://cdn.opensuse.org/update/tumbleweed/
Similar if you use `zypper mr` on a service repo to change a property the service controls:
1772eeb5f905:/ # zypper mr -p 13 openSUSE:repo-oss-debug Repository 'openSUSE:repo-oss-debug' priority has been set to 13. [volatile] Warning: Repo 'openSUSE:repo-oss-debug' is managed by service 'openSUSE'. Volatile changes are reset by the next service refresh!
If you want to amend a volatile property, you need to turn off the service's autorefresh. Persistently you can enable/disable service repos (and restore the default with `zypper refs -R`) If https is a must-have for you, you'd need to edit the service definition (/usr/share/zypp/local/service/openSUSE/repo/repoindex.xml) and lock the openSUSE-repos-Tumbleweed package, so it does not update the repoindex.xml. Or create your own service using the repoindex.xml as a template. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c12 --- Comment #12 from Bill Wayson <bill_wayson@yahoo.com> --- (In reply to Michael Andres from comment #11) @Michael, so that you understand my abilities better, while my career was in IT, I am more of a user now than I am a developer/programmer. I can respond to requests well, but I don't want to provide what might be random noise to those troubleshooting this.
@Bill, I'll try to figure out what "yast2 repositories" does. Using https can not cause the issue here, but maybe the way "yast2 repositories" modifies the repo files. After reading this, I copied all of the /etc/zypp/repos.d/openSUSE\:*.repo files to a location outside of /etc, and then used "yast2 repositories" to modify one (and only one) of the openSUSE service repos (repo-oss). I simply changed "http" in the URI to "https". Interestingly (to me):
1. That repo file had these lines added to it: path=/ type=rpm-md keeppackages=0 and this line deleted: service=openSUSE 2. All of the other five openSUSE:*.repo files were touched. If the repo was enabled, these lines were added: type=rpm-md keeppackages=0 and no lines were deleted. IF the repo was disabled, this line was added: keeppackages=0 and, again, no lines were deleted. Finally, now, running zipper dist-upgrade gives me the error again: Adding repository 'repo-oss' ..........................................................................[error] Unexpected exception. [openSUSE:repo-oss|http://cdn.opensuse.org/tumbleweed//repo/oss] Repository already exists. Please file a bug report about this. See http://en.opensuse.org/Zypper/Troubleshooting for instructions. I will run the commands at the end of your comment 4 to fix this error. Also, this explains to me why, after my original report, the openh264 repo was the only repo tagged as belonging in the openSUSE service. I had not modified that repo because the original, non-service repo would not work with the https protocol, so I figured the service-tagged repo wouldn't work either with https.
In case the yast logs of running "yast2 repositories" are still available on your system, please attach them.
If https is a must-have for you, you'd need to edit the service definition (/usr/share/zypp/local/service/openSUSE/repo/repoindex.xml) and lock the openSUSE-repos-Tumbleweed package, so it does not update the repoindex.xml. Or create your own service using the repoindex.xml as a template. Thanks for this. https is not a must-have for me. It is more of a "best
I will attach both the old log file (y2log-2.gz) -- I am pretty sure it is the one with the original issue -- and the current log (y2log-0.gz). I will also cogitate the middle part of your comment 11 to understand it better. practice" thing. Hope this helps -- let me know if you'd like something else. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c13 Bill Wayson <bill_wayson@yahoo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(ma@suse.com) | --- Comment #13 from Bill Wayson <bill_wayson@yahoo.com> --- Created attachment 869029 --> https://bugzilla.suse.com/attachment.cgi?id=869029&action=edit Old y2log file -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c14 Bill Wayson <bill_wayson@yahoo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(bill_wayson@yahoo | |.com) | --- Comment #14 from Bill Wayson <bill_wayson@yahoo.com> --- Created attachment 869030 --> https://bugzilla.suse.com/attachment.cgi?id=869030&action=edit Current y2log -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c15 --- Comment #15 from Michael Andres <ma@suse.com> --- (In reply to Bill Wayson from comment #12)
After reading this, I copied all of the /etc/zypp/repos.d/openSUSE\:*.repo files to a location outside of /etc, and then used "yast2 repositories" to modify one (and only one) of the openSUSE service repos (repo-oss). I simply changed "http" in the URI to "https". Interestingly (to me):
1. That repo file had these lines added to it: path=/ type=rpm-md keeppackages=0 and this line deleted: service=openSUSE
Thank's a lot! The deleted 'service=openSUSE' line is what decouples the repository from the service. The added lines are unnecessary, but don't do harm. It looks like YAST does not simply change the URL in the RepoInfo it holds, but creates a new one and transfers the data manually. Missing the ones it probably does not know about. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c16 Michael Andres <ma@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Installed opensuse-repos -- |(Installed opensuse-repos |Now, zypper dup Tries To |-- Now, zypper dup Tries To |Add Repo That Exists |Add Repo That Exists) Component|libzypp |YaST2 QA Contact|qa-bugs@suse.de |jsrain@suse.com --- Comment #16 from Michael Andres <ma@suse.com> --- @yast-maintainers: PID 4529 in the attached y2log-0 shows the issue. This is the openSUSE:repo-oss repo managed by `service: openSUSE` as read by libzypp from /etc/zypp/repos.d/openSUSE:repo-oss.repo:
[zypp] RepoFileReader.cc(repositories_in_stream):217 -------------------------------------- [zypp] RepoFileReader.cc(repositories_in_stream):217 - alias : openSUSE:repo-oss [zypp] RepoFileReader.cc(repositories_in_stream):217 - name : repo-oss [zypp] RepoFileReader.cc(repositories_in_stream):217 - enabled : 1 [zypp] RepoFileReader.cc(repositories_in_stream):217 - autorefresh : 1 [zypp] RepoFileReader.cc(repositories_in_stream):217 - url : http://cdn.opensuse.org/tumbleweed//repo/oss [zypp::media] RepoInfo.cc(probeCache):65 Probed cached type NONE at [zypp] RepoFileReader.cc(repositories_in_stream):217 - type : NONE [zypp] RepoFileReader.cc(repositories_in_stream):217 - priority : 99 [zypp] RepoFileReader.cc(repositories_in_stream):217 - gpgcheck : D(Y) repoD(Y)* sig? pkgD(Y)* [zypp] RepoFileReader.cc(repositories_in_stream):217 - service : openSUSE [zypp] RepoFileReader.cc(repositories_in_stream):217 - filePath: /etc/zypp/repos.d/openSUSE:repo-oss.repo
This seems to be the data YAST wants to write back after having changed the URL (http->https):
[Pkg] packager/repositories_include.rb:176 Pkg Builtin called: RepositoryAdd [Pkg] Source_Create.cc(RepositoryAdd):441 Skipping alias check (check_alias == false) [Pkg] Source_Create.cc(RepositoryAdd):504 Adding repository: [Pkg] Source_Create.cc(RepositoryAdd):505 -------------------------------------- [Pkg] Source_Create.cc(RepositoryAdd):505 - alias : openSUSE:repo-oss [Pkg] Source_Create.cc(RepositoryAdd):505 - name : repo-oss [Pkg] Source_Create.cc(RepositoryAdd):505 - enabled : 1 [Pkg] Source_Create.cc(RepositoryAdd):505 - autorefresh : 1 [Pkg] Source_Create.cc(RepositoryAdd):505 - url : https://cdn.opensuse.org/tumbleweed//repo/oss [Pkg] Source_Create.cc(RepositoryAdd):505 - path : / [Pkg] Source_Create.cc(RepositoryAdd):505 - type : rpm-md [Pkg] Source_Create.cc(RepositoryAdd):505 - priority : 99 [Pkg] Source_Create.cc(RepositoryAdd):505 - gpgcheck : D(Y) repoD(Y)* sigY pkgD(N) [Ruby] packager/repositories_include.rb(block in createSourceImpl):181 Added repository: 12: {"enabled"=>true, "autorefresh"=>true, "raw_name"=>"repo-oss", "prod_dir"=>"/", "alias"=>"openSUSE:repo-oss", "base_urls"=>["https://cdn.opensuse.org/tumbleweed//repo/oss"], "type"=>"YUM", "check_alias"=>false} [Pkg] Source_Create.cc(RepositoryAdd):505 - keeppackages: 0 [Pkg] Source_Create.cc(RepositoryAdd):505 - metadataPath: /var/cache/zypp/raw/openSUSE:repo-oss [Pkg] Source_Create.cc(RepositoryAdd):505 - packagesPath: /var/cache/zypp/packages/openSUSE:repo-oss ... [Pkg] Source_Save.cc(SourceSaveAll):162 Removing metadata for source 'openSUSE:repo-oss'... [Pkg] Source_Save.cc(SourceSaveAll):177 Removing repository 'openSUSE:repo-oss'... [Pkg] Source_Save.cc(SourceSaveAll):220 Adding repository 'openSUSE:repo-oss'...
Apparently YAST does not amend the original RepoInfo (or a copy), but tries to create a new one based on incompletely extracted data (e.g. the missing service,filePath). Removing and re-adding the repo (rather than modifying it) would be no problem, IF you would not lose RepoInfo data. Your current workflow easily fails whenever zypp extends the RepoInfo. IN GENERAL: I'm not sure if YAST should support modification of service repos at all (except for enable/disable). At least a hint that changes may vanish on the next service refresh would be IMO appropriate. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 Michael Andres <ma@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|(Installed opensuse-repos |yast2 repositories loses |-- Now, zypper dup Tries To |repository properties when |Add Repo That Exists) |modifying (service)repos. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 Michael Andres <ma@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|lubos.kocman@suse.com |yast2-maintainers@suse.de Severity|Normal |Critical -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c17 --- Comment #17 from Michael Andres <ma@suse.com> --- @yast-maintainers: Please check also comment#12, telling that even unchanged service repos were modified
[Pkg] Source_Save.cc(SourceSaveAll):214 Modifying repository 'openSUSE:repo-non-oss' [Pkg] Source_Save.cc(SourceSaveAll):214 Modifying repository 'openSUSE:repo-openh264' [Pkg] Source_Save.cc(SourceSaveAll):214 Modifying repository 'openSUSE:repo-oss-debug' [Pkg] Source_Save.cc(SourceSaveAll):214 Modifying repository 'openSUSE:repo-oss-source' [Pkg] Source_Save.cc(SourceSaveAll):214 Modifying repository 'openSUSE:update-tumbleweed' -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c18 Stefan Hundhammer <shundhammer@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lslezak@suse.com Flags| |needinfo?(lslezak@suse.com) --- Comment #18 from Stefan Hundhammer <shundhammer@suse.com> --- Ladislav, please check. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 Stefan Hundhammer <shundhammer@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- URL| |https://trello.com/c/19fvBq | |IZ Assignee|yast2-maintainers@suse.de |yast-internal@suse.de -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c19 --- Comment #19 from Bill Wayson <bill_wayson@yahoo.com> ---
Thank's a lot!
@Michael, you are welcome. I'm happy to provide info while you all do the heavy lifting of figuring this out. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c20 Ladislav Slezák <lslezak@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|yast-internal@suse.de |lslezak@suse.com Priority|P5 - None |P3 - Medium Flags|needinfo?(lslezak@suse.com) | --- Comment #20 from Ladislav Slezák <lslezak@suse.com> --- I have reproduced the problem locally, I installed the latest TW and installed the openSUSE-repos-Tumbleweed package: zypper in openSUSE-repos-Tumbleweed Interestingly the package installation removed the default repositories created after installation so a after refreshing the repositories with zypper ref -s I could see only the repositories from the service, that's good and avoids duplicate repositories. Then I tried to change URL of a repository and the result was that the "service" property was lost in the repo file. It seems that YaST creates the file from scratch and loses some data. Then if you refresh the service I'll get that "Repository already exists" error. I'll check the details... -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c21 Ladislav Slezák <lslezak@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|IN_PROGRESS |RESOLVED --- Comment #21 from Ladislav Slezák <lslezak@suse.com> --- Changing the URL is a bit tricky, in that case YaST actually deletes the old repository (to force removing all cached files) and creates a new repository with the new URL. Then YaST copies all attributes (enabled/disabled, priority,...) from the old repository to the new one. And here was the bug, YaST did not copy the "service" attribute so the new repository had the same name as the old one, but was not bound to the original service. For libzypp it looks like a standalone repository and when libzypp refreshed the service it found out that a conflicting repository already exists. Additionally a warning that the repository is managed by a service is now displayed when changing the repository URL. The same warning is already displayed when changing other repository attributes (enabled/disabled, priority,...), it was missing when changing the URL. (More details in https://github.com/yast/yast-packager/pull/642) Fixed in yast2-packager-5.0.1 (Tumbleweed) and yast2-packager-4.6.4 (SLE15-SP6/Leap15.6). -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1214135 https://bugzilla.suse.com/show_bug.cgi?id=1214135#c23 --- Comment #23 from Frank Krüger <fkrueger@mailbox.org> --- (In reply to Frank Krüger from comment #22)
Given TW20231222 with yast2-packager-5.0.1-1.1.x86_64, adding a new repo with its URL saves it as service not repo. Using "zypper ar" works just fine. If this issue is not related to the above-mentioned one I can open a new bug report.
I have opened a new bug 1218399. -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com