--- Please enter the report below this line. ---
Dear Maintainer!
operating system: Debian jessie
How to reproduce?
mkdir testdir
sudo debootstrap wheezy ./testdir/ http://ftp.us.debian.org/debian/
[snipped output of debootstrap]
Consider the following ./testscript:
##########
#!/bin/bash
set -x
set -e
testfunct() {
true "$0 $FUNCNAME: ok"
}
export -f testfunct
type -t testfunct
bash -x -c testfunct
chroot ./testdir bash -c ls
chroot ./testdir bash -x -c env | grep -i bash_func
chroot ./testdir bash -x -c env
chroot ./testdir bash -x -c type -t testfunct
chroot ./testdir bash -x -c testfunct
##########
Output:
##########
user@debian:~$ sudo ./testscript
+ set -e
+ export -f testfunct
+ type -t testfunct
function
+ bash -x -c testfunct
+ testfunct
+ true 'bash testfunct: ok'
+ chroot ./testdir bash -c ls
bin boot dev etc home lib lib64 media mnt opt proc root run
sbin selinux srv sys tmp usr var
+ grep -i bash_func
+ chroot ./testdir bash -x -c env
+ env
BASH_FUNC_testfunct%%=() { true "$0 $FUNCNAME: ok"
+ chroot ./testdir bash -x -c env
+ env
TERM=xterm
SHELL=/bin/bash
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;
3
5:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
SUDO_USER=user
SUDO_UID=1000
USERNAME=root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MAIL=/var/mail/root
_=/usr/bin/env
PWD=/
LANG=de_DE.UTF-8
HOME=/root
SUDO_COMMAND=./testscript
SHLVL=2
LANGUAGE=
LOGNAME=root
BASH_FUNC_testfunct%%=() { true "$0 $FUNCNAME: ok"
}
DISPLAY=:0
SUDO_GID=1000
+ chroot ./testdir bash -x -c type -t testfunct
+ type
+ chroot ./testdir bash -x -c testfunct
+ testfunct
bash: testfunct: command not found
user@debian:~$
##########
Otherwise exported bash functions do work for me when having parent
scripts that export functions and child scripts that use them just fine.
The version of bash that is in Debian wheezy does not have this issue.
Cheers,
Patrick
Debian Release: 8.0
500 testing security.debian.org
500 testing ftp.de.debian.org
--- Package information. ---
Depends (Version) | Installed
===========================-+-============
base-files (>= 2.1.12) | 8
debianutils (>= 2.15) | 4.4+b1
Recommends (Version) | Installed
===================================-+-================
bash-completion (>= 20060301-0) | 1:2.1-4
Suggests (Version) | Installed
=======================-+-===========
bash-doc |