Re: [gentoo-dev] Portage QOS

2014-01-10 Thread heroxbd
Tom Wijsman tom...@gentoo.org writes:

 I am curious about the slowness of emerge.

 Try a --backtrack=0 approach, I no longer need to increase it. :)

on a random box:

time emerge --backtrack=0 -pe @world
[...]
real0m30.016s
user0m29.268s
sys 0m0.704s

time emerge -pe @world
[...]
real0m35.037s
user0m30.824s
sys 0m1.136s

not a big difference?

 How about profile the portage and rewrite the time-crucial part in
 C/C++, or ideally, borrowing the counterpart from paludis? How
 feasible is that?

 http://dev.gentoo.org/~tomwij/files/portage-2.2.7-python-2.7-backtrack-0.png
 http://dev.gentoo.org/~tomwij/files/portage-2.2.7-python-2.7-backtrack-0-hot.png
 http://dev.gentoo.org/~tomwij/files/portage-2.2.7-python-3.3-backtrack-0.png

 (hot is the hotshot profiler, it internally checks on the line level
 instead; 3.3's profiler is obstructed by module loading, no idea why)

Great! That's what I am looking for.


pgp2YrVrzkrgG.pgp
Description: PGP signature


Re: [gentoo-dev] Re: Portage QOS

2014-01-10 Thread Igor
Hello Chris,

Friday, January 10, 2014, 1:08:39 AM, you wrote:

 Right here is the big problem: you're not looking at this from the
 perspective of the average Gentoo developer. We don't care about market
 share. We don't care whether we're on top for another few years. There
 are several forks of Gentoo. I doubt most devs care about them. I
 personally know that we're not going to compete with Debian, which has a
 huge contributor, or Ubuntu or Red Hat, which have whole companies
 behind them. You're selling this as if you're selling to a company which
 wants to be on the top of the market and beating out competitors, and
 that's not what we are. We are a source-based distro that requires some
 effort from users, and people want that or they don't want it.
 What we need is a vote YES or NO. If you against it - vote NO. It's
 perfectly normal, if there would be no NO there would be no need voting.

Thank you for you opinion. 

The competition in open source world is much harder than with
commercial software. 3 commercial systems share 96% of the users.

1,6% of the users are shared by 296 Linux distros

You may think that you're outside this rules but the competition is natural 
on the planet and Gentoo is certainly competing weather you want it or not.

Competition was long before a human foot stood on the ground for the first 
time :-) And suddenly there is no competition in Linux world - do you really 
belive in it?


-- 
Best regards,
 Igormailto:lanthrus...@gmail.com

Re: [gentoo-dev] Portage QOS

2014-01-10 Thread Igor
Hello Heroxbd,

Friday, January 10, 2014, 4:16:47 AM, you wrote:

 The ebuilds have approximately the same time to install, the failure
 rate is about the same, emerge is getting slower.

 I am curious about the slowness of emerge.

 How about profile the portage and rewrite the time-crucial part in
 C/C++, or ideally, borrowing the counterpart from paludis? How feasible
 is that?

 I guess the dep-tree calculation is the slowest part.

If you had the PortageQOS you would see what change slowed down
Portage. And the problem could have already been fixed.
You could make fast and correct decisions. True, it could be possible
that some parts of the portage need to be rewritten. May be Python was
the wrong decision, may be it's better to use C++.

(Yes, I expect to be
condemned over here before I'm banned, a sacrifice for the better Gentoo
somebody had to make).

Do you remember how many problems portage had with Python? It's like
Gentoo is for Python not for anything else.

Why not to get rid of Python at all. What is so great in Python that
Gentoo exists for the sake of it?

And when next thing is introduced - you can see how it works
world wide. 

On some older PC the new portage works for 4-6 minutes before it FAILS.

If the portage is going to be a little bit smarter again - you would need a
new hardware to run it.

And nobody cares, of course it's better to hide don't know or run from
problems than know about them and fix them.

300 devs, are NOT ABLE to make portage fast in 8 years.

-- 
Best regards,
 Igormailto:lanthrus...@gmail.com




Re: [gentoo-dev] Re: Portage QOS

2014-01-10 Thread René Neumann
Am 10.01.2014 13:10, schrieb Igor:
 Hello Chris,
 
 Friday, January 10, 2014, 1:08:39 AM, you wrote:
 
 Right here is the big problem: you're not looking at this from the
 perspective of the average Gentoo developer. We don't care about market
 share. We don't care whether we're on top for another few years. There
 are several forks of Gentoo. I doubt most devs care about them. I
 personally know that we're not going to compete with Debian, which has a
 huge contributor, or Ubuntu or Red Hat, which have whole companies
 behind them. You're selling this as if you're selling to a company which
 wants to be on the top of the market and beating out competitors, and
 that's not what we are. We are a source-based distro that requires some
 effort from users, and people want that or they don't want it.
 What we need is a vote YES or NO. If you against it - vote NO. It's
 perfectly normal, if there would be no NO there would be no need voting.
 
 Thank you for you opinion. 
 
 The competition in open source world is much harder than with
 commercial software. 3 commercial systems share 96% of the users.
 
 1,6% of the users are shared by 296 Linux distros
 
 You may think that you're outside this rules but the competition is natural 
 on the planet and Gentoo is certainly competing weather you want it or not.
 
 Competition was long before a human foot stood on the ground for the first 
 time :-) And suddenly there is no competition in Linux world - do you really 
 belive in it?

There is no really competition for the non-enterprise systems. It is a
co-existance (one might even call it some kind of symbiosis).

Please take your business nonsense somewhere else. Honestly, you sound
like some suit with his powerpoint slides talking about buzz-words like
'competitors', 'keeping in power', 'QoS' …

There were also numerous threads already about the very same topic. Most
came to the conclusions that
a) Gentoo is not dying
b) the numbers used as arguments are inaccurate at best (how do you
count 'Gentoo users'? And do you want users or machines? And what with
persons using different systems)

- René



Re: [gentoo-dev] Portage QOS

2014-01-10 Thread René Neumann
Am 10.01.2014 13:23, schrieb Igor:
 You could make fast and correct decisions. 

There is no such thing as the single correct decision. Management people
often think there is, but this is because management people often have
no clue what they are talking about.

 
 Why not to get rid of Python at all. What is so great in Python that
 Gentoo exists for the sake of it?


What is so bad with Python? Also keep in mind: A bad/wrong algorithm
does not get better just because you change the implementation language.

 
 300 devs, are NOT ABLE to make portage fast in 8 years.
 

You obviously have no idea how Gentoo works.

- René



Re: [gentoo-dev] Portage QOS

2014-01-10 Thread Igor
Hello Heroxbd,

Friday, January 10, 2014, 4:16:47 AM, you wrote:

 The ebuilds have approximately the same time to install, the failure
 rate is about the same, emerge is getting slower.

 I am curious about the slowness of emerge.

 How about profile the portage and rewrite the time-crucial part in
 C/C++, or ideally, borrowing the counterpart from paludis? How feasible
 is that?

 I guess the dep-tree calculation is the slowest part.

And to think about it - Python is a slow big snake. And Gentoo is the
fastest of penguins.

So why do we send Gentoo for food riding on Python? If it were death
we send Gentoo for then I would choose Python but food?

Isn't it making them both slow and food isn't coming? 



-- 
Best regards,
 Igormailto:lanthrus...@gmail.com




Re: [gentoo-dev] Portage QOS

2014-01-10 Thread Patrick Lauer
On 01/10/2014 08:30 PM, Igor wrote:
 Hello Heroxbd,
 
 Friday, January 10, 2014, 4:16:47 AM, you wrote:
 
 The ebuilds have approximately the same time to install, the failure
 rate is about the same, emerge is getting slower.
 
 I am curious about the slowness of emerge.
 
 How about profile the portage and rewrite the time-crucial part in
 C/C++, or ideally, borrowing the counterpart from paludis? How feasible
 is that?
 
 I guess the dep-tree calculation is the slowest part.
 
 And to think about it - Python is a slow big snake. And Gentoo is the
 fastest of penguins.

No, Python isn't slow.

Bad code is bad. You can write bad code in any language.
 
 So why do we send Gentoo for food riding on Python? If it were death
 we send Gentoo for then I would choose Python but food?

I'm finding it very hard to stay polite, because ... honestly?

You have no idea what you're talking about.

If you want things to change - hire a few of us fulltime to work on
things, and you'll get the change you want.
Until then there's no need to point out that we are lacking manpower to
do large-scale changes, because that's been a constant in most
opensource projects since the 1960s.

Less talking, more doing - provide patches and stop polluting our
mailing list with your madness.



Re: [gentoo-dev] Portage QOS

2014-01-10 Thread Igor
Hello Heroxbd,

Friday, January 10, 2014, 4:27:00 AM, you wrote:

 IMHO, the bleeding-edgeness and stability form a balance. We cannot
 achieve both. Taking RHEL for example, it uses ancient software for the
 sake of stability. Gentoo is way off the other extreme.

 For the udev change, the upstream has been doing evil and eudev is not
 introduced as the default for Gentoo (yet).

 New software breaks things, and security-updated old software needs
 extra care: That's the fundamental problem we couldn't circumvent.

True, it's fundamentally impossible for Gentoo to get rid of all the
problems with ebuilds.

What I offer is to make the response and self-assessment on Gentoo
changes automated and fast. Then it will be getting better by itself.
The rate of experience Dev is attaining will jump several times up and
the level drudgery will decrease in the same proportion.

And it's perfectly in Gentoo style. This is the fastest penguin,
erroneously married to a snake because the marriage looked easy from
the first but now it's getting harder and harder.

We have the Penguin but forgot to add neurons to his skin.

He is poked but doesn't know about that and doesn't respond
because he can't feel.

-- 
Best regards,
 Igormailto:lanthrus...@gmail.com




Re: [gentoo-dev] Re: Portage QOS

