Quando um pacote estilo Apple é instalado, você pode gerar uma confirmação na máquina. Os metapacotes geram várias confirmações. O VMware AirWatch Admin Assistant adiciona os nomes e as versões dessas confirmações a uma matriz de confirmações no pkginfo de um pacote.

A seguir está uma matriz de confirmações para os codecs Avid LE QuickTime, versão 2.3.4.

        <key>receipts</key>
        <array>
        
          <dict>
           <key>filename</key> <string>AvidCodecsLE.pkg</string> <key>installed_size</key> <integer>1188</integer> <key>name</key> <string>AvidCodecsLE</string> <key>packageid</key> <string>com.avid.avidcodecsle</string> <key>version</key> <string>2.3.4</string> 
          </dict>
        
        </array>
      

Se o Munki estiver usando a matriz de confirmações para determinar o status da instalação, ele verificará a existência e a versão de cada confirmação na matriz. Se alguma confirmação estiver faltando ou tiver um número de versão inferior à versão especificada para esse recibo na matriz de confirmações, o item será considerado como não instalado. Somente se cada confirmação estiver presente e todas as versões forem iguais às do pkginfo (ou superior) o item é considerado instalado. Para solucionar problemas, use a ferramenta pkgutil para examinar as confirmações instaladas.

        # pkgutil --pkg-info com.avid.avidcodecsle
        No receipt for 'com.avid.avidcodecsle' found at '/'.
      

Neste caso, a confirmação dos codecs Avid LE QuickTime não foi encontrada nesta máquina. Uma complicação comum com confirmações é, com muitos metapacotes, a lógica de instalação resulta na instalação de apenas um subconjunto dos subpacotes. Em geral, a lista de confirmações contém uma confirmação para cada subpacote em um metapacote (e precisa dessa informação se for solicitado ao Munki que remova o item de software com base nas confirmações dos pacotes). Porém, se é normal e espera-se que nem todos os subpacotes sejam realmente instalados, o Munki marcará o item como não instalado no momento e oferecerá a instalação dele incessantemente. Uma solução para esse problema é adicionar uma chave opcional com o valor true às confirmações opcionalmente instaladas. O Munki não considera essas confirmações ao determinar o status da instalação.

        <key>receipts</key>
        <array>
        
          <dict>
           <key>filename</key> <string>mandatory.pkg</string> <key>installed_size</key> <integer>1188</integer> <key>name</key> <string>Mandatory</string> <key>packageid</key> <string>com.foo.mandatory</string> <key>version</key> <string>1.0</string> 
          </dict>
          <dict>
           <key>filename</key> <string>optional.pkg</string> <key>installed_size</key> <integer>1188</integer> <key>name</key> <string>Optional</string> <key>optional</key> <true/> <key>packageid</key> <string>com.foo.optional</string> <key>version</key> <string>1.0</string> 
          </dict>
        
        </array>
      

Outra solução para esta situação é fornecer a matriz de instalação que lista itens que são instalados pelo pacote. O Munki pode usar as informações da matriz de instalação em vez das confirmações para determinar o status da instalação.