Open Bug 1660943 Opened 5 years ago Updated 2 years ago

mach build langpack-XY overwrites obj/browser/locales/bookmarks.html

Categories

(Firefox Build System :: Mach Core, defect, P4)

Unspecified
Linux
defect

Tracking

(Not tracked)

UNCONFIRMED

People

(Reporter: msirringhaus, Unassigned)

References

Details

From the #build-channel:

When doing ./mach build langpack-de, I end up with obj/dist/xpi-stage/locale-de/, containing basically only symlinks. These symlinks point almost all to obj/browser/locales/merge-dir/de/, except bookmarks.html, which points to obj/browser/locales/bookmarks.html.
This is giving me a headache at the moment, as each new ./mach build langpack-XY is going to overwrite this file. So I can't build them in parallel and the original one is overwritten.

Other files I see that do this are:

locale.ini -> ../../../toolkit/locales/locale.ini
update.locale -> ../../../toolkit/locales/update.locale
updater.ini -> ../../../browser/locales/updater.ini
Flags: needinfo?(nalexander)

Generally speaking, the build system is not designed to build multiple langpacks from the same objdir without each affecting the others. Today you might fix bookmarks.html, but there's no guarantee something else won't break in the future.

Understood, but building in parallel is only half of the problem I have with this.
When packaging FF, I would like to build everything in the build-section of our spec-file and then package everything in the install-section.

%build
./mach build
./mach build langpack-*

%install
# package FF
# package langpacks

But since langpack-builds overwrite files generated by the normal ./mach build (as with the bookmarks-file) I can't do this.
So I need to build langpacks in the install-section after packaging the default files, which is not very nice.

%build
./mach build

%install
# package FF
./mach build langpack-*
# package langpacks

I hope that makes sense?

The way it works now, you're kind of supposed to use different objdirs between the normal build and the langpack builds. For Debian, I even go as far as using different objdirs between each langpack so that I can actually build them in parallel.

Severity: -- → S3
Priority: -- → P4

Clearing NI since we're not going to address this any time soon. The system is working as intended, it's just not the greatest design.

Flags: needinfo?(nalexander)

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: General → Mach Core
Duplicate of this bug: 1851813
You need to log in before you can comment on or make changes to this bug.