Code review comment for lp:~didrocks/autopilot/remove-circular-dep

Revision history for this message
Thomi Richards (thomir-deactivatedaccount) wrote :

Hi,

On Tue, May 28, 2013 at 7:07 PM, Didier Roche <email address hidden> wrote:

> Well, you should know that packages are pushed by people having upload
> rights, knowing exactly how the package system work, earning that through
> years.
>
> We are not touching or approving upstream code change without upstream
> ack.

Except that's exactly what you're doing. This is a merge proposal against
lp:autopilot - that is upstream code. We maintain our own packaging code
because it is convenient for us to do so. We fully expect the distro team
to want/need to tweak that code, in which case you have two options: either
maintain separate packaging information in a branch somewhere, or work with
us to alter our own packaging information.

I'm quite happy to approve merges like this, because, as you point out: you
guys are the packaging experts here. All it would take is to drop me an
email (since we're rarely on IRC at the same time), saying "Hey Thomi,
there's a problem in the packaging for autopilot, it's <description>, and
there's a branch that fixes it here <branch_location>. Could you review it
please?"

> We would like the same for the packaging side (seeing in particular the
> number of missing replaces/conflicts we had to fix).
>
> You are creating a circular dependency, as explained in the commit
> message. This is considered harmful as you can't bootstrap the distribution
> anymore. If you have to rebuild everything, how would you do it? If you
> have this breakdown of A being useless without B and B being useless
> without A, maybe your split doesn't make sense?
>
> but.. if we're talking about building something, surely you'd care about
Build-Depends, nor Depends? There is no circular dependency in autopilot
when it comes to building the packages. It's all pretty straightforward
there. The only circular dependency is at run-time, but since you can
trivially build all the packages we need, I don't see how this is a
problem. Perhaps I'm missing something, and you can clarify this point for
me?

> Telling python-autopilot is useless without autopilot-desktop or
> autopilot-touch doesn't qualify to add that dependency (it should even
> maybe be just a suggest). For instance, I can argue installing
> libunity-core-6.0-5 without unity is useless, should we have it depending
> on unity itself? I don't think so. I see the same rationale with
> python-autopilot
>

libunity is a library, I guess you could conceivably use it without unity.
However, Unity will never work without libunity.

Similarly, Autopilot can never work without either autopilot-desktop or
autopilot-touch. If you need to break the dependency chain (and I'm not
convinced of that yet - see above), then I'm not sure this is the correct
place to break it.

If you'd rather discuss this in real-time, feel free to put an event on my
calendar (make it at a sensible time please - I guess late in my day and
early in yours is going to be most sensible).

Cheers,

--
Thomi Richards
<email address hidden>

« Back to merge proposal