Bug 578480 - Review Request: spectrum - XMPP transport/gateway
Summary: Review Request: spectrum - XMPP transport/gateway
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Michal Schmidt
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 578484 582403
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-03-31 13:04 UTC by Matěj Cepl
Modified: 2018-04-11 08:24 UTC (History)
4 users (show)

Fixed In Version: spectrum-1.4.1-1.el5
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-06-22 17:18:46 UTC
mschmidt: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)
fix permissions/ownership (1.04 KB, patch)
2010-06-11 19:36 UTC, Michal Schmidt
no flags Details | Diff

Description Matěj Cepl 2010-03-31 13:04:46 UTC
Spec URL: http://mcepl.fedorapeople.org/rpms/spectrum.spec
SRPM URL: http://mcepl.fedorapeople.org/rpms/spectrum-0.1-2.el6.src.rpm
Description:
Spectrum it allows XMPP users to communicate with their friends who are using one
of the supported networks. Spectrum is written in C++ and uses the Gloox XMPP
library and libpurple for legacy networks.

Comment 1 Michal Schmidt 2010-03-31 13:22:39 UTC
Quickly spotted issues for now:

rpmbuild should have no problem finding most (maybe all) of the Requires you have explicitly declared.

%{_datadir}/spectrum/ directory must be owned.

Should add the necessary Requires for scriptlets (they use chkconfig and service).

"%config(noreplace) /etc/init.d/spectrum" - initscripts are not supposed to be config files.

Comment 2 Matěj Cepl 2010-03-31 14:49:48 UTC
New version built in koji
http://koji.fedoraproject.org/koji/taskinfo?taskID=2087151
get src.rpm from there.

Comment 3 Michal Schmidt 2010-03-31 16:09:46 UTC
Please use cmake in a more standardised way: https://fedoraproject.org/wiki/Packaging/cmake

I suggest a nicer description. For instance I had this in my own WIP spectrum package, use it if you like it:

%description
Spectrum is an XMPP transport/gateway. It allows XMPP users to communicate with
their friends who are using one of the supported networks. Spectrum is written
in C++ and uses the Gloox XMPP library and libpurple for “legacy networks”.
Spectrum supports a wide range of different networks such as ICQ, XMPP (Jabber,
GTalk), AIM, MSN, Facebook, Twitter, Gadu-Gadu, IRC and SIMPLE.

"GPLv2+" seems correct for the package, except for spectrumctl/ whose header declares GPLv3+.

The initscript's path is wrong. See https://fedoraproject.org/wiki/Packaging/SysVInitScript#Initscripts_on_the_filesystem

Comment 4 Michal Schmidt 2010-03-31 16:19:36 UTC
"%{_tmppath}/%{name}-root" is not an acceptable BuildRoot:
https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag

Comment 5 Michal Schmidt 2010-03-31 16:23:06 UTC
You have:
%defattr(-,root,root)
Current guidelines recommend:
%defattr(-,root,root,-)

Comment 6 Matěj Cepl 2010-05-19 07:30:09 UTC
We have progress, 0.2 with some patches now builds on EPEL-5
http://koji.fedoraproject.org/koji/taskinfo?taskID=2196133 (we need ExcludeArch: ppc though)

Also upgraded to 0.2 and fixed some nits.

However, rpmlint is very unhappy about us (omitting some spelling nonsenses):

johanka:build$ rpmlint  -i RPMS/x86_64/spectrum-*
spectrum.x86_64: E: non-readable /etc/spectrum/spectrum.cfg 0640L
The file can't be read by everybody. If this is expected (for security
reasons), contact your rpmlint distributor to get it added to the list of
exceptions for your distro (or add it to your local configuration if you
installed rpmlint from the source tarball).

spectrum.x86_64: W: missing-lsb-keyword Default-Stop in /etc/rc.d/init.d/spectrum
The package contains an init script that does not contain one of the LSB init
script comment block convention keywords that are recommendable for all init
scripts.  If there is nothing to add to a keyword's value, include the keyword
in the script with an empty value.  Note that as of version 3.2, the LSB
specification does not mandate presence of any keywords.

spectrum.x86_64: E: subsys-not-used /etc/rc.d/init.d/spectrum
While your daemon is running, you have to put a lock file in
/var/lock/subsys/. To see an example, look at this directory on your machine
and examine the corresponding init scripts.

2 packages and 0 specfiles checked; 2 errors, 6 warnings.
johanka:build$ 

------------------------------------------

The first one is probably harmless, but I am not sure about the remaining ones. I was looking at your init.d script and wasn't sure how is it supposed to work .... should it be possible to run spectrum multiple times?

