* [PATCHv2 09/11][auh] upgradehelper.py: Change policy for send emails and fix error passing
@ 2015-06-12 20:10 Aníbal Limón
2015-06-16 13:01 ` Paul Eggleton
0 siblings, 1 reply; 3+ messages in thread
From: Aníbal Limón @ 2015-06-12 20:10 UTC (permalink / raw)
To: yocto; +Cc: paul.eggleton
Now send emails almost in all cases this give the maintainer
patches and diff to continue work also if the build isn't
succesful.
[YOCTO #7489]
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
upgradehelper.py | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/upgradehelper.py b/upgradehelper.py
index b1f075d..d065fba 100755
--- a/upgradehelper.py
+++ b/upgradehelper.py
@@ -346,8 +346,6 @@ class Updater(object):
self.git.clean_untracked()
return
- status = type(err).__name__
-
# drop last upgrade from git. It's safer this way if the upgrade has
# problems and other recipes depend on it. Give the other recipes a
# chance...
@@ -381,8 +379,14 @@ class Updater(object):
"Attached are the patch, license diff (if change) and bitbake log.\n\n" \
"Regards,\nThe Upgrade Helper"
- # don't bother maintainer with mail if the recipe is already up to date
- if status == "UpgradeNotNeededError":
+ # if error only send email when useful infomration for maintainers exist
+ if err and not (isinstance(err, PatchError) or \
+ isinstance(err, ConfigureError) or \
+ isinstance(err, CompilationError) or \
+ isinstance(err, LicenseError)):
+ D( "%s: Don't send email to maintainer because the error was " \
+ "%s and the information isn't useful, please review it." \
+ % (self.pn, type(err).__name__))
return
if self.maintainer in maintainer_override:
@@ -478,6 +482,7 @@ class Updater(object):
attempted_pkgs = 0
for self.pn, self.new_ver, self.maintainer in pkgs_to_upgrade:
+ error = None
self.recipe = None
attempted_pkgs += 1
I(" ATTEMPT PACKAGE %d/%d" % (attempted_pkgs, total_pkgs))
@@ -489,10 +494,6 @@ class Updater(object):
step()
I(" %s: Upgrade SUCCESSFUL! Please test!" % self.pn)
- error = None
- except UpgradeNotNeededError as e:
- I(" %s: %s" % (self.pn, e.message))
- error = e
except Error as e:
E(" %s: %s" % (self.pn, e.message))
E(" %s: Upgrade FAILED! Logs and/or file diffs are available in %s" % (self.pn, self.workdir))
@@ -667,7 +668,7 @@ class UniverseUpdater(Updater):
# overriding the base method
def pkg_upgrade_handler(self, err):
- super(UniverseUpdater, self).pkg_upgrade_handler(self)
+ super(UniverseUpdater, self).pkg_upgrade_handler(err)
self.update_history(self.pn, self.new_ver, self.maintainer,
self._get_status_msg(err))
--
1.8.4.5
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCHv2 09/11][auh] upgradehelper.py: Change policy for send emails and fix error passing
2015-06-12 20:10 [PATCHv2 09/11][auh] upgradehelper.py: Change policy for send emails and fix error passing Aníbal Limón
@ 2015-06-16 13:01 ` Paul Eggleton
2015-06-16 23:56 ` Aníbal Limón
0 siblings, 1 reply; 3+ messages in thread
From: Paul Eggleton @ 2015-06-16 13:01 UTC (permalink / raw)
To: Aníbal Limón; +Cc: yocto
Hi Aníbal,
On Friday 12 June 2015 20:10:45 Aníbal Limón wrote:
> Now send emails almost in all cases this give the maintainer
> patches and diff to continue work also if the build isn't
> succesful.
>
> [YOCTO #7489]
>
> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
> ---
> upgradehelper.py | 19 ++++++++++---------
> 1 file changed, 10 insertions(+), 9 deletions(-)
>
> diff --git a/upgradehelper.py b/upgradehelper.py
> index b1f075d..d065fba 100755
> --- a/upgradehelper.py
> +++ b/upgradehelper.py
> @@ -346,8 +346,6 @@ class Updater(object):
> self.git.clean_untracked()
> return
>
> - status = type(err).__name__
> -
> # drop last upgrade from git. It's safer this way if the upgrade
> has # problems and other recipes depend on it. Give the other recipes a #
> chance...
> @@ -381,8 +379,14 @@ class Updater(object):
> "Attached are the patch, license diff (if change) and
> bitbake log.\n\n" \ "Regards,\nThe Upgrade Helper"
>
> - # don't bother maintainer with mail if the recipe is already up
> to date - if status == "UpgradeNotNeededError":
> + # if error only send email when useful infomration for
> maintainers exist + if err and not (isinstance(err, PatchError)
> or \
> + isinstance(err, ConfigureError) or \
> + isinstance(err, CompilationError) or \
> + isinstance(err, LicenseError)):
> + D( "%s: Don't send email to maintainer because the error
> was " \ + "%s and the information isn't useful, please
> review it." \ + % (self.pn, type(err).__name__))
> return
I think a better approach here would be to have the classes of error that are
likely to be fixable by the maintainer as inheriting from a particular class
(e.g. MaintainerError) and then we can just check for that rather than having
to extend this code every time we add a new type of error.
> if self.maintainer in maintainer_override:
> @@ -478,6 +482,7 @@ class Updater(object):
>
> attempted_pkgs = 0
> for self.pn, self.new_ver, self.maintainer in pkgs_to_upgrade:
> + error = None
> self.recipe = None
> attempted_pkgs += 1
> I(" ATTEMPT PACKAGE %d/%d" % (attempted_pkgs, total_pkgs))
> @@ -489,10 +494,6 @@ class Updater(object):
> step()
>
> I(" %s: Upgrade SUCCESSFUL! Please test!" % self.pn)
> - error = None
> - except UpgradeNotNeededError as e:
> - I(" %s: %s" % (self.pn, e.message))
> - error = e
I'm confused by this. Won't this change result in UpgradeNotNeededError being
treated as an actual error? Surely we don't actually want that?
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCHv2 09/11][auh] upgradehelper.py: Change policy for send emails and fix error passing
2015-06-16 13:01 ` Paul Eggleton
@ 2015-06-16 23:56 ` Aníbal Limón
0 siblings, 0 replies; 3+ messages in thread
From: Aníbal Limón @ 2015-06-16 23:56 UTC (permalink / raw)
To: Paul Eggleton; +Cc: yocto
Hi Paul,
On 16/06/15 08:01, Paul Eggleton wrote:
> Hi Aníbal,
>
> On Friday 12 June 2015 20:10:45 Aníbal Limón wrote:
>> Now send emails almost in all cases this give the maintainer
>> patches and diff to continue work also if the build isn't
>> succesful.
>>
>> [YOCTO #7489]
>>
>> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
>> ---
>> upgradehelper.py | 19 ++++++++++---------
>> 1 file changed, 10 insertions(+), 9 deletions(-)
>>
>> diff --git a/upgradehelper.py b/upgradehelper.py
>> index b1f075d..d065fba 100755
>> --- a/upgradehelper.py
>> +++ b/upgradehelper.py
>> @@ -346,8 +346,6 @@ class Updater(object):
>> self.git.clean_untracked()
>> return
>>
>> - status = type(err).__name__
>> -
>> # drop last upgrade from git. It's safer this way if the upgrade
>> has # problems and other recipes depend on it. Give the other recipes a #
>> chance...
>> @@ -381,8 +379,14 @@ class Updater(object):
>> "Attached are the patch, license diff (if change) and
>> bitbake log.\n\n" \ "Regards,\nThe Upgrade Helper"
>>
>> - # don't bother maintainer with mail if the recipe is already up
>> to date - if status == "UpgradeNotNeededError":
>> + # if error only send email when useful infomration for
>> maintainers exist + if err and not (isinstance(err, PatchError)
>> or \
>> + isinstance(err, ConfigureError) or \
>> + isinstance(err, CompilationError) or \
>> + isinstance(err, LicenseError)):
>> + D( "%s: Don't send email to maintainer because the error
>> was " \ + "%s and the information isn't useful, please
>> review it." \ + % (self.pn, type(err).__name__))
>> return
> I think a better approach here would be to have the classes of error that are
> likely to be fixable by the maintainer as inheriting from a particular class
> (e.g. MaintainerError) and then we can just check for that rather than having
> to extend this code every time we add a new type of error.
I agree, i'll add new class MaintainerError and make
Configure/Compilation/Patch/License to
extend it.
>
>> if self.maintainer in maintainer_override:
>> @@ -478,6 +482,7 @@ class Updater(object):
>>
>> attempted_pkgs = 0
>> for self.pn, self.new_ver, self.maintainer in pkgs_to_upgrade:
>> + error = None
>> self.recipe = None
>> attempted_pkgs += 1
>> I(" ATTEMPT PACKAGE %d/%d" % (attempted_pkgs, total_pkgs))
>> @@ -489,10 +494,6 @@ class Updater(object):
>> step()
>>
>> I(" %s: Upgrade SUCCESSFUL! Please test!" % self.pn)
>> - error = None
>> - except UpgradeNotNeededError as e:
>> - I(" %s: %s" % (self.pn, e.message))
>> - error = e
> I'm confused by this. Won't this change result in UpgradeNotNeededError being
> treated as an actual error? Surely we don't actually want that?
Now UpgradeNotNeededError is handled by new upstream mechanism when load
recipes to upgrade
printing message about it.
>
> Cheers,
> Paul
>
Regards,
alimon
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-06-16 23:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-12 20:10 [PATCHv2 09/11][auh] upgradehelper.py: Change policy for send emails and fix error passing Aníbal Limón
2015-06-16 13:01 ` Paul Eggleton
2015-06-16 23:56 ` Aníbal Limón
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.