add support for a tarball packaging format for mac
Categories
(Firefox Build System :: General, enhancement)
Tracking
(Not tracked)
People
(Reporter: mozilla, Unassigned)
References
Details
Comment 1•6 years ago
|
||
Reporter | ||
Comment 2•6 years ago
|
||
Reporter | ||
Updated•6 years ago
|
Comment 4•6 years ago
|
||
ni mshal and chmanchester so can provide any feedback on this approach in comment 1
Comment 5•6 years ago
|
||
Does the repackage task have a source checkout? What about a configure run? The dsstore/background.png/icons all come from the source tree, so they don't necessarily need to be passed in with the tarball from the build task. However we would need to be able to compute MOZ_BRANDING_DIRECTORY in the repackage task, which currently comes from configure. Those files are just copied into specific locations in the tarball though. It's possible they could just be converted to an install manifest and copied like other build files. It would be nice to be able to remove the OSX-specific packing bits still in Makefiles, but I don't think that's a requirement to implement this. In theory we can just change the MOZ_PKG_FORMAT to BZ2 or TGZ and see what breaks.
The only other consideration I can think of is that some clients like mozregression currently expect .dmg files, so if the repackaging doesn't happen on every build (like in autoland), then those clients would need to be updated to look for .tar.gz as well.
Reporter | ||
Comment 6•6 years ago
|
||
(In reply to Michael Shal [:mshal] from comment #5)
Does the repackage task have a source checkout? What about a configure run?
I think so. This central repackage log says yes.
The dsstore/background.png/icons all come from the source tree, so they don't necessarily need to be passed in with the tarball from the build task. However we would need to be able to compute MOZ_BRANDING_DIRECTORY in the repackage task, which currently comes from configure. Those files are just copied into specific locations in the tarball though. It's possible they could just be converted to an install manifest and copied like other build files. It would be nice to be able to remove the OSX-specific packing bits still in Makefiles, but I don't think that's a requirement to implement this. In theory we can just change the MOZ_PKG_FORMAT to BZ2 or TGZ and see what breaks.
Catlee has a patch to create a tar.bz2 that I'm testing in https://github.com/escapewindow/gecko/pull/1/commits/831ee472e80d04f0071c621a9cbc9c84e0e031b9 .
The only other consideration I can think of is that some clients like mozregression currently expect .dmg files, so if the repackaging doesn't happen on every build (like in autoland), then those clients would need to be updated to look for .tar.gz as well.
+1
Reporter | ||
Comment 7•6 years ago
|
||
It looks like a repackaged DMG from a tar.bz2 looks different (no firefox icon on the mounted dmg, tiny icons inside the dmg) https://queue.taskcluster.net/v1/task/CcwEM-MrTRSuvKNSQkKs9A/runs/0/artifacts/public/build/target.dmg
Comment 8•6 years ago
|
||
(In reply to Aki Sasaki [:aki] from comment #7)
It looks like a repackaged DMG from a tar.bz2 looks different (no firefox icon on the mounted dmg, tiny icons inside the dmg) https://queue.taskcluster.net/v1/task/CcwEM-MrTRSuvKNSQkKs9A/runs/0/artifacts/public/build/target.dmg
The link to the patches in #c6 doesn't work anymore, but in the build log or repackage log I don't see anything that tries to install the dsstore/icons/background.png. Where should that be happening now?
Comment 9•6 years ago
|
||
In addition to mozregression we have artifact builds that currently consume dmgs but we'd actually prefer tar.bz2 there as we currently spend significant time mounting and process the contents of dmgs during artifact builds. In other words, we'd like to see this happen but there would be a little work on the build system side that would have to happen around the same time.
We should also keep in mind developers pushing to try and testing those builds locally, we would want to make this change as transparent as possible for that use case.
Reporter | ||
Comment 10•6 years ago
|
||
(In reply to Michael Shal [:mshal] from comment #8)
(In reply to Aki Sasaki [:aki] from comment #7)
It looks like a repackaged DMG from a tar.bz2 looks different (no firefox icon on the mounted dmg, tiny icons inside the dmg) https://queue.taskcluster.net/v1/task/CcwEM-MrTRSuvKNSQkKs9A/runs/0/artifacts/public/build/target.dmg
The link to the patches in #c6 doesn't work anymore, but in the build log or repackage log I don't see anything that tries to install the dsstore/icons/background.png. Where should that be happening now?
Ah, probably rebased out of existence. Should be https://github.com/escapewindow/gecko/pull/1/commits/42ba8724599c2dab0e22cd31dbd677aabf8d9157 , or the commit in https://github.com/escapewindow/gecko/pull/1/ that starts with catlee
.
I'm guessing we may have to move that dsstore/icons/background.png logic into the repackage logic in-tree.
Reporter | ||
Comment 11•6 years ago
|
||
My attempt to make make_dmg.py
able to create either a dmg or a dmg-formatted tarball: https://hg.mozilla.org/try/rev/c23f355d21926226ac5a0f743c3260fe17c24000
Reporter | ||
Comment 12•6 years ago
|
||
(In reply to Aki Sasaki [:aki] from comment #11)
My attempt to make
make_dmg.py
able to create either a dmg or a dmg-formatted tarball: https://hg.mozilla.org/try/rev/c23f355d21926226ac5a0f743c3260fe17c24000
Try push here. Looking at it, we're probably still going to make a staged.hfs on linux, which is likely not what we want.
Updated•2 years ago
|
Description
•