Bug 1540073 - Review Request: nss_nis - Name Service Switch (NSS) module using NIS
Summary: Review Request: nss_nis - Name Service Switch (NSS) module using NIS
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Petr Kubat
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1537258
TreeView+ depends on / blocked
 
Reported: 2018-01-30 08:43 UTC by Matej Mužila
Modified: 2018-04-24 09:00 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-04-24 09:00:19 UTC
Type: ---
pkubat: fedora-review+


Attachments (Terms of Use)

Description Matej Mužila 2018-01-30 08:43:12 UTC
Spec URL: https://fedorapeople.org/~mmuzila/nss_nis/nss_nis.spec
SRPM URL: https://fedorapeople.org/~mmuzila/nss_nis/nss_nis-3.0-3.fc26.src.rpm
Description: The nss_nis Name Service Switch module uses the Network Information System (NIS) to obtain user, group, host name, and other data.
Fedora Account System Username: mmuzila

Comment 1 Petr Kubat 2018-02-01 07:49:09 UTC
Please rename the package to the upstream name - libnss_nis.

Comment 2 Matej Mužila 2018-02-02 11:54:37 UTC
Hi,

this package replaces the nss_nis package, previously a subpackage of glibc.
I think, it would be better to stay with the name "nss_nis". There are also other nss modues, that use this name scheme (nss_<something>).

I've already discussed the package name with Florian, he thinks that "keeping nss_nis would be okay".

