Spec URL: https://fedorapeople.org/~kaptk2/burp.spec SRPM URL: https://fedorapeople.org/~kaptk2/burp-1.3.48-1.fc20.src.rpm Description: Burp is a network backup and restore program, using client and server. It uses librsync in order to save network traffic and to save on the amount of space that is used by each backup. It also uses VSS (Volume Shadow Copy Service) to make snapshots when backing up Windows computers. Fedora Account System Username: kaptk2
*** Bug 1186820 has been marked as a duplicate of this bug. ***
A point regarding changelog entries before a full review. Also this is an unofficial review. * Please check the ChangeLog guidelines here : http://fedoraproject.org/wiki/Packaging:Guidelines#Changelogs I can see some of the ChangeLog entries are not according to the format. ChangeLog entries should not be copied directly from the source CHANGELOG entries "Changelog entries should provide a brief summary of the changes done to the package between releases, including noting updating to a new version, adding a patch, fixing other spec sections, note bugs fixed, and CVE's if any. They must never simply contain an entire copy of the source CHANGELOG entries."
This is an unofficial review. Please correct following issues before a full review of this package. Issues: * Package contains duplicates in %files. File listed twice: /etc/burp/CA-client See: http://fedoraproject.org/wiki/Packaging/Guidelines#DuplicateFiles * %clean is not required at all * There is no need to run rm -rf %{buildroot} at beginning %install. * Your %files section contains defattr which is not needed anymore. Rpmlint output: Checking: burp-1.3.48-1.fc21.x86_64.rpm burp-1.3.48-1.fc21.src.rpm burp.x86_64: W: spelling-error %description -l en_US librsync -> library burp.x86_64: E: executable-marked-as-config-file /etc/burp/summary_script burp.x86_64: E: standard-dir-owned-by-package /usr/share/man/man8 burp.x86_64: E: executable-marked-as-config-file /etc/burp/notify_script burp.x86_64: E: executable-marked-as-config-file /etc/burp/timer_script burp.x86_64: E: executable-marked-as-config-file /etc/burp/ssl_extra_checks_script burp.src: W: spelling-error %description -l en_US librsync -> library 2 packages and 0 specfiles checked; 5 errors, 2 warnings. Source checksums: https://github.com/grke/burp/archive/1.3.48.tar.gz : CHECKSUM(SHA256) this package : 1c45d0b052367595000e64d33eb5d742dbc0e0a9b24bc917a6b4f98b43c0ffdc CHECKSUM(SHA256) upstream package : 1c45d0b052367595000e64d33eb5d742dbc0e0a9b24bc917a6b4f98b43c0ffdc OK
(In reply to Pranav Kant from comment #3) > This is an unofficial review. > > Please correct following issues before a full review of this package. > > Issues: > * Package contains duplicates in %files. > File listed twice: /etc/burp/CA-client > See: http://fedoraproject.org/wiki/Packaging/Guidelines#DuplicateFiles > * %clean is not required at all > * There is no need to run rm -rf %{buildroot} at beginning %install. > * Your %files section contains defattr which is not needed anymore. I have corrected the issues listed above and uploaded a new spec file and source rpm. Spec URL: https://fedorapeople.org/~kaptk2/burp.spec SRPM URL: https://fedorapeople.org/~kaptk2/burp-1.3.48-2.fc20.src.rpm
Few more things I found, that can be corrected in your SPEC file : - As according to this : http://fedoraproject.org/wiki/Changes/Use_license_macro_in_RPMs_for_packages_in_Cloud_Image , the LICENSE file should be moved from %doc to %license. - This is just a suggestion : you should list all the BuildRequires in separate lines. It is easier to compare SPEC files this way. Eg: when a diff between two spec files are done. - I can see your spec file contains a mixture of tabs and spaces. See the Name: field and URL: field. It would be better if you untabify the file i.e only use spaces to make it consistent.
I submitted this long ago, see bug 1002092. My original SPEC is here: http://pastebin.com/RBfJLyL6 Please add me as comaintainer once you successfully package this into the repo(my FAS ID: cicku), thanks.
(In reply to Pranav Kant from comment #5) > Few more things I found, that can be corrected in your SPEC file : > > - As according to this : > http://fedoraproject.org/wiki/Changes/ > Use_license_macro_in_RPMs_for_packages_in_Cloud_Image , the LICENSE file > should be moved from %doc to %license. > > - This is just a suggestion : you should list all the BuildRequires in > separate lines. It is easier to compare SPEC files this way. Eg: when a diff > between two spec files are done. > > - I can see your spec file contains a mixture of tabs and spaces. See the > Name: field and URL: field. It would be better if you untabify the file i.e > only use spaces to make it consistent. I have fixed the issues, there wasn't a mix of spaces, just an extra tab character. I also added the %licence macro that was new to me and split each BR to its own line. My updated files are located here: Spec URL: https://fedorapeople.org/~kaptk2/burp.spec SRPM URL: https://fedorapeople.org/~kaptk2/burp-1.3.48-3.fc20.src.rpm
(In reply to Christopher Meng from comment #6) > I submitted this long ago, see bug 1002092. > > My original SPEC is here: http://pastebin.com/RBfJLyL6 > > Please add me as comaintainer once you successfully package this into the > repo(my FAS ID: cicku), thanks. I can add you to the package when it is added to the repos.
Your package installs only the service file for systemd. Have a look at the needed scriptlets to handle systemd stuff properly: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
I have updated and tested the spec file and fixed the systemd service issues. The updated files are located here: SPEC URL: https://fedorapeople.org/~kaptk2/burp.spec SRPM URL: https://fedorapeople.org/~kaptk2/burp-1.3.48-4.fc20.src.rpm
Any progress on this?
The conditionals for systemd seems to be missing some stuff, as you are mixing systemd with chkconfig. See: - https://fedoraproject.org/wiki/Packaging:Systemd?rd=Packaging:Guidelines:Systemd - http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd How about taking a working package as example for the scriptlets, such as fail2ban? http://pkgs.fedoraproject.org/cgit/fail2ban.git/tree/fail2ban.spec Did you test this on Fedora also? It should (looks to) be working on 0%{?rhel}.
Thanks for the comments Thomas, I was using an example from a previous SPEC file I wrote. I guess it wasn't very good and have adjusted it to follow how fail2ban packages. I just tested on Fedora 20 and verified that the server works as expected. It also continues to work on RHEL 6. The updated files are located here: SPEC URL: https://fedorapeople.org/~kaptk2/burp.spec SRPM URL: https://fedorapeople.org/~kaptk2/burp-1.3.48-5.fc20.src.rpm
Uploaded updated SRPM built against the new version of librsync that was released to the repos recently. SRPM URL: https://fedorapeople.org/~kaptk2/burp-1.3.48-5.fc20.src.rpm
Bump... any status updates?
Please, update to https://github.com/grke/burp/releases/tag/1.4.36 or better https://github.com/grke/burp/releases/tag/2.0.18
(In reply to gil cattaneo from comment #16) > Please, update to > https://github.com/grke/burp/releases/tag/1.4.36 > or better > https://github.com/grke/burp/releases/tag/2.0.18 No, those are not 'stable' yet. 1.4.36 is the stable candidate and 2.0.18 is in beta. 1.3.48 is the latest stable version and should be the one that goes into the repo
(In reply to Andrew Niemantsverdriet from comment #17) > (In reply to gil cattaneo from comment #16) > > Please, update to > > https://github.com/grke/burp/releases/tag/1.4.36 > > or better > > https://github.com/grke/burp/releases/tag/2.0.18 > > No, those are not 'stable' yet. 1.4.36 is the stable candidate and 2.0.18 is > in beta. 1.3.48 is the latest stable version and should be the one that goes > into the repo ok, thanks for the explanation
(In reply to gil cattaneo from comment #18) > ok, thanks for the explanation Yeah, no problem. When I first started using this project I too was confused with the version numbering.
Build fails: Error: No Package found for uthash please, add uthash-devel as build requires
Updated the spec file. The updated file is located here: SPEC URL: https://fedorapeople.org/~kaptk2/burp.spec
(In reply to Andrew Niemantsverdriet from comment #21) > Updated the spec file. > > The updated file is located here: > SPEC URL: https://fedorapeople.org/~kaptk2/burp.spec and the src rpm?
(In reply to gil cattaneo from comment #22) > (In reply to Andrew Niemantsverdriet from comment #21) > > Updated the spec file. > > > > The updated file is located here: > > SPEC URL: https://fedorapeople.org/~kaptk2/burp.spec > > and the src rpm? Just finished testing it and uploaded it here: https://fedorapeople.org/~kaptk2/burp-1.3.48-6.fc20.src.rpm
Sorry, but there are some problems backup_phase2_server.c: In function 'int process_changed_file(sbuf*, sbuf*, const char*, const char*, const char*, int*, cntr*, config*)': backup_phase2_server.c:483:42: error: 'RS_DEFAULT_STRONG_LEN' was not declared in this scope if(!(p1b->sigjob=rs_sig_begin(blocklen, RS_DEFAULT_STRONG_LEN))) RPM build errors: File must begin with "/": %{_unitdir}/burp.service Child return code was: 1 EXCEPTION: Command failed. See logs for output. # bash --login -c /usr/bin/rpmbuild -bb --target i386 --nodeps /builddir/build/SPECS/burp.spec Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 84, in trace result = func(*args, **kw) File "/usr/lib/python2.7/site-packages/mockbuild/util.py", line 504, in do raise exception.Error("Command failed. See logs for output.\n # %s" % (command,), child.returncode) Error: Command failed. See logs for output. # bash --login -c /usr/bin/rpmbuild -bb --target i386 --nodeps /builddir/build/SPECS/burp.spec LEAVE do --> EXCEPTION RAISED Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=9692762
https://github.com/grke/burp/issues/273
(In reply to gil cattaneo from comment #25) > https://github.com/grke/burp/issues/273 Thought we got this fixed, working with upstream for the fix
After talking with the developer 1.4.36 is going to become the new stable version. The updated files are located here: SPEC URL: https://fedorapeople.org/~kaptk2/burp.spec SRPM URL: https://fedorapeople.org/~kaptk2/burp-1.4.36-1.fc20.src.rpm
build fail: %{_unitdir} is not defined RPM build errors: File must begin with "/": %{_unitdir}/burp.service Child return code was: 1 EXCEPTION: Command failed. See logs for output. # bash --login -c /usr/bin/rpmbuild -bb --target i386 --nodeps /builddir/build/SPECS/burp.spec Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 84, in trace result = func(*args, **kw) File "/usr/lib/python2.7/site-packages/mockbuild/util.py", line 504, in do raise exception.Error("Command failed. See logs for output.\n # %s" % (command,), child.returncode) Error: Command failed. See logs for output. # bash --login -c /usr/bin/rpmbuild -bb --target i386 --nodeps /builddir/build/SPECS/burp.spec LEAVE do --> EXCEPTION RAISED
Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=9698382
Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=9698391
I have added the BuildRequire of systemd-units which should fix that failure: The updated files are located here: SPEC URL: https://fedorapeople.org/~kaptk2/burp.spec SRPM URL: https://fedorapeople.org/~kaptk2/burp-1.4.36-2.fc20.src.rpm
Package Review ============== 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 %doc. Note: Cannot find LICENSE in rpm(s) See: http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text IGNORE ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. Generic: [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. Note: Using prebuilt packages [x]: 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: "LGPL (v2.1 or later) (with incorrect FSF address)", "GPL (v2 or later)", "Unknown or generated", "GPL (vtwo)", "*No copyright* GPL (vtwo)", "BSD (2 clause)". 133 files have unknown license. Detailed output of licensecheck in /home/gil/1186819-burp/review-burp/licensecheck.txt [x]: Package requires other packages for directories it uses. Note: No known owner of /usr/share/licenses [x]: Package must own all directories that it creates. Note: Directories without known owners: /usr/lib/systemd/system, /usr/share/licenses, /usr/lib/systemd [x]: %build honors applicable compiler flags or justifies otherwise. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. Note: Using prebuilt rpms. [?]: 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. [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. [x]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [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 61440 bytes in 6 files. [x]: Package complies to the Packaging Guidelines [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [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]: 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 ===== SHOULD items ===== Generic: [!]: Reviewer should test that the package builds in mock. [-]: 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). [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [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. [x]: Packages should try to preserve timestamps of original installed files. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [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]: Uses parallel make %{?_smp_mflags} macro. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [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]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: burp-1.4.36-2.fc23.i386.rpm burp-1.4.36-2.fc23.src.rpm burp.i386: W: spelling-error %description -l en_US librsync -> library burp.i386: W: non-conffile-in-etc /etc/burp/burp.conf burp.i386: W: non-conffile-in-etc /etc/burp/autoupgrade/server/win64/script burp.i386: W: non-conffile-in-etc /etc/burp/burp-server.conf burp.i386: W: non-conffile-in-etc /etc/burp/CA.cnf burp.i386: W: non-conffile-in-etc /etc/burp/clientconfdir/testclient burp.i386: W: non-conffile-in-etc /etc/burp/autoupgrade/server/win32/script burp.i386: W: non-conffile-in-etc /etc/burp/clientconfdir/incexc/example burp.src: W: spelling-error %description -l en_US librsync -> library 2 packages and 0 specfiles checked; 0 errors, 9 warnings. Rpmlint (installed packages) ---------------------------- Cannot parse rpmlint output: Requires -------- burp (rpmlib, GLIBC filtered): /bin/sh /usr/bin/env libacl.so.1 libacl.so.1(ACL_1.0) libc.so.6 libcrypt.so.1 libcrypto.so.10 libcrypto.so.10(libcrypto.so.10) libgcc_s.so.1 libm.so.6 libncurses.so.5 librsync.so.2 libssl.so.10 libssl.so.10(libssl.so.10) libstdc++.so.6 libstdc++.so.6(CXXABI_1.3) libtinfo.so.5 libz.so.1 libz.so.1(ZLIB_1.2.3.3) openssl-perl rtld(GNU_HASH) Provides -------- burp: burp burp(x86-32) Source checksums ---------------- https://github.com/grke/burp/archive/1.4.36.tar.gz : CHECKSUM(SHA256) this package : 64794d1f5eee2fa03f4fa2b06c0b2cdfc6653670e9fa734935dc3fdbf946f36d CHECKSUM(SHA256) upstream package : 64794d1f5eee2fa03f4fa2b06c0b2cdfc6653670e9fa734935dc3fdbf946f36d Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14 Command line :/usr/bin/fedora-review -vpn burp -m fedora-rawhide-i386 Buildroot used: fedora-rawhide-i386 Active plugins: Generic, Shell-api, C/C++ Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG
ISSUES: [!]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "LGPL (v2.1 or later) (with incorrect FSF address)", "GPL (v2 or later)", "Unknown or generated", "GPL (vtwo)", "*No copyright* GPL (vtwo)", "BSD (2 clause)". 133 files have unknown license. Detailed output of licensecheck in /home/gil/1186819-burp/review-burp/licensecheck.txt *No copyright* GPL (vtwo) ------------------------- burp-1.4.36/src/bc_types.h burp-1.4.36/src/bfile.c burp-1.4.36/src/bfile.h burp-1.4.36/src/win32/compat/dlfcn.h burp-1.4.36/src/win32/compat/getopt.h burp-1.4.36/src/win32/compat/winapi.c burp-1.4.36/src/win32/compat/winhost.h burp-1.4.36/src/win32/libwin32/protos.h burp-1.4.36/src/win32/libwin32/res.h BSD (2 clause) -------------- burp-1.4.36/uthash/uthash.h GPL (v2 or later) ----------------- burp-1.4.36/autoconf/ltmain.sh GPL (vtwo) ---------- burp-1.4.36/src/win32/libwin32/win32.h LGPL (v2.1 or later) (with incorrect FSF address) ------------------------------------------------- burp-1.4.36/src/rs_buf.c burp-1.4.36/src/rs_buf.h burp-1.4.36/src/win32/compat/sys/mtio.h /* This function is taken from the zlib example code, zpipe.c: example of proper use of zlib's inflate() and deflate() Not copyrighted -- provided to the public domain Version 1.4 11 December 2005 Mark Adler */ license is Public Domain ? burp-1.4.36/src/zlibio.c license field should be: AGPLv3 and BSD and GPLv2+ and LGPLv2+ [?]: Package contains no bundled libraries without FPC exception. burp-1.4.36/src/win32/compat/getopt.c licensed under IBM copyrights ... BSD burp-1.4.36/src/win32/compat/print.cpp
(In reply to gil cattaneo from comment #33) > license field should be: AGPLv3 and BSD and GPLv2+ and LGPLv2+ I have updated the licence field. The new files are here: SPEC URL: https://fedorapeople.org/~kaptk2/burp.spec SRPM URL: https://fedorapeople.org/~kaptk2/burp-1.4.36-3.fc20.src.rpm
New Package SCM Request ======================= Package Name: burp Short Description: A network-based backup and restore program Upstream URL: http://burp.grke.org/ Owners: kaptk2 Branches: f20 f21 f22 el5 el6 epel7 InitialCC: cicku
Git done (by process-git-requests).
What am I missing? I can't get this to build for el6 the build log is here: http://koji.fedoraproject.org/koji/getfile?taskID=9726275&name=build.log&offset=-4000 The .spec file is here: https://fedorapeople.org/~kaptk2/burp.spec
(In reply to Andrew Niemantsverdriet from comment #37) > What am I missing? I can't get this to build for el6 the build log is here: > http://koji.fedoraproject.org/koji/getfile?taskID=9726275&name=build. > log&offset=-4000 > > The .spec file is here: https://fedorapeople.org/~kaptk2/burp.spec Never mind premature, I got it figured out
burp-1.4.36-5.fc22 has been submitted as an update for Fedora 22. https://admin.fedoraproject.org/updates/burp-1.4.36-5.fc22
burp-1.4.36-5.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/burp-1.4.36-5.fc21
burp-1.4.36-5.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/burp-1.4.36-5.fc20
burp-1.4.36-5.el7 has been submitted as an update for Fedora EPEL 7. https://admin.fedoraproject.org/updates/burp-1.4.36-5.el7
burp-1.4.36-5.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/burp-1.4.36-5.el6
Successfully built packages, thanks for all the help.
burp-1.4.36-6.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/burp-1.4.36-6.el6
burp-1.4.36-6.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/burp-1.4.36-6.fc20
burp-1.4.36-6.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/burp-1.4.36-6.fc21
burp-1.4.36-6.el7 has been submitted as an update for Fedora EPEL 7. https://admin.fedoraproject.org/updates/burp-1.4.36-6.el7
burp-1.4.36-6.fc22 has been submitted as an update for Fedora 22. https://admin.fedoraproject.org/updates/burp-1.4.36-6.fc22
burp-1.4.36-6.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.
burp-1.4.36-6.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.
burp-1.4.36-6.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.
burp-1.4.36-6.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.
burp-1.4.36-6.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report.