Spec URL: http://yaderv.fedorapeople.org/rpm/gnome-shell-extension-calc/gnome-shell-extension-calc.spec SRPM URL: http://yaderv.fedorapeople.org/rpm/gnome-shell-extension-calc/gnome-shell-extension-calc-0-0.1.git2fca097.fc16.src.rpm Description: Gnome shell extension that allows to make simple math operations in the search overview Note: I used revision control for source https://fedoraproject.org/wiki/Packaging/SourceURL#Using_Revision_Control
I will review this package. Some comments for now: - about these lines: # The source for this package was pulled from upstream's git. Use the # following commands to generate the tarball: # git clone git://github.com/eonpatapon/gnome-shell-extension-calc.git # tar -czvf gnome-shell-extension-calc-2fca097.tar.gz gnome-shell-extension-calc Source0: %{name}-%{git}.tar.gz The command you give here to retrieve the source always gets the latest commit in the Git repository. You'd better give the way to obtain the sources *corresponding to the packaged commit*, as follows: $ git clone git://github.com/eonpatapon/gnome-shell-extension-calc.git $ cd gnome-shell-extension-calc/ $ git archive --format=tar --prefix=%{name}-%{git}/ %{git} | xz > ../%{name}-%{git}.tar.xz (I used xz instead of gzip to have smaller archives). Anyway, all of this is useless since you can retrieve from Github an archive of any commit you want. You can have a look a the gnome-shell-extension-icon-manager spec file as an example: http://pkgs.fedoraproject.org/gitweb/?p=gnome-shell-extension-icon-manager.git;a=blob_plain;f=gnome-shell-extension-icon-manager.spec;hb=f16 - about the license: the header comments in the extension.js file indicate a GPLv3 (or more) license: https://github.com/eonpatapon/gnome-shell-extension-calc/blob/master/extension.js You should update the License tag of your spec file to "GPLv2+". - %clean target and buildroot cleaning are not required anymore, you can remove them from your spec file: http://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag http://fedoraproject.org/wiki/Packaging:Guidelines#.25clean
Sorry for the delay, I was on vacation :) I've updated the spec and srpm following your notes. Spec URL: http://yaderv.fedorapeople.org/rpm/gnome-shell-extension-calc/gnome-shell-extension-calc.spec SRPM URL: http://yaderv.fedorapeople.org/rpm/gnome-shell-extension-calc/gnome-shell-extension-calc-0-0.2.git2fca097.fc16.src.rpm Regards
You can remove the buildroot cleaning in %install, as explained in the link I gave above. You can also drop the %defattr macro, as described here: http://fedoraproject.org/wiki/Packaging:Guidelines#File_Permissions The package is quite good anyway, I will approve it once the issues above fixed :).
buildroot cleaning and defattr macro removed :) Spec: http://yaderv.fedorapeople.org/rpm/gnome-shell-extension-calc/gnome-shell-extension-calc.spec SRPM: http://yaderv.fedorapeople.org/rpm/gnome-shell-extension-calc/gnome-shell-extension-calc-0-0.3.git2fca097.fc16.src.rpm
Here is the review: +:ok, =:needs attention, -:needs fixing MUST Items: [+] MUST: rpmlint must be run on every package. >>2 packages and 0 specfiles checked; 0 errors, 0 warnings. [+] MUST: The package must be 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 must be licensed with a Fedora approved license and meet the Licensing Guidelines. [+] MUST: The License field in the package spec file must match the actual license. [+] 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. [+] 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. >>MD5 sum=a496379de02b7c897796ef20df07cb26 OK [+] MUST: The package must successfully compile and build into binary rpms on at least one supported architecture. [+] 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 [+] MUST: The spec file MUST handle locales properly. This is done by using the %find_lang macro. [+] 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. [+] MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review [+] MUST: A 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: A package must not contain any duplicate files in the %files listing. [+] MUST: Permissions on files must be set properly. Executables should be set with executable permissions, for example. [+] MUST: Each package must consistently use macros, as described in the macros section of Packaging Guidelines. [+] MUST: The package must contain code, or permissible content. This is described in detail in the code vs. content section of Packaging Guidelines. [+] MUST: Large documentation files should 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. [+] MUST: Static libraries must be in a -static package. [+] 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. [+] MUST: In the vast majority of cases, 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 should be removed in the spec. [+] 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: All filenames in rpm packages must be valid UTF-8. APPROVED!
Thank you Mohamed New Package SCM Request ======================= Package Name: gnome-shell-extension-calc Short Description: A simple calculator in the search overview Owners: yaderv Branches: f16 f17
Git done (by process-git-requests). Not branched yet, f17==devel currently.
gnome-shell-extension-calc-0-0.3.git2fca097.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/gnome-shell-extension-calc-0-0.3.git2fca097.fc16
gnome-shell-extension-calc-0-0.3.git2fca097.fc16 has been pushed to the Fedora 16 testing repository.
gnome-shell-extension-calc-0-0.3.git2fca097.fc16 has been pushed to the Fedora 16 stable repository.