Bug 1774713

Summary: Review Request: virt-v2v - Convert a virtual machine to run on KVM
Product: [Fedora] Fedora Reporter: Richard W.M. Jones <rjones>
Component: Package ReviewAssignee: Kashyap Chamarthy <kchamart>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: kchamart, package-review
Target Milestone: ---Keywords: Reopened
Target Release: ---Flags: kchamart: fedora-review+
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: virt-v2v-1.41.8-4.fc32 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-04-29 12:15:11 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Successful local `mock` build
none
Failed `mock` build log from 'fedora-review'
none
Successful `mock` build log from 'fedora-review'
none
Successful `mock` build log from 'fedora-review` (with virt-v2v-1.41.8-4) none

Description Richard W.M. Jones 2019-11-20 19:00:07 UTC
Spec URL: http://oirase.annexia.org/reviews/virt-v2v/virt-v2v.spec
SRPM URL: http://oirase.annexia.org/reviews/virt-v2v/virt-v2v-1.41.8-1.fc31.src.rpm
Description: Convert a virtual machine to run on KVM
Fedora Account System Username: rjones

Comment 1 Richard W.M. Jones 2019-11-20 19:00:26 UTC
Scratch build:
https://koji.fedoraproject.org/koji/taskinfo?taskID=39137855

Comment 2 Kashyap Chamarthy 2019-11-25 16:56:39 UTC
To allow pipelining, posting things I checked so far:

(a) A small quibble from `rpmlint` on "strange-permssion" (after the
    "spelling-error" noise):

      $> rpmlint virt-v2v.spec virt-v2v-1.41.8-1.fc31.src.rpm
      virt-v2v.src: W: spelling-error %description -l en_US hypervisors -> hyper visors, hyper-visors, supervisors
      virt-v2v.src: W: spelling-error %description -l en_US oVirt -> overt
      virt-v2v.src: W: spelling-error %description -l en_US bootable -> bookable, boo table, boo-table
      virt-v2v.src: W: spelling-error %description -l en_US virtio -> virtuoso
      virt-v2v.src: W: strange-permission virt-v2v-1.41.8.tar.gz.sig 775
      1 packages and 1 specfiles checked; 0 errors, 5 warnings.

    Looks like the permissions on the tarball be changed to: 644 
    (instead of 775):

    (Reference: 
    https://fedoraproject.org/wiki/Common_Rpmlint_issues#strange-permission)


(b) Successful `koji` scratch build (refer to comment#1)

(c) LICENSE is GPLv2+, and is included in a separate file.

(d) Local `mock` build is in progress...

Comment 3 Richard W.M. Jones 2019-11-25 16:58:49 UTC
The signature thing is something to do with either gpg or NFS.  I use an
NFS directory to sign things, and running gpg sets the permissions on the
final file to 0777 for unknown reasons, eg:

$ gpg -u rich --detach-sign --armor -o virt-what-cpuid-helper.c.sig virt-what-cpuid-helper.c
$ ll virt-what-cpuid-helper.c*
-rw-rw-r--. 1 1024 users 3185 Oct  4 14:18 virt-what-cpuid-helper.c
-rwxrwxrwx. 1 1024 users  858 Nov 25 16:56 virt-what-cpuid-helper.c.sig

Comment 4 Kashyap Chamarthy 2019-11-26 11:49:53 UTC
Created attachment 1639775 [details]
Successful local `mock` build

Comment 5 Kashyap Chamarthy 2019-11-26 15:59:24 UTC
Created attachment 1639903 [details]
Failed `mock` build log from 'fedora-review'

Although local `mock` run succeeds (as evidence in comment#4), running
`fedora-review -b 1774713`, which invokes its own `mock` build fails 
with this test failing: test-v2v-oa-option.sh.

On IRC, Rich explained the purpose of the test:

    What the test is trying to do is to check that virt-v2v -oa
    preallocated creates a fully allocated disk.  It checks the size of
    the disk after conversion is > 500 (megabytes?).  Normally, virt-v2v
    sparsifies disks and since that's a synthetic Windows guest, it's
    very small indeed, so the final disk would be a few megabytes.

Rich ruled out the file system's (where 'mock' was executed) "Block 
Size" being a reason.  (The "Block Size" was: 4096, and the file system:
ext4 -- which is all "normal".)

Comment 6 Kashyap Chamarthy 2019-11-26 16:14:36 UTC
Rich, I think we'd need a new build with 'test-v2v-i-ova-as-root.sh' disabled?

------------------------------------------------------------------------
$> less ./fedora-review/1774713-virt-v2v/1774713-virt-v2v/results/build.log

[...]

./test-v2v-oa-option.sh: test failed: output is not preallocated
FAIL test-v2v-oa-option.sh (exit status: 1)

[...]

test-v2v-i-ova-as-root.sh: use 'sudo make check-root' to run this test
SKIP test-v2v-i-ova-as-root.sh (exit status: 77)
RPM build errors:
+ exit 1
error: Bad exit status from /var/tmp/rpm-tmp.KmRdWs (%check)
    Bad exit status from /var/tmp/rpm-tmp.KmRdWs (%check)
Child return code was: 1
EXCEPTION: [Error()]
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/mockbuild/trace_decorator.py", line 95, in trace
    result = func(*args, **kw)
  File "/usr/lib/python3.7/site-packages/mockbuild/util.py", line 746, in do_with_status
    raise exception.Error("Command failed: \n # %s\n%s" % (command, output), child.returncode)
mockbuild.exception.Error: Command failed: 
 # /usr/bin/systemd-nspawn -q -M 4373fa925790453fa8cd4ca6915121f2 -D /var/lib/mock/fedora-rawhide-x86_64/root -a --capability=cap_ipc_lock --bind=/tmp/mock-resolv.ljyoshuk:/etc/resolv.conf --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin --setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007" --setenv=PS1=<mock-chroot> \s-\v\$  --setenv=LANG=en_US.UTF-8 -u mockbuild bash --login -c /usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/virt-v2v.spec
------------------------------------------------------------------------

Comment 7 Richard W.M. Jones 2019-11-26 18:19:33 UTC
This is OK, the test was skipped:

test-v2v-i-ova-as-root.sh: use 'sudo make check-root' to run this test
SKIP test-v2v-i-ova-as-root.sh (exit status: 77)

This is bad:

./test-v2v-oa-option.sh: test failed: output is not preallocated
FAIL test-v2v-oa-option.sh (exit status: 1)

I will respin another build with test-v2v-oa-option.sh disabled.

Comment 8 Richard W.M. Jones 2019-11-26 18:21:54 UTC
Spec URL: http://oirase.annexia.org/reviews/virt-v2v/virt-v2v.spec
SRPM URL: http://oirase.annexia.org/reviews/virt-v2v/virt-v2v-1.41.8-2.fc31.src.rpm
Description: Convert a virtual machine to run on KVM
Fedora Account System Username: rjones

* Tue Nov 26 2019 Richard W.M. Jones <rjones> - 1.41.8-2
- Fix permissions on .sig file.
- Disable -oa preallocated test since it fails in reviewers mock environment.

Comment 9 Kashyap Chamarthy 2019-11-27 09:45:19 UTC
Created attachment 1640050 [details]
Successful `mock` build log from 'fedora-review'

Now, with new Spec/SRPM from comment#8, the `mock` build from 'fedora-review' succeeds.

Comment 10 Kashyap Chamarthy 2019-11-27 11:17:27 UTC
======
Review
======

(NB: My comments in the longer review are prefixed with [kashyapc].)

tl;dr
=====

Needs Fixing
~~~~~~~~~~~~

(1) '%license' macro is missing.
  
(2) License file is not included when you install debuginfo (or any
    other sub-packages).
  
(3) The many packages listed under "Dirs in package are owned also by:
    [...]" are all related to 'bash-completion'.  I _think_ that's
    benign; Rich, please double-confirm; I marked the item as [x ...
    ?].

    Rich has raised it on 'fedora-devel':
    https://lists.fedoraproject.org/archives/list/packaging@lists.fedoraproject.org/thread/H572VSN6O5H32SKIDR5ZIKU5DFN76SBD/

(4) Seems like documentation size is 30720 bytes in 1 files.  Needs a
    separate -doc subpackage?

(5) Missing %{?_isa} macro for subpackages -- Rich said on IRC he's
    going to put it in, "although that's not really needed for OCaml
    programs"

(6) Need to use the '%{gpgverify}' macro (instead of `gpgv2` in the %prep
    section).

(7) Strangely, `rpmlint` further below complaints of an "invalid URL",
    but it works for me:

       invalid-url URL: https://github.com/libguestfs/virt-v2v <urlopen
       error [Errno -2] Name or service not known>


Observations
~~~~~~~~~~~~

(*) Question asked/answered on IRC: "What if a user has 'virt-v2v' from
    libguestfs, and updates her Fedora host which brings 'virt-v2v' as
    its _own_ package?"  Answer (from Rich):  

        "Yeah, hopefully; I'm only proposing to make this change in
        Rawhide.  Note the binary package isn't being renamed, it's just
        produced by a different source"

(*) The "ExcludeArch" for i686 is justifiable; hence I gave the [x].
    Comment inline.

(*) `rpmlint` marks the below two as ERRORs:

        virt-v2v.x86_64: E: missing-call-to-chdir-with-chroot /usr/bin/virt-v2v
        virt-v2v.x86_64: E: missing-call-to-chdir-with-chroot /usr/bin/virt-v2v-copy-to-local

    Rich confirmed on IRC that the above is a false positive: "I guess
    because the OCaml Unix module is statically linked in, and that has
    bindings for every POSIX call"

    Reference: https://bugzilla.redhat.com/show_bug.cgi?id=1396563 --
               rpmlint often reports false positives
               missing-call-to-chdir-with-chroot on x86_64

                    * * *

Comment 11 Kashyap Chamarthy 2019-11-27 11:19:22 UTC
The Long Version


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


Issues:
=======

- 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.  Note: License
  file COPYING is not marked as %license See:
  https://docs.fedoraproject.org/en-US/packaging-
  guidelines/LicensingGuidelines/#_license_text

   - [!] [kashyapc] Rich, I don't see a %license macro in the RPM Spec;
     looks like it's mandatory.

- Package does not use a name that already exists.  Note: A package with
  this name already exists. Please check
  https://src.fedoraproject.org/rpms/virt-v2v See:
  https://docs.fedoraproject.org/en-US/packaging-
  guidelines/Naming/#_conflicting_package_names

  - [x] [kashyapc] The above is okay; this is a conscious choice by the
    packager to disentangle the 'virt-v2v' tool from libguesfs package
    into a standalone package.


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

C/C++:
[x]: Provides: bundled(gnulib) in place as required.
     Note: Sources not installed
      - [kashyapc] Gnulib is built from source:
            $> find . -name gnulib
            ./rpms-unpacked/virt-v2v-debugsource-1.41.8-2.fc32.x86_64.rpm/usr/src/debug/virt-v2v-1.41.8-2.fc32.x86_64/gnulib
            ./upstream-unpacked/Source0/virt-v2v-1.41.8/gnulib

[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: If your application is a C or C++ application you must list a
     BuildRequires against gcc, gcc-c++ or clang.
[-]: Header files in -devel subpackage, if present.
      - [kashyapc] No -devel package.
[x]: Package does not contain any libtool archives (.la)
      - [kashyapc] The spec deletes ""libtool crap"
[-]: Rpath absent or only used for internal libs.
      - [kashyapc] Not relevant.

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.
      - [kashyapc] Package is GPLv2+
[x]: License field in the package spec file matches the actual license.
     Note: There is no build directory. Running licensecheck on vanilla
     upstream sources. No licenses found. Please check the source files for
     licenses manually.
      - [kashyapc] The above is fine -- License file (COPYING) is
        included as an upstream patch, instead of respinning the
        tarball.
[!]: License file installed when any subpackage combination is installed.
      - [kashyapc] Although license file isn't shipped when you 
[x ... ?]: Package does not own files or directories owned by other packages.
     Note: Dirs in package are owned also by: /usr/share/bash-
     completion/completions(bodhi-client, subversion, rpmdevtools, git-
     core, flatpak, filesystem, libqmi, cowsay, devscripts, fd-find, ndctl,
     zeitgeist, falkon, cpu-x, lightdm, GMT-common, coccinelle-bash-
     completion, why3, zola, clufter-cli, xss-lock, ripgrep, swayidle,
     mercurial, vagrant, nitrokey-app, tig, the_silver_searcher, exa,
     zypper, swaylock, dconf-editor, devscripts-checkbashisms, fedmod,
     python3-pip, cmake-data, bash-completion, opensc, firejail, yadifa,
     driverctl, libmbim, dnf, gpaste, rtags, python3-trezor, tracker,
     firewalld, gtatool, pbuilder, sway, pdfgrep, libappstream-glib,
     python3-catkin_tools, rkt, eg, fedpkg, lastpass-cli, rpmlint, lxi-
     tools, toolbox, docopt, bubblewrap, skopeo, restic, yadifa-tools,
     maven, plowshare, gammu, task, ldc, tio, calibre, chocolate-doom,
     kmod, reprepro, datamash, minipro, breezy, git-annex, calf, python-
     django-bash-completion, exercism, libguestfs-bash-completion,
     etckeeper, buildah, nnn, glib2, ModemManager, clevis, beaker-client,
     stratis-cli, source-highlight, licensecheck, docker-compose, lxc,
     nbdkit-bash-completion, mtr, ethtool, unar, kompose, skim)
      - [kashyapc] I _think_ this is fine -- it is listing the
        'bash-completion' package; needs double-confirmation. 
[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
      - [kashyapc] No -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: The spec file handles locales properly.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
      - [kashyapc] The 'gpgverify' macro will be used 
[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.
[x]: 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.
[-]: Package is not known to require an ExcludeArch tag.
      - [x] [kashyapc] Package _does_ exclude i686 -- but with good
        rationale (included in the spec): as Linux kernel itself isn't
        built anymore for i686, and this package has a fundamental
        dependency on kernel. 
[!]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 30720 bytes in 1 files.
      - [kashyapc] Looks like we need to split out the file?
[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]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[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 must not depend on deprecated() packages.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[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

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

Generic:
[x]: 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.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
     virt-v2v-bash-completion , virt-v2v-man-pages-ja , virt-v2v-man-pages-
     uk
      - [kashyapc] Rich said on IRC he's going put the %{?_isa} macro
        for subpackages, "although that's not really needed for OCaml
        programs"
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[!]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.
      - [kashyapc] Rich is going to fix this.
[x]: 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.
      - [kashyapc] Soe
[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]: Uses parallel make %{?_smp_mflags} macro.
[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:
[x]: Rpmlint is run on debuginfo package(s).
     Note: No rpmlint messages.
[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]: Package should not use obsolete m4 macros
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: virt-v2v-1.41.8-2.fc32.x86_64.rpm
          virt-v2v-bash-completion-1.41.8-2.fc32.noarch.rpm
          virt-v2v-man-pages-ja-1.41.8-2.fc32.noarch.rpm
          virt-v2v-man-pages-uk-1.41.8-2.fc32.noarch.rpm
          virt-v2v-debuginfo-1.41.8-2.fc32.x86_64.rpm
          virt-v2v-debugsource-1.41.8-2.fc32.x86_64.rpm
          virt-v2v-1.41.8-2.fc32.src.rpm
virt-v2v.x86_64: W: spelling-error %description -l en_US hypervisors -> hyper visors, hyper-visors, supervisors
virt-v2v.x86_64: W: spelling-error %description -l en_US oVirt -> overt
virt-v2v.x86_64: W: spelling-error %description -l en_US bootable -> bookable, boo table, boo-table
virt-v2v.x86_64: W: spelling-error %description -l en_US virtio -> virtuoso
virt-v2v.x86_64: E: missing-call-to-chdir-with-chroot /usr/bin/virt-v2v
virt-v2v.x86_64: E: missing-call-to-chdir-with-chroot /usr/bin/virt-v2v-copy-to-local
virt-v2v.x86_64: W: dangling-symlink /usr/share/virt-tools/rhsrvany.exe /usr/i686-w64-mingw32/sys-root/mingw/bin/rhsrvany.exe
virt-v2v-bash-completion.noarch: W: no-documentation
virt-v2v.src: W: spelling-error %description -l en_US hypervisors -> hyper visors, hyper-visors, supervisors
virt-v2v.src: W: spelling-error %description -l en_US oVirt -> overt
virt-v2v.src: W: spelling-error %description -l en_US bootable -> bookable, boo table, boo-table
virt-v2v.src: W: spelling-error %description -l en_US virtio -> virtuoso
7 packages and 0 specfiles checked; 2 errors, 10 warnings.


Rpmlint (debuginfo)
-------------------
Checking: virt-v2v-debuginfo-1.41.8-2.fc32.x86_64.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.


Rpmlint (installed packages)
----------------------------
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_CTYPE = "C.UTF-8",
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_CTYPE = "C.UTF-8",
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
virt-v2v.x86_64: W: spelling-error %description -l en_US hypervisors -> hyper visors, hyper-visors, supervisors
virt-v2v.x86_64: W: spelling-error %description -l en_US oVirt -> overt
virt-v2v.x86_64: W: spelling-error %description -l en_US bootable -> bookable, boo table, boo-table
virt-v2v.x86_64: W: spelling-error %description -l en_US virtio -> virtuoso
virt-v2v.x86_64: W: invalid-url URL: https://github.com/libguestfs/virt-v2v <urlopen error [Errno -2] Name or service not known>
virt-v2v.x86_64: E: missing-call-to-chdir-with-chroot /usr/bin/virt-v2v
virt-v2v.x86_64: E: missing-call-to-chdir-with-chroot /usr/bin/virt-v2v-copy-to-local
virt-v2v.x86_64: W: dangling-symlink /usr/share/virt-tools/rhsrvany.exe /usr/i686-w64-mingw32/sys-root/mingw/bin/rhsrvany.exe
virt-v2v-debugsource.x86_64: W: invalid-url URL: https://github.com/libguestfs/virt-v2v <urlopen error [Errno -2] Name or service not known>
virt-v2v-man-pages-uk.noarch: W: invalid-url URL: https://github.com/libguestfs/virt-v2v <urlopen error [Errno -2] Name or service not known>
virt-v2v-bash-completion.noarch: W: invalid-url URL: https://github.com/libguestfs/virt-v2v <urlopen error [Errno -2] Name or service not known>
virt-v2v-bash-completion.noarch: W: no-documentation
virt-v2v-man-pages-ja.noarch: W: invalid-url URL: https://github.com/libguestfs/virt-v2v <urlopen error [Errno -2] Name or service not known>
virt-v2v-debuginfo.x86_64: W: invalid-url URL: https://github.com/libguestfs/virt-v2v <urlopen error [Errno -2] Name or service not known>
6 packages and 0 specfiles checked; 2 errors, 12 warnings.



Source checksums
----------------
http://download.libguestfs.org/virt-v2v/1.41-development/virt-v2v-1.41.8.tar.gz.sig :
  CHECKSUM(SHA256) this package     : b3a08e729cc9af2960f1a4928b8b3be63731d22c978dae7d12292263e0d2b3f6
  CHECKSUM(SHA256) upstream package : b3a08e729cc9af2960f1a4928b8b3be63731d22c978dae7d12292263e0d2b3f6
http://download.libguestfs.org/virt-v2v/1.41-development/virt-v2v-1.41.8.tar.gz :
  CHECKSUM(SHA256) this package     : a42e1b69a29f20ad0362fb517cba9eacca86266bcd9dccbc50830299291a09ac
  CHECKSUM(SHA256) upstream package : a42e1b69a29f20ad0362fb517cba9eacca86266bcd9dccbc50830299291a09ac

[...]

Comment 12 Richard W.M. Jones 2019-11-27 13:22:55 UTC
Spec URL: http://oirase.annexia.org/reviews/virt-v2v/virt-v2v.spec
SRPM URL: http://oirase.annexia.org/reviews/virt-v2v/virt-v2v-1.41.8-3.fc31.src.rpm
Description: Convert a virtual machine to run on KVM
Fedora Account System Username: rjones

* Wed Nov 27 2019 Richard W.M. Jones <rjones> - 1.41.8-3
- Use license instead of doc for COPYING file.
- Include license in all subpackages.
- Add ?_isa to subpackage Requires.
- Use gpgverify macro.
- Don't own bash-completion directory because we Require the
  bash-completion package which owns it already.

> (2) License file is not included when you install debuginfo (or any
>     other sub-packages).

I've added it to all the subpackages that we control, but I don't believe
it's possible to add it to the debuginfo package since that is completely
generated by RPM itself.

> (4) Seems like documentation size is 30720 bytes in 1 files.  Needs a
>     separate -doc subpackage?

30K isn't particularly large.  The rpmlint guideline is documentation
larger than 1MB.  The virt-v2v binary is 5MB.

But the big advantage of including the docs in the main package
is that people won't have any excuse not to read them!

Comment 13 Ben Cotton 2019-11-27 14:16:19 UTC
Fedora 29 changed to end-of-life (EOL) status on 2019-11-26. Fedora 29 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 14 Kashyap Chamarthy 2019-11-27 14:31:26 UTC
(In reply to Ben Cotton from comment #13)
> Fedora 29 changed to end-of-life (EOL) status on 2019-11-26. Fedora 29 is
> no longer maintained, which means that it will not receive any further
> security or bug fix updates. As a result we are closing this bug.
> 
> If you can reproduce this bug against a currently maintained version of
> Fedora please feel free to reopen this bug against that version. If you
> are unable to reopen this bug, please file a new report against the
> current release. If you experience problems, please add a comment to this
> bug.
> 
> Thank you for reporting this bug and we are sorry it could not be fixed.

The above message is wrong; Ben confirmed on IRC that he closed this
accidentally due to a mistake in his Bugzilla query.

(Thanks, Rich, for reopening.)

Comment 15 Kashyap Chamarthy 2019-11-27 14:40:38 UTC
(In reply to Richard W.M. Jones from comment #12)
> Spec URL: http://oirase.annexia.org/reviews/virt-v2v/virt-v2v.spec
> SRPM URL:
> http://oirase.annexia.org/reviews/virt-v2v/virt-v2v-1.41.8-3.fc31.src.rpm
> Description: Convert a virtual machine to run on KVM
> Fedora Account System Username: rjones
> 
> * Wed Nov 27 2019 Richard W.M. Jones <rjones> - 1.41.8-3
> - Use license instead of doc for COPYING file.
> - Include license in all subpackages.
> - Add ?_isa to subpackage Requires.
> - Use gpgverify macro.
> - Don't own bash-completion directory because we Require the
>   bash-completion package which owns it already.

Thanks.

> > (2) License file is not included when you install debuginfo (or any
> >     other sub-packages).
> 
> I've added it to all the subpackages that we control, but I don't believe
> it's possible to add it to the debuginfo package since that is completely
> generated by RPM itself.

Sounds good.

> > (4) Seems like documentation size is 30720 bytes in 1 files.  Needs a
> >     separate -doc subpackage?
> 
> 30K isn't particularly large.  The rpmlint guideline is documentation
> larger than 1MB.  The virt-v2v binary is 5MB.
> 
> But the big advantage of including the docs in the main package
> is that people won't have any excuse not to read them!

:-)

              - - -

I can't punch any more holes in v3; looks good to me ... "approved".

Also kicked off a new scratch build with v3 SRPM (virt-v2v-1.41.8-3.fc31.src.rpm)

    https://koji.fedoraproject.org/koji/taskinfo?taskID=39376657

It's sailing towards success.

Comment 16 Kashyap Chamarthy 2019-11-27 15:40:13 UTC
(In reply to Kashyap Chamarthy from comment #15)

[...]

> Also kicked off a new scratch build with v3 SRPM
> (virt-v2v-1.41.8-3.fc31.src.rpm)
> 
>     https://koji.fedoraproject.org/koji/taskinfo?taskID=39376657
> 
> It's sailing towards success.

Not quite ... the above build failed:

---
BuildError: The following noarch package built differently on different architectures: virt-v2v-man-pages-ja-1.41.8-3.fc32.noarch.rpm
rpmdiff output was:
removed     REQUIRES virt-v2v(armv7hl-32) = 1.41.8-3.fc32
added       REQUIRES virt-v2v(x86-64) = 1.41.8-3.fc32
---

Comment 17 Richard W.M. Jones 2019-11-27 16:00:30 UTC
This happens because of the addition of %{?_isa} to the noarch
packages. I'll correct those.

Comment 18 Kashyap Chamarthy 2019-11-27 16:02:27 UTC
(In reply to Richard W.M. Jones from comment #17)
> This happens because of the addition of %{?_isa} to the noarch
> packages. I'll correct those.

Thanks, Rich  Will re-ACK once I test the new build.

Comment 19 Richard W.M. Jones 2019-11-27 16:41:08 UTC
Spec URL: http://oirase.annexia.org/reviews/virt-v2v/virt-v2v.spec
SRPM URL: http://oirase.annexia.org/reviews/virt-v2v/virt-v2v-1.41.8-4.fc31.src.rpm
Description: Convert a virtual machine to run on KVM
Fedora Account System Username: rjones

Only change is to remove %{?_isa}.  I kicked off a scratch build here:

https://koji.fedoraproject.org/koji/taskinfo?taskID=39379035

Comment 20 Kashyap Chamarthy 2019-12-02 13:13:11 UTC
Created attachment 1641380 [details]
Successful `mock` build log from 'fedora-review` (with virt-v2v-1.41.8-4)

Comment 21 Kashyap Chamarthy 2019-12-02 13:32:54 UTC
(In reply to Richard W.M. Jones from comment #19)
> Spec URL: http://oirase.annexia.org/reviews/virt-v2v/virt-v2v.spec
> SRPM URL:
> http://oirase.annexia.org/reviews/virt-v2v/virt-v2v-1.41.8-4.fc31.src.rpm
> Description: Convert a virtual machine to run on KVM
> Fedora Account System Username: rjones
> 
> Only change is to remove %{?_isa}.  I kicked off a scratch build here:
> 
> https://koji.fedoraproject.org/koji/taskinfo?taskID=39379035

Thanks; this looks good to me (and local `mock` also succeeds -- see comment#20); fedora-review+.

Comment 22 Richard W.M. Jones 2019-12-02 14:50:18 UTC
Branch request:
https://pagure.io/releng/fedora-scm-requests/issue/20191

Comment 23 Richard W.M. Jones 2019-12-03 11:59:05 UTC
Ignore previous comment.  The unretire request was:
https://pagure.io/releng/issue/9072

Comment 25 Richard W.M. Jones 2019-12-03 12:37:08 UTC
Build failed because of https://bugzilla.redhat.com/show_bug.cgi?id=1778517.
Since that bug is now fixed I have to go and rebuild nbdkit first.

Comment 26 Richard W.M. Jones 2020-04-29 12:15:11 UTC
There have been a number of successful builds since December, eg:
https://koji.fedoraproject.org/koji/buildinfo?buildID=1494574
so I'm closing this bug.