Bug 225877 - Merge Review: guile
Summary: Merge Review: guile
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Ondrej Vasik
QA Contact: Fedora Package Reviews List
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-01-31 19:01 UTC by Nobody's working on this, feel free to take it
Modified: 2010-04-08 10:29 UTC (History)
2 users (show)

Fixed In Version: guile-1.8.7-6.fc14
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-04-08 10:29:21 UTC
Type: ---
Embargoed:
ovasik: fedora-review+


Attachments (Terms of Use)

Description Nobody's working on this, feel free to take it 2007-01-31 19:01:29 UTC
Fedora Merge Review: guile

http://cvs.fedora.redhat.com/viewcvs/devel/guile/
Initial Owner: mlichvar

Comment 1 Ondrej Vasik 2010-03-09 15:19:17 UTC
Legend: + = PASSED, - = FAILED, 0 = Not Applicable

- MUST: rpmlint must be run on every package. The output should be posted in
the review

[Reset@localhost devel]$ rpmlint guile.spec guile*.rpm i386/guile-*.rpm
guile.src: W: spelling-error Summary(en_US) extensibility -> sensibility, reprehensibility, comprehensibility
guile.src: W: spelling-error %description -l en_US GNU's -> G Nu's, Gnu's, GNP's
guile.src: W: spelling-error %description -l en_US extensibility -> sensibility, reprehensibility, comprehensibility
guile-devel.i386: W: spelling-error Summary(en_US) extensibility -> sensibility, reprehensibility, comprehensibility
guile-devel.i386: W: spelling-error %description -l en_US extensibility -> sensibility, reprehensibility, comprehensibility
guile-devel.i386: W: no-documentation
guile.i386: W: spelling-error Summary(en_US) extensibility -> sensibility, reprehensibility, comprehensibility
guile.i386: W: spelling-error %description -l en_US GNU's -> G Nu's, Gnu's, GNP's
guile.i386: W: spelling-error %description -l en_US extensibility -> sensibility, reprehensibility, comprehensibility
guile.i386: W: devel-file-in-non-devel-package /usr/lib/libguile-srfi-srfi-13-14-v-3.so
guile.i386: W: devel-file-in-non-devel-package /usr/lib/libguile-srfi-srfi-60-v-2.so
guile.i386: W: devel-file-in-non-devel-package /usr/lib/libguile-srfi-srfi-4-v-3.so
guile.i386: W: devel-file-in-non-devel-package /usr/lib/libguilereadline-v-17.so
guile.i386: W: dangling-relative-symlink /usr/share/guile/1.8/slib ../../slib
guile.i386: W: devel-file-in-non-devel-package /usr/lib/libguile-srfi-srfi-1-v-3.so
guile.i386: W: dangerous-command-in-%trigger rm
guile.i386: W: dangerous-command-in-%trigger rm
4 packages and 1 specfiles checked; 0 errors, 17 warnings.
[Reset@localhost devel]$ rpmlint --version
rpmlint version 0.94 Copyright (C) 1999-2007 Frederic Lepied, Mandriva

Spelling errors are ok, .so files should go to devel, main package should contain just the versioned libs. 
Dangling symlink - /usr/share/guile/1.8/slib points to /usr/share/slib - which is not owned by guile and doesn't exist if slib package doesn't exist. This symlink is ghosted and triggers do create it, so it probably could be removed.


+ MUST: package named according to the Package Naming Guidelines
+ MUST: The spec file name must match the base package %{name}
+ MUST: The package must meet the Packaging Guidelines .
+ MUST: The package licensed with a Fedora approved license and meets the
Licensing Guidelines
+ MUST: The License field in the package spec file matches the actual
license

Info documentation is licensed under OFSFDL (see https://fedoraproject.org/wiki/Licensing/OldFSFDocLicense ) , install-sh scripts (. , ./build-aux/ ./guile-readline/install-sh) have BSD like license (probably MIT).

+ MUST: 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 must be included in %doc.

Included

+ MUST: The spec file must be written in American English.
+ MUST: The spec file for the package MUST be legible.
+ MUST: The sources used to build the package must match the upstream
source, as provided in the spec URL. Reviewers should use md5sum for this task

$wget ftp://ftp.gnu.org/pub/gnu/guile/guile-1.8.7.tar.gz 
--2010-03-09 16:07:33--  ftp://ftp.gnu.org/pub/gnu/guile/guile-1.8.7.tar.gz
           => „guile-1.8.7.tar.gz.1“
Překládám ftp.gnu.org… 140.186.70.20
Navazuje se spojení s ftp.gnu.org|140.186.70.20|:21… spojeno.
Probíhá přihlašování jako anonymous… Přihlášeno!
==> SYST ... hotovo.  ==> PWD ... hotovo.
==> TYPE I ... hotovo.==> CWD (1) /pub/gnu/guile ... hotovo.
==> SIZE guile-1.8.7.tar.gz ... 4026804
==> PASV ... hotovo.  ==> RETR guile-1.8.7.tar.gz ... hotovo.
Délka: 4026804 (3,8M) (není směrodatné)

100%[======================================>] 4 026 804    350K/s   za 13s     

2010-03-09 16:07:48 (296 KB/s) – „guile-1.8.7.tar.gz.1“ uložen [4026804]

[Reset@localhost devel]$ md5sum guile-1.8.7.tar.gz*
991b5b3efcbbc3f7507d05bc42f80a5e  guile-1.8.7.tar.gz
991b5b3efcbbc3f7507d05bc42f80a5e  guile-1.8.7.tar.gz.1
= MATCHES
+ MUST: The package successfully compiles and builds into binary rpms on at
least one primary architecture
 - tested on i686, no problems
0 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
+ MUST: All build dependencies must be listed in BuildRequires, except for any
that are listed in the exceptions section of the Packaging Guidelines
0 MUST: The spec file handles locales properly. This is done by using the
%find_lang macro
+ 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.
0 MUST: Packages must NOT bundle copies of system libraries
0 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. Without this, use of Prefix: /usr is
considered a blocker
+ MUST: Package must own all directories that it creates. If it does not create
a directory that it uses, then it should require a package which does create
that directory
+ MUST: Package must not list a file more than once in the spec file's %files
listings
+ MUST: Permissions on files must be set properly. Every %files section must
include a %defattr(...) line.
+ MUST: Each package must have a %clean section, which contains rm -rf
%{buildroot} (or $RPM_BUILD_ROOT).
+ MUST: Each package must consistently use macros
+ MUST: The package must contain code, or permissable content
0 MUST: Large documentation files must go in a -doc subpackage
+ MUST: If a package includes something as %doc, it must not affect the runtime
of the application
+ MUST: Header files must be in a -devel package
0 MUST: Static libraries must be in a -static package
+ MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'
- 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

Please fix that...

+ MUST: devel packages must require the base package using a fully versioned
dependency: Requires: %{name} = %{version}-%{release}
+ MUST: Packages must NOT contain any .la libtool archives, these must be
removed in the spec if they are built
0 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
+ MUST: Packages must not own files or directories already owned by other
packages
+ MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}
(or $RPM_BUILD_ROOT)
+ MUST: All filenames in rpm packages must be valid UTF-8

MUST:
1) .so files without suffix must go in devel subpackage
2) check licensing
SHOULD:
3) dangling symlink ...  as the directory %{_datadir}/guile/%{mver}/slib is ghosted and trigger in on slib is used, maybe is that dangling symlink in %install section redundant now and rpmlint could be silenced

Comment 2 Miroslav Lichvar 2010-03-09 16:39:35 UTC
Thanks for the review.

I'll fix the License tag in the next commit.

The .so files are actually modules used by guile, moving them to -devel package would break guile.

The ghosts for slibcat and slib symlink were used to ensure that the files will be correctly removed when guile is upgraded to another major version (the location will change). They are created only when slib is installed, so it should always point to an existing directory.

Comment 3 Ondrej Vasik 2010-03-09 16:55:41 UTC
Ok, fine, thanks for explanation ...

Comment 4 Miroslav Lichvar 2010-04-08 10:22:44 UTC
License tag should be fixed in guile-1.8.7-6.fc14.

Comment 5 Ondrej Vasik 2010-04-08 10:29:21 UTC
Ok, worksforme, thanks ... approved. CLosing RAWHIDE.


Note You need to log in before you can comment on or make changes to this bug.