[267] in BarnOwl Developers
Re: Release engineering, packaging and momentum
daemon@ATHENA.MIT.EDU (Nelson Elhage)
Thu Oct 29 18:04:19 2009
Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
Date: Tue, 31 Oct 2006 15:21:59 -0500
From: Nelson Elhage <nelhage@MIT.EDU>
To: Sam Hartman <hartmans@mit.edu>
Cc: dirty-owl-hackers@mit.edu
In-Reply-To: <tslzmbcs1rx.fsf@cz.mit.edu>
--LZvS9be/3tNcYl/X
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Your thoughts re: Perl modules and install are in fact almost exactly
what I've been planning on engineering. I've been *really* hosed the
last few days, so I haven't been able to write code other than some
small bugfixes, but I've been intending to turn asedeno's module system
into something that uses real perl modules, and has all the properties
you listed. The module system would become part of owl core, and would
load modules out of anywhere in @INC (looking in probably an owl::Module
namespace), and would push the directories you suggested into @INC. I
hope to have time to hack on this later this week, and I'm hoping on
doing it this weekend at the latest.
Also, dependencies won't be an issue then, since things will be real
modules, so you'll just be able to do=20
use owl::Module::ColorUtils;
and get things you depend on.
- Nelson
On Tue, Oct 31, 2006 at 02:50:26PM -0500, Sam Hartman wrote:
>=20
>=20
> Hi, folks. First, thanks for all the great work. I have not quite
> migrated to owl as my jabber client but have been playing with it and
> expect to do so within the next two weeks especially if things
> continue.
>=20
> I strongly urge you to continue the momentum this project has built
> up. While I think working with kretch is really important, I think
> making forward progress is far more important. You should set a
> deadline past which you want to try to start recruiting users.
>=20
> However, the current barnyard-owl snapshots (I'll use that name until
> someone comes up with a better one) lack something critical that owl
> had. Owl was easy to start using: you typed owl. You didn't need to
> find someone to sleep with in order to set up your dotfiles so it
> would work. You didn't need to copy random hacked up vt files out of
> someone's directory. We've lost that. I understand why, and in a
> small community of developers, I think that's OK. But I propose
> fixing it before a release.
>=20
>=20
> I propose that owl gain the concept of installation configuration in
> addition to home directory configuration.
>=20
>=20
> Basically, for core modules like jabber, I think that you should be
> able to drop them into @datadir@/owl/modules and have perlwrap.pm load
> them. That probably means much of owlconf.pl moving into perlwrap.pm.
> You'd probably want to support modules in both ~/.owl and
> @datadir@/owl/modules. You'd need to make owl's @datadir@ available
> to perl, presumably by populating a variable with it. Note that owl's
> datadir may not be the same (likely is not) as perl's.
>=20
> Another problem I noticed is that some modules depend on other
> modules. In particular, jabber.pl seems to depend on colorutils for
> is_bold. I'm not entirely sure that's ideal. I think that if that
> sort of dependency is going to happen, it is important to separate
> library code from module code.
> To that end, I propose that perlwrap.m add @datadir@/owl/lib and ~/.owl/l=
ib to @INC.
> I propose that utility functions from ColorUtils move into OWL::ColorUtil=
s and get installed in lib/Owl/ColorUtils.pm
>=20
> I also think it is important to be careful about which modules get
> installed in datadir/modules. I definitely think jabber should be.
> But it is important only to install modules that are easy to use and
> that most people will want.
>=20
> Thoughts?
>=20
> does this sound reasonable?
>=20
> --Sam
>=20
--LZvS9be/3tNcYl/X
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
iD8DBQFFR7Bmh92vSgMbLs8RAqNOAKCkHJH8KlWc1S7ITrk7r51Mj86hWgCeKSu9
/+s3XZsDdBhjHklc8Y2guPk=
=TIkO
-----END PGP SIGNATURE-----
--LZvS9be/3tNcYl/X--