[Bug 2145834] Review Request: singularity-ce - Application and environment virtualization

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

 



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



--- Comment #10 from dave@xxxxxxxxxxxx <dave@xxxxxxxxxxxx> ---
(In reply to Jonathan Wright from comment #7)

Spec URL: https://dctrud.fedorapeople.org/singularity-ce.spec
SRPM URL: https://dctrud.fedorapeople.org/singularity-ce-3.10.4-1.fc37.src.rpm

> > > # The version used for the src tar filename can be different to the rpm version.
> > > # This is due to different handling of pre-release version numbers in e.g. semver,
> > > # rpm, dpkg.
> > > %global src_version 3.10.4
> > 
> > What are some example cases where this could be needed?  RPM can match
> > upstream version, even with weird pre-release things, so it'd be best to
> > only have the one "Version" var. [2]
> 
> > For release candidates our naming would be e.g. 'singularity-ce-3.11.0-rc.1.tar.gz'. AFAIK this needs to be RPM version 3.11.0~rc.1 so it sorts before 3.11.0.
> 
> > We probably won't package any release candidates here... so I could remove it, but that would mean the spec file here differs more from the one in our source repo (which I will update after advice etc. here). If there's a strong wish to remove it, then I can.
> 
> Per Fedora and EPEL update policies release candidates generally shouldn't
> be included in Fedora anyway. [2]
> 
> Since you are the upstream here the simplest thing is "if it's suitable for
> Fedora then it's suitable to be an official release" thus eliminating the
> concern with RC versions anyway.

Removed... now using %{version} only.

> Few more nitpicks:
> 
> > W: non-conffile-in-etc /etc/bash_completion.d/singularity
> 
> Bash completions are generally going in
> "%{_datadir}/bash-completion/completions/" these days.

This is going to need upstream code changes or patches, if required, as our
makefile is using sysconfdir without the ability to override. Is this a
blocker, or something that we could tackle getting sorted out in the next
upstream release?

> > W: non-standard-dir-in-var singularity
> 
> Applications must generally not add directories to the top level of /var.
> Such directories should only be added if they have some system-wide
> implication, and in consultation with the FHS mailing list. [1]
> 
> Perhaps /var/lib/singularity would be a better fit?

I believe the reason for using %{_localstatedir} (/var) is that when
Singularity was written, this location was chosen on the basis that it is...

"The directory for installing data files which the programs modify while they
run, and that pertain to one specific machine."
(https://www.gnu.org/prep/standards/html_node/Directory-Variables.html)

... and the original author was purposely using %{_localstatedir} (/var) rather
than %{_sharedstatedir} (/var/lib) because we place a directory in there that
is used as a location (within a mount namespace) under which the container
filesystem is assembled before starting the container. To avoid any issues with
overlay mounts, namespaces etc. that can arise on network filesystems, we
require that this directory is on a local fs, which matches the GNU definition
of localstatedir above.

I note, though, in the FHS document you linked, that the entry for /var/lib
refers to "state information is data that programs modify while they run, and
that pertains to one specific host"... so I suppose we could use
%{_sharedstatedir} here... it's just a bit odd the macro is 'shared' when we
need explicitly 'local' state.

Modified the .spec file for this, and I'll have a think about how we can tidy
this up upstream... if we can. It does seem we should be following then FHS
definition, and not a GNU page... it's just a bit confusing with the macro
naming.

> Additionally, rpmlint is throwing the following 3 errors:
> 
> singularity-ce.x86_64: E: readelf-failed /usr/bin/singularity 'utf-8' codec
> can't decode byte 0xc2 in position 10890: invalid continuation byte
> singularity-ce.x86_64: E: readelf-failed
> /usr/libexec/singularity/bin/starter 'utf-8' codec can't decode byte 0xc2 in
> position 13081: invalid continuation byte
> singularity-ce.x86_64: E: readelf-failed
> /usr/libexec/singularity/bin/starter-suid 'utf-8' codec can't decode byte
> 0xc2 in position 13081: invalid continuation byte

Added to rpmlint rules, per subsequent comment.

Updated files at: https://fedorapeople.org/~dctrud/


-- 
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=2145834
_______________________________________________
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