1 |
On Fri, Jan 18, 2013 at 1:32 AM, Duncan <1i5t5.duncan@×××.net> wrote: |
2 |
> To be clear I'm not in a position to offer, and I definitely respect and |
3 |
> value your volunteer work, but suppose someone /was/ sufficiently |
4 |
> interested in something like ffmpeg to be willing to pay for a tinderbox |
5 |
> run on it. What sort of "pay for" are we talking? |
6 |
|
7 |
It's tricky to quantify honestly. I've been seriously thinking about |
8 |
it (as those who have been reading my G+ feed today noticed), and the |
9 |
question of how to quantify it is the one that I have no real answer |
10 |
for. |
11 |
|
12 |
I can give you an idea of what's involved, so that it gives an idea of |
13 |
why I tend to be touchy when people complain about the way I report |
14 |
bugs, or the choices of packages I make. For those who follow my blog, |
15 |
part of this has been covered already, so sorry if it feels like a |
16 |
re-heated soup. |
17 |
|
18 |
First of all, there's the time involved in setting up the tinderbox |
19 |
itself. Given that I can easily start from a known configuration, it |
20 |
usually does not take that much of mytime to configure it — but since |
21 |
keeping seeds around is pointless (they go bad too quickly), and since |
22 |
changing package choices often requires cleaning up everything that |
23 |
used the previously-chosen package, even if I wanted to set up a |
24 |
parallel tinderbox for ffmpeg, it'd take me one or two days just of |
25 |
_unmerging_ the currently-installed packages. It's not an |
26 |
exaggeration, last time it took 34hr to complete a --depclean on |
27 |
tbamd64. As of me writing this, tbhs64 (the stable-targeted tinderbox) |
28 |
is performing a depclean, started early this morning. It's machine |
29 |
time, but it needs to be monitored, so let's say that a 5% of the time |
30 |
is my time, and the rest is purely the machine's. |
31 |
|
32 |
Then there is the time to build all the packages, or at least the |
33 |
involved subset — I honestly forgot how many reverse dependencies were |
34 |
involved in the libav testing, but I remember that the time it took |
35 |
was around five days to go through all packages (and their |
36 |
dependencies). Again this is mostly machine time, but as those |
37 |
following my Twitter feed know, it's not so uncommon to have a package |
38 |
hogging down the queue for over 24hr if not monitored, because a test |
39 |
stuck, or (in the case of mldonkey) because a prompt is requested on |
40 |
the tty. If somebody has a good idea how to stop interactive prompts |
41 |
without having to detach or redirect stdout to file, it'd be nice. |
42 |
7.5-12.5% of the time mine, the rest the machine? Likely. |
43 |
|
44 |
Then comes the actual timedrain: sifting through the logs, and track |
45 |
down the bugs — this generally has to be done while the tinderbox run, |
46 |
because otherwise you can easily get obsolete bugs. While I have |
47 |
written a tool that helps me with the analysis, it only does so in the |
48 |
sense of finding me which logs report failures, and pre-fills the |
49 |
template for reporting a bug related to said log — it does not help me |
50 |
with actually finding what's going on. And sometimes a build log shows |
51 |
a failure due to another package's build mistake. Only about half the |
52 |
logs that my analysis script report end up in a bug at all; for the |
53 |
tinderboxes as they are, I counted in the past few months an average |
54 |
of an hour a day spent on "detective work" on said logs, to get to the |
55 |
bugs. |
56 |
|
57 |
Now with a bit of luck, the amount of logs to sift through for an |
58 |
ffmpeg-targeted tinderbox would be much less than those generated by |
59 |
tbamd64 (which uses glibc-2.17 and gcc-4.7), so let's say we end up |
60 |
with a total of 10/12 hr of work all in all? I wouldn't go as far as |
61 |
ask for my going hourly rate, but especially for ffmpeg, it would come |
62 |
for something a bit higher than a dinner at the next conference — more |
63 |
like the travel expenses (given a conference such as FOSDEM, not |
64 |
SCALE, to give an idea). |
65 |
|
66 |
And before anybody tries to misrepresent what I wrote — I don't intend |
67 |
to charge anybody for my usual tinderbox runs; they run and they'll |
68 |
keep running for as long as I have time to dedicate to them. As I said |
69 |
before, my employer (who's sponsoring hosting and bandwidth) uses |
70 |
libav in production, so it actually influences further the fact that |
71 |
the default run is libav-bound — although you could call it a |
72 |
self-fulfilling prophecy, as the fact they run libav is further |
73 |
influenced by the fact that they employ me, but c'est la vie. |