Csound Csound-dev Csound-tekno Search About

[Csnd-dev] Signing MacOS bundle

Date2025-09-04 22:37
FromTarmo Johannes
Subject[Csnd-dev] Signing MacOS bundle
Hi!

I managed to get a signed tryout MacOS  bundle of CsoundQt7+Csound7 done (this is really a tryout but can be usable):
https://tarmo.uuu.ee/owncloud/index.php/s/BgNpnqnSRjqXSy1

It is based on Csound7-beta.8, downloaded from Github actions artifacts.
What I noticed:
- $APP/Contents/Frameworks/CsoundLib64.framework/Versions/7.0/CsoundLib64
gave at first an error: 
'code has no resources but signature indicates they must be present '. 
I needed to remove the signature and resign again. I don't know if it requires attention from Csound side.

- the libs folder in CsoundLib64.framework folder causes signing error 'Unsealed contents present in the root directory of an embedded framework' - see
https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html
I needed to move the libs folder away from framework root and placed it to resources next to opcodes' dir.
I did not do the install_name_tool changes as the libraries were only for portmidi. It would be nice to have the framework immediately with suitable structure so it easy to develop MacOS apps based on it.

What do you think?

tarmo

Date2025-09-04 23:04
FromVictor Lazzarini <000010b17ddd988e-dmarc-request@LISTSERV.HEANET.IE>
SubjectRe: [Csnd-dev] [EXTERNAL] [Csnd-dev] Signing MacOS bundle
Rory has been able to develop a signed installer with no need to change anything in the packaging. Maybe you can liaise with him?

Prof. Victor Lazzarini
Maynooth University
Ireland

On 4 Sep 2025, at 22:37, Tarmo Johannes <trmjhnns@gmail.com> wrote:



*Warning*

This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.

Hi!

I managed to get a signed tryout MacOS  bundle of CsoundQt7+Csound7 done (this is really a tryout but can be usable):
https://tarmo.uuu.ee/owncloud/index.php/s/BgNpnqnSRjqXSy1

It is based on Csound7-beta.8, downloaded from Github actions artifacts.
What I noticed:
- $APP/Contents/Frameworks/CsoundLib64.framework/Versions/7.0/CsoundLib64
gave at first an error: 
'code has no resources but signature indicates they must be present '. 
I needed to remove the signature and resign again. I don't know if it requires attention from Csound side.

- the libs folder in CsoundLib64.framework folder causes signing error 'Unsealed contents present in the root directory of an embedded framework' - see
https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html
I needed to move the libs folder away from framework root and placed it to resources next to opcodes' dir.
I did not do the install_name_tool changes as the libraries were only for portmidi. It would be nice to have the framework immediately with suitable structure so it easy to develop MacOS apps based on it.

What do you think?

tarmo

Date2025-09-05 08:49
FromTarmo Johannes
SubjectRe: [Csnd-dev] [EXTERNAL] [Csnd-dev] Signing MacOS bundle
Hi!

Thanks! I did not check but I guess that Rory's approach can be (as it is with signed Cabbage vst plugins) to place CsoundLib64.framework not in Frameworks as it is logical but under Resources so that it does not disturb the signing software this way.
When building Qt-based app or any other app that uses deployment tools, the Csound framewok gets to be placed in its logical place and at its current form it creates a problem when you want to sign.
Of course, this can be solved by developer as I described and there are not many people in the world whom it concerns ;)
I might be wrong, maybe and I am doing something wrong or missed something but I guess it is maybe better if the CsoundLib64.framework is organized as Apple expects it, if that's it.

Best!
tarmo

Kontakt Victor Lazzarini (<000010b17ddd988e-dmarc-request@listserv.heanet.ie>) kirjutas kuupäeval R, 5. september 2025 kell 01:04:
Rory has been able to develop a signed installer with no need to change anything in the packaging. Maybe you can liaise with him?

Prof. Victor Lazzarini
Maynooth University
Ireland

On 4 Sep 2025, at 22:37, Tarmo Johannes <trmjhnns@gmail.com> wrote:



*Warning*

This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.

Hi!

I managed to get a signed tryout MacOS  bundle of CsoundQt7+Csound7 done (this is really a tryout but can be usable):
https://tarmo.uuu.ee/owncloud/index.php/s/BgNpnqnSRjqXSy1

It is based on Csound7-beta.8, downloaded from Github actions artifacts.
What I noticed:
- $APP/Contents/Frameworks/CsoundLib64.framework/Versions/7.0/CsoundLib64
gave at first an error: 
'code has no resources but signature indicates they must be present '. 
I needed to remove the signature and resign again. I don't know if it requires attention from Csound side.

- the libs folder in CsoundLib64.framework folder causes signing error 'Unsealed contents present in the root directory of an embedded framework' - see
https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html
I needed to move the libs folder away from framework root and placed it to resources next to opcodes' dir.
I did not do the install_name_tool changes as the libraries were only for portmidi. It would be nice to have the framework immediately with suitable structure so it easy to develop MacOS apps based on it.

What do you think?

tarmo

Date2025-09-05 09:17
FromRory Walsh
SubjectRe: [Csnd-dev] [EXTERNAL] [Csnd-dev] Signing MacOS bundle
I can sign and notarise the Csound package without any issues, but I think Tarmo is trying to embed the Csound framework into the CsoundQT bundle, and then sign that. This is not something I do with Cabbage, which depends on a system installation of Csound. If moving the libs folder to `/Versions/7` pleases the Apple Gods, then perhaps it's better to do it now rather than later.   


