-----Original Message-----
From: Michael D. Schleif <[EMAIL PROTECTED]>
To: Serge Caron <[EMAIL PROTECTED]>
Cc: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
Date: February 14, 2002 6:20 PM
Subject: Re: [Leaf-devel] Re: Standards and due process :-)


>
>Voilą!
>
[snip]
>> Only concentrate on those two etc entries. The package author did not
define
>> a .local file to backup just part of the package. The package is running
off
>> CD and I can't rewrite it there :-). Finally, even if I could, I DO NOT
WANT
>> to. I want to keep this package in whatever form it was delivered for the
>> entire duration of its useful life.
>
>OK, now I see!  Somehow, if you explicitly stated this before, I cannot
>find it in your previous posts.  Dear me, I am too literal, again ;<
>
>Actually, I faced this same dilemma many months ago; but, I conquered it
>in quite a different manner -- I keep my own DCD development tree and
>have finely tuned *ALL* LIST and LOCAL files to my particular needs.  In
>fact, now that I have successfully attained a leaf developer site, I
>have been thinking about publishing what I believe to be the correct
>LIST and LOCAL files for those packages included in DCD and those else
>that I use.  Is this a case for convention and standards, or is
>willy-nilly construction of these files adequate to the task?
>


OK. You build /var/lib/lrpkg/xyz.local files with your choice of files that
have dynamic contents and should be included in a partial backup and your
choice of files that have static contents (tables, binaries, ...) and should
only be included in a full backup. Then you use lrcfg (or some other tool)
to specify for each package wheter you want a partial or a full backup.
Finally, you also specify, per package, the destination device.

So, if you run 10 packages on CD, you may end up with 7 partial packages on
floppy. This is Charles design and there is NOTHING wrong with it.


>Your process has the added benefit of placing *ALL* LIST elements in one
>(1) file -- something I have on my todo list; but, have not taken time
>to achieve, especially in light of Charles' musings on redoing the
>entire package thingy anyway.  O, that is what we are discussing, huh?
>


My process, as you put it, is simply to dis-associate some files with the
original package they came from. One of the difficulty in LRP is that you
CANNOT have exact same file name in two different packages. Both packages
will load, the last one overwritting the first one. If you backup either
package, the file is dropped because the filelist of one package is the
exclusion list of the second one.

Breaking this association removes the difficulty entirely. I can then, if I
want to, backup to whole lot in package gizmo.lrp if that is what I fancy.

>Two (2) questions, at this point:
>
>[1] The *only* way to make your ${pkg}.list modifications stick is to
>perform a backup -- right?  Since your example, bindc.lrp, includes *NO*
>LIST file and you have no time to create one, then you need to backup

Oops! Did I go wrong somewhere? Here is what I sent you: "Here is the
contents of
/var/lib/lrpkg/bindc.list, an old BIND 8.something package:

  etc/init.d/bind
  etc/named.conf
  usr/sbin/named
  usr/sbin/ndc
  var/lib/lrpkg/bindc.*
  var/named
"

Since the contents of /var/lib/lrpkg/bindc.list is explicitly listed, there
is a LIST file.


>the *entire* package, just to enforce persistence of this modification
>-- right?  If so, what do you gain?  Hopefully, it is not a large
>package, nor that you have only that floppy on which to store it ;<


If I modify the contents of the list file and I were to do a backup, then I
would loose some contents of the original package. However, I am explicit in
giving the example that I run from a CD (I would prefer ROM :) and that,
regardless of the storage media, I do NOT want to modify the original
package. In other words, there are packages for which I will never backup.

