[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: RFC: usb-modeswitch 1.2.0 release embedding jimtcl

On Mon, Aug 27, 2012 at 07:21:22PM +0200, Andrew Shadura wrote:
> > 3) "Embed jimtcl using the internal copy"

> >     This means taking the upstream tarball as is.
> >     Pros: small standalone -dispatcher binary.
> >     Cons: code duplication, potential security issues with
> > out-of-date jimtcl versions, …

> I see no problems with this, if there's just one or two packages
> linking against libjim statically.

Please familiarize yourself with Debian policy on static linking.  It's not
ok to use static linking for such things, because it *is* a burden for the
security team, even if it's only done in one or two packages.

> > 5) "Rewrite the usb-modeswitch-dispatcher in C"
> >     This work has already been done by Mathieu Trudel-Lapierre for the
> >     Ubuntu ackage.
> >     For now, the upstream developer hasn't included this rewrite into
> > the upstream package (for his own set of reasons). My current
> > strategy is to avoid as much as possible to diverge from upstream,
> > hence why it's not in Debian's usb-modeswitch for now.
> >     Pros: No tcl interpreter needed.
> >     Cons: as it's not an upstream effort, it can become out-of-sync
> > in terms of functionality and bugfixes (and indeed currently is as of
> >           1.2.0~beta).

> Stupid and useless. Usb-modeswitch was originally written in C, and
> later rewritten in Tcl partially, as it was very hard to maintain it.
> What's wrong with having a minimalist tcl interpreter? It's no bigger
> than bash, and actually much smaller, and it's faster and doesn't rely
> on coreutils.

The C rewrite, which is included in Ubuntu despite not being accepted into
Debian, addressed both image size issues and boot-time performance issues
with the tcl implementation.  I don't know how jimtcl compares, but tclsh
had a measurable impact on boot speed due to its runtime having to be loaded
from disk for a single operation.  (There were also some buggy udev rules
involved, but that's a different story.)

This is just one example of the costs of gratuitously different
implementation languages.  I'm disappointed that, as the ifupdown
maintainer, you don't recognize that *being different* is a major drag on
the overall maintainability of this package and instead are advocating for
further variety.

On Mon, Aug 27, 2012 at 07:24:06PM +0200, Andrew Shadura wrote:
> On Tue, 18 Oct 2011 10:59:36 -0400
> Mathieu Trudel-Lapierre <mathieu-tl@ubuntu.com> wrote:

> > It also doesn't solve a second case we're trying to cover: the fact
> > that usb-modeswitch would be the only package in the boot path on
> > *Ubuntu* that would rely on Tcl. That's another reason why a compiled
> > language was chosen.

> Please get ready: there will be one more.

I don't think that's at all acceptable.  Please reconsider this plan.

> Why do you need this? What's wrong with having an ultrasmall
> interpreter in default Ubuntu, which provides more features than bash,
> which is much faster and much smaller?

> Also, you're redoing upstream's work in an absolutely opposite
> direction: they've moved away from C, and you're bringing it back!

Being upstream does not mean they're always right.  Even if they have sound
technical reasons for their decision, it may still not be the right decision
for the downstream.  That's why distro patches exist.

Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek@ubuntu.com                                     vorlon@debian.org

Attachment: signature.asc
Description: Digital signature

Reply to: