https://bugzilla.redhat.com/show_bug.cgi?id=1909390
Bug ID: 1909390
Summary: Review Request: gn - Meta-build system that generates
build files for Ninja
Product: Fedora
Version: rawhide
Hardware: All
OS: Linux
Status: NEW
Component: Package Review
Severity: medium
Priority: medium
Assignee: nobody(a)fedoraproject.org
Reporter: code(a)musicinmybrain.net
QA Contact: extras-qa(a)fedoraproject.org
CC: package-review(a)lists.fedoraproject.org
Target Milestone: ---
Classification: Fedora
Spec URL:
https://gitlab.com/musicinmybrain/gn-rpm/-/raw/19a0beed4529d1aab4502410f8...
SRPM URL:
https://kojipkgs.fedoraproject.org//work/tasks/168/57800168/gn-1875-1.202...
Description:
GN is a meta-build system that generates build files for Ninja.
Fedora Account System Username: music
Koji builds:
F34:
https://koji.fedoraproject.org/koji/taskinfo?taskID=57800164
F33:
https://koji.fedoraproject.org/koji/taskinfo?taskID=57800165
F33:
https://koji.fedoraproject.org/koji/taskinfo?taskID=57800166
EL8:
https://koji.fedoraproject.org/koji/taskinfo?taskID=57800167
(EL7 lacks the necessary C++17 support.)
This is used to build a number of large Google open-source projects, including
Skia, V8, and Chromium. The Chromium RPM is currently built with a bundled
copy; this would probably continue, as building Chromium is such a house of
cards already.
See the comments near the beginning of the spec file regarding the wildly
idiosyncratic versioning scheme. This is a Google project, so
different-for-difference’s-sake is par for the course.
Note also that the source URL exports a tarball directly from git; while the
contents are stable since it references a particular commit, the tarball
checksum and even file size are different every time. I haven’t looked too
closely, but I suspect this is due to timestamps in the tar stream being based
on the access time rather than the time of the commit.
Otherwise this is mostly straightforward. It’s a substantial C++17 code base,
so it will take a while to build.
Comments on rpmlint findings:
gn-doc.noarch: E: version-control-internal-file
/usr/share/doc/gn-doc/examples/ios/.gitignore
gn-doc.noarch: W: hidden-file-or-dir /usr/share/doc/gn-doc/examples/ios/.gn
gn-doc.noarch: E: zero-length
/usr/share/doc/gn-doc/examples/ios/app/Foo-Bridging-Header.h
gn-doc.noarch: W: hidden-file-or-dir
/usr/share/doc/gn-doc/examples/rust_example/.gn
gn-doc.noarch: W: hidden-file-or-dir
/usr/share/doc/gn-doc/examples/simple_build/.gn
All of these belong in the sample projects as-is. The .gn files are sample GN
configurations, and the .gitignore files are samples as well, not accidental
leftovers.
gn.src: W: strange-permission update-version 775
This should indeed be executable, as it is a maintainer script.
gn.src: W: file-size-mismatch 4e260f1dc17864cdedc31bec1ff658404a9d703e.tar.gz =
1005364,
https://gn.googlesource.com/gn/+archive/4e260f1dc17864cdedc31bec1ff658404...
= 1005341
As noted before, the git exporter produces a different tarball every time. I
believe only the timestamps differ.
gn.x86_64: W: no-documentation
It’s all in the -doc subpackage.
(I will be adding a gn.rpmlintrc file to the git repo to filter these
warnings.)
--
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component