Re: yum update -- F16-latest => rawhide
On Tuesday 11 October 2011 20:02:41, Panu Matilainen wrote: > This is a bug in rpm's handling of %pretrans dependencies. I'll try to > get it fixed tomorrow, BUT this also does point out a problem in the > package: > > %pretrans scripts can almost never in real life be /bin/sh scripts, > because on initial installation, at the point where %pretrans scripts > get executed there is no shell! Or anything else for that matter. The > only kind of %pretrans script that always work are ones using the > embedded Lua interpreter, ie '%pretrans -p '. External interpreters > in %pretrans are /supposed/ to work in upgrade scenarios (barring this > bug, duh), but as in practise you can never guarantee a package is only > ever applied as an update on an already running system, %pretrans > scriptlets using /bin/sh or such external interpreter are not usable. Thank you for explaining this. This didn't come to my mind. I will rewrite the script to Lua. RPM is very uncomfortable when you need to replace a directory with a symbolic link. I do not know, how often this is needed, but some "simplification" would be appreciated. ;-) Jan -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel
Re: yum update -- F16-latest => rawhide
On 10/11/2011 08:38 PM, Michael Schwendt wrote: > On Tue, 11 Oct 2011 18:21:03 +0530, KC (Kashyap) wrote: > >> On 10/11/2011 05:29 PM, Michael Schwendt wrote: >>> On Tue, 11 Oct 2011 17:19:22 +0530, KC (Kashyap) wrote: >>> Heya, I'm trying to get rawhide running by yum updating a minimal footprint F16 virtual machine. Only @core package, so no gnome-* nothing else. >>> >>> And no /bin/sh either? It is provided by "bash". >> >> That was the obvious check. I /did/ check that (forgot to mention) >> ## >> [root@dhcp201-139 ~]# ls -al /bin/sh >> lrwxrwxrwx. 1 root root 4 Oct 10 15:20 /bin/sh -> bash >> ## >> [root@dhcp201-139 ~]# file /bin/bash >> /bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically >> linked (uses >> shared libs), for GNU/Linux 2.6.32, stripped >> ## > > That check is useless. Only files tracked by the local RPM database and > repository metadata count. > >> That's what surprised me too. I did try these. 'bash' is right there. >> ## >> [root@dhcp201-139 ~]# rpm -qf `which bash` >> bash-4.2.10-4.fc16.x86_64 > > Also a "wrong" test. "rpm -q --whatprovides /bin/sh" would have been > the proper check to find the package(s) that provides /bin/sh _prior_ to > your upgrade attempt. ### [root@dhcp201-139 ~]# rpm -q --whatprovides /bin/sh bash-4.2.10-4.fc16.x86_64 [root@dhcp201-139 ~]# ### > >> ## >> [root@dhcp201-139 ~]# repoquery -q --whatprovides --alldeps bash >> --enablerepo=rawhide >> --disablerepo=* >> bash-0:4.2.10-5.fc17.x86_64 > > What does that tell you? Not much. Instead: > > # repoquery --whatprovides /bin/sh --enablerepo=rawhide --disablerepo=* > bash-0:4.2.10-5.fc17.x86_64 Right, I notice the same too. > > as you want to find out whether anything still provides /bin/sh when > enabling the target repo (one could examine it further in case it isn't > "bash" but an unexpected other package). > Now as /bin/sh is still available, does the full Yum update output say > anything about "bash"? If you mean, just yum update on F16 (w/o enabling rawhide) -- no. If you mean, when target repo(rawhide) is enabled, it /does/ attempt to update 'bash' package. -- . . bashx86_644.2.10-5.fc17 rawhide 978 k -- The error you've seen is not an unresolved > dependency, but something later. With an unresolved dependency, it > would have bailed out even before downloading any packages. You would > have had to add --skip-broken for it to continue. > >> [...] >> Install 6 Packages >> Upgrade 197 Packages >> Remove1 Package >> >> Total size: 108 M >> Is this ok [y/N]: y >> Downloading Packages: >> Running Transaction Check >> ERROR with transaction check vs depsolve: >> /bin/sh is needed by groff-base-1.21-5.fc17.x86_64 > > You somehow lose /bin/sh during the transaction check, which is something > unexpected. Is that reproducible also after cleaning Yum's download cache? Yeah, I was able to reproduce it. I /did/ clear the yum's cache(in fact, removed the var/cache/yum/* ). > What is the full list of packages to be updated? I've uploaded it here: http://kashyapc.fedorapeople.org/full-list-of-rawhide-pkgs-to-be-updated.txt > Is the new "bash" on it, too? Yes. This is the version it tries to update to - bash-4.2.10-5.fc17.x86_64.rpm > Have you looked up the downloaded package below /var/cache/yum > to check it for errors? Would the below suffice ? ### [root@dhcp201-139 packages]# pwd /var/cache/yum/x86_64/16/rawhide/packages [root@dhcp201-139 packages]# rpm -Vp bash-4.2.10-5.fc17.x86_64.rpm [root@dhcp201-139 packages]# ### Thanks for you help so far. -- /kashyap -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel
Re: yum update -- F16-latest => rawhide
On 10/11/2011 11:32 PM, Panu Matilainen wrote: > On 10/11/2011 08:16 PM, Jan Vcelak wrote: >> On Tuesday 11 October 2011 18:22:34, Tomi Leppikangas wrote: >>> Kashyap Chamarthy writes: Running Transaction Check ERROR with transaction check vs depsolve: /bin/sh is needed by groff-base-1.21-5.fc17.x86_64 >>> >>> I have this same problem when trying to upgrade from fedora 15 to rawhide. >>> I noticed that groff-base package have 2 /bin/sh as dependency, is there >>> some whitespace or some other error? >> >> I probably missed that. And I will take a look at it. > > This is a bug in rpm's handling of %pretrans dependencies. I'll try to > get it fixed tomorrow, BUT this also does point out a problem in the > package: > > %pretrans scripts can almost never in real life be /bin/sh scripts, > because on initial installation, at the point where %pretrans scripts > get executed there is no shell! Or anything else for that matter. The > only kind of %pretrans script that always work are ones using the > embedded Lua interpreter, ie '%pretrans -p '. External interpreters > in %pretrans are /supposed/ to work in upgrade scenarios (barring this > bug, duh), but as in practise you can never guarantee a package is only > ever applied as an update on an already running system, %pretrans > scriptlets using /bin/sh or such external interpreter are not usable. Thanks Panu for taking a look. > > - Panu - -- /kashyap -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel
Re: yum update -- F16-latest => rawhide
On 10/11/2011 08:16 PM, Jan Vcelak wrote: > On Tuesday 11 October 2011 18:22:34, Tomi Leppikangas wrote: >> Kashyap Chamarthy writes: >>> Running Transaction Check >>> ERROR with transaction check vs depsolve: >>> /bin/sh is needed by groff-base-1.21-5.fc17.x86_64 >> >> I have this same problem when trying to upgrade from fedora 15 to rawhide. >> I noticed that groff-base package have 2 /bin/sh as dependency, is there >> some whitespace or some other error? > > I probably missed that. And I will take a look at it. This is a bug in rpm's handling of %pretrans dependencies. I'll try to get it fixed tomorrow, BUT this also does point out a problem in the package: %pretrans scripts can almost never in real life be /bin/sh scripts, because on initial installation, at the point where %pretrans scripts get executed there is no shell! Or anything else for that matter. The only kind of %pretrans script that always work are ones using the embedded Lua interpreter, ie '%pretrans -p '. External interpreters in %pretrans are /supposed/ to work in upgrade scenarios (barring this bug, duh), but as in practise you can never guarantee a package is only ever applied as an update on an already running system, %pretrans scriptlets using /bin/sh or such external interpreter are not usable. - Panu - -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel
Re: yum update -- F16-latest => rawhide
On Tue, 11 Oct 2011 19:22:34 +0300, TL (Tomi) wrote: > Kashyap Chamarthy writes: > > Running Transaction Check > > ERROR with transaction check vs depsolve: > > /bin/sh is needed by groff-base-1.21-5.fc17.x86_64 > > I have this same problem when trying to upgrade from fedora 15 to rawhide. I > noticed that groff-base package have 2 /bin/sh as dependency, is there some > whitespace or some other error? > > http://koji.fedoraproject.org/koji/rpminfo?rpmID=2708265 > Requires >/bin/sed >/bin/sh >/bin/sh >config(groff-base) = 1.21-5.fc17 >libc.so.6 Looks normal if you check the "Requires" generating at the bottom of the build log: http://kojipkgs.fedoraproject.org/packages/groff/1.21/5.fc17/data/logs/x86_64/build.log If it had a weird character in a dependency, the depsolving would fail already. -- Fedora release 16 (Verne) - Linux 3.1.0-0.rc9.git0.0.fc16.x86_64 loadavg: 0.19 0.37 0.20 -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel
Re: yum update -- F16-latest => rawhide
On Tuesday 11 October 2011 18:22:34, Tomi Leppikangas wrote: > Kashyap Chamarthy writes: > > Running Transaction Check > > ERROR with transaction check vs depsolve: > > /bin/sh is needed by groff-base-1.21-5.fc17.x86_64 > > I have this same problem when trying to upgrade from fedora 15 to rawhide. > I noticed that groff-base package have 2 /bin/sh as dependency, is there > some whitespace or some other error? I probably missed that. And I will take a look at it. Jan -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel
Re: yum update -- F16-latest => rawhide
Kashyap Chamarthy writes: > Running Transaction Check > ERROR with transaction check vs depsolve: > /bin/sh is needed by groff-base-1.21-5.fc17.x86_64 I have this same problem when trying to upgrade from fedora 15 to rawhide. I noticed that groff-base package have 2 /bin/sh as dependency, is there some whitespace or some other error? http://koji.fedoraproject.org/koji/rpminfo?rpmID=2708265 Requires /bin/sed /bin/sh /bin/sh config(groff-base) = 1.21-5.fc17 libc.so.6 -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel
Re: yum update -- F16-latest => rawhide
On Tue, 11 Oct 2011 18:21:03 +0530, KC (Kashyap) wrote: > On 10/11/2011 05:29 PM, Michael Schwendt wrote: > > On Tue, 11 Oct 2011 17:19:22 +0530, KC (Kashyap) wrote: > > > >> Heya, > >> > >> I'm trying to get rawhide running by yum updating a minimal footprint F16 > >> virtual > >> machine. Only @core package, so no gnome-* nothing else. > > > > And no /bin/sh either? It is provided by "bash". > > That was the obvious check. I /did/ check that (forgot to mention) > ## > [root@dhcp201-139 ~]# ls -al /bin/sh > lrwxrwxrwx. 1 root root 4 Oct 10 15:20 /bin/sh -> bash > ## > [root@dhcp201-139 ~]# file /bin/bash > /bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically > linked (uses > shared libs), for GNU/Linux 2.6.32, stripped > ## That check is useless. Only files tracked by the local RPM database and repository metadata count. > That's what surprised me too. I did try these. 'bash' is right there. > ## > [root@dhcp201-139 ~]# rpm -qf `which bash` > bash-4.2.10-4.fc16.x86_64 Also a "wrong" test. "rpm -q --whatprovides /bin/sh" would have been the proper check to find the package(s) that provides /bin/sh _prior_ to your upgrade attempt. > ## > [root@dhcp201-139 ~]# repoquery -q --whatprovides --alldeps bash > --enablerepo=rawhide > --disablerepo=* > bash-0:4.2.10-5.fc17.x86_64 What does that tell you? Not much. Instead: # repoquery --whatprovides /bin/sh --enablerepo=rawhide --disablerepo=* bash-0:4.2.10-5.fc17.x86_64 as you want to find out whether anything still provides /bin/sh when enabling the target repo (one could examine it further in case it isn't "bash" but an unexpected other package). Now as /bin/sh is still available, does the full Yum update output say anything about "bash"? The error you've seen is not an unresolved dependency, but something later. With an unresolved dependency, it would have bailed out even before downloading any packages. You would have had to add --skip-broken for it to continue. > [...] > Install 6 Packages > Upgrade 197 Packages > Remove1 Package > > Total size: 108 M > Is this ok [y/N]: y > Downloading Packages: > Running Transaction Check > ERROR with transaction check vs depsolve: > /bin/sh is needed by groff-base-1.21-5.fc17.x86_64 You somehow lose /bin/sh during the transaction check, which is something unexpected. Is that reproducible also after cleaning Yum's download cache? What is the full list of packages to be updated? Is the new "bash" on it, too? Have you looked up the downloaded package below /var/cache/yum to check it for errors? -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel
Re: yum update -- F16-latest => rawhide
On 10/11/2011 05:29 PM, Michael Schwendt wrote: > On Tue, 11 Oct 2011 17:19:22 +0530, KC (Kashyap) wrote: > >> Heya, >> >> I'm trying to get rawhide running by yum updating a minimal footprint F16 >> virtual >> machine. Only @core package, so no gnome-* nothing else. > > And no /bin/sh either? It is provided by "bash". That was the obvious check. I /did/ check that (forgot to mention) ## [root@dhcp201-139 ~]# ls -al /bin/sh lrwxrwxrwx. 1 root root 4 Oct 10 15:20 /bin/sh -> bash ## [root@dhcp201-139 ~]# file /bin/bash /bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped ## > >> ERROR with transaction check vs depsolve: >> /bin/sh is needed by groff-base-1.21-5.fc17.x86_64 > >> Then re-tried : >> [root@dhcp201-139 ~]# yum --disablerepo=* --enablerepo=rawhide update >> >> Still no dice. As it still throws -- 'ERROR with transaction check vs >> depsolve:' >> >> Any hints here? > > (Sounds more like a subject for "test" list.) > > Since this unresolved dependency is not listed in the daily rawhide report: > > Can you dig further and find out why you don't have anything that provides > /bin/sh? How to do that? Prior to the upgrade attempt, query your local RPM > database *and* also use repoquery. Then ask repoquery with the rawhide repo > enabled. What do you get? Where did "bash" go? That's what surprised me too. I did try these. 'bash' is right there. ## [root@dhcp201-139 ~]# rpm -qf `which bash` bash-4.2.10-4.fc16.x86_64 ## [root@dhcp201-139 ~]# repoquery -q --whatprovides --alldeps bash --enablerepo=rawhide --disablerepo=* bash-0:4.2.10-5.fc17.x86_64 [root@dhcp201-139 ~]# ## [root@dhcp201-139 ~]# yum repolist enabled Loaded plugins: langpacks, presto, refresh-packagekit repo idrepo name status rawhideFedora - Rawhide - Developmental packages for the next Fedora release 25,139 repolist: 25,139 [root@dhcp201-139 ~]# ## -- /kashyap -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel
Re: yum update -- F16-latest => rawhide
On Tue, 11 Oct 2011 17:19:22 +0530, KC (Kashyap) wrote: > Heya, > > I'm trying to get rawhide running by yum updating a minimal footprint F16 > virtual > machine. Only @core package, so no gnome-* nothing else. And no /bin/sh either? It is provided by "bash". > ERROR with transaction check vs depsolve: > /bin/sh is needed by groff-base-1.21-5.fc17.x86_64 > Then re-tried : > [root@dhcp201-139 ~]# yum --disablerepo=* --enablerepo=rawhide update > > Still no dice. As it still throws -- 'ERROR with transaction check vs > depsolve:' > > Any hints here? (Sounds more like a subject for "test" list.) Since this unresolved dependency is not listed in the daily rawhide report: Can you dig further and find out why you don't have anything that provides /bin/sh? How to do that? Prior to the upgrade attempt, query your local RPM database *and* also use repoquery. Then ask repoquery with the rawhide repo enabled. What do you get? Where did "bash" go? -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel
yum update -- F16-latest => rawhide
Heya, I'm trying to get rawhide running by yum updating a minimal footprint F16 virtual machine. Only @core package, so no gnome-* nothing else. Here is some info: # [root@dhcp201-139 ~]# cat /etc/redhat-release Fedora release 16 (Verne) [root@dhcp201-139 ~]# # [root@dhcp201-139 ~]# yum --disablerepo=* --enablerepo=rawhide update . . . . Installing for dependencies: groff-base x86_64 1.21-5.fc17 rawhide 783 k p11-kit x86_64 0.6-1.fc17 rawhide 33 k perl-Carpnoarch 1.22-1.fc17 rawhide 16 k Transaction Summary === Install 6 Packages Upgrade 197 Packages Remove1 Package Total size: 108 M Is this ok [y/N]: y Downloading Packages: Running Transaction Check ERROR with transaction check vs depsolve: /bin/sh is needed by groff-base-1.21-5.fc17.x86_64 Please report this error in http://yum.baseurl.org/report You could try running: rpm -Va --nofiles --nodigest Your transaction was saved, rerun it with: yum load-transaction /tmp/yum_save_tx-2011-10-11-05-27lkgwPY.yumtx # Then I tried: # [root@dhcp201-139 ~]# rpm -Va --nofiles --nodigest [root@dhcp201-139 ~]# # Tried to clean-up the yum cache, rpm dbs: # [root@dhcp201-139 ~]# rm -rf /var/cache/yum/* [root@dhcp201-139 ~]# rm -rf /var/lib/rpm/__db* [root@dhcp201-139 ~]# rpm --rebuilddb # Then re-tried : [root@dhcp201-139 ~]# yum --disablerepo=* --enablerepo=rawhide update Still no dice. As it still throws -- 'ERROR with transaction check vs depsolve:' Any hints here? Meanwhile, I tried to install a clean f16 minimal guest on a latest f16 host, and it just hung. Details, I posted to fedora-virt list here - http://lists.fedoraproject.org/pipermail/virt/2011-October/002933.html -- /kashyap -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel