Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-2482

Add support for Debian multiarch package installation

    XMLWordPrintable

Details

    • Night's Watch

    Description

      With Debian 7 (Debian wheezy), Debian introduced multiarch.
      If you are running on a 64-bit system, you can install 32-bit
      libraries as well. Using Puppet, you could install the 32-bit
      version of zlib1g with Puppet code like this:

        if $::lsbdistcodename == 'wheezy' {
          exec { '/usr/bin/dpkg --add-architecture i386':
            unless => '/bin/grep -q i386 /var/lib/dpkg/arch',
          }
          package { 'zlib1g:i386':
            ensure => installed,
          }
        }
      

      This works, but it would be nice to have native support for
      multiarch in Puppet. (The code has at least two problems: it
      does not ensure that the architecture is added before it
      attempts to install the package, and you must run
      "apt-get update" between adding the arch and installing
      the package.)

      I don't know exactly what I want, but maybe something like this:

      package { 'libgmp10':
        architectures => ['i386', 'x86_64'],
        ensure => installed,
      }
      

      Or maybe just that the "package" type should know about the
      ":arch" suffix and automatically run "/usr/bin/dpkg --add-architecture"
      when needed.

      Possibly, you should also add a new type so that you can explicitly
      manage which architectures are enabled on the system.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ceder Per Cederqvist
              Eric Thompson Eric Thompson
              Votes:
              2 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:

                Zendesk Support