2014-01-10 Thread Igor
Hello René,

Friday, January 10, 2014, 4:26:03 PM, you wrote:


 You may think that you're outside this rules but the competition is natural 
 on the planet and Gentoo is certainly competing weather you want it or not.

 Competition was long before a human foot stood on the ground for the first 
 time :-) And suddenly there is no competition in Linux world - do you really 
 belive in it?

 There is no really competition for the non-enterprise systems. It is a
 co-existance (one might even call it some kind of symbiosis).

 Please take your business nonsense somewhere else. Honestly, you sound
 like some suit with his powerpoint slides talking about buzz-words like
 'competitors', 'keeping in power', 'QoS' …

 There were also numerous threads already about the very same topic. Most
 came to the conclusions that
 a) Gentoo is not dying
 b) the numbers used as arguments are inaccurate at best (how do you
 count 'Gentoo users'? And do you want users or machines? And what with
 persons using different systems)

You're living right not in competition. If you're on an island
you compete with animals for food and water. If you're in a condo - hell, 
you know how many on this planet WISH to live in your house right now and 
what stops them from doing that?

And you belive that you're outside competition. It looks unreal.
Gentoo is in competition with other distros - it's real and happens
right now.

Are you absolutely sure that in the condition when nobody knows how
Portage works we may go that far as saying we have a healthy Penguin?

-- 
Best regards,
 Igormailto:lanthrus...@gmail.com




Re: [gentoo-dev] Re: Portage QOS

2014-01-10 Thread René Neumann
Am 10.01.2014 13:52, schrieb Igor:
 And you belive that you're outside competition. It looks unreal.
 Gentoo is in competition with other distros - it's real and happens
 right now.

Again, just because this science called 'Economics' believes,
everything is in competition, does not change reality.

 Are you absolutely sure that in the condition when nobody knows how
 Portage works we may go that far as saying we have a healthy Penguin?

If I want to know whether or not a penguin is healthy, I'd ask my mum
(she's a vet).

- René




Re: [gentoo-dev] Portage QOS

2014-01-10 Thread Igor
Hello Patrick,

Friday, January 10, 2014, 4:39:59 PM, you wrote:

 No, Python isn't slow.
 Bad code is bad. You can write bad code in any language.

Are you sure? Take a look here:

http://benchmarksgame.alioth.debian.org/u32q/benchmark.php?test=alllang=python3lang2=gppdata=u32q

of course these stats are all so fake, and you may not belive them.

I've been using C/C++ since school it's fast, even bad code is working fast.

I WOULD NEVER BELIVE PYTHON IS AS FAST AS C++ with math algorithms
that do calculate staff and not call functions from pre-complied
objects written in C/C++.

It's crazy that you're even trying to state it. Take a look at what
Python is producing in disasm and then look at it in G++.

 So why do we send Gentoo for food riding on Python? If it were death
 we send Gentoo for then I would choose Python but food?

 I'm finding it very hard to stay polite, because ... honestly?
 You have no idea what you're talking about.

Or vice versa.

 If you want things to change - hire a few of us fulltime to work on
 things, and you'll get the change you want.
 Until then there's no need to point out that we are lacking manpower to
 do large-scale changes, because that's been a constant in most
 opensource projects since the 1960s.

 Less talking, more doing - provide patches and stop polluting our
 mailing list with your madness.

See tge subject of this letter. The whole point of this conversation is that
I offered to design it and program it and offered HARDWARE for it but we
can't get to the point because it's not clear for everyone if we need it.

If high command not needing it it will find means to kill it and I'm
very busy, really very busy - can't afford to spend that much time on
something not useful.

We're in the middle of negotiations here.

-- 
Best regards,
 Igormailto:lanthrus...@gmail.com




Re: [gentoo-dev] Portage QOS

2014-01-10 Thread Igor
Hello Patrick,

Friday, January 10, 2014, 4:39:59 PM, you wrote:

 Bad code is bad. You can write bad code in any language.

BTW Perl is faster than Python too. 

Try writing quick sort in Perl, Ptyhon and G++ 

then dump the memory. 

And watch the miracle.

-- 
Best regards,
 Igormailto:lanthrus...@gmail.com




Re: [gentoo-dev] Portage QOS

2014-01-10 Thread René Neumann
Am 10.01.2014 14:05, schrieb Igor:
 Hello Patrick,
 
 Friday, January 10, 2014, 4:39:59 PM, you wrote:
 
 No, Python isn't slow.
 Bad code is bad. You can write bad code in any language.
 
 Are you sure? Take a look here:
 
 http://benchmarksgame.alioth.debian.org/u32q/benchmark.php?test=alllang=python3lang2=gppdata=u32q
 
 of course these stats are all so fake, and you may not belive them.
 
 I've been using C/C++ since school it's fast, even bad code is working fast.
 
 I WOULD NEVER BELIVE PYTHON IS AS FAST AS C++ with math algorithms

You do realize, that we are not doing math (read: number crunching) here?

And again: What is needed is streamlining the algorithms (discussion on
that already started as far as I could notice). An algorithm in O(n³) is
always¹ worse than O(n). The constant factor added by the language
difference is of no interest.

 It's crazy that you're even trying to state it. Take a look at what
 Python is producing in disasm and then look at it in G++.

For a larger project, it often is more important to have readable and
maintable code opposed to getting the last bit of performance. And
Python is _far_ more readable and concise than C or C++ (imho). Due to
lack of typechecking, I'm not so sure when it comes to maintainability
though (there are test suites of course).

- René

¹ For a large enough n.



Re: [gentoo-dev] Portage QOS

2014-01-10 Thread Rich Freeman
On Fri, Jan 10, 2014 at 7:41 AM, Igor lanthrus...@gmail.com wrote:
 What I offer is to make the response and self-assessment on Gentoo
 changes automated and fast. Then it will be getting better by itself.
 The rate of experience Dev is attaining will jump several times up and
 the level drudgery will decrease in the same proportion.

Sounds great.  Don't let commentary stand in your way.  Just post a
link to your code/patches when you have something to share, or if
you're looking for contributors to join you.  That's pretty-much how
every substantial improvement to any FOSS project starts out.

Rich



Re: [gentoo-dev] Portage QOS

2014-01-10 Thread heroxbd
Hi Igor,

Igor lanthrus...@gmail.com writes:

 I've been using C/C++ since school it's fast, even bad code is working fast.

 I WOULD NEVER BELIVE PYTHON IS AS FAST AS C++ with math algorithms
 that do calculate staff and not call functions from pre-complied
 objects written in C/C++.

 It's crazy that you're even trying to state it. Take a look at what
 Python is producing in disasm and then look at it in G++.

 So why do we send Gentoo for food riding on Python? If it were death
 we send Gentoo for then I would choose Python but food?

 I'm finding it very hard to stay polite, because ... honestly?
 You have no idea what you're talking about.

 Or vice versa.

 If you want things to change - hire a few of us fulltime to work on
 things, and you'll get the change you want.
 Until then there's no need to point out that we are lacking manpower to
 do large-scale changes, because that's been a constant in most
 opensource projects since the 1960s.

 Less talking, more doing - provide patches and stop polluting our
 mailing list with your madness.

 See tge subject of this letter. The whole point of this conversation is that
 I offered to design it and program it and offered HARDWARE for it but we
 can't get to the point because it's not clear for everyone if we need it.

 If high command not needing it it will find means to kill it and I'm
 very busy, really very busy - can't afford to spend that much time on
 something not useful.

I appreciate your intension to make Gentoo better, at the same time I
could not share the view with you.

Here is the checklist for you:

1. I got a brilliant idea! goto 2
2. Can I realize it by myself?
   Y, goto 6; N goto 3
3. Can I convince someone to do it for me?
   Y, goto 6; N goto 4
4. Can I hire someone to do it for me?
   Y, goto 6; N goto 5
5. Nothing could be achieved :(
6. After rounds of hard work, it comes true :D

Seems that you got stuck at 5. Sorry if you are not willing to adjust
your attitude, your subsequent will be ignored.

Some of the details of your proposal do interest me, such as an
automatic build.log / emerge --info uploader. Supporting mail reply to
bugzilla will even be cooler (which can be used to upload build.log and
emerge --info of course).

Cheers,
Benda



Re: [gentoo-dev] Portage QOS

2014-01-10 Thread Rich Freeman
On Fri, Jan 10, 2014 at 8:10 AM, Igor lanthrus...@gmail.com wrote:
 Hello Patrick,

 Friday, January 10, 2014, 4:39:59 PM, you wrote:

 Bad code is bad. You can write bad code in any language.

 BTW Perl is faster than Python too.

 Try writing quick sort in Perl, Ptyhon and G++

 then dump the memory.

 And watch the miracle.

I think you're missing the point.

If I ask somebody who knows nothing about algorithms to sort a list in
Python they're going to use foo.sort().  If I ask somebody who knows
nothing about algorithms to sort a list in C they're going to write a
bubble sort, and it will be WAY slower for anything more than a dozen
elements.

Honestly, you're writing as if you're talking to a bunch of people who
don't know anything about how computers work, and the reality is that
you'll be hard-pressed to find an audience more familiar with
compilers/toolchains/linkers/etc just about anywhere.

If you have the right algorithm nobody is arguing that it will run
faster if compiled from correctly-written C.  The problem is that
right now we don't have the right algorithm, and we're likely to get a
lot further with fixing that faster in a language like python than in
C.

But, nobody is opposing the work - there are two alternative package
managers for Gentoo today, and one of them is full-featured.  Neither
are written in python.

Rich



Re: [gentoo-dev] Portage QOS

2014-01-10 Thread Tom Wijsman
On Fri, 10 Jan 2014 18:10:05 +0900
hero...@gentoo.org wrote:

 Tom Wijsman tom...@gentoo.org writes:
 
  I am curious about the slowness of emerge.
 
  Try a --backtrack=0 approach, I no longer need to increase it. :)
 
 on a random box:
 
 time emerge --backtrack=0 -pe @world
 [...]
 real0m30.016s
 user0m29.268s
 sys 0m0.704s
 
 time emerge -pe @world
 [...]
 real0m35.037s
 user0m30.824s
 sys 0m1.136s
 
 not a big difference?

Well, it has to actually backtrack to make a difference; if there's no
need to, it won't differ. But when there is need to, it takes longer.

That's why it has been described as dynamic; you are either affected by
a lot of backtracking or you don't, seems you are on the lucky side now.

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


signature.asc
Description: PGP signature


Re: [gentoo-dev] Portage QOS

2014-01-10 Thread Tom Wijsman
On Fri, 10 Jan 2014 09:02:46 -0500
Rich Freeman ri...@gentoo.org wrote:

 On Fri, Jan 10, 2014 at 8:10 AM, Igor lanthrus...@gmail.com wrote:
 If I ask somebody who knows nothing about algorithms to sort a list in
 Python they're going to use foo.sort().  If I ask somebody who knows
 nothing about algorithms to sort a list in C they're going to write a
 bubble sort, and it will be WAY slower for anything more than a dozen
 elements.

This assumes that the person doesn't do it manually in Python and
doesn't make use of already implemented functionality (eg. qsort) in C,
which jumps out as the first Google result; generalizations like these
are subjective, because it's just your view and thoughts of reality.

 Honestly, you're writing as if you're talking to a bunch of people who
 don't know anything about how computers work, and the reality is that
 you'll be hard-pressed to find an audience more familiar with
 compilers/toolchains/linkers/etc just about anywhere.

Indeed, a lot of us are CompSci students have that algorithmic
complexity drilled in since the first year. If we need performance,
we'll put it to great use; an occasional prototype, not so much.

 If you have the right algorithm nobody is arguing that it will run
 faster if compiled from correctly-written C.  The problem is that
 right now we don't have the right algorithm, and we're likely to get a
 lot further with fixing that faster in a language like python than in
 C.

Actually, language doesn't even matter here; just push that power off
button 'n get back to paper, then fix it in even faster pseudo code. :)

(Well, unless you type pseudo code faster than you write it down ... :P)

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: [PATCH] To enable ssp default in Gcc the toolchain.eclass need some changes.

2014-01-10 Thread Magnus Granberg
torsdag 09 januari 2014 23.18.28 skrev  Ryan Hill:
 On Thu, 09 Jan 2014 21:58:46 +0100
 
 Magnus Granberg zo...@gentoo.org wrote:
  Some time ago we discussed that we should enable stack smashing
  (-fstack-protector) by default.  So we opened a bug to track this [1].
  The affected Gcc version will be 4.8.2 and newer. Only amd64, x86, mips,
  ppc, ppc64 and arm will be affected by this change.
  
  You can turn off ssp by using the nossp USE flag or by adding
  -fno-stack-protector to the CFLAGS and/or CXXFLAGS. We are using the same
  patch as Debian/Ubuntu but with some Gentoo fixes.
  
  The patch will move the sed for the HARD_CFLAGS, ALLCFLAGS and
  ALLCXXFLAGS from do_gcc_PIE_patches() to make_gcc_hard().  We will
  make_gcc_hard() the default for all Gcc versions 4.8 and newer, and turn
  it on or off with hardened_gcc_works() that will make some sanity checks.
 
 I went ahead and spun a new patchset for the compiler-side stuff if anyone
 wants to start playing around.
 
 - apply the eclass patch from bug #484714 (the one attached to Magnus' email
 wouldn't apply for me but maybe my mailer mangled it)
 - in gcc-4.8.2.ebuild do:
 
 -PATCH_VER=1.3
 +PATCH_VER=1.4-ssptest
 
 -PIE_VER=0.5.8
 +PIE_VER=0.5.9-ssptest
 
 BTW Magnus, thanks for doing this.
Hi
Have patched toolchain.eclass with the patch and with your change.
Updated 4.8.2 updated with the needed changes and commit it.
The use hardened  gcc-specs-ssp  append-cflags $(test-flags-CC -fno-stack-
protector) in glibc's common.eblit is fixed to.
So default ssp is out in the tree :)
/Magnus



signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: Portage QOS

2014-01-10 Thread Tom Wijsman
On Fri, 10 Jan 2014 16:52:12 +0400
Igor lanthrus...@gmail.com wrote:

 You're living right not in competition.If you're on an island
 you compete with animals for food and water. If you're in a condo -
 hell, you know how many on this planet WISH to live in your house
 right now and what stops them from doing that?
 
 And you belive that you're outside competition. It looks unreal.
 Gentoo is in competition with other distros - it's real and happens
 right now.

That's the marketing view on it; but now take a look from the customer
view, why am I and you on Gentoo or one of its derivatives and not
on some other distribution out there. Exactly, Gentoo provides some
things that are hard to find in other distributions; patching the
source, having more choice, remove features you don't need, etc...

Customers are looking for that; my thought exactly when I was looking
for Gentoo was I want to be able to easily manipulate what I use,
Gentoo's ability to just patch the source code is great for that.

I'd be scared of going to a binary distro, the distros where you are
source based are quite limited; if I'd quit Gentoo, I'm for sure I'll
either be on a Gentoo-derived distribution or build something similar.

The former makes me still be on Gentoo, or at least its idea; the
latter might be quite an effort that'll take quite some time too get
going, but I'll know for sure if that ever jumped my mind that I would
miss the Portage tree and so on.

So, other non-derived distros don't really look like competitors to me;
they might satisfy a set of our customers, but then you can just as
well realize that those customers have no real need for Gentoo and were
bound to leave sooner or later anyway.

As for derived distros; forking is great, right?

We are no longer using the old solid wheels that break or the old cars
that fail to continue to drive after a bit of usage; no, we are using
well designed, well implemented, well tested wheels and cars that
continue to drive for months to years.

And as an example, we also have ideas like those small cars which only
fit one person; who knows, that idea never catches on in public. But at
least we've satisfied the needs of a few people out there; not everyone
wants to have such a car, just a few persons that are in need for it.

 Are you absolutely sure that in the condition when nobody knows how
 Portage works we may go that far as saying we have a healthy Penguin?

Reverse engineering a car will not say anything about its health;
fixing its bugs, testing it and supporting it however will.

Otherwise we could claim solid wheels and old cars to still be healthy.

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


signature.asc
Description: PGP signature


[gentoo-dev] Re: [PATCH] To enable ssp default in Gcc the toolchain.eclass need some changes.

2014-01-10 Thread Ryan Hill
On Fri, 10 Jan 2014 01:35:09 -0500
Rick \Zero_Chaos\ Farina zeroch...@gentoo.org wrote:

 More to the point, this specific use flag appears to have no purpose
 what-so-ever.  If a user can do exactly the same with
 CFLAGS=-fno-stack-protector in make.conf, and it would be INSANE for a
 package to dep on gcc[nossp] then this is has got to be one of the most
 useless use flags in gentoo.

Having slept on it I'm starting to agree.  My first argument was that on
hardened ssp is -fstack-protector-all, which is much more expensive, and it
adds -fstack-check and -z,now to the linker by default as well.  The pie half
adds -fPIE but also a crtbeginP section for linking static libs with -pie.  So
there are situations where you want to disable one or both, if only for
testing.  But what I forgot is that hardened installs multiple gcc-config
profiles to switch these out on the fly.  So there goes that idea.

It might be useful to have these flags so we can mask them on archs that don't
support ssp/pie.  But that's always been true and it looks like sh is the only
place we've bothered for some reason.

 Not saying I would block this patch, not saying it has to be this
 second, but I see this use flag as a small example of things in
 toolchain which could probably be cleaned up if fresh eyes were to see
 things.

Yes, and believe it or not I appreciate the input.  I know I'm stubborn as hell
but eventually common sense gets through.


-- 
Ryan Hillpsn: dirtyepic_sk
   gcc-porting/toolchain/wxwidgets @ gentoo.org

47C3 6D62 4864 0E49 8E9E  7F92 ED38 BD49 957A 8463


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: [PATCH] To enable ssp default in Gcc the toolchain.eclass need some changes.

2014-01-10 Thread Magnus Granberg
torsdag 09 januari 2014 17.56.56 skrev  Ryan Hill:
 On Thu, 09 Jan 2014 21:58:46 +0100
 
 Magnus Granberg zo...@gentoo.org wrote:
  -   use hardened  make_gcc_hard
  +   if ( tc_version_is_at_least 4.8 || use hardened )  ! use vanilla ;
  then
 
 s/4.8/4.8.2
 
 Or should we wait until the next release (4.8.3 or 4.9.0)?  I think I'd
 prefer it but I don't have a good reason.
 
 What gcc-config profiles get installed after this patch?
We have only one now. But we can add a nossp but
i would only use it for debuging and it don't mix well with distcc.
The GCC_SPECS is not trasfered betvine the host and guest.

/Magnus



signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Re: [PATCH] To enable ssp default in Gcc the toolchain.eclass need some changes.

2014-01-10 Thread Ryan Hill
On Fri, 10 Jan 2014 16:24:38 +0100
Magnus Granberg zo...@gentoo.org wrote:

 Hi
 Have patched toolchain.eclass with the patch and with your change.
 Updated 4.8.2 updated with the needed changes and commit it.
 The use hardened  gcc-specs-ssp  append-cflags $(test-flags-CC -fno-stack-
 protector) in glibc's common.eblit is fixed to.

Cool, I forgot about that. ;)

 So default ssp is out in the tree :)

FYI it's masked for testing for now.  I will send out a news item
soon.


-- 
Ryan Hillpsn: dirtyepic_sk
   gcc-porting/toolchain/wxwidgets @ gentoo.org

47C3 6D62 4864 0E49 8E9E  7F92 ED38 BD49 957A 8463


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: Portage QOS

