[augeas-devel] Who should ship lenses?

Raphaël Pinson raphink at gmail.com
Sat Apr 2 17:23:22 UTC 2011


> Cons:
>  * Installing the related software would be required to edit it's file
>    syntax (ex: editing files in a chroot without augeas in that chroot)

I don't quite agree. In that case, you'd just use
$chrootdir/usr/share/augeas/lenses{,dist} as include dirs instead of
the standard dirs, and you're set.


>  * Who should own general lenses, like ini or shell lenses?

The Augeas package, definitely in my opinion. I think it could be a
good idea to define requirements, such as :

  module Fstab =
     version = 1.3
     depends = Sep >= 1.0, Util > 0.5

Backwards compatibility has always been important, especially in basic
modules such as Util or Sep, so we could state that modules depend on
a minimal version of them.


>  * Upstream may not be interested at all to manage lenses, lenses will
>    become spread in the universe

Or they will stay in Augeas until upstream is interesting. I believe
that once a few big projects (MySQL, Apache, etc.) choose to maintain
their lenses, Augeas lenses might become a standard per se and then
small projects will be more interested in providing them.

As stated in the link I posted before [0], I believe the best way to
send lenses upstream is to begin the work in big distributions.


>  * Il will be harder to get uniform lenses and tree structures
>    conventions

Unless you decide of a clear policy. Then again, Augeas is "only" an
API, and people are free to write the lenses they want. In fact, from
reading puppet-devel, you can see that quite a few people have made
their own lenses for specific needs. It's very likely that they don't
follow our rules of uniform trees, and it's OK.


>  * Upstream may not implements unit tests in their build systems for
>    the lens, which would require augeas

We can make it a strong recommendations. We can make it policy within
distributions that choose to distribute the lenses with their
packages. It is very recommended to write unit tests for every lib you
code in Python, Ruby or Perl these days, and yet a lot of people don't
code them. It's not Python's fault if Python coders don't code unit
tests. It's just a recommendation. It's open-source software.


>
> IMHO, I think the way it's done right now, keeping lenses in a central
> repository, is the way to go. We can find other projects that works this
> way, like vim, where most syntax highlighting belongs to the vim
> package, not the upstream one, excepted for few.

When my vim syntax doesn't exactly fit the file I'm editing, it's
frustrating at most, but not a big issue. When an Augeas lens doesn't
parse or write a conffile properly, it's a major issue. I think we
should encourage Augeas lenses to be associated with usptream software
as much as possible.


Raphaël


[0] https://lists.ubuntu.com/archives/ubuntu-server/2011-April/005476.html




More information about the augeas-devel mailing list