Re: [gentoo-dev] gcc-5 news item wrt C++ ABI

2015-10-05 Thread Jason A. Donenfeld
On Mon, Oct 5, 2015 at 8:45 PM, Paweł Hajdan, Jr.  wrote:
> Curious, can one reasonably easy downgrade from GCC 5 back to GCC 4?
>

I've gone 4->5, urg I don't want 5, 5->4, okay it works, hey wait I
want 5, 4->5. Things went fine.



Re: [gentoo-dev] gcc-5 news item wrt C++ ABI

2015-10-05 Thread Paweł Hajdan , Jr .
On 10/3/15 4:13 AM, Mike Frysinger wrote:
> Title: GCC 5 Defaults to the New C++11 ABI 
> Author: Mike Frysinger 
> Content-Type: text/plain
> Posted: 2015-10-02
> Revision: 1
> News-Item-Format: 1.0
> Display-If-Installed: >=sys-devel/gcc-5
> 
> GCC 5 uses the new C++ ABI by default.  When building new code, you might run
> into link time errors like:
> ...: undefined reference to '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'
> Or you might see linkage failures with "std::__cxx11::string" in the output.
> 
> These are signs that you need to rebuild packages using the new C++ ABI.
> You can quickly do so by using revdep-rebuild like so:
> # revdep-rebuild --library 'libstdc\+\+\.so\.6'
> 
> For more details, feel free to peruse:
> https://developerblog.redhat.com/2015/02/05/gcc5-and-the-c11-abi/
> https://blogs.gentoo.org/blueness/2015/03/10/the-c11-abi-incompatibility-problem-in-gentoo/

Curious, can one reasonably easy downgrade from GCC 5 back to GCC 4?

Are there any instructions for that? Is it sufficient to do a similar
revdep-rebuild command?

In case the downgrade would horribly break systems or be otherwise
highly nontrivial, I'd recommend some note for that.

Paweł




signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] gcc-5 news item wrt C++ ABI

2015-10-05 Thread Paweł Hajdan , Jr .
On 10/3/15 7:30 PM, Ciaran McCreesh wrote:
> On Sat, 3 Oct 2015 13:24:11 -0400
> Mike Frysinger  wrote:
>> On 03 Oct 2015 13:38, Ciaran McCreesh wrote:
>>> On Fri, 2 Oct 2015 22:13:09 -0400 Mike Frysinger wrote:
 Display-If-Installed: >=sys-devel/gcc-5
>>>
>>> This means that two years from now, when stages are built using GCC
>>> 5, every new user will get this news item shown to them.
>>
>> multiple news items already use this syntax
> 
> Yes, and they cause problems. Do you want to cause another problem, or
> do you want to think more carefully about who should see the news item?

Hey Ciaran - I see you can point technical deficiencies in a lot of cases.

Could you just suggest an alternative solution?

Paweł



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] gcc-5 news item wrt C++ ABI

2015-10-05 Thread Mike Frysinger
On 03 Oct 2015 18:30, Ciaran McCreesh wrote:
> On Sat, 3 Oct 2015 13:24:11 -0400 Mike Frysinger wrote:
> > On 03 Oct 2015 13:38, Ciaran McCreesh wrote:
> > > On Fri, 2 Oct 2015 22:13:09 -0400 Mike Frysinger wrote:
> > > > Display-If-Installed: >=sys-devel/gcc-5
> > > 
> > > This means that two years from now, when stages are built using GCC
> > > 5, every new user will get this news item shown to them.
> > 
> > multiple news items already use this syntax
> 
> Yes, and they cause problems. Do you want to cause another problem, or
> do you want to think more carefully about who should see the news item?

i see no reason to hold things up when the issue won't show up for over a
year, can be retroactively fixed, and really makes no difference to the
status quo.  so if you had actual thoughts on improving things (rather
than pointless rhetorical questions), feel free to post them.
-mike


signature.asc
Description: Digital signature


Re: [gentoo-dev] gcc-5 news item wrt C++ ABI

