[Bug 473835] Review Request: autoarchive - Simple backup tool

bugzilla at redhat.com bugzilla at redhat.com
Fri Jan 16 16:08:37 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=473835


Gratien D'haese <gratien.dhaese at it3.be> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gratien.dhaese at it3.be




--- Comment #1 from Gratien D'haese <gratien.dhaese at it3.be>  2009-01-16 11:08:36 EDT ---
Home page of project: http://autoarchive.sourceforge.net/
File Section on SourceForge:
http://sourceforge.net/project/platformdownload.php?group_id=239510

Analysis Report
================

** OK ** - MUST: rpmlint must be run on every package.
$ rpmlint -i -v SPECS/autoarchive.spec
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

$ rpmlint -i -v ~/Download/autoarchive-0.1.1-1.fc9.src.rpm 
autoarchive.src: I: checking
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

** OK ** - MUST: The package meets the Packaging Guidelines. Package name
"autoarchive" is acceptable and does not yet exist in the list of registered
packages.

** OK ** - MUST: The spec file name matches the base package %{name}, in the
format %{name}.spec.

** OK ** - MUST: The package is licensed with a Fedora approved license
(GPLv3+) and
meets the Licensing Guidelines. 

** FIX ** - MUST: The License field in the package spec file matches the actual
license.
** OK **   The file COPYING matches the spec License line.
!! Warning !!   The file PKG-INFO mentions as license GNU GPL which does not
match GPLv3+
!! Warning !!   The source files do not match the license:
# archiver.py
#
# Project: AutoArchive
# License: GNU GPL

** 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
e5d447c99c056027778ea7abf4d4c91e  Download/autoarchive-0.1.1-1.fc9.src.rpm
8cede45be633221fca031b4825ede1ea  Download/autoarchive-0.1.1.tar.bz2
extracted tarball (from rpm -ivh ~/Download/autoarchive-0.1.1-1.fc9.src.rpm)
equals:
$ md5sum autoarchive-0.1.1.tar.bz2
8cede45be633221fca031b4825ede1ea  autoarchive-0.1.1.tar.bz2

** OK ** - MUST: The package successfully compiles and builds into binary rpms
on i386
$ rpmbuild -ba ../SPECS/autoarchive.spec 
error: Failed build dependencies:
 python-setuptools-devel is needed by autoarchive-0.1.1-1.fc9.noarch
$ grep Requires ../SPECS/autoarchive.spec 
BuildRequires:  python
BuildRequires:  python-setuptools-devel
(first installing python-setuptools-devel)
$ rpmbuild -ba ../SPECS/autoarchive.spec
succeeds.
$ rpmlint -v -i RPMS/noarch/autoarchive-0.1.1-1.fc9.noarch.rpm 
autoarchive.noarch: I: checking
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

** 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.

** OK ** - MUST: Not all build dependencies are listed in BuildRequires:
$ rpm -qp --requires RPMS/noarch/autoarchive-0.1.1-1.fc9.noarch.rpm 
/usr/bin/python  
python(abi) = 2.5

!! Warning !! Not all Requirements are listed - lzma seems to be used and is
not part
  of the Packaging/FullExceptionList (it is up to you to decide).

