* [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; "> </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; "> </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/<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;"> | - 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;"> | |- <...></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; "> </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/<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).</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; "> </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; "> </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; "> </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; "> </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