При установке пакета Apple на компьютере генерируется уведомление о поступлении. Пакеты метаданных генерируют несколько поступлений. Средство VMware AirWatch Admin Assistant добавляет имена и версии этих поступлений добавляются в массив поступлений в pkginfo для пакета.

Ниже приведен массив поступлений для кодеков QuickTime Avid LE версии 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>
      

Если Munki использует массив поступлений для определения статуса установки, он проверяет существование и версию каждого поступления в массиве. Если какое-либо из поступлений отсутствует или имеет более низкую версию по сравнению с версией, указанной для этого поступления в массиве, элемент считается не установленным. Только если все поступления присутствуют и все версии совпадают с теми, которые указаны в pkginfo (или превышают их), элемент считается установленным. Для устранения неполадок используйте средство pkgutil, чтобы проверить установленные поступления.

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

В этом случае на данном компьютере не найдено поступление кодеков QuickTime Avid LE. Обычно сложность поступлений состоит в том, что при наличии большого количества пакетов метаданных логика установки приводит к тому, что устанавливается только поднабор подпакетов. Как правило, в списке поступлений содержится поступление для каждого подпакета в пакете метаданных (и эта информация необходима, если Munki получает запрос на удаление программного элемента на основе получений пакетов). Но если это нормально и ожидалось, что не все подпакеты будут установлены, Munki будет постоянно отмечать этот элемент как не установленный и предлагать установить его снова и снова. Одним из решений этой проблемы является добавление дополнительного ключа со значением «true» для поступлений, которые устанавливаются при необходимости. Munki не будет учитывать эти поступления при определении статуса установки.

        <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>
      

Другим решением в этой ситуации является предоставление массива установок, в котором перечислены элементы, установленные пакетом. Вместо получений Munki может использовать массивы установок для определения статуса установки.