Quoting Jean-Michel Vourgère (2013-01-07 16:58:08)
> On Sunday 06 January 2013 11:29:55 Arno Töll wrote:
> > (...)
> > > Seems that error comes from a2ensite call, so I suspect the cause
> > > might be some dependency of that script has not yet been
> > > configured.
> >
> > a2ensite does not call a shell to read /etc/apache2/envvars. Your
> > output makes me suspect this is rather coming from the init script
> > which is invoked from postinst. What makes you think a2ensite is the
> > problem?
>
> Arno:
> a2ensite reads /etc/apache2/envvars in function read_env_file on line
> 331:
> env - sh -c '. /etc/apache2/envvars && env'
Thanks, Jean-Michel.
Sorry if I was unclear earlier: I am talking about postinst too:
postinst calls a2ensite calls perl loads modules.
Since those modules are not yet configured, postinst fails.
Package needs to pre-depend on perl, not just depend on it.
Below test indicates that this bug is independent from that lack of
predependency on perl - so do you guys want me to file a separate bug
about the perl predependency?
> Jonas:
> What does the command line above yield?
> What is the result code ? ($?)
> What shell do you use? dash? (ls -l /bin/sh)
> Can you send us your envvars file?
As I wrote before, it occurs using multistrap. Multistrap is like
debootstrap but postpones all postinst calls till later. Therefore
envvars file is the file shipped with the package itself.
Also, I tried manually switching sh to use bash, but that caused
exact same failure.
Attached is the exact commands I used myself, and below is excerpt of
output when I (after failure of attached script) add the following near
the top of /var/lib/dpkg/info/apache2.2-common.postinst inside the
chroot:
set +e
set -x
env - sh -c '. /etc/apache2/envvars && env'
echo $?
ls -l /bin/sh
cat /etc/apache2/envvars
set -e
...and then re-run make (which calls all postinst scripts again):
+ env - sh -c '. /etc/apache2/envvars && env'
sh: 1: .: Can't open /etc/apache2/envvars
+ echo 2
2
+ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Jan 7 18:53 /bin/sh -> bash
+ cat /etc/apache2/envvars
# envvars - default environment variables for apache2ctl
# this won't be correct after changing uid
unset HOME
# for supporting multiple apache2 instances
if [ "${APACHE_CONFDIR##/etc/apache2-}" != "${APACHE_CONFDIR}" ] ; then
SUFFIX="-${APACHE_CONFDIR##/etc/apache2-}"
else
SUFFIX=
fi
# Since there is no sane way to get the parsed apache2 config in scripts, some
# settings are defined via environment variables and then used in apache2ctl,
# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
export APACHE_PID_FILE=/var/run/apache2$SUFFIX.pid
export APACHE_RUN_DIR=/var/run/apache2$SUFFIX
export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX
# Only /var/log/apache2 is handled by /etc/logrotate.d/apache2.
export APACHE_LOG_DIR=/var/log/apache2$SUFFIX
## The locale used by some modules like mod_dav
export LANG=C
## Uncomment the following line to use the system default locale instead:
#. /etc/default/locale
export LANG
## The command to get the status for 'apache2ctl status'.
## Some packages providing 'www-browser' need '--dump' instead of '-dump'.
#export APACHE_LYNX='www-browser -dump'
## If you need a higher file descriptor limit, uncomment and adjust the
## following line (default is 8192):
#APACHE_ULIMIT_MAX_FILES='ulimit -n 65536'
- Jonas
--
* Jonas Smedegaard - idealist & Internet-arkitekt
* Tlf.: +45 40843136 Website: http://dr.jones.dk/
[x] quote me freely [ ] ask before reusing [ ] keep private
#!/bin/sh set -e # This script works with normal user, except installing needed packages #sudo aptitude install git fai-client multistrap fakechroot # Setup boxer git clone git://git.debian.org/git/collab-maint/boxer.git cd boxer git submodule update --init # Enable a few classes, use local proxy, and explicitly set target suite bin/boxerenclass ipv4ll webchat echo "source = http://proxy:9999/debian" > config.mk echo "suite = wheezy" >> config.mk # Create system make # Install system onto /media/boxer (formattet but not mounted device) make install
Attachment:
signature.asc
Description: signature