obsproject / obs-plugintemplate

GNU General Public License v2.0
285 stars 133 forks source link

CI: Remove dependency on packagesbuild and use native Xcode tools #92

Closed PatTheMav closed 10 months ago

PatTheMav commented 11 months ago

Description

Removes dependency on Packages.app and uses native pkgbuild and productbuild tools to generate installer packages for macOS.

Motivation and Context

As reported in https://github.com/obsproject/obs-plugintemplate/issues/91, the download for Packages.app is unversioned and the page itself not available via HTTPs. Its developer did a patch/minor version upgrade without putting up a changelog or changing the version number (though admittedly the fix they integrated was valid).

As we only use the command line tool to generate a final installer package, using a distribution file generated by CMake suffices to generate those packages.

Fixes https://github.com/obsproject/obs-plugintemplate/issues/91.

How Has This Been Tested?

Tested locally with codesigning enabled.

Types of changes

Checklist:

RytoEX commented 11 months ago

cc @gxalpha

RytoEX commented 11 months ago

cc @gxalpha for review

PatTheMav commented 11 months ago

Should this also remove the packages section from buildspec.json?

https://github.com/obsproject/obs-plugintemplate/blob/b4a4eb51a8210eaaaa1fdc6ed88c22b89e5563cd/buildspec.json#L34-L41

It's effectively ignored by the changes, but doesn't hurt to remove it as well.

The UUIDs for macOS can also be removed now because they were only required by Packages, the built-in tools do not require this and use pkg-ref as identifier it seems.

RytoEX commented 11 months ago

Should this also remove the packages section from buildspec.json? https://github.com/obsproject/obs-plugintemplate/blob/b4a4eb51a8210eaaaa1fdc6ed88c22b89e5563cd/buildspec.json#L34-L41

It's effectively ignored by the changes, but doesn't hurt to remove it as well.

The UUIDs for macOS can also be removed now because they were only required by Packages, the built-in tools do not require this and use pkg-ref as identifier it seems.

I just don't want someone being confused by it or reporting an outdated package/tool when we don't use it.

PatTheMav commented 10 months ago

@RytoEX please revisit this so it can be merged soon-ish, I'd like to unbreak the repo.