Open Bug 1320728 Opened 9 years ago Updated 3 years ago

Verify programs at beginning of the build

Categories

(Firefox Build System :: General, defect)

defect

Tracking

(Not tracked)

People

(Reporter: gps, Unassigned)

Details

There's a longstanding problem in the build system where a binary as detected by configure can change (or be removed). The build system doesn't actively look for these changes and this can result in broken builds. (We just had a report on dev-platform of rust/cargo in /usr/local/bin being removed and an incremental build being broken because binaries disappeared.) I think we should be a bit more proactive about detecting certain changes. As a start, we could stat every program detected by configure and verify it still exists. If it doesn't, we would automatically re-execute configure. A more robust solution would be to compare mtimes of programs. An even more robust solution would be to hash programs and verify they haven't changed. Historically, I don't think we did much about this because configure was a mess. But with moz.configure, I think we're in a much better position to do this. e.g. everything detected by check_prog() could be written out to a manifest and we could verify the manifest before invoking the build backend.
Product: Core → Firefox Build System
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.