[gentoo-dev] [RFC] [epatch_user] Proposal: add possibility to tolerable-fail for some patches (plus add groupping support)

2014-06-15 Thread Vadim A. Misbakh-Soloviov
My idea is to allow failing for some patches without breaking build at all. 
And, in parallel, to
add groupping.

How I imagine that:

etc/portage/patches/app-cat/name/
|
| - group_name/
| |
| |- 01_foo.patch
| |- 02_bar.patch
| |- ...
|
|- 01_moo.patch
|- 99_meow.patch

Where every first-level piece (patch or group) in 
```etc/portage/patches/app-cat/name/``` MAY
tolerably fail (not causing die for emerge), but if one of the patches inside 
the group fails, then
group MUST NOT be applied at all (and all previously applied patches from this 
group MUST be
reversed).


Any objections/approvals/suggestions?




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


Re: [gentoo-dev] [RFC] [epatch_user] Proposal: add possibility to tolerable-fail for some patches (plus add groupping support)

2014-06-15 Thread Michał Górny
Dnia 2014-06-15, o godz. 16:06:57
Vadim A. Misbakh-Soloviov m...@mva.name napisał(a):

 My idea is to allow failing for some patches without breaking build at all. 
 And, in parallel, to 
 add groupping.
 
 How I imagine that:
 
 etc/portage/patches/app-cat/name/
 |
 | - group_name/
 | |
 | |- 01_foo.patch
 | |- 02_bar.patch
 | |- ...
 |
 |- 01_moo.patch
 |- 99_meow.patch
 
 Where every first-level piece (patch or group) in 
 ```etc/portage/patches/app-cat/name/``` MAY 
 tolerably fail (not causing die for emerge), but if one of the patches 
 inside the group fails, then 
 group MUST NOT be applied at all (and all previously applied patches from 
 this group MUST be 
 reversed).

Just don't.

Or more specifically: it's not worth the effort, the extra complexity,
the confusion and the wholesale mess involved.

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] [RFC] [epatch_user] Proposal: add possibility to tolerable-fail for some patches (plus add groupping support)

2014-06-15 Thread hasufell
Vadim A. Misbakh-Soloviov:
 My idea is to allow failing for some patches without breaking build at all. 
 And, in parallel, to 
 add groupping.
 
 How I imagine that:
 
 etc/portage/patches/app-cat/name/
 |
 | - group_name/
 | |
 | |- 01_foo.patch
 | |- 02_bar.patch
 | |- ...
 |
 |- 01_moo.patch
 |- 99_meow.patch
 
 Where every first-level piece (patch or group) in 
 ```etc/portage/patches/app-cat/name/``` MAY 
 tolerably fail (not causing die for emerge), but if one of the patches 
 inside the group fails, then 
 group MUST NOT be applied at all (and all previously applied patches from 
 this group MUST be 
 reversed).
 
 
 Any objections/approvals/suggestions?
 
 
 

How does epatch know if I want a patch to cause || die or not?

The only use case I see here is don't want to clean up old patches.



[gentoo-dev] Eclass vs EAPI For Utility Functions (Patching/etc)

2014-06-15 Thread Rich Freeman
I debated where to post this, but the topic is fairly dev-oriented and
has big long-term impact so I landed here.  This really isn't
organizational in nature.

During the council meeting there was a bit of a philosophical debate
over the proper role of EAPI vs implementing functions in eclasses.  I
felt that it was important enough to at least get more community input
before we continue voting on features like user patching/etc which
tend to favor an EAPI-based approach.

I'll try to fairly frame the arguments, though I personally lean in
the EAPI direction and I'll leave it to somebody else to fix my straw
man.


The Eclass argument goes like this:
Eclasses already work in every PM.  Half of what we're debating is
already in eutils.  Why move this code into the PM, where it has to be
re-implemented everywhere?  If anything we should be moving more PM
functionality out and into eclasses where we can have competing
implementations and more flexibility.


The EAPI argument goes like this:
Sure, you can have 14 different implementations of epatch which lets
each maintainer use the one that makes the most sense.  However, who
wants to edit an ebuild which uses a bad epatch implementation and
re-learn how to add a patch?  Adding patches is a common thing, so why
not have a standard way to do it?  We can still have eclasses for
one-offs.  And how can you ever do something like user patches when
they will only work if the maintainer cares to support them?


