Spec URL: https://hobbes1069.fedorapeople.org/virt-backup.spec SRPM URL: https://hobbes1069.fedorapeople.org/virt-backup-0.2.25-1.fc33.src.rpm Description: This script allows you to backup Virtual Machines managed by libvirt. It has only be tested with KVM based VM This script will dump (or mount as a set of chunks): * each block devices * optionnally the memory (if --state flag is given) * the XML description of the VM Fedora Account System Username: hobbes1069
This package built on koji: https://koji.fedoraproject.org/koji/taskinfo?taskID=56846570
Some notes: - Requires Perl and perl modules are missing: https://git.fws.fr/fws/virt-backup/src/branch/master/virt-backup.spec#L16 - Why patch the .spec file from tarball with virt-backup-update.patch if it not going to be installed/used? - _sharedstatedir can be used instead of _localstatedir - Is the changelog correct? I understand that you took Daniel's version and changed it. You can change Release to 2 and add a new Changelog entry.
- Check missing perl deps: https://git.fws.fr/fws/virt-backup/src/branch/master/virt-backup#L26 - Missing dep on qemu-img https://git.fws.fr/fws/virt-backup/src/branch/master/virt-backup#L571 - Script maybe should also depend, not 100% sure, on libvirt-daemon-driver-qemu for /var/lib/libvirt/qemu/ ownership and libvirt-libs for /var/lib/libvirt/ ownership
(In reply to Mikel Olasagasti Uranga from comment #2) > Some notes: > > - Requires Perl and perl modules are missing: > > https://git.fws.fr/fws/virt-backup/src/branch/master/virt-backup.spec#L16 He had "AutoRep: no" but removing it found even more requirements that he listed, I assumed the automatic detection was sufficient? I did add a require for perl itself. > - Why patch the .spec file from tarball with virt-backup-update.patch if it > not going to be installed/used? Because Daniel provides a spec file and I'm working with him to modernize it. I emailed him the same patch. > - _sharedstatedir can be used instead of _localstatedir Fixed. > - Is the changelog correct? I understand that you took Daniel's version and > changed it. You can change Release to 2 and add a new Changelog entry. Yes, I'll do that with the updates. (In reply to Mikel Olasagasti Uranga from comment #3) > - Check missing perl deps: As I mentioned before, the automatic dep findinging seems to be sufficient. The Perl packaging guidelines could be more explicit here but subsection, https://docs.fedoraproject.org/en-US/packaging-guidelines/Perl/#_manual_requires_and_provides "Under some circumstances, RPM’s automatic dependency generator can miss dependencies that should be added." Seems to indicate that it's ok to rely on the automatic dependency generator. I did add a BR: on perl-generators though. > https://git.fws.fr/fws/virt-backup/src/branch/master/virt-backup#L26 > > - Missing dep on qemu-img Fixed. > https://git.fws.fr/fws/virt-backup/src/branch/master/virt-backup#L571 > > - Script maybe should also depend, not 100% sure, on > libvirt-daemon-driver-qemu for /var/lib/libvirt/qemu/ ownership and > libvirt-libs for /var/lib/libvirt/ ownership Unless we're sure I'd rather not. The packaging guideline requirement is to require packages that own directories into which you're installing files. I don't think there's a requirement to pull in directories the script may "use". That being said, I think at least requiring libvirt-libs is a good idea. Spec URL: https://hobbes1069.fedorapeople.org/virt-backup.spec SRPM URL: https://hobbes1069.fedorapeople.org/virt-backup-0.2.25-2.fc33.src.rpm %changelog * Sun Dec 06 2020 Richard Shaw <hobbes1069> - 0.2.25-2 - Update spec per reviewer feedback.
> I did add a require for perl itself. Ok >> - Why patch the .spec file from tarball with virt-backup-update.patch if it >> not going to be installed/used? > Because Daniel provides a spec file and I'm working with him to modernize it. I emailed him the same patch. It doesn't make sense to patch during build if the file is not going to be included in the package. Remove the .spec patching part. > I did add a BR: on perl-generators though. Ok >> - Missing dep on qemu-img > Fixed. The qemu-img is required for the command, not for directory ownership. But next point may remove that comment. > That being said, I think at least requiring libvirt-libs is a good idea. libvirt-libs shouldn't be added, rpmlint complains about it. If the script is meant to be used locally libvirt-daemon-driver-qemu would take livirt-libs it as dep and it would be expected it to be installed already. Must change: - Don't include patch for files that are not part of the package - Remove dep on libvirt-libs Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Package installs properly. Note: Installation errors (see attachment) See: https://docs.fedoraproject.org/en-US/packaging-guidelines/ ===== MUST items ===== Generic: [ ]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [ ]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "GNU General Public License, Version 2", "Unknown or generated", "GNU General Public License v2.0 or later". 5 files have unknown license. Detailed output of licensecheck in /tmp/review-virt- backup/licensecheck.txt [ ]: Package contains no bundled libraries without FPC exception. [ ]: Changelog in prescribed format. [ ]: 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. [ ]: Package consistently uses macros (instead of hard-coded directory names). [ ]: Package is named according to the Package Naming Guidelines. [ ]: Package does not generate any conflict. [ ]: Package obeys FHS, except libexecdir and /usr/target. [ ]: If the package is a rename of another package, proper Obsoletes and Provides are present. [ ]: Requires correct, justified where necessary. [ ]: Spec file is legible and written in American English. [ ]: Package contains systemd file(s) if in need. [ ]: 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]: 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]: Package does not own files or directories owned by other packages. [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 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]: 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. [ ]: Final provides and requires are sane (see attachments). [ ]: Package functions as described. [ ]: Latest version is packaged. [ ]: Package does not include license text files separate from upstream. [ ]: 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. [ ]: 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. [ ]: %check is present and all tests pass. [ ]: 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: [!]: Rpmlint is run on all installed packages. Note: Mock build failed See: https://docs.fedoraproject.org/en-US/packaging- guidelines/#_use_rpmlint [x]: Spec file according to URL is the same as in SRPM. Installation errors ------------------- INFO: mock.py version 2.6 starting (python version = 3.9.0)... Start: init plugins INFO: selinux enabled Finish: init plugins INFO: Signal handler active Start: run Start: chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin Mock Version: 2.6 INFO: Mock Version: 2.6 Finish: chroot init INFO: installing package(s): /tmp/review-virt-backup/results/virt-backup-0.2.25-2.fc34.noarch.rpm ERROR: Command failed: # /usr/bin/dnf --installroot /var/lib/mock/fedora-rawhide-x86_64/root/ --releasever 34 --setopt=deltarpm=False --allowerasing --disableplugin=local --disableplugin=spacewalk install /tmp/review-virt-backup/results/virt-backup-0.2.25-2.fc34.noarch.rpm --setopt=tsflags=nocontexts Rpmlint ------- Checking: virt-backup-0.2.25-2.fc34.noarch.rpm virt-backup-0.2.25-2.fc34.src.rpm virt-backup.noarch: E: explicit-lib-dependency libvirt-libs virt-backup.noarch: W: spelling-error %description -l en_US optionnally -> optionally, operationally, proportionally virt-backup.noarch: E: non-standard-dir-perm /var/lib/libvirt/backup 770 virt-backup.noarch: W: no-manual-page-for-binary virt-backup virt-backup.src: W: spelling-error %description -l en_US optionnally -> optionally, operationally, proportionally 2 packages and 0 specfiles checked; 2 errors, 3 warnings. Source checksums ---------------- https://git.fws.fr/fws/virt-backup/archive/virt-backup-0.2.25-1.tar.gz : CHECKSUM(SHA256) this package : ddd28bba65ebfa6004da8b8687d6592c1d27876c859dfa25f8bfcb6a2fe100de CHECKSUM(SHA256) upstream package : ddd28bba65ebfa6004da8b8687d6592c1d27876c859dfa25f8bfcb6a2fe100de Requires -------- virt-backup (rpmlib, GLIBC filtered): /usr/bin/perl bzip2 chunkfs gzip libvirt-libs lvm2 lzop perl perl(File::Copy) perl(File::Spec) perl(Getopt::Long) perl(LockFile::Simple) perl(Sys::Virt) perl(XML::Simple) qemu-img util-linux xz Provides -------- virt-backup: virt-backup Generated by fedora-review 0.7.6 (b083f91) last change: 2020-11-10 Command line :/usr/bin/fedora-review -u https://bugzilla.redhat.com/show_bug.cgi?id=1904696 Buildroot used: fedora-rawhide-x86_64 Active plugins: Shell-api, Generic Disabled plugins: Perl, fonts, C/C++, SugarActivity, Python, PHP, R, Haskell, Ocaml, Java Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH
Spec URL: https://hobbes1069.fedorapeople.org/virt-backup.spec SRPM URL: https://hobbes1069.fedorapeople.org/virt-backup-0.2.25-3.fc33.src.rpm * Sun Dec 06 2020 Richard Shaw <hobbes1069> - 0.2.25-3 - Remove requires on libvirt-libs - Remove upstream spec file changes from the patch.
Looks fine, APPROVED
(fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/virt-backup