Logic Pro X 11 Packaging the additional content

Qwheel
Contributor II

Is anyone having issues packaging the additional content for Logic Pro X 11?

I've tried twice, and my normal method isn't playing ball.

In short, 'Composer' a whole installation, Also move related receipts to /Library/Receipts and add that to Composer. Build the PKG, PKGchunk up the 60-80GB file, upload and test deploy.

If I remember correctly, the Logic Pro X 10 receipts used to appear in the users library and had to be moved. Now they're arriving in /Library/Apple/System/Library/Receipts - this seems to be a protected location. Any sudo ditto commands to that location result in 'Operation not permitted'.

Anyone had any success getting Logic to register all the installed content?

2 ACCEPTED SOLUTIONS

shannon_pasto
Contributor

I've had difficulty in packaging content in the past so I figured out that you can get all the packages from the plist. You can then package them separately or install them as part of the apps deployment. There's a couple of github repos to help, https://github.com/carlashley/loopdown is the one I used to build my own solution

View solution in original post

Qwheel
Contributor II

It took a bit of time.

Didn't realise there was a silent option. I also tried doing a capture of Python3 /Developer/Commandline folder, but it wasn't working.

Managed to get it to run from self service by:
Setting up a python installation, with installomator.
An installation of loopdown to /Var/tmp using composer.

Then running the below script. 

sudo jamf policy -trigger loopdown
sudo jamf policy -trigger python
sudo /private/var/tmp/loopdown/loopdown -a logicpro -f -i -s -m -o

I haven't tested if this'll run unattended, but it's looking pretty good to me.

Actually going to net back 100GB of DP storage thanks to you.

All the best.

View solution in original post

13 REPLIES 13

shannon_pasto
Contributor

I've had difficulty in packaging content in the past so I figured out that you can get all the packages from the plist. You can then package them separately or install them as part of the apps deployment. There's a couple of github repos to help, https://github.com/carlashley/loopdown is the one I used to build my own solution

Qwheel
Contributor II

Well this looks useful...

so I'm running:

sudo /Users/Home/Desktop/loopdown-1.0.20240525/loopdown -a logicpro -f -i -m -o

Does that look about right to you?
It's taking some time... approx 915 packages?

Will finish shortly, will see how the device behaves for a different user shortly.
Seems to be doing the trick though. the MACcontent files are appearing in /Library/Apple/System/Library/Receipts

Qwheel
Contributor II

It took a bit of time.

Didn't realise there was a silent option. I also tried doing a capture of Python3 /Developer/Commandline folder, but it wasn't working.

Managed to get it to run from self service by:
Setting up a python installation, with installomator.
An installation of loopdown to /Var/tmp using composer.

Then running the below script. 

sudo jamf policy -trigger loopdown
sudo jamf policy -trigger python
sudo /private/var/tmp/loopdown/loopdown -a logicpro -f -i -s -m -o

I haven't tested if this'll run unattended, but it's looking pretty good to me.

Actually going to net back 100GB of DP storage thanks to you.

All the best.

Qwheel
Contributor II

I should mention... on Logic 11, there is still an annoying prompt for session instruments at first run, but the files are all installed. I presume it's just something each user will need to skip past.

Not really sure about this as I don't have anyone that uses Logic Pro in my environment. If they install then there shouldn't be any issues.

Glad you got something working.

Stuart_P
New Contributor III

Hi all,

Looking to deploy Logic Pro 11 to our estate I've come across this thread and it was looking positive but, as far as I can tell, loopdown doesn't seem to work for Logic Pro 11.1 (which I am more than happy to believe give that the loopdown project has been shelved and not updated for several months).

I believe it's not working for 11.1 as, using the following syntax...

loopdown  -a logicpro -f -i -m -o

I receive the following...

Processing content for: 'logicpro' via 'https://audiocontentdownload.apple.com'
No packages found; there may be no packages to download/install or no application/s installed

