output=initramfs.@REPO@.@host_cpu@.img
+# Make a safe 'install_file' function to install files into the
+# filesystem. XXX We need a 'febootstrap-install' utility.
+# Usage: install_file <local-file> <target-pathname> mode owner[.group]
+install_file ()
+{
+ cp "$1" initramfs/"$2"
+ # Get the inode of the new file and remove it from fakeroot.log.
+ ino=$(ls -i initramfs/"$2" | awk '{print $1}')
+ cp initramfs/fakeroot.log fakeroot.log.old
+ grep -v "ino=$ino," fakeroot.log.old > initramfs/fakeroot.log
+ rm fakeroot.log.old
+ # Set mode, owner and group as desired.
+ @FEBOOTSTRAP_RUN@ initramfs -- chmod "$3" "$2"
+ @FEBOOTSTRAP_RUN@ initramfs -- chown "$4" "$2"
+}
+
# Copy the daemon into the filesystem.
-cp @abs_builddir@/daemon/guestfsd initramfs/sbin/guestfsd.new
-@FEBOOTSTRAP_RUN@ initramfs -- \
- install -m 0755 -o root -g root /sbin/guestfsd.new /sbin/guestfsd
-rm initramfs/sbin/guestfsd.new
+install_file @abs_builddir@/daemon/guestfsd /sbin/guestfsd 0755 root.root
# Generate final image.
@FEBOOTSTRAP_TO_INITRAMFS@ initramfs > $output-t