Hi all,

I wasn't sure whether I should post this to linux-fai or linux-fai-devel... 

We're using FAI 3.4.7 for a Debian squeeze-based system, but I've hit a problem 
in fai-mirror. I haven't been able to try the latest code from github, but from 
a brief review of the source I think the problem would exist there too.

During debootstrap, we choose a non-standard syslog (sysklogd):

        FAI_DEBOOTSTRAP_OPTS="--exclude=info,rsyslog --include=sysklogd,klogd" 

This works fine, and the NFSROOT and base.tgz get built properly. But when 
fai-mirror runs, apt-get doesn't know that my base system has sysklogd 
installed, and it thinks my top-level package is not installable.

If APT knew about the packages I'd installed in the base, this wouldn't be an 
issue.

I've implemented a fix that works for me (based on 3.4.7) and published it here:

        https://github.com/ktreis/fai/tree/dpkg-status

The fix is pretty simple:

1. Saving a snapshot of /var/lib/dpkg/state after the base.tgz is created
2. Copying that snapshot into place in fai-mirror's initialize()
3. Using the --reinstall flag in fai-mirror's add_base_packages() to force a 
re-download

From my (admittedly newbie-ish) perspective, this seems to be the right thing 
to do. Any packages that are going to get installed via FAI are going to be 
installed on top of the base, and this way fai-mirror has a more accurate 
picture of what the base looks like.

Would there be any problems with this approach?

--
Ken Treis
Miriam Technologies, Inc.
(866) 652-2040 x221

Reply via email to