Spec URL: http://mariobl.fedorapeople.org/Review/SPECS/kupfer.spec SRPM URL: http://mariobl.fedorapeople.org/Review/SRPMS/kupfer-208-1.fc17.src.rpm Description: Kupfer is a program to change, speed up and make everything about files and programs more fun on your computer. Kupfer is heavily inspired by Quicksilver; you use it to summon an application or document quickly by typing the first parts of its name. It can also do more than getting at something quickly: there are different plug-ins for accessing more objects and running custom commands. Fedora Account System Username: mariobl
*** Bug 696249 has been marked as a duplicate of this bug. ***
Hi, I have just build RPM from srpm and when I want to launch preference dialog I have an error: Traceback (most recent call last): File "/usr/share/kupfer/kupfer/ui/browser.py", line 1942, in mitem_handler callback(ui_ctx) File "/usr/share/kupfer/kupfer/kupferui.py", line 62, in show_preferences win = preferences.GetPreferencesWindowController() File "/usr/share/kupfer/kupfer/ui/preferences.py", line 880, in GetPreferencesWindowController _preferences_window = PreferencesWindowController() File "/usr/share/kupfer/kupfer/ui/preferences.py", line 119, in __init__ self._update_alternative_combobox('terminal', terminal_combobox) File "/usr/share/kupfer/kupfer/ui/preferences.py", line 788, in _update_alternative_combobox setctl.get_valid_alternative_ids(category_key), key=lambda t:t[1]) File "/usr/share/kupfer/kupfer/utils.py", line 78, in locale_sort seq = seq if isinstance(seq, list) else list(seq) File "/usr/share/kupfer/kupfer/core/settings.py", line 396, in get_valid_alternative_ids validator = self._alternative_validators[category_key] KeyError: 'terminal' Is it a Kupfer error or a pakaging error... That is the question ?
(In reply to comment #2) > Hi, > > I have just build RPM from srpm and when I want to launch preference dialog > I have an error: > > Traceback (most recent call last): > File "/usr/share/kupfer/kupfer/ui/browser.py", line 1942, in mitem_handler > callback(ui_ctx) > File "/usr/share/kupfer/kupfer/kupferui.py", line 62, in show_preferences > win = preferences.GetPreferencesWindowController() > File "/usr/share/kupfer/kupfer/ui/preferences.py", line 880, in > GetPreferencesWindowController > _preferences_window = PreferencesWindowController() > File "/usr/share/kupfer/kupfer/ui/preferences.py", line 119, in __init__ > self._update_alternative_combobox('terminal', terminal_combobox) > File "/usr/share/kupfer/kupfer/ui/preferences.py", line 788, in > _update_alternative_combobox > setctl.get_valid_alternative_ids(category_key), key=lambda t:t[1]) > File "/usr/share/kupfer/kupfer/utils.py", line 78, in locale_sort > seq = seq if isinstance(seq, list) else list(seq) > File "/usr/share/kupfer/kupfer/core/settings.py", line 396, in > get_valid_alternative_ids > validator = self._alternative_validators[category_key] > KeyError: 'terminal' > > Is it a Kupfer error or a pakaging error... That is the question ? Ulrik, please would you have a look at this error message? Perhaps we need an additional dependency?
Mario, it looks like an internal Kupfer bug or error (I've never seen it). That mechanism in play there is quite fragile unfortunately. Does it persist if you clean kupfer cache and configration?
I see the kupfer package is split, maybe it's related. Read kupfer debug output to make sure the core plugin is loaded.
After some tests on my own machine, it works as expected. But admittedly, the package is still far from being good enough for inclusion in Fedora. Could be it is missing a mandatory runtime requirement. Probably I should remove the plugins subpackage and add the plugins to the base package, except the Thunar plugin, because it needs a folder which is provided by the thunar package itself. Moreover, is the Nautilus plugin still up-to-date? It seems to need something which is no longer available from newer Fedora releases (nautilus-2.x). I don't plan an EPEL package, that's why I think the files related to nautilus might be safely removed.
Yes, the nautilus plugin is removed in upstream git.
(In reply to comment #7) > Yes, the nautilus plugin is removed in upstream git. Thanks for that info. I will provide new spec and srpm soon.
Mario, have you been able to resolve the open issues? I could do the review if you still intend to maintain the package.
OK, here we go: Spec URL: http://mariobl.fedorapeople.org/Review/SPECS/kupfer.spec SRPM URL: http://mariobl.fedorapeople.org/Review/SRPMS/kupfer-208-3.fc17.src.rpm
OK, taking this one. Give me a couple of days to find some time to do the review.
Here comes the review. There are still some things that have to be fixed: - You can drop the definitions given at the top of the spec file as they are only required for EPEL < 6. - Remove the %{?_isa} suffix from the Requires statement as it's only needed for arch specific packages. - Please add a short comment above the License field documenting the multiple licensing scenario, e.g. "application: GPLv3+, documentation: CC-BY-SA" - The files /usr/share/kupfer/kupfer/plugin/thunar.py* are present in the base package and thunar subpackage. => %exclude them from the base package - add the missing scriptlets to update the mime info database http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#mimeinfo - Remove the %exclude line from %files, and add rm -rf %{buildroot}%{_libdir}/ to %install in order to avoid the rpmlint warning shown below. - It's sufficient to install the desktop files with desktop-file-install. Don't re-validate them with desktop-file-validate. http://fedoraproject.org/wiki/Packaging:Guidelines#desktop-file-install_usage - Replace $RPM_OPT_FLAGS with %{optflags} to use macros consistently. - Be a bit more specific in files: %{_bindir}/* => %{_bindir}/%{name}* %{_mandir}/man1/%{name}* => %{_mandir}/man1/%{name}*.1* $ rpmlint /var/lib/mock/fedora-17-x86_64/result/*.rpm kupfer.src:106: W: libdir-macro-in-noarch-package (main package) %exclude %{_libdir}/nautilus/extensions-2.0/python/%{name}_provider.* kupfer-thunar.noarch: W: no-documentation kupfer-thunar.noarch: W: dangling-relative-symlink /usr/share/Thunar/sendto/kupfer.desktop ../../applications/kupfer.desktop 3 packages and 0 specfiles checked; 0 errors, 3 warnings. - The dangling symlink warning is expected and can be ignored. --------------------------------- key: [+] OK [.] OK, not applicable [X] needs work --------------------------------- [+] MUST: The package must be named according to the Package Naming Guidelines. [+] MUST: The spec file name must match the base package %{name}. [+] MUST: The package must meet the Packaging Guidelines. [+] MUST: The package must be licensed with a Fedora approved license. - application: GPLv3+ - documentation: CC-BY-SA [+] MUST: The License field in the package spec file must match the actual license. [+] MUST: The file containing the text of the license(s) for the package must be included in %doc. [+] MUST: The spec file must be written in American English. [+] MUST: The spec file for the package MUST be legible. [+] MUST: The sources used to build the package must match the upstream source. $ sha256sum kupfer-v208.tar.xz* 65de8fe23e4b91a25910969ae11f32a98ed44714a460c64dfc71a85d20289c04 kupfer-v208.tar.xz 65de8fe23e4b91a25910969ae11f32a98ed44714a460c64dfc71a85d20289c04 kupfer-v208.tar.xz.upstream [+] MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture. [.] MUST: If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in ExcludeArch. 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. [+] MUST: All build dependencies must be listed in BuildRequires. [.] MUST: When compiling C, C++, or Fortran files, %{optflags} must be applied. [+] MUST: The spec file MUST handle locales properly. [+] MUST: If a package installs files below %{_datadir}/icons, the icon cache must be updated. [.] MUST: Packages storing shared library files (not just symlinks) must call ldconfig in %post and %postun. [+] MUST: Packages must NOT bundle copies of system libraries. [.] MUST: If the package is designed to be relocatable, ... [+] MUST: A package must own all directories that it creates. [X] MUST: A Fedora package must not list a file more than once in %files. - thunar files are present in the base package too [.] MUST: Permissions on files must be set properly. [X] MUST: Each package must consistently use macros. - $RPM_OPT_FLAGS => %{optflags} [.] MUST: The package must contain code, or permissable content. [.] MUST: Large documentation files must go in a -doc subpackage. [+] MUST: Files in %doc must not affect the runtime of the application. [.] MUST: Header files must be in a -devel package. [.] MUST: Static libraries must be in a -static package. [.] MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1), ... [.] MUST: devel packages must require the base package using a fully versioned dependency. [+] MUST: Packages must NOT contain any .la libtool archives. [+] MUST: Packages containing GUI applications must include a %{name}.desktop file. [X] MUST: .desktop files must be properly installed with desktop-file-install OR desktop-file-validate. => drop the desktop-file-validate lines [+] MUST: Packages must not own files or directories already owned by other packages. [+] MUST: All filenames in rpm packages must be valid UTF-8. EPEL <= 5 only: [X] MUST: The spec file must contain a valid BuildRoot field. [X] MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}. [X] MUST: Each package must have a %clean section, which contains rm -rf %{buildroot}. [.] MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig' [.] 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. [+] SHOULD: Timestamps of files should be preserved. [+] SHOULD: The reviewer should test that the package builds in mock. [+] SHOULD: The package should compile and build into binary rpms on all supported architectures. [+] SHOULD: The reviewer should test that the package functions as described. [+] SHOULD: If scriptlets are used, those scriptlets must be sane. [+] SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency. [.] SHOULD: pkgconfig(.pc) files should be placed in a -devel pkg. [+] SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the file instead of the file itself. [+] SHOULD: Your package should contain man pages for binaries/scripts.
Thanks for your hints. However, this was not my package initially, that's why there were some artifacts from other packagers. Now all the issues seem to be solved. New files: Spec URL: http://mariobl.fedorapeople.org/Review/SPECS/kupfer.spec SRPM URL: http://mariobl.fedorapeople.org/Review/SRPMS/kupfer-208-4.fc17.src.rpm The package builds in Koji for Rawhide: http://koji.fedoraproject.org/koji/taskinfo?taskID=4585831 $ rpmlint -i -v * kupfer.src: I: checking kupfer.src: I: checking-url http://kaizer.se/wiki/kupfer/ (timeout 10 seconds) kupfer.src: I: checking-url http://kaizer.se/publicfiles/kupfer/kupfer-v208.tar.xz (timeout 10 seconds) kupfer.noarch: I: checking kupfer.noarch: I: checking-url http://kaizer.se/wiki/kupfer/ (timeout 10 seconds) kupfer.spec: I: checking-url http://kaizer.se/publicfiles/kupfer/kupfer-v208.tar.xz (timeout 10 seconds) kupfer-thunar.noarch: I: checking kupfer-thunar.noarch: I: checking-url http://kaizer.se/wiki/kupfer/ (timeout 10 seconds) kupfer-thunar.noarch: W: no-documentation The package contains no documentation (README, doc, etc). You have to include documentation files. kupfer-thunar.noarch: W: dangling-relative-symlink /usr/share/Thunar/sendto/kupfer.desktop ../../applications/kupfer.desktop The target of the symbolic link does not exist within this package or its file based dependencies. Verify spelling of the link target and that the target is included in a package in this package's dependency chain. 3 packages and 1 specfiles checked; 0 errors, 2 warnings.
(In reply to comment #13) > However, this was not my package initially, that's > why there were some artifacts from other packagers. Now all the issues seem > to be solved. OK, not a problem at all. That's what reviews are good for. :) The package looks good now and is -------- APPROVED --------
Thanks for all your help and for the approval! New Package SCM Request ======================= Package Name: kupfer Short Description: Summon an application or document quickly Owners: mariobl Branches: f17 f18 InitialCC:
Git done (by process-git-requests).
kupfer-208-4.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/kupfer-208-4.fc17
kupfer-208-4.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/kupfer-208-4.fc18
kupfer-208-4.fc18 has been pushed to the Fedora 18 testing repository.
All packages are marked as stable now.