Mailing List Archive

Re: [gentoo-commits] gentoo-x86 commit in www-plugins/adobe-flash: metadata.xml adobe-flash-11.2.202.228.ebuild ChangeLog
On Tue, 24 Apr 2012 20:12:46 +0000 (UTC)
"Jim Ramsay (lack)" <lack@gentoo.org> wrote:

24 Apr 2012; Jim Ramsay <jim_ramsay@gentoo.org>
adobe-flash-11.2.202.228.ebuild, metadata.xml:
On darkside's suggestion, providing a USE flag (IUSE=+sse2check) that can be
turned off to allow binpkg users to override this check (or at least reduce
its fatality)

24 Apr 2012; Jim Ramsay <jim_ramsay@gentoo.org>
adobe-flash-11.2.202.228.ebuild:
Bug #410547: Fail pkg_pretend if any CPU on the local machine does not
support SSE2, and recommend falling back to 10.3 instead


Arg, no. Please just print the warning if the host doesn't do SSE2. There's
no reason to have a USE flag here (and _really_ no reason to make it fatal),
especially for an instruction set that every system has supported for over a
decade.


--
fonts, gcc-porting
toolchain, wxwidgets
@ gentoo.org
Re: Re: [gentoo-commits] gentoo-x86 commit in www-plugins/adobe-flash: metadata.xml adobe-flash-11.2.202.228.ebuild ChangeLog [ In reply to ]
On Wed, 25 Apr 2012 23:04:08 -0600
Ryan Hill <dirtyepic@gentoo.org> wrote:

> Arg, no. Please just print the warning if the host doesn't do SSE2.
> There's no reason to have a USE flag here (and _really_ no reason to
> make it fatal)

I entirely agree there. :)

> , especially for an instruction set that every system has supported
> for over a decade.

Er, some of my teenage systems run desktops just fine here, thanks. And
one of them is just nine years old right now but still doesn't support
SSE2 (merely SSE[1]).


Regards,
jer


[1] http://en.wikipedia.org/wiki/AMD_Athlon_XP#Barton_and_Thorton - see
[2] right above that for the actual specs.
[2] http://en.wikipedia.org/wiki/AMD_Athlon_XP#Thoroughbred_.28T-Bred.29
Re: Re: [gentoo-commits] gentoo-x86 commit in www-plugins/adobe-flash: metadata.xml adobe-flash-11.2.202.228.ebuild ChangeLog [ In reply to ]
On 04/26/12 at 06:00PM +0200, Jeroen Roovers wrote:
> On Wed, 25 Apr 2012 23:04:08 -0600
> Ryan Hill <dirtyepic@gentoo.org> wrote:
>
> > Arg, no. Please just print the warning if the host doesn't do SSE2.
> > There's no reason to have a USE flag here (and _really_ no reason to
> > make it fatal)
>
> I entirely agree there. :)
>

I haven't followed the prev. conversation but what's wrong with a USE flag for
SSE2? We already have SSE2 flags, even global..

> > , especially for an instruction set that every system has supported
> > for over a decade.
>
> Er, some of my teenage systems run desktops just fine here, thanks. And
> one of them is just nine years old right now but still doesn't support
> SSE2 (merely SSE[1]).
>
>
> Regards,
> jer
>
>
> [1] http://en.wikipedia.org/wiki/AMD_Athlon_XP#Barton_and_Thorton - see
> [2] right above that for the actual specs.
> [2] http://en.wikipedia.org/wiki/AMD_Athlon_XP#Thoroughbred_.28T-Bred.29
>

--
Regards,
Christian Ruppert
Gentoo Linux developer, Bugzilla administrator and Infrastructure member
Fingerprint: EEB1 C341 7C84 B274 6C59 F243 5EAB 0C62 B427 ABC8
Re: Re: [gentoo-commits] gentoo-x86 commit in www-plugins/adobe-flash: metadata.xml adobe-flash-11.2.202.228.ebuild ChangeLog [ In reply to ]
On Thu, Apr 26, 2012 at 1:01 PM, Christian Ruppert <idl0r@gentoo.org> wrote:
> I haven't followed the prev. conversation but what's wrong with a USE flag for
> SSE2? We already have SSE2 flags, even global..

That's not it. The flash binary uses SSE2 instructions without
checking for their presence, which causes bad things on systems
without SSE2. The purpose of the 'sse2check' flag was to die if the
system doesn't have SSE2 and print a message telling the user to use
an older version of flash.

