[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[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: