[Bug 1973682] Review Request: jsonnet - A data templating language

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=1973682

Ben Beasley <code@xxxxxxxxxxxxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
              Flags|needinfo?(code@musicinmybra |needinfo?(riehecky@xxxxxxxx
                   |in.net)                     |)



--- Comment #3 from Ben Beasley <code@xxxxxxxxxxxxxxxxxx> ---
This fails to build on either x86_64 or aarch64 for me, so here are some
initial comments without the aid of fedora-review (and without digging into the
source tree for now). The first is the cause of the build failure.

===== Issues =====

- It’s my understanding that the *-static virtual Provides for header-only
libraries
(https://docs.fedoraproject.org/en-US/packaging-guidelines/#_packaging_header_only_libraries)
should not be arched. Some packages providing them unfortunately violate this,
which can lead to occasional build failures, but “json” is not one of them.
Please change

> BuildRequires:  json-devel json-static%{?_isa}

  to

> BuildRequires:  json-devel json-static

  to resolve this.

- Please explain/justify the makefile patch in a spec file comment, and either
indicate that it is not suitable for upstream, or point out that you have
offered it upstream. See
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_all_patches_should_have_an_upstream_bug_link_or_comment.

- I don’t think you should add -std=c++0x to the build flags unless it’s
entirely unavoidable. See
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_flags. You
should try to build the C++ code with the same C++ standard that is the default
for g++ in Fedora—I think this is currently equivalent to gnu++17.

  Consider that there is no ABI compatibility across different C++ standards,
so when library packages in Fedora use different C++ flags from the
distribution defaults, dependent packages can fail to link or, worse, crash at
runtime.

- The License field is incorrect; you must use one of the short identifiers
from
https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#SoftwareLicenses.
“Apache License 2.0” is written as “ASL 2.0”.

  The “very permissive license” on the MD5 implementation has a name; it is the
RSA license. It is approved for Fedora
(https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#SoftwareLicenses,
https://fedoraproject.org/wiki/Licensing/RSA).

  Since it’s not clear to me that the terms of the RSA license are encompassed
by the Apache license, I think it should be included in the License field. See
https://fedoraproject.org/wiki/Licensing:FAQ#What_is_.22effective_license.22_and_do_I_need_to_know_that_for_the_License:_tag.3F
and
https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_multiple_licensing_scenarios.

  I think the License field should look like this.

> # The entire source is ASL 2.0 except third_party/md5/, which is RSA
> License:    ASL 2.0 and RSA

- This

> %{__make} install DESTDIR=%{buildroot} PREFIX=%{_prefix}

  should be written as

> %{make_install} PREFIX=%{_prefix}

  Importantly, the macro sets INSTALL="%{_bindir}/install -p" so that file
mtimes are preserved.

- You should include the shared library SONAME version in the file globs so you
do not roll an update with an soversion bump by accident. (For Rawhide, these
updates require advance notification and should include rebuilds of any
dependent packages in a side
tag—https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/#_rawhide. For
stable releases, these updates are allowed only in exceptional circumstances.)
See
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_listing_shared_library_files,
and https://src.fedoraproject.org/rpms/libpri/blob/rawhide/f/libpri.spec for an
example. (You don’t have to put the soversion in a macro, but I find it
convenient.)

- The -devel package correctly requires the base package with a fully-versioned
dependency,

> Requires:	%{srcname} = %{version}-%{release}

  but this should be arched as well:

> Requires:	%{srcname}%{?_isa} = %{version}-%{release}

  See
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_requiring_base_package.

- You can drop

> %license LICENSE

  from the %files section for the -devel package since it requires the base
package, so the LICENSE file will always be installed. See
https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#subpackage-licensing.

- Assuming the tests do not have parallel-make bugs, you can and should write

> %{__make} test

  as

> %{make_build} test


-- 
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
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux