[Bug 488100] Review Request: firebird - Firebird SQL database management system

bugzilla at redhat.com bugzilla at redhat.com
Wed Apr 22 12:44:20 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=488100





--- Comment #66 from Peter Lemenkov <lemenkov at gmail.com>  2009-04-22 08:44:18 EDT ---
REVIEW:

- rpmlint is not silent:

[petro at host-12-116 Desktop]$ rpmlint  firebird-*
firebird.i386: E: no-binary
firebird.i386: W: no-documentation
firebird-classic.i386: W: no-documentation
firebird-classic.i386: W: dangerous-command-in-%post ln
firebird-classic.i386: W: dangerous-command-in-%preun rm
firebird-devel.i386: E: invalid-soname /usr/lib/firebird/lib/libib_util.so
libib_util.so
firebird-devel.i386: W: no-documentation
firebird-libfbclient.i386: W: no-documentation
firebird-libfbembed.i386: W: no-documentation
firebird-server-common.i386: W: no-documentation
firebird-server-common.i386: W: dangling-relative-symlink
/usr/lib/firebird/bin/gsec ../tools/gsec
firebird-server-common.i386: W: non-standard-uid /etc/firebird/security2.fdb
firebird
firebird-server-common.i386: W: non-standard-gid /etc/firebird/security2.fdb
firebird
firebird-server-common.i386: E: non-readable /etc/firebird/security2.fdb 0660
firebird-server-common.i386: W: dangling-relative-symlink
/usr/lib/firebird/bin/gpre ../tools/gpre
firebird-server-common.i386: W: dangling-relative-symlink
/usr/lib/firebird/bin/changeDBAPassword.sh ../tools/changeDBAPassword.sh
firebird-server-common.i386: W: non-conffile-in-etc /etc/profile.d/firebird.csh
firebird-server-common.i386: W: non-standard-uid /var/log/firebird/firebird.log
firebird
firebird-server-common.i386: W: non-standard-gid /var/log/firebird/firebird.log
firebird
firebird-server-common.i386: E: zero-length /var/log/firebird/firebird.log
firebird-server-common.i386: W: dangling-relative-symlink
/usr/lib/firebird/bin/gdef ../tools/gdef
firebird-server-common.i386: W: dangling-relative-symlink
/usr/lib/firebird/bin/changeRunUser.sh ../tools/changeRunUser.sh
firebird-server-common.i386: W: non-standard-uid /usr/share/firebird/data
firebird
firebird-server-common.i386: W: non-standard-gid /usr/share/firebird/data
firebird
firebird-server-common.i386: W: non-conffile-in-etc /etc/profile.d/firebird.sh
firebird-server-common.i386: W: non-standard-uid /usr/share/firebird/backup
firebird
firebird-server-common.i386: W: non-standard-gid /usr/share/firebird/backup
firebird
firebird-server-common.i386: W: dangling-relative-symlink
/usr/lib/firebird/bin/restoreRootRunUser.sh ../tools/restoreRootRunUser.sh
firebird-server-common.i386: W: non-standard-uid /usr/share/firebird firebird
firebird-server-common.i386: W: non-standard-gid /usr/share/firebird firebird
firebird-superserver.i386: W: no-documentation
firebird-superserver.i386: W: non-standard-uid /var/run/firebird firebird
firebird-superserver.i386: W: non-standard-gid /var/run/firebird firebird
firebird-superserver.i386: W: dangerous-command-in-%post ln
firebird-superserver.i386: W: dangerous-command-in-%preun rm
firebird-superserver.i386: W: incoherent-init-script-name firebird
9 packages and 0 specfiles checked; 4 errors, 32 warnings.
[petro at host-12-116 Desktop]$

I commented almost all of these messages, except two if them, named as
"non-conffile-in-etc":

firebird-server-common.i386: W: non-conffile-in-etc /etc/profile.d/firebird.csh
firebird-server-common.i386: W: non-conffile-in-etc /etc/profile.d/firebird.sh

In order to suppress this messages, you should mark these two files as %config:

- %{_sysconfdir}/profile.d/firebird.csh
- %{_sysconfdir}/profile.d/firebird.sh
+ %config %{_sysconfdir}/profile.d/firebird.csh
+ %config %{_sysconfdir}/profile.d/firebird.sh

