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

bugzilla at redhat.com bugzilla at redhat.com
Fri Mar 6 09:21:44 UTC 2015


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



--- Comment #27 from Petr Hracek <phracek at redhat.com> ---
Final URLs:
Spec URL: https://phracek.fedorapeople.org/preupgrade-assistant.spec
SRPM URL:
https://phracek.fedorapeople.org/preupgrade-assistant-0.11.7-6.fc21.src.rpm

Hopefully review is finally finished.
(In reply to Zbigniew Jędrzejewski-Szmek from comment #26)
> 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
> 
Fixed
> Requires:       openscap%{?_isa} >= 0:1.0.8-1
> ...
> 
Fixed
> 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.
> 
Fixed
> ===== 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
> 
Fixed
> 
> [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.
> 
Fixed
> [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.
Fixed
> 
> [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
Will be fixed later on
> preupgrade-assistant.noarch: W: no-manual-page-for-binary
> preupg-xccdf-compose
Will be fixed later on
> 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.

I am going to fix that after the review.

-- 
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


More information about the package-review mailing list