[Bug 2388768] Review Request: nix - A purely functional package manager

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

 



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

Zbigniew Jędrzejewski-Szmek <zbyszek@xxxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|nobody@xxxxxxxxxxxxxxxxx    |zbyszek@xxxxxxxxx



--- Comment #8 from Zbigniew Jędrzejewski-Szmek <zbyszek@xxxxxxxxx> ---
> MESON_OPTS=( ... )
> %if %{with docs}
> MESON_OPTS+=(-Ddoc-gen=true)
> %endif
The nice thing about using shell array for the config option is that the
additions can be handled in the same array.
So this could be written as:
MESON_OPTS=( ...
%if %{with docs}
  -Ddoc-gen=true
%endif
)
But I think it's better to be even more explicit:
MESON_OPTS=( ...
  -Ddoc-gen=%[%{with docs}?"enabled":"disabled"]
)
We then don't depend on the upstream default, and the value is recorded in the
build log.

I'd also suggest adding:
  --libexecdir=%{_libexecdir}
This will move stuff that doesn't need to be in /usr/bin to libexec.

> - Unversioned so-files directly in %_libdir.
That seems to be a mismatch with how nix does things (separate sublayouts for
each package) and what everybody else does. They don't need to do library
versioning because they want to recompile everything all the time anyway. I'm
not sure what the best choice here is.

The packaging guidelines are adamant
[https://docs.fedoraproject.org/en-US/packaging-guidelines/#_downstream_so_name_versioning]:
> Under no circumstances should the unversioned library be shipped in Fedora.

I think a "downstream soname" should be added as described in the packaging
guidelines.
This will allow both versions to exist on disk, which is important to allow
programs
using those libraries to work during upgrades.

--

Another big question is the use of /nix for the store. IIUC, theoretically this
path could be changed, but it is baked into the compiled nix packages, so
changing the path would invalidate the whole cache of shared packages, making
such an installation of nix not really usable. So I think we want to keep this
path. The packaging guidelines say
> Fedora does not allow new directories directly under / or /usr without FPC approval.

Right now this package sidesteps the issue by not setting up the store and
referring the user to the copr (or to manual setup). I think this is fine for
now, but long-term I think we'd want to not require that. I think the nicest
solution would be to ask FPC to add an exception saying that "/nix" may
optionally be used for the purpose of installing nixos packages.

--

Another issue that came during the discussion on Matrix was whether it's OK to
package software to install other software from external sources at all without
additional approval. I looked at the guidelines
[https://docs.fedoraproject.org/en-US/packaging-guidelines/what-can-be-packaged/],
and it seems fairly clearly allowed:
> Most things considered to be "free software" or "open source software" are permitted [...]
> Some software (or in some cases, portions of that software) cannot be packaged for legal reasons. This includes issues related to licensing, patents, trademark law, etc.
>  [...] code is permitted (assuming, of course, that it has an open source compatible license, is not legally questionable, etc.), only some kinds of content are permissible.

(Sadly, the packaging guidelines link to
https://fedoraproject.org/wiki/Legal:Main and other wiki pages which redirect
to the top-level legal page. One'd hope that people would be more careful to
preserve URL stability for such important pages.)

So since this is open-source code with good licensing, no content is packaged,
with no patent or trademark law issues, everything seems good. (And we have
many other packages to install other software, pip, nodejs, cargo, conda,
various perl and python utilities, uv, etc.)

--

I think Provides:nix should be added to one of the packages. Users are likely
to use 'sudo dnf install nix', and this should work.

Should 'readline' be used instead of 'editline'? IIUC, the latter's advantage
is that it is smaller, but we have readline installed everywhere, so I think
the installation footprint is smaller with with libreadline (on top of it being
the better thing).


-- 
You are receiving this mail because:
You are always notified about changes to this product and component
You are on the CC list for the bug.
https://bugzilla.redhat.com/show_bug.cgi?id=2388768

Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-spam&short_desc=Report%20of%20Bug%202388768%23c8

-- 
_______________________________________________
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, report it: https://pagure.io/fedora-infrastructure/new_issue




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

  Powered by Linux