With uniqueext:
❯ fedora-review -b 2262894 -o '--uniqueext review' INFO: Processing bugzilla bug: 2262894 INFO: Getting .spec and .srpm Urls from : 2262894 INFO: --> SRPM url: https://ionic.at/python-aiostream-0.5.2-2.fc40.src.rpm INFO: --> Spec url: https://ionic.at/python-aiostream.spec INFO: Using review directory: /home/michel/src/fedora/reviews/2262894-python-aiostream INFO: Downloading .spec and .srpm files INFO: Downloading (Source0): https://files.pythonhosted.org/packages/source/a/aiostream/aiostream-0.5.2.tar.gz INFO: Running checks and generating report INFO: Results and/or logs in: /home/michel/src/fedora/reviews/2262894-python-aiostream/results INFO: Reading configuration from /etc/mock/site-defaults.cfg INFO: Reading configuration from /etc/mock/chroot-aliases.cfg INFO: Reading configuration from /etc/mock/fedora-rawhide-x86_64.cfg INFO: Reading configuration from /home/michel/.config/mock.cfg INFO: Build completed INFO: Init command returned error code 2 INFO: Installing built package(s) INFO: Active plugins: Shell-api, Generic, Python Error: Cache-only enabled but no cache for 'fedora' ERROR: Exception down the road... (logs in /home/michel/.cache/fedora-review.log)
The failing command:
02-22 10:02 root DEBUG Running: mock -r fedora-rawhide-x86_64 --uniqueext review --no-cleanup-after --no-clean -qn --enable-network shell -- dnf-3 repoquery -C -l filesystem
I can confirm that it passes if -C is taken off, it looks like either the initial build was not using the requested uniqueext, or somehow it got cleaned up between the build and the installation check.
-C
Without:
❯ fedora-review -b 2262894 INFO: Processing bugzilla bug: 2262894 INFO: Getting .spec and .srpm Urls from : 2262894 INFO: --> SRPM url: https://ionic.at/python-aiostream-0.5.2-2.fc40.src.rpm INFO: --> Spec url: https://ionic.at/python-aiostream.spec INFO: Using review directory: /home/michel/src/fedora/reviews/2262894-python-aiostream INFO: Downloading .spec and .srpm files INFO: Downloading (Source0): https://files.pythonhosted.org/packages/source/a/aiostream/aiostream-0.5.2.tar.gz INFO: Running checks and generating report INFO: Results and/or logs in: /home/michel/src/fedora/reviews/2262894-python-aiostream/results INFO: Reading configuration from /etc/mock/site-defaults.cfg INFO: Reading configuration from /etc/mock/chroot-aliases.cfg INFO: Reading configuration from /etc/mock/fedora-rawhide-x86_64.cfg INFO: Reading configuration from /home/michel/.config/mock.cfg INFO: Build completed INFO: Installing built package(s) INFO: Active plugins: Generic, Python, Shell-api Last metadata expiration check: 0:00:18 ago on Thu Feb 22 10:13:40 2024. Last metadata expiration check: 0:01:24 ago on Thu Feb 22 10:13:40 2024. INFO: ExclusiveArch dependency checking disabled, enable with EXARCH flag Review template in: /home/michel/src/fedora/reviews/2262894-python-aiostream/review.txt fedora-review is automated tool, but *YOU* are responsible for manually reviewing the results and finishing the review. Do not just copy-paste the results without understanding them.
@salimma I am debugging the issue for the last two days https://github.com/fedora-copr/copr/issues/3147
it looks like either the initial build was not using the requested uniqueext, or somehow it got cleaned up between the build and the installation check.
To me, it seems that it is related to Mock's tmpfs plugin. When it is disabled
config_opts['plugin_conf']['tmpfs_enable'] = False
or when this is set
config_opts['plugin_conf']['tmpfs_opts']['keep_mounted'] = True
It seems to work for me. But I can't figure out why it started happening now.
We have deps.py:init which installs dnf. The consecutive mock calls then do dnf makecache and so on. When the tmpfs it enabled and keep_mounted is False then dnf is not available for the consecutive calls.
deps.py:init
dnf
dnf makecache
keep_mounted
False
When changing the mock configuration like this, it works even with the tmpfs plugin:
--- /etc/mock/templates/fedora-rawhide.tpl 2024-02-16 01:00:00.000000000 +0100 +++ /etc/mock/templates/fedora-rawhide.tpl 2024-02-26 23:37:45.591901105 +0100 @@ -3,7 +3,7 @@ # fedora 31+ isn't mirrored, we need to run from koji config_opts['mirrored'] = config_opts['target_arch'] != 'i686' -config_opts['chroot_setup_cmd'] = 'install @{% if mirrored %}buildsys-{% endif %}build' +config_opts['chroot_setup_cmd'] = 'install @{% if mirrored %}buildsys-{% endif %}build dnf'
I would expect changing /etc/mock/templates/fedora-branched.tpl in the same way would fix F40 but it doesn't. Not sure why.
/etc/mock/templates/fedora-branched.tpl
Both this change and disabling Mock's tmpfs plugin feel like workarounds to me. Does anyone have an idea what should be the proper fix for this?
Login to comment on this ticket.