I view this as not being unlike dealing with programs that encourage
the use of Turing-complete configuration files.  Sure, they give you a
lot more power, but that power comes at a cost.  Sendmail config files
are a running joke, and if you want to control the niceness or
ioniceness of an OpenRC service then you're going to have to read the
script and possibly patch it.

When there is no value in everybody doing things differently, why not
just do them the same way?

Besides, I think user-patches are a GREAT feature to have, and one I
use all the time (without even thinking about it if a package with a
patch gets rebuilt).  As I said in the meeting, if we were selling
Gentoo to make money, it would be the sort of feature that you'd
advertise.  Why make it hard to use such a distinctive advantage of a
source-based distro?

Since this month is the last one for this Council term as an added
bonus you stack the next Council with folks who agree with you on this
one...  :)

Rich



Re: [gentoo-dev] Eclass vs EAPI For Utility Functions (Patching/etc)

2014-06-15 Thread Ciaran McCreesh
On Sun, 15 Jun 2014 07:00:15 -0400
Rich Freeman ri...@gentoo.org wrote:
 The Eclass argument goes like this:
 Eclasses already work in every PM.  Half of what we're debating is
 already in eutils.  Why move this code into the PM, where it has to be
 re-implemented everywhere?  If anything we should be moving more PM
 functionality out and into eclasses where we can have competing
 implementations and more flexibility.

The big problem with eclasses is that they're far too messy and
complicated. Sure, you can *technically* express (say) ABI dependencies
using a complicated eclass which translates them into a convoluted
series of use dependencies, nested || dependencies etc (more or less
correctly most of the time). But the package mangler is being given less
information that way, which means it has to have all sorts of dodgy
heuristics to deal with them, and can't give good error messages when
it breaks.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] [RFC] [epatch_user] Proposal: add possibility to tolerable-fail for some patches (plus add groupping support)

2014-06-15 Thread Tom Wijsman
On Sun, 15 Jun 2014 16:06:57 +0700
Vadim A. Misbakh-Soloviov m...@mva.name wrote:

 My idea is to allow failing for some patches without breaking build
 at all. And, in parallel, to add groupping.
 
 [...] 
 
 Any objections/approvals/suggestions?

What are the use cases of this idea? What is its goal?

In my use case, I've found or written patches with a permanent purpose;
therefore, I'd like the patches to apply or die hard with a purpose.
I can't imagine an use case where you don't want them to apply.

Temporary backported patches (eg. from version 2) come to mind; it then
becomes tricky to know whether it fails because it is the new version
(2), or whether it is a version (2) in between that breaks.

That would become a whole new feature request with specific directory,
file or header syntaxes, which takes time to implement; at which point,
one wonders if just (re)moving away the patch when you see it fail in
the early src_prepare phase followed by a --resume is more favorable.

-- 
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] [RFC] [epatch_user] Proposal: add possibility to tolerable-fail for some patches (plus add groupping support)

2014-06-15 Thread Andreas K. Huettel
Am Sonntag, 15. Juni 2014, 11:06:57 schrieb Vadim A. Misbakh-Soloviov:
 My idea is to allow failing for some patches without breaking build at all.

Please No. It just generates a big mess.


-- 

Andreas K. Huettel
Gentoo Linux developer 
dilfri...@gentoo.org
http://www.akhuettel.de/



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


Re: [gentoo-dev] Eclass vs EAPI For Utility Functions (Patching/etc)

2014-06-15 Thread Michał Górny
Dnia 2014-06-15, o godz. 07:00:15
Rich Freeman ri...@gentoo.org napisał(a):

 The Eclass argument goes like this:
 Eclasses already work in every PM.  Half of what we're debating is
 already in eutils.  Why move this code into the PM, where it has to be
 re-implemented everywhere?  If anything we should be moving more PM
 functionality out and into eclasses where we can have competing
 implementations and more flexibility.

I think this point is a bit tangential. While eclasses are the obvious
way of having code common between package managers, I don't think
sharing code should be an argument for putting something in an eclass.

Please remember that you can create your own base repository without
having 'gentoo' as master. Then, putting code in eclasses actually
requires you to duplicate it -- unlike code in PM which is shared
between all repos.