The relevant bug is https://bugs.gentoo.org/show_bug.cgi?id=410547
Re: Re: [gentoo-commits] gentoo-x86 commit in www-plugins/adobe-flash: metadata.xml adobe-flash-11.2.202.228.ebuild ChangeLog [ In reply to ]
On Thu, 26 Apr 2012 15:15:34 -0400
Matt Turner <mattst88@gentoo.org> wrote:

> On Thu, Apr 26, 2012 at 1:01 PM, Christian Ruppert <idl0r@gentoo.org>
> wrote:
> > I haven't followed the prev. conversation but what's wrong with a
> > USE flag for SSE2? We already have SSE2 flags, even global..
>
> That's not it. The flash binary uses SSE2 instructions without
> checking for their presence, which causes bad things on systems
> without SSE2. The purpose of the 'sse2check' flag was to die if the
> system doesn't have SSE2 and print a message telling the user to use
> an older version of flash.
>
> The relevant bug is https://bugs.gentoo.org/show_bug.cgi?id=410547
>

wouldnt adding a sse2 useflag and putting it in REQUIRED_USE solve the
problem ?

afaik portage wont even try to upgrade if people have -sse2

A.
Re: Re: [gentoo-commits] gentoo-x86 commit in www-plugins/adobe-flash: metadata.xml adobe-flash-11.2.202.228.ebuild ChangeLog [ In reply to ]
On Thu, Apr 26, 2012 at 4:06 PM, Alexis Ballier <aballier@gentoo.org> wrote:
> wouldnt adding a sse2 useflag and putting it in REQUIRED_USE solve the
> problem ?
>
> afaik portage wont even try to upgrade if people have -sse2

If that works, which I think it will, that does sound like the best thing to do.
Re: [gentoo-commits] gentoo-x86 commit in www-plugins/adobe-flash: metadata.xml adobe-flash-11.2.202.228.ebuild ChangeLog [ In reply to ]
On Thu, 26 Apr 2012 17:06:45 -0300
Alexis Ballier <aballier@gentoo.org> wrote:

> On Thu, 26 Apr 2012 15:15:34 -0400
> Matt Turner <mattst88@gentoo.org> wrote:
>
> > On Thu, Apr 26, 2012 at 1:01 PM, Christian Ruppert <idl0r@gentoo.org>
> > wrote:
> > > I haven't followed the prev. conversation but what's wrong with a
> > > USE flag for SSE2? We already have SSE2 flags, even global..
> >
> > That's not it. The flash binary uses SSE2 instructions without
> > checking for their presence, which causes bad things on systems
> > without SSE2. The purpose of the 'sse2check' flag was to die if the
> > system doesn't have SSE2 and print a message telling the user to use
> > an older version of flash.
> >
> > The relevant bug is https://bugs.gentoo.org/show_bug.cgi?id=410547
> >
>
> wouldnt adding a sse2 useflag and putting it in REQUIRED_USE solve the
> problem ?
>
> afaik portage wont even try to upgrade if people have -sse2

I like that, but it doesn't address building on a host not supporting SSE2 for
a target that does. That's the reason the USE flag was added - to provide a
workaround for the die. I'm saying just don't die at all. It doesn't
provide anything but another way for the ebuild to fail. An ewarn for the
very few people that will actually encounter this should be enough.


--
fonts, gcc-porting
toolchain, wxwidgets
@ gentoo.org
Re: [gentoo-commits] gentoo-x86 commit in www-plugins/adobe-flash: metadata.xml adobe-flash-11.2.202.228.ebuild ChangeLog [ In reply to ]
On Thu, 26 Apr 2012 18:00:04 +0200
Jeroen Roovers <jer@gentoo.org> wrote:

> On Wed, 25 Apr 2012 23:04:08 -0600
> Ryan Hill <dirtyepic@gentoo.org> wrote:
>
> > especially for an instruction set that every system has supported
> > for over a decade.
>
> Er, some of my teenage systems run desktops just fine here, thanks. And
> one of them is just nine years old right now but still doesn't support
> SSE2 (merely SSE[1]).

I knew I'd get called on that. s/every/almost every