2015-10-05 Thread Mike Frysinger
On 05 Oct 2015 20:45, Paweł Hajdan, Jr. wrote:
> On 10/3/15 4:13 AM, Mike Frysinger wrote:
> > Title: GCC 5 Defaults to the New C++11 ABI 
> > Author: Mike Frysinger 
> > Content-Type: text/plain
> > Posted: 2015-10-02
> > Revision: 1
> > News-Item-Format: 1.0
> > Display-If-Installed: >=sys-devel/gcc-5
> > 
> > GCC 5 uses the new C++ ABI by default.  When building new code, you might 
> > run
> > into link time errors like:
> > ...: undefined reference to 
> > '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'
> > Or you might see linkage failures with "std::__cxx11::string" in the output.
> > 
> > These are signs that you need to rebuild packages using the new C++ ABI.
> > You can quickly do so by using revdep-rebuild like so:
> > # revdep-rebuild --library 'libstdc\+\+\.so\.6'
> > 
> > For more details, feel free to peruse:
> > https://developerblog.redhat.com/2015/02/05/gcc5-and-the-c11-abi/
> > https://blogs.gentoo.org/blueness/2015/03/10/the-c11-abi-incompatibility-problem-in-gentoo/
> 
> Curious, can one reasonably easy downgrade from GCC 5 back to GCC 4?
> 
> Are there any instructions for that? Is it sufficient to do a similar
> revdep-rebuild command?
> 
> In case the downgrade would horribly break systems or be otherwise
> highly nontrivial, I'd recommend some note for that.

it's like any other attempt to downgrade an ABI: you're on your own.
in Gentoo, we guarantee backwards compatibility, not forward -- this
is not specific to GCC.

in practice, as long as you don't unmerge gcc-5, you can switch the
active compiler to gcc-4.9 and use it, but the runtime libs will be
taken from the latest one you have installed (gcc-5).
-mike


signature.asc
Description: Digital signature


Re: [gentoo-dev] gcc-5 news item wrt C++ ABI

2015-10-05 Thread Mike Frysinger
On 04 Oct 2015 01:16, hasufell wrote:
> On 10/03/2015 04:13 AM, Mike Frysinger wrote:
> > Title: GCC 5 Defaults to the New C++11 ABI 
> > Author: Mike Frysinger 
> > Content-Type: text/plain
> > Posted: 2015-10-02
> > Revision: 1
> > News-Item-Format: 1.0
> > Display-If-Installed: >=sys-devel/gcc-5
> > 
> > GCC 5 uses the new C++ ABI by default.  When building new code, you might 
> > run
> > into link time errors like:
> > ...: undefined reference to 
> > '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'
> > Or you might see linkage failures with "std::__cxx11::string" in the output.
> > 
> > These are signs that you need to rebuild packages using the new C++ ABI.
> > You can quickly do so by using revdep-rebuild like so:
> > # revdep-rebuild --library 'libstdc\+\+\.so\.6'
> 
> We shouldn't assume a particular PM/toolset in news items, IMO. Just
> saying that people might have to rebuild packages linked against
> libstdc++.so.6 should be enough.

there's no requirement for you to use revdep-rebuild.  including quick
insns for the common case is a no brainer really.

> They can read the docs if they don't know how.

and they can if the common case doesn't work for them.
-mike


signature.asc
Description: Digital signature


Re: [gentoo-dev] gcc-5 news item wrt C++ ABI

2015-10-05 Thread Michał Górny
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512



Dnia 4 października 2015 01:16:51 CEST, hasufell  
napisał(a):
>On 10/03/2015 04:13 AM, Mike Frysinger wrote:
>> Title: GCC 5 Defaults to the New C++11 ABI
>> Author: Mike Frysinger 
>> Content-Type: text/plain
>> Posted: 2015-10-02
>> Revision: 1
>> News-Item-Format: 1.0
>> Display-If-Installed: >=sys-devel/gcc-5
>>
>> GCC 5 uses the new C++ ABI by default.  When building new code, you
>might run
>> into link time errors like:
>> ...: undefined reference to
>'_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'
>> Or you might see linkage failures with "std::__cxx11::string" in the
>output.
>>
>> These are signs that you need to rebuild packages using the new C++
>ABI.
>> You can quickly do so by using revdep-rebuild like so:
>> # revdep-rebuild --library 'libstdc\+\+\.so\.6'
>>
>
>We shouldn't assume a particular PM/toolset in news items, IMO. Just
>saying that people might have to rebuild packages linked against
>libstdc++.so.6 should be enough.