2014-01-10 Thread Mike Frysinger
please do not use html on the public mailing lists
-mike


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Question, Portage QOS

2014-01-10 Thread Igor
Hello All,

Thank you for all our feedback!

It's very good that we have all many different views on the same
subject. The nature designed us in a way that some part of us is
to survive in almost any situation. If everyone thought the same
they would make the same decisions and the probability of survival
would decrease. So it's all very natural and I didn't expect it
going easy.

In project like that I can't rush to programming it without
everyone's approval. This part of the project should have been
implemented with the first portage version by it's creator. But as
I'm not this person I'll need the expertise of the whole community.


Let's agree on following - I'll design the system in details on paper.
When it's ready (~ 1.5 months) I'll get back here and share the details.

Then we all review it again everyone could contribute it's own view
and part and help to avoid some design problems if there are.

And then when the final version is ready and there is support and
understanding of everyone and everyone says YES and sees that system
could be helpful - I'll get in running in ~ 1.5 years alone or if
I find some help - faster. I would anyway need this design to
effectively program the soft. It's the first step, no matter if
there is the second.

Do we have an agreement on this one from everyone of the list?

Please vote.

-- 
Best regards,
 Igor  mailto:lanthrus...@gmail.com




Re: [gentoo-dev] Question, Portage QOS

2014-01-10 Thread Jon Portnoy
On Fri, Jan 10, 2014 at 08:48:30PM +0400, Igor wrote:
 Do we have an agreement on this one from everyone of the list?
 

Agreement on what, precisely...?

In open source, better implementations usually gain more mindshare.

If you think you can write one (and the project is interesting to you)
go forth and produce code! ;-)



Re: [gentoo-dev] Question, Portage QOS

2014-01-10 Thread Peter Stuge
Igor wrote:
 Let's agree on following - I'll design the system in details on paper.
 When it's ready (~ 1.5 months) I'll get back here and share the details.

You might be surprised how little people care about good design.

They choose kindof-working implementation every time.


//Peter



Re: [gentoo-dev] Question, Portage QOS

2014-01-10 Thread Ian Stakenvicius
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 10/01/14 11:48 AM, Igor wrote:
 Hello All,
 
 Thank you for all our feedback!
 
 It's very good that we have all many different views on the same 
 subject. The nature designed us in a way that some part of us is to
 survive in almost any situation. If everyone thought the same they
 would make the same decisions and the probability of survival would
 decrease. So it's all very natural and I didn't expect it going
 easy.
 
 In project like that I can't rush to programming it without 
 everyone's approval. This part of the project should have been 
 implemented with the first portage version by it's creator. But as 
 I'm not this person I'll need the expertise of the whole
 community.
 
 
 Let's agree on following - I'll design the system in details on
 paper. When it's ready (~ 1.5 months) I'll get back here and share
 the details.
 
 Then we all review it again everyone could contribute it's own
 view and part and help to avoid some design problems if there are.
 
 And then when the final version is ready and there is support and 
 understanding of everyone and everyone says YES and sees that
 system could be helpful - I'll get in running in ~ 1.5 years alone
 or if I find some help - faster. I would anyway need this design
 to effectively program the soft. It's the first step, no matter if 
 there is the second.
 
 Do we have an agreement on this one from everyone of the list?
 
 Please vote.
 


I think it's great you are looking for (developer) community feedback,
but it probably should be made clear that unless this project is going
to go through official channels (ie, GLEP), it will be an independent
project.  Not that there's anything wrong with this, but it sounds
like there are some assumptions that the design or implementation will
just automatically be integrated.

At this point, it doesn't sound like this project would be anywhere
near ready to go through official channels, so your best bet would
probably be to continue working on it as an independent project.  And
as such, agreement from everyone really has no meaning or value in
this context.

Good luck!
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.22 (GNU/Linux)

iF4EAREIAAYFAlLQKtIACgkQ2ugaI38ACPCREgD+PUTaIF56RdLjFt64Xx8HraZJ
qxHdYKfhY4eGlrVcYssA/jsbCruhMgwvMdoJVqKKWuTlzpkVUCjodYtWU0RH/mxw
=gY62
-END PGP SIGNATURE-



[gentoo-dev] Question, Portage QOS v2

2014-01-10 Thread Igor
Hello All,

As there are questions at to what we vote.

--

Thank you for all our feedback!

In project like that I can't rush to programming it without
everyone's approval. This part of the project should have been
implemented with the first portage version by it's creator. But as
I'm not this person I'll need the expertise of the whole community.

Let's agree on following - I'll design the system in details on paper
but no code will be produced at this stage.

When it's ready (~ 1.5 months) I'll get back here and share the design
sketches with you.

Then we all review it again everyone could contribute it's own view
and part and help to avoid some design problems if there are.

I need an agreement on this stage from the list.

If you consider PortageQOS is not necessary please vote NO.
If you consider PortageQOS might have a chance and it depends on
implementation say YES.


Please vote.


If NO there is no need to spend time even on sketches.
If YES - there will be a system design ready and we could at least
imagine how it might work as a whole and benefits it might bring.



PS
No way PortageQOS will work without uniform agreement. That thing
was missing from portage design from the start and now with the legacy
it's either everyone is willing to give it a try or none. I don't want
to push somebody to something he doesn't see purpose for. There are
people here who spent lots of time on the project and it might be left
as is if they don't want any change.

-- 
Best regards,
 Igor  mailto:lanthrus...@gmail.com




Re: [gentoo-dev] Question, Portage QOS v2

2014-01-10 Thread Andreas K. Huettel
Am Freitag 10 Januar 2014, 21:18:58 schrieb Igor:
 Hello All,
 
 As there are questions at to what we vote.
 
 --

Realistically most people haven't even read your mails (too much bla).

-- 
Andreas K. Huettel
Gentoo Linux developer
kde, council




[gentoo-dev] Question, Portage QOS v3

2014-01-10 Thread Igor
Hello All,

As there are more questions rose.  See you can't just think of everything, 
what you need is an ability to improve fast :-)

--

Thank you for all our feedback!

In project like that I can't rush to programming it without
everyone's approval. This part of the project should have been
implemented with the first portage version by it's creator. But as
I'm not this person I'll need the expertise of the whole community.

Let's agree on following - I'll design the system in details on paper
but no code will be produced at this stage.

When it's ready (~ 1.5 months) I'll get back here and share the design
sketches with you.

Then we all review it again everyone could contribute it's own view
and part and help to avoid some design problems if there are.

I need an agreement on this stage from the list.

If you consider PortageQOS is not necessary please vote NO.
If you consider PortageQOS might have a chance and it depends on
implementation say YES.


Please vote.


If NO there is no need to spend time even on sketches.
If YES - there will be a system design ready and we could at least
imagine how it might work as a whole and benefits it might bring.


--

BY VOTING WE MAKE NO ASSUMPTION that the PROJECT is going to be INTEGRATED 
in GENTOO without further approval. 

At this stage the design will serve only as a demonstration that such 
system could actually be implemented and used for benefits of GENTOO 
project. 

If community finds the design worth trying we'll push it for approval 
and then it will be implemented.

--


PS
No way PortageQOS will work without uniform agreement. That thing
was missing from portage design from the start and now with the legacy
it's either everyone is willing to give it a try or none. I don't want
to push somebody to something he doesn't see purpose for. There are
people here who spent lots of time on the project and it might be left
as is if they don't want any change.

-- 
Best regards,
 Igor  mailto:lanthrus...@gmail.com

Re: [gentoo-dev] Question, Portage QOS v2

2014-01-10 Thread Igor
Hello Andreas,

Friday, January 10, 2014, 9:20:17 PM, you wrote:

 As there are questions at to what we vote.

 --

 Realistically most people haven't even read your mails (too much bla).

Please read the following and vote.

What PortageQOS will be able to accumulate: 

* Knowledge of the number of Gentoo distros installed world wide - knowing the 
trend how many users choose 
Gentoo and where Gentoo is really going down|up|stands still. 

You can then try different features and see how a feature is met - if the 
number of systems increase 
then this feature is probably useful. It's a strategical job, somebody at the 
very top of the project should 
analyze databases and make conclusions. 

* Knowledge of the ebuild popularity - what ebuilds are popular and what are 
not - what ebuild to give an extra focus 
and what ebuild could wait

* Knowledge of ebuild quality. If some ebuilds fail on many systems - something 
is wrong and ebuild and may be portage 
need fixing. It's especially useful to make sure that all ebuilds have correct 
dependencies, missing dependencies, etc.

* A formal esteem of portage quality 
PortageQ = (the number of successful ebuilds/the number of all ebuild attempts)

Portage speed efficiency: 
Average time before build starts (or download starts)

How many times portage fails itself. 

* Immediate problem detection. If the number of PortageQ went down last day - 
there is some problem. 
(then you go to ebuild stats and see what is failing)

* Reducing load on bugtracker folks - the build problems will be detected 
automatically and solved according 
to their importance. There will be no need to supply bug tracker with ebuild 
logs and emerge --info if 
somebody wants to report a problem. 

* Team efficiency esteem. The stats will tell what ebuilds are failing most 
often. 

* Team automated info. When failure rate of a certain ebuild increase the 
maintainer is automatically 
informed and he can login in web-interface and see details how exactly ebuild 
failed. 
The same for the portage itself. Next day a maintainer could push a new ebuild 
in the portage and the 
problem might be solved.

It's not possible not to make mistakes. But it's possible to react on their 
consequences fast. 

* Knowledge what kernels are used by Gentoo users, how often they update their 
systems, what flags 
are used 

2nd turn goals: 

* to integrate forums.gentoo.org and bug tracker. People are offering great 
workarounds and solutions. But 
they're not known to the majority of Gentoo users. 

If a e-build fails - may be there is already a solution - and we can offer the 
solutions automatically from 
portage. Like:

There might be some work-arounds on this problem: 
[Gentoo Forum - qt-core ebuild fails - SOLVED] 
htpp://forums.gentoo.org/. 

There is a known bug on this ebuild: 
[Gentoo Bug - qt-core ebuild fails] 
htpp://forums.gentoo.org/. 

* to make Bug Tracker almost unmanned. We can use gathered infromation on 
failed e-builds to 
create bugs in Bug Tracker automatically and automatically set priorities 
according to the 
severity. 

The severity could be assigned automatically from package popularity and 
failure rate stats.

These are the bricks that will be added in the initial design.

-- 
Best regards,
 Igormailto:lanthrus...@gmail.com




Re: [gentoo-dev] Question, Portage QOS v3

2014-01-10 Thread Jeroen Roovers
On Fri, 10 Jan 2014 21:26:47 +0400
Igor lanthrus...@gmail.com wrote:

 In project like that I can't rush to programming it without
 everyone's approval.

You don't need anyone's approval to do anything. Just go for it.


 jer



Re: [gentoo-dev] Question, Portage QOS v2

2014-01-10 Thread Igor
Hello Andreas,

Friday, January 10, 2014, 9:20:17 PM, you wrote:


 Realistically most people haven't even read your mails (too much bla).

And one more goal - without PortageQOS you're forever stuck with
the legacy portage design.

If the team ever decides to change Portage you'll need feedback
on how the new portage works to patch it quickly in case there are
troubles. It's too risky to touch portage right now. Everyone
understands that this is a kamikaze job. 

-- 
Best regards,
 Igormailto:lanthrus...@gmail.com




Re: [gentoo-dev] Re: Portage QOS

2014-01-10 Thread Greg KH
On Fri, Jan 10, 2014 at 04:10:18PM +0400, Igor wrote:
 Hello Chris,
 
 Friday, January 10, 2014, 1:08:39 AM, you wrote:
 
  Right here is the big problem: you're not looking at this from the
  perspective of the average Gentoo developer. We don't care about market
  share. We don't care whether we're on top for another few years. There
  are several forks of Gentoo. I doubt most devs care about them. I
  personally know that we're not going to compete with Debian, which has a
  huge contributor, or Ubuntu or Red Hat, which have whole companies
  behind them. You're selling this as if you're selling to a company which
  wants to be on the top of the market and beating out competitors, and
  that's not what we are. We are a source-based distro that requires some
  effort from users, and people want that or they don't want it.
  What we need is a vote YES or NO. If you against it - vote NO. It's
  perfectly normal, if there would be no NO there would be no need voting.
 
 Thank you for you opinion. 
 
 The competition in open source world is much harder than with
 commercial software. 3 commercial systems share 96% of the users.

Really?  What market?  Last I looked, more Linux systems were being run
on processors than any other single kernel.

Don't confuse desktops for all of computing.

 1,6% of the users are shared by 296 Linux distros

Really?  And what is the number of total users you are talking about
here?

 You may think that you're outside this rules but the competition is natural 
 on the planet and Gentoo is certainly competing weather you want it or not.

No, we aren't competing with anyone, please realize that this is not how
Linux distros and the ecosystem works at all.

Remember, Red Hat is Gentoo's engineering team :)

good luck,

greg k-h



Re: [gentoo-dev] Portage QOS

2014-01-10 Thread Ciaran McCreesh
On Fri, 10 Jan 2014 08:31:21 +0800
Patrick Lauer patr...@gentoo.org wrote:
 On 01/10/2014 08:16 AM, hero...@gentoo.org wrote:
  Igor lanthrus...@gmail.com writes:
  
  The ebuilds have approximately the same time to install, the
  failure rate is about the same, emerge is getting slower.
  
  I am curious about the slowness of emerge.
  
  How about profile the portage and rewrite the time-crucial part in
  C/C++, or ideally, borrowing the counterpart from paludis? How
  feasible is that?
 
 Last I checked paludis wasn't faster - on average portage was a few
 percents faster.

Your benchmark was comparing uncached behaviour, where bash is the slow
part and which users don't see. You were also not comparing like with
like -- any benchmarks of this nature should be taken with a heavy
pinch of salt, since Portage with everything turned on does less
validation that Paludis does with everything turned off...

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] Portage QOS

2014-01-10 Thread Ciaran McCreesh
On Fri, 10 Jan 2014 09:16:47 +0900
hero...@gentoo.org wrote:
 or ideally, borrowing the counterpart from paludis? How feasible is
 that?

It's not.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] Portage QOS

2014-01-10 Thread Ciaran McCreesh
On Thu, 9 Jan 2014 17:52:16 -0800
Patrick McLean chutz...@gentoo.org wrote:
 Why not just switch to using pkgcore as the default package manager.
 radhermit has been doing a lot of work lately getting EAPI 5 support
 added, and generally fixing bugs etc.

Pkgcore is dead (see: still no EAPI 5 support). If you're really
thinking about switching, the way to go is to write a client for
Paludis which mimics Portage's UI. But the politics make switching from
Portage to anything a lost cause.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] Portage QOS

2014-01-10 Thread Ciaran McCreesh
On Fri, 10 Jan 2014 14:18:24 +0100
René Neumann li...@necoro.eu wrote:
 And again: What is needed is streamlining the algorithms (discussion
 on that already started as far as I could notice). An algorithm in
 O(n³) is always¹ worse than O(n). The constant factor added by the

Full dependency resolution is NP-hard... If you really wanted to
streamline the algorithms, you'd change the inputs slightly. Most of
the complexity of doing a decent job of dependency resolution comes from
dealing with crap input.

 ¹ For a large enough n.

...which could be larger than the number of atoms in the universe.
There are real world cases where an algorithm has an O(n^3) step that
takes a day, and a O(2^n) step that takes a second for most inputs. You
shouldn't be using O() to make performance comparisons.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] Question, Portage QOS v2

2014-01-10 Thread Ciaran McCreesh
On Fri, 10 Jan 2014 21:46:18 +0400
Igor lanthrus...@gmail.com wrote:
 And one more goal - without PortageQOS you're forever stuck with
 the legacy portage design.
 
 If the team ever decides to change Portage you'll need feedback
 on how the new portage works to patch it quickly in case there are
 troubles. It's too risky to touch portage right now. Everyone
 understands that this is a kamikaze job. 

Uh, no. We already know lots of things that are wrong with the Portage
design. We also know how to fix those things. Neither of those is the
sticking point.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: [PATCH] To enable ssp default in Gcc the toolchain.eclass need some changes.

2014-01-10 Thread Rick Zero_Chaos Farina
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 01/10/2014 10:50 AM, Ryan Hill wrote:
 On Fri, 10 Jan 2014 01:35:09 -0500
 Rick \Zero_Chaos\ Farina zeroch...@gentoo.org wrote:
 
 More to the point, this specific use flag appears to have no purpose
 what-so-ever.  If a user can do exactly the same with
 CFLAGS=-fno-stack-protector in make.conf, and it would be INSANE for a
 package to dep on gcc[nossp] then this is has got to be one of the most
 useless use flags in gentoo.
 
 Having slept on it I'm starting to agree.  My first argument was that on
 hardened ssp is -fstack-protector-all, which is much more expensive, and it
 adds -fstack-check and -z,now to the linker by default as well.  The pie half
 adds -fPIE but also a crtbeginP section for linking static libs with -pie.  So
 there are situations where you want to disable one or both, if only for
 testing.  But what I forgot is that hardened installs multiple gcc-config
 profiles to switch these out on the fly.  So there goes that idea.
 
 It might be useful to have these flags so we can mask them on archs that don't
 support ssp/pie.  But that's always been true and it looks like sh is the only
 place we've bothered for some reason.
 
 Not saying I would block this patch, not saying it has to be this
 second, but I see this use flag as a small example of things in
 toolchain which could probably be cleaned up if fresh eyes were to see
 things.
 
 Yes, and believe it or not I appreciate the input.  I know I'm stubborn as 
 hell
 but eventually common sense gets through.

Well, that's why I asked for your opinion ;-)  Now since I know you have
plenty to do I'll leave you with this though bouncing around in there.
When you are working on your updates, we would prefer that this nopie
and nossp flags to bye bye.  If you REALLY wanted a way to change the
gcc profile then do for the normal users what the hardened team does and
offer them multiple profiles.  Obviously we should involved docs team at
that point, but it makes much more sense to gcc-config 3 than rebuild
gcc with a different use flag.

Again, doesn't have to be this second, but I want it in your head since
I know you are working on this stuff right now.

Thanks!
Zero
 
 

-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.22 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJS0D3YAAoJEKXdFCfdEflK1HEP/jdF9nwxpDde8j4PMypeZSm8
FKG0l3MmMr6+2joKkgZSLqVebiTcc8OtCgpk6UJJVEWSpNMWqrjqX5oTkIBAJisr
sGUVGJEAyDCCsNJwTtbW/sBKw5r5Xh1zLk92T55YhaWBMTJPc4UzSqhpr+TBZ8wJ
T77XOIPtxOdZYjubGqIm4lSWsgT/o0F0S6kge75iYm81omuBtZpAze6ePE2DteTj
IinauiMUhqkTYXv6AXdBNv4dDLiInyDrdlUIFbWlawxsx64Wpt77j3jA2fHrRmEf
8MPvoRzLpX/7DPMDaS3WyGBVpM8CPNTaxQiXjC+giXNj4jkJyop/m6Q4a00wYvQg
C+1o6JMEsYNlrIuSooInFxQ5OqARzna4lFc7Jp6+eMaBE4NhYkPkxJ7KOerD3IvI
yW1lSN5gte/zxgm3Ny/96Zw/6+Jx5ffQNc8bCgE2+TxDG0wwB5qZGn/w6dl6gFYX
jXD5dFmw3C5T2HhTIZ6j9n8b0MNkT71CzFA2O4EzEyPrI3b8KTmU6PkppT/Vwlo4
EHc/EUWdjSCPH/FzzJdcNbFUdvLCigZQqvaggN3Qjh/YyJRECXz6Hy2M8VTOg18a
XVE36Z5/DNeobeBQ5XaKLcb5po22wJueJzKFdEK+GaSewzn+FXsNCquVZV9Y3lZC
epKNxmbxtX/Uqx8q9+74
=++P6
-END PGP SIGNATURE-



