public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [RFC] [epatch_user] Proposal: add possibility to tolerable-fail for some patches (plus add groupping support)
@ 2014-06-15  9:06 Vadim A. Misbakh-Soloviov
  2014-06-15  9:42 ` Michał Górny
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Vadim A. Misbakh-Soloviov @ 2014-06-15  9:06 UTC (permalink / raw
  To: gentoo-dev


[-- Attachment #1.1: Type: text/plain, Size: 5065 bytes --]

=2D-nextPart4345078.5UjSnvs4xp
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="utf-8"

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?



=2D-nextPart4345078.5UjSnvs4xp
Content-Transfer-Encoding: 7Bit
Content-Type: text/html; charset="utf-8"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Droid Sans Mono for Powerline'; font-size:8pt; font-weight:400; font-style:normal;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">My idea is to allow failing for some patches without breaking build at all. And, in parallel, to add groupping.</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nbsp;</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">How I imagine that:</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nbsp;</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">etc/portage/patches/app-cat/&lt;name&gt;/</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">    |</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">    | - group_name/</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">    |     |</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">    |     |- 01_foo.patch</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">    |     |- 02_bar.patch</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">    |     |- &lt;...&gt;</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">    |</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">    |- 01_moo.patch</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">    |- 99_meow.patch</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nbsp;</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Where every first-level piece (patch or group) in ```etc/portage/patches/app-cat/&lt;name&gt;/``` MAY tolerably fail (not causing &quot;die&quot; 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).</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nbsp;</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nbsp;</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Any objections/approvals/suggestions?</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nbsp;</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nbsp;</p></body></html>
=2D-nextPart4345078.5UjSnvs4xp--
This is a multi-part message in MIME format.

[-- Attachment #1.2: Type: text/plain, Size: 675 bytes --]

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?



[-- Attachment #1.3: Type: text/html, Size: 4099 bytes --]

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [gentoo-dev] [RFC] [epatch_user] Proposal: add possibility to tolerable-fail for some patches (plus add groupping support)
  2014-06-15  9:06 [gentoo-dev] [RFC] [epatch_user] Proposal: add possibility to tolerable-fail for some patches (plus add groupping support) Vadim A. Misbakh-Soloviov
@ 2014-06-15  9:42 ` Michał Górny
  2014-06-16 15:04   ` Ian Stakenvicius
  2014-06-15 10:04 ` hasufell
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Michał Górny @ 2014-06-15  9:42 UTC (permalink / raw
  To: gentoo-dev; +Cc: mva

[-- Attachment #1: Type: text/plain, Size: 959 bytes --]

Dnia 2014-06-15, o godz. 16:06:57
"Vadim A. Misbakh-Soloviov" <mva@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 949 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [gentoo-dev] [RFC] [epatch_user] Proposal: add possibility to tolerable-fail for some patches (plus add groupping support)
  2014-06-15  9:06 [gentoo-dev] [RFC] [epatch_user] Proposal: add possibility to tolerable-fail for some patches (plus add groupping support) Vadim A. Misbakh-Soloviov
  2014-06-15  9:42 ` Michał Górny
@ 2014-06-15 10:04 ` hasufell
  2014-06-15 12:19 ` Tom Wijsman
  2014-06-15 12:48 ` [gentoo-dev] " Andreas K. Huettel
  3 siblings, 0 replies; 7+ messages in thread
From: hasufell @ 2014-06-15 10:04 UTC (permalink / raw
  To: gentoo-dev

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


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [gentoo-dev] [RFC] [epatch_user] Proposal: add possibility to tolerable-fail for some patches (plus add groupping support)
  2014-06-15  9:06 [gentoo-dev] [RFC] [epatch_user] Proposal: add possibility to tolerable-fail for some patches (plus add groupping support) Vadim A. Misbakh-Soloviov
  2014-06-15  9:42 ` Michał Górny
  2014-06-15 10:04 ` hasufell
@ 2014-06-15 12:19 ` Tom Wijsman
  2014-06-15 23:47   ` [gentoo-dev] " Duncan
  2014-06-15 12:48 ` [gentoo-dev] " Andreas K. Huettel
  3 siblings, 1 reply; 7+ messages in thread
From: Tom Wijsman @ 2014-06-15 12:19 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]

On Sun, 15 Jun 2014 16:06:57 +0700
"Vadim A. Misbakh-Soloviov" <mva@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  : TomWij@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [gentoo-dev] [RFC] [epatch_user] Proposal: add possibility to tolerable-fail for some patches (plus add groupping support)
  2014-06-15  9:06 [gentoo-dev] [RFC] [epatch_user] Proposal: add possibility to tolerable-fail for some patches (plus add groupping support) Vadim A. Misbakh-Soloviov
                   ` (2 preceding siblings ...)
  2014-06-15 12:19 ` Tom Wijsman
@ 2014-06-15 12:48 ` Andreas K. Huettel
  3 siblings, 0 replies; 7+ messages in thread
From: Andreas K. Huettel @ 2014-06-15 12:48 UTC (permalink / raw
  To: gentoo-dev; +Cc: Vadim A. Misbakh-Soloviov

[-- Attachment #1: Type: Text/Plain, Size: 301 bytes --]

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 
dilfridge@gentoo.org
http://www.akhuettel.de/


[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 966 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [gentoo-dev] Re: [RFC] [epatch_user] Proposal: add possibility to tolerable-fail for some patches (plus add groupping support)
  2014-06-15 12:19 ` Tom Wijsman
@ 2014-06-15 23:47   ` Duncan
  0 siblings, 0 replies; 7+ messages in thread
From: Duncan @ 2014-06-15 23:47 UTC (permalink / raw
  To: gentoo-dev

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"
> <mva@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



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [gentoo-dev] [RFC] [epatch_user] Proposal: add possibility to tolerable-fail for some patches (plus add groupping support)
  2014-06-15  9:42 ` Michał Górny
@ 2014-06-16 15:04   ` Ian Stakenvicius
  0 siblings, 0 replies; 7+ messages in thread
From: Ian Stakenvicius @ 2014-06-16 15:04 UTC (permalink / raw
  To: gentoo-dev

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 15/06/14 05:42 AM, Michał Górny wrote:
> Dnia 2014-06-15, o godz. 16:06:57 "Vadim A. Misbakh-Soloviov"
> <mva@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.
> 

Agreed.  patches, or groups thereof, should not ever be fail'able
without also stopping the emerge process.  And the whole
if-one-fails-then-revert-the-group thing would be hell to implement.

Even if the patch fails because it's determined to have been "already
applied", there's no guarantee that this check is accurate (ie what
upstream applied is the same as your patch).  Best to just fail, to
let users know they need to clean up their patches.


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

iF4EAREIAAYFAlOfB5kACgkQ2ugaI38ACPDDRgEAujxxI9LLTs8Bj+nNgGgUcG15
XLNXD3vtpzbVmtE6MsgBAKAGO4Ysjwt07uVMlXWNqQz31QRUza24/lIOkVafnTDd
=5G8J
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-06-16 15:05 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-15  9:06 [gentoo-dev] [RFC] [epatch_user] Proposal: add possibility to tolerable-fail for some patches (plus add groupping support) Vadim A. Misbakh-Soloviov
2014-06-15  9:42 ` Michał Górny
2014-06-16 15:04   ` Ian Stakenvicius
2014-06-15 10:04 ` hasufell
2014-06-15 12:19 ` Tom Wijsman
2014-06-15 23:47   ` [gentoo-dev] " Duncan
2014-06-15 12:48 ` [gentoo-dev] " Andreas K. Huettel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox