Sorry if a repost Hi,
Whith the release of dachstein CD (I didn't tried it yet), I think it's time to explain what I am coding now. ( It's not yet ready for a release but you can get the ideas. I might be usefull to store config files on a floppy Introduction: I consider myself as a 'semi-idiot' creating EigerStein/Dachstein for a dozen of "super-idiots" All of them have the same kind of Internet connexion (ADSL with pppoe). Some of them wanted to have secure tunnels between 2 leaf so I had the requirement to change the internal network addressing quite easily Goal: - How to keep the configurations files separate from the rest of the packages - How to manage the modifications made to configuration file so that I can remember what I did some months before. - How to ease some manipulations of the config files Acknowoledgments I stole a lot of ideas from Oxygen, EigerStein, Dachstien, fli4l.... And added a few of mine ;-) I want to thanks the LRP/LEAF gurus for building such a great thing...) the leaf project is really a gold mine for the one who wants to learn shell programming Design The Main idea is to keep copies of modified configuration files in the /myconfig directory copy them in the right place early in the boot process. the template of config files contains tags that can be replaced by the actual values stored in a file on the boot device (out of the .lrp easier to edit whithout booting the floppy) Description I've built a package called MYCONFIG.LRP that contains -- a directory called /myconfig /bin : some scripts /templates : templates of config files stored in subdirectories bu package name (see templates.conf) /sbin : some scripts copied to /usr/local/sbin ( tools) /config : folder containing the copy of the config directory stored on the boot filesystem out of the packages myconfig.txt contains variables definitions /scripts : scripts that are called by the unconfigured.sh to setup things that cannot be done with the templates ( creating the dnscache file /etc/dnscache/root/ip/internal net -- a script in /sbin/unconfigured.sh Files: /myconfig/templates.conf This file describes the templates. it has the following format Package template destination owner group perm package: package owning this config file template: name of template in the /myconfig/templates/$package directory destination: full path name where the file must be put owner group perm ( if present, chown chgrp chmod are done on the dest file /sbin/unconfigured.sh this script (if present, of course ) is called by the boot process after packages extractions and before the /etc/init.d it calls /myconfig/bin/setup.sh ( todo: change this filename) /myconfig/bin/setup.sh this scripts does the following - temporarly mount /proc because it will be mounted later during the boot - mount boot device - install all package stored in /boot/addons ( to overcome the command line lenght limit) - look in /boot/config for the first file named *.cfg (eg. a.cfg ) - if found copy it as /myconfig/config/myconfig.txt - copy all files from /boot/config/a/*.* to /myconfig/templates/config that way I can store out of the packages all configuration data - variables from myconfig.txt - other templates (ssh key files...) - call /myconfig/bin/processtemplate - call all scripts in /myconfig/scripts - unmount /proc and boot device /myconfig/bin/processtemplate this script converts the myconfig.txt file into a sed script in: var=val out: s/##var##/val/g for all templates in /myconfig/templates.conf execute the sed script write the output at destination pathname set owner group and permissions next Conclusions. It's working but not yet finished. I wanted to store all my modifications in a new package so that a can simply overwrite a .LRP with a new one without losing my changes. How to use. - basically instead of modifiying a config file from the menus, you copy the file in the /myconfig/template/xx.in - edit it to use the ##tagname## if it's defined in the myconfig.txt - or simply edit it - backup myconfig.lrp. if you want to upgrade a package, you can replace the old one with a new downloaded one and review the config file to compare it with your template. TODO: better comment_stripping ( remove LF if file editied in dos/win) ..bug fixes documentation URL: http://users.skynet.be/Etienne.Charlier/myconfig.lrp If this can give some ideas to the true gurus, ..... It's just a draft, I'm coding/testing before writing docs... _______________________________________________ Leaf-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/leaf-devel