Wrong. We should provide examples for the common case. Examples are often 
easier to comprehend than elaborate attempts of explaining what needs to be 
done.

>
>They can read the docs if they don't know how.

- --
Best regards,
Michał Górny
-BEGIN PGP SIGNATURE-

iQJJBAEBCgAzLBxNaWNoYcWCIEfDs3JueSAoR2VudG9vKSA8bWdvcm55QGdlbnRv
by5vcmc+BQJWE1+CAAoJELB6GurvtEZOthMP/R09P/RH5SHo1QpZBmdcJrSGDgS3
6k9R/r9ddT7FbJJUgEh5/uA1ftW3f4Fp2qkGnZa5bLD/w6CKAaPDJE6ZVG/njRu9
FUkdsH5P5paGBZphR6s4WVHGNcpbovnkDJce90BkO//WzrPrqfRr1G47Q/U/rdIj
ZPb/aoOn1vj1zvX5z2x7N6PbhCCnGneRcQvdvY2vaQ7CN7exhwgucY43xIPP5YZx
c0EVJvbmpSjathH+j1fvprL/5E+58Wv14f5x8i3V/l9w3aWytGUxK4LDjOGbPs5L
OCztWZWsSes/YeQZF4OX8lc16vwCpro8PI47kgzQub8lgOARIVcyfhtl2taX8lYf
hYQXYSzpElwc5rPQeQ4/ZCLDL+JjbcjZDr3gfpBR3J14UY7vGgCUEvIPk6tDxXMf
BaSAB3JhbJ4AYRhLxnTBDAEBSioEYnHqGX5Y/U+HHBnj0WbesU3r88Df2RZuyBxD
rsoUsyXer1QMm2SoVc5P7SfGuHKeZW1F78VRirmMYpEtrUD5PgczH9UFYVVmuInE
FA/2XKfQ+noIY+sx948pvwESuxpJ40NoDbbdojFLIId3FsUUmDFLf4tuEIvMSMKM
IZhnUxzCg6DdO/BhJQK8sPRHxk7W6EaPT7wuITt/h27Ls9qjWfqAgCd2r0mJ2N9c
tNHI964xZS6TScq2
=dMvl
-END PGP SIGNATURE-




Re: [gentoo-dev] Python 3.5 is in, Python 3.3 deprecation

2015-10-05 Thread Zac Medico
On 10/05/2015 08:43 AM, Mike Gilbert wrote:
> On Mon, Oct 5, 2015 at 9:08 AM,   wrote:
>> On Sun, 4 Oct 2015, Mike Gilbert wrote:
>>>
>>> Python 3.5 has been added to ~arch this morning. Please feel free to
>>> test and add python3_5 to PYTHON_COMPAT as appropriate.
>>
>> And where's python-docs:3.5?
> 
> I always forget about python-docs; thanks for the reminder.
> 
> Unfortunately, it looks like upstream forgot as well; there is no
> tarball available for the final 3.5.0 docs release.
> 

I've found a link on this page:

https://docs.python.org/3/download.html

This is it:

https://docs.python.org/3/archives/python-3.5.0-docs-html.tar.bz2
-- 
Thanks,
Zac



[gentoo-portage-dev] [PATCH] SyncRepos.async: group sync and callback as composite task (bug 562264)

2015-10-05 Thread Zac Medico
Group together the sync operation and the callback as a single task,
so that the callback will not execute concurrently with another sync
operation for --jobs=1.

X-Gentoo-Bug: 562264
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=562264
---
 pym/portage/sync/controller.py | 39 +++
 1 file changed, 35 insertions(+), 4 deletions(-)

diff --git a/pym/portage/sync/controller.py b/pym/portage/sync/controller.py
index 28dbc57..159b9c0 100644
--- a/pym/portage/sync/controller.py
+++ b/pym/portage/sync/controller.py
@@ -25,6 +25,7 @@ from portage.util._async.AsyncFunction import AsyncFunction
 from portage import OrderedDict
 from portage import _unicode_decode
 from portage import util
