Fedora Account System
Red Hat Associate
Red Hat Customer
This is a new review request for darktable since the original demand by ibrahim eser was closed (cf bug #565666). Description: darktable is a virtual lighttable and darkroom for photographers: it manages your digital negatives in a database and lets you view them through a zoomable lighttable. It also enables you to develop raw images and enhance them. Here are my specs and rpms: http://www.linuxed.net/~madko/fedora/darktable.spec http://www.linuxed.net/~madko/fedora/darktable-0.5-2.fc12.src.rpm But some Errors and warnings remain: darktable.x86_64: E: invalid-soname /usr/lib64/libdarktable.so libdarktable.so darktable.x86_64: W: shared-lib-calls-exit /usr/lib64/libdarktable.so exit.5 darktable.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/darktable ['/usr/lib64'] darktable.x86_64: W: non-conffile-in-etc /etc/gconf/schemas/darktable.schemas 1 packages and 0 specfiles checked; 2 errors, 2 warnings. But not sure how to fix them. Any idea?
*** Bug 589868 has been marked as a duplicate of this bug. ***
For the soname problem, it is ignored in this package: https://bugzilla.redhat.com/show_bug.cgi?id=477570
1.missing
*** Bug 565666 has been marked as a duplicate of this bug. ***
For the exit calls and the rpath problem I will try to contact the author. For the warning about the gconf schema file I only have to mark it as %config ? Or I have to follow these instructions http://fedoraproject.org/wiki/Packaging/ScriptletSnippets#GConf ?
(In reply to comment #5) > For the exit calls and the rpath problem I will try to contact the author. You can ask the author to build libdarktable as a static lib. For > the warning about the gconf schema file I only have to mark it as %config ? Or > I have to follow these instructions > http://fedoraproject.org/wiki/Packaging/ScriptletSnippets#GConf ? Yes, you should follow this guideline.
Everything had stopped? Still waiting for including.
Sorry, I was on vacation. The author told me to use the sources from their git repository. I will try that.
I tried building a git snapshot taken on 2010-07-01 with the given spec file on 32-bit Fedora 13. At least the following seem to be missing from BuildRequires: libtool OpenEXR-devel libgphoto2-devel libcurl-devel dbus-glib-devel gcc-c++ Configure now says'--disable-rpath' is a unrecognized option, so I took it out. Configure completes without errors, but I still had a problem with libdarktable.so.
I also have to add this BuildRequires, but not sure about gcc-c++ (on 2010-06-25 git sources). I will check that and upload my specs and rpms soon. I try to follow the guidelines about versioning, is darktable-0.5-<date>git a good way to version it?
Is git version is really needed for review? May be it would be better to focus on release version and continue work on future version (including git) in work-flow regime? (git is the way to get a patch, if it is exist, for problems resolving IMHO; but not for review process) Two months passed from this entry opened and 5 (five!) months from darktable review began. Just want something will move further already :)
There is just one big problem with the release version (0.5): darktable.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/darktable ['/usr/lib64'] Do you know how to fix this? The author of darktable suggest me to use the git version to fix this problem, may be I could ask him to point me the patch that fix this and apply it on the 0.5 release version?
if you cannot fix the rpath at compile time, maybe one of the advices from http://fedoraproject.org/wiki/Packaging/Guidelines#Beware_of_Rpath can help Mind that there is nothing wrong in packaging git snapshots.. as long as they are either stable OR used only in rawhide.
I fix the rpath with chrpath --delete on the release version, is that correct? what remain: darktable.x86_64: E: invalid-soname /usr/lib64/libdarktable.so libdarktable.so darktable.x86_64: W: shared-lib-calls-exit /usr/lib64/libdarktable.so exit.5 darktable.x86_64: W: non-conffile-in-etc /etc/gconf/schemas/darktable.schemas 1 packages and 0 specfiles checked; 1 errors, 2 warnings. I think the shared-lib-calls-exit is fixed in the git version, will check that. spec file: http://www.linuxed.net/~madko/fedora/darktable.spec (S)RPMs: http://www.linuxed.net/~madko/fedora/darktable-0.5-3.fc12.src.rpm http://www.linuxed.net/~madko/fedora/darktable-0.5-3.fc12.x86_64.rpm
E: invalid-soname /usr/lib64/libdarktable.so libdarktable.so I think is because it needs a version number (libdarktable-0.5.3.so ?) The shared-lib-calls-exit /usr/lib64/libdarktable.so exit.5 You could find the exit call in the library, and patch it out.. although the exit condition should be managed by libdarktable, wherever the offending function is called. W: non-conffile-in-etc /etc/gconf/schemas/darktable.schemas Usually this file should be marked in the files %config section of the spec file. I'd check another package to see how they manage the /etc/gconf/schemas/* files in the build spec file. Edouard, are you going to repost for F13/F14 ?
http://depositfiles.com/files/45s5jqq01 - my src.rpm. It contains: cleaned darktable.desktop and fix for rpath. Fixing is in moving libdarktable.so to propper place - $libdir/darktable. Checked - works for me. # rpmlint darktable-0.5-2.fc13.src.rpm darktable-0.5-2.fc13.x86_64.rpm darktable.src: W: spelling-error %description -l en_US lighttable -> light table, light-table, lighterage darktable.src: W: spelling-error %description -l en_US zoomable -> zoom able, zoom-able, fathomable darktable.x86_64: W: spelling-error %description -l en_US zoomable -> zoom able, zoom-able, fathomable darktable.x86_64: W: non-conffile-in-etc /etc/gconf/schemas/darktable.schemas 2 packages and 0 specfiles checked; 0 errors, 4 warnings. Please, feel free to ask me for something else :) *still waiting for including* *sigh*
(In reply to comment #15) > E: invalid-soname /usr/lib64/libdarktable.so libdarktable.so > > I think is because it needs a version number (libdarktable-0.5.3.so ?) I think it is a result of wrong position. I do not see why it need to be versionized. > The shared-lib-calls-exit /usr/lib64/libdarktable.so > exit.5 > > You could find the exit call in the library, and patch it out.. Whule this library is used only for darktable itself there is no need for such cleanup (but, it is done in git). I suppose now it could be acceptable. > W: non-conffile-in-etc /etc/gconf/schemas/darktable.schemas It is not config fle in general meaning. Warning have no scence. So, %config(noreplace) not needed. I'v looked in couple of packages (i.e. shotwell), contained scemas, they done as %{_sysconfdir} only.
rpath patch was accepted by upstream.
spec for git version (could be used for future release): http://depositfiles.com/files/7darfe76x # rpmlint darktable-0.5.59-2.git6b628ce.fc13.src.rpm darktable-0.5.59-2.git6b628ce.fc13.x86_64.rpm darktable.src: W: spelling-error %description -l en_US lighttable -> light table, light-table, lighterage darktable.src: W: spelling-error %description -l en_US zoomable -> zoom able, zoom-able, fathomable darktable.x86_64: W: spelling-error %description -l en_US zoomable -> zoom able, zoom-able, fathomable darktable.x86_64: W: non-conffile-in-etc /etc/gconf/schemas/darktable.schemas darktable.x86_64: W: dangerous-command-in-%pre rm darktable.x86_64: W: dangerous-command-in-%post rm 2 packages and 0 specfiles checked; 0 errors, 6 warnings. dangerous-command-in-*: supposed scripts contain it. Skipped. Patch: remove Encoding value from darktable.desktop. Problem: no icon for darktable in menu. Can't undestand why.
Suddenly icon appeared. Still do not know - why. Testing needed. After reinstall (remove, cache drop, install) icon present. Looks like my problem. I'l try to push Encoding entry in darktable.desktop removing in upstream. But at least it could be remain as a patch.
Sorry for flood. Patch for .desktop is accepted by upstream. For future 0.6 release (and current b578cba git) it's not needed. Btw, it's planning to release in the first half of august. Btw, latest spec: http://depositfiles.com/files/5chv5zkbj
Hm. Ping? And as a tradition: latest spec, add gnome-keyring to BR http://depositfiles.com/files/35mutjy2z
I'm a bit lost, where is your rpath patch? I'd like to include it in my darktable package. Or the chrpath --delete is good enough?
(In reply to comment #23) > I'm a bit lost, where is your rpath patch? Rpath patch: http://fpaste.org/ru5O/ (there "View raw" link is trying to hide :) ). In the nearest future (at the end of August) 0.6 will be released (with this patch included), may be it will be better to wait for a wile.
Darktable 0.6 is out! # rpmlint darktable-0.6-1.fc13.src.rpm darktable-0.6-1.fc13.x86_64.rpm darktable-debuginfo-0.6-1.fc13.x86_64.rpm darktable.src: W: spelling-error %description -l en_US lighttable -> light table, light-table, lighterage darktable.src: W: spelling-error %description -l en_US zoomable -> zoom able, zoom-able, fathomable darktable.x86_64: W: spelling-error %description -l en_US zoomable -> zoom able, zoom-able, fathomable darktable.x86_64: W: non-conffile-in-etc /etc/gconf/schemas/darktable.schemas darktable.x86_64: W: dangerous-command-in-%pre rm darktable.x86_64: W: dangerous-command-in-%post rm 3 packages and 0 specfiles checked; 0 errors, 6 warnings. Spec: http://depositfiles.com/files/j6lwrecol Srpm: http://depositfiles.com/files/krwpg7dm7 Patch is needed to truncate wrong space. Only one space, but is is an error. I think, now is culd go further?
Here are my last files: Spec: http://www.linuxed.net/~madko/fedora/darktable.spec SRPM: http://www.linuxed.net/~madko/fedora/darktable-0.6-5.fc13.src.rpm i386: http://www.linuxed.net/~madko/fedora/darktable-0.6-5.fc13.i686.rpm x64 : http://www.linuxed.net/~madko/fedora/darktable-0.5-3.fc12.x86_64.rpm Build is fine under mock, rpmlint output: darktable.i686: W: non-conffile-in-etc /etc/gconf/schemas/darktable.schemas A non-executable file in your package is being installed in /etc, but is not a configuration file. All non-executable files in /etc should be configuration files. Mark the file as %config in the spec file. darktable.i686: W: dangerous-command-in-%pre rm darktable.i686: W: dangerous-command-in-%post rm The rm are from the gconf-schema guidelines can we ignore them? PS: Sorry Dimitrij can't get your files from depositfiles.
(In reply to comment #26) > Build is fine under mock, rpmlint output: > darktable.i686: W: non-conffile-in-etc /etc/gconf/schemas/darktable.schemas > A non-executable file in your package is being installed in /etc, but is not a > configuration file. All non-executable files in /etc should be configuration > files. Mark the file as %config in the spec file. Hm. > PS: Sorry Dimitrij can't get your files from depositfiles. May be you can suggest another file storage? I haven't my own. Diff between yours: 1. %configure --disable-schemas \ --disable-static ------------------------------------------- First - might be clear, second - not to make static libs. 2. %post update-desktop-database &> /dev/null ||: touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : ------------------------------------------- First - register .desktop file, second - update icons db. 3. %postun update-desktop-database &> /dev/null || : if [ $1 -eq 0 ] ; then touch --no-create %{_datadir}/icons/hicolor &>/dev/null gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : fi %posttrans gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : ------------------------------------------- The same. 4. In .desktop patch I'm removing only one space char but not empty strings, they are allowed. 5. I haven't Requires(pre/post/preun). In Fedora they are not required, only in RHEL. Do you want to maintain darktable in RHEL? 6. %gconf_schema_* can work with argument without .schemas (i.e. %gconf_schema_prepare darktable). I don't know, is it even correct to add .schemas. But - I don't know, so if it works - it works. In examples .schemas omitted.
Hi Dmitrij, I will add all your diff and of course credit them to you in the changelog, is that ok? 1. I remember trying the --disable-schemas without making any change in the result. Maybe I haven't look in the right place. 2. and 3. are ok for me, just forgot to do this steps 4. Will hunt this one space char and let the empty lines 5. Didn't know that, I've just followed the package guidelines about gconf schemas. 6. I've just followed this http://fedoraproject.org/wiki/Packaging/ScriptletSnippets#GConf guidelines, I don't know much more about schemas...
Hi, >is that ok? Sure. >1. I remember trying the --disable-schemas without making any change in the result If --disable-schemas does not affect anything it could be dropped ofcause. >4. Will hunt this one space char and let the empty lines This change already in git, 0.6.1 will not require it. >5. Didn't know that, I've just followed the package guidelines about gconf schemas. Hm. Can't found where I'v read this. So, if I cann't show the source, I can't insist on it. >6. I've just followed this From source: >If the old schema was named foo.schemas and the new schema is named foobar.schemas you'd use: >%gconf_schema_prepare foobar
So here are the latest files, with your suggestions Dmitrij: Spec: http://www.linuxed.net/~madko/fedora/darktable.spec SRPM: http://www.linuxed.net/~madko/fedora/darktable-0.6-6.fc13.src.rpm i386: http://www.linuxed.net/~madko/fedora/darktable-0.6-6.fc13.i686.rpm x64 : http://www.linuxed.net/~madko/fedora/darktable-0.6-6.fc12.x86_64.rpm The gconf schemas file still has issues with rpmlint. The macros (%gconf_schema_*) from http://fedoraproject.org/wiki/Packaging/ScriptletSnippets#GConf create some "rm" in the scripts. Despite those warnings I hope this is correct. I have checked some other packages that deal with gconf schema files and they don't use those macros so is the http://fedoraproject.org/wiki/Packaging/ScriptletSnippets#GConf up to date and correct? --- rpmlint: darktable.x86_64: W: non-conffile-in-etc /etc/gconf/schemas/darktable.schemas A non-executable file in your package is being installed in /etc, but is not a configuration file. All non-executable files in /etc should be configuration files. Mark the file as %config in the spec file. darktable.x86_64: W: dangerous-command-in-%pre rm darktable.x86_64: W: dangerous-command-in-%post rm 1 packages and 0 specfiles checked; 0 errors, 3 warnings. ---
Some words to add. With --disable-static you are not need any more: >find $RPM_BUILD_ROOT -name '*.a' -exec rm -f {} ';' Then: >Patch0: darktable-%{version}_desktop.patch It is not propper to use macroses (%{name}, %{version}, etc) in patch name. Some Fedora-specific (or any else) patches could move from one version to another without changes. In _this_ case it does not make any sense, but in general - does. And - yeah! I'm writen into history! :)
Ok I will remove the deletion of the *.a files. For the patch I added the version because I thought the desktop file will be fixed upstream.
I'll review it and I can sponsor Edouard
Koji scratchbuild for F-13: http://koji.fedoraproject.org/koji/taskinfo?taskID=2476044 +/- rpmlint isn't completely silent: work ~/Desktop: rpmlint darktable-* darktable.i686: W: non-conffile-in-etc /etc/gconf/schemas/darktable.schemas darktable.i686: W: dangerous-command-in-%pre rm darktable.i686: W: dangerous-command-in-%post rm 2 packages and 0 specfiles checked; 0 errors, 3 warnings. work ~/Desktop: Should /etc/gconf/schemas/darktable.schemas be really treated as unchangeable by user? - The package does NOT meet the Packaging Guidelines fully: 1. Please, remove the following directory $RPM_BUILD_ROOT%{_datadir}/doc/darktable at the end of %install section - you later marked all necessary files as docs and they will be automatically installed by rpmbuild properly (with name and version of package). 2. Typo in one %changelog entry: * Fri Sep 10 2010 Edouard Bourguignon <<madko> note - double forward angle bracket. 3. BuildRequires: gegl-devel mentioned twice. Please remove the first one.\ 4. Please, take a look at the build logs. What warns me is basically two things. First, message "configure: WARNING: unrecognized options: --disable-schemas" - please fix/remove it. Second - although build data was built, I found this message during configuration - "checking whether to enable debugging... no". What this message means exactly? Does that mean some kind of run-time logging or something to deal with "strip"? 5. During configure stage the application performs the following test - "checking pkg-config is at least version 0.22... yes", and you didn't specify the required number of pkg-config in spec-file - please fix that. 6. Regarding %{withgegl} macro - I believe that the proper form is %{with_gegl} (note the underscore). Please try to rebuild --with-gegl and see whether this switch is actually working or not. 7. Bundled library - src/LibRaw. It was already packaged for Fedora, so please remove it and build against system-wide copy (you should patch application if it doesn't allow this). Or please explain why it can't be done simply (forked and patched copy of library, as example). That's all so far.
Thank you Peter for your review, I will fix that as soon as possible. Note sure to know how to fix 4. and 7.
(In reply to comment #35) > Thank you Peter for your review, I will fix that as soon as possible. Note sure > to know how to fix 4. and 7. Regarding 4 - I just cheched sources - it adds more verbose output somewhere in sources. I believe it's safe for uns to NOT to enable this option since it has nothing with debugging symbols for GDB. As for --disable-schemas - just remove this configure switch. It seems that it was removed entirely. I'll take a look at the №7 issue more closely in a couple of hours.
Done or fixed: 2. 3. 5. 6. What remains: 1. if I remove this directory rpmbuild complains that it can't find files in /usr/share/doc/darktable 4. Will look at the log asap 7. Will try to check that asap Spec: http://www.linuxed.net/~madko/fedora/darktable.spec SRPM: http://www.linuxed.net/~madko/fedora/darktable-0.6-8.fc13.src.rpm i386: http://www.linuxed.net/~madko/fedora/darktable-0.6-8.fc13.i686.rpm x64 : http://www.linuxed.net/~madko/fedora/darktable-0.6-8.fc12.x86_64.rpm
Again regarding №4 - you already addressed all my complaints by removing obsolete configure switch. My concerns were that not using debug-related switch may cause issues with generating debuginfo but I checked ant it seems that this switch has nothing to do with GDB data. So just proceed with issue №7. As for №1, I'll take a look again, but I'm suspecting that you removed it in the wrong way (for example, only from %files but not from rpm_build_root). One more (mostly cosmetic) issue - please consistently use macros. Sometimes you;re using %{buildroot} and sometimes $RPM_BUILD_ROOT. Please use only one of these two.
Edouard, I did some little investigation, and found that LibRaw is neither in Fedora nor pending review, so you may ignore my complaint regarding bundled LibRaw. We should postpone resolution of this issue until LibRaw will be included in Fedora. So the only issue left is №1. I'm investigating it right now. Stay tuned.
Ok, I added the following like at the end of %install section: rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/darktable and was managed to build darktable: http://koji.fedoraproject.org/koji/taskinfo?taskID=2481199 See - no duplicated doc files. So, please, add the line above to your spec, upload it and I'll finish this review.
That was exactly the same line I added as I said in Comment #37. I'm trying again maybe I was not awake. I see duplicated docs too: /usr/share/doc/darktable and /usr/share/doc/darktable-0.6 I guess the best to keep is the one with the version? So I need to change my files section %doc %{_datadir}/doc/darktable to %doc %{_datadir}/doc/darktable-%{version} ?
(In reply to comment #41) > That was exactly the same line I added as I said in Comment #37. I'm trying > again maybe I was not awake. > > I see duplicated docs too: > /usr/share/doc/darktable and /usr/share/doc/darktable-0.6 > I guess the best to keep is the one with the version? So I need to change my > files section %doc %{_datadir}/doc/darktable to %doc > %{_datadir}/doc/darktable-%{version} ? Nope. Just keep %doc README AUTHORS LICENSE TRANSLATORS This line tells rpmbuild that it needs to explicitly create /usr/share/doc/darktable-0.6 and install the mentioned files into this directory.
Ok so the problem was in my files section because I did't have %doc README AUTHORS LICENSE TRANSLATORS. I added the rm and modified the files section,now it's building fine. Here are the latest files, I hope they will be ok: http://www.linuxed.net/~madko/fedora/darktable.spec SRPM: http://www.linuxed.net/~madko/fedora/darktable-0.6-9.fc13.src.rpm i386: http://www.linuxed.net/~madko/fedora/darktable-0.6-9.fc13.i686.rpm x64 : http://www.linuxed.net/~madko/fedora/darktable-0.6-9.fc13.x86_64.rpm Thank you Peter for the review.
In fact you did have "%doc README AUTHORS LICENSE TRANSLATORS" in your spec. And now you added it twice :)
oops :p I'm uploading the files again
Ok files have been uploaded, same urls.
Ok, looks good now. Edouard, what's your FAS name?
Great! My FAS Name is "madko"
Oh, it seems that you're already sponsored by Mamoru Tasaka, so all I need so far is to say that this package is APPROVED.
Great :)
(In reply to comment #50) > Great :) Don't forget to provide actual SCM request as described here: https://fedoraproject.org/wiki/Package_SCM_admin_requests
New Package SCM Request ======================= Package Name: darktable Short Description: Utility to organize and develop raw images Owners: madko Branches: F-12 F-13 F-14 InitialCC:
Git done (by process-git-requests).
Thank you everyone
darktable-0.6-9.fc13 has been submitted as an update for Fedora 13. https://admin.fedoraproject.org/updates/darktable-0.6-9.fc13
darktable-0.6-9.fc12 has been submitted as an update for Fedora 12. https://admin.fedoraproject.org/updates/darktable-0.6-9.fc12
darktable-0.6-9.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/darktable-0.6-9.fc14
darktable-0.6-9.fc14 has been pushed to the Fedora 14 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 darktable'. You can provide feedback for this update here: https://admin.fedoraproject.org/updates/darktable-0.6-9.fc14
darktable-0.6-9.fc14 has been pushed to the Fedora 14 stable repository. If problems still persist, please make note of it in this bug report.
darktable-0.6-9.fc13 has been pushed to the Fedora 13 stable repository. If problems still persist, please make note of it in this bug report.
darktable-0.6-9.fc12 has been pushed to the Fedora 12 stable repository. If problems still persist, please make note of it in this bug report.