Comment 7 Matěj Cepl 2010-05-19 07:40:48 UTC
Rawhide is build http://koji.fedoraproject.org/koji/taskinfo?taskID=2196251

Comment 8 Matěj Cepl 2010-05-24 21:48:49 UTC
One more problem (but that's probably for upstream):

[root@luther ~]# rpm -qRp /home/matej/spectrum-0.2-2.el5.i386.rpm |grep gettext
libgettextpo.so.0  
[matej@tikanga build]$ rpm -qf /usr/lib/libgettextpo.so.0
gettext-devel-0.14.6-4.el5
[matej@tikanga build]$ 

Why do I need gettext-devel (with all its numerous dependencies) for spectrum?

Comment 9 Matěj Cepl 2010-05-24 22:27:17 UTC
I guess it casues installation of at least:

X cairo           i386 1.2.4-5.el5      rhel-i386-server-5                 394 k
X cups-libs       i386 1:1.3.7-18.el5   rhel-i386-server-5                 197 k
X cvs             i386 1.11.22-7.el5    rhel-i386-server-5                 725 k
X gettext-devel   i386 0.14.6-4.el5     rhel-i386-server-5                 1.0 M
X gtk2            i386 2.10.4-20.el5    rhel-i386-server-5                 6.5 M
X libgcj          i386 4.1.2-48.el5     rhel-i386-server-5                  16 M
X pango           i386 1.14.9-8.el5     rhel-i386-server-5                 335 k

25MB of packages.

Comment 10 Matěj Cepl 2010-05-24 22:28:23 UTC
Revised RHEL-5 build (no, I haven't bumped Release, sorry) http://koji.fedoraproject.org/koji/taskinfo?taskID=2207035

Comment 11 Matěj Cepl 2010-05-24 22:46:40 UTC
Don't we need a special user "spectrum"? Any group?

Comment 12 Matěj Cepl 2010-05-24 22:48:55 UTC
Should also emphasize somewhere (%description? README.Fedora?) that users of RHEL-5 needs to have enabled RHEL Optional Productivity Apps channel.

Comment 13 Michal Schmidt 2010-05-25 10:00:36 UTC
(In reply to comment #8)
> One more problem (but that's probably for upstream):
> 
> [root@luther ~]# rpm -qRp /home/matej/spectrum-0.2-2.el5.i386.rpm |grep gettext
> libgettextpo.so.0  
> [matej@tikanga build]$ rpm -qf /usr/lib/libgettextpo.so.0
> gettext-devel-0.14.6-4.el5
> [matej@tikanga build]$ 
> 
> Why do I need gettext-devel (with all its numerous dependencies) for spectrum?    

libgettextpo.so.0 was moved from gettext-devel to gettext-libs around the time of Fedora 8, so you're only seeing this on RHEL-5.
I don't know if spectrum has a good reason to link to the gettextpo library or not.

Comment 14 Michal Schmidt 2010-05-25 10:02:03 UTC
(In reply to comment #11)
> Don't we need a special user "spectrum"? Any group?    

Yes. The daemon should run under a dedicated uid and gid.

Comment 15 Matěj Cepl 2010-05-25 13:15:32 UTC
Issues in comment 11, comment 12 and many other small issues were provided into new release. All stuff is available in

Rawhide: http://koji.fedoraproject.org/koji/taskinfo?taskID=2208579
EPEL-5:  http://koji.fedoraproject.org/koji/taskinfo?taskID=2208598

Comment 16 Matěj Cepl 2010-05-25 15:04:12 UTC
Moved /usr/bin/spectrum to /usr/sbin
RHEL-5 build http://koji.fedoraproject.org/koji/taskinfo?taskID=2208775

Comment 17 Matěj Cepl 2010-05-25 16:14:33 UTC
Upstream kindly provided patch to remove libgettextpo dependency

RHEL-5 http://koji.fedoraproject.org/koji/taskinfo?taskID=2208854

Comment 18 Michal Schmidt 2010-05-31 14:06:20 UTC
(In reply to comment #17)
> RHEL-5 http://koji.fedoraproject.org/koji/taskinfo?taskID=2208854    

In the spec file:
> %{!?_initddir: %define _initddir %{_initrddir}}

I see you're firmly set on having the spec file compatible with RHEL-5 by using a lot of conditionals, thus making the spec slightly more ugly than necessary in the F-* branches, and at the same time you want to use the clean modern name "_initddir" which in the end only makes you use more tricks like that. If you want to be compatible, just stick with the old "_initrddir" - it's still used in many Fedora spec files

> License: GPLv2+ and GPLv3+

This would benefit from a comment describing which parts are under which licence.

> Patch0: spectrum-without-gettext.patch
> Patch1: spectrum-0.2-cmake.patch

All patches should have a comment (in the spec or in the patch files themselves) describing their purpose and upstream status.

> %if 0%{?rhel} <= 5
> ExcludeArch: ppc
> %endif

First of all: Why is ppc excluded? Is it a workaround for a bug or an inherent incompatibility of the software with the arch?
And second: The condition will be true on any Fedora. Though ppc is not a primary arch in Fedora anymore, secondary arch efforts should be still possible.

> %if 0%{?rhel} <= 5 && 0%{?fedora} < 7
> Users of RHEL-5 Server need to have RHEL Optional Productivity Apps channel
> switched on in order to get libpurple.
> %endif

The text is very specific to RHEL-5. Wouldn't then "%if 0{?el5}" do what you want to achieve?
The same condition is used a few lines later again.

> cat <<EOS >spectrum-logrotate
> /var/log/spectrum/*.log {
>     rotate 5
>     size 1M
>     missingok
>     notifempty
> }
> EOS

I usually prefer adding such files as another Source. Whatever.

> # To work around these issues in 'make install':
> # - spectrum.cfg contains secret and should not be world readable...
> # - it wont install $DESTDIR/etc/spectrum/spectrum.cfg if /etc/spectrum/spectrum.cfg exists. (would not be included in rpm)
> # - installs spectrumctl withoud read permissions, so it cannot be copied to rpm.

Are these problems known to upstream?
BTW, "withoud" is a typo.

> %config(noreplace) %{_sysconfdir}/spectrum/spectrum.cfg
> %config(noreplace) %{_sysconfdir}/logrotate.d/spectrum

You should own the /etc/spectrum directory.
You should Require logrotate because you do not own /etc/logrotate.d (and should not own it).

Comment 19 Matěj Cepl 2010-06-04 21:27:36 UTC
New build
http://koji.fedoraproject.org/koji/taskinfo?taskID=2230788

(In reply to comment #18)
> I see you're firmly set on having the spec file compatible with RHEL-5

Yes, because spectrum is a server application and I still hold that sane people use RHEL/CentOS for servers (me included, and of course, I do that package for myself in the first place ;)).

> If you
> want to be compatible, just stick with the old "_initrddir" - it's still used
> in many Fedora spec files

yes, but it is deprecated and it will be gone soon

> > License: GPLv2+ and GPLv3+
> 
> This would benefit from a comment describing which parts are under which
> licence.

fixed

> > Patch0: spectrum-without-gettext.patch
> > Patch1: spectrum-0.2-cmake.patch
> 
> All patches should have a comment (in the spec or in the patch files
> themselves) describing their purpose and upstream status.
> 
> > %if 0%{?rhel} <= 5
> > ExcludeArch: ppc
> > %endif

It's now

    %if 0%{?rhel} <= 5 && 0%{?fedora} < 7

everywhere

> First of all: Why is ppc excluded? Is it a workaround for a bug or an inherent
> incompatibility of the software with the arch?

The problem is with RHEL-5/PPC missing many packages available elsewhere (there is no RHEL-5/PPC-Desktop and for example libpurple is a desktop package in RHEL
understanding of the world); besides, group of people longing to run spectrum on some IBM PowerPC is so small, that I don't want to bother.

> > cat <<EOS >spectrum-logrotate
> > /var/log/spectrum/*.log {
> >     rotate 5
> >     size 1M
> >     missingok
> >     notifempty
> > }
> > EOS
> 
> I usually prefer adding such files as another Source. Whatever.

That's just a matter of preference, I like to edit as few files as possible.

> Are these problems known to upstream?

Yes, and partially fixed in git.

> > %config(noreplace) %{_sysconfdir}/spectrum/spectrum.cfg
> > %config(noreplace) %{_sysconfdir}/logrotate.d/spectrum
> 
> You should own the /etc/spectrum directory.
> You should Require logrotate because you do not own /etc/logrotate.d (and
> should not own it).    

Fixed.

Comment 20 Michal Schmidt 2010-06-07 17:06:28 UTC
(In reply to comment #19)
> (In reply to comment #18)
> > I see you're firmly set on having the spec file compatible with RHEL-5
> 
> Yes, because spectrum is a server application and I still hold that sane people
> use RHEL/CentOS for servers (me included, and of course, I do that package for
> myself in the first place ;)).

My point was that sprinkling the spec file with weird conditionals is not the only way to have the package working in RHEL-5. Sometimes it makes sense to have different but clean spec files in the branches. Both approaches are acceptable in general.

> > If you
> > want to be compatible, just stick with the old "_initrddir" - it's still used
> > in many Fedora spec files
> 
> yes, but it is deprecated and it will be gone soon

Will it? Even in today's devel/ in Fedora CVS the old form is still 6 times more common than the new one (931 vs. 147 occurrences). I am not aware of a plan to remove the old one from the RPM macros any time soon.

> It's now
> 
>     %if 0%{?rhel} <= 5 && 0%{?fedora} < 7
> 
> everywhere

This would be more idiomatic (it's found in a few Fedora spec files):
   %if 0%{?rhel} && 0%{?rhel} <= 5
Its slight advantage is that it does not convey a false hint that it could do something useful on FC6.

Do you intend to support EL-4 too? If not, then it's pretty much equivalent to:
   %if 0%{?el5}

> The problem is with RHEL-5/PPC missing many packages available elsewhere (there
> is no RHEL-5/PPC-Desktop and for example libpurple is a desktop package in RHEL
> understanding of the world); besides, group of people longing to run spectrum
> on some IBM PowerPC is so small, that I don't want to bother.

Fair enough. But I wonder if this part of the Guidelines applies then:
http://fedoraproject.org/wiki/Packaging/Guidelines#Architecture_Build_Failures


Now a few comments about your latest spec:
> Version: 0.3
> Release: 0.git20100526.1%{?dist}

I see this is a pre-release snapshot. Let's compare the Release to the example in the Guidelines: "kismet-0-0.1.20040110svn"
This suggests that you should rather use:
  Release: 0.1.git20100526%{?dist}
or even:
  Release: 0.1.20100526git%{?dist}

> [...]
> Source0: %{name}.tar.bz2

A comment is needed to describe how to recreate the tarball from git.

> %build
> cmake -DCMAKE_INSTALL_PREFIX=%{_prefix}  -DCMAKE_BUILD_TYPE=debug .
> make

I know next to nothing about using cmake, but there are some cmake guidelines (http://fedoraproject.org/wiki/Packaging/cmake) and they recommend something else:
  %build
  %cmake .
  make VERBOSE=1 %{?_smp_mflags}
Please either use the recommended form, or add a comment explaining why you use something else.

Comment 21 Matěj Cepl 2010-06-07 22:14:05 UTC
BTW, builds without problems with Rawhide http://koji.fedoraproject.org/koji/taskinfo?taskID=2236704

Comment 22 Matěj Cepl 2010-06-07 22:32:32 UTC
(In reply to comment #20)
> My point was that sprinkling the spec file with weird conditionals is not the
> only way to have the package working in RHEL-5. Sometimes it makes sense to
> have different but clean spec files in the branches. Both approaches are
> acceptable in general.

I think so, I don't see any obvious packaging error in my approach. Agree?

> Do you intend to support EL-4 too? If not, then it's pretty much equivalent to:
>    %if 0%{?el5}

Except that didn't work for me on RHEL-5. And no, I have zero interest in EL-4

> Fair enough. But I wonder if this part of the Guidelines applies then:
> http://fedoraproject.org/wiki/Packaging/Guidelines#Architecture_Build_Failures

Yes, except I have hard time to find the good failed build. It doesn't build for me on F-12 (https://koji.fedoraproject.org/koji/taskinfo?taskID=2236823), and there are too many missing packages on RHEL-5/PPC.

> I see this is a pre-release snapshot. Let's compare the Release to the example
> in the Guidelines: "kismet-0-0.1.20040110svn"
> This suggests that you should rather use:
>   Release: 0.1.git20100526%{?dist}

fixed

> A comment is needed to describe how to recreate the tarball from git.

fixed

> > %build
> > cmake -DCMAKE_INSTALL_PREFIX=%{_prefix}  -DCMAKE_BUILD_TYPE=debug .
> > make
> 
> I know next to nothing about using cmake, but there are some cmake guidelines
> (http://fedoraproject.org/wiki/Packaging/cmake) and they recommend something
> else:
>   %build
>   %cmake .
>   make VERBOSE=1 %{?_smp_mflags}
> Please either use the recommended form, or add a comment explaining why you use
> something else.    

fixed, except that now build fails on my local virtual RHEL-5 machine ... http://fpaste.org/mkwv/ ... will investigate with the upstream.

Comment 24 Michal Schmidt 2010-06-08 08:32:30 UTC
(In reply to comment #22)
> (In reply to comment #20)
> > Both approaches are acceptable in general.
> 
> I think so, I don't see any obvious packaging error in my approach. Agree?

Agreed.

> > Do you intend to support EL-4 too? If not, then it's pretty much equivalent to:
> >    %if 0%{?el5}
> 
> Except that didn't work for me on RHEL-5.

Hm, it works for me. Did you use a plain rpmbuild or mock? Both the "rhel" and "el5" macros are defined in the package "buildsys-macros" which is installed in the buildroot by mock (and thus in Koji too).

> > Fair enough. But I wonder if this part of the Guidelines applies then:
> > http://fedoraproject.org/wiki/Packaging/Guidelines#Architecture_Build_Failures
> 
> Yes, except I have hard time to find the good failed build. It doesn't build
> for me on F-12 (https://koji.fedoraproject.org/koji/taskinfo?taskID=2236823),
> and there are too many missing packages on RHEL-5/PPC.

I don't think you need to look for any builds. In my understanding of the guideline it is sufficient to file a bug describing the reason for using ExcludeArch in your package and making it block a special tracking BZ.

Comment 25 Matěj Cepl 2010-06-08 13:18:15 UTC
> New packages will not have bugzilla entries during the review process, so they should put this description in the comment until the package is approved, then file the bugzilla entry, and replace the long explanation with the bug number.

There are two reasons why this package should have ExcludeArch: PPC for RHEL-5.

The really important one is that there is no RHEL-5/Desktop for PPC so there are many libraries (especially and including libpurple) which are not available for PPC.
The second is that I just cannot imagine somebody running spectrum on high-end IBM PowerPC servers, so there is not much motivation to even investigate possibility of building it on PPC.

Comment 26 Michal Schmidt 2010-06-10 22:16:59 UTC
The build failure "undefined reference to SpectrumRosterManager::hasAuthRequest(...)" is because the method is declared as "inline" in src/rostermanager.h, but its body is only defined in rostermanager.cpp. For inlining to work, the definition would have to be in the header.

In this case I simply recommend to delete the "inline" keyword from the declaration.

Comment 27 Michal Schmidt 2010-06-10 23:11:11 UTC
  # git archive --prefix=spectrum/ HEAD | bzip2 >spectrum.tar.bz2

Someone who would like to repeat your steps to create the tarball will find the identification "HEAD" unhelpful. It's better to identify the commit exactly using its SHA1 name (8 initial digits should be enough). Use "git show" to find out the commit's SHA1.

Comment 28 Michal Schmidt 2010-06-10 23:18:45 UTC
In the %check you build a test program, but you never execute it. Perhaps you'd like to add:
./spectrum_tests

Comment 29 Matěj Cepl 2010-06-11 07:38:13 UTC
All three comments accepted, now builds even with running tests http://koji.fedoraproject.org/koji/taskinfo?taskID=2244174

Thank you very much

Comment 30 Matěj Cepl 2010-06-11 09:33:09 UTC
err, of course this patch should be applied for every build, not only for Rawhide. Fixed in 

http://koji.fedoraproject.org/koji/taskinfo?taskID=2244378

Comment 31 Michal Schmidt 2010-06-11 15:21:10 UTC
You forgot to maintain the %changelog.

rpmlint says:
> spectrum.x86_64: W: spelling-error %description -l en_US libpurple
Ignore.

> spectrum.x86_64: W: incoherent-version-in-changelog 0.3-0.git20100526.1
> ['0.3-0.3.git20100526.fc13', '0.3-0.3.git20100526']
Already noted.

> spectrum.x86_64: E: non-standard-executable-perm /usr/bin/spectrumctl 0555L
Should be 0755?

> spectrum.x86_64: E: non-readable /etc/spectrum/spectrum.cfg 0640L
The usual mode for security sensitive configs is 0600.
If it's sensitive and supposed to be readable by "spectrum", then keep it as 0640, but set its GID to "spectrum" (now its owned by root:root).
If it's not sensitive, it should be 0644.

> spectrum.x86_64: W: non-standard-uid /var/lib/spectrum spectrum
> spectrum.x86_64: W: non-standard-gid /var/lib/spectrum spectrum
Ignore.

> spectrum.x86_64: E: non-standard-dir-perm /var/lib/spectrum 0750L
Should be 0700?

> spectrum.x86_64: W: no-manual-page-for-binary spectrum
Unfortunate but not a blocker.

> spectrum.x86_64: W: missing-lsb-keyword Default-Stop in /etc/rc.d/init.d/spectrum
> spectrum.x86_64: E: subsys-not-used /etc/rc.d/init.d/spectrum
True. And well, the initscript seems to have some more problems:
 (1) It refers to /usr/bin/spectrum which does not exist.
 (2) It executes the daemon as root.
 (3) It does not do the checks spectrumctl does before running the daemon, so
     it sometimes fails to notice errors.
Now (3) is the most difficult one of the three. In my opinion the invention of a python program to start the daemon was a mistake done by upstream. But as long as the necessity to use it exists, the initscript should be "fixed" to use spectrumctl. (Note: this will also fix (2) automagically.)
Simplifying the startup mechanism to get rid of spectrumcrl usage in the initscript can be a longer term goal (and done with upstream).

Comment 32 Matěj Cepl 2010-06-11 17:22:54 UTC
Everything except of the new initscript done. Build in koji as
http://koji.fedoraproject.org/koji/taskinfo?taskID=2245351 (Rawhide)
http://koji.fedoraproject.org/koji/taskinfo?taskID=2245354 (EPEL-5)

Comment 33 Michal Schmidt 2010-06-11 19:36:32 UTC
Created attachment 423382 [details]
fix permissions/ownership

You fixed some issues, but also introduced new ones. This patch should fix them.
 - code (/usr/bin/spectrumctl) must not be owned by spectrum itself
 - mark /etc/spectrum as %dir to prevent spectrum.cfg being listed twice
 - /etc/spectrum should be readable by spectrum but not owned by it
 - the same for /etc/spectrum/spectrum.cfg
 - when spectrum:spectrum ownership is used, 0700 and 0770 are equivalent,
   so we might as well use them consistently (0700 for all the similar dirs)

Comment 34 Michal Schmidt 2010-06-11 21:42:54 UTC
I rewrote the initscript to use spectrumctl. You can see it here:
http://fedorapeople.org/gitweb?p=michich/public_git/spectrum.git;a=blob;f=initscripts/fedora/spectrum;h=403d951996b5788d77276ed5414828771e11ec5b;hb=372b639e90a702013e9c9c234a8ccbd287364c42

I'll ask HanzZ to pull this git tree from me.

Comment 35 Matěj Cepl 2010-06-12 16:03:37 UTC
patch to spec applied, new initscript included. RHEL-5 build is http://koji.fedoraproject.org/koji/taskinfo?taskID=2246598

Comment 36 Michal Schmidt 2010-06-12 20:45:41 UTC
I see no change in the permissions/ownership. You must have forgotten to apply the patch.
The initscript is there, but it cannot possibly work right, because of the unexpected permissions and because spectrumctl is slightly buggy in the git snapshot you're using ("spectrumctl list" gives a traceback). I developed the initscript on the latest git where it worked. It's now merged upstream. I suggest you avoid the problem by rebasing to the current git. You'll get the initscript for free and you will get rid of the hasAuthRequest patch as that issue has been fixed upstream too.

Comment 37 Matěj Cepl 2010-06-14 23:03:27 UTC
The latest checkout from upstream (which builds on RHEL-5) together with applied patch for rights and ownerships and added Requires (python-xmpp for spectrumctl) is in http://koji.fedoraproject.org/koji/taskinfo?taskID=2250464

Comment 38 Michal Schmidt 2010-06-15 18:52:10 UTC
Formal review of spectrum-0.3-0.7.git20100614:

Summary
-------
Do not forget to maintain changelogs.
Fix Requires (add some for %preun, remove some for %pre).
Use %global instead of %define.
Preserve timestamps where possible.
Add BuildRequires: python2-devel

Details
-------
MUST items from the Review Guidelines:
OK  rpmlint must be run on every package. The output should be posted
    in the review.
OK  The package must be named according to the Package Naming Guidelines.
OK  The spec file name must match the base package %{name}, in the format
    %{name}.spec unless your package has an exemption.
OK  The package must be licensed with a Fedora approved license and meet
    the Licensing Guidelines.
OK  The License field in the package spec file must match the actual
    license.
OK  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.
OK  The spec file must be written in American English.
OK  The spec file for the package MUST be legible.
OK  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.  If no upstream URL can be specified for this package, please
    see the Source URL Guidelines  for how to deal with this.
OK  The package MUST successfully compile and build into binary rpms on
    at least one primary architecture.
TODO If the package does not successfully compile, build or work on an
    architecture, then those architectures should be listed in the spec
    in ExcludeArch. Each architecture listed in ExcludeArch MUST have a
    bug filed in bugzilla, describing the reason that the package does
    not compile/build/work on that architecture. The bug number
    MUST be placed in a comment, next to the corresponding ExcludeArch
    line.
OK  All build dependencies must be listed in BuildRequires, except for
    any that are listed in the exceptions section of the Packaging
    Guidelines; inclusion of those as BuildRequires is optional. Apply
    common sense.
N/A The spec file MUST handle locales properly. This is done by using
    the %find_lang macro. Using %{_datadir}/locale/* is strictly
    forbidden.
N/A 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. 
OK  Packages must NOT bundle copies of system libraries.
N/A 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.
OK  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.
OK  A Fedora package must not list a file more than once in the spec
    file's %files listings.
OK  Permissions on files must be set properly. Executables should be set
    with executable permissions, for example. Every %files section must
    include a %defattr(...) line.
OK  Each package must consistently use macros.
OK  The package must contain code, or permissable content.
N/A Large documentation files must go in a -doc subpackage.
    (The definition of large is left up to the packager's best
    judgement, but is not restricted to size. Large can refer to
    either size or quantity).
OK  If a package includes something as %doc, it must not affect the
    runtime of the application. To summarize: If it is in %doc, the
    program must run properly if it is not present.
N/A Header files must be in a -devel package. 
N/A Static libraries must be in a -static package. 
N/A 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.
N/A In the vast majority of cases, devel packages must require the base
    package using a fully versioned dependency:
    Requires: %{name} = %{version}-%{release}  
OK  Packages must NOT contain any .la libtool archives, these must be
    removed in the spec if they are built.
N/A 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. If you feel that your
    packaged GUI application does not need a .desktop file, you must put
    a comment in the spec file with your explanation.
OK  Packages must not own files or directories already owned by other
    packages. The rule of thumb here is that the first package to be
    installed should own the files or directories that other packages
    may rely upon. This means, for example, that no package in Fedora
    should ever share ownership with any of the files or directories
    owned by the filesystem or man package. If you feel that you have
    a good reason to own a file or directory that another package owns,
    then please present that at package review time.
OK  All filenames in rpm packages must be valid UTF-8. 

Packaging Guidelines:
OK Naming
OK Version and Release
OK Legal
OK Spec Legibility
TODO Architecture Support (the submitter promised to file a bug for
     excluding ppc as soon as the component is created in BZ)
OK Filesystem Layout
OK Use rpmlint
BAD Changelogs (the latest entry is not in sync with Release)
OK Tags
OK Buildroot
OK %clean
BAD Requires
    (missing Requires(preun), and Requires(pre) contain too much)
OK BuildRequires
OK Summary and Description
OK Encoding
OK Documentation
OK Compiler Flags
OK Debuginfo Packages
N/A Devel Packages
N/A Shared Libraries
OK Duplication of System Libraries
OK Beware of Rpath
OK Configuration Files
OK Initscripts
N/A Desktop Files
BAD Macros (please use %global instead of %define)
N/A Locale Files
BAD Timestamps (please add "-p" to install invocations where appropriate)
OK Parallel make
OK Scriptlets
N/A Conditional Dependencies
OK Relocatable Packages
OK Code vs. Content
OK File and Directory Ownership
OK Users and Groups
N/A Web Applications
OK Conflicts
OK No External Kernel Modules
OK No Files or Directories under /srv
OK No Bundling of Multiple Projects
N/A Patches Should Have an Upstream Bug Link or Comment
OK Use of Epochs
N/A Symlinks
OK Man Pages

Packaging:Python:
BAD BuildRequires (missing python2-devel)
OK Macros
OK Files to Include
OK Source Files
OK Byte Compiling
N/A various stuff about co-existence of v2 and v3

Comment 39 Matěj Cepl 2010-06-16 11:03:33 UTC
New version of the package is http://koji.fedoraproject.org/koji/taskinfo?taskID=2253136

Comment 40 Michal Schmidt 2010-06-16 11:22:46 UTC
(In reply to comment #39)
> New version of the package is
> http://koji.fedoraproject.org/koji/taskinfo?taskID=2253136    

Looks good now, thanks.
You might want to drop the README and NEWS files. They're empty and thus useless.

Consider the package APPROVED.

Comment 41 Matěj Cepl 2010-06-16 11:39:21 UTC
New Package CVS Request
=======================
Package Name: spectrum
Short Description: XMPP transport/gateway
Owners: mcepl
Branches: F-12 F-13 EL-5
InitialCC: michich

Comment 42 Michal Schmidt 2010-06-17 15:33:30 UTC
One more thing - beware of % signs in the changelog. You must use %% to prevent their special meaning. Make sure you fix it before the import.

Comment 43 Matěj Cepl 2010-06-17 20:23:35 UTC
Just for the record ... http://koji.fedoraproject.org/koji/taskinfo?taskID=2255980 is the last version fixing issues in the comment 42

Comment 44 Kevin Fenzi 2010-06-21 02:00:16 UTC
CVS done (by process-cvs-requests.py).

Do you want a EL-6 branch as well? If so, add another change request and reset fedora-cvs again.

Comment 45 Matěj Cepl 2010-06-21 05:29:36 UTC
(In reply to comment #44)
> CVS done (by process-cvs-requests.py).
> 
> Do you want a EL-6 branch as well? If so, add another change request and reset
> fedora-cvs again.    

Yes, I do, sorry for forgetting that.

Package Change Request
======================
Package Name: spectrum
New Branches: EL-6

Comment 46 Matěj Cepl 2010-06-21 08:57:40 UTC
(In reply to comment #25)
> > New packages will not have bugzilla entries during the review process, so they should put this description in the comment until the package is approved, then file the bugzilla entry, and replace the long explanation with the bug number.
> 
> There are two reasons why this package should have ExcludeArch: PPC for RHEL-5.
> 
> The really important one is that there is no RHEL-5/Desktop for PPC so there
> are many libraries (especially and including libpurple) which are not available
> for PPC.
> The second is that I just cannot imagine somebody running spectrum on high-end
> IBM PowerPC servers, so there is not much motivation to even investigate
> possibility of building it on PPC.    

Bug filed as bug 606254.

Comment 47 Fedora Update System 2010-06-21 11:21:08 UTC
spectrum-0.3-0.9.git20100614.el5 has been submitted as an update for Fedora EPEL 5.
http://admin.fedoraproject.org/updates/spectrum-0.3-0.9.git20100614.el5

Comment 48 Fedora Update System 2010-06-21 11:30:11 UTC
spectrum-0.3-0.9.git20100614.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/spectrum-0.3-0.9.git20100614.fc13

Comment 49 Fedora Update System 2010-06-21 11:41:34 UTC
spectrum-0.3-0.9.git20100614.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/spectrum-0.3-0.9.git20100614.fc12

Comment 50 Fedora Update System 2010-06-21 21:44:41 UTC
spectrum-0.3-0.9.git20100614.fc13 has been pushed to the Fedora 13 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update spectrum'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/spectrum-0.3-0.9.git20100614.fc13

Comment 51 Fedora Update System 2010-06-21 21:45:26 UTC
spectrum-0.3-0.9.git20100614.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update spectrum'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/spectrum-0.3-0.9.git20100614.fc12

Comment 52 Fedora Update System 2010-06-22 01:11:22 UTC
spectrum-0.3-0.9.git20100614.el5 has been pushed to the Fedora EPEL 5 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update spectrum'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/spectrum-0.3-0.9.git20100614.el5

Comment 53 Fedora Update System 2010-06-22 17:18:41 UTC
spectrum-0.3-0.9.git20100614.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 54 Kevin Fenzi 2010-06-23 01:46:01 UTC
cvs done.

Comment 55 Matěj Cepl 2010-06-23 13:19:33 UTC
Built even for EL-6 http://koji.fedoraproject.org/koji/taskinfo?taskID=2267730

Comment 56 Fedora Update System 2010-07-13 18:51:59 UTC
spectrum-0.3-1.el5 has been submitted as an update for Fedora EPEL 5.
http://admin.fedoraproject.org/updates/spectrum-0.3-1.el5

Comment 57 Fedora Update System 2010-07-13 19:27:49 UTC
spectrum-0.3-1.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/spectrum-0.3-1.fc12

Comment 58 Fedora Update System 2010-07-21 16:10:25 UTC
spectrum-0.3.1-1.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/spectrum-0.3.1-1.fc12

Comment 59 Fedora Update System 2010-08-10 21:45:10 UTC
spectrum-0.3.1-1.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 60 Fedora Update System 2010-08-13 06:05:37 UTC
spectrum-1.4.0-1.el5 has been submitted as an update for Fedora EPEL 5.
http://admin.fedoraproject.org/updates/spectrum-1.4.0-1.el5

Comment 61 Fedora Update System 2010-08-26 13:32:10 UTC
spectrum-1.4.1-1.el5 has been submitted as an update for Fedora EPEL 5.
http://admin.fedoraproject.org/updates/spectrum-1.4.1-1.el5

Comment 62 Fedora Update System 2010-09-10 20:36:06 UTC
spectrum-1.4.1-1.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.


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