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