Hello community,

here is the log from the commit of package openct for openSUSE:Factory checked 
in at 2014-05-22 20:38:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openct (Old)
 and      /work/SRC/openSUSE:Factory/.openct.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openct"

Changes:
--------
--- /work/SRC/openSUSE:Factory/openct/openct.changes    2013-04-26 
19:21:37.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.openct.new/openct.changes       2014-05-22 
20:38:32.000000000 +0200
@@ -1,0 +2,21 @@
+Sun May 11 05:40:53 UTC 2014 - co...@suse.com
+
+- do not install init scripts for systemd distributions
+  and fix previous .changes to follow guidelines
+
+-------------------------------------------------------------------
+Tue Dec  3 18:57:00 UTC 2013 - luizl...@tre-sc.gov.br
+
+- Do not overwrite _udevrulesdir macro when defined
+- Added libudev-devel in order to get correct udevdir
+- Fixed udev rules permissions on devices in order to user/group scard be able 
to use them.
+  * Fixes Bug 580144, partial Bug 681680, maybe Bug 544895
+ (added openct-udev-permission.patch)
+- Disabled default force_pool option, as it is not needed in recent kernels:
+  openct-disable_forcepool.patch
+- Added support for systemd. Fixed instability on hotplug
+  * Bug 750310 might be closed as it was about sysV init script
+  (added openct-systemd.patch)
+- Now, openct is able to list and talk with all supported token tested.
+
+-------------------------------------------------------------------

New:
----
  openct-disable_forcepool.patch
  openct-handler@.service
  openct-systemd.patch
  openct-udev-permission.patch
  openct.service

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ openct.spec ++++++
--- /var/tmp/diff_new_pack.nnu2sa/_old  2014-05-22 20:38:33.000000000 +0200
+++ /var/tmp/diff_new_pack.nnu2sa/_new  2014-05-22 20:38:33.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package openct
 #
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,10 +16,23 @@
 #
 
 
-%if 0%{?suse_version} >= 1230
-%define _udevrulesdir /usr/lib/udev
+%if 0%{?sles_version} == 10
+%define _udevdir /lib/udev
 %else
-%define _udevrulesdir /lib/udev
+%define _udevdir %(pkg-config --variable=udevdir udev)
+%endif
+%if "x%{?_udevdir}" == "x"
+%if 0%{?sles_version} == 11
+%define _udevdir /lib/udev
+%endif
+%endif
+
+%if "x%{?_udevrulesdir}" == "x"
+%if 0%{?sles_version} >= 11
+%define _udevrulesdir %{_udevdir}/rules.d
+%else
+%define _udevrulesdir %{_udevdir}
+%endif
 %endif
 
 Name:           openct
@@ -29,6 +42,9 @@
 BuildRequires:  doxygen
 BuildRequires:  krb5-devel
 BuildRequires:  libtool
+%if 0%{?sles_version} > 10
+BuildRequires:  libudev-devel
+%endif
 BuildRequires:  libusb-devel
 BuildRequires:  openldap2-devel
 BuildRequires:  pcsc-lite-devel
@@ -43,7 +59,12 @@
 Source2:        README.SUSE
 Source3:        baselibs.conf
 Source4:        %{name}-rpmlintrc
+Source5:        %{name}.service
+Source6:        %{name}-handler@.service
 Patch1:         %{name}-init.patch
+Patch2:         %{name}-udev-permission.patch
+Patch3:         %{name}-systemd.patch
+Patch4:         %{name}-disable_forcepool.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # These UID and GID must be equal to values in the pcsc-lite.spec:
 %define USER   scard
@@ -60,6 +81,11 @@
 Enhances:       %USBDRIVERS
 # Generic CCID devices:
 Enhances:       modalias(usb:*ic0Bisc00d*dc*dsc*dp*ic*isc*ip*)
+%if 0%{?suse_version} > 1140
+BuildRequires:  pkgconfig(systemd)
+%{?systemd_requires}
+%define has_systemd 1
+%endif
 
 %description
 OpenCT is a set of library and tools to talk to smart card readers.