>
>Perhaps, this is a calling for creation of this file:
>
> /var/lib/lrpkg/*.list
>

The file is already there, per above.

>[2] Now, I must ask, again, how do you account for configuration files
>that reside elsewhere, say ?  It seems to me
>that exceptions -- remember, the more the merrier! -- are quite costly
>and speak loudly in support of those issues that I take with your
>previous statement:
>
> ``there should not be a baseline specification''

I gave as an example a code snippet for /etc from a rather specific machine
down the hall for which we wanted write-protection at all times. Again, my
personnal experience with LEAF/LRP is that there will be new dynamic
contents every time you introduce a new package in a configuration. Your
package likes /usr/share/snmp/snmpd.conf and BIND likes /var/named. /etc is
easier to do than /usr.

To be specific, if a package maintains dynamic contents in /usr/sbin then I
HAVE to backup the original package (full or partial). However, I currently
do not run such packages and, I my experience, most package developers have
behaved. Do you have a different experience?

>
>> Once the package is LOADED, I delete the two etc lines from the list.
This
>> means that any other package can now claim these two files. If these
files
>> were enumerated in, say, /var/lib/lrpkg/bindc.exclude.list, they would be
>> excluded from every other package AND bindc.lrp. This is important,
please
>> stop here if it is not clear.
>
>Yes, good point.  Nevertheless, this is, perhaps, the most pernicious
>flaw in the current system.
>


OK.

>Did anybody say that the current system is perfect?  Notwithstanding,
>the convention-al, standard-ness to its essence?  No, I am not flaming
>the current system, nor any part thereof; rather, it is this learning
>process that begs for elucidation, regardless whether or not you like
>the terms 'convention' and 'standards'!  If the current system changes
>-- I guarantee that it will -- the convention is to publish those
>changes to the user community, such that users of the system can use the
>system in the proscribed manner.


I do not remember being critical of the current system. What I AM saying is
that there is no obligation to store a file in a given package. First, there
is no obligation to have the default store in the initial ramdisk. Second, I
may want to backup more thant what the package developer had intended.
Third, I may not have a choice of conventions because packages like the
ISC's dhcpcd will store their stuff in /var/state and pppd will store its
stuff in /etc/ppp: I am in no position to rewrite history and these
conventions exist outside of LEAF.

You are correct in saying that we don't have to make matters worse. However,
it would be a problem to fault someone dealing with dhcpcd to store
transient data in /var/state rather than /tmp, for example.

You are also correct in saying that there is a burden on the shoulders of
the person assembling the system. Do you have a suggestion?

[snip]
>
>[1] If they reside in root.lrp -- *always* the FIRST package loaded! --
>then, your laziness in not creating bindc.list bites you in the a**,
>because bindc.lrp just over-wrote your precious configuration files!
>
>[2] If you are going to ``create a configuration package'', then why
>bother with this kludge at all?  Why not build a better mousetrap and be
>done with it?

>

[ out of sequence ]
>> Dachstein loads the default store BEFORE anything else and this is not
>> helping your understanding. If etc/named.conf is in both root.lrp and
>> bindc.lrp, the later MUST overwrite the former because the package
loading
>> code is in root.lrp. By separating the default store from the boot
loading
>> code, you can load the default store in the order YOU chose :-) Cool!

Leave my a** alone! ;-) I know that working from concepts alone is difficult
and that your logic is based in part on the tools you have at hand. However,
you have a better mousetrap on the floppy discussion.img.

>> What I want is the entire contents of etc (and other stuff) as if I was
>> working with persistent storage without affecting each package.
>
>Yes, we all do -- at minimum cost.  Your offer to ``create a
>configuration package'' is looking better and better ;>
>


Thank you.

>
>The question, then, becomes: How do we ``load the default store in the
>order YOU chose''?  Although, I probably missed this, also in my initial
>confusion; please, be so kind as to reiterate?
>


OK. To make a long story short, the contents of the initial ramdisk is
explicitly and unambiguously enumerated in a package list, LEAF.list in the
case of the discussion.img floppy. This precludes the inclusion of / by
definition. / is part of a different package, root.lrp in the case of the
discussion.img floppy. root.lrp being just another package can be placed
anywhere in the LRP=blah,blah,root,blah,blah load sequence. You type, you
choose TM :)

>As your theses become clearer, I am left wondering what I have missed
>earlier in discourse.  Can you point me to earlier posts in which my
>questions are answered?
>
I am waiting for a plane and cannot do that right now. I suggest you visit
http://leaf.sourceforge.net/devel/scaron/leaf.htm with a fresh eye and mess
around with the discussion.img floppy.

Please take apart root.lrp before you start (just for fun!). If I remember
correctly, the floppy is designed to loose klogd if you backup root before
you edit /bin/busybox.links to remove the line /sbin/klogd. So you can
experiment either way. Don't flame me if it's too simple :-)

Regards,

Serge Caron



_______________________________________________
Leaf-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/leaf-devel

Reply via email to