--
fonts, gcc-porting
toolchain, wxwidgets
@ gentoo.org
Re: Re: [gentoo-commits] gentoo-x86 commit in www-plugins/adobe-flash: metadata.xml adobe-flash-11.2.202.228.ebuild ChangeLog [ In reply to ]
On Fri, Apr 27, 2012 at 08:23, Ryan Hill <dirtyepic@gentoo.org> wrote:
> On Thu, 26 Apr 2012 18:00:04 +0200, Jeroen Roovers <jer@gentoo.org> wrote:
>> Er, some of my teenage systems run desktops just fine here, thanks. And
>> one of them is just nine years old right now but still doesn't support
>> SSE2 (merely SSE[1]).
>
> I knew I'd get called on that.  s/every/almost every

I suspect that you are missing the point; see
https://en.wikipedia.org/wiki/List_of_AMD_Athlon_XP_microprocessors.

--
Maxim Kammerer
Liberté Linux (discussion / support: http://dee.su/liberte-contribute)
Re: Re: [gentoo-commits] gentoo-x86 commit in www-plugins/adobe-flash: metadata.xml adobe-flash-11.2.202.228.ebuild ChangeLog [ In reply to ]
On Thu, 26 Apr 2012 23:19:04 -0600
Ryan Hill <dirtyepic@gentoo.org> wrote:

> On Thu, 26 Apr 2012 17:06:45 -0300
> Alexis Ballier <aballier@gentoo.org> wrote:
>
> > On Thu, 26 Apr 2012 15:15:34 -0400
> > Matt Turner <mattst88@gentoo.org> wrote:
> >
> > > On Thu, Apr 26, 2012 at 1:01 PM, Christian Ruppert
> > > <idl0r@gentoo.org> wrote:
> > > > I haven't followed the prev. conversation but what's wrong with
> > > > a USE flag for SSE2? We already have SSE2 flags, even global..
> > >
> > > That's not it. The flash binary uses SSE2 instructions without
> > > checking for their presence, which causes bad things on systems
> > > without SSE2. The purpose of the 'sse2check' flag was to die if
> > > the system doesn't have SSE2 and print a message telling the user
> > > to use an older version of flash.
> > >
> > > The relevant bug is https://bugs.gentoo.org/show_bug.cgi?id=410547
> > >
> >
> > wouldnt adding a sse2 useflag and putting it in REQUIRED_USE solve
> > the problem ?
> >
> > afaik portage wont even try to upgrade if people have -sse2
>
> I like that, but it doesn't address building on a host not supporting
> SSE2 for a target that does.

Why? Enable sse2 when cross-"building" and be done.

Note: There's no more check via /proc/cpuinfo that way.

A.
Re: Re: [gentoo-commits] gentoo-x86 commit in www-plugins/adobe-flash: metadata.xml adobe-flash-11.2.202.228.ebuild ChangeLog [ In reply to ]
On Thu, Apr 26, 2012 at 1:01 PM, Christian Ruppert <idl0r@gentoo.org> wrote:
> On 04/26/12 at 06:00PM +0200, Jeroen Roovers wrote:
>> On Wed, 25 Apr 2012 23:04:08 -0600
>> Ryan Hill <dirtyepic@gentoo.org> wrote:
>>
>> > Arg, no.  Please just print the warning if the host doesn't do SSE2.
>> > There's no reason to have a USE flag here (and _really_ no reason to
>> > make it fatal)
>>
>> I entirely agree there. :)
>>
>
> I haven't followed the prev. conversation but what's wrong with a USE flag for
> SSE2? We already have SSE2 flags, even global..
>
>> > , especially for an instruction set that every system has supported
>> > for over a decade.
>>
>> Er, some of my teenage systems run desktops just fine here, thanks. And
>> one of them is just nine years old right now but still doesn't support
>> SSE2 (merely SSE[1]).
>>
>>
>> Regards,
>>      jer
>>
>>
>> [1] http://en.wikipedia.org/wiki/AMD_Athlon_XP#Barton_and_Thorton - see
>>     [2] right above that for the actual specs.
>> [2] http://en.wikipedia.org/wiki/AMD_Athlon_XP#Thoroughbred_.28T-Bred.29
>>
>
> --
> Regards,
> Christian Ruppert
> Gentoo Linux developer, Bugzilla administrator and Infrastructure member
> Fingerprint: EEB1 C341 7C84 B274 6C59 F243 5EAB 0C62 B427 ABC8

Jim?
Re: Re: [gentoo-commits] gentoo-x86 commit in www-plugins/adobe-flash: metadata.xml adobe-flash-11.2.202.228.ebuild ChangeLog [ In reply to ]
On Wed, May 02, 2012 at 11:23:48AM -0400, Matt Turner wrote:
> Jim?