The Logic Pro 11.1 main application is definitely installed.

I'm not familiar with Python but I'm happy to spend a little time to try and understand how the loopdown script works and pick it apart a little bit.  I also have all the PKG files downloaded from a sample device but my understanding is that just installing the PKGs as per normal is not sufficient in writing the receipts and BOMs in the correct location to make Logic think they're actually installed.

Logic Pro 11.1 has become something of a nightmare.  Any help before I turn around to our management and say that we can't package it for deployment?

Thanks

Check out my GitHub repo https://github.com/shannonpasto/AppleLoops

It will install all the required Apple Loops. I’ve also provided dmgs  which you an upload to Jamf and deploy to avoid needing users to index them

We ran out an update from 11.0 to 11.1 the other day.

I think I spotted that the .app has changed name.
It used to be Logic Pro X.app. It's now titled Logic Pro.app

This might explain why it's not working anymore?
I wonder if there's anything on the Loopback github about it - maybe we have to update the Loopback binary?

For the record, I'm using:
sudo /private/var/tmp/loopdown/loopdown -a logicpro -f -i -s -m -o

and the only issue I had was with Loopbacks flakiness in the summer. Hopefully this gets patched ahead of this summer. I'll go try it myself in a moment...

Qwheel
Contributor II

Well... manually changing the name back to Logic Pro X.app allows Loopdown to run again.

Something I'll have to include in the summer when I come to package it again.

Stuart_P
New Contributor III

I found a reference to the application names in the parsers.py file that confirms that if the app is not named "Logic Pro X.app" then it will not continue...

https://github.com/carlashley/loopdown/blob/main/src/ldilib/parsers.py

APPLICATION_PATHS: dict[str, str] = {
"garageband": "/Applications/GarageBand.app",
"logicpro": "/Applications/Logic Pro X.app",
"mainstage": "/Applications/MainStage 3.app",
}

I confirmed that renaming the new Lofic 11.1 app to "Logic Pro X.app" allowed the script to continue to run but it still left missing items as far as Logic is concerned.

I'm now taking a look at shannon_pasto's script and making some minor modifications.  It's not as full featured but it would appear to work (pending some further testing) assuming you know the name of the plist file you want to apply the PKGs from.

Yeah, it does leave out a few last bits that Logic wants to install at first run.
I run login scripts to avoid long load times for each user as it scans audio units. It basically means I have to run first launch on local admin, on all lab computers anyway - so 8GB is better than 80GB :D

I don't suppose you mind sharing what you learn from Shannons script?
Maybe it'll be worth changing how I'm doing things at this end in the summer.

Stuart_P
New Contributor III

Sure...

I removed the check for jq as this was too much head-ache for devices that didn't already have the binary and we have no use for it as it's only used to check for a caching server which does not apply to us anyway.

I changed the final loop that looks for installed components and skips any that are found as we had too many devices where the receipts were in-place but Logic said the content was not installed so I changed it to just download and install all elements.  This isn't ideal and I'm not sure if it's just us that has this issue but it definitely produces better results when doing an upgrade from X > 11 but obviously the install time is potentially a lot longer than it might otherwise need to be.

I added logging out to a date-stamped file so I could track it live during a long install via Jamf without having to wait for the Jamf log.

I still found one test device this morning where the logged having installed all of the packages but Logic Pro itself stating one specific bit wasn't there.  Manually installing that one missing package manually from our download cache fixed the issue but I'm sure there will be random packages listed as missing on a wider roll-out but this is really hard to troubleshoot because the receipts are all there so without knowing what Logic is testing for to determine if a specific item is there or not I'm sure we'll be seeing more of this.  If it's optional content that's missing then I'm not too fussed and we can deal with odd bits here and there as and when our customers raise issues.  But it was one optional element which I was missing on one device.  A handful of other test devices were 100% complete.

Thanks Stuart - I'll look into this next week :)