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 - coolo@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 - luizluca@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
%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.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 <http://blog.fraggod.net/2012/06/16/proper-ish-way-to-start-long-running-syst...)
+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+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org