Re: yum update -- F16-latest => rawhide

2011-10-11 Thread Jan Vcelak
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

2011-10-11 Thread Kashyap Chamarthy
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

2011-10-11 Thread Kashyap Chamarthy
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

2011-10-11 Thread Panu Matilainen
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

2011-10-11 Thread Michael Schwendt
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

2011-10-11 Thread Jan Vcelak
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

2011-10-11 Thread Tomi Leppikangas
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

2011-10-11 Thread Michael Schwendt
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

2011-10-11 Thread Kashyap Chamarthy
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

2011-10-11 Thread Michael Schwendt
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

2011-10-11 Thread Kashyap Chamarthy
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