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
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 .
> 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...
(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.
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
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.
New Package CVS Request ======================= Package Name: gvfs Short Description: backends for the gio framework in glib Owners: mclasen, alexl Branches: InitialCC: Cvsextras Commits:
cvs done.
Many builds succeeded in Koji. Shouldn't this be closed?