AutoPkg has a cool feature called parent trust that allows you to create recipe overrides that store a hash of the parent recipe (instead of running the parent recipe directly), and then prevent you from running the recipe if there’s a change to the parent recipe, until you update the trust info. (I also have a script that runs a list of recipes, checks trust info, and prompts you to approve changes if there are changes.)
But you may sometimes run into a situation in which you see the changes, the changes are important (for example, the download URL has changed to a new URL), but even after you accept the changes and update the trust info in your override recipe, the recipe still keeps using the old URL.
Here’s an example: AndroidStudio SEARCH_PATTERN error.
So if you make an override for AndroidStudio: autopkg make-override AndroidStudio.munki
, you should see something like this:
<key>Input</key>
<dict>
<key>MUNKI_REPO_SUBDIR</key>
<string>apps/android</string>
<key>NAME</key>
<string>AndroidStudio</string>
<key>SEARCH_PATTERN</key>
<string>(https\://redirector\.gvt1\.com/edgedl/android/studio/install/.+/android-studio-ide.+\.dmg)</string>
<key>SEARCH_URL</key>
<string>https://developer.android.com/studio</string>
<key>VERSION_SEARCH_PATTERN</key>
<string>https\://redirector\.gvt1\.com/edgedl/android/studio/install/([0-9.]+)/android-studio-ide.+\.dmg</string>
<key>VERSION_SEARCH_URL</key>
<string>https://developer.android.com/sdk/index.html</string>
Those input variables are copied over from the parent recipe. But then if the parent recipe updates SEARCH_URL
to be a different URL, your override will still have the old value for SEARCH_URL
.
So if you see a change to a parent recipe, and your override still seems to be using the old values, check your override for input variables, and delete the ones you don't want to override.
Leave a Reply