Sorry, I am behind on my gentoo-dev reading, thanks Matt for bringing
this thread to my attention. Here are the two main concerns I've
gathered from the rest of the thread:

On Wed, Apr 25, 2012 at 11:04:08PM -0600, Ryan Hill wrote:
> Arg, no. Please just print the warning if the host doesn't do SSE2.
> There's no reason to have a USE flag here (and _really_ no reason to
> make it fatal), especially for an instruction set that every system
> has supported for over a decade.

It's true that probably "most" people have sse2. And this change won't
affect all those people that have sse2. It only affects people that
don't have sse2.

The run-time failure case (flash just doesn't work) is tricky to
diagnose, so I want the user to be aware of this at install time. Thus
I feel the check should (1) be fatal and (2) provide instructions that
10.3 can still be used.

The reason there's a USE flag is so that binary packagers can forcibly
skip the 'die' if they know they're building for an sse2 SYSTEM. This
is only needed if you're running on a machine without sse2, packaging for
a machine with sse2.

On Thu, Apr 26, 2012 at 05:06:45PM -0300, Alexis Ballier wrote:
> wouldnt adding a sse2 useflag and putting it in REQUIRED_USE solve the
> problem ?
>
> afaik portage wont even try to upgrade if people have -sse2

This is an interesting idea, as it could automatically downgrade users to
10.3 without requiring any masking. I like that.

However, the problem I have with this approach is that it doesn't
address people who do have sse2 instructions available but have not set
the USE flag. I noticed that our amd64 profile does set USE=sse2
automatically. That's good. But x86 users would still have to set this
manually. And people without the flag will be forcibly downgraded to
10.3 for no good reason. And as Ryan accurately points out, most people
*do* have sse2 instructions available.

I prefer checking /proc/cpuinfo because that way I'm *sure* that the
user's system has the required instruction set.

The only way I think that this decision can really be made would be to
have some sort of usage statistics on how many x86 setups there are
where the CPU has sse2 available but the user has not set USE=sse2. Any
idea how we can know how many this is?

Hmmm... I suppose the other thing I could do is put the /proc/cpuinfo
check into the 10.3 ebuild, and warn users if they're installing 10.3
and *should* be setting USE=sse2 to get 11.2 instead.... Maybe that's the
best solution!

Thanks for the suggestions, I'll try to get at this change soon.

--
Jim Ramsay
Re: Re: [gentoo-commits] gentoo-x86 commit in www-plugins/adobe-flash: metadata.xml adobe-flash-11.2.202.228.ebuild ChangeLog [ In reply to ]
On Thu, May 10, 2012 at 01:10:48PM -0400, Jim Ramsay wrote:
> On Thu, Apr 26, 2012 at 05:06:45PM -0300, Alexis Ballier wrote:
> > wouldnt adding a sse2 useflag and putting it in REQUIRED_USE solve the
> > problem ?
> >
> > afaik portage wont even try to upgrade if people have -sse2
>
> This is an interesting idea, as it could automatically downgrade users to
> 10.3 without requiring any masking. I like that.

Hmmm... After some testing, I don't think this is how it works.

It looks to me like if I try to do an upgrade on a system that has
USE=-sse2, it doesn't downgrade automatically. Nor does it simply skip
the upgrade. At least with portage 2.1.10.57, I get the following fatal
output:

-------
# USE=-sse2 emerge -uDN world -p
...

!!! Problem resolving dependencies for www-plugins/adobe-flash from
@selected ... done!

!!! The ebuild selected to satisfy "www-plugins/adobe-flash" has unmet
requirements.
- www-plugins/adobe-flash-11.2.202.235::local USE="64bit (multilib)
-32bit -kde -sse2 -vdpau"

The following REQUIRED_USE flag constraints are unsatisfied:
sse2

(dependency required by "@selected" [set])
(dependency required by "@world" [argument])
-------

So in light of this, I think I'm going to keep the fatal pkg_pretend
with /proc/cpuinfo check in the 11.2 ebuild, since that's the only way I
can do the check in a way that meets my 3 requirements:
-> No annoyance for users who have sse2 instructions present
-> runs at install time in a non-ignorable (fatal) way
-> provides useful downgrade instructions to the user

Too bad pkg_pretend doesn't fire during 'emerge -p' -> That would be
even better.

Any other suggestions on how I can make this work better?

--
Jim Ramsay