@@ -143,9 +169,16 @@
     Andreas Jellinghaus <a...@dungeon.inka.de>
 
 %prep
+
 %setup -q -n %{name}-%{version}
 cp -a %{S:2} .
 %patch1
+%patch2 -p1
+%if 0%{?has_systemd}
+%patch3 -p1
+%endif
+%patch4 -p1
+
 sed -i 's/@USER@/%{USER}/g;s/@GROUP@/%{GROUP}/g' etc/init-script.in
 tr -d \\r <doc/nonpersistent/wiki.out/trac.css 
>doc/nonpersistent/wiki.out/trac.css.unix
 touch -r doc/nonpersistent/wiki.out/trac.css 
doc/nonpersistent/wiki.out/trac.css.unix
@@ -167,51 +200,82 @@
        --with-daemon-groups=%{GROUP}\
        --with-bundle=%{ifddir}\
        --with-ifddir=%{ifddir}\
-       --with-udev=%{_udevrulesdir}
+       --with-udev=%{_udevdir}
 make %{?jobs:-j%jobs}
 
 %install
 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
 %makeinstall
 #
+
+# meanless to create on /run as it is tmpfs
+%if 0%{?suse_version} >= 1220
+mkdir -p "%{buildroot}/usr/lib/tmpfiles.d/"
+cat >%{buildroot}/usr/lib/tmpfiles.d/%{name}.conf <<EOF
+d /var/run/%{name} 0755 %{USER} %{GROUP}
+EOF
+%else
 # Create directory
 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/openct
 # NOTE: Example in the source recommends 750, but this value allows
 # access only to dedicated users and root.
 chmod 0755 $RPM_BUILD_ROOT%{_localstatedir}/run/openct
-#
+%endif
+
+# Install 60-openct.rules rule for udev
+mkdir -p $RPM_BUILD_ROOT%{_udevrulesdir}
+install -m0644 etc/openct.udev $RPM_BUILD_ROOT%{_udevrulesdir}/60-openct.rules
+%if 0%{?has_systemd} 
+# add systemd services (based on 
http://blog.fraggod.net/2012/06/16/proper-ish-way-to-start-long-running-systemd-service-on-udev-event-device-hotplug.html)
+install -D -m 0644 %{SOURCE5} $RPM_BUILD_ROOT%{_unitdir}/%{name}.service
+install -D -m 0644 %{SOURCE6} 
$RPM_BUILD_ROOT%{_unitdir}/%{name}-handler@.service
+ln -s /usr/sbin/service $RPM_BUILD_ROOT%{_sbindir}/rcopenct
+rm -f $RPM_BUILD_ROOT%{_udevdir}/openct_*
+%else
 # Install init script
 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/init.d
 install etc/init-script $RPM_BUILD_ROOT%{_sysconfdir}/init.d/openct
 ln -s ../..%{_sysconfdir}/init.d/openct $RPM_BUILD_ROOT%{_sbindir}/rcopenct
-# Install 60-openct.rules rule for udev
-mkdir -p $RPM_BUILD_ROOT%{udevrulesdir}
-install -m0644 etc/openct.udev $RPM_BUILD_ROOT%{_udevrulesdir}/60-openct.rules
+%endif
 #
 # Copy the rest of documentation
 cp LGPL-2.1 README.SUSE TODO doc/nonpersistent/ChangeLog 
etc/openct-disable.fdi $RPM_BUILD_ROOT%{_docdir}/%{name}
 # And remove pointless .la file
 rm $RPM_BUILD_ROOT%{_libdir}/libopenct.la
 
+%pre
+%if 0%{?has_systemd}
+%service_add_pre %{name}.service
+%endif
+
 %preun
 %{stop_on_removal openct}
+%if 0%{?has_systemd} 
+%service_del_preun %{name}.service
+%endif
 
 %post
