[Bug 1195279] Review Request: preupgrade-assistant - Preupgrade assistant a tool for assess system before an upgrade

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

 



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



--- Comment #26 from Zbigniew Jędrzejewski-Szmek <zbyszek@xxxxxxxxx> ---
Ah, OK, fedora-review was confused because the link to the previous version is
quoted below your latest link. *I* was confused because you forgot to update
the spec file :). But I can pull it out of the srpm.

In macros:
%preupgrade_name Fedora%{preupg_number}_%postupg_number
%preupgrade_dir /usr/share/preupgrade/%fedora_preupgrade_name ← name does not
match

Requires:       openscap%{?_isa} >= 0:1.0.8-1
...

Why %{?_isa}? This would make this package arch-dependent, and should be
dropped from all Requires.
Packaging Guidelines currently forbid using %{_isa} in BR. There's a ticket
open to relax this, but in this case I don't think there's any benefit to
having it, so those should be dropped too. 

> For Fedora system modified so that only first sentence can be mentioned, though.
I still see the old text.

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

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.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated". 41 files have unknown license. Detailed output of
     licensecheck in /var/tmp/review-preupgrade-assistant/licensecheck.txt
[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
[!]: Package uses nothing in %doc for runtime.
%doc %{_datadir}/preupgrade/README.kickstart     ← remove %doc
%doc %{_datadir}/preupgrade/README               ← remove %doc

Also:
%dir %{_docdir}/preupgrade                       ← add %doc here, otherwise the
directory would be created even if package is installed without doc files.
%doc %{_docdir}/preupgrade/README


[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]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 10240 bytes in 1 files.
[ ]: 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]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[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]: 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 do not use a name that already exist
[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]: Packages must not store files under /srv, /opt or /usr/local

Python:
[x]: Python eggs must not download any dependencies during the build process.
[x]: A package which is used by another package via an egg interface should
     provide egg info.
[x]: Package meets the Packaging Guidelines::Python
[ ]: Package contains BR: python2-devel or python3-devel
BR: python-devel should be changed to python2-devel.

[x]: Binary eggs must be removed in %prep

===== 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).
[ ]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: 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.
[!]: Spec use %global instead of %define unless justified.
     Note: %define requiring justification: %define egg_name %(echo %{name} |
     sed s/-/_/)
Yep, %define should be replaced with %global.

[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[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]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX is a working URL.

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

Generic:
[!]: Spec file according to URL is the same as in SRPM.
     Note: Spec file as given by url is not the same as in SRPM (see attached
     diff).
     See: (this test has no URL)
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).


Rpmlint
-------
Checking: preupgrade-assistant-0.11.7-5.fc23.noarch.rpm
          preupgrade-assistant-0.11.7-5.fc23.src.rpm
preupgrade-assistant.noarch: W: spelling-error %description -l en_US
upgradeability -> upgrade ability, upgrade-ability, biodegradability
preupgrade-assistant.noarch: W: spelling-error %description -l en_US inplace ->
in place, in-place, Laplace
preupgrade-assistant.noarch: W: spelling-error %description -l en_US
postupgrade -> post upgrade, post-upgrade, postgraduate
Bogus.

preupgrade-assistant.noarch: W: log-files-without-logrotate /var/log/preupgrade
The package is fine without log rotation, because it is only invoked manually.

OTOH, I'd much prefer if it logged to the journal.

preupgrade-assistant.noarch: W: no-manual-page-for-binary
preupg-create-group-xml
preupgrade-assistant.noarch: W: no-manual-page-for-binary preupg-xccdf-compose
preupgrade-assistant.src: W: spelling-error %description -l en_US
upgradeability -> upgrade ability, upgrade-ability, biodegradability
preupgrade-assistant.src: W: spelling-error %description -l en_US inplace -> in
place, in-place, Laplace
preupgrade-assistant.src: W: spelling-error %description -l en_US postupgrade
-> post upgrade, post-upgrade, postgraduate

preupgrade-assistant.src:174: W: macro-in-%changelog %license
Yes, please double the percent sign.

2 packages and 0 specfiles checked; 0 errors, 10 warnings.



So, I gave the three binaries a spin:
/usr/bin/preupg → fails because of lack of content in /usr/share/preupgrade. OK
for now.

$ /usr/bin/preupg-create-group-xml
Traceback (most recent call last):
  File "/usr/bin/preupg-create-group-xml", line 84, in <module>
    main()
  File "/usr/bin/preupg-create-group-xml", line 30, in main
    if not os.path.exists(args[0]):
IndexError: list index out of range

$ /usr/bin/preupg-xccdf-compose 
Traceback (most recent call last):
  File "/usr/bin/preupg-xccdf-compose", line 24, in <module>
    main()
  File "/usr/bin/preupg-xccdf-compose", line 20, in main
    xccdf_compose = XCCDFCompose(args[0])
IndexError: list index out of range

Not a biggie, but it would be nice if they printed a nicer error than a
backtrace.

-- 
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
https://admin.fedoraproject.org/mailman/listinfo/package-review





[Index of Archives]     [Fedora Legacy]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]