DISTRHO / Cardinal

Virtual modular synthesizer plugin
https://cardinal.kx.studio/
GNU General Public License v3.0
2.22k stars 153 forks source link

Versioning of the Apps and Install Package. #575

Closed paul-cossey closed 1 year ago

paul-cossey commented 1 year ago

Hi, folks

We've been asked to install Cardinal for one of our customers. But we've come across some inconstancies with the release version number listed on GitHub and the version numbers of the installed Apps, plugins and package receipts.

Would it be possible for these (or at least some of these) to match the release number on GitHub?

For example CardinalNative.app and CardinalJACK.app don't have any version numbers in the info.plist. Usually these would be defined with the key CFBundleShortVersionString (or CFBundleVersion) currently there are no version numbers listed at all.

Most of the plugins/VST's have a version number of 1.0. The only ones that don't are:

 <pkg-ref id="studio.kx.distrho.cardinal-components" packageIdentifier="studio.kx.distrho.plugins.cardinal.components" installKBytes="349772">
        <bundle-version>
            <bundle CFBundleShortVersionString="23.7" CFBundleVersion="23.7" id="com.DISTRHO.CardinalFX" path="CardinalFX.component"/>
            <bundle CFBundleShortVersionString="23.7" CFBundleVersion="23.7" id="com.DISTRHO.CardinalMIDI" path="CardinalMIDI.component"/>
            <bundle CFBundleShortVersionString="23.7" CFBundleVersion="23.7" id="com.DISTRHO.CardinalSynth" path="CardinalSynth.component"/>
        </bundle-version>

But the issue with those is 23.7 doesn't match the GitHub release of 23.07

All the installer package receipts are at version 0 too.

Screenshot 2023-09-05 at 11 20 02

These is an excellent post here on packaging guidelines for App developers: https://github.com/n8felton/proper-packaging-principles

Thanks, please feel free to reach out of you have any questions or if you need to me clarify further 😃

falkTX commented 1 year ago

We've been asked to install Cardinal for one of our customers

What do you mean by customers here?

the version from the AU is due to juce taking out the 0 prefix, and using 0 as the version for all others is intentional as that allows to more easily replace all package contents when reinstalling the macOS pkg (otherwise we need to deal with tagging individual files/binaries, too much hassle)

the standalones can easily have the version info sure, that is a good point. the rest shall remain as-is for the time being.

paul-cossey commented 1 year ago

What do you mean by customers here?

We're a managed service provider, and have been asked by a Uni we look after to install Cardinal on a teaching lab.

the standalones can easily have the version info sure, that is a good point.

Awesome! thank you, versioning on standalone App's will be perfect for our needs.

falkTX commented 1 year ago

What do you mean by customers here?

We're a managed service provider, and have been asked by a Uni we look after to install Cardinal on a teaching lab.

There might be problems here, Cardinal is affected by the many modules having a "non-commercial" clause on their artwork, making Cardinal also unusable for anything that is deemed "commercial". Universities usually take money in the form of tuition or entry fees, or maybe just donations if this is a one-off class. Such practices are not allowed.

The same applies to most VCV Rack modules, but they just hand-wave the problem and ignore it most of the time. I suggest to NOT do the same here.

falkTX commented 1 year ago

Are the latest builds ok now?

paul-cossey commented 1 year ago

Looks good, thanks @falkTX 😄

falkTX commented 1 year ago

ok closing the ticket then