Bug 426452 - gvfs - backends for the gio framework in glib
Summary: gvfs - backends for the gio framework in glib
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Daniel Berrangé
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-12-21 05:53 UTC by Matthias Clasen
Modified: 2008-02-20 13:51 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-02-20 13:51:39 UTC
Type: ---
Embargoed:
berrange: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Matthias Clasen 2007-12-21 05:53:09 UTC
The gvfs package provides backend implementations for the gio
framework in GLib. It includes ftp, sftp, cifs.

Spec: http://people.redhat.com/mclasen/gvfs.spec 
SRPM: http://people.redhat.com/mclasen/gvfs-0.1.0-1.fc9.src.rpm

Comment 1 Ray Strode [halfline] 2007-12-21 15:01:52 UTC
Do those config files need to be marked %config?

also, I think it would follow conventions better if the libs were broken out
into gvfs-libs / -libs-devel , or if the package was named libgvfs .

Comment 2 Matthias Clasen 2007-12-21 16:39:39 UTC
> or if the package was named libgvfs

That would go against the mandate to name the package according to the upstream
name. I have no problem with doing the gvfs-libs split, and only leave the
cmdline tools in the main package, if you think thats a good idea. It would be
another example of the main package requiring the subpackage, not vice versa,
though... 

Comment 3 David Zeuthen 2007-12-21 17:31:00 UTC
(In reply to comment #1)
> Do those config files need to be marked %config?

No, I'd even argue they shouldn't live in /etc.

> also, I think it would follow conventions better if the libs were broken out
> into gvfs-libs / -libs-devel , or if the package was named libgvfs .

It's not a libraries in any real sense; it's extensions to the gio library. And
the way it's implemented is usually through processes or dlopen.


Comment 4 Daniel Berrangé 2007-12-21 17:47:21 UTC
MUST: rpmlint must be run on every package.

  $ rpmlint  /home/berrange/rpm/RPMS/x86_64/gvfs-0.1.0-1.fc9.x86_64.rpm
  gvfs.x86_64: W: non-conffile-in-etc /etc/gvfs/mounts/cdda.mount
  gvfs.x86_64: W: non-conffile-in-etc /etc/gvfs/mounts/sftp.mount
  gvfs.x86_64: W: non-conffile-in-etc /etc/gvfs/mounts/trash.mount
  gvfs.x86_64: W: non-conffile-in-etc /etc/gvfs/mounts/ftp.mount
  gvfs.x86_64: W: non-conffile-in-etc /etc/gvfs/mounts/smb.mount
  gvfs.x86_64: W: non-conffile-in-etc /etc/gvfs/mounts/smb-browse.mount

   Suggest moving these out of /etc since they're not really admin editable

  $ rpmlint  /home/berrange/rpm/RPMS/x86_64/gvfs-devel-0.1.0-1.fc9.x86_64.rpm
  gvfs-devel.x86_64: W: no-documentation

    Not an issue, since upstream source has no docs for devel

 - PASS

MUST: The package must be named according to the Package Naming Guidelines.

 - PASS

MUST: The spec file name must match the base package %{name}

 - PASS

MUST: The package must meet the Packaging Guidelines.

 - PASS

MUST: The package must be licensed with a Fedora approved license and meet the
Licensing Guidelines.

 - PASS

MUST: The License field in the package spec file must match the actual license.

 - PASS

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.

 - PASS

MUST: The spec file must be written in American English.

 - PASS

MUST: The spec file for the package MUST be legible.

 - PASS

MUST: The sources used to build the package must match the upstream source

 - PASS

MUST: The package must successfully compile and build into binary rpms on at
least one supported architecture.

 - PASS  x86_64

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.

 - PASS N/A

MUST: All build dependencies must be listed in BuildRequires

 - PASS

MUST: The spec file MUST handle locales properly

 - PASS

MUST: Every binary RPM package which stores shared library files (not just
symlinks) in any of the dynamic linker's default paths, must call ldconfig in
%post and %postun.

 - PASS

MUST: If the package is designed to be relocatable, the packager must state this
fact in the request for review

 - PASS N/A

MUST: A package must own all directories that it creates.

 - PASS

MUST: A package must not contain any duplicate files in the %files listing.

 - PASS

MUST: Permissions on files must be set properly.

 - PASS

MUST: Each package must have a %clean section

 - PASS

MUST: Each package must consistently use macros

 - FAIL - should use  %{buildroot} since the rest of the spec uses macros

MUST: The package must contain code, or permissable content

 - PASS

MUST: Large documentation files should go in a -doc subpackage

 - PASS N/a

MUST: If a package includes something as %doc, it must not affect the runtime of
the application

 - PASS

MUST: Header files must be in a -devel package.

 - PASS

MUST: Static libraries must be in a -static package.

 - PASS n/a

MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'

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

 - PASS

MUST: In the vast majority of cases, devel packages must require the base
package using a fully versioned dependency

 - PASS

MUST: Packages must NOT contain any .la libtool archives

 - PASS

MUST: Packages containing GUI applications must include a %{name}.desktop file

 - PASS n/a

MUST: Packages must not own files or directories already owned by other packages

 - PASS

MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}

 - PASS

MUST: All filenames in rpm packages must be valid UTF-8.

 - PASS

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.

 - PASS n/a

SHOULD: The description and summary sections in the package spec file should
contain translations for supported Non-English languages, if available.

 - PASS n/a

SHOULD: The reviewer should test that the package builds in mock.

 - PASS (though glib2-devel isn't in today's rawhide yet)

SHOULD: The package should compile and build into binary rpms on all supported
architectures.

 - PASS x86_64 i386

SHOULD: The reviewer should test that the package functions as described.

 - Not tested

SHOULD: If scriptlets are used, those scriptlets must be sane.

 - PASS

SHOULD: Usually, subpackages other than devel should require the base package
using a fully versioned dependency.

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

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

 - PASS n/a


As David suggests, I'd recommend that /etc/gvfs/mounts  files be moved elsewhere
since they do not appear to be intended as end-user/admin editable
configuration. Not blocking for review though, since this is what upstream
sources currently want...

In summary only one change required to pass revew:

  - Fix %install to use %{buildroot} macros instead of $RPM_BUILD_ROOT



Comment 5 Daniel Berrangé 2007-12-21 18:10:23 UTC
Actually having re-reviewed the guidelines, they only require that use of
%{buildroot} vs $RPM_BUILD_ROOT is consistent, which this spec does comply with.
So approving.


Comment 6 Matthias Clasen 2007-12-21 18:24:07 UTC
New Package CVS Request
=======================
Package Name: gvfs 
Short Description: backends for the gio framework in glib
Owners: mclasen, alexl
Branches: 
InitialCC: 
Cvsextras Commits:


Comment 7 Kevin Fenzi 2007-12-21 19:50:36 UTC
cvs done.

Comment 8 Jakub 'Livio' Rusinek 2008-02-20 09:21:51 UTC
Many builds succeeded in Koji.
Shouldn't this be closed?


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