[Bug 226321] Merge Review: psgml

bugzilla at redhat.com bugzilla at redhat.com
Sat May 30 15:06:30 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=226321





--- Comment #2 from Christoph Wickert <fedora at christoph-wickert.de>  2009-05-30 11:06:28 EDT ---
First, let's go through the spec step by step:

Summary: No dot at the end please

name: Capital letter at the beginning

Prereq: should not be used, I doubt it really is one. sgml-common is a Requires
and BuildRequires.

Is the license tag really correct? I could not find anything in the sources.

URL tag is missing

BuildRoot: is invalid, should be 
  %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
see https://fedoraproject.org/wiki/Packaging/Guidelines#BuildRoot_tag

Prefix: /usr: drop this completely. Will be set automatically and using
absolute paths is strictly forbidden

Requires: emacs is missing

%define psgmldir %{prefix}/share/emacs/site-lisp/psgml/: use %global, see
https://fedoraproject.org/wiki/PackagingDrafts/global_preferred_over_define
%{prefix}/share/ should be %{_datadir} here

%description: line breaks at 80 characters 


%build:

PATH=/usr/bin:$PATH this is most likely unnecessary

./configure --prefix=/usr: Hardcoded paths are strictly forbidden, just use
%configure here.

Use parallel make if possible. If not, write a comment, see
https://fedoraproject.org/wiki/Packaging/Guidelines#Parallel_make

During build I see a lot of errors like this one:
  Warning: !! The file uses old-style backquotes !!
  This functionality has been obsolete for more than 10 years already
  and will be removed soon.  See (elisp)Backquote in the manual.
Please look into this.

%install:

When creating psgml-init.el you should also use macros, %{psgmldir} instead of 
/usr/share/emacs/site-lisp/psgml, %{_sysconfdir} instead of /etc and so on

mkdir -p $RPM_BUILD_ROOT/%{prefix}/share/sgml/cdtd: use %{_datadir} instead of
%{prefix}/share

Timestamps are not preserved during install, add INSTALL="install -p"

The install-info scriptlets lack the "|| :" at the end of the line and the
%postun scriptlet is wrong, should be run in %preun, see
https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Texinfo


%files:

%defattr should be (-,root,root,-)

%{prefix}/share/sgml/cdtd should be %{_datadir}/sgml/cdtd

ChangeLog and psgml.texi are missing from %doc

ChangeLog, psgml.texi and psgml.info.gz are not UTF-8, please convert them as
described in
https://fedoraproject.org/wiki/PackageMaintainers/PackagingTricks#Convert_encoding_to_UTF-8



Now the full checklist. All FIX or ??? items are explained above.

FIX - MUST: rpmlint
$ rpmlint noarch/psgml-1.2.5-9.fc12.noarch.rpm 
psgml.noarch: W: summary-ended-with-dot A GNU Emacs major mode for editing SGML
documents.
psgml.noarch: E: tag-not-utf8 %changelog
psgml.noarch: W: no-url-tag
psgml.noarch: W: file-not-utf8 /usr/share/info/psgml.info.gz
1 packages and 0 specfiles checked; 1 errors, 3 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.
FIX - MUST: The package meets the Packaging Guidelines.
OK - MUST: The package is licensed with a Fedora approved license and meets the
Licensing Guidelines.
??? - MUST: The License field in the package spec file matches the actual
license.
FIX - 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 match the upstream source by
MD5 d4f346b0242035e54860b29d7466b0a2
OK - MUST: The package successfully compiles and builds into binary rpms on
i386 (noarch)
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: All build dependencies are listed in BuildRequires.
N/A - 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. Every %files section includes
a %defattr(...) line.
OK - MUST: The package has a %clean section, which contains rm -rf
$RPM_BUILD_ROOT.
FIX - MUST: The package consistently uses macros, as described in the macros
section of Packaging Guidelines.
OK - MUST: The package contains code, or permissable 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.
OK - MUST: All filenames in rpm packages are valid UTF-8.


SHOULD Items:
??? - 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.
FIX - SHOULD: If scriptlets are used, those scriptlets must be sane. This is
vague, and left up to the reviewers judgement to determine sanity.
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.

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




More information about the package-review mailing list