Easy to fix.

+ The package is named according to the Package Naming Guidelines.
+ The spec file name matches the base package %{name}, in the format
%{name}.spec.

+/- The package meets the Packaging Guidelines, except %doc issues (see below).

+ The package is licensed with a Fedora approved license and meets the
Licensing Guidelines.
+ The License field in the package spec file matches the actual license.

- The file, containing the text of the license(s) for the package MUST be
included in %doc. Also there are other issues with doc-subpackage (see below).

+ The spec file is written in American English.
+ The spec file for the package is legible.
+ The sources used to build the package matches the upstream source, as
provided in the spec URL. 

[petro at Sulaco SOURCES]$ md5sum Firebird-2.1.2.18118-0.tar.bz2*
063b3825a06d328f726b733fd74614b1  Firebird-2.1.2.18118-0.tar.bz2
063b3825a06d328f726b733fd74614b1  Firebird-2.1.2.18118-0.tar.bz2.1
[petro at Sulaco SOURCES]$

+ The package successfully compiles and builds into binary rpms on at least one
primary architecture.

http://koji.fedoraproject.org/koji/taskinfo?taskID=1314169

+ All build dependencies are listed in BuildRequires.
+ Every sub-package which stores shared library files (not just symlinks) in
any of the dynamic linker's default paths, is calling ldconfig in %post and
%postun.

+/- A package owns all directories that it creates. Unfortunately, some
sub-packages claims ownership of the same directories. For example, libfbclient
and libfbembed both have "%dir %{fbroot}/lib". This should be fixed. I advice
you to move some or even all common directories to metapackage firebird, which
is currently empty.

- The package and its subpackages MUST not list a file more than once in the
spec file's %files listings, unfortunately 

%dir %{fbroot}/tools-classic
%dir %{fbroot}/bin

listed twice in %files section of classic sub-package.

+ Permissions on files are set properly.
+ The package has a %clean section, which contains rm -rf %{buildroot} (or
$RPM_BUILD_ROOT).
+ The package consistently use macros.
+ The package contains code, or permissable content.

+/- Large documentation files are in a -doc subpackage. But see below notes
about %doc

+ Anything, the package includes as %doc, does not affect the runtime of the
application.
+ Header files are in a -devel package.
+ No static libraries at all.
+ No pkgconfig(.pc) files.
+ The library files that end in .so (without suffix) are in a -devel package.

- In the vast majority of cases, devel packages must require the base package
using a fully versioned dependency: Requires: %{name} = %{version}-%{release},
but firebird-devel requires only %{name} = %{version}. Please fix, or explain.

+ The package does NOT contain any .la libtool archives.
+ Not a GUI application.
+ The package does not own files or directories already owned by other
packages. Except issues with sub-packages noted above.
+ At the beginning of %install, each package runs rm -rf %{buildroot} (or
$RPM_BUILD_ROOT).
+ All filenames in rpm packages are valid UTF-8.

There is an issue with %doc. Firstly, you must include in every sub-package
(except *-devel) doc/license/IDPL.txt and doc/license/README.license.usage.txt.
Just add

%doc doc/license/IDPL.txt
%doc doc/license/README.license.usage.txt

Secondly, you shouldn't include %{_defaultdocdir}/%{name}/ and even create it
in the %install section. Instead of this just include necessary files right in
the %files section. E.g.

- mkdir -p %{buildroot}%{_defaultdocdir}/%{name}
- mv %{buildroot}%{fbroot}/README %{buildroot}%{_defaultdocdir}/%{name}/README
- mv %{buildroot}%{fbroot}/WhatsNew
%{buildroot}%{_defaultdocdir}/%{name}/WhatsNew
- mv %{buildroot}%{fbroot}/examples/
%{buildroot}%{_defaultdocdir}/%{name}/examples/
- mv %{buildroot}%{fbroot}/doc/ %{buildroot}%{_defaultdocdir}/%{name}/
...
%files doc
%defattr(0644,root,root,0755)
- %doc %{_defaultdocdir}/%{name}/
+ %doc doc
+ %doc examples

%doc directive, if full path is omitted, looks at your
~/rpmbuild/BUILD/%{pkgname} directory, so feel free to add docs right from
there.

Please properly fix oneliner at line 232.

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