[U-Boot] patman and buildman experience

Hi guys,
yesterday I was talking to Simon on IRC about these two tools. Also it was the first day I have tried these tools.
Simon asked me to share my experience with these tools with you and try to suggest improvement in it.
First of all just let me say that I don't know python at all but maybe good time to look at it.
1. Let's start with last thing I have met with.
Tom has gave me Reviewed-by for the whole my zynq series but I didn't found any option for patman to support this. It is not rare case and it should be IMHO supported.
I past I was using git alias for that
rtrini = filter-branch -f --msg-filter '\ cat && \ echo "Reviewed-by: Tom Rini \<trini@ti.com\>"\ '
by calling git rtrini wd/master..HEAD all patches contained that line. With patman this options is not possible to use because at the end of emails are Series-changes.
NOTE: have sent shortcut for adding Tom's shortcut to git-mailrc
I see two ways how to fix it. 1. Support END for version changes 2. Add new Series-ack, Series-re, support to patman
2. The next minor thing which could be extend is default CC your colleagues in ~/.patman. I know it is just one line in commit message but why not to have this in default config.
3. Also will be good to list all options which can be added to ~/.patman with description what that options means.
4. Then I still have a problem with buildman with missing total_seconds support
[u-boot]$ ./tools/buildman/buildman -b zynq zynq Building 16 commits for 2 boards (2 threads, 2 jobs per thread) Traceback (most recent call last): File "./tools/buildman/buildman", line 126, in <module> control.DoBuildman(options, args) File "/mnt/projects/u-boot/tools/buildman/control.py", line 181, in DoBuildman options.show_errors, options.keep_outputs) File "/mnt/projects/u-boot/tools/buildman/builder.py", line 1428, in BuildBoards self.ProcessResult(None) File "/mnt/projects/u-boot/tools/buildman/builder.py", line 724, in ProcessResult self._AddTimestamp() File "/mnt/projects/u-boot/tools/buildman/builder.py", line 632, in _AddTimestamp seconds = delta.total_seconds() AttributeError: 'datetime.timedelta' object has no attribute 'total_seconds' [u-boot]$ python --version Python 2.7.4
I have found that it is new feature in python 2.7.4
http://docs.python.org/2/library/datetime.html#datetime.timedelta
I have also confirmed that total_seconds is working based on example on that page.
[u-boot]$ python Python 2.7.4 (default, Apr 23 2013, 13:20:21) [GCC 4.4.3] on linux2 Type "help", "copyright", "credits" or "license" for more information.
from datetime import timedelta year = timedelta(days=365) another_year = timedelta(weeks=40, days=84, hours=23, minutes=50, seconds=600) year.total_seconds()
31536000.0
Can you see what's wrong?
Currently I have solved this by:
diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py index e426442..2d72243 100644 --- a/tools/buildman/builder.py +++ b/tools/buildman/builder.py @@ -629,7 +629,7 @@ class Builder: self._timestamps.append(now) count = len(self._timestamps) delta = self._timestamps[-1] - self._timestamps[0] - seconds = delta.total_seconds() + seconds = 1 # delta.total_seconds()
# If we have enough data, estimate build period (time taken for a # single build) and therefore completion time.
5. Buildman always add git clones to ../<branch_name> location. I would welcome to be able to setup on ~/.buildman default location for these folders. Mostly /tmp folder or location on SSD.
Anyway thanks Simon for these great tools. Michal
participants (1)
-
Michal Simek