[dfsbuild] suggestions and enhancements
Hello,
Here are some suggestions of mine regarding the dfsbuild package.
For the time bing I don't want to feed the bts before these bits been
discussed here.
1) New section:
[mkisofs]
#
# "no" means: Just prepare the target files and directories
# Do not bother to create the ISO image file,
# I'll do it later myself after checking again the target stuff
#
# "yes" means: Run mkisofs with
# hardcoded+additional options, described below
invoke = no
# additional options to pass to mkisofs command
# (-z from "compress" might go here),
# beside the hardcoded ones which are: ...
options = -hide-rr-moved -z
2) New section:
[copyfiles]
#/path/to/host/fs/files /path/inside/the/imageroot/
For, example:
2.1) It is useful if you want to copy some arbitrary files, like:
/usr/lib/locale/locale-archive /usr/lib/locale/
To fix some warnings, before some packages was installed/configured like:
Running: chroot /home/danchev/TEMP/livefs/image /bin/bash -c echo "debconf
debconf/priority selectcritical" | debconf-set-selections
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "bg_BG",
LC_ALL = (unset),
LANG = "bg_BG"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
2.2) If you want to populate your $HOME
with various binary files and the like:
$HOST-FS-HOME/.ssh/* $TARGET-FS-HOME/.ssh/
$HOST-FS-HOME/.gnupg/* $TARGET-FS-HOME/.gnupg/
where the relevant directories was created by
the "makedirs" option under the [DEFAULT] section
2.3) When paths has been changed by a new package version
and it is hard to predict how, let the user do it himself:
Running: cp -rv /usr/lib/grub/*/* /home/danchev/TEMP/livefs/image/boot/grub/
/bin/cp: cannot stat `/usr/lib/grub/*/*': No such file or directory
Fatal error: exception Shell.Subprocess_error(_, 0)
The files are under /lib/grub/*/* ...
So it it better not to be hardcoded in the source, but handled with
makedirs option and [copyfiles] section.
3) New function - checkexistance() to be called from anywhere
to check if locally provided files exist and if we have
permission to read them. I think the returned Unix error code
(ENOENT, EACCESS) could be explored via module Unix [1] or
module UnixLabels [2]. But I'm presently not sure how to code the Ocaml
magic here.
[1] http://caml.inria.fr/ocaml/htmlman/libref/Unix.html
[2] http://caml.inria.fr/ocaml/htmlman/libref/UnixLabels.html
--
pub 4096R/0E4BD0AB 2003-03-18 <keyserver.bu.edu ; pgp.mit.edu>
fingerprint 1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB
Reply to: