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