timsutton / aamporter

Utility to batch download Adobe Creative Suite/Cloud updates and optionally import them into a Munki repository.
MIT License
86 stars 14 forks source link

aamporter multiple Suite versions #7

Open JDHatman opened 10 years ago

JDHatman commented 10 years ago

Hello. I love aamporter. However, I'm having an issue. It's more of an issue with the way Munki imports packages than how aamporter work, but I gotta start somewhere. I will use Adobe CS6 as an example. All of my imports are working fine. Here's my issue. We use multiple versions of each suite. For CS6, we have Design Standard and Production Premium. Both require many of the same core updates, but Production Premium will have additional updates that Design Standard will not because of the added programs.

My configuration... Ok, I have CS6 put the files in apps/Adobe/CS6/updates/. I have CS6PP put the files in apps/Adobe/CS6_PP/updates/. When I run "aamporter --munkiimport" on CS6, it downloads all of the updates and puts them in the appropriate directory for aamporter and Munki. I then run the same command on CS6_PP. aamporter skips the downloads on the already existing updates since many are the same. This is fine. It then uses munkiimport to import them into the appropriate location in Munki. Problem.... It sees all of the updates for CS6 Design Standard and skips all of those updates. It only imports the updates that are specific to Production Premium. I need all of the updates for each suite to be imported into their respective repo subdirectories.

I've gone over the options that I can think of and I don't really like them.

  1. manually copy updates and change plists - too much work
  2. use "--force-import" to make Munki import all the updates. Using this option solves one problem, but causes another. I will end up having multiple copies of each update created each time I run the command, even if its already in the correct subdirectory of the repo.

Do you have any suggestions that I haven't thought of?

Thanks! Jason Hatman Client Technologies A+, Network+ Apple Certified Technical Coordinator Fruit of the Loom Phone: 270-935-6793 jason.hatman@fotlinc.com

gregneagle commented 9 years ago

Just seeing this almost a year later, but responding for the benefit of others...

I have a product-plist for each CS6 product I support (AdobeAfterEffectsCS6, AdobeCS6DesignandWebPremium, AdobeCS6MasterCollection, AdobeCS6ProductionPremium, AdobeIllustratorCS6, AdobePhotoshopCS6, etc.)

Each has the appropriate munki_update_for bit -- here's the one in AdobePhotoshopCS6.plist

<key>munki_update_for</key>
<string>AdobePhotoshopCS6</string>

Here's MasterCollection:

<key>munki_update_for</key>
<string>AdobeCS6MasterCollection</string>

I then run aamporter like so:

./aamporter.py -p AdobeAfterEffectsCS6.plist -p AdobeCS6DesignandWebPremium.plist \
-p AdobeCS6MasterCollection.plist -p AdobeCS6ProductionPremium.plist \
-p AdobeFlashProfessionalCS6.plist -p AdobeIllustratorCS6.plist \
-p AdobePhotoshopCS6.plist --munkiimport

And it does the right thing. Updates are downloaded, imported, and marked with the appropriate update_for array. Here's PhotoshopCameraRaw7-7.0, 8.7.54:

<key>update_for</key>
<array>
    <string>AdobeAfterEffectsCS6</string>
    <string>AdobeCS6DesignWebPremium</string>
    <string>AdobeCS6MasterCollection</string>
    <string>AdobeCS6ProductionPremium</string>
    <string>AdobeFlashProfessionalCS6</string>
    <string>AdobeIllustratorCS6</string>
    <string>AdobePhotoshopCS6</string>
</array>

The items in update_for correspond to all of the CS6 products this update is applicable for. There's no need for this update to be imported multiple times -- it needs to be imported exactly once and tagged with the correct metadata.

-Greg

timsutton commented 9 years ago

Thank you Greg. I vaguely remember seeing this opened, but it obviously got buried under other emails and notifications.

If there's a question about wanting to put different updates in different sets of folders, as Greg said, since some updates are available for multiple base products, these only need to be added once, and so I think a simpler approach is to just make a common updates folder.

With CC, there's also less of a notion of a "suite", though still some cases where an update is applicable to different base products.