Bug 717089
Summary: | pylorax.yumhelper.ERROR: yum transaction error: [u'ERROR with transaction check vs depsolve:' | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | John Reiser <jreiser> | ||||
Component: | lorax | Assignee: | Martin Gracik <mgracik> | ||||
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | unspecified | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | rawhide | CC: | akozumpl, anaconda-maint-list, bcl, dcantrell, dmach, mgracik | ||||
Target Milestone: | --- | Keywords: | Reopened | ||||
Target Release: | --- | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2011-07-18 23:06:19 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 491479 | ||||||
Attachments: |
|
Description
John Reiser
2011-06-27 23:34:37 UTC
This means there are packages missing in the rawhide repo. This happens sometimes with rawhide repos. The explanation of Comment #1 seems insufficient for at least two parts of the complaint from yum. Please re-open this bugzilla report. Today's complaint includes these 4 requirements: ----- '/lib64/libparted.so.0 is needed by libguestfs-1:1.11.12-1.fc16.x86_64' 'libparted.so.0()(64bit) is needed by libvirt-0.9.2-2.fc16.x86_64' 'libparted.so.0()(64bit) is needed by pyparted-3.6-1.fc16.x86_64' 'libparted.so.0()(64bit) is needed by udisks-1.0.2-4.fc15.x86_64' ----- yet parted-3.0-1.fc16.x86_64.rpm is present in /var/cache/pungi/rawhide/packages, and does provide the library: $ rpm -q --provides -p parted-3.0-1.fc16.x86_64.rpm libparted.so.1()(64bit) parted = 3.0-1.fc16 parted(x86-64) = 3.0-1.fc16 $ ls -l parted* -rw-r--r--. 1 root root 631780 Feb 9 09:27 parted-2.3-7.fc15.x86_64.rpm -rw-r--r--. 1 root root 629948 Jun 5 12:13 parted-2.4-2.fc16.x86_64.rpm -rw-r--r--. 2 root root 491548 Jun 28 14:04 parted-3.0-1.fc16.x86_64.rpm Those two earlier parted-*.rpm packages also provide the library. Today's complaint also has: ----- 'syslog-ng conflicts with sysklogd-1.5-10.fc15.x86_64' 'rsyslog conflicts with sysklogd-1.5-10.fc15.x86_64' 'fedora-release conflicts with generic-release-16-0.1.noarch' 'fedora-logos conflicts with generic-logos-15.0.0-1.fc16.noarch' 'fedora-bookmarks conflicts with astronomy-bookmarks-1-7.fc15.noarch' ----- and these look peculiar because the first component name on each line does not designate an actual object. How did "rsyslog" with no qualifiers get there? Are these "synthetic" packages created by lorax? The .ks I am using is fedora-install-fedora.ks, but with the [sole] repo: repo --name=rawhide --baseurl=http://download.fedora.redhat.com/pub/fedora/linux/development/rawhide/$basearch/os which should avoid any delays ("version skew") in the mirror system. Running the whole pungi process under "strace -f -e trace=file" and then "grep parted" shows these references to parted: ----- 8728 stat("/var/cache/pungi/rawhide/packages/parted-3.0-1.fc16.x86_64.rpm", {st_mode=S_IFREG|0644, st_size=491548, ...}) = 0 8728 stat("/var/cache/pungi/rawhide/packages/parted-3.0-1.fc16.x86_64.rpm", {st_mode=S_IFREG|0644, st_size=491548, ...}) = 0 8728 open("/var/cache/pungi/rawhide/packages/parted-3.0-1.fc16.x86_64.rpm", O_RDONLY) = 20 8728 open("/var/cache/pungi/rawhide/packages/parted-3.0-1.fc16.x86_64.rpm", O_RDONLY) = 20 8728 stat("/var/cache/pungi/rawhide/packages/parted-3.0-1.fc16.x86_64.rpm", {st_mode=S_IFREG|0644, st_size=491548, ...}) = 0 8728 stat("/ext4/Fedora16/16/x86_64/os/Packages/parted-3.0-1.fc16.x86_64.rpm", 0x7fff4fc7d590) = -1 ENOENT (No such file or directory) 8728 lstat("/ext4/Fedora16/16/x86_64/os/Packages/parted-3.0-1.fc16.x86_64.rpm", 0x7fff4fc7d590) = -1 ENOENT (No such file or directory) 8728 link("/var/cache/pungi/rawhide/packages/parted-3.0-1.fc16.x86_64.rpm", "/ext4/Fedora16/16/x86_64/os/Packages/parted-3.0-1.fc16.x86_64.rpm") = 0 8728 stat("parted-3.0-1.fc16.x86_64.rpm", 0x7fff4fc7ce80) = -1 ENOENT (No such file or directory) 8728 stat("/ext4/Fedora16/16/x86_64/os/Packages/parted-3.0-1.fc16.x86_64.rpm", {st_mode=S_IFREG|0644, st_size=491548, ...}) = 0 8928 stat("/ext4/Fedora16/16/x86_64/os/Packages/parted-3.0-1.fc16.x86_64.rpm", {st_mode=S_IFREG|0644, st_size=491548, ...}) = 0 8928 open("/ext4/Fedora16/16/x86_64/os/Packages/parted-3.0-1.fc16.x86_64.rpm", O_RDONLY) = 8 8928 stat("/ext4/Fedora16/16/x86_64/os/Packages/parted-3.0-1.fc16.x86_64.rpm", {st_mode=S_IFREG|0644, st_size=491548, ...}) = 0 8928 stat("/var/cache/pungi/createrepocache/parted-3.0-1.fc16.x86_64.rpm-10edf22db3ce3830b00eab347155c32cebb8592931412f95a4ddfcd0f23a02e0-1795366-1309295062", {st_mode=S_IFREG|0600, st_size=64, ...}) = 0 8928 stat("/var/cache/pungi/createrepocache/parted-3.0-1.fc16.x86_64.rpm-10edf22db3ce3830b00eab347155c32cebb8592931412f95a4ddfcd0f23a02e0-1795366-1309295062", {st_mode=S_IFREG|0600, st_size=64, ...}) = 0 8928 open("/var/cache/pungi/createrepocache/parted-3.0-1.fc16.x86_64.rpm-10edf22db3ce3830b00eab347155c32cebb8592931412f95a4ddfcd0f23a02e0-1795366-1309295062", O_RDONLY) = 8 8928 open("/ext4/Fedora16/16/x86_64/os/Packages/parted-3.0-1.fc16.x86_64.rpm", O_RDONLY) = 8 8728 stat("/var/cache/pungi/rawhide/packages/pyparted-3.6-1.fc16.x86_64.rpm", {st_mode=S_IFREG|0644, st_size=192380, ...}) = 0 8728 stat("/var/cache/pungi/rawhide/packages/pyparted-3.6-1.fc16.x86_64.rpm", {st_mode=S_IFREG|0644, st_size=192380, ...}) = 0 8728 open("/var/cache/pungi/rawhide/packages/pyparted-3.6-1.fc16.x86_64.rpm", O_RDONLY) = 6 8728 open("/var/cache/pungi/rawhide/packages/pyparted-3.6-1.fc16.x86_64.rpm", O_RDONLY) = 6 8728 stat("/var/cache/pungi/rawhide/packages/pyparted-3.6-1.fc16.x86_64.rpm", {st_mode=S_IFREG|0644, st_size=192380, ...}) = 0 8728 stat("/var/cache/pungi/rawhide/packages/parted-3.0-1.fc16.x86_64.rpm", {st_mode=S_IFREG|0644, st_size=491548, ...}) = 0 8728 stat("/var/cache/pungi/rawhide/packages/parted-3.0-1.fc16.x86_64.rpm", {st_mode=S_IFREG|0644, st_size=491548, ...}) = 0 8728 open("/var/cache/pungi/rawhide/packages/parted-3.0-1.fc16.x86_64.rpm", O_RDONLY) = 6 8728 stat("/var/cache/pungi/rawhide/packages/parted-3.0-1.fc16.x86_64.rpm", {st_mode=S_IFREG|0644, st_size=491548, ...}) = 0 8728 stat("/var/cache/pungi/rawhide/packages/pyparted-3.6-1.fc16.x86_64.rpm", {st_mode=S_IFREG|0644, st_size=192380, ...}) = 0 8728 open("/var/cache/pungi/rawhide/packages/pyparted-3.6-1.fc16.x86_64.rpm", O_RDONLY) = 20 8728 stat("/var/cache/pungi/rawhide/packages/parted-3.0-1.fc16.x86_64.rpm", {st_mode=S_IFREG|0644, st_size=491548, ...}) = 0 8728 open("/var/cache/pungi/rawhide/packages/parted-3.0-1.fc16.x86_64.rpm", O_RDONLY) = 20 ----- Note that there are exactly three ENOENT: stat("/ext4/Fedora16/16/x86_64/os/Packages/parted-3.0-1.fc16.x86_64.rpm", 0x7fff4fc7d590) = -1 ENOENT (No such file or directory) lstat("/ext4/Fedora16/16/x86_64/os/Packages/parted-3.0-1.fc16.x86_64.rpm", 0x7fff4fc7d590) = -1 ENOENT (No such file or directory) stat("parted-3.0-1.fc16.x86_64.rpm", 0x7fff4fc7ce80) = -1 ENOENT (No such file or directory) ----- That last one has no directory name, so perhaps it was done under chdir or chroot? With pungi pungi-2.6-1.fc16 I am getting: yum transaction error: [u'ERROR with rpm_check_debug vs depsolve:', 'fedora-bookmarks conflicts with astronomy-bookmarks-1-7.fc15.noarch', 'rsyslog conflicts with sysklogd-1.5-10.fc15.x86_64', 'syslog-ng conflicts with sysklogd-1.5-10.fc15.x86_64', 'fedora-logos conflicts with generic-logos-15.0.0-1.fc16.noarch', 'fedora-release conflicts with generic-release-16-0.1.noarch', u'Please report this error at http://yum.baseurl.org/report'] This was fixed with by downgrading to pungi-2.5-1.fc15. Jesse, any idea what might be causing this? John, can you try out if this helps? Note that the lorax version I am running is always the git HEAD. Downgrading from pungi-2.6-1.fc16.noarch.rpm to pungi-2.5-1.fc15.noarch.rpm fails differently for me: -----pungi-2.5-1.fc15 <<snip>> running test transaction Traceback (most recent call last): File "/usr/bin/pungi", line 214, in <module> main() File "/usr/bin/pungi", line 120, in main mypungi.doBuildinstall() File "/usr/lib/python2.7/site-packages/pypungi/__init__.py", line 793, in doBuildinstall workdir=workdir, outputdir=outputdir) File "/usr/lib/python2.7/site-packages/pylorax/__init__.py", line 265, in run self.installtree.yum.process_transaction(skipbroken) File "/usr/lib/python2.7/site-packages/pylorax/yumhelper.py", line 146, in process_transaction rpmDisplay=LoraxRpmCallback()) File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 4988, in processTransaction self._doTestTransaction(callback,display=rpmTestDisplay) File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 5085, in _doTestTransaction raise Errors.YumTestTransactionError, errstring yum.Errors.YumTestTransactionError: Test Transaction Errors: file /lib/firmware/phanfw.bin conflicts between attempted installs of netxen-firmware-4.0.534-4.fc15.noarch and linux-firmware-20110601-2.fc16.noarch ----- whereas the early termination with pungi-2.6-1.fc16 remains similar to the original Description and Comment #4, and does not include anything about netxen-firmware. What you describe in comment 5 is what I get on my other compose machine where I use fresh rawhide repo. This is just because some packages there are broken at the moment (linux-firmware ?). I prevent this by using a one month old copy of the repo that I do not update, knowing the kind of havoc that irresponsible package maintainers wreak over rawhide after a Fedora release. (In reply to comment #6) > I prevent this by using a one month old copy of the repo that I do not update How do you prevent updating of that repo? (What is your literal command-line invocation of pungi?) I believe these are errors in lorax, and not pungi. There are some packages that are in conflict, and that's what lorax is complaining about. The change in 2.5 to 2.6 in pungi is that we now also give lorax the local repo we've gathered or found at topdir to lorax as a source to get packages from. Maybe this is confusing lorax too much? Hi Jesse, (In reply to comment #9) > The change in 2.5 to 2.6 in pungi is that we now also give lorax the local repo > we've gathered or found at topdir At topdir of what? > to lorax as a source to get packages from. > Maybe this is confusing lorax too much? Can the new behavior be disabled? Shouldn't Lorax get precisely those repos that are specified in the pungi kickstart file? (In reply to comment #7) > (In reply to comment #6) > > I prevent this by using a one month old copy of the repo that I do not update > > How do you prevent updating of that repo? (What is your literal command-line > invocation of pungi?) I just have an rsynced copy of the rawhide repo on a nfs drive, taken some time ago, it is now just not possible to make rawhide composes if you always use the latest rawhide (or koji) repos, you end up with what you see in comment 5. I point at this repo from the kickstart config file: repo --name=local_frozen --baseurl=file:///mnt/cobra02/rh This is my pungi line: pungi --destdir=$PUNGI_DIR --nosource -c ${KS} --all-stages (In reply to comment #10) > Hi Jesse, > > (In reply to comment #9) > > The change in 2.5 to 2.6 in pungi is that we now also give lorax the local repo > > we've gathered or found at topdir > > At topdir of what? Topdir of the compose, eg where the packages are (pre) gathered. > > > to lorax as a source to get packages from. > > Maybe this is confusing lorax too much? > > Can the new behavior be disabled? Shouldn't Lorax get precisely those repos > that are specified in the pungi kickstart file? There is a pre-existing legitimate use case where you can use pungi on a pre-gathered repository (and thus an empty kickstart file). The repo would already exist in the destination path, would already have group data, etc... This is how the branched images are created each night, and how the anaconda team makes images for rawhide testing. Pungi adds this repo to the yum object and thus lorax gets it from said object. Previously this repo was passed along to buildinstall. Created attachment 511717 [details] patch forcing reinitialization of yum object in pungi I used lorax-0.7.1, my proven frozen repo and the git HEAD version of pungi to hit the problem from comment 4. I found the problem to be caused by 0c8b9d268e7411fcf87ea185099b40a9214683e5, "Only init yum if we haven't already". This is because the Pungi.ayum object has already a lot of transaction data in doBuildinstall() and that confuses Lorax (which uses it for its own transaction) later. Attaching a patch against pungi that fixes the issue for me. Build done for rawhide with this patch. |