Bug 1010557 - Review Request: numix-themes - Numix themes for Gnome, Xfce and Openbox
Summary: Review Request: numix-themes - Numix themes for Gnome, Xfce and Openbox
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: FE-DEADREVIEW
TreeView+ depends on / blocked
 
Reported: 2013-09-21 12:18 UTC by Satyajit Sahoo
Modified: 2016-02-08 13:57 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-02-08 13:57:09 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Satyajit Sahoo 2013-09-21 12:18:48 UTC
Spec URL: http://satya164.fedorapeople.org/numix-gtk-theme/numix-gtk-theme.spec
SRPM URL: http://satya164.fedorapeople.org/numix-gtk-theme/numix-gtk-theme-2.0-1.fc20.src.rpm
Description: Numix is a modern flat theme with a combination of light and dark elements. It supports Gnome, Unity, XFCE and Openbox.
Fedora Account System Username: satya164

Comment 1 Satyajit Sahoo 2013-09-21 12:26:26 UTC
Hi. It would be great if the theme can get into the Fedora repos. The theme supports GTK 3.10 and Client Side Decorations, and hence compatible with Fedora 20.

Comment 2 Satyajit Sahoo 2013-09-21 12:31:19 UTC
Oh. I forgot to mention, this is my first package and I need a sponser.

