[gobolinux-users] Proposal: Whitebox programs and a flexible naming policy for Gobolinux packages

Martin Baldan martinobal at gmail.com
Tue Dec 19 23:45:31 UTC 2006


Hi, Michael.

I have to add more details about practical implementation, such as a policy
for patch names and Gobo branches (I still haven't touched this topic). The
problem is that, as one gets more specific with details, it becomes trickier
and it's more likely that some of those details have to be changed later on.

The article was meant to lay a naming foundation on top of which to make
further naming proposals. If there are problems with this foundation, it's
best to adress them first.

By now, I'll try to give some quick hints of what I have in mind:

1) indeed some hideously long names are shown in the article. I consider
this a feature: you can build very long, intrincated names from simpler
ones, without ever running into "syntax hell", so to speak, that is, without
the risk of name clashes. Those long names are meant to be provisional, only
used while different combinations of patches are being tested. In a sense,
they can be deemed as the equivalent of lambda functions, that is, new
anonymous entities that don't deserve a true name as of yet. When and if a
package is considered good, the long name is dropped and a shorter name is
adopted.

For instance, take Firefox-2.0
Initially it would be called <B><N>[1]Firefox-2.0[1]<E>
Then, when Gobo devs learn it is trademarked: <B>t<S><N>[1]Firefox-2.0[1]<E>
And its whitebox version: <B>w<S><N>[1]Firefox-2.0[1]<E>

Then comes the patching and the long, ugly names.

Finally, let's say a very popular, patched version is adopted as the
official modified version of Firefox in the Gobolinux main branch, marked by
"m". I know, I still didn't explain anything about branches, but  I hope the
point is clear. Its name would be:

<B>m<S><N>[1]Firefox-2.0[1]<E>

Or maybe <B>b<S>m<S><N>[1]Firefox-2.0[1]<E> , where "b" is for "branch". I
still haven't decided, but both options can be accepted as equivalent.

2) Lisp-like syntax is very easy to parse, so it can be rendered in more
pleasant ways. There's no need for zsh to directly show users the ugly
names. In this sense, you can think of them as a kind of XML document. The
code may look ugly, but it's easy to make it look good to users.

For instance:

<B>p<S><B>w<S><N>[1]Firefox-2.0[1]<E><S>patch1<S>patch2<E>

Could be rendered by zsh as:

patched
  whitebox version of
  Firefox-2.0
with patches
  patch1
  patch2


I hope the naming proposal sounds less cumbersome after this clarifications.

--Martin


On 12/19/06, Michael Homer <gobo-users-dufus at wotfun.com> wrote:
>
> On 12/19/06, Martin Baldan <martinobal at gmail.com> wrote:
> > Hi, guys, I've just posted one of those crazy proposals in the ideas
> > section, and I'd like to know what people think :)
> >
> >
> http://gobo.kundor.org/wiki/Ideas#Whitebox_programs_and_a_flexible_naming_policy_for_Gobolinux_packages
>
> I thought it was reasonable (I still didn't agree with the principle
> you're espousing, but it was reasonable) up until the "Basic Strategy"
> part at the bottom. I'm still not sure I understand it, but it seems
> to require having hideously long and complicated package names. I may
> not have understood all of your notation, though - could you add some
> practical examples to the page for each case?
> -Michael
> _______________________________________________
> gobolinux-users mailing list
> gobolinux-users at lists.gobolinux.org
> http://lists.gobolinux.org/mailman/listinfo/gobolinux-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.gobolinux.org/pipermail/gobolinux-users/attachments/20061220/ae91483c/attachment.htm 


More information about the gobolinux-users mailing list