Now, for the overall point. I think there are a few cases when you want
something in the PM:

1. when it's a common thing to do that doesn't require repository-
specific details like relying on some out-of-@system packages,

2. when it requires specific interaction with the package manager,

3. when it is required by some other PM-specific code. Keeping it
'internal' just means having duplicate code between PM and eclasses.


I think the only debatable thing here is (1). If we ever decide that
having common stuff in an eclass is feasible, we ought to move all
the common stuff that's possible -- including econf, emake, possibly
some install helpers.

This may even have more benefits than that. For example, you would fit
the implementation to specific system -- like 'gentoo' repository
eclass would be fit for Gentoo-specific tools. Instead of putting
requirements for a system in PMS and trying to fit PM and profiles
together, we'd just use whatever the repository provides.

Of course this brings another argument -- every single ebuild would
have to source a specific eclass. For EAPI 6, I've focused on going
the opposite way -- putting more commonly used stuff to EAPI so that
many of eutils inherits could be removed. I don't have the numbers but
I'd dare guess inheriting eutils everywhere does come with some
overhead on metadata cache generation.


As far as both eapply  eapply_user are concerned, I believe they both
belong to the group of commonly used functions, so they ought to go
into PM wrt (1).

Moreover, eapply_user pretty much requires you to provide a location
for the patches -- and putting /etc/portage into an eclass is just
wrong. Of course, we could try some new, fancy location but well... I'd
rather keep it as-is and consider it PM-specific, so argument (2).

And if put eapply_user anyway, argument (3) says we gotta add eapply
as well, or otherwise we'll be using two similar functions all the time
-- one in the PM, the other in the eclass.

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] Subslots: should they be bumped like SONAME or on any ABI changes?

2014-06-15 Thread Matt Turner
On Sat, Jun 14, 2014 at 7:41 AM, Michał Górny mgo...@gentoo.org wrote:
 Hi,

 Some time ago we've got bug #510780 [1] asking us to bump subslot
 on LLVM even though the new version was ABI-compatible with previous
 one. It was because it introduced new APIs which applications could
 make use of. Since I believe this is a wider issue, I would like to
 know the opinion of our community about this.

 More specifically: do we want subslots to change only when backwards-
 incompatible ABI changes are done -- alike SONAME -- or whenever any
 ABI change is done? The problem seems a bit complex.

I think subslot should only change with SONAME. Packages depending on
a new API can use a versioned dependency to ensure the new API is
available.

I think this covers all of the cases and doesn't cause problems? Let
me know if I've misunderstood something.



Re: [gentoo-dev] Re: Re: Re: crossdev and multilib interference

2014-06-15 Thread hasufell
Steven J. Long:
 
 I'll see you when you get there, if you ever get there..
 

No improvements so far. I am going to hardmask sys-devel/crossdev,
unless someone can explain why we are still in broken stage.

More packages are popping up that randomly break. Recent failures were
related to tc-getBUILD_CC.

This isn't stable in any way. I'm not blaming anyone, but that's what
hardmasking is for. A working solution was declined, so...



Re: [gentoo-dev] Re: Re: Re: crossdev and multilib interference

2014-06-15 Thread Chí-Thanh Christopher Nguyễn
hasufell schrieb:
 No improvements so far. I am going to hardmask sys-devel/crossdev,
 unless someone can explain why we are still in broken stage.
 
 More packages are popping up that randomly break. Recent failures were
 related to tc-getBUILD_CC.
 
 This isn't stable in any way. I'm not blaming anyone, but that's what
 hardmasking is for. A working solution was declined, so...

If I understand correctly, it is not the crossdev package being present on
the system, but the generated toolchains that cause the trouble.

I think there are less intrusive options than hardmask, such as pkg_pretend()
check or blocking offending packages from cross-${CTARGET} category.


Best regards,
Chí-Thanh Christopher Nguyễn




[gentoo-dev] Auto-patching ebuilds themselves Was: Eclass vs EAPI For Utility Functions (Patching/etc)