Comment 3 Björn 'besser82' Esser 2013-09-21 13:13:54 UTC
Package has some issues.  :(

#####

Package Review
==============

Legend:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated


===== MUST items =====

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. No licenses
     found. Please check the source files for licenses manually.

     ---> there's no LICENSE / COPYING in tarball.

[x]: Package contains no bundled libraries without FPC exception.
[!]: Changelog in prescribed format.

     ---> see rpmlint's output below

[x]: Sources contain only permissible code or content.
[!]: Each %files section contains %defattr if rpm < 4.4
     Note: %defattr present but not needed

     ---> this is not even needed for el5.  remove it, please.

[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[!]: Spec file is legible and written in American English.

     ---> there are issues inside spec-file.  see remarks in this report.

[-]: Package contains systemd file(s) if in need.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 40960 bytes in 3 files.
[!]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: 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 is included in %doc.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[!]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.

     ---> ask upstream to include a file describing the actual license.

[x]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[!]: Packages should try to preserve timestamps of original installed files.

     ---> `%{__cp} -r`  should be `%{__cp} -pr` to preserve timestamps, too.

[!]: Spec use %global instead of %define unless justified.
     Note: %define requiring justification: %define theme Numix, %define
     author satya164

     ---> use %global instead of %define.  can't see any use of %{author}
          in spec-file?!?  Why did you define that?

[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Fully versioned dependency in subpackages if applicable.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: numix-gtk-theme-2.0-1.fc21.noarch.rpm
          numix-gtk-theme-2.0-1.fc21.src.rpm
numix-gtk-theme.noarch: E: description-line-too-long C Numix is a modern flat theme with a combination of light and dark elements. It supports Gnome, Unity, XFCE and Openbox.

---> make lines split at a max. of 80 chars.

numix-gtk-theme.noarch: W: no-version-in-last-changelog

---> * Sat Sep 21 2013 Satyajit Sahoo <satya164> - 2.0-1

numix-gtk-theme.noarch: W: invalid-license GPL-3.0+

---> License: GPLv3+

numix-gtk-theme.src: E: description-line-too-long C Numix is a modern flat theme with a combination of light and dark elements. It supports Gnome, Unity, XFCE and Openbox.
numix-gtk-theme.src: W: no-version-in-last-changelog
numix-gtk-theme.src: W: invalid-license GPL-3.0+
2 packages and 0 specfiles checked; 2 errors, 4 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint numix-gtk-theme
numix-gtk-theme.noarch: E: description-line-too-long C Numix is a modern flat theme with a combination of light and dark elements. It supports Gnome, Unity, XFCE and Openbox.
numix-gtk-theme.noarch: W: no-version-in-last-changelog
numix-gtk-theme.noarch: W: invalid-license GPL-3.0+
1 packages and 0 specfiles checked; 1 errors, 2 warnings.
# echo 'rpmlint-done:'



Requires
--------
numix-gtk-theme (rpmlib, GLIBC filtered):
    gtk-murrine-engine



Provides
--------
numix-gtk-theme:
    numix-gtk-theme



Source checksums
----------------
https://github.com/shimmerproject/Numix/archive/v2.0.tar.gz :
  CHECKSUM(SHA256) this package     : 46d178b1a2c08f5ec839f66e73814ed3dfbeb444cff812d8b586526a889df012
  CHECKSUM(SHA256) upstream package : 46d178b1a2c08f5ec839f66e73814ed3dfbeb444cff812d8b586526a889df012


Generated by fedora-review 0.5.0 (920221d) last change: 2013-08-30
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 1010557
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api
Disabled plugins: Java, C/C++, Python, SugarActivity, Perl, R, PHP, Ruby
Disabled flags: EPEL5, EXARCH, DISTTAG

#####

Please fix-up those issues and I'll give it another try.  :)

Comment 4 Christoph Wickert 2013-09-21 13:30:48 UTC
I strongly encourage you to package the different parts (gtk, openbox, gnome,...) of the theme separately. Have at look at the specs of the albatross or bluebird themes for some inspiration.

Comment 5 Satyajit Sahoo 2013-09-21 14:49:47 UTC
I've fixed the issues you mentioned.

[!]: License field in the package spec file matches the actual license.

     ---> Changed license to GPLv3+.

[!]: Changelog in prescribed format.

     ---> Added version.

[!]: Each %files section contains %defattr if rpm < 4.4

     ---> Removed %defattr.

[!]: Spec file is legible and written in American English.

     ---> Sorry, no clue.

[!]: Package complies to the Packaging Guidelines

     ---> Probably it should now.

[!]: Packages should try to preserve timestamps of original installed files.

     ---> Used `%{__cp} -pr` instead of `%{__cp} -r`.

[!]: Spec use %global instead of %define unless justified.

     ---> Used %global instead of %define.  Removed %{author}.

I've also splitted the package. But I still don't understand why I should split the package. One who installs the GTK theme is expected to have both the GTK2 and GTK3 themes, coz new apps are mostly GTK3. And he would also need the metacity themes, even if he uses Xfwm4, in case he uses compiz.

Comment 6 Christopher Meng 2013-09-21 14:51:00 UTC
I've packaged it for a long time, CCing.

Comment 8 Satyajit Sahoo 2013-09-21 14:53:27 UTC
(In reply to Christopher Meng from comment #6)
> I've packaged it for a long time, CCing.

I couldn't find a package! Link?

Comment 9 Christopher Meng 2013-09-21 14:56:16 UTC
(In reply to Satyajit Sahoo from comment #8)
> (In reply to Christopher Meng from comment #6)
> > I've packaged it for a long time, CCing.
> 
> I couldn't find a package! Link?

I've packaged it in my private repo for a long time since I first used it on Archlinux, I planned to package it for Fedora, but now you submitted it. So please go ahead ;)

Comment 10 Satyajit Sahoo 2013-09-21 15:01:16 UTC
(In reply to Christopher Meng from comment #9)
> (In reply to Satyajit Sahoo from comment #8)
> > (In reply to Christopher Meng from comment #6)
> > > I've packaged it for a long time, CCing.
> > 
> > I couldn't find a package! Link?
> 
> I've packaged it in my private repo for a long time since I first used it on
> Archlinux, I planned to package it for Fedora, but now you submitted it. So
> please go ahead ;)

Thanks :D

Comment 12 Christopher Meng 2014-01-09 04:16:10 UTC
Please find a sponsor, otherwise you may never be able to package anything to Fedora...(Not taunt)

1. Remove Group tag as it's not used by Fedora as MUST.

2. You'd better use http://numixproject.org/ as URL of the RPM but not a URL shortten service shortlink.

3. %install
%{__install} -d -m755 %{buildroot}%{_datadir}/themes/%{theme}
for file in gtk-2.0 gtk-3.0 metacity-1 openbox-3 unity xfce-notify-4.0 xfwm4 index.theme; do
	%{__cp} -a ${file} %{buildroot}%{_datadir}/themes/%{theme}
done

 - 1. First, %{__install} --> install

 - 2. Second,

for file in gtk-2.0 gtk-3.0 metacity-1 openbox-3 unity xfce-notify-4.0 xfwm4 index.theme; do
	%{__cp} -a ${file} %{buildroot}%{_datadir}/themes/%{theme}
done

Please use install command to copy them via install -pm644.

4. This package should be renamed to numix-themes, thus the dependencies looks agreeable:

Requires:	numix-common
Requires:	numix-gtk2-theme
Requires:	numix-gtk3-theme
Requires:	numix-metacity-theme
Requires:	numix-openbox-theme
Requires:	numix-xfce-notify-theme
Requires:	numix-xfwm4-theme

I first thought this package was this one:

https://github.com/numixproject/numix-icon-theme

But then I found I was wrong... So be careful on choosing names.

Comment 13 Satyajit Sahoo 2014-01-09 13:50:04 UTC
Hi. I don't know how to find a sponsor. It'll be great if someone can find me one.

1. Remove Group tag as it's not used by Fedora as MUST.

---> Done.

2. You'd better use http://numixproject.org/ as URL of the RPM but not a URL shortten service shortlink.

---> The short-link was not a URL shorten service, rather than the deviantArt page, anyways I changed it to http://numixproject.org

3. %install

 - 1. First, %{__install} --> install

 ---> Done.

 - 2. Second,

      Please use install command to copy them via install -pm644.

 ---> Sorry, but the install command cannot install directories and only files. So I cannot use it here.

4. This package should be renamed to numix-themes, thus the dependencies looks agreeable:

---> Done.

I first thought this package was this one:

https://github.com/numixproject/numix-icon-theme

---> The package name numix-gtk-theme doesn't certainly refer to numix-icon-theme, but I changed it to numix-themes anyways.

Here are the new links,

http://satya164.fedorapeople.org/numix-themes/numix-themes.spec
http://satya164.fedorapeople.org/numix-themes/numix-themes-2.1-1.fc20.src.rpm

Comment 14 Suchakra 2014-01-10 03:12:54 UTC
1. Add a new changelog entry for each revision - even during review. Bump the release too.

2. This blocks FE-NEEDSPONSOR so your potential future sponsor has to do a formal review

3. Try to run rpmlint on the spec once. Some minor errors like the following can escape your eye: 

numix-themes.spec: E: specfile-error warning: bogus date in %changelog: Thu Jan 9 2013 Satyajit Sahoo <satya164> - 2.1-1

4. Also, it would be beneficial if you can test builds in mock or koji. (I already checked using mock, it works for now)

Comment 15 Christopher Meng 2014-01-10 03:35:31 UTC
Please also read this link:

https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group

Note that ypu should find a sponsor actively, not sponsors find you.

I will remove myself from this bug as I can't sponsor you. Anyway, hope you can be sponsored soon.

Comment 16 Mukundan Ragavan 2014-01-25 18:48:57 UTC
This is an unofficial review. Hopefully, you will find a sponsor soon who can do a formal review.

One question I have about the spec file is - 

* If they are separate packages without depending on each other in this case, why is there a requires?

Requires: numix-openbox-theme
Requires: numix-xfwm4-theme

Shouldn't all these packages only require numix-common since that is package containing common files for the theme?

Comment 17 Satyajit Sahoo 2014-01-27 12:36:30 UTC
(In reply to Mukundan Ragavan from comment #16)
> This is an unofficial review. Hopefully, you will find a sponsor soon who
> can do a formal review.
> 
> One question I have about the spec file is - 
> 
> * If they are separate packages without depending on each other in this
> case, why is there a requires?
> 
> Requires: numix-openbox-theme
> Requires: numix-xfwm4-theme
> 
> Shouldn't all these packages only require numix-common since that is package
> containing common files for the theme?

When a user installs the numix-themes package, he expects to have all the themes installed. A GTK3 theme is incomplete without a matching GTK2 theme, a GTK theme in incomplete without a matching WM theme (metacity, xfwm or openbox) etc. Hence the "Requires".

Comment 18 Kevin Fenzi 2014-02-22 16:03:52 UTC
I'll try and take a look at this soon and see about sponsoring you...

Comment 19 Satyajit Sahoo 2014-02-23 07:14:03 UTC
Thanks @kevin

I'll be making a new release soon. BTW after packaging, will it be available for Fedora 20? Or just 21?

Comment 20 Christopher Meng 2014-02-23 08:44:32 UTC
(In reply to Satyajit Sahoo from comment #19)
> Thanks @kevin
> 
> I'll be making a new release soon. BTW after packaging, will it be available
> for Fedora 20? Or just 21?

It's your choice to choose which branch you'd like to push this package, you can even push to f19,epel6,epel7 if you want, see:

https://fedoraproject.org/wiki/Package_SCM_admin_requests

Comment 21 Kevin Fenzi 2014-02-23 17:53:56 UTC
So, a few comments before a formal review: 

(In reply to Satyajit Sahoo from comment #17)
> (In reply to Mukundan Ragavan from comment #16)
> > This is an unofficial review. Hopefully, you will find a sponsor soon who
> > can do a formal review.
> > 
> > One question I have about the spec file is - 
> > 
> > * If they are separate packages without depending on each other in this
> > case, why is there a requires?
> > 
> > Requires: numix-openbox-theme
> > Requires: numix-xfwm4-theme
> > 
> > Shouldn't all these packages only require numix-common since that is package
> > containing common files for the theme?
> 
> When a user installs the numix-themes package, he expects to have all the
> themes installed. A GTK3 theme is incomplete without a matching GTK2 theme,
> a GTK theme in incomplete without a matching WM theme (metacity, xfwm or
> openbox) etc. Hence the "Requires".

There is no numix-themes package. ;) You aren't defining files for it, so it doesn't get produced by rpm. So, your Requires are all not used. ;( 

Since the common one has the license files and docs, the others really should require it. 
So, perhaps drop numix-common and just put that in a base numix-themes package?

Are you planning on submitting any other packages?

Comment 22 Satyajit Sahoo 2014-02-23 19:37:05 UTC
@kevin Oh! I am really not an expert in packaging :)

I'll be making a new release for Numix tomorrow. So I'll fix the issue and submit a new src.rpm.

I want to submit Elegance Colors (a Gnome Shell theme making app), but haven't created any bug report yet.

Thanks.

Comment 23 Christopher Meng 2014-03-31 10:05:22 UTC
2.2.2 is available.

Comment 24 Miroslav Suchý 2015-07-21 14:54:10 UTC
Ping? Any progress here?

Comment 25 Miroslav Suchý 2016-02-08 13:57:09 UTC
No response. Closing as dead review. If you ever want to continue, please resubmit.


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