Alternative format for the configuration file

Free Ekanayaka free@agnula.org
Thu, 29 Jul 2004 03:21:54 +0200


|--==> "OS" == Otavio Salvador <otavio@debian.org> writes:

  OS> [1  <multipart/mixed (7bit)>]
  OS> [1.1  <text/plain (7bit)>]
  OS> || On Wed, 28 Jul 2004 17:00:10 +0200
  OS> || Free Ekanayaka <free@agnula.org> wrote: 

  fe> Practically speaking what I'd do would simple be:

  fe> 1) download the Packages.gz and Sources.gz file from whatever APT
  fe> repository I want to use

  OS> After it, the mirror of the backend with the needed packages is doen
  OS> and a pool for it is populated.

  fe> 2) generate my custom Packages.gz and Source.gz according to the
  fe> rules (filters/include/exclude/resolv_dep_using) defined in 
  fe> the config file

  fe> 3) populate the pool/ fetching the relevant packages, and possibly
  fe> deleting the old ones

  OS> No. This uses the previous packages of merged backends and populate
  OS> with hard-links it.

  fe> I think  such  approach grants   you a  great degree   of freedom when
  fe> filtering/merging repositories together.

  OS> No.

  OS> We provide, currently:

  OS> You got all packges from sid and then, on merge, you use only
  OS> base-packages.

But this way  I have to  download (and  possibly  update) a  number of
packages I'm not interested on.

For example let's say that you'd like to have all the base system from
sarge, except for  some  special packages for  which  I want  to  have
bleeding-edge versions from sid (this is a typical scenario for me).

What I want  to be able to do  is to have  those packages  and resolve
their dependences using sarge packages wherever possible, and grabbing
additional packages from sid only if necessary.

Is this  possible with the current  schema? And, if yes,  do I have to
download the  whole sid  base-system  even if  I'm interested  only on
getting a few packages?

  >>>>Let me add that  in this case the  configuration file is not a  simple
  >>>>flat list of variables, that defines paths, options, switches etc, but
  >>>>it's rather similar  to a tiny programming language,  used to build up
  >>>>your CDD using wide APT pools as raw bricks. 
  >>>>
  >>>>[rest of explanation snipped]

  NLB> OK, Free, let me square with you.  If you want me to sit down and throw 
  NLB> away the last 3 weeks or so of work on the new configuration format, 
  NLB> you're going to have to give me a better reason than "this other format is 
  NLB> prettier".  The current (newly rewritten) config format isn't the best 
  NLB> possible one, I agree, but it's very flexible, very easy to read, and does 
  NLB> everything we need out of it.

  NLB> If you were to show me a grave problem with the current format, then I'd 
  NLB> consider throwing it away and doing something different.  As it is, I 
  NLB> don't see a good reason to rewrite this code.  If YOU want to sit down and 
  NLB> rewrite it, rather than just telling me to do it, that's great, and that's 
  NLB> what Free Software is all about, and we'll talk about it when you've got 
  NLB> patches ready that pass the test suite. :-D

  NLB> As it is, I'd rather get to work on the actual functionality of this 
  NLB> program, instead of quibbling about details of the (IMO, rather 
  NLB> superficial) config format it uses.

  fe> I perfectly understand your point, and I do agree with it. However if like
  fe> the alternate format too, I can find some time to write the changes to the
  fe> Config.py module myself.

  OS> I currently, doesn't found a good reason to do it now. I think we have
  OS> other more important things to do and this, if needed, can be done later.

Yes, that's true. Let's concentrate on other implementation issues.

Cheers,

Free