-# Remove possible orphans created by openct<=0.6.15 before 
openct-status-lock-orphans.patch (openSUSE <= 11.1, SLE <= 11):
-rm -f %{_localstatedir}/run/openct/status.lock.*
+%if 0%{?has_systemd}
+%service_add_post %{name}.service
+%else
 %{fillup_and_insserv -y openct}
+%endif
+%if 0%{?suse_version} >= 1220
+systemd-tmpfiles --create /usr/lib/tmpfiles.d/%{name}.conf
+%endif
 
 %postun
 %{restart_on_update openct}
+%if 0%{?has_systemd}
+%service_del_postun %{name}.service
+%else
 %{insserv_cleanup}
+%endif
 
 %post -n libopenct1 -p /sbin/ldconfig
 
 %postun -n libopenct1 -p /sbin/ldconfig
 
-%clean
-rm -rf $RPM_BUILD_ROOT
-
 %files
 %defattr(-,root,root)
 %doc %dir %{_docdir}/%{name}
@@ -224,12 +288,22 @@
 %doc %{_docdir}/%{name}/openct-disable.fdi
 %doc %{_docdir}/%{name}/wiki
 %{_bindir}/*
+%if 0%{?suse_version} >= 1220
+/usr/lib/tmpfiles.d/openct.conf
+%else
 %ghost %dir %{_localstatedir}/run/openct
+%endif
 %doc %{_mandir}/man?/*.*
 %{_sbindir}/*
-%{_sysconfdir}/init.d/openct
 %config(noreplace) %{_sysconfdir}/openct.conf
-%{_udevrulesdir}/*
+%{_udevrulesdir}/60-openct.rules
+%if 0%{?has_systemd}
+%{_unitdir}/%{name}.service
+%{_unitdir}/%{name}-handler@.service
+%else
+%{_udevdir}/openct_*
+%{_sysconfdir}/init.d/openct
+%endif
 
 %files -n libopenct1
 %defattr(-,root,root)

++++++ openct-disable_forcepool.patch ++++++
--- openct-0.6.20/etc/openct.conf.in.old        2013-11-08 18:43:56.126300298 
-0200
+++ openct-0.6.20/etc/openct.conf.in    2013-11-08 18:43:59.899270062 -0200
@@ -13,7 +13,7 @@
        #  >=linux-2.6.27.14
        #  >=linux-2.6.28.3
        #
-       force_poll      = 1;
+       #force_poll     = 1;
 @ENABLE_NON_PRIVILEGED@        user            = @daemon_user@;
 @ENABLE_NON_PRIVILEGED@        groups = {
 @ENABLE_NON_PRIVILEGED@                @daemon_groups@,
++++++ openct-handler@.service ++++++
[Unit]
Requires=openct.service

[Service]
Type=forking
GuessMainPID=false
ExecStart=/bin/sh -c "exec openct-control attach %I"
++++++ openct-systemd.patch ++++++
--- openct-0.6.20/etc/openct.udev.in.nosystemd  2013-11-08 18:23:41.693013415 
-0200
+++ openct-0.6.20/etc/openct.udev.in    2013-11-08 18:24:21.769693545 -0200
@@ -28,47 +28,47 @@
 ATTR{bInterfaceClass}=="0b", ATTR{bInterfaceSubClass}=="00", 
ATTR{bInterfaceProtocol}=="00", ATTRS{idVendor}=="?*", MODE="0660", 
GROUP="scard", RUN+="@udevdir@/openct_usb /dev/$parent"
 
 # egate
-ATTR{idVendor}=="0973", ATTR{idProduct}=="0001", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="0973", ATTR{idProduct}=="0001", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
 # eToken
-ATTR{idVendor}=="0529", ATTR{idProduct}=="050c", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
-ATTR{idVendor}=="0529", ATTR{idProduct}=="0514", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="0529", ATTR{idProduct}=="050c", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
+ATTR{idVendor}=="0529", ATTR{idProduct}=="0514", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
 # eToken 64
-ATTR{idVendor}=="0529", ATTR{idProduct}=="0600", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
-ATTR{idVendor}=="0529", ATTR{idProduct}=="0700", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="0529", ATTR{idProduct}=="0600", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
+ATTR{idVendor}=="0529", ATTR{idProduct}=="0700", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
 # eutron
-ATTR{idVendor}=="073d", ATTR{idProduct}=="0005", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="073d", ATTR{idProduct}=="0005", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
 # ikey2k
-ATTR{idVendor}=="04b9", ATTR{idProduct}=="1200", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
-ATTR{idVendor}=="04b9", ATTR{idProduct}=="1202", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="04b9", ATTR{idProduct}=="1200", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
+ATTR{idVendor}=="04b9", ATTR{idProduct}=="1202", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
 # ikey3k
-ATTR{idVendor}=="04b9", ATTR{idProduct}=="1300", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="04b9", ATTR{idProduct}=="1300", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
 # starkey
-ATTR{idVendor}=="096e", ATTR{idProduct}=="0005", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="096e", ATTR{idProduct}=="0005", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
 # cardman
-#ATTR{idVendor}=="076b", ATTR{idProduct}=="0596", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
-#ATTR{idVendor}=="076b", ATTR{idProduct}=="1784", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
-#ATTR{idVendor}=="08d4", ATTR{idProduct}=="0009", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+#ATTR{idVendor}=="076b", ATTR{idProduct}=="0596", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
+#ATTR{idVendor}=="076b", ATTR{idProduct}=="1784", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
+#ATTR{idVendor}=="08d4", ATTR{idProduct}=="0009", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
 
 # spr 532 - ccid, but with wrong interface class (vendor) :(
-ATTR{idVendor}=="04e6", ATTR{idProduct}=="0003", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
-ATTR{idVendor}=="04e6", ATTR{idProduct}=="E003", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="04e6", ATTR{idProduct}=="0003", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
+ATTR{idVendor}=="04e6", ATTR{idProduct}=="E003", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
 # pertosmart1030
-ATTR{idVendor}=="072f", ATTR{idProduct}=="0001", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
-ATTR{idVendor}=="072f", ATTR{idProduct}=="8009", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="072f", ATTR{idProduct}=="0001", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
+ATTR{idVendor}=="072f", ATTR{idProduct}=="8009", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
 # pertosmart1038
-ATTR{idVendor}=="072f", ATTR{idProduct}=="9000", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
-ATTR{idVendor}=="072f", ATTR{idProduct}=="9006", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
-ATTR{idVendor}=="072f", ATTR{idProduct}=="9007", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
-ATTR{idVendor}=="072f", ATTR{idProduct}=="90d0", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="072f", ATTR{idProduct}=="9000", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
+ATTR{idVendor}=="072f", ATTR{idProduct}=="9006", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
+ATTR{idVendor}=="072f", ATTR{idProduct}=="9007", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
+ATTR{idVendor}=="072f", ATTR{idProduct}=="90d0", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
 # wbeiuu       - driver not working yet.
-#ATTR{idVendor}=="104f", ATTR{idProduct}=="0004", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+#ATTR{idVendor}=="104f", ATTR{idProduct}=="0004", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
 # cyberjack
-ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0100", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0100", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
 # rutoken
-ATTR{idVendor}=="0a89", ATTR{idProduct}=="0020", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
-ATTR{idVendor}=="0a89", ATTR{idProduct}=="0012", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="0a89", ATTR{idProduct}=="0020", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
+ATTR{idVendor}=="0a89", ATTR{idProduct}=="0012", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
 # ePass3000
-ATTR{idVendor}=="096e", ATTR{idProduct}=="0401", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="096e", ATTR{idProduct}=="0401", MODE="0660", GROUP="scard", 
TAG+="systemd", 
ENV{SYSTEMD_WANTS}="openct-handler@usb:$env{ID_VENDOR_ID}-$env{ID_MODEL_ID}-$env{ID_REVISION}\x20usb\x20-dev-bus-usb-$env{BUSNUM}-$env{DEVNUM}.service"
 
 LABEL="openct_usb_rules_end"
 
++++++ openct-udev-permission.patch ++++++
--- openct-0.6.20/etc/openct.udev.in.old        2013-11-08 17:18:41.053545855 
-0200
+++ openct-0.6.20/etc/openct.udev.in    2013-11-08 18:23:41.693013415 -0200
@@ -25,49 +25,50 @@
 PROGRAM="/bin/sleep 0.1"
 
 # ccid
-ATTR{bInterfaceClass}=="0b", ATTR{bInterfaceSubClass}=="00", 
ATTR{bInterfaceProtocol}=="00", ATTRS{idVendor}=="?*"  
RUN+="@udevdir@/openct_usb /dev/$parent"
+ATTR{bInterfaceClass}=="0b", ATTR{bInterfaceSubClass}=="00", 
ATTR{bInterfaceProtocol}=="00", ATTRS{idVendor}=="?*", MODE="0660", 
GROUP="scard", RUN+="@udevdir@/openct_usb /dev/$parent"
 
 # egate
-ATTR{idVendor}=="0973", ATTR{idProduct}=="0001", RUN+="@udevdir@/openct_usb 
/dev/$name"
+ATTR{idVendor}=="0973", ATTR{idProduct}=="0001", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
 # eToken
-ATTR{idVendor}=="0529", ATTR{idProduct}=="050c", RUN+="@udevdir@/openct_usb 
/dev/$name"
-ATTR{idVendor}=="0529", ATTR{idProduct}=="0514", RUN+="@udevdir@/openct_usb 
/dev/$name"
+ATTR{idVendor}=="0529", ATTR{idProduct}=="050c", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="0529", ATTR{idProduct}=="0514", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
 # eToken 64
-ATTR{idVendor}=="0529", ATTR{idProduct}=="0600", RUN+="@udevdir@/openct_usb 
/dev/$name"
-ATTR{idVendor}=="0529", ATTR{idProduct}=="0700", RUN+="@udevdir@/openct_usb 
/dev/$name"
+ATTR{idVendor}=="0529", ATTR{idProduct}=="0600", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="0529", ATTR{idProduct}=="0700", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
 # eutron
-ATTR{idVendor}=="073d", ATTR{idProduct}=="0005", RUN+="@udevdir@/openct_usb 
/dev/$name"
+ATTR{idVendor}=="073d", ATTR{idProduct}=="0005", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
 # ikey2k
-ATTR{idVendor}=="04b9", ATTR{idProduct}=="1200", RUN+="@udevdir@/openct_usb 
/dev/$name"
+ATTR{idVendor}=="04b9", ATTR{idProduct}=="1200", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="04b9", ATTR{idProduct}=="1202", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
 # ikey3k
-ATTR{idVendor}=="04b9", ATTR{idProduct}=="1300", RUN+="@udevdir@/openct_usb 
/dev/$name"
+ATTR{idVendor}=="04b9", ATTR{idProduct}=="1300", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
 # starkey
-ATTR{idVendor}=="096e", ATTR{idProduct}=="0005", RUN+="@udevdir@/openct_usb 
/dev/$name"
+ATTR{idVendor}=="096e", ATTR{idProduct}=="0005", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
 # cardman
-#ATTR{idVendor}=="076b", ATTR{idProduct}=="0596", RUN+="@udevdir@/openct_usb 
/dev/$name"
-#ATTR{idVendor}=="076b", ATTR{idProduct}=="1784", RUN+="@udevdir@/openct_usb 
/dev/$name"
-#ATTR{idVendor}=="08d4", ATTR{idProduct}=="0009", RUN+="@udevdir@/openct_usb 
/dev/$name"
+#ATTR{idVendor}=="076b", ATTR{idProduct}=="0596", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+#ATTR{idVendor}=="076b", ATTR{idProduct}=="1784", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+#ATTR{idVendor}=="08d4", ATTR{idProduct}=="0009", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
 
 # spr 532 - ccid, but with wrong interface class (vendor) :(
-ATTR{idVendor}=="04e6", ATTR{idProduct}=="0003", RUN+="@udevdir@/openct_usb 
/dev/$name"
-ATTR{idVendor}=="04e6", ATTR{idProduct}=="E003", RUN+="@udevdir@/openct_usb 
/dev/$name"
+ATTR{idVendor}=="04e6", ATTR{idProduct}=="0003", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="04e6", ATTR{idProduct}=="E003", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
 # pertosmart1030
-ATTR{idVendor}=="072f", ATTR{idProduct}=="0001", RUN+="@udevdir@/openct_usb 
/dev/$name"
-ATTR{idVendor}=="072f", ATTR{idProduct}=="8009", RUN+="@udevdir@/openct_usb 
/dev/$name"
+ATTR{idVendor}=="072f", ATTR{idProduct}=="0001", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="072f", ATTR{idProduct}=="8009", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
 # pertosmart1038
-ATTR{idVendor}=="072f", ATTR{idProduct}=="9000", RUN+="@udevdir@/openct_usb 
/dev/$name"
-ATTR{idVendor}=="072f", ATTR{idProduct}=="9006", RUN+="@udevdir@/openct_usb 
/dev/$name"
-ATTR{idVendor}=="072f", ATTR{idProduct}=="9007", RUN+="@udevdir@/openct_usb 
/dev/$name"
-ATTR{idVendor}=="072f", ATTR{idProduct}=="90d0", RUN+="@udevdir@/openct_usb 
/dev/$name"
+ATTR{idVendor}=="072f", ATTR{idProduct}=="9000", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="072f", ATTR{idProduct}=="9006", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="072f", ATTR{idProduct}=="9007", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="072f", ATTR{idProduct}=="90d0", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
 # wbeiuu       - driver not working yet.
-#ATTR{idVendor}=="104f", ATTR{idProduct}=="0004", RUN+="@udevdir@/openct_usb 
/dev/$name"
+#ATTR{idVendor}=="104f", ATTR{idProduct}=="0004", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
 # cyberjack
-ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0100", RUN+="@udevdir@/openct_usb 
/dev/$name"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0100", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
 # rutoken
-ATTR{idVendor}=="0a89", ATTR{idProduct}=="0020", RUN+="@udevdir@/openct_usb 
/dev/$name"
-ATTR{idVendor}=="0a89", ATTR{idProduct}=="0012", RUN+="@udevdir@/openct_usb 
/dev/$name"
+ATTR{idVendor}=="0a89", ATTR{idProduct}=="0020", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
+ATTR{idVendor}=="0a89", ATTR{idProduct}=="0012", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
 # ePass3000
-ATTR{idVendor}=="096e", ATTR{idProduct}=="0401", RUN+="@udevdir@/openct_usb 
/dev/$name"
+ATTR{idVendor}=="096e", ATTR{idProduct}=="0401", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_usb /dev/$name"
 
 LABEL="openct_usb_rules_end"
 
@@ -77,9 +78,9 @@
 ACTION!="add", GOTO="openct_pcmcia_rules_end"
 
 # omnikey cardman 4040
-SUBSYSTEM=="cardman_4040", RUN+="@udevdir@/openct_pcmcia /dev/$name"
+SUBSYSTEM=="cardman_4040", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_pcmcia /dev/$name"
 
 # Gemplus PCMCIA Card
-DRIVERS=="serial_cs", ATTR{prod_id1}=="Gemplus", ATTR{prod_id2}=="SerialPort", 
ATTR{prod_id3}=="GemPC Card", RUN+="@udevdir@/openct_serial /dev/$name"
+DRIVERS=="serial_cs", ATTR{prod_id1}=="Gemplus", ATTR{prod_id2}=="SerialPort", 
ATTR{prod_id3}=="GemPC Card", MODE="0660", GROUP="scard", 
RUN+="@udevdir@/openct_serial /dev/$name"
 
 LABEL="openct_pcmcia_rules_end"
++++++ openct.service ++++++
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/openct-control init
ExecStop=/usr/sbin/openct-control shutdown

[Install]
WantedBy=multi-user.target

[Unit]
After=syslog.target
Description="Initialize the OpenCT smart card terminal framework."
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to