Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overlapping ESDs #5

Closed
SKUDSIEH opened this issue Apr 10, 2013 · 6 comments
Closed

Overlapping ESDs #5

SKUDSIEH opened this issue Apr 10, 2013 · 6 comments

Comments

@SKUDSIEH
Copy link

I see that an update was made to handle the overlapping ESDs by searching for the bootcampautoupdate tag, however in doing this brigadier will download the older package. The sucatalog file does have a date field. Instead Would it be a good idea to use the date field to compare which package is the newest and download that one?

@timsutton
Copy link
Owner

Yes, it probably would. I pushed a quick fix for #4 to keep brigadier from being completely broken, and haven't yet made time to revisit it. I should get to it this week, but patches also are always accepted. 😄

@timsutton
Copy link
Owner

Now realizing you said 'sucatalog' and not 'dist', I'm not convinced relying on PostDate is the best approach, since old updates can be re-posted. It's more correct that what's currently being done, which is nothing, but I'd rather try to determine what Boot Camp Assistant would do as of 10.8.3.

(WWBCAD?)

@timsutton
Copy link
Owner

The dist for the most recent 5.0.x update:

./repoutil --dist=041-7018

function InstallationCheck(prefix) {
    var models = ['MacBookAir4,1','MacBookAir4,2','MacBookAir5,1','MacBookAir5,2','MacBookPro6,1','MacBookPro6,2','MacBookPro8,1','MacBookPro8,2','MacBookPro8,3','MacBookPro9,1','MacBookPro9,2','MacBookPro10,1','MacBookPro10,2','MacPro4,1','MacPro5,1','Macmini5,1','Macmini5,2','Macmini5,3','Macmini6,1','Macmini6,2','iMac11,3','iMac12,1','iMac12,2','iMac13,1','iMac13,2',];

The last 4.x update that applies to basically everything 2011 and earlier:

./repoutil --dist=041-2011

function InstallationCheck(prefix) {
    var models = ['MacBook2,1','MacBook3,1','MacBook4,1','MacBook5,1','MacBook5,2','MacBook5,3','MacBook6,1','MacBook7,1','MacBookAir1,1','MacBookAir2,1','MacBookAir3,1','MacBookAir3,2','MacBookPro2,1','MacBookPro2,2','MacBookPro3,1','MacBookPro4,1','MacBookPro5,1','MacBookPro5,2','MacBookPro5,3','MacBookPro5,4','MacBookPro5,5','MacBookPro6,1','MacBookPro6,2','MacBookPro7,1','MacBookPro8,1','MacBookPro8,2','MacBookPro8,3','MacPro1,1','MacPro2,1','MacPro3,1','MacPro4,1','MacPro5,1','Macmini2,1','Macmini3,1','Macmini4,1','iMac5,1','iMac6,1','iMac7,1','iMac8,1','iMac9,1','iMac10,1','iMac11,1','iMac11,2','iMac11,3','iMac12,1','iMac12,2',];

There are a few overlapping models - I'll try to see what BCA does with the overlapping iMac models.

Also, from BCA's Info.plist file in its .app bundle:

<key>32BitSupportedModels</key>
<array>
    <string>MacBook7,1</string>
    <string>MacBookAir5,2</string>
    <string>MacBookPro10,1</string>
    <string>MacPro5,1</string>
    <string>Macmini5,3</string>
    <string>iMac12,2</string>
</array>
<key>PreUSBBootSupportedModels</key>
<array>
    <string>MacBook7,1</string>
    <string>MacBookAir3,2</string>
    <string>MacBookPro8,3</string>
    <string>MacPro5,1</string>
    <string>Macmini4,1</string>
    <string>iMac12,2</string>
</array>
<key>Win7OnlyModels</key>
<array>
    <string>MacBook7,1</string>
    <string>MacBookAir3,2</string>
    <string>MacBookPro5,5</string>
    <string>MacPro2,1</string>
    <string>Macmini4,1</string>
    <string>iMac10,1</string>
</array>

These seem to be "upper limit" model numbers. For example, an iMac13,1 is 64-bit only and also USB-boot-supported, ie. no optical drive.

@timsutton
Copy link
Owner

An iMac12,1 also pulls the 5.0-series driver with BCA rather than the 4.x-series driver. Despite mangling these model plist arrays to try to trick it into downloading the older one, it always seemed to prefer the 5.0-series driver.

So, two reasonable options (for now) for the few cases where one model exists in multiple ESDs:

  1. Pick the most recent one.
  2. Pick the one with the BootCampAutoUnattend tag.

@SKUDSIEH
Copy link
Author

It would be ideal to be able to pick the most recent as perhaps it may be possible in the future that 2 ESD's exist with overlapping models and both dist's with the autoupdate tag. However i did not see any other date field or any field for that matter that could indicate a more recent version in sucatalog or dist, and you mentioned the post date can be updated.

@timsutton
Copy link
Owner

Part of the purpose of the unattend here seems to be for providing bluetooth and Intel HD drivers for the install process. I recall years ago they had to make manual instructions for putting AutoUnattend.xml on a USB stick for 27" iMacs in order for the graphics driver to show anything during the installation.

Hard to say whether this will be the norm going forward. Either way, I'm thinking that the PostDate may just be the simplest option for now, and if not, having an option to override which product gets pulled, or pull them both, or something.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants