<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.26.0">
</HEAD>
<BODY>
On Tue, 2010-04-06 at 18:43 -0700, Keith Packard wrote:<BR>
<BLOCKQUOTE TYPE=CITE>
<TT><FONT COLOR="#1a1a1a">The goal is to reduce the number of packages required to build the X</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">server or drivers from git or from tarballs.</FONT></TT><BR>
<BR>
</BLOCKQUOTE>
Have you considered using Automake "nested packages" feature?<BR>
<BR>
It may provide the best of both worlds, retaining the desired level of granularity while distributing a small number of packages.<BR>
<BR>
<BLOCKQUOTE>
"A typical setup is that package A will distribute one of the libraries it needs in a subdirectory. This library B is a complete package with its own GNU Build System. The configure script of A will run the configure script of B as part of its execution, building and installing A will also build and install B. Generating a distribution for A will also include B."<BR>
<BR>
"It is possible to gather several package like this. GCC is a heavy user of this feature. This gives installers a single package to configure, build and install, while it allows developers to work on subpackages independently."<BR>
</BLOCKQUOTE>
<BR>
We can group a number of drivers or protos or whatever (subpackages) that are under active development in a "driver" (or "protocol") top package. Other drivers or protos not selected can continue to work the way they do today. Subpackages can be easily moved in and out. We would not have to write any script or workaround, just use automake the way it was designed.<BR>
<BR>
Marketing brochure:<BR>
<A HREF="http://www.gnu.org/software/automake/manual/automake.html#Nested-Packages">http://www.gnu.org/software/automake/manual/automake.html#Nested-Packages</A><BR>
<A HREF="http://www.gnu.org/software/automake/manual/automake.html#Subpackages">http://www.gnu.org/software/automake/manual/automake.html#Subpackages</A><BR>
<BR>
It looks like the details have been well thought out:<BR>
<BR>
<BLOCKQUOTE>
--help=recursive<BR>
</BLOCKQUOTE>
<DL>
<BLOCKQUOTE>
Print a summary of the options unique to this package's configure, and exit. The <TT>short</TT> variant lists options used only in the top level, while the <TT>recursive</TT> variant lists options also present in any nested packages. <BR>
</BLOCKQUOTE>
</DL>
<BR>
</BODY>
</HTML>