We need to modify the content of the binary files when we create our repo.

Our current solution is rather horrible: We unpack the binary files after the repository has been build, overwrites some of the files, and repack it. I am therefore looking for better ways of doing it.

The overall question is therefore: Q0: What is the best way to change the binary files and add additional binary files to a product?

I do however have a few sub questions, which are less open ended and might be easier to answer. The process that creates the binary files are not obvious to me, and I have stumbled upon some things I don't understand. I can't find any documentation to answer this.Q1: Is there any documentation around how these binary files are created.

We have are in the transition from PDE build to Buckminster (which uses Eclipse to export p2 repositories). Our PDE build produces binary files with names like osgi.id.product_root.ws.os.arch_version, whereas Buckminster/Eclipse produces files with name like osgi.id.product.executable.ws.os.arch_version.Q2: What is the difference between the "..executable.." and "..product_root.." files, and why is there two different types?

The content of the binary files seems to primarily come at least from the executable feature org.eclipse.equinox.executable, but also includes e.g. the icons specified in the .product file.Q3: What contributes to the content apart from the executable feature , e.g. which properties in ".product" definition or elsewhereQ4: The files in the executable feature are renamed. Are they modified in any other way?

Some additional info:

Our PDE build are building platform and product specific repositories, while our Buckminster build produces one repository with multiple products for all platforms. This are some examples of what we do:

Set correct version info in the exe-file (windows)

Add additional files to e.g. the root (and Contents/Ressource on mac)

Overwrite info.plist (mac) and eclipse.ini, with version including e.g. build information

Replaces the executable files

Fixes end-of-line in some share files.

Hope you are able to answer some or all of my question. I am also very open to alternative suggestions for solutions