BrettMayson / HEMTT

Build System for Arma 3
https://brettmayson.github.io/HEMTT
GNU General Public License v2.0
109 stars 40 forks source link

Make signing a separate step #41

Closed bovine3dom closed 11 months ago

bovine3dom commented 5 years ago

I often re-sign third party modifications who don't change their private key with each version to prevent people joining with old versions.

Could we separate signing out into a separate command so I can repurpose HEMTT for this?

bovine3dom commented 5 years ago

Related to this - I'd like an interface to armake2 verify that checked all the signatures in a mod folder against its key.

I don't know how I'd deal with optionals/ - I'd probably leave it out of scope for now as I think there's no standard way of talking about keys for optionals.

jonpas commented 5 years ago

I think we should just do 1 command for other non-build related armake2 functionalities, something like hemtt armake2 <command> maybe? That way you could also use it in additional build steps for verification or whatever, and test armake2 stuff directly.

Problem is API I guess, we'd have to copy main argument handling, right? Or can we invoke armake2 like that directly?

Optional signs are using same key, that's the standard.

BrettMayson commented 5 years ago

There may be a way to call armake directly with a string, as if it was called from the command line. It might not be the most elegant but it should be possible.

bovine3dom commented 5 years ago

I don't quite understand your suggestions - I want to use HEMTT's knowledge of how addons are laid out so it can know which PBOs to sign or verify, where keys are stored, etc, and that it can do this in parallel in a cross platform manner.

How would we automatically know which files any armake2 command should operate on?

jonpas commented 5 years ago

Oh, I see, that's a completely separate thing then. I suggest you open a new issue, that's a pure feature request. :)

bovine3dom commented 5 years ago

Hmm, it's pretty related to this issue as it'd be operating on the same files. We probably want a function that walks over specific directories and applies a function to find files/directories matching some type, which would then work for lots of armake2 commands.

Otherwise splitting out the signing step is pretty trivial.