Dealing with Packages on Windows that contain special characters

75 views
Skip to first unread message

Ken Sykora

unread,
Jun 26, 2014, 10:33:20 AM6/26/14
to puppet...@googlegroups.com
I'm currently trying to prevent a specific package from continuing its install run on subsequent puppet apply commands. The package in Question is the Windows Azure SDK for .Net 2.3. The package's name listed in the registry contains an endash (–) instead a normal hyphen.

In puppet, it shows up like this:

PS C:\Users\vagrant> puppet resource package | sls Azure
package { 'Windows Azure Authoring Tools - v2.3':
package { 'Windows Azure Command Line Tools':
package { 'Windows Azure Compute Emulator - v2.3':
package { 'Windows Azure Libraries for .NET û v2.3':
package { 'Windows Azure Pack - PowerShell API - 2013':
package { 'Windows Azure PowerShell - May 2014':
package { 'Windows Azure Storage Tools - v2.2.2':
package { 'Windows Azure Tools for Microsoft Visual Studio 2013 - v2.3':

However, querying for it specifically seems difficult -- this is what I can't figure out:

PS C:\Users\vagrant> puppet resource package "Windows Azure Libraries for .NET – v2.3"
package { 'Windows Azure Libraries for .NET û v2.3':
  ensure => 'absent',
}
PS C:\Users\vagrant> puppet resource package "Windows Azure Libraries for .NET û v2.3"
package { 'Windows Azure Libraries for .NET √ v2.3':
  ensure => 'absent',
}

How can I reference this package by it's correct name so the installer doesn't run multiple times on provisioning?

Rob Reynolds

unread,
Jun 30, 2014, 3:04:45 PM6/30/14
to puppet...@googlegroups.com
What does putting the endash in the manifest do for your run?  

--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/277a5958-3920-4c53-826e-0db76315ab7a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Rob Reynolds
Developer, Puppet Labs

Join us at PuppetConf 2014September 20-24 in San Francisco
Register by July 31st to take advantage of the Early Bird discount save $249!

Ken Sykora

unread,
Jul 11, 2014, 3:57:13 PM7/11/14
to puppet...@googlegroups.com
Sorry for the late reply, Rob.

Putting the endash as a unicode character in my manifest causes it to miss the package being already installed.

  file { "${tempDirectory}WindowsAzureLibsForNet-x64.msi":
    ensure => present,
    source => 'puppet:///modules/packages/WindowsAzureLibsForNet-x64.msi',
  }
  ->
  package { 'Azure Libraries for .NET – v2.3':
    ensure  => '2.3.0424.070',
    source  => "${tempDirectory}WindowsAzureLibsForNet-x64.msi"
  }

When I run my manifest I get this:

  Notice: /Stage[main]/Packages::Msi/Package[Azure Libraries for .NET ΓÇô v2.3]/ensure: created

Ken Sykora

unread,
Jul 11, 2014, 4:24:02 PM7/11/14
to puppet...@googlegroups.com
Also I'm noticing that on successful runs with the UTF-8 character I get this error:

Error: Failed to apply catalog: incompatible character encodings: UTF-8 and IBM437

Rob Reynolds

unread,
Jul 15, 2014, 3:19:31 PM7/15/14
to puppet...@googlegroups.com
I think we can call this a valid issue. Would you mind filing a ticket over on https://tickets.puppetlabs.com/browse/PUP? Thanks!



For more options, visit https://groups.google.com/d/optout.

Ken Sykora

unread,
Jul 15, 2014, 5:21:50 PM7/15/14
to puppet...@googlegroups.com

Rob Reynolds

unread,
Jul 15, 2014, 5:29:42 PM7/15/14
to puppet...@googlegroups.com
One thing I forgot to ask, what version of Puppet are you using on the box in question?

And what is the output with puppet apply manifest.pp --debug --trace --verbose 



For more options, visit https://groups.google.com/d/optout.

Ken Sykora

unread,
Jul 15, 2014, 6:08:56 PM7/15/14
to puppet...@googlegroups.com
3.6.2 is the version I'm using. Here's the full output:

C:\Users\vagrant>puppet apply --modulepath '/vagrant/modules;/ProgramData/PuppetLabs/puppet/etc/modules' --hiera_config=/vagrant/hiera.yaml --detailed-exitcodes /vagrant/manifests/site.pp --debug --trace --verbose > puppet-run.log

Reply all
Reply to author
Forward
0 new messages