On Fri, 5 Sept 2025 at 08:49, Tarmo Johannes <trmjhnns@gmail.com> wrote:
Hi!

Thanks! I did not check but I guess that Rory's approach can be (as it is with signed Cabbage vst plugins) to place CsoundLib64.framework not in Frameworks as it is logical but under Resources so that it does not disturb the signing software this way.
When building Qt-based app or any other app that uses deployment tools, the Csound framewok gets to be placed in its logical place and at its current form it creates a problem when you want to sign.
Of course, this can be solved by developer as I described and there are not many people in the world whom it concerns ;)
I might be wrong, maybe and I am doing something wrong or missed something but I guess it is maybe better if the CsoundLib64.framework is organized as Apple expects it, if that's it.

Best!
tarmo

Kontakt Victor Lazzarini (<000010b17ddd988e-dmarc-request@listserv.heanet.ie>) kirjutas kuupäeval R, 5. september 2025 kell 01:04:
Rory has been able to develop a signed installer with no need to change anything in the packaging. Maybe you can liaise with him?

Prof. Victor Lazzarini
Maynooth University
Ireland

On 4 Sep 2025, at 22:37, Tarmo Johannes <trmjhnns@gmail.com> wrote:



*Warning*

This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.

Hi!

I managed to get a signed tryout MacOS  bundle of CsoundQt7+Csound7 done (this is really a tryout but can be usable):
https://tarmo.uuu.ee/owncloud/index.php/s/BgNpnqnSRjqXSy1

It is based on Csound7-beta.8, downloaded from Github actions artifacts.
What I noticed:
- $APP/Contents/Frameworks/CsoundLib64.framework/Versions/7.0/CsoundLib64
gave at first an error: 
'code has no resources but signature indicates they must be present '. 
I needed to remove the signature and resign again. I don't know if it requires attention from Csound side.

- the libs folder in CsoundLib64.framework folder causes signing error 'Unsealed contents present in the root directory of an embedded framework' - see
https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html
I needed to move the libs folder away from framework root and placed it to resources next to opcodes' dir.
I did not do the install_name_tool changes as the libraries were only for portmidi. It would be nice to have the framework immediately with suitable structure so it easy to develop MacOS apps based on it.

What do you think?

tarmo

Date2025-09-05 11:53
Fromvlz
SubjectRe: [Csnd-dev] [EXTERNAL] [Csnd-dev] Signing MacOS bundle
When moving that all the dylib links need to be edited in the libraries and in the binaries linking to them, using install_name_tool.


Prof. Victor Lazzarini
Maynooth University
Ireland

On 5 Sep 2025, at 09:17, Rory Walsh <rorywalsh@ear.ie> wrote:


I can sign and notarise the Csound package without any issues, but I think Tarmo is trying to embed the Csound framework into the CsoundQT bundle, and then sign that. This is not something I do with Cabbage, which depends on a system installation of Csound. If moving the libs folder to `/Versions/7` pleases the Apple Gods, then perhaps it's better to do it now rather than later.   


On Fri, 5 Sept 2025 at 08:49, Tarmo Johannes <trmjhnns@gmail.com> wrote:
Hi!

Thanks! I did not check but I guess that Rory's approach can be (as it is with signed Cabbage vst plugins) to place CsoundLib64.framework not in Frameworks as it is logical but under Resources so that it does not disturb the signing software this way.
When building Qt-based app or any other app that uses deployment tools, the Csound framewok gets to be placed in its logical place and at its current form it creates a problem when you want to sign.
Of course, this can be solved by developer as I described and there are not many people in the world whom it concerns ;)
I might be wrong, maybe and I am doing something wrong or missed something but I guess it is maybe better if the CsoundLib64.framework is organized as Apple expects it, if that's it.

Best!
tarmo

Kontakt Victor Lazzarini (<000010b17ddd988e-dmarc-request@listserv.heanet.ie>) kirjutas kuupäeval R, 5. september 2025 kell 01:04:
Rory has been able to develop a signed installer with no need to change anything in the packaging. Maybe you can liaise with him?

Prof. Victor Lazzarini
Maynooth University
Ireland

On 4 Sep 2025, at 22:37, Tarmo Johannes <trmjhnns@gmail.com> wrote:



*Warning*

This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.

Hi!

I managed to get a signed tryout MacOS  bundle of CsoundQt7+Csound7 done (this is really a tryout but can be usable):
https://tarmo.uuu.ee/owncloud/index.php/s/BgNpnqnSRjqXSy1

It is based on Csound7-beta.8, downloaded from Github actions artifacts.
What I noticed:
- $APP/Contents/Frameworks/CsoundLib64.framework/Versions/7.0/CsoundLib64
gave at first an error: 
'code has no resources but signature indicates they must be present '. 
I needed to remove the signature and resign again. I don't know if it requires attention from Csound side.

- the libs folder in CsoundLib64.framework folder causes signing error 'Unsealed contents present in the root directory of an embedded framework' - see
https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html
I needed to move the libs folder away from framework root and placed it to resources next to opcodes' dir.
I did not do the install_name_tool changes as the libraries were only for portmidi. It would be nice to have the framework immediately with suitable structure so it easy to develop MacOS apps based on it.

What do you think?

tarmo