Re: [gentoo-dev] Portage QOS

2014-01-10 Thread René Neumann
Am 10.01.2014 19:19, schrieb Ciaran McCreesh:
 On Fri, 10 Jan 2014 14:18:24 +0100
 René Neumann li...@necoro.eu wrote:
 And again: What is needed is streamlining the algorithms (discussion
 on that already started as far as I could notice). An algorithm in
 O(n³) is always¹ worse than O(n). The constant factor added by the
 
 Full dependency resolution is NP-hard... 

Though NP-hard does not necessarily mean 'unfeasible in practice'.

 If you really wanted to
 streamline the algorithms, you'd change the inputs slightly. Most of
 the complexity of doing a decent job of dependency resolution comes from
 dealing with crap input.

My intention really was not to tell anybody how the depres algorithms
should be improved. I just wanted to make a point against the 'Python is
the root of all the bad performance'.

 ¹ For a large enough n.
 
 ...which could be larger than the number of atoms in the universe.
 There are real world cases where an algorithm has an O(n^3) step that
 takes a day, and a O(2^n) step that takes a second for most inputs. You
 shouldn't be using O() to make performance comparisons.
 

Point taken. I should've use 'in general' instead of 'always'. What I
had in mind when writing this were more smaller problems, where a good
algorithm exists but people use their own naïve implementation/data
structure.

- René



[gentoo-dev] Re: Portage QOS

2014-01-10 Thread Duncan
Chris Reffett posted on Thu, 09 Jan 2014 16:08:39 -0500 as excerpted:

 To keep in power it's in your deepest interest to close the open gates
 that invite competition while the power is in your hands.

 PortageQOS is small step, it's not everything or main part of the
 system, it's a just small contribution. But it will close the door and
 you'll have another peaceful 8 years to rule.
 
 Right here is the big problem: you're not looking at this from the
 perspective of the average Gentoo developer. We don't care about market
 share. We don't care whether we're on top for another few years. There
 are several forks of Gentoo. I doubt most devs care about them.

Agreed with Chris.

@ Igor:

Closed... open.  You clearly don't seem to get it.

There's a reason it's called open source, contrasting favorably with 
closed source.  You're seriously pushing deliberately closing the door 
on people's choice?  That's typical closed-source methology, and what 
many FLOSS folks would consider the antithesis of the entire reason they 
do what they do.  And that's your sales point, to a community-based open-
source-based distro, not to some closed source company like MS?

If Gentoo dies, well, rest in peace, Gentoo, it was good while it lasted, 
but people moved on to something that suited their needs better.

That's the whole point.  If people are more comfortable with a binary 
distro, there's lots of them available, and many gentoo users and devs 
are even happy to take some time to listen to what a user needs and make 
the best recommendation they can about a distro that fits that need.  If 
people want a distro that's near as expert level and with near the choice 
of gentoo, but don't want to /always/ have to build /everything/ from 
source, Arch Linux is over that way, or if you want to stick with the 
general gentoo idea but want a few tweaks, Funtoo's over that way, and 
Sabayon is over there.  And if they want to go full-out and build 
/everything/ from source without gentoo's automated framework, well, 
Linux from Scratch is right over yonder too!

The thing is, we don't see this as a game where if those distros win, we 
lose, or if we win, they lose.  Instead, we're different players on the 
same team, and if we can helpfully direct users their way that are more 
comfortable with them than with us, great, and we'll hope they'll do the 
same with people who might be more comfortable here, too, but we're not 
making that a condition of our directing people we know will be more 
comfortable there to them.

Similarly, we're on the same team when it comes to patches.  No distro or 
their developers/maintainers want the *FULL* burden of supporting all 
those packages, and if Gentoo devs can find a Fedora or Debian patch that 
solves a problem we too have, or if we came up with a patch first that 
solves a problem they're having too, great, have at it!

And in all that, if Gentoo's former devs and users all end up on Arch or 
LFS instead, as I said, rest in peace, Gentoo, it was good having known 
you, but your time appears to have been up, and others took your place.

But you're talking deliberately closing doors and walling in users so 
they don't switch, instead of happily pointing them at distros they'd 
obviously be more comfortable with.  WTF is that sort of attitude doing 
here in free/libre and open source in the first place?  That's more the 
walled garden Apple or MS approach, not FLOSS.

Meanwhile, you might try googling Zynot.  That was one early, perhaps the 
first, Gentoo fork.  Such talk of cutthroat competition in a zero-sum 
game, of deliberately cutting off user options so they'd be forced to 
stick with you, of it can be us or them, not both, etc, was exactly the 
sort of thing they tried.  That was 2002/2003 or so.  While the events 
and acrimony surrounding that did ultimately drive Gentoo's founder 
(Daniel Robbins) elsewhere, Gentoo survived (thanks in part to drobbins' 
efforts to secure a good future for it even at heavy personal cost to 
himself and his family as he was already in the process of leaving).  
Gentoo's still here, but where is zynot today?

I remember back in early 2004 as I was researching my switch to gentoo, 
reading up on zynot, which was at that time still a going concern, and 
repeatedly asking myself as I read the essays from zynot's founder 
heavily criticizing gentoo and its founder, why can't he see what's 
happening, that every single thing he's negatively pointing at in gentoo 
and drobbins he and zynot are doing themselves in far greater measure, 
and why he was so stuck on closed source competitive techniques in an 
open source world.  His very essays, supposedly criticizing gentoo, 
instead ended up convincing me more than ever that gentoo was /exactly/ 
the right choice for me. =:^)

And... gentoo's still here, but where is zynot, today?  I think I made 
the right choice then, and I'm still convinced it was then and remains 
now, the right choice, for me, 

Re: [gentoo-dev] Re: [PATCH] To enable ssp default in Gcc the toolchain.eclass need some changes.

2014-01-10 Thread Anthony G. Basile

On 01/10/2014 10:50 AM, Ryan Hill wrote:

On Fri, 10 Jan 2014 01:35:09 -0500
Rick \Zero_Chaos\ Farina zeroch...@gentoo.org wrote:


More to the point, this specific use flag appears to have no purpose
what-so-ever.  If a user can do exactly the same with
CFLAGS=-fno-stack-protector in make.conf, and it would be INSANE for a
package to dep on gcc[nossp] then this is has got to be one of the most
useless use flags in gentoo.


Having slept on it I'm starting to agree.  My first argument was that on
hardened ssp is -fstack-protector-all, which is much more expensive, and it
adds -fstack-check and -z,now to the linker by default as well.  The pie half


I'm pretty sure we're not adding -fstack-check unless something has 
changed.  Where are you seeing that?


The reason I'm concerned is because of situations like bug #471756. 
stack-check incumbers a register which in some situations (like the asm 
in ffmpeg) can get you into trouble with not enough GENERAL_REGS.



adds -fPIE but also a crtbeginP section for linking static libs with -pie.  So
there are situations where you want to disable one or both, if only for
testing.  But what I forgot is that hardened installs multiple gcc-config
profiles to switch these out on the fly.  So there goes that idea.

It might be useful to have these flags so we can mask them on archs that don't
support ssp/pie.  But that's always been true and it looks like sh is the only
place we've bothered for some reason.


Yes please.  I had this issue on mips where gcc didn't support ssp for 
early versions of gcc 4.x.





Not saying I would block this patch, not saying it has to be this
second, but I see this use flag as a small example of things in
toolchain which could probably be cleaned up if fresh eyes were to see
things.


Yes, and believe it or not I appreciate the input.  I know I'm stubborn as hell
but eventually common sense gets through.





--
Anthony G. Basile, Ph. D.
Chair of Information Technology
D'Youville College
Buffalo, NY 14201
(716) 829-8197



[gentoo-dev] Re: Question, Portage QOS v3

2014-01-10 Thread Duncan
Igor posted on Fri, 10 Jan 2014 21:26:47 +0400 as excerpted:

 PS No way PortageQOS will work without uniform agreement. That thing was
 missing from portage design from the start and now with the legacy it's
 either everyone is willing to give it a try or none. I don't want to
 push somebody to something he doesn't see purpose for. There are people
 here who spent lots of time on the project and it might be left as is if
 they don't want any change.

In that case, don't bother, because as the saying goes, attempting to get 
100% agreement on /anything/ in gentoo is like herding cats.  It simply 
Does. Not. Work.

The closest gentoo gets to 100% agreement is the ones who disagree 
agreeing to yield to the council's decision and shut up for the sake of 
maintaining the peace, believing time will eventually prove their point.  
Or they don't, and they ultimately end up either deciding to go elsewhere 
than gentoo on their own, or get booted by devrel, appeal to council goes 
against them, and undertakers and infra shut down their dev access 
permanently.

In fact, some of those people ended up with exherbo (which AFAIK is a 
play on ex=former, and gentoo's larry the cow mascot) or other projects 
which you would consider entirely competing.  Yet there's a few devs that 
contribute to both projects, and paludis is an accepted portage 
alternative, with PMS accepted (grudgingly by some devs) and declared by 
council to be a defining guideline for in-tree ebuilds.  And both those 
projects are originally/primarily exherbo authored/contributed.

-- 
Duncan - List replies preferred.   No HTML msgs.
Every nonfree program has a lord, a master --
and if you use the program, he is your master.  Richard Stallman




Re: [gentoo-dev] Question, Portage QOS v3

2014-01-10 Thread Michał Górny
Dnia 2014-01-10, o godz. 21:26:47
Igor lanthrus...@gmail.com napisał(a):

 As there are more questions rose.  See you can't just think of everything, 
 what you need is an ability to improve fast :-)

A starting note:

You've started *four* threads on the same subject *today* already.
As a result, the whole discussion is shattered all over the place
and if someone really wants to know all the details, he has to lose
*a lot of time* reading all the individual threads and trying to
compare and assemble.

Please don't do that. Just start a single thread, and try to keep
that discussion on subject.

 In project like that I can't rush to programming it without
 everyone's approval. This part of the project should have been
 implemented with the first portage version by it's creator. But as
 I'm not this person I'll need the expertise of the whole community.

I don't know what kind of approval do you expect. I don't think Gentoo
ever was much about 'officially approved', and I doubt we can give you
any meaningful answer without prior testing.

If you think it will be beneficial, start working on it. Once you get
it working and we can see how it works, we can consider making it
official.

However, I'm afraid many of Gentoo users will not be interested in
participating, or only interested in partial participation. What you're
suggesting implies sending a lot of potentially private information.

Many of our users will be concerned by that. I can't imagine it being
any other way than opt-in. Then, many of our users will simply not
care. As someone in the thread already noted, many of our users don't
care about linuxcounter. Do you think they will actually care about
your project?

Not that I'm against it. I'm just trying to be realistic here. To
convince Gentoo users, you have to really convince them that their
privacy will be respected and they will be able to make most of it
having to submit the least amount of data.

This also implies that the output has to be really useful. But that's
an entirely different topic that can't be answered without more
thorough thinking.

 Let's agree on following - I'll design the system in details on paper
 but no code will be produced at this stage.
 
 When it's ready (~ 1.5 months) I'll get back here and share the design
 sketches with you.

To be honest, I think ~1.5 month of paperwork sounds like serious
overcomplexity. Please also remember that we're very limited on time,
and work of ~1.5 month sounds like something we won't be able to read.

Please try to think in smaller parts. Small, useful tools that could be
integrated in the future to provide a better experience.

Also, please try to look for other Gentoo projects that worked on
similar topics, gentoostats for example. You may make use of some of
the past experiences.

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


[gentoo-dev] Re: [PATCH] To enable ssp default in Gcc the toolchain.eclass need some changes.

2014-01-10 Thread Ryan Hill
On Fri, 10 Jan 2014 15:08:02 -0500
Anthony G. Basile bas...@opensource.dyc.edu wrote:

 On 01/10/2014 10:50 AM, Ryan Hill wrote:
  Having slept on it I'm starting to agree.  My first argument was that on
  hardened ssp is -fstack-protector-all, which is much more expensive, and it
  adds -fstack-check and -z,now to the linker by default as well.  The pie
  half
 
 I'm pretty sure we're not adding -fstack-check unless something has 
 changed.  Where are you seeing that?
 
 The reason I'm concerned is because of situations like bug #471756. 
 stack-check incumbers a register which in some situations (like the asm 
 in ffmpeg) can get you into trouble with not enough GENERAL_REGS.

40_all_gcc48_config_esp.patch:

  54 +   #if defined ( EFAULT_SSP ) || defined ( EFAULT_PIE_SSP )
  55 +   #define ESP_OPTIONS_SSP_SPEC \
  56 +   %{nostdlib|nodefaultlibs|ffreestanding|fno-stack-protector| \
  57 +   fstack-protector|fstack-protector-all:;:-fstack-protector-all} 
\
  58 +   %{fstack-check|fstack-check=*:;: -fstack-check}

  It might be useful to have these flags so we can mask them on archs that
  don't support ssp/pie.  But that's always been true and it looks like sh is
  the only place we've bothered for some reason.
 
 Yes please.  I had this issue on mips where gcc didn't support ssp for 
 early versions of gcc 4.x.

There's a list of arches in every gcc ebuild that support PIE and SSP for
both glibc and uclibc.  AFAICT you would just have to remove mips from that
list.


-- 
Ryan Hillpsn: dirtyepic_sk
   gcc-porting/toolchain/wxwidgets @ gentoo.org

47C3 6D62 4864 0E49 8E9E  7F92 ED38 BD49 957A 8463


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: About pam herd status

2014-01-10 Thread Mike Frysinger
On Thursday 09 January 2014 15:24:00 Diego Elio Pettenò wrote:
 On 9 January 2014 20:20, Mike Frysinger vap...@gentoo.org wrote:
  well, the sep herd was kind of by design ... i didn't want it cluttering
  up base-system@ and it is super convenient to abdicate all PAM decisions
  to a single herd.
 
 Yeah the problem has been that the herd has been fundamentally a single
 person, and when said single person asked for the rest of the users
 of/providers for PAM to accentrate on a single package, they ignored/worked
 around problems instead of reporting/discussing them.

how would moving it to base-system make any difference ?  people doing it wrong 
wouldn't really care which herd pam itself is owned by.
-mike


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: Portage QOS

2014-01-10 Thread heroxbd
Duncan 1i5t5.dun...@cox.net writes:

 Meanwhile, you might try googling Zynot.  That was one early, perhaps the 
 first, Gentoo fork.  Such talk of cutthroat competition in a zero-sum 
 game, of deliberately cutting off user options so they'd be forced to 
 stick with you, of it can be us or them, not both, etc, was exactly the 
 sort of thing they tried.  That was 2002/2003 or so.  While the events 
 and acrimony surrounding that did ultimately drive Gentoo's founder 
 (Daniel Robbins) elsewhere, Gentoo survived (thanks in part to drobbins' 
 efforts to secure a good future for it even at heavy personal cost to 
 himself and his family as he was already in the process of leaving).  
 Gentoo's still here, but where is zynot today?

 I remember back in early 2004 as I was researching my switch to gentoo, 
 reading up on zynot, which was at that time still a going concern, and 
 repeatedly asking myself as I read the essays from zynot's founder 
 heavily criticizing gentoo and its founder, why can't he see what's 
 happening, that every single thing he's negatively pointing at in gentoo 
 and drobbins he and zynot are doing themselves in far greater measure, 
 and why he was so stuck on closed source competitive techniques in an 
 open source world.  His very essays, supposedly criticizing gentoo, 
 instead ended up convincing me more than ever that gentoo was /exactly/ 
 the right choice for me. =:^)

Wow... What a history! I am educated. Thanks for sharing.

I've always been interested in my distro's history. The information
scatters here and there. It'll be nice if some senior/retired developers
write up a Gentoo history on wiki.g.o :)

Benda



Re: [gentoo-dev] Re: About pam herd status

2014-01-10 Thread Diego Elio Pettenò
On 10 January 2014 22:20, Mike Frysinger vap...@gentoo.org wrote:

 how would moving it to base-system make any difference ?  people doing it
 wrong
 wouldn't really care which herd pam itself is owned by.


I'm not saying it makes a difference, sorry I didn't make it clear.


Diego Elio Pettenò — Flameeyes
flamee...@flameeyes.eu — http://blog.flameeyes.eu/


[gentoo-dev] Re: Portage QOS

2014-01-10 Thread Duncan
heroxbd posted on Sat, 11 Jan 2014 07:36:57 +0900 as excerpted:

 Duncan 1i5t5.dun...@cox.net writes:
 
 Meanwhile, you might try googling Zynot.  That was one early, perhaps
 the first, Gentoo fork.

 I remember back in early 2004
 
 Wow... What a history! I am educated. Thanks for sharing.
 
 I've always been interested in my distro's history. The information
 scatters here and there. It'll be nice if some senior/retired developers
 write up a Gentoo history on wiki.g.o :)

FWIW, I did my research and ended up on gentoo after the split was 
basically done, tho zynot was still around at the time.  As such, I don't 
have a lot of personal experience with it, but it was still close enough 
that most of the gentoo devs of the time did have personal experience.

What I do know is that it was a very bitter experience for many, and most 
that lived thru it, like many survivors of a lot of particularly man-made 
tragedies, considered the experience something that they and gentoo had 
survived, and were /extremely/ glad it was over, but weren't much for 
talking about it.

At a safe historic distance of a decade in the past, perhaps some might 
talk about it now, but I'd guess for many, it's just not worth reliving, 
except, $deity forbid, should there be a danger of something similar 
occurring again.  Too many bitter recriminations.  Too many previous 
friends lost to the split...

But I was close enough time-wise to appreciate the seriousness and 
tragedy of the event, while not being part of it myself, so I don't have 
those old wounds to rip back open by talking about it.  Apologies to the 
long-time devs still here for whom I'm doing just that, but it /is/ 
history now, and as the saying goes, those who don't know history are 
bound to repeat it, something I'm absolutely sure NOBODY involved would 
want, so...