+from _emerge.CompositeTask import CompositeTask
 
 
 class TaskHandler(object):
@@ -119,10 +120,9 @@ class SyncManager(object):
self.settings, self.trees, self.mtimedb = emerge_config
self.xterm_titles = "notitles" not in self.settings.features
self.portdb = 
self.trees[self.settings['EROOT']]['porttree'].dbapi
-   proc = AsyncFunction(target=self.sync,
-   kwargs=dict(emerge_config=emerge_config, repo=repo))
-   proc.addExitListener(self._sync_callback)
-   return proc
+   return SyncRepo(sync_task=AsyncFunction(target=self.sync,
+   kwargs=dict(emerge_config=emerge_config, repo=repo)),
+   sync_callback=self._sync_callback)
 
def sync(self, emerge_config=None, repo=None):
self.callback = None
@@ -343,3 +343,34 @@ class SyncManager(object):
action_metadata(self.settings, self.portdb, 
self.emerge_config.opts,
porttrees=[repo.location])
 
+
+class SyncRepo(CompositeTask):
+   """
+   Encapsulates a sync operation and the callback which executes 
afterwards,
+   so both can be considered as a single composite task. This is useful
+   since we don't want to consider a particular repo's sync operation as
+   complete until after the callback has executed (bug 562264).
+
+   The kwargs and result properties expose attributes that are accessed
+   by SyncScheduler.
+   """
+
+   __slots__ = ('sync_task', 'sync_callback')
+
+   @property
+   def kwargs(self):
+   return self.sync_task.kwargs
+
+   @property
+   def result(self):
+   return self.sync_task.result
+
+   def _start(self):
+   self._start_task(self.sync_task, self._sync_task_exit)
+
+   def _sync_task_exit(self, sync_task):
+   self._current_task = None
+   self.returncode = sync_task.returncode
+   self.sync_callback(self.sync_task)
+   self._async_wait()
+
-- 
2.4.6




Re: [gentoo-dev] Python 3.5 is in, Python 3.3 deprecation

2015-10-05 Thread Ian Delaney
On Sun, 4 Oct 2015 10:11:48 -0400
Mike Gilbert  wrote:

> Hi all,
> 
> Python 3.5 has been added to ~arch this morning. Please feel free to
> test and add python3_5 to PYTHON_COMPAT as appropriate.
> 
> Also, to keep the number of supported implementations manageable, I
> would like to deprecate Python 3.3. This means that it should not be
> added to PYTHON_COMPAT in new packages. Does anyone object to this, or
> have some reason we should keep it as "supported"?
> 
> See the wiki for the current status of python implementations.
> 
> https://wiki.gentoo.org/wiki/Project:Python/Implementations
> 

Frankly Mike I don't follow the rush behind trying to deprecate 3.3.
I'd have thought let py3.5 bed in some then take on the task of 3.3,
however I suppose it wouldn't hurt. Though "should not be added to
PYTHON_COMPAT in new packages" should be fine.

I take it here you're only talking about skipping over py3.3 from this
point.  Adding support to 3.5 systemically would be another topic.

-- 
kind regards

Ian Delaney



Re: [gentoo-dev] Python 3.5 is in, Python 3.3 deprecation

2015-10-05 Thread grozin

On Sun, 4 Oct 2015, Mike Gilbert wrote:

Python 3.5 has been added to ~arch this morning. Please feel free to
test and add python3_5 to PYTHON_COMPAT as appropriate.

And where's python-docs:3.5?

Andrey



Re: [gentoo-dev] LibreSSL switch-over progress

2015-10-05 Thread hasufell
On 10/05/2015 05:28 PM, Jason A. Donenfeld wrote:
> Last night I tried to enable that flag globally, and then reemerge
> everything relevant. Unfortunately, I got some unresolvable blockers.

Yes, it is currently practically impossible to enable it. However, you
can use the https://github.com/gentoo/libressl overlay right now,
because it contains a dummy openssl ebuild to fix those unresolvable
blockers.


> The reason for this post is: how do I know when to try switching over
> again?

I will announce it, probably cross-posting to user-ML.

You can watch the in-tree progress here:
https://github.com/gentoo/libressl/wiki/Transition-plan#packages-not-converted-yet
https://bugs.gentoo.org/show_bug.cgi?id=561854



