[Bug 732911] New: Wrong packaging of pcsc-lite - impossible retrieve list of terminals in any popular JVM
https://bugzilla.novell.com/show_bug.cgi?id=732911 https://bugzilla.novell.com/show_bug.cgi?id=732911#c0 Summary: Wrong packaging of pcsc-lite - impossible retrieve list of terminals in any popular JVM Classification: openSUSE Product: openSUSE 12.1 Version: Final Platform: x86 OS/Version: openSUSE 11.4 Status: NEW Severity: Normal Priority: P5 - None Component: Other AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: demsey@users.sourceforge.net QAContact: qa@suse.de Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20100101 Firefox/8.0 Problem has been appear after upgrade pcsc-lite from 1.6.6 to 1.7.2 I noticed that in pcsc-lite.spec 1.6.6 was comment in section %files # .so must be in the main package (#235773): %{_libdir}/*.so Sections %files, %files -n libpcsclite1 and %files devel from psc-lite.spec 1.6.6 %files %defattr(-,root,root) %doc %{_docdir}/{name} # .so must be in the main package (#235773): %{_libdir}/*.so %doc %{_mandir}/man?/*.* .. %files -n libpcsclite1 %defattr(-,root,root) %{_libdir}/libpcsclite.so.* %files devel %defattr(-,root,root) %{_includedir}/* %{_libdir}/*.*a %{_libdir}/pkgconfig/*.pc I don't know what was in #235773 I have unauthorized access. In next released version 1.7.2 comment: # .so must be in the main package (#235773): and next line: %{_libdir}/*.so was moved to section %files devel In effect symlink /usr/lib/libpcsclite.so (/usr/lib64/libpcsclite.so) are placed in pcsc-lite-devel rpm package It caused problem at invoking libpcsclite.so by JVM's In earlier version eg. 1.6.6 it was placed in pcsc-lite witch is required at run-time. Unfortunately as stay in https://bugs.launchpad.net/ubuntu/+source/sun-java6/+bug/378294 JVM's use libpcsclite.so instead of libpcsclite.so.1 Reproducible: Always Steps to Reproduce: 1. install pcsc-lite and libpcsclite1 rpms in version 1.7.2 or above 2. Check ls -la /usr/lib/libpcsclite.so or ls -la /usr/lib64/libpcsclite.so JVM's can't call libpcsclite.so.1 so PCSC capable SmartCard readers don't work in java Actual Results: /usr/lib/libpcsclite.so appears after installation pcsc-lite-devel rpm Expected Results: /usr/lib/libpcsclite.so appears after installation libpcsclite1 rpm and for 1.8.0 and above /usr/lib/libpcscspy.so appears after installation libpcscspy0 rpm Proposed solution for 1.8.1 and above versions is use in pcsc-lite.spec .. %files -n libpcsclite1 %defattr(-,root,root) %{_libdir}/libpcsclite.so* %files -n libpcscspy0 %defattr(-,root,root) %{_libdir}/libpcscspy.so* .. instead of .. %files -n libpcsclite1 %defattr(-,root,root) %{_libdir}/libpcsclite.so.* %files -n libpcscspy0 %defattr(-,root,root) %{_libdir}/libpcscspy.so.* .. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=732911 https://bugzilla.novell.com/show_bug.cgi?id=732911#c Robert Demski <demsey@users.sourceforge.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P5 - None |P3 - Medium Platform|x86 |PC Target Milestone|--- |Final -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=732911 https://bugzilla.novell.com/show_bug.cgi?id=732911#c Andreas Jaeger <aj@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|bnc-team-screening@forge.pr |sbrabec@suse.com |ovo.novell.com | -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=732911 https://bugzilla.novell.com/show_bug.cgi?id=732911#c1 Stanislav Brabec <sbrabec@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO InfoProvider| |demsey@users.sourceforge.ne | |t --- Comment #1 from Stanislav Brabec <sbrabec@suse.com> 2011-12-07 18:05:08 CET --- I agree with the bug. Somebody ignored the comment and moved .so file to the devel package. But the proposed solution "/usr/lib/libpcscspy.so appears after installation libpcscspy0 rpm" is impossible. It violates Shared Library Packaging Policy and makes impossible to install more library versions in parallel. What exactly means "retrieve list of terminals"? Is it related to smart cards? If the lack of the link causes problems unrelated to smart cards, I propose to create a separate sub-package which contains only this link and would refer to highest installed shared library version. => It will make possible to fix such package without installing complete pcsc-lite. If the lack of the link causes just brokenness of the smart card infrastructure, I propose to move the link to pcsc-lite package. => pcsc-lite has to be installed anyway to make smart card infrastructure working, and the missing link would make no problem on systems without any smart card hardware. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=732911 https://bugzilla.novell.com/show_bug.cgi?id=732911#c2 Robert Demski <demsey@users.sourceforge.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW CC| |demsey@users.sourceforge.ne | |t InfoProvider|demsey@users.sourceforge.ne | |t | --- Comment #2 from Robert Demski <demsey@users.sourceforge.net> 2011-12-07 18:15:05 UTC ---
But the proposed solution "/usr/lib/libpcscspy.so appears after installation libpcscspy0 rpm" is impossible. It violates Shared Library Packaging Policy and makes impossible to install more library versions in parallel. I was not aware of this policy:(
What exactly means "retrieve list of terminals"? Is it related to smart cards? Yes.
If the lack of the link causes just brokenness of the smart card infrastructure, Infrastructure is broken. (Without devel rpm) You may try that sample java code on sun-jdk or open-jdk (i don't test it on gnu java) http://ludovicrousseau.blogspot.com/2010/06/pcsc-sample-in-java.html
Just compile Blog.java and run: java Blog Assuming the "java -version" reports the use of sun-jdk or open-jdk
I propose to move the link to pcsc-lite package. => pcsc-lite has to be installed anyway to make smart card infrastructure working, and the missing link would make no problem on systems without any smart card hardware. I think the solution is acceptable. Exactly the same as was used prior to version 1.7.2:)
-- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=732911 https://bugzilla.novell.com/show_bug.cgi?id=732911#c3 Stanislav Brabec <sbrabec@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |wolfgang@rosenauer.org --- Comment #3 from Stanislav Brabec <sbrabec@suse.com> 2011-12-07 19:41:59 CET ---
I think the solution is acceptable. Exactly the same as was used prior to version 1.7.2:)
OK. I will do it. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=732911 https://bugzilla.novell.com/show_bug.cgi?id=732911#c4 Stanislav Brabec <sbrabec@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO InfoProvider| |maintenance@opensuse.org --- Comment #4 from Stanislav Brabec <sbrabec@suse.com> 2011-12-07 19:59:30 CET ---
I think the solution is acceptable. Exactly the same as was used prior to version 1.7.2:)
OK. I will do it. Package was modified by this change: Wed May 18 06:42:02 UTC 2011 - wr@rosenauer.org - moved libpcsclite1.so back to devel package To maintenance: It would be nice to fix it for 11.4 and 12.1 Bug 235773 refers to this problem on SLES10: When issueing "gpg --card-status" i get a "failed to open driver libpcsclite.so" ... "no such file or directory" error. It seems, that a corresponding link from /usr/lib/pcsclite.so.1.0.0 to /usr/lib/pcsclite.so is missing. gpg does not use smart cart API directly any more, so it is not an issue now. But it seems that more programs load libpcsclite.so instead of dynamic linking. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=732911 https://bugzilla.novell.com/show_bug.cgi?id=732911#c5 --- Comment #5 from Robert Demski <demsey@users.sourceforge.net> 2011-12-07 19:16:19 UTC --- I do not know whether this omission or mistake in the writing but the link should be /usr/lib/libpcsclite.so and not /usr/lib/pcsclite.so demsey:/home/demsey/devel/cpp/pcsc-test # ls -la /usr/lib/libpcsclite.so lrwxrwxrwx 1 root root 20 12-01 21:49 /usr/lib/libpcsclite.so -> libpcsclite.so.1.0.0 Does that mean the link in pcsc-lite package breaks other infrastructures? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=732911 https://bugzilla.novell.com/show_bug.cgi?id=732911#c6 --- Comment #6 from Wolfgang Rosenauer <wolfgang@rosenauer.org> 2011-12-07 20:26:15 UTC --- (In reply to comment #1)
I agree with the bug. Somebody ignored the comment and moved .so file to the devel package.
No, I didn't. Because I had no access to the original bugreport I talked to you about it before the move and the outcome was that it's not an issue anymore with gpg and therefore it should be fine ;-) This is just a new recognition that there is another reason to have it available and we didn't know about it before. About libpcscspy.so: There is no need to change anything here. That lib needs to be preloaded manually if needed anyway (for debug reasons). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=732911 https://bugzilla.novell.com/show_bug.cgi?id=732911#c7 --- Comment #7 from Stanislav Brabec <sbrabec@suse.com> 2011-12-08 16:57:42 CET --- To Wolfgang Rosenauer: Sorry about that. I forgot about our talk and later found that the original problem is no issue any more. I would propose to not move this link to the devel package, even if this bug will be no issue any more. In case of this library, it makes sense to use dlopen(), especially for third party packages: - It does not force to install smart card libraries. - Library has a stable basic API. libpcscspy.so: Will the manual preload use libpcscspy.so or libpcscspy.so.something? To Robert Demski: No. The link in pcsc-lite is OK. I was thinking about a possible problem: Imagine that you have no smart card hardware and no pcsc-lite installed (maybe just the library). Your application supports smart cards, wants to load libpcsclite.so, it fails and application fails. Well, such behavior would be really stupid (why to use dlopen() for a library that is not optional), and it would force you to install the whole smart card infrastructure just for a single symlink. If there is no real application that behaves in such a stupid way, then packaging the link into pcsc-lite is OK. Yes, I guess that the file requested is always libpcsclite.so and never pcsclite.so. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=732911 https://bugzilla.novell.com/show_bug.cgi?id=732911#c8 --- Comment #8 from Wolfgang Rosenauer <wolfgang@rosenauer.org> 2011-12-08 18:45:46 UTC --- (In reply to comment #7)
To Wolfgang Rosenauer: Sorry about that. I forgot about our talk and later found that the original problem is no issue any more.
np ;-)
I would propose to not move this link to the devel package, even if this bug will be no issue any more.
If it helps I'm perfectly fine to move it back. It'll cause issues once api soname changes to something else than 1
In case of this library, it makes sense to use dlopen(), especially for third party packages: - It does not force to install smart card libraries. - Library has a stable basic API.
Some third-party applications I know actually do dlopen() (I think) but still the .1 version. It has been "stable" for quite some time indeed. Interestingly pcsclite consumers still seem to fail with every other pcsc-lite version for whatever reason.
libpcscspy.so: Will the manual preload use libpcscspy.so or libpcscspy.so.something?
Manual preload means: Whatever the user sets as LD_PRELOAD. It's a tracing library to debug pcsc apps. See here http://ludovicrousseau.blogspot.com/2011/11/pcsc-api-spy-third-try.html -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=732911 https://bugzilla.novell.com/show_bug.cgi?id=732911#c9 --- Comment #9 from Stanislav Brabec <sbrabec@suse.com> 2011-12-09 18:45:13 CET --- openSUSE:11.3: Not affected. openSUSE:11.4: Created request id 96194. openSUSE:12.1: Created request id 96195. libpcscspy.so not moved. openSUSE:Factory: Created request id 96197. libpcscspy.so not moved. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=732911 https://bugzilla.novell.com/show_bug.cgi?id=732911#c10 --- Comment #10 from Bernhard Wiedemann <bwiedemann@suse.com> 2011-12-09 19:00:55 CET --- This is an autogenerated message for OBS integration: This bug (732911) was mentioned in https://build.opensuse.org/request/show/96194 11.4 / pcsc-lite https://build.opensuse.org/request/show/96197 Factory / pcsc-lite -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=732911 https://bugzilla.novell.com/show_bug.cgi?id=732911#c11 Swamp Workflow Management <swamp@suse.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Status Whiteboard| |maint:running:44550:moderat | |e --- Comment #11 from Swamp Workflow Management <swamp@suse.de> 2011-12-12 19:35:51 UTC --- The SWAMPID for this issue is 44550. This issue was rated as moderate. Please submit fixed packages until 2011-12-26. Also create a patchinfo file using this link: https://swamp.suse.de/webswamp/wf/44550 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=732911 https://bugzilla.novell.com/show_bug.cgi?id=732911#c13 --- Comment #13 from Bernhard Wiedemann <bwiedemann@suse.com> 2011-12-13 15:00:08 CET --- This is an autogenerated message for OBS integration: This bug (732911) was mentioned in https://build.opensuse.org/request/show/96462 12.1 / pcsc-lite -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=732911 https://bugzilla.novell.com/show_bug.cgi?id=732911#c14 Stanislav Brabec <sbrabec@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #14 from Stanislav Brabec <sbrabec@suse.com> 2011-12-13 15:02:53 CET --- openSUSE:12.1: Created request id 96462 with a correct package name. SWAMP created. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=732911 https://bugzilla.novell.com/show_bug.cgi?id=732911#c15 Swamp Workflow Management <swamp@suse.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Status Whiteboard|maint:running:44550:moderat |maint:running:44550:moderat |e |e maint:released:11.4:44561 --- Comment #15 from Swamp Workflow Management <swamp@suse.de> 2011-12-19 11:07:49 UTC --- Update released for: libpcsclite1, libpcsclite1-32bit, libpcsclite1-debuginfo, libpcsclite1-debuginfo-32bit, pcsc-lite, pcsc-lite-debuginfo, pcsc-lite-debugsource, pcsc-lite-devel Products: openSUSE 11.4 (debug, i586, x86_64) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=732911 https://bugzilla.novell.com/show_bug.cgi?id=732911#c Swamp Workflow Management <swamp@suse.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Status Whiteboard|maint:running:44550:moderat |maint:released:11.4:44561 |e maint:released:11.4:44561 | -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com