Comment 3 Florian Weimer 2018-02-02 12:12:47 UTC
(In reply to Matej Mužila from comment #2)
> this package replaces the nss_nis package, previously a subpackage of glibc.
> I think, it would be better to stay with the name "nss_nis". There are also
> other nss modues, that use this name scheme (nss_<something>).
> 
> I've already discussed the package name with Florian, he thinks that
> "keeping nss_nis would be okay".

I think we absolutely should keep the name for the binary RPM.  I do not have a strong opinion regarding the source RPM, but lean to nss_nis as well.

Comment 4 Petr Kubat 2018-02-05 09:36:59 UTC
>I think we absolutely should keep the name for the binary RPM.

After thinking about it a bit more I agree with keeping the name of the package as nss_nis. Changing it to libnss_nis would have some positives but there are also some other issues that would pop up.

Since the package only has a single binary rpm it does not make sense to me to rename the srpm either. So lets keep it as it is.

Will continue with the review.

Comment 5 Petr Kubat 2018-02-05 09:44:05 UTC
Actually, Matej can you rebase the package against latest upstream release first? I see Thorsten just released version 3 a few days ago - this versioning will make more sense with the versioning we are going to use for the rpm package.

Comment 6 Matej Mužila 2018-02-05 10:05:24 UTC
(In reply to Petr Kubat from comment #5)
> Actually, Matej can you rebase the package against latest upstream release
> first? I see Thorsten just released version 3 a few days ago - this
> versioning will make more sense with the versioning we are going to use for
> the rpm package.

The packaged version is 3.0 already. As long as I know, there is no more recent version yet.

Comment 7 Petr Kubat 2018-02-05 10:24:25 UTC
(In reply to Matej Mužila from comment #6)

> The packaged version is 3.0 already. As long as I know, there is no more
> recent version yet.

Now that I am looking at the contents of the source rpm you are right. I got confused by the 2.0.0 version on the shared library file, but it is versioned exactly the same way in upstream.

I guess this is a nitpick but it would be nice to have the library version match the release.

Comment 8 Petr Kubat 2018-02-05 12:34:04 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated

===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
[x]: License file installed when any subpackage combination is installed.
[x]: Package does not own files or directories owned by other packages.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 0 bytes in 0 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[-]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[-]: Fully versioned dependency in subpackages if applicable.
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Scriptlets must be sane, if used.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[?]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[!]: Package should not use obsolete m4 macros
     Note: Some obsoleted macros found, see the attachment.
     See: https://fedorahosted.org/FedoraReview/wiki/AutoTools
[x]: Rpmlint is run on debuginfo package(s).
     Note: There are rpmlint messages (see attachment).
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: nss_nis-3.0-3.fc28.x86_64.rpm
          nss_nis-debuginfo-3.0-3.fc28.x86_64.rpm
          nss_nis-debugsource-3.0-3.fc28.x86_64.rpm
          nss_nis-3.0-3.fc28.src.rpm
nss_nis.x86_64: W: spelling-error %description -l en_US nss -> ass, nos, nus
nss_nis.x86_64: W: spelling-error %description -l en_US nis -> ins, sin, bis
nss_nis.x86_64: W: no-documentation
nss_nis-debuginfo.x86_64: W: spelling-error Summary(en_US) nss -> ass, nos, nus
nss_nis-debuginfo.x86_64: W: spelling-error Summary(en_US) nis -> ins, sin, bis
nss_nis-debuginfo.x86_64: W: spelling-error %description -l en_US nss -> ass, nos, nus
nss_nis-debuginfo.x86_64: W: spelling-error %description -l en_US nis -> ins, sin, bis
nss_nis-debugsource.x86_64: W: spelling-error Summary(en_US) nss -> ass, nos, nus
nss_nis-debugsource.x86_64: W: spelling-error Summary(en_US) nis -> ins, sin, bis
nss_nis-debugsource.x86_64: W: spelling-error %description -l en_US nss -> ass, nos, nus
nss_nis-debugsource.x86_64: W: spelling-error %description -l en_US nis -> ins, sin, bis
nss_nis-debugsource.x86_64: W: no-documentation
nss_nis.src: W: spelling-error %description -l en_US nss -> ass, nos, nus
nss_nis.src: W: spelling-error %description -l en_US nis -> ins, sin, bis
4 packages and 0 specfiles checked; 0 errors, 14 warnings.




Rpmlint (debuginfo)
-------------------
Checking: nss_nis-debuginfo-3.0-3.fc28.x86_64.rpm
nss_nis-debuginfo.x86_64: W: spelling-error Summary(en_US) nss -> ass, nos, nus
nss_nis-debuginfo.x86_64: W: spelling-error Summary(en_US) nis -> ins, sin, bis
nss_nis-debuginfo.x86_64: W: spelling-error %description -l en_US nss -> ass, nos, nus
nss_nis-debuginfo.x86_64: W: spelling-error %description -l en_US nis -> ins, sin, bis
1 packages and 0 specfiles checked; 0 errors, 4 warnings.





Rpmlint (installed packages)
----------------------------
sh: /usr/bin/python: No such file or directory
nss_nis-debuginfo.x86_64: W: spelling-error Summary(en_US) nss -> ass, nos, nus
nss_nis-debuginfo.x86_64: W: spelling-error Summary(en_US) nis -> ins, sin, bis
nss_nis-debuginfo.x86_64: W: spelling-error %description -l en_US nss -> ass, nos, nus
nss_nis-debuginfo.x86_64: W: spelling-error %description -l en_US nis -> ins, sin, bis
nss_nis-debuginfo.x86_64: W: invalid-url URL: https://github.com/thkukuk/libnss_nis <urlopen error [Errno -2] Name or service not known>
nss_nis.x86_64: W: spelling-error %description -l en_US nss -> ass, nos, nus
nss_nis.x86_64: W: spelling-error %description -l en_US nis -> ins, sin, bis
nss_nis.x86_64: W: invalid-url URL: https://github.com/thkukuk/libnss_nis <urlopen error [Errno -2] Name or service not known>
nss_nis.x86_64: W: no-documentation
nss_nis-debugsource.x86_64: W: spelling-error Summary(en_US) nss -> ass, nos, nus
nss_nis-debugsource.x86_64: W: spelling-error Summary(en_US) nis -> ins, sin, bis
nss_nis-debugsource.x86_64: W: spelling-error %description -l en_US nss -> ass, nos, nus
nss_nis-debugsource.x86_64: W: spelling-error %description -l en_US nis -> ins, sin, bis
nss_nis-debugsource.x86_64: W: invalid-url URL: https://github.com/thkukuk/libnss_nis <urlopen error [Errno -2] Name or service not known>
nss_nis-debugsource.x86_64: W: no-documentation
3 packages and 0 specfiles checked; 0 errors, 15 warnings.



Requires
--------
nss_nis-debuginfo (rpmlib, GLIBC filtered):

nss_nis (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libc.so.6()(64bit)
    libnsl.so.2()(64bit)
    libnsl.so.2(LIBNSL_1.0)(64bit)
    rtld(GNU_HASH)

nss_nis-debugsource (rpmlib, GLIBC filtered):



Provides
--------
nss_nis-debuginfo:
    debuginfo(build-id)
    nss_nis-debuginfo
    nss_nis-debuginfo(x86-64)

nss_nis:
    libnss_nis.so.2()(64bit)
    libnss_nis.so.2(NSS_NIS_PRIVATE_2.0)(64bit)
    nss_nis
    nss_nis(x86-64)

nss_nis-debugsource:
    nss_nis-debugsource
    nss_nis-debugsource(x86-64)



Source checksums
----------------
https://github.com/thkukuk/libnss_nis/archive/v3.0.tar.gz :
  CHECKSUM(SHA256) this package     : 3c229edbd6130f62561e0be32274c0b01310a0c6b434de619d27590cc96d56c9
  CHECKSUM(SHA256) upstream package : 3c229edbd6130f62561e0be32274c0b01310a0c6b434de619d27590cc96d56c9


AutoTools: Obsoleted m4s found
------------------------------
  AC_PROG_LIBTOOL found in: libnss_nis-3.0/configure.ac:24
  AM_CONFIG_HEADER found in: libnss_nis-3.0/configure.ac:5

Comment 9 Petr Kubat 2018-02-05 12:36:03 UTC
There are some obsolete m4 macros (please file a bug against upstream for them) but otherwise lgtm.

Also be aware that there is a F28 change for removing ldconfig scriptlets:
https://fedoraproject.org/wiki/Changes/Removing_ldconfig_scriptlets

According to the change doc you can just remove the scriplets entirely if the package is only for F28+

Comment 10 Gwyn Ciesla 2018-02-05 13:10:00 UTC
(fedrepo-req-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/nss_nis

Comment 11 Petr Kubat 2018-04-24 09:00:19 UTC
The nss_nis package has been built for f28 so I guess this can be closed now.

https://koji.fedoraproject.org/koji/buildinfo?buildID=1024013


Note You need to log in before you can comment on or make changes to this bug.