Open Bug 1571112 Opened 5 years ago Updated 2 years ago

./mach build on Windows generates (un)installers every build

Categories

(Firefox Build System :: General, defect)

defect

Tracking

(Not tracked)

ASSIGNED

People

(Reporter: barret, Assigned: nalexander)

References

(Blocks 1 open bug)

Details

(Keywords: in-triage, Whiteboard: [fidedi])

Attachments

(1 file)

Attached file build log (deleted) —

Doing ./mach build on my windows machine generates (un)installers:

[snip]
 0:14.66 Embedding manifest from ../../../browser/app/firefox.exe.manifest
 0:52.32 Processing config: c:\mozilla-build\nsis-3.01\nsisconf.nsh
 0:52.32 Processing script file: "uninstaller.nsi" (ACP)
 0:53.47 Processed 1 file, writing output (x86-unicode):
 0:53.47 warning: install function "WriteRegQWORD" not referenced - zeroing code (0-27) out
 0:53.47 warning: install function "ReadRegQWORD" not referenced - zeroing code (27-50) out
 0:53.47 warning: Variable "AddTaskbarSC" not referenced or never set, wasting memory!
 0:53.47 Output: "c:\Users\Barret\Workspace\src\hg.mozilla.org\mozilla-central\obj-x86_64-pc-mingw32\browser\installer\windows\instgen\helper.exe"
 0:53.47 Install: 1 page (64 bytes), 1 section (2072 bytes), 5898 instructions (165144 bytes), 2718 strings (20378 bytes), 1 language table (230 bytes).
 0:53.47 Uninstall: 4 pages (320 bytes), 1 section (2072 bytes), 3090 instructions (86520 bytes), 2269 strings (17498 bytes), 1 language table (310 bytes).
 0:53.47 Using zlib compression.
 0:53.47 EXE header size:               63488 / 38912 bytes
 0:53.47 Install code:                 188332 / 188328 bytes
 0:53.47 Install data:                 184588 / 184596 bytes
 0:53.47 Uninstall code+data:          488155 / 488147 bytes
 0:53.47 CRC (0x19FA36D2):                  4 / 4 bytes
 0:53.47 Total size:                   924567 / 899987 bytes (102.7%)
 0:53.51 3 warnings:
 0:53.51   install function "WriteRegQWORD" not referenced - zeroing code (0-27) out
 0:53.51   install function "ReadRegQWORD" not referenced - zeroing code (27-50) out
 0:53.51   Variable "AddTaskbarSC" not referenced or never set, wasting memory!
 0:55.63 Processing config: c:\mozilla-build\nsis-3.01\nsisconf.nsh
 0:55.64 Processing script file: "maintenanceservice_installer.nsi" (ACP)
 0:55.89 Processed 1 file, writing output (x86-unicode):
 0:55.89 warning: install function "WriteRegQWORD" not referenced - zeroing code (0-27) out
 0:55.89 warning: install function "ReadRegQWORD" not referenced - zeroing code (27-50) out
 0:55.89 Output: "c:\Users\Barret\Workspace\src\hg.mozilla.org\mozilla-central\obj-x86_64-pc-mingw32\browser\installer\windows\instgen\maintenanceservice_installer.exe"
 0:55.89 Install: 1 page (64 bytes), 1 section (2072 bytes), 642 instructions (17976 bytes), 752 strings (4850 bytes), 1 language table (210 bytes).
 0:55.89 Uninstall: 2 pages (192 bytes), 1 section (2072 bytes), 216 instructions (6048 bytes), 752 strings (6218 bytes), 1 language table (250 bytes).
 0:55.89 Using zlib compression.
 0:55.89 EXE header size:               64000 / 38912 bytes
 0:55.89 Install code:                  25616 / 25612 bytes
 0:55.89 Install data:                  11780 / 11788 bytes
 0:55.89 Uninstall code+data:           52232 / 52224 bytes
 0:55.89 CRC (0x2F3D6571):                  4 / 4 bytes
 0:55.89 Total size:                   153632 / 128540 bytes (119.5%)
 0:55.92 2 warnings:
 0:55.92   install function "WriteRegQWORD" not referenced - zeroing code (0-27) out
 0:55.92   install function "ReadRegQWORD" not referenced - zeroing code (27-50) out
[snip]

(full build log attached)

This process takes about 40s, which is the majority of my build time for small changes. it would be great if these weren't generated by ./mach build and were instead generated by ./mach package.

I was in the area so took a peek at this. There seems to be a bit of history that is on longer appropriate, specifically

# For Windows build the uninstaller during the application build since the
# uninstaller is included with the application for mar file generation.

from https://searchfox.org/mozilla-central/rev/b52cf6bbe214bd9d93ed9333d0403f7d556ad7c8/browser/Makefile.in#9-10. We don't generate MARs as part of the build now, so we almost certainly don't require the uninstaller at build time.

Now, all of this business is rather more complicated than it ought to be because everything needs to be l10n-aware for single-locale repacks. But I will have a poke and see if I can move this to packaging safely, while maintaining the l10n pieces.

Alternatively, we could keep this in the build proper but make the build system bits less crude: right now we rm -rf ... directories and force rebuild a bunch of stuff that doesn't change. I haven't gotten to the bottom of that yet.

Assignee: nobody → nalexander
Status: NEW → ASSIGNED
Whiteboard: [fidedi]
Severity: normal normal → S3 S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: