[Bug 459535] Review Request: backup-manager - A command line backup tool for GNU/Linux

bugzilla at redhat.com bugzilla at redhat.com
Sun Jan 11 16:53:36 UTC 2009


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


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


Christoph Wickert <fedora at christoph-wickert.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Blocks|177841                      |




--- Comment #21 from Christoph Wickert <fedora at christoph-wickert.de>  2009-01-11 11:53:34 EDT ---
(In reply to comment #20)
> I don't want to pollute this bug with justifications, so I'm not going to go
> into further details. 

Me ether, nevertheless I'd like you to read my review and ask yourself if the
package really was ready for approval. No need to answer here, just think about
it.

> The fact that the static pages were
> officially added only recently does not change the fact that we never found a
> way to cope efficiently with the amount of submissions.

The static pages were not added recently but after we switched to reviews with
flags because searching for flags in bugzilla is not trivial. Please ask
Christian Iseli if you don't believe me.

> > Can you sponsor Guillaume afterwards?
> 
> Sure.

Thanks, so I'm removing the blocker on bug # 177841 now.



REVIEW FOR ab3594db4b6b5fe1740b606ad06d41cd 
backup-manager-0.7.7-4.fc10.src.rpm

OK - MUST: rpmlint must be run on every package.
$ rpmlint
/var/lib/mock/fedora-rawhide-i386/result/backup-manager-0.7.7-4.fc11.*
2 packages and 0 specfiles checked; 0 errors, 0 warnings.
OK - MUST: The package is named according to the Package Naming Guidelines.
OK - MUST: The spec file name matches the base package %{name}, in the format
%{name}.spec.
 - MUST: The package meets the Packaging Guidelines.
OK - MUST: The package is licensed with a Fedora approved license (GPLv2+) and
meets the Licensing Guidelines.
OK - MUST: The License field in the package spec file matches the actual
license.
OK - MUST: The license file from the source package is included in %doc.
OK - MUST: The spec file is in American English.
OK - MUST: The spec file for the package is legible.
OK - MUST: The sources used to build the package matches the upstream source by
MD5 076af845dee01453f450bd06d021fcc3
OK - MUST: The package successfully compiles and builds into binary rpms on
i386
N/A - MUST: If the package does not successfully compile, build or work on an
architecture, then those architectures should be listed in the spec in
ExcludeArch.
FIX - MUST: Not all build dependencies are listed in BuildRequires:
The package runs pod2man to localize the manpages. pod2man is provided by the
perl package, which is pulled in automatically, but should be listed explicitly
because it is not in
http://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2

OK - MUST: The spec file handles locales properly with the %find_lang macro.
N/A - MUST: Every binary RPM package (or subpackage) which stores shared
library files (not just symlinks) in any of the dynamic linker's default paths,
must call ldconfig in %post and %postun.
N/A - MUST: If the package is designed to be relocatable, the packager must
state this fact in the request for review, along with the rationalization for
relocation of that specific package.
OK - MUST: The package owns all directories that it creates.
OK - MUST: The package does not contain any duplicate files in the %files
listing.
OK - MUST: Permissions on files are set properly. The %files section includes a
%defattr(...) line.
OK - MUST: The package has a %clean section, which contains or $RPM_BUILD_ROOT.
OK - MUST: The package consistently uses macros, as described in the macros
section of Packaging Guidelines.
OK - MUST: The package contains code, no content.
N/A - MUST: Large documentation files should go in a -doc subpackage.
OK - MUST: Files included as %doc do not affect the runtime of the application.
N/A - MUST: Header files must be in a -devel package.
N/A - MUST: Static libraries must be in a -static package.
N/A - MUST: Packages containing pkgconfig(.pc) files must 'Requires:
pkgconfig'.
N/A - MUST: If a package contains library files with a suffix (e.g.
libfoo.so.1.1), then library files that end in .so (without suffix) must go in
a -devel package.
N/A - MUST: In the vast majority of cases, devel packages must require the base
package using a fully versioned dependency: Requires: %{name} =
%{version}-%{release}
OK - MUST: The package does not contain any .la libtool archives.
N/A - MUST: Packages containing GUI applications must include a %{name}.desktop
file, and that file must be properly installed with desktop-file-install in the
%install section.
OK - MUST: The packages does not own files or directories already owned by
other packages.
OK - MUST: At the beginning of %install, the package runs $RPM_BUILD_ROOT.
OK - MUST: All filenames in rpm packages are valid UTF-8.
N/A - SHOULD: If the source package does not include license text(s) as a
separate file from upstream, the packager SHOULD query upstream to include it.
N/A - SHOULD: The description and summary sections in the package spec file
should contain translations for supported Non-English languages, if available.
OK - SHOULD: The the package builds in mock.
OK - SHOULD: The package should compile and build into binary rpms on all
supported architectures.
OK - SHOULD: The package functions as described.
N/A - SHOULD: If scriptlets are used, those scriptlets must be sane.
N/A - SHOULD: Usually, subpackages other than devel should require the base
package using a fully versioned dependency.
N/A - SHOULD: The placement of pkgconfig(.pc) files depends on their usecase,
and this is usually for development purposes, so should be placed in a -devel
pkg.
N/A - SHOULD: If the package has file dependencies outside of /etc, /bin,
/sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the
file instead of the file itself.


Issues:
- Paths for %{_bindir}, %{_datadir} and %{_localstatedir} are hardcoded in
backup-manager and in contrib/sanitize.dh. This surely is a blocker!
- Fix BuildRequires (see above)
- Fix Requires: We need to at least require the commands from the default
backup-manager.conf and most of the stuff from the "external commands" section
in the backup-manager: 
  -- tar, gzip, bzip2, bc
  -- /usr/bin/md5sum, /bin/nice, /usr/bin/tail (these 3 are in coreutils, so I
recommend to require the package instead of the file names)
  -- /usr/bin/logger (util-linux-ng), /usr/bin/gpg (gnupg)
  -- /usr/bin/mkisofs, /usr/bin/cdrecord, /usr/bin/growisofs (dvd+rw-tools) and
/usr/bin/dvd+rw-format (dvd+rw-tools)

- Optional requirements (I'll leave these up to you)
  -- zip, lzma and dar
  -- /usr/bin/scp (openssh-clients), /usr/bin/ssh (openssh-clients) and
/usr/bin/ftp (ftp) for upload-methods.sh, maybe also rsync
  -- /usr/bin/diff (diffutils), /usr/bin/less (less) and usr/bin/sed (sed) for
upgrade-conffile.sh
  -- /usr/bin/svnadmin (subversion) and /usr/bin/mysqldump (mysql)

- backup-manager requires both /bin/bash and /bin/sh, but /bin/bash is a
superset of /bin/sh. Is this intended or are the scripts not constant in using
either one or the other?

- the package requires perl(BackupManager::Config), perl(BackupManager::Dialog)
and perl(BackupManager::Logger). but it also provides them. They should be
filtered out as described in
https://fedoraproject.org/wiki/Packaging/Perl#Filtering_Requires:_and_Provides

- /var/lib/backup-manager is referenced in /etc/backup-manager.conf, but nether
created nor owned by backup-manager

- minor: Typo in latest changelog entry: "licence" instead of "license"

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.




More information about the Fedora-package-review mailing list