Bug 846913
Summary: | Review Request: libcommuni - Communi is a cross-platform IRC client library written with Qt 4 | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jan Kaluža <jkaluza> |
Component: | Package Review | Assignee: | Matěj Cepl <mcepl> |
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | dan.mashal, dwmw2, jpnurmi, mcepl, mcepl, notting |
Target Milestone: | --- | Flags: | mcepl:
fedora-review+
gwync: fedora-cvs+ |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2012-10-29 13:43:26 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: | |||
Bug Blocks: | 1006556 |
Description
Jan Kaluža
2012-08-09 06:14:05 UTC
First of all ... it would be prudent to do something about bug 707617 and not just letting it hang there. Legend: + = PASSED, - = FAILED, 0 = Not Applicable - MUST: rpmlint must be run on every package. The output should be posted in the review rpmlint on src.rpm is silent HOWEVER I was not able to rebuilt binary packages neither on my computer or in koji (http://koji.fedoraproject.org/koji/taskinfo?taskID=4371336), so I couldn't test binary packages. I got error: Installed (but unpackaged) file(s) found: /usr/lib64/qt4/imports/Communi/libcommuniplugin.so /usr/lib64/qt4/imports/Communi/qmldir + MUST: package 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 licensed with a Fedora approved license and meets the Licensing Guidelines + MUST: The License field in the package spec file matches the actual license LGPLv2+ + 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. License file is not included in the upstream package. + 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. Reviewers should use md5sum for this task MD5: 1e6d736d5f212a91fe9f1a6d0926fef5 - MUST: The package successfully compiles and builds into binary rpms on at least one primary architecture - SEE ABOVE 0 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, except for any that are listed in the exceptions section of the Packaging Guidelines %build part goes on smoothly. 0 MUST: The spec file handles locales properly. This is done by using the %find_lang macro No locales are present. + MUST: 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. + MUST: Packages must NOT bundle copies of system libraries 0 MUST: 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 + MUST: 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: Package must not list a file more than once in the spec file's %files listings + MUST: Each package must consistently use macros + MUST: The package must contain code, or permissible content 0 MUST: Large documentation files must go in a -doc subpackage 0 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 0 MUST: Static libraries must be in a -static package 0 MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig' + 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: 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 must be removed in the spec if they are built 0 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 Please fix FTBFS, otherwise this looks good. There was different error in koji than the one you have pasted here. I've fixed this error, but I'm not sure how to fix the one you've pasted in your Comment 1. Those two files are built only when Qt > 4.7. Is it somehow possible to check that in spec file? I haven't found solution yet. I am not able to compile this from source. Even after installing the following: mingw64-qt-qmake qconf qt-devel libicu-devel libircclient-qt AND editing the configure script to use qmake-qt4: # ./configure which: no qmake in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/dan/.local/bin:/home/dan/bin) Running qmake: === [root@Fedora174 communi-communi-68ddd57]# ./configure Running qmake: qmake-qt4 Project MESSAGE: Building Communi 1.1.0 [root@Fedora174 communi-communi-68ddd57]# make cd src/ && /usr/bin/qmake-qt4 /home/dan/846913-communi/srpm-unpacked/communi-communi-68ddd57/src/src.pro -o Makefile cd src/ && make -f Makefile make[1]: Entering directory `/home/dan/846913-communi/srpm-unpacked/communi-communi-68ddd57/src' compiling 3rdparty/uchardet-0.0.1/src/CharDistribution.cpp /bin/sh: g++: command not found make[1]: *** [release/CharDistribution.o] Error 127 make[1]: Leaving directory `/home/dan/846913-communi/srpm-unpacked/communi-communi-68ddd57/src' make: *** [sub-src-make_default-ordered] Error 2 [root@Fedora174 communi-communi-68ddd57]# qmake-qt4 Project MESSAGE: Building Communi 1.1.0 I am still not able to compile. I also have an issue with the naming of libircclient-qt. The reason why I took this review request is because I package the BitchX IRC client, so I'm wondering if this would benefit BitchX in any way shape or form and/or would it mislead people as to what that package actually does, but that is NOT a blocker for THIS particular package review. Thanks, Dan Note that it currently compiles for epel6 and fedora in koji for me. OK so this is not meant for Fedora 17 or 16 at all? You don't have g++ installed. yum install @development-tools After further looking into the INSTALL file the following should PROBABLY be added to the BuildRequires field: gcc-c++ mingw64-qt-qmake qconf qt-devel libicu-devel This should probably be added to the requires field: libircclient-qt You should also work with upstream (if you are not upstream) to make the configure script find qmake-qt4 instead of just looking for "qmake" and erroring out. After compiling, installing and running the client I am in #communi on freenode now. I am very interested in this client, and working with you if you are upstream on this and/or other projects. Most notable merging communi and BitchX. Please find me on irc, nick dan408 and let's chat. I can see that this irc client is a work in progress, but it is a good work in progress. :) (In reply to comment #2) > There was different error in koji than the one you have pasted here. I've > fixed this error, but I'm not sure how to fix the one you've pasted in your > Comment 1. > > Those two files are built only when Qt > 4.7. Is it somehow possible to > check that in spec file? I haven't found solution yet. I am not sure what's the problem, but it seems to me that %if 0%{?rhel} BuildRequires: qt4-devel %else BuildRequires: qt-devel %endif is a bit too simple. Usually people want to check for particular versions of the distro ... my EL-7 has probably something else installed than EL-6 in koji. I ended up in spectrum.spec with constructs like %if 0%{?rhel} > 0 && 0%{?rhel} <= 5 or perhaps (that's from bitlbee) %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 or something of that sort. You have to know best what exact packages you need. Should not matter, but I will check against EPEL, what you should be more worried about is the configure script itself. (If building from source at a terminal like the old days): Someone should just be able to run ./configure and then the configure script should tell them to run "make" or "gmake" or "qmake" in this case. And qmake should compile it and then qmake install or make install would work. Maybe we need to open a bug on mingwXX-qt-make so that an alias for "qmake" is added, or the configure script should just find it. I have pushed some build system fixes and improvements to communi/1.1: Fix shadow build https://github.com/communi/communi/commit/64330271f7bc81e886b1aaa1d77fe856eb152453 configure: pick qmake-qt4 if qmake doesn't exist https://github.com/communi/communi/commit/b731e0a5e93756d5f1a8661e8f646f7295368810 configure: run qmake recursively To ensure fresh makefiles across the whole project tree https://github.com/communi/communi/commit/772fa7178d615e01ec085594ae5f87d520781e5c Let me know if I can help with remaining packaging issues. Thanks J-P. configure has a different issue now: [dan@Fedora17 communi]$ ./configure Running qmake: -r ./communi.pro ./configure: line 111: -r: command not found Dan, either 'qmake' or 'qmake-qt4' needs to be available in PATH, or the location of qmake needs to be specified. I've added an error message to make it a bit more clear: ERROR: Unable to find qmake. Try ./configure -qmake /path/to/qmake. My bad. I was doing it on the wrong VM. It works great now. Will update the review shortly here in a second. $ licensecheck -r . ./tests/auto/ircdecoder/tst_ircdecoder.cpp: UNKNOWN ./tests/auto/ircmessage/tst_ircmessage.cpp: UNKNOWN ./tests/auto/ircsession/tst_ircsession.cpp: UNKNOWN ./tests/auto/ircparser/tst_ircparser.cpp: UNKNOWN ./tests/auto/irccommand/tst_irccommand.cpp: UNKNOWN ./tests/auto/ircsender/tst_ircsender.cpp: UNKNOWN ./src/ircutil.cpp: LGPL (v2 or later) ./src/ircdecoder.cpp: LGPL (v2 or later) ./src/ircparser.cpp: LGPL (v2 or later) ./src/plugins/declarative/plugin.cpp: LGPL (v2 or later) ./src/plugins/uchardet/plugin.cpp: LGPL (v2 or later) ./src/plugins/icu/plugin.cpp: LGPL (v2 or later) ./src/ircsender.cpp: LGPL (v2 or later) ./src/3rdparty/uchardet-0.0.1/script/win32.sh: *No copyright* UNKNOWN ./src/3rdparty/uchardet-0.0.1/script/debug.sh: *No copyright* UNKNOWN ./src/3rdparty/uchardet-0.0.1/script/release.sh: *No copyright* UNKNOWN ./src/3rdparty/uchardet-0.0.1/src/nsSBCharSetProber.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/LangGreekModel.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/CharDistribution.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsGB2312Prober.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/LangHebrewModel.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsCharSetProber.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsCharSetProber.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/uchardet.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsEUCTWProber.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsSBCharSetProber.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/LangHungarianModel.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsEscSM.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/uchardet.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsMBCSSM.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsEUCJPProber.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsLatin1Prober.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsBig5Prober.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsSBCSGroupProber.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsEUCKRProber.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/LangCyrillicModel.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsCodingStateMachine.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsEUCKRProber.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsUniversalDetector.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsEscCharsetProber.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsGB2312Prober.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsUniversalDetector.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/LangThaiModel.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/JpCntx.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsMBCSGroupProber.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsHebrewProber.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsEUCTWProber.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsSBCSGroupProber.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/CharDistribution.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsSJISProber.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsEUCJPProber.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nscore.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsLatin1Prober.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsHebrewProber.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsEscCharsetProber.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsUTF8Prober.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsBig5Prober.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsPkgInt.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsUTF8Prober.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsSJISProber.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/nsMBCSGroupProber.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/tools/uchardet.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/LangBulgarianModel.cpp: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/JpCntx.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/3rdparty/uchardet-0.0.1/src/prmem.h: MPL (v1.1) GPL (unversioned/unknown version) ./src/ircmessage.cpp: LGPL (v2 or later) ./src/irc.cpp: LGPL (v2 or later) ./src/irccodecplugin.cpp: LGPL (v2 or later) ./src/ircsession.cpp: LGPL (v2 or later) ./src/irccommand.cpp: LGPL (v2 or later) ./include/ircglobal.h: LGPL (v2 or later) ./include/ircmessage.h: LGPL (v2 or later) ./include/ircdecoder_p.h: LGPL (v2 or later) ./include/ircsender.h: LGPL (v2 or later) ./include/ircsession_p.h: LGPL (v2 or later) ./include/ircsession.h: LGPL (v2 or later) ./include/irccodecplugin.h: LGPL (v2 or later) ./include/irccommand.h: LGPL (v2 or later) ./include/ircparser_p.h: LGPL (v2 or later) ./include/ircutil.h: LGPL (v2 or later) ./include/irc.h: LGPL (v2 or later) ./examples/shared/commandparser.h: GPL (v2 or later) ./examples/shared/messageformatter.h: GPL (v2 or later) ./examples/shared/messagereceiver.h: GPL (v2 or later) ./examples/shared/session.h: GPL (v2 or later) ./examples/shared/streamer.h: GPL (v2 or later) ./examples/shared/messageformatter.cpp: GPL (v2 or later) ./examples/shared/usermodel.h: GPL (v2 or later) ./examples/shared/session.cpp: GPL (v2 or later) ./examples/shared/commandparser.cpp: GPL (v2 or later) ./examples/shared/messagehandler.h: GPL (v2 or later) ./examples/shared/channelinfo.h: GPL (v2 or later) ./examples/shared/usermodel.cpp: GPL (v2 or later) ./examples/shared/messagehandler.cpp: GPL (v2 or later) ./examples/shared/connectioninfo.h: GPL (v2 or later) ./examples/bot/ircbot.h: GPL (v2 or later) ./examples/bot/main.cpp: GPL (v2 or later) ./examples/bot/ircbot.cpp: GPL (v2 or later) ./examples/desktop/src/wizard/generalwizardpage.cpp: GPL (v2 or later) ./examples/desktop/src/wizard/serverwizardpage.cpp: GPL (v2 or later) ./examples/desktop/src/wizard/userwizardpage.cpp: GPL (v2 or later) ./examples/desktop/src/wizard/shortcutswizardpage.cpp: GPL (v2 or later) ./examples/desktop/src/wizard/colorswizardpage.h: GPL (v2 or later) ./examples/desktop/src/wizard/settingswizard.h: GPL (v2 or later) ./examples/desktop/src/wizard/treewidget.h: GPL (v2 or later) ./examples/desktop/src/wizard/settingswizard.cpp: GPL (v2 or later) ./examples/desktop/src/wizard/serverwizardpage.h: GPL (v2 or later) ./examples/desktop/src/wizard/generalwizardpage.h: GPL (v2 or later) ./examples/desktop/src/wizard/connectionwizard.h: GPL (v2 or later) ./examples/desktop/src/wizard/messageswizardpage.cpp: GPL (v2 or later) ./examples/desktop/src/wizard/connectionwizardpage.cpp: GPL (v2 or later) ./examples/desktop/src/wizard/treewidget.cpp: GPL (v2 or later) ./examples/desktop/src/wizard/userwizardpage.h: GPL (v2 or later) ./examples/desktop/src/wizard/connectionwizardpage.h: GPL (v2 or later) ./examples/desktop/src/wizard/messageswizardpage.h: GPL (v2 or later) ./examples/desktop/src/wizard/colorswizardpage.cpp: GPL (v2 or later) ./examples/desktop/src/wizard/connectionwizard.cpp: GPL (v2 or later) ./examples/desktop/src/wizard/shortcutswizardpage.h: GPL (v2 or later) ./examples/desktop/src/application.h: GPL (v2 or later) ./examples/desktop/src/mainwindow.cpp: GPL (v2 or later) ./examples/desktop/src/homepage.cpp: GPL (v2 or later) ./examples/desktop/src/main.cpp: GPL (v2 or later) ./examples/desktop/src/homepage.h: GPL (v2 or later) ./examples/desktop/src/3rdparty/qtwin/qtwin.h: UNKNOWN ./examples/desktop/src/3rdparty/qtwin/qtwin.cpp: UNKNOWN ./examples/desktop/src/3rdparty/qtdocktile/qtdocktile_unity.cpp: LGPL (v3 or later) ./examples/desktop/src/3rdparty/qtdocktile/qtdocktile.h: LGPL (v3 or later) ./examples/desktop/src/3rdparty/qtdocktile/qtdocktile_win.cpp: LGPL (v3 or later) ./examples/desktop/src/3rdparty/qtdocktile/winutils.h: LGPL (v2.1 or later) ./examples/desktop/src/3rdparty/qtdocktile/qtdocktile_p.h: LGPL (v3 or later) ./examples/desktop/src/3rdparty/qtdocktile/qtdocktile.cpp: LGPL (v3 or later) ./examples/desktop/src/gui/util/textbrowser.h: GPL (v2 or later) ./examples/desktop/src/gui/util/historylineedit.h: GPL (v2 or later) ./examples/desktop/src/gui/util/textbrowser.cpp: GPL (v2 or later) ./examples/desktop/src/gui/util/sharedtimer.h: GPL (v2 or later) ./examples/desktop/src/gui/util/completer.cpp: GPL (v2 or later) ./examples/desktop/src/gui/util/completer.h: GPL (v2 or later) ./examples/desktop/src/gui/util/historylineedit.cpp: GPL (v2 or later) ./examples/desktop/src/gui/util/sharedtimer.cpp: GPL (v2 or later) ./examples/desktop/src/gui/util/tabwidget.h: GPL (v2 or later) ./examples/desktop/src/gui/util/tabwidget.cpp: GPL (v2 or later) ./examples/desktop/src/gui/util/tabwidget_p.h: GPL (v2 or later) ./examples/desktop/src/gui/sessiontabwidget.cpp: GPL (v2 or later) ./examples/desktop/src/gui/searcheditor.cpp: GPL (v2 or later) ./examples/desktop/src/gui/searcheditor.h: GPL (v2 or later) ./examples/desktop/src/gui/multisessiontabwidget.cpp: GPL (v2 or later) ./examples/desktop/src/gui/sortedusermodel.h: GPL (v2 or later) ./examples/desktop/src/gui/settings.h: GPL (v2 or later) ./examples/desktop/src/gui/sortedusermodel.cpp: GPL (v2 or later) ./examples/desktop/src/gui/sessiontabwidget.h: GPL (v2 or later) ./examples/desktop/src/gui/3rdparty/fancylineedit.cpp: UNKNOWN ./examples/desktop/src/gui/3rdparty/fancylineedit.h: UNKNOWN ./examples/desktop/src/gui/messageview.cpp: GPL (v2 or later) ./examples/desktop/src/gui/lineeditor.h: GPL (v2 or later) ./examples/desktop/src/gui/settings.cpp: GPL (v2 or later) ./examples/desktop/src/gui/multisessiontabwidget.h: GPL (v2 or later) ./examples/desktop/src/gui/messageview.h: GPL (v2 or later) ./examples/desktop/src/gui/lineeditor.cpp: GPL (v2 or later) ./examples/desktop/src/mainwindow.h: GPL (v2 or later) ./examples/desktop/src/trayicon.h: GPL (v2 or later) ./examples/desktop/src/trayicon.cpp: GPL (v2 or later) ./examples/desktop/src/application.cpp: GPL (v2 or later) ./examples/mobile/src/sessionitem.h: GPL (v2 or later) ./examples/mobile/src/abstractsessionitem.cpp: GPL (v2 or later) ./examples/mobile/src/sessionitem.cpp: GPL (v2 or later) ./examples/mobile/src/main.cpp: GPL (v2 or later) ./examples/mobile/src/settings.h: GPL (v2 or later) ./examples/mobile/src/completer.cpp: GPL (v2 or later) ./examples/mobile/src/completer.h: GPL (v2 or later) ./examples/mobile/src/sessionchilditem.cpp: GPL (v2 or later) ./examples/mobile/src/settings.cpp: GPL (v2 or later) ./examples/mobile/src/abstractsessionitem.h: GPL (v2 or later) ./examples/mobile/src/sessionmanager.h: GPL (v2 or later) ./examples/mobile/src/sessionchilditem.h: GPL (v2 or later) ./examples/mobile/src/sessionmanager.cpp: GPL (v2 or later) ./examples/mobile/qmlapplicationviewer/qmlapplicationviewer.h: *No copyright* GENERATED FILE ./examples/mobile/qmlapplicationviewer/qmlapplicationviewer.cpp: *No copyright* GENERATED FILE J-P: There are some other issues that need to be fixed upstream. $tar -zxvf communi-1.1.0.tar.gz communi-communi-68ddd57/ This should NOT extract to this dir. This should extract to communi-1.1.0/ I will try and work around this and post a better spec and tarball. I believe that tarball is actually made by GitHub. Yes. It is. I've created my own tarball and spec file based off the original one. I'll post some notes shortly. J-P: Does the make file respect DESTDIR? That's a major blocker. + make install DESTDIR=/home/dan/rpmbuild/BUILDROOT/communi-1.1.0-1.fc17.x86_64 cd src/ && make -f Makefile install make[1]: Entering directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/src' install -m 755 -p "../lib/libCommuni.so.1.2.0" "/usr/lib64/libCommuni.so.1.2.0" install: cannot remove `/usr/lib64/libCommuni.so.1.2.0': Permission denied make[1]: [install_target] Error 1 (ignored) ln -f -s "libCommuni.so.1.2.0" "/usr/lib64/libCommuni.so" ln: cannot remove `/usr/lib64/libCommuni.so': Permission denied make[1]: [install_target] Error 1 (ignored) ln -f -s "libCommuni.so.1.2.0" "/usr/lib64/libCommuni.so.1" ln: cannot remove `/usr/lib64/libCommuni.so.1': Permission denied make[1]: [install_target] Error 1 (ignored) ln -f -s "libCommuni.so.1.2.0" "/usr/lib64/libCommuni.so.1.2" ln: cannot remove `/usr/lib64/libCommuni.so.1.2': Permission denied make[1]: [install_target] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/include/irc.h /usr/include/Communi/ install: cannot remove `/usr/include/Communi/irc.h': Permission denied make[1]: [install_headers] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/include/irccommand.h /usr/include/Communi/ install: cannot remove `/usr/include/Communi/irccommand.h': Permission denied make[1]: [install_headers] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/include/irccodecplugin.h /usr/include/Communi/ install: cannot remove `/usr/include/Communi/irccodecplugin.h': Permission denied make[1]: [install_headers] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/include/ircglobal.h /usr/include/Communi/ install: cannot remove `/usr/include/Communi/ircglobal.h': Permission denied make[1]: [install_headers] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/include/ircmessage.h /usr/include/Communi/ install: cannot remove `/usr/include/Communi/ircmessage.h': Permission denied make[1]: [install_headers] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/include/ircsender.h /usr/include/Communi/ install: cannot remove `/usr/include/Communi/ircsender.h': Permission denied make[1]: [install_headers] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/include/ircsession.h /usr/include/Communi/ install: cannot remove `/usr/include/Communi/ircsession.h': Permission denied make[1]: [install_headers] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/include/ircutil.h /usr/include/Communi/ install: cannot remove `/usr/include/Communi/ircutil.h': Permission denied make[1]: [install_headers] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/include/Irc /usr/include/Communi/ install: cannot remove `/usr/include/Communi/Irc': Permission denied make[1]: [install_headers] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/include/IrcCommand /usr/include/Communi/ install: cannot remove `/usr/include/Communi/IrcCommand': Permission denied make[1]: [install_headers] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/include/IrcCodecPlugin /usr/include/Communi/ install: cannot remove `/usr/include/Communi/IrcCodecPlugin': Permission denied make[1]: [install_headers] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/include/IrcGlobal /usr/include/Communi/ install: cannot remove `/usr/include/Communi/IrcGlobal': Permission denied make[1]: [install_headers] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/include/IrcMessage /usr/include/Communi/ install: cannot remove `/usr/include/Communi/IrcMessage': Permission denied make[1]: [install_headers] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/include/IrcSender /usr/include/Communi/ install: cannot remove `/usr/include/Communi/IrcSender': Permission denied make[1]: [install_headers] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/include/IrcSession /usr/include/Communi/ install: cannot remove `/usr/include/Communi/IrcSession': Permission denied make[1]: [install_headers] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/include/IrcUtil /usr/include/Communi/ install: cannot remove `/usr/include/Communi/IrcUtil': Permission denied make[1]: [install_headers] Error 1 (ignored) make[1]: Leaving directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/src' cd src/plugins/ && make -f Makefile install make[1]: Entering directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/src/plugins' cd uchardet/ && make -f Makefile install make[2]: Entering directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/src/plugins/uchardet' install -m 755 -p "../../../plugins/communi/libuchardetplugin.so" "/usr/lib64/qt4/plugins/communi/libuchardetplugin.so" install: cannot remove `/usr/lib64/qt4/plugins/communi/libuchardetplugin.so': Permission denied make[2]: [install_target] Error 1 (ignored) make[2]: Leaving directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/src/plugins/uchardet' cd declarative/ && make -f Makefile install make[2]: Entering directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/src/plugins/declarative' install -m 755 -p "../../../imports/Communi/libcommuniplugin.so" "/usr/lib64/qt4/imports/Communi/libcommuniplugin.so" install: cannot remove `/usr/lib64/qt4/imports/Communi/libcommuniplugin.so': Permission denied make[2]: [install_target] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/src/plugins/declarative/qmldir /usr/lib64/qt4/imports/Communi/ install: cannot remove `/usr/lib64/qt4/imports/Communi/qmldir': Permission denied make[2]: [install_other_files] Error 1 (ignored) make[2]: Leaving directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/src/plugins/declarative' make[1]: Leaving directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/src/plugins' cd tests/ && make -f Makefile install make[1]: Entering directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/tests' cd auto/ && make -f Makefile install make[2]: Entering directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/tests/auto' cd irccommand/ && make -f Makefile install make[3]: Entering directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/tests/auto/irccommand' make[3]: Nothing to be done for `install'. make[3]: Leaving directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/tests/auto/irccommand' cd ircdecoder/ && make -f Makefile install make[3]: Entering directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/tests/auto/ircdecoder' make[3]: Nothing to be done for `install'. make[3]: Leaving directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/tests/auto/ircdecoder' cd ircmessage/ && make -f Makefile install make[3]: Entering directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/tests/auto/ircmessage' make[3]: Nothing to be done for `install'. make[3]: Leaving directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/tests/auto/ircmessage' cd ircparser/ && make -f Makefile install make[3]: Entering directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/tests/auto/ircparser' make[3]: Nothing to be done for `install'. make[3]: Leaving directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/tests/auto/ircparser' cd ircsender/ && make -f Makefile install make[3]: Entering directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/tests/auto/ircsender' make[3]: Nothing to be done for `install'. make[3]: Leaving directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/tests/auto/ircsender' cd ircsession/ && make -f Makefile install make[3]: Entering directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/tests/auto/ircsession' make[3]: Nothing to be done for `install'. make[3]: Leaving directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/tests/auto/ircsession' make[2]: Leaving directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/tests/auto' make[1]: Leaving directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/tests' cd examples/ && make -f Makefile install make[1]: Entering directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/examples' cd bot/ && make -f Makefile install make[2]: Entering directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/examples/bot' make[2]: Nothing to be done for `install'. make[2]: Leaving directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/examples/bot' cd desktop/ && make -f Makefile.communi install make[2]: Entering directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/examples/desktop' install -m 755 -p "bin/communi" "/usr/bin/communi" install: cannot remove `/usr/bin/communi': Permission denied make[2]: [install_target] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/examples/desktop/resources/icons/128x128/communi.png /usr/share/pixmaps/ install: cannot remove `/usr/share/pixmaps/communi.png': Permission denied make[2]: [install_icon] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/examples/desktop/resources/communi.desktop /usr/share/applications/ install: cannot remove `/usr/share/applications/communi.desktop': Permission denied make[2]: [install_desktop] Error 1 (ignored) make[2]: Leaving directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/examples/desktop' make[1]: Leaving directory `/home/dan/rpmbuild/BUILD/communi-1.1.0/examples' install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/features/communi.prf /usr/lib64/qt4/mkspecs/features/ install: cannot remove `/usr/lib64/qt4/mkspecs/features/communi.prf': Permission denied make: [install_mkspecs] Error 1 (ignored) install -m 644 -p /home/dan/rpmbuild/BUILD/communi-1.1.0/communi-config.prf /usr/lib64/qt4/mkspecs/features/ install: cannot remove `/usr/lib64/qt4/mkspecs/features/communi-config.prf': Permission denied make install INSTALL_ROOT=/home/dan/rpmbuild/BUILDROOT/communi-1.1.0-1.fc17.x86_64 Hey Dan, I just noticed from the output above that it seems to be the unstable development version (1.2) from the master branch. Please use the 1.1 branch instead. Ehm, why not to check my spec file which works? You would see I'm using qmake-qt4 and INSTALL_ROOT there... Ok, finally had some time to update this review. After discussion with upstream, we've decided to rename the package to "libcommuni" and added "communi" subpackage which contains the Communi client. This subpackage is not built for EPEL-6, because the Qt is too old there. Spec URL: http://jkaluza.fedorapeople.org/libcommuni.spec SRPM URL: http://jkaluza.fedorapeople.org/libcommuni-1.1.2-1.fc17.src.rpm sounds good, will check it now. Please look at the must items and rpmlint items below. This is very close to approval. Package Review ============== Key: - = N/A x = Pass ! = Fail ? = Not evaluated ==== C/C++ ==== [x]: MUST Header files in -devel subpackage, if present. [x]: MUST ldconfig called in %post and %postun if required. [x]: MUST Package does not contain any libtool archives (.la) [ ]: MUST Package does not contain kernel modules. [ ]: MUST Package contains no static executables. [x]: MUST Rpath absent or only used for internal libs. [x]: MUST Development (unversioned) .so files in -devel subpackage, if present. ==== Generic ==== [x]: EXTRA Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: EXTRA Spec file according to URL is the same as in SRPM. [ ]: MUST Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: MUST Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [ ]: MUST %build honors applicable compiler flags or justifies otherwise. [x]: MUST All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [ ]: MUST Package contains no bundled libraries. [ ]: MUST Changelog in prescribed format. [ ]: MUST Sources contain only permissible code or content. [!]: MUST Each %files section contains %defattr if rpm < 4.4 Note: defattr(....) present in %files devel section. This is OK if packaging for EPEL5. Otherwise not needed [ ]: MUST Macros in Summary, %description expandable at SRPM build time. [x]: MUST Package contains desktop file if it is a GUI application. [!]: MUST Package installs a %{name}.desktop using desktop-file-install if there is such a file. [ ]: MUST Development files must be in a -devel package [ ]: MUST Package requires other packages for directories it uses. [ ]: MUST Package uses nothing in %doc for runtime. [ ]: MUST Package is not known to require ExcludeArch. [x]: MUST Permissions on files are set properly. [x]: MUST Package does not contain duplicates in %files. [x]: MUST Fully versioned dependency in subpackages, if present. [ ]: MUST Package complies to the Packaging Guidelines [x]: MUST Spec file lacks Packager, Vendor, PreReq tags. [x]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. Note: rm -rf would be needed if support for EPEL5 is required [ ]: MUST Large documentation files are in a -doc subpackage, if required. [x]: 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 is included in %doc. [ ]: MUST License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "LGPL (v2 or later)", "GPL (v2 or later)", "LGPL (v3 or later)", "MPL (v1.1) GPL (unversioned/unknown version)", "LGPL (v2.1 or later)" For detailed output of licensecheck see file: /home/dan/846913-libcommuni/licensecheck.txt [ ]: MUST License file installed when any subpackage combination is installed. [ ]: MUST Package consistently uses macro is (instead of hard-coded directory names). [x]: MUST Package is named using only allowed ascii characters. [ ]: MUST Package is named according to the Package Naming Guidelines. [ ]: MUST Package does not generate any conflict. Note: Package contains no Conflicts: tag(s) [ ]: MUST Package obeys FHS, except libexecdir and /usr/target. [ ]: MUST If the package is a rename of another package, proper Obsoletes and Provides are present. [ ]: MUST Package must own all directories that it creates. [ ]: MUST Package does not own files or directories owned by other packages. [x]: MUST Package installs properly. [ ]: MUST Package is not relocatable. [ ]: MUST Requires correct, justified where necessary. [x]: MUST Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: MUST Sources used to build the package match the upstream source, as provided in the spec URL. [ ]: MUST Spec file is legible and written in American English. [x]: MUST Spec file name must match the spec package %{name}, in the format %{name}.spec. [ ]: MUST Package contains systemd file(s) if in need. [x]: MUST File names are valid UTF-8. [ ]: MUST Useful -debuginfo package or justification otherwise. [x]: SHOULD Reviewer should test that the package builds in mock. [x]: SHOULD Buildroot is not present Note: Unless packager wants to package for EPEL5 this is fine [x]: SHOULD Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) Note: Clean would be needed if support for EPEL5 is required [ ]: SHOULD If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: SHOULD Dist tag is present. [x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [ ]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q --requires). [ ]: SHOULD Package functions as described. [ ]: SHOULD Latest version is packaged. [ ]: SHOULD Package does not include license text files separate from upstream. [ ]: SHOULD Patches link to upstream bugs/comments/lists or are otherwise justified. [ ]: SHOULD Scriptlets must be sane, if used. [x]: SHOULD SourceX tarball generation or download is documented. [!]: SHOULD SourceX / PatchY prefixed with %{name}. Note: Patch0 (desktop.patch) Source0 (communi-1.1.2.tar.gz) [x]: SHOULD SourceX is a working URL. [ ]: SHOULD Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [ ]: SHOULD Package should compile and build into binary rpms on all supported architectures. [ ]: SHOULD %check is present and all tests pass. [ ]: SHOULD Packages should try to preserve timestamps of original installed files. [!]: SHOULD Spec use %global instead of %define. Note: %define tardirname communi-communi-939dc37 Issues: [!]: MUST Each %files section contains %defattr if rpm < 4.4 Note: defattr(....) present in %files devel section. This is OK if packaging for EPEL5. Otherwise not needed See: http://fedoraproject.org/wiki/Packaging/Guidelines#FilePermissions [!]: MUST Package installs a %{name}.desktop using desktop-file-install if there is such a file. See: http://fedoraproject.org/wiki/Packaging/Guidelines#desktop Rpmlint ------- Checking: communi-1.1.2-1.fc17.x86_64.rpm libcommuni-1.1.2-1.fc17.src.rpm libcommuni-debuginfo-1.1.2-1.fc17.x86_64.rpm libcommuni-1.1.2-1.fc17.x86_64.rpm libcommuni-devel-1.1.2-1.fc17.x86_64.rpm communi.x86_64: W: obsolete-not-provided libircclient-qt-devel communi.x86_64: W: no-manual-page-for-binary communi libcommuni.src: W: spelling-error %description -l en_US Communi -> Commune, Comm uni, Comm-uni libcommuni.x86_64: W: spelling-error %description -l en_US Communi -> Commune, Comm uni, Comm-uni libcommuni.x86_64: W: obsolete-not-provided libircclient-qt libcommuni-devel.x86_64: W: obsolete-not-provided libircclient-qt-devel 5 packages and 0 specfiles checked; 0 errors, 6 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint libcommuni-devel libcommuni-debuginfo libcommuni-devel.x86_64: W: obsolete-not-provided libircclient-qt-devel 2 packages and 0 specfiles checked; 0 errors, 1 warnings. # echo 'rpmlint-done:' Requires -------- communi-1.1.2-1.fc17.x86_64.rpm (rpmlib, GLIBC filtered): libCommuni.so.1()(64bit) libQtCore.so.4()(64bit) libQtDBus.so.4()(64bit) libQtGui.so.4()(64bit) libQtNetwork.so.4()(64bit) libQtXml.so.4()(64bit) libc.so.6()(64bit) libcommuni(x86-64) = 1.1.2-1.fc17 libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) rtld(GNU_HASH) libcommuni-debuginfo-1.1.2-1.fc17.x86_64.rpm (rpmlib, GLIBC filtered): libcommuni-1.1.2-1.fc17.x86_64.rpm (rpmlib, GLIBC filtered): /sbin/ldconfig libQtCore.so.4()(64bit) libQtNetwork.so.4()(64bit) libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) rtld(GNU_HASH) libcommuni-devel-1.1.2-1.fc17.x86_64.rpm (rpmlib, GLIBC filtered): libCommuni.so.1()(64bit) libQtCore.so.4()(64bit) libQtDeclarative.so.4()(64bit) libQtGui.so.4()(64bit) libQtNetwork.so.4()(64bit) libQtScript.so.4()(64bit) libQtSql.so.4()(64bit) libQtSvg.so.4()(64bit) libQtXmlPatterns.so.4()(64bit) libc.so.6()(64bit) libcommuni(x86-64) = 1.1.2-1.fc17 libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) rtld(GNU_HASH) Provides -------- communi-1.1.2-1.fc17.x86_64.rpm: communi = 1.1.2-1.fc17 communi(x86-64) = 1.1.2-1.fc17 libcommuni-debuginfo-1.1.2-1.fc17.x86_64.rpm: libcommuni-debuginfo = 1.1.2-1.fc17 libcommuni-debuginfo(x86-64) = 1.1.2-1.fc17 libcommuni-1.1.2-1.fc17.x86_64.rpm: libCommuni.so.1()(64bit) libcommuni = 1.1.2-1.fc17 libcommuni(x86-64) = 1.1.2-1.fc17 libcommuni-devel-1.1.2-1.fc17.x86_64.rpm: libcommuni-devel = 1.1.2-1.fc17 libcommuni-devel(x86-64) = 1.1.2-1.fc17 libcommuniplugin.so()(64bit) MD5-sum check ------------- http://github.com/communi/communi/tarball/v1.1.2/communi-1.1.2.tar.gz : CHECKSUM(SHA256) this package : 7f319f79e5505e3409ae481ac21637e30ad9cfb909b93629bd4feb63def4482f CHECKSUM(SHA256) upstream package : 7f319f79e5505e3409ae481ac21637e30ad9cfb909b93629bd4feb63def4482f Generated by fedora-review 0.2.2 (9f8c0e5) last change: 2012-08-09 Command line :/usr/bin/fedora-review -b 846913 External plugins: Regarding the rename: package should be named communi and have a communi-libs subpackage. i.e. %package libs %package devel shared libraries, headers, .pc files go hereles go here %files libs %files devel See: http://fedoraproject.org/wiki/How_to_create_an_RPM_package#Subpackages http://fedoraproject.org/wiki/Packaging:Guidelines#Devel_Packages Sorry, didn't mean to cancel review flag, getting that set back to ? shortly. Just keep in mind that the framework is the main product. The desktop client is just optional extra. Having said that, applications should be able to use libcommuni(-devel) without installing the example client. Embedding libcommuni to other applications as suggested on #communi is IMHO not an acceptable solution. thanks JP Thanks for the review, I think I've fixed the bugs you've found. Spec URL: http://jkaluza.fedorapeople.org/libcommuni.spec SRPM URL: http://jkaluza.fedorapeople.org/libcommuni-1.1.2-1.fc17.src.rpm (In reply to comment #25) > [!]: MUST Package installs a %{name}.desktop using desktop-file-install if > there is such a file. Fixed. > [!]: SHOULD SourceX / PatchY prefixed with %{name}. > Note: Patch0 (desktop.patch) Source0 (communi-1.1.2.tar.gz) Fixed, Patch0 is no longer there. > [!]: SHOULD Spec use %global instead of %define. > Note: %define tardirname communi-communi-939dc37 Fixed. > Issues: > [!]: MUST Each %files section contains %defattr if rpm < 4.4 > Note: defattr(....) present in %files devel section. This is OK if > packaging for EPEL5. Otherwise not needed I plan to add this package only to EPEL6 and Fedora, so no need for %defattr. > Rpmlint > ------- > communi.x86_64: W: obsolete-not-provided libircclient-qt-devel "communi" package should not obsolete libircclient-qt-devel, fixed. > communi.x86_64: W: no-manual-page-for-binary communi This is not review blocker. > libcommuni.x86_64: W: obsolete-not-provided libircclient-qt > libcommuni-devel.x86_64: W: obsolete-not-provided libircclient-qt-devel That's according to guidelines I think. See the Comment 1. Sorry, I meant Comment 0 :). All issues indicated in comment 1 and comment 25 have been resolved. Builds in koji (http://koji.fedoraproject.org/koji/taskinfo?taskID=4557061) APPROVED! cool thanks New Package SCM Request ======================= Package Name: libcommuni Short Description: Communi is a cross-platform IRC client library written with Qt 4 Owners: jkaluza Branches: f17 f18 el6 Git done (by process-git-requests). libcommuni-1.2.0-1.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/libcommuni-1.2.0-1.fc18 libcommuni-1.2.0-1.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/libcommuni-1.2.0-1.fc17 libcommuni-1.2.0-1.fc18 has been pushed to the Fedora 18 testing repository. libcommuni-1.2.0-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/libcommuni-1.2.0-1.el6 Closing this one, package is in Fedora/EPEL now. Thanks you all for a review. |