| Summary: | Various files missing in branded executable IUs | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | Michal Ruzicka <michal.ruza> |
| Component: | Buckminster | Assignee: | buckminster.core-inbox <buckminster.core-inbox> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | thomas |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Attachments: | |||
|
Description
Michal Ruzicka
Created attachment 178891 [details]
org.eclipse.buckminster.pde-branding_refactoring.patch
The attached patch gives the branding code in org.eclipse.buckminster.pde.tasks.BrandingIron access to the instance of org.eclipse.equinox.internal.p2.publisher.eclipse.ExecutablesDescriptor describing the launcher template to be branded.
The patch further makes sure that any changes made to the template are immediately reflected in the corresponding org.eclipse.equinox.internal.p2.publisher.eclipse.ExecutablesDescriptor descriptor.
ASAICS, this patch will fail if executed on a windows machine. In particular, there's an if that conditionally links stuff if the os is not Windows but there's no else with a fallback solution in case it is. There's some calls to *nix specific chmod on executables. Isn't that something that p2 is supposed to do during install using touchpoints? (In reply to comment #2) > ASAICS, this patch will fail if executed on a windows machine. In particular, > there's an if that conditionally links stuff if the os is not Windows but > there's no else with a fallback solution in case it is. > There is no "else" clause, but still the code falls back to do a copy of the resource if the link command fails; further the copy is done on Windows* systems right away (without first trying the link command). To be able to perform the copy operation in both of these situations with a single code block I could not wrap it in the "else" clause of the "if" statement checking the result of the link command. Instead I've created a named block which is simply exited if the link command succeeds. But in case the link command fails (or if it is not even attempted when on Windows) the execution of the named block continues and reaches the code performing the copy. > There's some calls to *nix specific chmod on executables. Isn't that something > that p2 is supposed to do during install using touchpoints? > You are right, calling chmod is most probably useless in the branding code. Given the fact that whatever the branding code creates is eventually packed into a jar file, anything the chmod call might have set is lost. Attaching a new version of the patch without the chmod calls. Created attachment 178990 [details]
org.eclipse.buckminster.pde-branding_refactoring_v2.patch
Take 2 of the barnding refactoring patch:
- removed useless executions of chmod
- applies cleanly to the helios-maintenance branch
Looks good. If this works for you and produces Mac products that are OK, both when you run on Linux, Mac, and Windows ;-), then please commit this patch to the helios-maintenance branch. Once that's in, can you please start a new Hudson build? Michal, did you commit your changes? Created attachment 179944 [details]
org.eclipse.buckminster.pde-branding_refactoring_v3.patch
Improved version of the patch which (in addition to changes introduced by the previous version of the patch) removes the "root" attribute from the org.eclipse.buckminster.pde.tasks.BrandingIron class. The attribute is not necessary as the org.eclipse.equinox.internal.p2.publisher.eclipse.ExecutablesDescriptor which is passed down to all the methods as a parameter contains the same information.
I tested the changes captured in org.eclipse.buckminster.pde-branding_refactoring_v3.patch on: - Windows XP - Mac OS X 10.5 - openSUSE Linux 11.3 (x86_64) Both with and without the org.eclipse.equinox.executable feature present in the target platform. Everything worked as expected so I've committed the patch in revision 11582 to the helios-maintenance branch. Is there a Hudson job for building Buckminster on the new hardware (hudson.eclipse.org) yet? No, I didn't bother to move it. Wanted the storm to blow over first. I think most problems are resolved by now so now is probably a good time. (In reply to comment #8) The issue is actually fixed since the time of the above comment, so just closing it. |