** 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.
$ rpm -qpl RPMS/noarch/autoarchive-0.1.1-1.fc9.noarch.rpm 
/usr/bin/aa
/usr/lib/python2.5/site-packages/AutoArchive
/usr/lib/python2.5/site-packages/AutoArchive/__init__.py
/usr/lib/python2.5/site-packages/AutoArchive/__init__.pyc
/usr/lib/python2.5/site-packages/AutoArchive/__init__.pyo
/usr/lib/python2.5/site-packages/AutoArchive/aautils.py
/usr/lib/python2.5/site-packages/AutoArchive/aautils.pyc
/usr/lib/python2.5/site-packages/AutoArchive/aautils.pyo
/usr/lib/python2.5/site-packages/AutoArchive/archive_spec.py
/usr/lib/python2.5/site-packages/AutoArchive/archive_spec.pyc
/usr/lib/python2.5/site-packages/AutoArchive/archive_spec.pyo
/usr/lib/python2.5/site-packages/AutoArchive/archiver.py
/usr/lib/python2.5/site-packages/AutoArchive/archiver.pyc
/usr/lib/python2.5/site-packages/AutoArchive/archiver.pyo
/usr/lib/python2.5/site-packages/AutoArchive/meta.py
/usr/lib/python2.5/site-packages/AutoArchive/meta.pyc
/usr/lib/python2.5/site-packages/AutoArchive/meta.pyo
/usr/lib/python2.5/site-packages/AutoArchive/options.py
/usr/lib/python2.5/site-packages/AutoArchive/options.pyc
/usr/lib/python2.5/site-packages/AutoArchive/options.pyo
/usr/lib/python2.5/site-packages/autoarchive-0.1.1-py2.5.egg-info
/usr/share/doc/autoarchive-0.1.1
/usr/share/doc/autoarchive-0.1.1/COPYING
/usr/share/doc/autoarchive-0.1.1/NEWS
/usr/share/doc/autoarchive-0.1.1/README
/usr/share/doc/autoarchive-0.1.1/README.sk
/usr/share/man/man1/aa.1.gz


** 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
or %{buildroot}.

** 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 rm -rf
$RPM_BUILD_ROOT.

** FIX ** - MUST: All filenames in rpm packages are valid UTF-8.
$ file /usr/share/doc/autoarchive-0.1.1/COPYING
/usr/share/doc/autoarchive-0.1.1/COPYING: ASCII English text

Keeping the original date/time of documentation file is probably a good idea
(no guidelines about this)

A simple solution :
     # Convert to utf-8
     for file in COPYING NEWS README README.sk; do
       mv $file timestamp
       iconv -f ISO-8859-1 -t UTF-8 -o $file timestamp
       touch -r timestamp $file
     done


** 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.
$ mock -r default rebuild /home/gdha/RPM/SRPMS/autoarchive-0.1.1-1.fc9.src.rpm
builds are succssfully.

** OK ** - SHOULD: The package should compile and build into binary rpms on all
supported architectures.
$ koji build --arch=i386 --scratch dist-f10
../../SRPMS/autoarchive-0.1.1-1.fc9.src.rpm 
Uploading srpm: ../../SRPMS/autoarchive-0.1.1-1.fc9.src.rpm
[====================================] 100% 00:00:02  24.74 KiB  10.11 KiB/sec
Created task: 1058745
Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=1058745
Watching tasks (this may be safely interrupted)...
1058745 build (dist-f10, autoarchive-0.1.1-1.fc9.src.rpm): free
1058745 build (dist-f10, autoarchive-0.1.1-1.fc9.src.rpm): free -> open
(x86-1.fedora.phx.redhat.com)
  1058746 buildArch (autoarchive-0.1.1-1.fc9.src.rpm, i386): free
  1058746 buildArch (autoarchive-0.1.1-1.fc9.src.rpm, i386): free -> open
(x86-2.fedora.phx.redhat.com)
  1058746 buildArch (autoarchive-0.1.1-1.fc9.src.rpm, i386): open
(x86-2.fedora.phx.redhat.com) -> closed
  0 free  1 open  1 done  0 failed
1058745 build (dist-f10, autoarchive-0.1.1-1.fc9.src.rpm): open
(x86-1.fedora.phx.redhat.com) -> closed
  0 free  0 open  2 done  0 failed

1058745 build (dist-f10, autoarchive-0.1.1-1.fc9.src.rpm) completed
successfully


** OK ** - SHOULD: The package functions as described.
$ cat .my_config.aa 
# AutoArchive file for users configuration files
[General]
name: users-config
path: /home/makerpm
include_files: .*
include_files: *
exclude_files: *.gz
[makerpm at localhost ~]$ aa .my_config.aa 
/usr/bin/aa: *.gz: No such file or directory


** 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:
- Would be nice to provide some example config-files with extention .aa
- command name "aa" does not remind me of "autoarchive", perhaps better
  use autoarchive
- The name autoarchiver is sometimes written as AutoArchiver. Why the
  difference?
- FIX the above mentioned items
- Summary line (in spec file) is a bit simplistic "Simple backup tool".
  Does not give me any hint about autoarchiver. Please give a better
  summary.

-- 
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