<!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 Fri, 2010-09-24 at 11:23 -0400, Trevor Woerner wrote:<BR>
<BLOCKQUOTE TYPE=CITE>
<TT><FONT COLOR="#1a1a1a">I understand that people want to create their own list(s), but my</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">understanding is that whatever the user selects must be built in a</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">specific order, otherwise their build will not succeed.</FONT></TT><BR>
</BLOCKQUOTE>
Correct. You need to know what you are doing when creating a new list.<BR>
For example, it could be a list for modules going into 7..6.<BR>
<BLOCKQUOTE TYPE=CITE>
<TT><FONT COLOR="#1a1a1a"> I thought the</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">list returned by "build.sh -L" was a list of all possible modules xorg</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">has to offer, listed in the order they must be built in order to have</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">a successful build.</FONT></TT><BR>
</BLOCKQUOTE>
99% correct. That list (in build.sh) is result of what the developers/maintainers<BR>
think is useful. It tends to be "more" rather than "less". Last year a number of protocol<BR>
extensions were removed, but the code is still there in the repo and most likely still in use<BR>
on some system.<BR>
<BLOCKQUOTE TYPE=CITE>
<TT><FONT COLOR="#1a1a1a"> So my future patch to allow the user to specify an</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">arbitrary list has logic to compare the user-supplied list to the</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">"build.sh -L" list so that it can build the arbitrary list in the</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">correct order.</FONT></TT><BR>
</BLOCKQUOTE>
Not at all. The user-supplied list must be in the correct order.<BR>
You won't start from scratch here. Take the big list and trim it. (See below)<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<TT><FONT COLOR="#1a1a1a">So I was wondering if having an in-order list of all possible xorg</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">modules (which is what I assumed "build.sh -L" was providing) might be</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">of some use to tools outside build.sh.</FONT></TT><BR>
</BLOCKQUOTE>
Absolutely. As an implementation detail, build.sh may contain a hard-coded default list<BR>
which is exported through the -L option. A user can then customize the list, say, <BR>
remove a pile of video drivers, and use it back with build.sh as a user defined list.<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<BR>
<TT><FONT COLOR="#737373">> I'll have a look at your patch later today.</FONT></TT><BR>
<BR>
<TT><FONT COLOR="#1a1a1a">The most recent patch I provided is the patch to allow a user to</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">perform arbitrary git or make commands over the components they're</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">processing. I was hoping that patch would go through first, then a</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">cleanup for "no-quit", then the "arbitrary list" patch. I was then</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">hoping further cleanups and features would also be considered.</FONT></TT><BR>
</BLOCKQUOTE>
Sounds like a plan.<BR>
<BLOCKQUOTE TYPE=CITE>
<BR>
<TT><FONT COLOR="#1a1a1a">As we've already seen, a patch I provided a couple days ago has</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">already needed to be rebased. Had I provided all the patches at once</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">it just would have meant more work. I'd also like to see a cleanup go</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">in before the "arbitrary list" patch since it would reduce the size of</FONT></TT><BR>
<TT><FONT COLOR="#1a1a1a">any future work/patches.</FONT></TT><BR>
<BR>
</BLOCKQUOTE>
It's a pain, isn't? All you need is timing and luck.<BR>
<BR>
<BR>
With those 2 features, any-list and any-cmd, it will make build.sh a powerful script,<BR>
not to mention other scripts that can written using "any-list".<BR>
<BR>
<BR>
</BODY>
</HTML>