Comment # 5 on bug 1189590 from
I'm not 100% sure, what YAST is doing, but I suspects it's triggered by YASTs
own repo managemet they perform beside zypps repo manager. The two managers
appear to have a different view to the system:

grep 'openSUSE-1-0\|RepoManager\|setDirty' y2log:
> 2021-08-18 02:27:43 <1> install(3808) [Pkg] PkgFunctions.cc(CreateRepoManager):236 Path to repository files: /etc/zypp/repos.d
> 2021-08-18 02:27:43 <1> install(3808) [zypp] RepoManager.cc(init_knownRepositories):839 start construct known repos
> 2021-08-18 02:27:43 <1> install(3808) [zypp] RepoManager.cc(repositories_in_dir):308 directory /etc/zypp/repos.d
> 2021-08-18 02:27:43 <1> install(3808) [zypp] RepoManager.cc(init_knownRepositories):904 end construct known repos
> 2021-08-18 02:27:46 <1> install(3808) [zypp] RepoManager.cc(probe):1443 going to probe the repo type at cd:/?devices=/dev/disk/by-id/scsi-0QEMU_QEMU_CD-ROM_cd0 ()
> 2021-08-18 02:27:46 <1> install(3808) [zypp] RepoManager.cc(probe):1469 Probed type RPMMD at cd:/?devices=/dev/disk/by-id/scsi-0QEMU_QEMU_CD-ROM_cd0 ()
> 2021-08-18 02:27:46 <1> install(3808) [Pkg] Source_Create.cc(createManagedSource):241 Name of the repository: 'openSUSE-1-0'
> 2021-08-18 02:27:46 <1> install(3808) [Pkg] Source_Create.cc(createManagedSource):283 - alias       : openSUSE-1-0
> 2021-08-18 02:27:46 <1> install(3808) [Pkg] Source_Create.cc(createManagedSource):283 - name        : openSUSE-1-0
> 2021-08-18 02:27:46 <1> install(3808) [Pkg] Source_Create.cc(createManagedSource):283 - metadataPath: /var/cache/zypp/raw/openSUSE-1-0
> 2021-08-18 02:27:46 <1> install(3808) [Pkg] Source_Create.cc(createManagedSource):283 - packagesPath: /var/cache/zypp/packages/openSUSE-1-0
> ...
> 2021-08-18 02:27:46 <1> install(3808) [zypp] RepoManager.cc(checkIfToRefreshMetadata):994 Check if to refresh repo openSUSE-1-0 at cd:/?devices=/dev/disk/by-id/scsi-0QEMU_QEMU_CD-ROM_cd0 (rpm-md)
> ...
> 2021-08-18 02:27:49 <1> install(3808) [Pkg] Source_Create.cc(createManagedSource):305 Added source 'openSUSE-1-0': 'cd:/?devices=/dev/disk/by-id/scsi-0QEMU_QEMU_CD-ROM_cd0', enabled: true, autorefresh: false
> 2021-08-18 02:27:49 <1> install(3808) [Pkg] Source_Resolvables.cc(LoadResolvablesFrom):67 Loading resolvables from 'openSUSE-1-0', pool size at start: 0
> 2021-08-18 02:27:49 <1> install(3808) [zypp::satpool] PoolImpl.cc(setDirty):253 _createRepo openSUSE-1-0
> 2021-08-18 02:27:49 <1> install(3808) [zypp::satpool] PoolImpl.cc(setDirty):253 _addSolv openSUSE-1-0

Here it looks like YAST ([Pkg]) creates its own openSUSE-1-0 repository. The
zypp::RepoManager is created, but only to perform the refresh. The ReopoInfo
YAST created is not passed to RepoManager (i.e. it is not added as a persistent
repo to the system; no entry in /etc/zypp/repos.d).

Then YAST loads the repo data (from the .solv file) into the pool.


> 2021-08-18 02:28:10 <1> install(3808) [Pkg] PkgFunctions.cc(RepoManagerUpdateTarget):459 Updating RepoManager (target changed from  to /)
> 2021-08-18 02:28:10 <0> install(3808) [Pkg] PkgFunctions.cc(RepoManagerUpdateTarget):463 repomanager options size: 0
> 2021-08-18 02:28:10 <1> install(3808) [zypp] RepoManager.cc(init_knownRepositories):839 start construct known repos
> 2021-08-18 02:28:10 <1> install(3808) [zypp] RepoManager.cc(repositories_in_dir):308 directory /etc/zypp/repos.d
> 2021-08-18 02:28:10 <1> install(3808) [DEFINE_LOGGROUP] PathInfo.cc(recursive_rmdir):434 recursive_rmdir /var/cache/zypp/raw/openSUSE-1-0 
> 2021-08-18 02:28:10 <1> install(3808) [DEFINE_LOGGROUP] PathInfo.cc(recursive_rmdir):434 recursive_rmdir /var/cache/zypp/solv/openSUSE-1-0 
> ...

That's probably where the issue begins. YAST again creates a zypp::RepoManager
for the system. The startup code finds no repos in /etc/zypp/repos.d but now
apparently orphaned data in the cache which are cleaned. This is where the
cache vanishes for YASTs openSUSE-1-0 repo.

Yast should either stay with it's Initial RepoManager for the system or use one
with a private cache for it's own stuff.


> 2021-08-18 02:28:42 <1> install(3808) [Pkg] Source_Save.cc(SourceSaveAll):220 Adding repository 'openSUSE-1-0'
> 2021-08-18 02:28:42 <0> install(3808) [Pkg] Callbacks.cc(start):382 ProgressStart: id:52, Adding repository 'openSUSE-1-0'
> 2021-08-18 02:28:42 <0> install(3808) [Pkg] Callbacks.cc(progress):401 ProgressProgress: id:52, Adding repository 'openSUSE-1-0': 0%
> 2021-08-18 02:28:42 <1> install(3808) [zypp] RepoManager.cc(addRepository):1654 Try adding repo --------------------------------------

Later YAST adds its repos to the zypp::RepoManager, This workflow would
basically be ok, if YAST would stay with the initially created RepoManager for
the system. 

"PkgFunctions.cc(RepoManagerUpdateTarget) ... Updating RepoManager (target
changed from  to /)"
This shoudl probably handle an empty root like "/", in case this woudl prevent
RepoManagerUpdateTarget from creating a new RepoManger instance.


You are receiving this mail because: