yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #00263
[Bug 1073077] Re: zsh complains about locale_warn on launch
This bug was fixed in the package cloud-init - 0.7.1-0ubuntu1
---------------
cloud-init (0.7.1-0ubuntu1) raring; urgency=low
* New upstream release.
* landscape: install landscape-client package if not installed.
only take action if cloud-config is present (LP: #1066115)
* landscape: restart landscape after install or config (LP: #1070345)
* multipart/archive: do not fail on unknown headers in multipart
mime or cloud-archive config (LP: #1065116).
* tools/Z99-cloud-locale-test.sh: avoid warning when user's shell is
zsh (LP: #1073077)
* fix stack trace when unknown user-data input had unicode (LP: #1075756)
* split 'apt-update-upgrade' config module into 'apt-configure' and
'package-update-upgrade-install'. The 'package-update-upgrade-install'
will be a cross distro module.
* fix bug where cloud-config from user-data could not affect system_info
settings (LP: #1076811)
* add yum_add_repo configuration module for adding additional yum repos
* fix public key importing with config-drive-v2 datasource (LP: #1077700)
* handle renaming and fixing up of marker names (LP: #1075980)
this relieves that burden from the distro/packaging.
* group config: fix how group members weren't being translated correctly
when the group: [member, member...] format was used (LP: #1077245)
* work around an issue with boto > 0.6.0 that lazy loaded the return from
get_instance_metadata(). This resulted in failure for cloud-init to
install ssh keys. (LP: #1068801)
* add power_state_change config module for shutting down stystem after
cloud-init finishes. (LP: #1064665)
-- Scott Moser <smoser@xxxxxxxxxx> Wed, 14 Nov 2012 15:18:50 -0500
** Changed in: cloud-init (Ubuntu)
Status: Triaged => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1073077
Title:
zsh complains about locale_warn on launch
Status in Init scripts for use on cloud images:
Fix Released
Status in “cloud-init” package in Ubuntu:
Fix Released
Status in “zsh” package in Ubuntu:
New
Status in “cloud-init” source package in Precise:
Triaged
Status in “cloud-init” source package in Quantal:
Triaged
Bug description:
== SRU Information ==
[Impact]
* Users who select zsh as shell and invoke /etc/profile.d scripts
see an error message like:
locale_warn:13: * not found
* This contained fix makes that error message go away, and makes
the Z99-cloud-locale-test.sh script in /etc/profile.d function
properly with zsh.
* The fix adds new code to run 'emulate -L sh' if and only if the variable
ZSH_NAME is defined (which is only likely to be true if shell is zsh).
Per zshbuiltins(1), '-L' to 'emulate' indicates that the change in
behavior should be limited to the containing function.
[Test Case]
* launch cloud-image instance, get IP address and set 'IP' for use below.
* install zsh, change the 'ubuntu' user's shell
LC_ALL=en_US.UTF-8 ssh ubuntu@$IP \
"sudo DEBIAN_FRONTEND=noninteractive apt-get install -y zsh"
* problem is then reproduced with:
LC_ALL=fr_FR.UTF-8 zsh /etc/profile.d/Z99-cloud-locale-test.sh
Instead of seeing a message about invalid locale and how to fix it, the
user will see:
locale_warn:13: * not found
[Regression Potential]
* chance for regression is low, since the only real change is contained
with a condition that will limit it to the case where the shell is zsh.
* If there was fallout, it would one of:
* 'emulate -L' being run with non-zsh shell, likely resulting in an error
message but nothing worse.
* user's zsh shell being changed to 'emulate sh' (if the '-L' did not
get applied correctly)
== End SRU Information ==
zsh complains if an '=' occurs in a suffix or prefix shell parameter expansion.
$ sh -c 'f="foo=bar"; echo ${f%%=*}'
foo
$ bash -c 'f="foo=bar"; echo ${f%%=*}'
foo
$ zsh -c 'f="foo=bar"; echo ${f%%=*}'
zsh:1: * not found
It is work-aroundable by escaping the '=' in the shell suffix match with a '\'. Ie:
$ zsh -c 'f="foo=bar"; echo ${f%%\=*}'
foo
== original bug report ==
After upgrading my Amazon machine to Ubuntu 12.04, every time I run zsh I get the following output:
locale_warn:13: * not found
Apparenlty this is caused by the file /etc/profile.d/Z99-cloud-locale-
test.sh in the cloud-init package. zsh always outputs an error when a
glob like * fails to match any files.
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: cloud-init 0.6.3-0ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-32.51-virtual 3.2.30
Uname: Linux 3.2.0-32-virtual i686
ApportVersion: 2.0.1-0ubuntu14
Architecture: i386
Date: Tue Oct 30 11:03:46 2012
Ec2AMI: ami-fb9ca98f
Ec2AMIManifest: (unknown)
Ec2AvailabilityZone: eu-west-1c
Ec2InstanceType: c1.medium
Ec2Kernel: aki-4deec439
Ec2Ramdisk: unavailable
PackageArchitecture: all
ProcEnviron:
TERM=xterm
PATH=(custom, user)
LANG=en_GB.UTF-8
SHELL=/usr/bin/zsh
SourcePackage: cloud-init
UpgradeStatus: Upgraded to precise on 2012-10-29 (0 days ago)
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1073077/+subscriptions