Re: [gentoo-dev] Python 3.5 is in, Python 3.3 deprecation

2015-10-05 Thread Mike Gilbert
On Mon, Oct 5, 2015 at 9:08 AM,   wrote:
> On Sun, 4 Oct 2015, Mike Gilbert wrote:
>>
>> Python 3.5 has been added to ~arch this morning. Please feel free to
>> test and add python3_5 to PYTHON_COMPAT as appropriate.
>
> And where's python-docs:3.5?

I always forget about python-docs; thanks for the reminder.

Unfortunately, it looks like upstream forgot as well; there is no
tarball available for the final 3.5.0 docs release.



Re: [gentoo-dev] LibreSSL switch-over progress

2015-10-05 Thread Jason A. Donenfeld
Perfect. Exactly the information I was looking for. Thanks a bunch.



Re: [gentoo-dev] LibreSSL switch-over progress

2015-10-05 Thread Rich Freeman
On Mon, Oct 5, 2015 at 11:28 AM, Jason A. Donenfeld  wrote:
> I assume there are developers hard
> at work adding the flag to each and every package.

Keep in mind that it isn't always a drop-in replacement.  If it were
we'd just make a virtual for libssl and you wouldn't need to mess with
flags at all.

Some upstreams may support libressl quickly, some might support it
more slowly, and some may or may not ever support it.  So, I suspect
that this will look a lot like trying to switch over to libav - you
might have to change what applications you're using in some cases if
you really want to do it.  As with libav you may see one library or
the other "win" in the end which should make things simpler, but I
suspect that in the meantime there may be a lot of bundling/etc.

When changes require patches and upstream hasn't committed to merging
them, that creates a potential maintenance burden and if package
maintainers aren't willing to undertake this then we should probably
figure out how that is going to work, unless we just plan to ignore
these packages for now.

If it is just a matter of sticking a simple sed in an ebuild and the
libressl team doesn't mind dealing with rare breakage that is probably
less of an issue.

-- 
Rich



Re: [gentoo-dev] LibreSSL switch-over progress

2015-10-05 Thread Michał Górny
Dnia 2015-10-05, o godz. 17:28:55
"Jason A. Donenfeld"  napisał(a):

> Last night I tried to enable that flag globally, and then reemerge
> everything relevant. Unfortunately, I got some unresolvable blockers.
> Presumably the reason is that some packages have the libressl USE
> flag, while others don't have it. I assume there are developers hard
> at work adding the flag to each and every package.

Well, yes, hasufell's working really hard at it. But he's also very
busy looking over all commits and pointing out developer's mistakes. So
if you want to help him make libressl a reality quicker, please do less
mistakes and remember to revbump ebuilds when changing RDEPEND or
doing other significant changes!

-- 
Best regards,
Michał Górny



pgpHxm5He1td_.pgp
Description: OpenPGP digital signature


Re: [gentoo-dev] LibreSSL switch-over progress

2015-10-05 Thread hasufell
On 10/05/2015 05:28 PM, Jason A. Donenfeld wrote:
> 
> I assume there are developers hard
> at work adding the flag to each and every package.
> 

Exactly one. And because of that it will take another few weeks (maybe
even months) until we are there.



[gentoo-dev] LibreSSL switch-over progress

2015-10-05 Thread Jason A. Donenfeld
Hi guys,

I've seen we now have a libressl USE flag, per the discussion in the
other thread. Horrah!

Last night I tried to enable that flag globally, and then reemerge
everything relevant. Unfortunately, I got some unresolvable blockers.
Presumably the reason is that some packages have the libressl USE
flag, while others don't have it. I assume there are developers hard
at work adding the flag to each and every package.

The reason for this post is: how do I know when to try switching over
again? Can the folks involved with the flagging operation agree to
make a blog post or a mailing list post when it's all done? This would
probably be quite nice for users too. In fact, I wouldn't mind a
portage news item about this.

Jason

-- 
Jason A. Donenfeld
Gentoo Linux Security & Infrastructure
zx...@gentoo.org
www.zx2c4.com
zx2c4.com/keys/A28BEDE08F1744E16037514806C4536755758000.asc