From what I understand, this guy /had/ been effectively drobbins' right-
hand-man for a time.  He had business connections and had been 
instrumental in parlaying some of them into gentoo sponsorships at a time 
when it was much younger and needed them, and he was a good PR guy.  The 
gentoo dev community was smaller and closer knit at the time, and many 
had considered this guy and the devs that ultimately left with him 
personal friends.  That made the hurt /much/ worse. =:^(

What I've always wondered is what the devs who went with him thought; how 
he persuaded them, /their/ side of the story.  I knew /his/ side of the 
story from reading his essays attacking gentoo and drobbins, and I knew 
at least enough about the gentoo side to be convinced that the gentoo 
side was where I should be, but coming in shortly after as I did, I never 
had any contact with or read anything from any of the devs that left with 
him, and I obviously didn't know them previously, so their side of the 
story, why he convinced them to go zynot (other than the obvious, that 
any persuasive argument must have /some/ element of truth), I'll never 
know.  Meanwhile, I'm /quite/ aware that my own view and recounting of 
the history I know is quite colored by my own position, and definitely 
/must/ suffer to some degree from the victor rewriting history 
phenomenon.  I'm sure if I had a better view of the picture as the devs 
who left for zynot saw it, that people who left view would be rather 
different, and regardless of whether I agreed with it or not, it would 
certainly color my own view and thus recounting of the facts as I am 
aware of them.  Worth keeping in mind...

Meanwhile, that /some/ bit of truth, AFAIK, revolved around the fact that 
while gentoo had settled on the GPLv2 for code and similarly free general 
documentation licenses, drobbins was apparently asking for copyright 
rights, with a policy of copyright everything gentoo, which drobbins held 
the rights to, with the ownership rights becoming the core of the fight.  
There had been some talk of some sort of a gaming distro (I'm fuzzy on 
the details), apparently drobbins' big idea, and as a base for embedded, 
this guy's big idea and ultimately zynot's target for funding, etc.  This 
guy accused drobbins of intending to do the gaming thing then take 
everything private.  As I wasn't there and am not drobbins, I can't say 
for sure what drobbins ultimate idea and motives were, but as I read this 
guy's essays, I kept shouting at the monitor, But if he intended to go 
private and deprive other contributors of their just due, why GPLv2, not 
MIT/BSD, which would make that so much easier?  Of course as we know 
from the MySQL/Sun/Oracle events, with all rights a company can still go 
private, using the GPL to maintain an unfair advantage over others who 
can't take it private because they don't have the copyrights, only the GPL 
version.  But even so, again as the MySQL/Oracle/MariaDB events, and the 
Sun/Oracle/OpenOffice/LibreOffice events as well demonstrate, if that's 
against the wishes of an already active and developed community, that 
community can 

Re: [gentoo-dev] Portage QOS

2014-01-10 Thread Patrick Lauer
On 01/11/2014 02:11 AM, Ciaran McCreesh wrote:
 On Fri, 10 Jan 2014 08:31:21 +0800
 Patrick Lauer patr...@gentoo.org wrote:
 On 01/10/2014 08:16 AM, hero...@gentoo.org wrote:
 Igor lanthrus...@gmail.com writes:

 The ebuilds have approximately the same time to install, the
 failure rate is about the same, emerge is getting slower.

 I am curious about the slowness of emerge.

 How about profile the portage and rewrite the time-crucial part in
 C/C++, or ideally, borrowing the counterpart from paludis? How
 feasible is that?

 Last I checked paludis wasn't faster - on average portage was a few
 percents faster.
 
 Your benchmark was comparing uncached behaviour, where bash is the slow
 part and which users don't see.
Wrong - even the cached cases was showing the same timing proportions.

And users see the uncached case whenever they use an overlay.

 You were also not comparing like with
 like -- any benchmarks of this nature should be taken with a heavy
 pinch of salt, since Portage with everything turned on does less
 validation that Paludis does with everything turned off...
 
Not my problem, bad code is bad.



Re: [gentoo-portage-dev] Commit Policy

2014-01-10 Thread Alexander Berntsen
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Sounds good. A couple of comments,

On 10/01/14 11:35, Brian Dolbec wrote:
 General rule is to submit all patches to this list for review and 
 approval before committing.
s/committ/push

 1) run pyflakes on your changes to check for faults, misssing 
 imports, variables undefined,...
I recommend getting editor plug-ins that do this for you. syntastic is
great for vim.
- -- 
Alexander
alexan...@plaimi.net
http://plaimi.net/~alexander
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.22 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iF4EAREIAAYFAlLQtAkACgkQRtClrXBQc7WjhAD/XZtujqvP+UgX1Vg94rb3g2HJ
0BIeCLMj+tWvcj5mzfQA/iuP05SmTJx8taAZrZxdXmSaax1dwHD6De9G+U1TfGYa
=FdTX
-END PGP SIGNATURE-



[gentoo-portage-dev] [PATCH] Check for and report read-only filesystems

2014-01-10 Thread Chris Reffett
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi all,
Attached is a patch to test if Portage is going to write to a
read-only filesystem and print out the list of filesystems that need
to be remounted RW. This leaves ${D} intact rather than having some
files moved before hitting the RO filesystem. Fixes bug 378869. Since
git.overlays.gentoo.org is down, I haven't had the chance to rebase
this against latest, but I can resubmit if it doesn't cleanly apply.
This is my first patch to the list, so I apologize if I didn't submit
correctly.

Chris Reffett
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.22 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iKYEARECAGYFAlLQtYhfFIAALgAoaXNzdWVyLWZwckBub3RhdGlvbnMub3Bl
bnBncC5maWZ0aGhvcnNlbWFuLm5ldEM2NzU5RjUyMDczREJDQkVDQTBDRkE1NERC
Nzk1QThBNDI2MTgzNTQACgkQ23laikJhg1SCCgCfZIo57KiijmACnDTa2vC9UMAb
9YwAoIhnc/nHDcIXBbzF9Tie3eTJyWpH
=j/1A
-END PGP SIGNATURE-
From c464ac5e0007a087def9a96efea9653e508e57c1 Mon Sep 17 00:00:00 2001
From: Chris Reffett creff...@gentoo.org
Date: Fri, 10 Jan 2014 09:03:26 -0500
Subject: [PATCH] Test for read-only filesystems, bail out during preinst if
 there are any which will be written to and display a useful error message.
 Fixes bug 378869.

---
 pym/portage/dbapi/vartree.py   | 31 
 pym/portage/util/checkwriteable.py | 49 ++
 2 files changed, 80 insertions(+)
 create mode 100644 pym/portage/util/checkwriteable.py

diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
index ed62323..8ae7014 100644
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@ -28,6 +28,7 @@ portage.proxy.lazyimport.lazyimport(globals(),
 	'portage.util:apply_secpass_permissions,ConfigProtect,ensure_dirs,' + \
 		'writemsg,writemsg_level,write_atomic,atomic_ofstream,writedict,' + \
 		'grabdict,normalize_path,new_protect_filename',
+	'portage.util.checkwriteable:check_dirs_writeable',
 	'portage.util.digraph:digraph',
 	'portage.util.env_update:env_update',
 	'portage.util.listdir:dircache,listdir',
@@ -3508,6 +3509,8 @@ class dblink(object):
 		
 		This function does the following:
 		
+		calls check_dirs_writeable to verify that no files will be
+		written to read-only filesystems
 		calls self._preserve_libs if FEATURES=preserve-libs
 		calls self._collision_protect if FEATURES=collision-protect
 		calls doebuild(mydo=pkg_preinst)
@@ -3685,6 +3688,7 @@ class dblink(object):
 			eagain_error = False
 
 			myfilelist = []
+			mydirlist = []
 			mylinklist = []
 			paths_with_newlines = []
 			def onerror(e):
@@ -3717,6 +3721,9 @@ class dblink(object):
 	unicode_errors.append(new_parent[ed_len:])
 	break
 
+relative_path = parent[srcroot_len:]
+mydirlist.append(/ + relative_path)
+
 for fname in files:
 	try:
 		fname = _unicode_decode(fname,
@@ -3829,6 +3836,30 @@ class dblink(object):
 			for other in others_in_slot])
 		prepare_build_dirs(settings=self.settings, cleanup=cleanup)
 
+		# Check for read-only filesystems
+		rofilesystems = check_dirs_writeable(mydirlist)
+
+		if rofilesystems:
+			msg = _(One or more files installed to this package are 
+set to be installed to read-only filesystems. 
+Please mount the filesystems below read-write 
+and retry.)
+			msg = textwrap.wrap(msg, 70)
+			msg.append()
+			for f in rofilesystems:
+msg.append(\t%s % os.path.join(destroot,
+	f.lstrip(os.path.sep)))
+			msg.append()
+			self._elog(eerror, preinst, msg)
+
+			msg = _(Package '%s' NOT merged due to read-only file systems.) % \
+self.settings.mycpv
+			msg += _( If necessary, refer to your elog 
+messages for the whole content of the above message.)
+			msg = textwrap.wrap(msg, 70)
+			eerror(msg)
+			return 1
+
 		# check for package collisions
 		blockers = self._blockers
 		if blockers is None:
diff --git a/pym/portage/util/checkwriteable.py b/pym/portage/util/checkwriteable.py
new file mode 100644
index 000..9bd9056
--- /dev/null
+++ b/pym/portage/util/checkwriteable.py
@@ -0,0 +1,49 @@
+#-*- coding:utf-8 -*-
+# Copyright 2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+from __future__ import unicode_literals
+
+import re
+
+from portage.util import writemsg
+from portage.localization import _
+
+
+def check_dirs_writeable(dir_list):
+	
+	Use /proc/mounts to check that no directories installed by the ebuild are set to
+	be installed to	a read-only filesystem
+
+	@param dir_list: Directories installed by the ebuild
+	@type dir_list: List
+	@return:
+	1. A list of filesystems which are both set to be written to and are mounted
+	read-only, may be empty.
+	
+	ro_filesystems = set()
+	ro_filesystems_written = set()
+
+	try:
+		with open(/proc/mounts) as procmounts:
+			roregex = re.compile(r'(\A|,)ro(\Z|,)')
+			for line in procmounts:
+if roregex.search(line.split( )[3].strip()) is not None:
+	romount = 

Re: [gentoo-portage-dev] [PATCH] Check for and report read-only filesystems

2014-01-10 Thread Brian Dolbec
On Fri, 2014-01-10 at 22:07 -0500, Chris Reffett wrote:
 Hi all,
 Attached is a patch to test if Portage is going to write to a
 read-only filesystem and print out the list of filesystems that need
 to be remounted RW. This leaves ${D} intact rather than having some
 files moved before hitting the RO filesystem. Fixes bug 378869. Since
 git.overlays.gentoo.org is down, I haven't had the chance to rebase
 this against latest, but I can resubmit if it doesn't cleanly apply.
 This is my first patch to the list, so I apologize if I didn't submit
 correctly.
 
 Chris Reffett


yeah, patch looks good.

Only thing I didn't like is the return 1  IS that suppose to be True or
sys.exit() value?

If that is what the module was using, then it's ok.  Personally I'm not
a fan of using 0, 1 for False, True.

But that will come later...


signature.asc
Description: This is a digitally signed message part