when the packaging script checks to see if it needs to rebuild a dev tarball, it partially does so by checking for the existence of the profile-only dev tarball -- if it exists and nothing seems to have changed, the script assumes it doesn't need to do a rebuild.
the problem happens when the other tarballs (generated by drush_make) fail to build -- in this case, overall package build has failed, but the profile-only tarball isn't cleaned up -- which means the next time the packaging script checks the dev release for packaging, it thinks everything is ok and skips it.
to make matters worse, the other cleanup processes in the packaging script remove the errors from the first failed build from {project_release_package_errors}, so there's not obvious way for the maintainer to know that they've had a build error.
basically, at the end of all the profile package building, we should be verifying that all three tarballs exist -- if not, then we should remove any that were created along the way.
| Comment | File | Size | Author |
|---|---|---|---|
| #3 | project_clean_failed_build.patch | 2.71 KB | hunmonk |
| #1 | project_clean_failed_build.patch | 2.67 KB | hunmonk |
Comments
Comment #1
hunmonk commentedfirst crack. since the script has so many returns in it, i use a cleanup function if the overall build fails. untested, this is more of a 'what do you think of this approach?' patch.
Comment #2
dwwI'm too tired to look super closely, but the basic approach is fine with me. Thanks.
Comment #3
hunmonk commentedattached fixes up some small issues with the first patch, and has been extensively tested. committed to HEAD.
setting back to active for deployment.
Comment #4
webchickFixing tag, per http://drupal.org/node/1127876
Comment #5
dwwThis has long since been deployed.