Bug 1467762 - Review Request: btrbk - Tool for creating snapshots and remote backups of btrfs subvolumes
Summary: Review Request: btrbk - Tool for creating snapshots and remote backups of btr...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Igor Gnatenko
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: Trivial
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-07-05 03:46 UTC by Mike Goodwin
Modified: 2019-07-03 05:05 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-07-23 08:46:33 UTC
Type: ---
Embargoed:
ignatenko: fedora-review+


Attachments (Terms of Use)

Description Mike Goodwin 2017-07-05 03:46:51 UTC
Spec URL: https://raw.githubusercontent.com/xenithorb/fedora-specs/master/btrbk/btrbk.spec
SRPM URL: https://copr-be.cloud.fedoraproject.org/results/xenithorb/btrbk/fedora-26-x86_64/00575679-btrbk/btrbk-0.25.0-1.fc26.src.rpm
Description: Tool for creating snapshots and remote backups of btrfs subvolumes
Fedora Account System Username: xenithorb

--- Trivial Info ---

Scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=20334888


RPMlint explanation: Benign spelling warnings

btrbk.noarch: W: spelling-error Summary(en_US) btrfs -> barfs
btrbk.noarch: W: spelling-error Summary(en_US) subvolumes -> sub volumes, sub-volumes, volumes
btrbk.noarch: W: spelling-error %description -l en_US btrfs -> barfs
btrbk.noarch: W: spelling-error %description -l en_US subvolumes -> sub volumes, sub-volumes, volumes
btrbk.src: W: spelling-error Summary(en_US) btrfs -> barfs
btrbk.src: W: spelling-error Summary(en_US) subvolumes -> sub volumes, sub-volumes, volumes
btrbk.src: W: spelling-error %description -l en_US btrfs -> barfs
btrbk.src: W: spelling-error %description -l en_US subvolumes -> sub volumes, sub-volumes, volumes
2 packages and 1 specfiles checked; 0 errors, 8 warnings.

Comment 1 Mike Goodwin 2017-07-05 13:19:32 UTC
Spoke with upstream about a few items and as a result I have an update to make:

--- Updates --- 

Spec URL: https://raw.githubusercontent.com/xenithorb/fedora-specs/master/btrbk/btrbk.spec
SRPM URL: https://copr-be.cloud.fedoraproject.org/results/xenithorb/btrbk/fedora-rawhide-x86_64/00575864-btrbk/btrbk-0.25.0-2.fc27.src.rpm
Description: 

Backup tool for btrfs subvolumes, using a configuration file, allows
‎creation of backups from multiple sources to multiple destinations,
‎with ssh and flexible retention policy support (hourly, daily,
‎weekly, monthly)

--- Change Log ---

* Wed Jul  5 2017 Mike Goodwin <xenithorb> - 0.25.0-2
- Added a more verbose description per the developer
- Changed Source0 to the official source tarball
- Include pv as a weak dependency, as well as openssh-clients
- Add if statement because <= RHEL7 doesn't have Recommends:

--- Trivial Info ---

Scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=20341012
RPMlint Explanation: Same as before

Comment 2 Igor Gnatenko 2017-07-05 17:05:52 UTC
* License is GPLv3+, not GPLv3
* You install systemd files, but you miss %{?systemd_requires}
* Systemd service is instlaled, but scriptlets are missing
* Missing BuildRequires: perl-generators (because you don't have automatic dependencies for perl modules)
* %{?perl_default_filter} sounds unneeded
* %if 0%{?rhel} <= 7 is wrong, because on fedora %rhel == 0 (which matches %if), it should be %if 0%{?rhel} && 0%{?rhel} <= 7
* install calls miss -p to preserve timestamps

Comment 3 Mike Goodwin 2017-07-05 17:20:22 UTC
--- Questions / Rationale ---

1. GPLv3/2+ vs regular: How do you tell the difference? I read through the license page but wasn't really clear on which it was. 

2. Ok, I'll figure out where to put that, first time doing a service. 

3. Same as above

4. I saw that in the rpmdev-newspec perl type (which I initially started with) but it seemed extraneous, since there supposedly aren't any dependencies. I'll add it in, the main reason I took it out was because it added time to the build for what seemed like no benefit, but if it's required, it's required. 

5. The opposite of 4, that also came with the perl type newspec, and that one smelled like something that was necessary (I didn't really understand what it was for) 

6. Oops :) Ok you caught me I was trying to simplify that one because the first half seemed extraneous, now I understand how it's being evaluated. 

7. Ok

----

Thank you for your time!

Working on updates asap.

Comment 4 Igor Gnatenko 2017-07-05 17:22:37 UTC
Basically, if you see GPLv3 in header, search for words "any later version" and you will find from where `+` comes ;)

Comment 5 Mike Goodwin 2017-07-05 19:07:23 UTC
--- Updates ---

Git diff: https://github.com/xenithorb/fedora-specs/commit/c30954cd2d4b3cfd6cf72b07d3f22ad3ee078b84

Spec URL: https://raw.githubusercontent.com/xenithorb/fedora-specs/c30954cd2d4b3cfd6cf72b07d3f22ad3ee078b84/btrbk/btrbk.spec

SRPM URL: https://copr-be.cloud.fedoraproject.org/results/xenithorb/btrbk/fedora-rawhide-x86_64/00576171-btrbk/btrbk-0.25.0-3.fc27.src.rpm


--- Changelog ---

* Wed Jul  5 2017 Mike Goodwin <xenithorb> - 0.25.0-3
- License was GPLv3+ not GPLv3
- Add perl-generators for BuildRequires
- Add -p to all install commands in Makefile and in spec (with sed)
  - Patch submitted upstream: https://github.com/digint/btrbk/pull/164
- Fix if statement for RHEL detection
- Spelling of subvolumes -> sub-volumes to satisfy rpmlint
- Removed %%{?perl_default_filter} macro, unnecessary


--- RPMlint ---

btrbk.noarch: W: spelling-error Summary(en_US) btrfs -> barfs
btrbk.noarch: W: spelling-error %description -l en_US btrfs -> barfs
btrbk.src: W: spelling-error Summary(en_US) btrfs -> barfs
btrbk.src: W: spelling-error %description -l en_US btrfs -> barfs
2 packages and 1 specfiles checked; 0 errors, 4 warnings.


--- Notes ---

* As discussed on IRC, the systemd units provided with this software are for cron-like purposes, and is explicitly NOT a daemon. It seems logical that %{?systemd_requires} should be used, but not scriptlets that normally deal with non-oneshot-timer service units. 

---

Thanks!

Comment 6 Mike Goodwin 2017-07-07 18:14:44 UTC
Upstream patch was merged, will remove hack for their next release

Comment 7 Igor Gnatenko 2017-07-07 19:02:52 UTC
%systemd_requires is required only for scriptlets, so it's fine to just remove it

Also remove perl from Requires, it will be automatically generated.

Don't see any other issues, APPROVED.

Comment 8 Gwyn Ciesla 2017-07-07 22:08:47 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/btrbk


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