Hi, I got the same error message.
In contrast, there is no such an error if I make use of the wrapper chfn.fakechroot below : $ chmod +x chfn.fakechroot $ export FAKECHROOT_CMD_SUBST=/usr/bin/chfn=$(readlink -f chfn.fakechroot) $ debirf make rescue [ ... ] debirf> debirf initrd created. debirf> kernel: /home/me/rescue/vmlinuz-3.16-2-amd64 debirf> initrd: /home/me/rescue/debirf-rescue_sid_3.16-2-amd64.cgz $ echo $? 0 It seems that this bug #763391 and #745082 share a common cause. Regards, JH Chatenet File chfn.fakechroot : ----------8<-------------------8<------------------ #!/bin/bash # chfn # # Replacement for chfn command which changes a gecos field in # etc/passwd under the (fake)chroot. There is no locking and no permission check. which_option() { option_name="$1" option_value="$2" case $option_name in -f|--full-name) has_new_name=1 new_name="$(echo $option_value|tr -d ':,=')" ;; -h|--home-phone) has_new_home_phone=1 new_home_phone="$(echo $option_value|tr -d ':,=')" ;; -o|--other) has_new_other=1 new_other="$(echo $option_value|tr -d ':')" ;; -r|--room) has_new_room=1 new_room="$(echo $option_value|tr -d ':,=')" ;; -R|--root) has_root=1 root="$option_value" ;; -w|--work-phone) has_new_work_phone=1 new_work_phone="$(echo $option_value|tr -d ':,=')" ;; esac } parse_gecos_field() { gecos_field="$1" old_name="${gecos_field%%,*}" gecos_field="${gecos_field#$old_name}" if [ -z "$gecos_field" ]; then return else gecos_field="${gecos_field#,}" fi old_room="${gecos_field%%,*}" gecos_field="${gecos_field#$old_room}" gecos_field="${gecos_field#,}" old_work_phone="${gecos_field%%,*}" gecos_field="${gecos_field#$old_work_phone}" gecos_field="${gecos_field#,}" old_home_phone="${gecos_field%%,*}" gecos_field="${gecos_field#$old_home_phone}" gecos_field="${gecos_field#,}" if [ -n "$gecos_field" ]; then has_old_other=1 old_other="$gecos_field" fi } while [ $# -gt 0 ]; do case $1 in -u|--help) echo "fakechroot : replacement of chfn" chfn -u exit 0 ;; -f|--full-name|-h|--home-phone|-o|--other|-r|--room|-R|--root|-w|--work-phone) option_name="$1" option_value="$2" which_option "$option_name" "$option_value" shift 2 ;; --full-name=*|--home-phone=*|--other=*|--room=*|--root=*|--work-phone=*) option_name="${1%%=*}" option_value="${1#*=}" which_option "$option_name" "$option_value" shift ;; -f*|-h*|-o*|-r*|-R*|-w*) option_value="${1#-?}" option_name="${1%$option_value}" which_option "$option_name" "$option_value" shift ;; --) shift break ;; *) break ;; esac done if [ $# -gt 0 ]; then user="$1" else user=$(id -u -n) fi # Where is the root ? if [ -n "$root" ]; then if [ "${root#/}" != "$root" ]; then root="${FAKECHROOT_BASE_ORIG}${root}" fi else root="$FAKECHROOT_BASE_ORIG" fi if [ ! -e "$root/etc/passwd" ]; then echo "fakechroot chfn replacement : $root/etc/passwd : no such file" >&2 exit 1 fi # Is there such user ? grep -q "^${user}:" "$root/etc/passwd" ret=$? if [ $ret -eq 1 ]; then echo "fakechroot chfn replacement : $user : no such user" >&2 exit 2 elif [ $ret -eq 2 ]; then echo "fakechroot chfn replacement : grep error" >&2 exit 3 fi # What is the old gecos field ? old_gecos_field=$(sed -n "/^${user}/ {s/^\([^:]*:\)\{4\}\([^:]*\):.*$/\2/;p;q}" "$root/etc/passwd") parse_gecos_field "$old_gecos_field" # Assemble new gecos if [ -n "$has_new_name" ]; then new_gecos_field="$new_name" else new_gecos_field="$old_name" fi if [ -n "$has_new_room" ]; then new_gecos_field="${new_gecos_field},$new_room" else new_gecos_field="${new_gecos_field},$old_room" fi if [ -n "$has_new_work_phone" ]; then new_gecos_field="${new_gecos_field},$new_work_phone" else new_gecos_field="${new_gecos_field},$old_work_phone" fi if [ -n "$has_new_home_phone" ]; then new_gecos_field="${new_gecos_field},$new_home_phone" else new_gecos_field="${new_gecos_field},$old_home_phone" fi if [ -n "$has_new_other" ]; then new_gecos_field="${new_gecos_field},$new_other" elif [ -n "$has_old_other" ]; then new_gecos_field="${new_gecos_field},$old_other" fi name_only="${new_gecos_field%%,*}" if [ "${new_gecos_field#$name_only}" = ",,," ]; then new_gecos_field="$name_only" fi # New /etc/passwd sed -i "s/^\(${user}:\([^:]*:\)\{3\}\)\([^:]*\)/\1${new_gecos_field}/" "$root/etc/passwd" ----------8<-------------------8<------------------ -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org