2014-06-15 Thread Duncan
Rich Freeman posted on Sun, 15 Jun 2014 07:00:15 -0400 as excerpted:

 Besides, I think user-patches are a GREAT feature to have, and one I use
 all the time (without even thinking about it if a package with a patch
 gets rebuilt).  As I said in the meeting, if we were selling Gentoo to
 make money, it would be the sort of feature that you'd advertise.  Why
 make it hard to use such a distinctive advantage of a source-based
 distro?

Agreed with everything, but focusing on the above as a jump-off point 
for...

A similarly great feature to have would be epatch-ebuild.  Back when 
gentoo/kde was trying to dump IUSE=semantic-desktop[1], I was doing 
enough ebuild patching with enough churn in the ebuilds[2] that manual
per-ebuild patching was simply no longer feasible.  It can be noted that 
normal sources patching (as epatch) would NOT work here, at least not 
easily, because it was the ebuilds themselves that were forcing the 
various semantic-desktop related config options on and forcing 
dependencies to match, so it was the ebuilds themselves that needed that 
patched back out.

I ended up with an /etc/portage/patches.ebuild that mirrored 
/etc/portage/patches in functionality, using a sync script that
download-updated both the gentoo tree and the layman-managed overlays, 
then _automatically_ applied the patches from the patches.ebuild tree and 
redigested the ebuilds[3], then regenerating cache to account for the 
changes.  The _automatic_ bit being critical as at that point I was 
handling enough of them that doing it manually would not have been fun.

Talk about a feature worth advertising, the user-level ability to 
automatically live-patch ebuilds by simply dropping a patch in the 
appropriate location just like we do sources was and remains great, 
definitely something I'd love to see in the PMs at some point. =:^)

As we've found with user-epatched sources, this should greatly simplify 
deployment of experimental patches.  Just attach the patch to the bug and 
tell the user what directory to drop it in, and no more worries about 
having to tell users what to edit or how to do manual patching, in 
ordered to test a fix. =:^)

---
[1] Dropping IUSE=semantic-desktop: Something I'm /ever/ so glad gentoo/
kde changed their minds on. =:^)

[2] The ebuilds in question were from the gentoo/kde overlay, before they 
reached the tree.  That overlay and the ebuilds in it get a *LOT* of 
churn!

[3] Redigesting:  As I run live-sources kde there were few source 
tarballs to redigest, only the ebuilds.

-- 
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




[gentoo-dev] Re: [RFC] [epatch_user] Proposal: add possibility to tolerable-fail for some patches (plus add groupping support)

2014-06-15 Thread Duncan
Tom Wijsman posted on Sun, 15 Jun 2014 14:19:54 +0200 as excerpted:

 On Sun, 15 Jun 2014 16:06:57 +0700 Vadim A. Misbakh-Soloviov
 m...@mva.name wrote:
 
 My idea is to allow failing for some patches without breaking build at
 all. And, in parallel, to add groupping.
 
 [...]
 
 Any objections/approvals/suggestions?
 
 What are the use cases of this idea? What is its goal?
 
 In my use case, I've found or written patches with a permanent purpose;
 therefore, I'd like the patches to apply or die hard with a purpose.
 I can't imagine an use case where you don't want them to apply.

Indeed.  If the patches no longer apply, I want to know it so I can 
either clean them out or generate fresh patches that apply to the new 
code.

So far you (OP) have unanimous rejection, but that may simply be because 
we don't see that use-case.  So let's see the use-case first, and if that 
is agreed to be useful enough, there's still some change to either change 
opinion, or perhaps come up with a less objectionable way to support that 
use-case without the severe down sides of the current proposal.

-- 
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




[gentoo-dev] Automated Package Removal and Addition Tracker, for the week ending 2014-06-15 23h59 UTC

2014-06-15 Thread Robin H. Johnson
The attached list notes all of the packages that were added or removed
from the tree, for the week ending 2014-06-15 23h59 UTC.

Removals:
dev-perl/perl-PBS   2014-06-11 09:30:35 zlogene
games-strategy/openxcom 2014-06-14 19:28:46 mr_bones_
media-plugins/vdr-noepgmenu 2014-06-15 08:21:41 hd_brummy

Additions:
dev-python/sphinx_rtd_theme 2014-06-09 02:27:45 bicatali
dev-ruby/netrc  2014-06-09 18:08:29 graaff
dev-ruby/delayer2014-06-11 07:39:01 naota
www-client/qtweb2014-06-11 15:29:23 jer
dev-python/pyoembed 2014-06-12 03:06:08 rafaelmartins
www-apps/blohg-tumblelog2014-06-12 03:07:40 rafaelmartins
dev-python/jaraco-utils 2014-06-12 03:48:48 patrick
dev-python/more-itertools   2014-06-12 04:02:40 patrick
dev-libs/libserialport  2014-06-12 19:56:28 vapier
dev-python/pretty-yaml  2014-06-12 23:54:32 chutzpah
net-libs/phodav 2014-06-13 12:05:09 dev-zero
dev-python/django-haystack  2014-06-14 02:47:22 idella4
sci-libs/libsigrok  2014-06-14 02:47:41 vapier
sci-libs/libsigrokdecode2014-06-14 05:59:11 vapier
sci-electronics/sigrok-cli  2014-06-14 06:22:26 vapier
sys-firmware/sigrok-firmware-fx2lafw2014-06-14 06:48:05 vapier
sci-electronics/pulseview   2014-06-14 07:02:49 vapier
dev-ruby/hashr  2014-06-14 12:03:34 mrueg
games-strategy/openxcom 2014-06-14 16:15:27 maksbotan
games-engines/openxcom  2014-06-14 19:33:21 mr_bones_
net-analyzer/icinga22014-06-15 19:49:46 prometheanfire
dev-python/pyxenstore   2014-06-15 19:59:10 robbat2

--
Robin Hugh Johnson
Gentoo Linux Developer
E-Mail : robb...@gentoo.org
GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85
Removed Packages:
dev-perl/perl-PBS,removed,zlogene,2014-06-11 09:30:35
games-strategy/openxcom,removed,mr_bones_,2014-06-14 19:28:46
media-plugins/vdr-noepgmenu,removed,hd_brummy,2014-06-15 08:21:41
Added Packages:
dev-python/sphinx_rtd_theme,added,bicatali,2014-06-09 02:27:45
dev-ruby/netrc,added,graaff,2014-06-09 18:08:29
dev-ruby/delayer,added,naota,2014-06-11 07:39:01
www-client/qtweb,added,jer,2014-06-11 15:29:23
dev-python/pyoembed,added,rafaelmartins,2014-06-12 03:06:08
www-apps/blohg-tumblelog,added,rafaelmartins,2014-06-12 03:07:40
dev-python/jaraco-utils,added,patrick,2014-06-12 03:48:48
dev-python/more-itertools,added,patrick,2014-06-12 04:02:40
dev-libs/libserialport,added,vapier,2014-06-12 19:56:28
dev-python/pretty-yaml,added,chutzpah,2014-06-12 23:54:32
net-libs/phodav,added,dev-zero,2014-06-13 12:05:09
dev-python/django-haystack,added,idella4,2014-06-14 02:47:22
sci-libs/libsigrok,added,vapier,2014-06-14 02:47:41
sci-libs/libsigrokdecode,added,vapier,2014-06-14 05:59:11
sci-electronics/sigrok-cli,added,vapier,2014-06-14 06:22:26
sys-firmware/sigrok-firmware-fx2lafw,added,vapier,2014-06-14 06:48:05
sci-electronics/pulseview,added,vapier,2014-06-14 07:02:49
dev-ruby/hashr,added,mrueg,2014-06-14 12:03:34
games-strategy/openxcom,added,maksbotan,2014-06-14 16:15:27
games-engines/openxcom,added,mr_bones_,2014-06-14 19:33:21
net-analyzer/icinga2,added,prometheanfire,2014-06-15 19:49:46
dev-python/pyxenstore,added,robbat2,2014-06-15 19:59:10

Done.

[gentoo-dev] Re: crossdev and multilib interference

2014-06-15 Thread Ryan Hill
On Sun, 15 Jun 2014 20:35:53 +
hasufell hasuf...@gentoo.org wrote:

 Steven J. Long:
  
  I'll see you when you get there, if you ever get there..
  
 
 No improvements so far. I am going to hardmask sys-devel/crossdev,
 unless someone can explain why we are still in broken stage.

Do that and we'll have to take you out behind the woodshed.


-- 
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