Bug 578480
Summary: | Review Request: spectrum - XMPP transport/gateway | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Matěj Cepl <mcepl> | ||||
Component: | Package Review | Assignee: | Michal Schmidt <mschmidt> | ||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | rawhide | CC: | fedora-package-review, mcepl, mschmidt, notting | ||||
Target Milestone: | --- | Flags: | mschmidt:
fedora-review+
kevin: fedora-cvs+ |
||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | spectrum-1.4.1-1.el5 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2010-06-22 17:18:46 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | 578484, 582403 | ||||||
Bug Blocks: | |||||||
Attachments: |
|
Description
Matěj Cepl
2010-03-31 13:04:46 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. New version built in koji http://koji.fedoraproject.org/koji/taskinfo?taskID=2087151 get src.rpm from there. 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 "%{_tmppath}/%{name}-root" is not an acceptable BuildRoot: https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag You have: %defattr(-,root,root) Current guidelines recommend: %defattr(-,root,root,-) 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? Rawhide is build http://koji.fedoraproject.org/koji/taskinfo?taskID=2196251 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? 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. Revised RHEL-5 build (no, I haven't bumped Release, sorry) http://koji.fedoraproject.org/koji/taskinfo?taskID=2207035 Don't we need a special user "spectrum"? Any group? Should also emphasize somewhere (%description? README.Fedora?) that users of RHEL-5 needs to have enabled RHEL Optional Productivity Apps channel. (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. (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. 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 Moved /usr/bin/spectrum to /usr/sbin RHEL-5 build http://koji.fedoraproject.org/koji/taskinfo?taskID=2208775 Upstream kindly provided patch to remove libgettextpo dependency RHEL-5 http://koji.fedoraproject.org/koji/taskinfo?taskID=2208854 (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). 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. (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. BTW, builds without problems with Rawhide http://koji.fedoraproject.org/koji/taskinfo?taskID=2236704 (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. (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. > 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.
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. # 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. In the %check you build a test program, but you never execute it. Perhaps you'd like to add: ./spectrum_tests All three comments accepted, now builds even with running tests http://koji.fedoraproject.org/koji/taskinfo?taskID=2244174 Thank you very much 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 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). 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) 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)
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. patch to spec applied, new initscript included. RHEL-5 build is http://koji.fedoraproject.org/koji/taskinfo?taskID=2246598 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. 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 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 New version of the package is http://koji.fedoraproject.org/koji/taskinfo?taskID=2253136 (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. New Package CVS Request ======================= Package Name: spectrum Short Description: XMPP transport/gateway Owners: mcepl Branches: F-12 F-13 EL-5 InitialCC: michich 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. Just for the record ... http://koji.fedoraproject.org/koji/taskinfo?taskID=2255980 is the last version fixing issues in the comment 42 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. (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 (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. 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 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 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 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 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 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 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. cvs done. Built even for EL-6 http://koji.fedoraproject.org/koji/taskinfo?taskID=2267730 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 spectrum-0.3-1.fc12 has been submitted as an update for Fedora 12. http://admin.fedoraproject.org/updates/spectrum-0.3-1.fc12 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 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. 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 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 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. |