homebysix / recipe-robot

A kick ass tool for creating AutoPkg recipes.
Apache License 2.0
301 stars 28 forks source link

Further work on BigFix recipe generation. #78

Closed jgstew closed 8 years ago

jgstew commented 8 years ago

Much further along. Was able to generate a recipe for text wrangler and get it to work to generate a bigfix task and import it into the BigFix server with minimal modifications. (needed to point to different download recipe)

I have not tested the actual BigFix task yet, but it looks very promising.

Definitely some more work to be done to make this case a bit more refined, and then also account for other cases, but making good progress.

homebysix commented 8 years ago

Thanks!

I don't think the bigfix recipe needs an EndOfCheckPhase processor, does it? That's usually taken care of in the parent download recipe.

Also, if the download is a signed app, then the versioning should happen in the download recipe (because we need to unzip the zip or mount the dmg to inspect the code sig anyway, so why not). If it's an unsigned app, then the versioning should happen "just before it's needed" (e.g. in the pkg recipe before PkgCreator requires it) and it would make sense to add a versioner to the bigfix processes.

As far as AppDmgVersioner vs Versioner, I think after @sheagcraig and I discussed it last week, we agreed that Versioner is the way to go, since it also works with apps inside of dmgs. Shea also has a pull request open that will bestow additional powers on the Versioner processor and pretty much make AppDmgVersioner unnecessary.

jgstew commented 8 years ago

I don't think the bigfix recipe needs an EndOfCheckPhase processor either. I added that only because the example I was working from had it. I'll remove it.

I agree that the versioning should happen in the download processor. AppDmgVersioner was being used in the BigFix Example I was working from... I didn't use it at first, but then I was having issues with %version% in the bigfix recipe, and I wasn't sure why. It was resolved when I made the parent recipe the existing download recipe already on GitHub instead of the one generated by recipe-robot, so I wasn't sure if Versioner or AppDmgVersioner was needed or not. It is the case that BigFix recipes will always require a version to work well. It wasn't clear to me of how to tell when the BigFix recipe would require something to be added to get the version due to it not being defined in the download recipe.

jgstew commented 8 years ago

I made the changes mentioned here and in the bigfix issue.