Closed Bug 1290647 Opened 3 years ago Closed 3 years ago

./mach package requires GNU tar on FreeBSD

Categories

(Firefox Build System :: General, defect)

Unspecified
FreeBSD
defect
Not set

Tracking

(firefox49 fixed, firefox-esr45 fixed, firefox50 fixed, firefox51 fixed)

RESOLVED FIXED
mozilla51
Tracking Status
firefox49 --- fixed
firefox-esr45 --- fixed
firefox50 --- fixed
firefox51 --- fixed

People

(Reporter: jbeich, Assigned: jbeich)

Details

Attachments

(8 files, 1 obsolete file)

58 bytes, text/x-review-board-request
glandium
: review+
Details
58 bytes, text/x-review-board-request
glandium
: review+
Details
58 bytes, text/x-review-board-request
glandium
: review+
Details
58 bytes, text/x-review-board-request
glandium
: review+
Details
58 bytes, text/x-review-board-request
glandium
: review+
Details
58 bytes, text/x-review-board-request
glandium
: review+
Details
58 bytes, text/x-review-board-request
glandium
: review+
Details
2.07 KB, patch
Details | Diff | Splinter Review
BSD tar (from libarchive) doesn't support --mode and --user/--group are spelled as --uid/--gid. While |./mach package| succeeds the resulting tarball is empty but compressed with bzip2.

$ ./mach bootstrap
$ ./mach build
$ ./mach package
[...]
 0:05.82 Compressing...
 0:05.85   (stdin): tar: Option --owner=0 is not supported
 0:05.85 Usage:
 0:05.85   List:    tar -tf <archive-filename>
 0:05.85   Extract: tar -xf <archive-filename>
 0:05.85   Create:  tar -cf <archive-filename> [filenames...]
 0:05.85   Help:    tar --help
 0:05.85  no data compressed.
[...]

$ du -Ah objdir/dist/*.tar*dev
512B    objdir/dist/firefox-50.0a1.en-US.freebsd12.0-x86_64.tar.bz2

$ tar tf objdir/dist/*.tar*

$ file objdir/dist/*.tar*
objdir/dist/firefox-50.0a1.en-US.freebsd12.0-x86_64.tar.bz2: bzip2 compressed data, block size = 900k
- pkg_add(1) is no longer supported on any FreeBSD release
- gtar(1) is required for ./mach package
- gconf2 is required since bug 1167201
- Clang 3.6 is required since bug 1286204
- Install watchman (kqueue) for fsmonitor like bug 1231989
- Allow non-interactive install after bug 1151834

Review commit: https://reviewboard.mozilla.org/r/68140/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/68140/
Attachment #8776250 - Flags: review?(mh+mozilla)
Comment on attachment 8776250 [details]
Bug 1290647 - Add gconf2 to more platforms with bootstrap after bug 1167201.

https://reviewboard.mozilla.org/r/68140/#review65586
Attachment #8776250 - Flags: review?(mh+mozilla) → review+
Keywords: checkin-needed
Hmm, splitting this into multiple commits would make more sense when cherry-picking parts to release branches.
Keywords: checkin-needed
Review commit: https://reviewboard.mozilla.org/r/68516/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/68516/
Attachment #8776250 - Attachment description: Bug 1290647 - Update FreeBSD bootstrap. → Bug 1290647 - Add gconf2 to more platforms with bootstrap after bug 1167201.
Attachment #8776862 - Flags: review?(mh+mozilla)
Attachment #8776863 - Flags: review?(mh+mozilla)
Attachment #8776864 - Flags: review?(mh+mozilla)
Attachment #8776865 - Flags: review?(mh+mozilla)
Attachment #8776866 - Flags: review?(mh+mozilla)
Attachment #8776867 - Flags: review?(mh+mozilla)
Comment on attachment 8776250 [details]
Bug 1290647 - Add gconf2 to more platforms with bootstrap after bug 1167201.

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/68140/diff/1-2/
Attachment #8776250 - Flags: approval-mozilla-aurora?
Comment on attachment 8776250 [details]
Bug 1290647 - Add gconf2 to more platforms with bootstrap after bug 1167201.

This commit is the only one that has changed (to be more generic) since previous version.
Attachment #8776250 - Flags: review+ → review?(mh+mozilla)
Attachment #8776846 - Flags: approval-mozilla-esr45?
Attachment #8776846 - Attachment is obsolete: true
Attachment #8776862 - Flags: review?(mh+mozilla) → review+
Comment on attachment 8776862 [details]
Bug 1290647 - DragonFly bootstrap: Recent versions have unzip(1) in base system.

https://reviewboard.mozilla.org/r/68516/#review65778
Comment on attachment 8776863 [details]
Bug 1290647 - FreeBSD bootstrap: GNU tar is required for ./mach package.

https://reviewboard.mozilla.org/r/68518/#review65780
Attachment #8776863 - Flags: review?(mh+mozilla) → review+
Comment on attachment 8776864 [details]
Bug 1290647 - FreeBSD bootstrap: Allow non-interactive install after bug 1151834.

https://reviewboard.mozilla.org/r/68520/#review65782
Attachment #8776864 - Flags: review?(mh+mozilla) → review+
Comment on attachment 8776865 [details]
Bug 1290647 - FreeBSD bootstrap: Prefer GCC if base Clang is too old after bug 1286204.

https://reviewboard.mozilla.org/r/68522/#review65784
Attachment #8776865 - Flags: review?(mh+mozilla) → review+
Attachment #8776866 - Flags: review?(mh+mozilla) → review+
Comment on attachment 8776867 [details]
Bug 1290647 - FreeBSD bootstrap: Drop pkg_add(1) support as it reached EOL downstream.

https://reviewboard.mozilla.org/r/68526/#review65788
Attachment #8776867 - Flags: review?(mh+mozilla) → review+
Attachment #8776250 - Flags: review?(mh+mozilla) → review+
Keywords: checkin-needed
Pushed by cbook@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/fc5553a33bd1
Add gconf2 to more platforms with bootstrap after bug 1167201. r=glandium
https://hg.mozilla.org/integration/mozilla-inbound/rev/64ffadf02e81
DragonFly bootstrap: Recent versions have unzip(1) in base system. r=glandium
https://hg.mozilla.org/integration/mozilla-inbound/rev/b0349a8728f6
FreeBSD bootstrap: GNU tar is required for ./mach package. r=glandium
https://hg.mozilla.org/integration/mozilla-inbound/rev/eb091b26a148
FreeBSD bootstrap: Allow non-interactive install after bug 1151834. r=glandium
https://hg.mozilla.org/integration/mozilla-inbound/rev/0ade12fd1cf7
FreeBSD bootstrap: Prefer GCC if base Clang is too old after bug 1286204. r=glandium
https://hg.mozilla.org/integration/mozilla-inbound/rev/483cbdca1271
FreeBSD bootstrap: Add watchman (kqueue) for fsmonitor like bug 1231989. r=glandium
https://hg.mozilla.org/integration/mozilla-inbound/rev/6f5446b800e8
FreeBSD bootstrap: Drop pkg_add(1) support as it reached EOL downstream. r=glandium
Keywords: checkin-needed
Thank you for fixing bootstrap!
Comment on attachment 8776865 [details]
Bug 1290647 - FreeBSD bootstrap: Prefer GCC if base Clang is too old after bug 1286204.

Approval Request Comment
[Feature/regressing bug #]: bug 1286204 regression
[User impact if declined]: Broken build on a fresh system after ./mach bootstrap
[Describe test coverage new/current, TreeHerder]: landed on m-c
[Risks and why]: NPOTB. Low for FreeBSD: can only break bootstrap or build due to typos.
[String/UUID change made/needed]: None
Attachment #8776865 - Flags: approval-mozilla-aurora?
Comment on attachment 8776863 [details]
Bug 1290647 - FreeBSD bootstrap: GNU tar is required for ./mach package.

FreeBSD uses Ports downstream which invokes |./mach install| (|gmake install| currently) thus unaffected.

Approval Request Comment
[ESR consideration]: Easier packaging on some Tier3 platforms via buildbot or in firefox forks (e.g. tor-browser)
[Feature/regressing bug #]: since bug 908637
[User impact if declined]: Broken |./mach package| unless archivers/gtar is installed
[Describe test coverage new/current, TreeHerder]: landed on m-c
[Risks and why]: NPOTB. Low for FreeBSD: can only break bootstrap or build due to typos.
[String/UUID change made/needed]: None
Attachment #8776863 - Flags: approval-mozilla-esr45?
Attachment #8776863 - Flags: approval-mozilla-beta?
Attachment #8776863 - Flags: approval-mozilla-aurora?
Comment on attachment 8776862 [details]
Bug 1290647 - DragonFly bootstrap: Recent versions have unzip(1) in base system.

Approval Request Comment
[ESR consideration]: Better check whether to install a dependency
[Feature/regressing bug #]: since bug 1022747
[User impact if declined]: archivers/unzip is installed but not used (due to PATH order)
[Describe test coverage new/current, TreeHerder]: landed on m-c
[Risks and why]: NPOTB. Low for DragonFly: can only break bootstrap or build due to typos.
[String/UUID change made/needed]: None
Attachment #8776862 - Flags: approval-mozilla-esr45?
Attachment #8776862 - Flags: approval-mozilla-beta?
Attachment #8776862 - Flags: approval-mozilla-aurora?
Comment on attachment 8776250 [details]
Bug 1290647 - Add gconf2 to more platforms with bootstrap after bug 1167201.

Approval Request Comment
[ESR consideration]: Easier build from source on ArchLinux, FreeBSD, OpenBSD
[Feature/regressing bug #]: bug 1167201 regression
[User impact if declined]: Broken build on freshly installed systems after ./mach bootstrap
[Describe test coverage new/current, TreeHerder]: landed on m-c
[Risks and why]: Low, can only break bootstrap or build.
[String/UUID change made/needed]: None
Attachment #8776250 - Flags: approval-mozilla-beta?
Attachment #8776250 - Flags: approval-mozilla-aurora?
Rebased to a version before bug 1234092.

[Approval Request Comment]
See comment 25.
Attachment #8778016 - Flags: approval-mozilla-esr45?
(In reply to Jan Beich from comment #27)
> [Approval Request Comment]
> See comment 25.

Err, comment 26.
Comment on attachment 8776864 [details]
Bug 1290647 - FreeBSD bootstrap: Allow non-interactive install after bug 1151834.

Approval Request Comment
[ESR consideration]: Feature parity for https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_build/Linux_and_MacOS_build_preparation#One-Line_Bootstrapping
[Feature/regressing bug #]: bug 1151834 regression
[User impact if declined]: On FreeBSD |python bootstrap.py --no-interactive| invokes pkg(8) interactively
[Describe test coverage new/current, TreeHerder]: landed on m-c
[Risks and why]: Low, can only break bootstrap or build.
[String/UUID change made/needed]: None
Attachment #8776864 - Flags: approval-mozilla-esr45?
Attachment #8776864 - Flags: approval-mozilla-beta?
Attachment #8776864 - Flags: approval-mozilla-aurora?
(In reply to Jan Beich from comment #29)
> [Risks and why]: Low, can only break bootstrap or build.

Err, copy-paste error. This one affects only FreeBSD thus NPOTB.
Assignee: nobody → jbeich
Comment on attachment 8776865 [details]
Bug 1290647 - FreeBSD bootstrap: Prefer GCC if base Clang is too old after bug 1286204.

Simplify the life of porter, taking it.
Attachment #8776865 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Attachment #8776864 - Flags: approval-mozilla-esr45?
Attachment #8776864 - Flags: approval-mozilla-esr45+
Attachment #8776864 - Flags: approval-mozilla-beta?
Attachment #8776864 - Flags: approval-mozilla-beta+
Attachment #8776864 - Flags: approval-mozilla-aurora?
Attachment #8776864 - Flags: approval-mozilla-aurora+
Attachment #8776863 - Flags: approval-mozilla-esr45?
Attachment #8776863 - Flags: approval-mozilla-esr45+
Attachment #8776863 - Flags: approval-mozilla-beta?
Attachment #8776863 - Flags: approval-mozilla-beta+
Attachment #8776863 - Flags: approval-mozilla-aurora?
Attachment #8776863 - Flags: approval-mozilla-aurora+
Attachment #8776862 - Flags: approval-mozilla-esr45?
Attachment #8776862 - Flags: approval-mozilla-esr45+
Attachment #8776862 - Flags: approval-mozilla-beta?
Attachment #8776862 - Flags: approval-mozilla-beta+
Attachment #8776862 - Flags: approval-mozilla-aurora?
Attachment #8776862 - Flags: approval-mozilla-aurora+
Attachment #8776250 - Flags: approval-mozilla-beta?
Attachment #8776250 - Flags: approval-mozilla-beta+
Attachment #8776250 - Flags: approval-mozilla-aurora?
Attachment #8776250 - Flags: approval-mozilla-aurora+
Comment on attachment 8778016 [details] [diff] [review]
gconf2 fix (esr45 version)

ESR45+
Attachment #8778016 - Flags: approval-mozilla-esr45? → approval-mozilla-esr45+
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.