diff --git a/.gitignore b/.gitignore index e605e0b..a23f508 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,7 @@ rescan-scsi-bus.sh-1.35 /sg3_utils-1.40.tgz /sg3_utils-1.41.tgz /sg3_utils-1.42.tar.xz +/sg3_utils-1.44.tar.xz +/sg3_utils-1.45.tar.xz +/sg3_utils-1.46.tar.xz +/sg3_utils-1.48.tar.xz diff --git a/0001-rescan-scsi-bus.sh-fix-multipath-resize-without-upda.patch b/0001-rescan-scsi-bus.sh-fix-multipath-resize-without-upda.patch new file mode 100644 index 0000000..ab0c83b --- /dev/null +++ b/0001-rescan-scsi-bus.sh-fix-multipath-resize-without-upda.patch @@ -0,0 +1,27 @@ +From 89427a6328a737b6a64104a6988e4ab319f239c7 Mon Sep 17 00:00:00 2001 +From: Douglas Gilbert +Date: Mon, 16 Oct 2023 14:59:21 +0000 +Subject: [PATCH 1/3] rescan-scsi-bus.sh: fix multipath resize without update, + https://github.com/doug-gilbert/sg3_utils/pull/43.diff +X-Patchwork-Bot: notify + +git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@1055 6180dd3e-e324-4e3e-922d-17de1ae2f315 +--- + scripts/rescan-scsi-bus.sh | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/scripts/rescan-scsi-bus.sh b/scripts/rescan-scsi-bus.sh +index 0c25dbb1..7d74d90f 100755 +--- a/scripts/rescan-scsi-bus.sh ++++ b/scripts/rescan-scsi-bus.sh +@@ -1088,6 +1088,7 @@ findresized() + local mpathsize= + declare -a mpathsizes + ++ [ -e "$TMPLUNINFOFILE" ] || getallmultipathinfo + if [ -z "$lunsearch" ] ; then + devs=$(ls /sys/class/scsi_device/) + else +-- +2.44.0 + diff --git a/0002-rescan-scsi-bus.sh-remove-tmp-rescan-scsi-mpath-info.patch b/0002-rescan-scsi-bus.sh-remove-tmp-rescan-scsi-mpath-info.patch new file mode 100644 index 0000000..a17317a --- /dev/null +++ b/0002-rescan-scsi-bus.sh-remove-tmp-rescan-scsi-mpath-info.patch @@ -0,0 +1,58 @@ +From 593cb078d4e91591aa3be823715f11888b21f8e4 Mon Sep 17 00:00:00 2001 +From: Douglas Gilbert +Date: Tue, 17 Oct 2023 20:41:37 +0000 +Subject: [PATCH 2/3] rescan-scsi-bus.sh: remove + /tmp/rescan-scsi-mpath-info.txt; + https://github.com/doug-gilbert/sg3_utils/pull/44.diff +X-Patchwork-Bot: notify + +git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@1056 6180dd3e-e324-4e3e-922d-17de1ae2f315 +--- + scripts/rescan-scsi-bus.sh | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +diff --git a/scripts/rescan-scsi-bus.sh b/scripts/rescan-scsi-bus.sh +index 7d74d90f..188d071c 100755 +--- a/scripts/rescan-scsi-bus.sh ++++ b/scripts/rescan-scsi-bus.sh +@@ -7,7 +7,16 @@ + VERSION="20230413" + SCAN_WILD_CARD=4294967295 + +-TMPLUNINFOFILE="/tmp/rescan-scsi-mpath-info.txt" ++CLEANUP=: ++trap 'eval "$CLEANUP"' 0 ++TMPD=$(mktemp -d /tmp/rsb.XXXXXXXX) ++[ "$TMPD" ] || { ++ echo failed to create temporary directory >&2 ++ exit 1 ++} ++CLEANUP='rm -rf "$TMPD";'"$CLEANUP" ++ ++TMPLUNINFOFILE="$TMPD/rescan-scsi-mpath-info.txt" + + setcolor () + { +@@ -818,9 +827,9 @@ findremapped() + mpaths="" + local tmpfile= + +- tmpfile=$(mktemp /tmp/rescan-scsi-bus.XXXXXXXX 2> /dev/null) ++ tmpfile=$(mktemp "$TMPD/rescan-scsi-bus.XXXXXXXX" 2> /dev/null) + if [ -z "$tmpfile" ] ; then +- tmpfile="/tmp/rescan-scsi-bus.$$" ++ tmpfile="$TMPD/rescan-scsi-bus.$$" + rm -f $tmpfile + fi + +@@ -874,7 +883,6 @@ findremapped() + echo "$SCSISTR" + incrchgd "$hctl" + done < $tmpfile +- rm -f $tmpfile + + if [ -n "$mp_enable" ] && [ -n "$mpaths" ] ; then + echo "Updating multipath device mappings" +-- +2.44.0 + diff --git a/0003-rescan-scsi-bus.sh-fix-for-github.com-doug-gilbert-s.patch b/0003-rescan-scsi-bus.sh-fix-for-github.com-doug-gilbert-s.patch new file mode 100644 index 0000000..3f8caa9 --- /dev/null +++ b/0003-rescan-scsi-bus.sh-fix-for-github.com-doug-gilbert-s.patch @@ -0,0 +1,30 @@ +From bc99b8db2cf8afd04b1f9d68e9bd4f9d847b3c6f Mon Sep 17 00:00:00 2001 +From: Douglas Gilbert +Date: Thu, 21 Dec 2023 04:35:26 +0000 +Subject: [PATCH 3/3] rescan-scsi-bus.sh: fix for + github.com/doug-gilbert/sg3_utils/issues/46 +X-Patchwork-Bot: notify + +git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@1076 6180dd3e-e324-4e3e-922d-17de1ae2f315 +--- + scripts/rescan-scsi-bus.sh | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/scripts/rescan-scsi-bus.sh b/scripts/rescan-scsi-bus.sh +index 188d071c..52991e1e 100755 +--- a/scripts/rescan-scsi-bus.sh ++++ b/scripts/rescan-scsi-bus.sh +@@ -1240,7 +1240,9 @@ if [ -x /usr/bin/sg_inq ] ; then + if [ "$sg_turs_version" -gt 353 ] ; then + sg_turs_opt="--ascq=0x3a" + else +- sg_turs_opt="" ++ # Not really interested in timing a TUR but an empty string such as ++ # "" gets interpreted on the command line as a positional parameter. ++ sg_turs_opt="-t" + fi + else + echo "WARN: /usr/bin/sg_inq not present -- please install sg3_utils" +-- +2.44.0 + diff --git a/sg3_utils-1.37-dont-open-dev-snapshot.patch b/sg3_utils-1.37-dont-open-dev-snapshot.patch deleted file mode 100644 index 2fbfe3a..0000000 --- a/sg3_utils-1.37-dont-open-dev-snapshot.patch +++ /dev/null @@ -1,27 +0,0 @@ -From a0569d83929d98c0a175bc3992352c2c8d09ffa4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Dan=20Hor=C3=A1k?= -Date: Fri, 18 Oct 2013 12:38:05 +0200 -Subject: [PATCH] don't open /dev/snapshot in sginfo (#920687) - -see https://bugzilla.redhat.com/show_bug.cgi?id=920687 for details ---- - src/sginfo.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/sginfo.c b/src/sginfo.c -index b27f117..1f2151d 100644 ---- a/src/sginfo.c -+++ b/src/sginfo.c -@@ -3408,6 +3408,9 @@ show_devices(int raw) - if ( isdigit(entry->d_name[strlen(entry->d_name)-1]) ) { - continue; - } -+ if ( strncmp("snapshot",entry->d_name,8) == 0 ) { -+ continue; -+ } - - snprintf(dev_name, sizeof(dev_name),"/dev/%s",entry->d_name); - --- -1.8.1.4 - diff --git a/sg3_utils-1.42-sysmacros.patch b/sg3_utils-1.42-sysmacros.patch deleted file mode 100644 index 5633653..0000000 --- a/sg3_utils-1.42-sysmacros.patch +++ /dev/null @@ -1,132 +0,0 @@ -diff --git a/lib/sg_pt_linux.c b/lib/sg_pt_linux.c -index 76773fa..914570b 100644 ---- a/lib/sg_pt_linux.c -+++ b/lib/sg_pt_linux.c -@@ -18,8 +18,11 @@ - #include - #include - #include --#include - #include -+#include /* to define 'major' */ -+#ifndef major -+#include -+#endif - - - #ifdef HAVE_CONFIG_H -diff --git a/src/sg_dd.c b/src/sg_dd.c -index 97a6f77..7bb5eed 100644 ---- a/src/sg_dd.c -+++ b/src/sg_dd.c -@@ -44,13 +44,15 @@ - #define __STDC_FORMAT_MACROS 1 - #include - #include --#include - #include --#include - #include - #include --#include -+#include -+#ifndef major -+#include -+#endif - #include /* */ -+#include - - #ifdef HAVE_CONFIG_H - #include "config.h" -diff --git a/src/sg_map26.c b/src/sg_map26.c -index 7739592..8e583d2 100644 ---- a/src/sg_map26.c -+++ b/src/sg_map26.c -@@ -33,8 +33,11 @@ - #include - #include - #include --#include - #include -+#include /* new location for major + minor */ -+#ifndef major -+#include -+#endif - #include - - #ifdef HAVE_CONFIG_H -diff --git a/src/sg_read.c b/src/sg_read.c -index 2cf8212..1eb0411 100644 ---- a/src/sg_read.c -+++ b/src/sg_read.c -@@ -36,9 +36,11 @@ - #define __STDC_FORMAT_MACROS 1 - #include - #include --#include - #include - #include -+#ifndef major -+#include -+#endif - #include - #include - #include -diff --git a/src/sg_xcopy.c b/src/sg_xcopy.c -index 11206ac..49b4341 100644 ---- a/src/sg_xcopy.c -+++ b/src/sg_xcopy.c -@@ -47,11 +47,13 @@ - #define __STDC_FORMAT_MACROS 1 - #include - #include --#include - #include --#include - #include - #include -+#include -+#ifndef major -+#include -+#endif - #include - #include /* */ - -diff --git a/src/sgm_dd.c b/src/sgm_dd.c -index 4e40acc..edf4861 100644 ---- a/src/sgm_dd.c -+++ b/src/sgm_dd.c -@@ -48,11 +48,13 @@ - #define __STDC_FORMAT_MACROS 1 - #include - #include --#include - #include --#include --#include - #include -+#include -+#include -+#ifndef major -+#include -+#endif - #include - #include /* */ - -diff --git a/src/sgp_dd.c b/src/sgp_dd.c -index 1ebecca..be9547b 100644 ---- a/src/sgp_dd.c -+++ b/src/sgp_dd.c -@@ -43,9 +43,11 @@ - #define __STDC_FORMAT_MACROS 1 - #include - #include --#include - #include - #include -+#ifndef major -+#include -+#endif - #include - #include - #include /* */ diff --git a/sg3_utils.spec b/sg3_utils.spec index 0a79abd..d38a63d 100644 --- a/sg3_utils.spec +++ b/sg3_utils.spec @@ -1,20 +1,30 @@ %global rescan_script rescan-scsi-bus.sh +%global _udevlibdir %{_prefix}/lib/udev Summary: Utilities for devices that use SCSI command sets -Name: sg3_utils -Version: 1.42 -Release: 8%{?dist} -License: GPLv2+ and BSD -Source0: http://sg.danny.cz/sg/p/sg3_utils-%{version}.tar.xz -Source2: scsi-rescan.8 -# https://bugzilla.redhat.com/show_bug.cgi?id=920687 -Patch0: sg3_utils-1.37-dont-open-dev-snapshot.patch -# use sysmacros.h for major()/minor() -# backported from https://github.com/hreinecke/sg3_utils/commit/3e50c99af4a446642c7055d1d06b84a94e4a76c2 -Patch1: sg3_utils-1.42-sysmacros.patch -URL: http://sg.danny.cz/sg/sg3_utils.html +Name: sg3_utils +Version: 1.48 +Release: 6%{?dist} +License: GPL-2.0-or-later AND BSD-2-Clause +URL: https://sg.danny.cz/sg/sg3_utils.html +Source0: https://sg.danny.cz/sg/p/sg3_utils-%{version}.tar.xz +Source1: scsi-rescan.8 +# https://github.com/doug-gilbert/sg3_utils/pull/43 +# scripts/rescan-scsi-bus.sh: fix multipath resize without update +Patch0: 0001-rescan-scsi-bus.sh-fix-multipath-resize-without-upda.patch +# https://github.com/doug-gilbert/sg3_utils/pull/44 +# scripts/rescan-scsi-bus.sh: remove /tmp/rescan-scsi-mpath-info.txt +Patch1: 0002-rescan-scsi-bus.sh-remove-tmp-rescan-scsi-mpath-info.patch +# https://github.com/doug-gilbert/sg3_utils/issues/46 +# scripts/rescan-scsi-bus.sh: -r flag unmounts active root disk +Patch2: 0003-rescan-scsi-bus.sh-fix-for-github.com-doug-gilbert-s.patch +# https://github.com/doug-gilbert/sg3_utils/pull/47 +Patch3: udev_rules-avoid_spurious_warning_for_non-SCSI_devices.patch + Requires: %{name}-libs%{?_isa} = %{version}-%{release} +BuildRequires: make BuildRequires: gcc +BuildRequires: systemd %description @@ -45,10 +55,9 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} This package contains the %{name} library and its header files for developing applications. + %prep -%setup -q -%patch0 -p1 -b .dev-snapshot -%patch1 -p1 -b .sysmacros +%autosetup -p 1 %build @@ -58,34 +67,142 @@ developing applications. sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool -make %{?_smp_mflags} +# Fix filename references to other udev rules +sed -i 's|55-scsi-sg3_id.rules|61-scsi-sg3_id.rules|' scripts/*.rules +sed -i 's|58-scsi-sg3_symlink.rules|63-scsi-sg3_symlink.rules|' scripts/*.rules +sed -i 's|59-scsi-cciss_id.rules|65-scsi-cciss_id.rules|' scripts/*.rules +sed -i 's|59-fc-wwpn-id.rules|63-fc-wwpn-id.rules|' scripts/*.rules + +%make_build %install -make install DESTDIR=$RPM_BUILD_ROOT -rm -rf $RPM_BUILD_ROOT/%{_libdir}/*.la +%make_install +rm -rf %{buildroot}%{_libdir}/*.la -install -p -m 755 scripts/%{rescan_script} $RPM_BUILD_ROOT%{_bindir} -( cd $RPM_BUILD_ROOT%{_bindir}; ln -sf %{rescan_script} scsi-rescan ) +install -p -m 755 scripts/%{rescan_script} %{buildroot}%{_bindir} +( cd %{buildroot}%{_bindir}; ln -sf %{rescan_script} scsi-rescan ) -install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man8 +install -p -m 644 %{SOURCE1} %{buildroot}%{_mandir}/man8 + +# install all extra udev rules +mkdir -p %{buildroot}%{_udevrulesdir} +mkdir -p %{buildroot}%{_udevlibdir} +install -p -m 644 scripts/00-scsi-sg3_config.rules %{buildroot}%{_udevrulesdir} +install -p -m 644 scripts/40-usb-blacklist.rules %{buildroot}%{_udevrulesdir} +# need to run after 60-persistent-storage.rules +install -p -m 644 scripts/55-scsi-sg3_id.rules %{buildroot}%{_udevrulesdir}/61-scsi-sg3_id.rules +# need to run after 62-multipath.rules +install -p -m 644 scripts/58-scsi-sg3_symlink.rules %{buildroot}%{_udevrulesdir}/63-scsi-sg3_symlink.rules +install -p -m 644 scripts/59-scsi-cciss_id.rules %{buildroot}%{_udevrulesdir}/65-scsi-cciss_id.rules +install -p -m 644 scripts/59-fc-wwpn-id.rules %{buildroot}%{_udevrulesdir}/63-fc-wwpn-id.rules +install -p -m 755 scripts/fc_wwpn_id %{buildroot}%{_udevlibdir} %files -%doc AUTHORS BSD_LICENSE COPYING COVERAGE CREDITS ChangeLog README README.sg_start -%{_bindir}/* -%{_mandir}/man8/* +%license BSD_LICENSE COPYING +%doc AUTHORS COVERAGE CREDITS ChangeLog README README.sg_start +%{_bindir}/scsi_* +%{_bindir}/sg_* +%{_bindir}/rescan-scsi-bus.sh +%{_bindir}/scsi-rescan +%{_bindir}/sginfo +%{_bindir}/sgm_dd +%{_bindir}/sgp_dd +%{_mandir}/man8/scsi_*.8* +%{_mandir}/man8/sg_*.8* +%{_mandir}/man8/rescan-scsi-bus.sh.8* +%{_mandir}/man8/scsi-rescan.8* +%{_mandir}/man8/sginfo.8* +%{_mandir}/man8/sgm_dd.8* +%{_mandir}/man8/sgp_dd.8* +%{_mandir}/man8/%{name}.8* +%{_mandir}/man8/%{name}_json.8* +%{_udevrulesdir}/00-scsi-sg3_config.rules +%{_udevrulesdir}/61-scsi-sg3_id.rules +%{_udevrulesdir}/63-scsi-sg3_symlink.rules +%{_udevrulesdir}/63-fc-wwpn-id.rules +%{_udevrulesdir}/65-scsi-cciss_id.rules +%{_udevrulesdir}/40-usb-blacklist.rules +%{_udevlibdir}/fc_wwpn_id %files libs %doc BSD_LICENSE COPYING -%{_libdir}/*.so.* +%{_libdir}/libsgutils2-%{version}.so.* %files devel %{_includedir}/scsi/*.h -%{_libdir}/*.so +%{_libdir}/libsgutils2.so %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 1.48-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Jan 19 2025 Fedora Release Engineering - 1.48-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Nov 01 2024 Tomas Bzatek - 1.48-4 +- udev rules: avoid spurious warning for non-SCSI devices +- Install missing 00-scsi-sg3_config.rules +- Fix file references to other udev rules + +* Sat Jul 20 2024 Fedora Release Engineering - 1.48-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Mon Apr 8 2024 Xose Vazquez Perez - 1.48-2 +- fix three bugs in scripts/rescan-scsi-bus.sh from upstream + +* Fri Feb 09 2024 Dan Horák - 1.48-1 +- update to version 1.48 (rhbz#1944444) + +* Sat Jan 27 2024 Fedora Release Engineering - 1.46-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 1.46-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 1.46-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 1.46-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 1.46-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 1.46-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Mar 30 2021 Tomas Bzatek - 1.46-1 +- update to version 1.46 + +* Wed Jan 27 2021 Fedora Release Engineering - 1.45-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 1.45-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 14 2020 Tom Stellard - 1.45-2 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + +* Thu Mar 12 2020 Dan Horák - 1.45-1 +- update to version 1.45 (#1809392) + +* Thu Jan 30 2020 Fedora Release Engineering - 1.44-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Jan 06 2020 Tomas Bzatek - 1.44-2 +- Backport "rescan-scsi-bus.sh: use LUN wildcard in idlist" + +* Fri Jan 03 2020 Tomas Bzatek - 1.44-1 +- Rebase to 1.44 release +- Enable supplemental udev rules +- Fix sg_turs help invocation in an old mode (#1683343) +- Fix sg_raw printing error about device not specified on version request (#1627657) +- Fix coverity scan warnings (#1633235) + * Fri Jul 26 2019 Fedora Release Engineering - 1.42-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources index 93e4f09..77279e3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (sg3_utils-1.42.tar.xz) = 7672a9f2ed5064b6a528d1777510704d72a076bc45f7e92b16f70246ab75212078feb485f88674483a9157883516c20ae76d14d6e0fb80e38da105c0b24ff3b8 +SHA512 (sg3_utils-1.48.tar.xz) = d4f586ac8a4ba9b5de5885657785e25251c8a42913332d6eca38f92b546c06e8e8aa0553c4b5c04f553cf2d0a9e4f34827f65ba596ef65e43dec36b4345f444a diff --git a/udev_rules-avoid_spurious_warning_for_non-SCSI_devices.patch b/udev_rules-avoid_spurious_warning_for_non-SCSI_devices.patch new file mode 100644 index 0000000..bd65db1 --- /dev/null +++ b/udev_rules-avoid_spurious_warning_for_non-SCSI_devices.patch @@ -0,0 +1,29 @@ +From 4957a561867b4f363b0711bb5e0a3292f3067ce7 Mon Sep 17 00:00:00 2001 +From: Martin Wilck +Date: Tue, 9 Jan 2024 22:10:09 +0100 +Subject: [PATCH] udev rules: avoid spurious warning for non-SCSI devices + +The udev rules spit out lots of warnings like this: + +55-scsi-sg3_id.rules[15445]: WARNING: SCSI device loop0 has no device ID, consider changing .SCSI_ID_SERIAL_SRC in 00-scsi-sg3_config.rules + +Because the warning code had erroneously been inserted in the +"sg3_utils_id_end" clause. Fix it. + +Fixes: d7b8da0 ("udev rules: restrict use of ambiguous device IDs patchset") +--- + scripts/55-scsi-sg3_id.rules | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/scripts/55-scsi-sg3_id.rules b/scripts/55-scsi-sg3_id.rules +index 5e9732d6..f3ddb065 100644 +--- a/scripts/55-scsi-sg3_id.rules ++++ b/scripts/55-scsi-sg3_id.rules +@@ -147,6 +147,6 @@ ENV{SCSI_IDENT_SERIAL}=="?*", ENV{.SCSI_ID_SERIAL_SRC}=="*S*", \ + ENV{ID_SERIAL}="S$env{SCSI_VENDOR}_$env{SCSI_MODEL}_$env{SCSI_IDENT_SERIAL}", \ + ENV{ID_SERIAL_SHORT}="$env{SCSI_IDENT_SERIAL}" + +-LABEL="sg3_utils_id_end" + ENV{ID_SERIAL}!="?*", ENV{DEVTYPE}=="disk", \ + PROGRAM="/bin/logger -t 55-scsi-sg3_id.rules -p daemon.warning \"WARNING: SCSI device %k has no device ID, consider changing .SCSI_ID_SERIAL_SRC in 00-scsi-sg3_config.rules\"" ++LABEL="sg3_utils_id_end"