On Feb 1, 2011, at 7:55 PM, Michael Stahnke wrote:

>> Pains me to say this but Gems are designed to solve these problems cos
>> you can have many versions on a machine and each project can require
>> the version they wish.
>> 
>> I'd favor some way to vendor them into our projects so we can maintain
>> the one we care about internally to each project and upgrade when we're
>> ready.
>> 
> 
> Keep in mind it's often times against package guidelines to ship items
> that have been 'vendored'.  From a systems management perspective,
> it's the equivalent to static linking binaries.  If Puppet started
> vendoring its dependencies, then EPEL for example, would have to
> un-vendor them in order to package it for enterprise Linux.  It's a
> slippery slope.
> 
> I would still be in favor of code reuse, just not so much the
> vendoring part.  Breaking puppet into smaller components is fine.

Yeah, I agree with this basic question - how do we achieve code reuse without 
just vendoring things?

The only choice I see is to fully package everything we want treated like a 
dependency.  That kind of sucks for a lot of things I'm thinking of, though.  
E.g., I'd love to pull Puppet::Application and my prototype Puppet::Interface 
code into a separate repo so facter, puppet, mcollective, etc could all depend 
on it, but it's going to end up being quite small, so that doesn't really work.

For very small systems (I'd expect this to consist of two files) it could 
possibly work to have a rake task that installs the libs into the different 
repos, so it resembles vendoring but done in a way that the classes get renamed 
and everything.

I think this is ugly, but is it more ugly than having 10 teeny packages that 
now need to get added to Debian, Red Hat, etc?

It's the low dependency count that really kills us - we don't want any further 
external dependencies, but that's pretty much at odds with code sharing, at 
least in so far as I can see a solution.

-- 
I believe that if it were left to artists to choose their own labels,
most would choose none.          -- Ben Shahn
---------------------------------------------------------------------
Luke Kanies  -|-   http://puppetlabs.com   -|-   +1(615)594-8199




-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to