From c172ea121604ea3fb5deb324133047999e850392 Mon Sep 17 00:00:00 2001 From: seki099 Date: Tue, 17 Dec 2019 10:46:56 +0800 Subject: [PATCH] package init --- 0000-mt-st-1.1-redhat.patch | 32 ++++++ 0001-mt-st-1.1-SDLT.patch | 11 ++ 0002-mt-st-0.7-config-files.patch | 172 ++++++++++++++++++++++++++++++ 0003-mt-st-0.9b-manfix.patch | 31 ++++++ 0004-mt-st-1.1-include.patch | 24 +++++ 0005-mt-st-1.1-options.patch | 12 +++ 0006-mt-st-1.1-man.patch | 63 +++++++++++ mt-st-1.1.tar.gz | Bin 0 -> 35749 bytes mt-st.spec | 72 +++++++++++++ stinit.service | 10 ++ 10 files changed, 427 insertions(+) create mode 100644 0000-mt-st-1.1-redhat.patch create mode 100644 0001-mt-st-1.1-SDLT.patch create mode 100644 0002-mt-st-0.7-config-files.patch create mode 100644 0003-mt-st-0.9b-manfix.patch create mode 100644 0004-mt-st-1.1-include.patch create mode 100644 0005-mt-st-1.1-options.patch create mode 100644 0006-mt-st-1.1-man.patch create mode 100644 mt-st-1.1.tar.gz create mode 100644 mt-st.spec create mode 100644 stinit.service diff --git a/0000-mt-st-1.1-redhat.patch b/0000-mt-st-1.1-redhat.patch new file mode 100644 index 0000000..f2f4385 --- /dev/null +++ b/0000-mt-st-1.1-redhat.patch @@ -0,0 +1,32 @@ +--- mt-st-1.1/Makefile.redhat 2008-03-01 11:50:12.000000000 +0100 ++++ mt-st-1.1/Makefile 2008-08-04 08:20:01.000000000 +0200 +@@ -1,8 +1,9 @@ +-CFLAGS= -Wall -O2 +-SBINDIR= /sbin +-BINDIR= /bin +-USRBINDIR= /usr/bin +-MANDIR= /usr/share/man ++CFLAGS= $(RPM_OPT_FLAGS) ++SBINDIR= $(RPM_BUILD_ROOT)/usr/sbin ++BINDIR= $(RPM_BUILD_ROOT)/usr/bin ++USRBINDIR= $(RPM_BUILD_ROOT)/usr/bin ++MANDIR= $(RPM_BUILD_ROOT)/usr/share/man ++CC=gcc + + MTDIR=$(BINDIR) + +@@ -15,11 +16,12 @@ + $(CC) $(CFLAGS) -o stinit stinit.c + + install: mt stinit +- install -s mt $(MTDIR) ++ mkdir -p $(BINDIR) $(SBINDIR) $(MANDIR)/man1 $(MANDIR)/man8 ++ install -m 755 mt $(BINDIR) + install -c -m 444 mt.1 $(MANDIR)/man1 + (if [ -f $(MANDIR)/man1/mt.1.gz ] ; then \ + rm -f $(MANDIR)/man1/mt.1.gz; gzip $(MANDIR)/man1/mt.1; fi) +- install -s stinit $(SBINDIR) ++ install -m 755 stinit $(SBINDIR) + install -c -m 444 stinit.8 $(MANDIR)/man8 + (if [ -f $(MANDIR)/man8/stinit.8.gz ] ; then \ + rm -f $(MANDIR)/man8/stinit.8.gz; gzip $(MANDIR)/man8/stinit.8; fi) diff --git a/0001-mt-st-1.1-SDLT.patch b/0001-mt-st-1.1-SDLT.patch new file mode 100644 index 0000000..3979f7f --- /dev/null +++ b/0001-mt-st-1.1-SDLT.patch @@ -0,0 +1,11 @@ +--- mt-st-1.1/mt.c.sdlt 2008-04-27 18:49:00.000000000 +0200 ++++ mt-st-1.1/mt.c 2008-08-04 08:21:54.000000000 +0200 +@@ -225,6 +225,8 @@ + {0x45, "QIC-3095-MC (TR-4)"}, + {0x46, "LTO-4"}, + {0x47, "DDS-5 or TR-5"}, ++ {0x48, "Quantum SDLT220"}, ++ {0x49, "Quantum SDLT320"}, + {0x51, "IBM 3592 J1A"}, + {0x52, "IBM 3592 E05"}, + {0x80, "DLT 15GB uncomp. or Ecrix"}, diff --git a/0002-mt-st-0.7-config-files.patch b/0002-mt-st-0.7-config-files.patch new file mode 100644 index 0000000..756261b --- /dev/null +++ b/0002-mt-st-0.7-config-files.patch @@ -0,0 +1,172 @@ +--- mt-st-0.8/stinit.def.examples.configfiles 2002-09-23 19:02:21.000000000 +0200 ++++ mt-st-0.8/stinit.def.examples 2005-04-07 08:21:01.732633520 +0200 +@@ -56,3 +56,169 @@ + mode3 blocksize=0 density=1 # 800 bpi + } + ++# DLT2000 / 2000XT ++manufacturer="QUANTUM" model = "DLT2000" { ++scsi2logical=1 ++can-bsr ++auto-lock=0 ++two-fms=0 ++drive-buffering=1 ++buffer-writes ++read-ahead=1 ++async-writes=1 ++can-partitions=0 ++fast-mteom=1 ++# ++# If your stinit supports the timeouts: ++timeout=3600 # 1 hour ++long-timeout=14400 # 4 hours ++# ++mode1 blocksize=0 density=0x81 # 10GB + compression on DLTtape III, 15+ with DLTtape IIIXT in 2000XT ++mode2 blocksize=0 density=0x80 # 10GB, no compression on DLTtape III, 15 with DLTtape IIIXT in 2000XT ++mode3 blocksize=0 density=0x18 # 6GB, compression not available, on DLTtape III ++mode4 blocksize=0 density=0x17 #2.6GB, compression not available, on DLTtape III ++} ++ ++# DLT4000 ++manufacturer="QUANTUM" model = "DLT4000" { ++scsi2logical=1 ++can-bsr ++auto-lock=0 ++two-fms=0 ++drive-buffering=1 ++buffer-writes ++read-ahead=1 ++async-writes=1 ++can-partitions=0 ++fast-mteom=1 ++# ++# If your stinit supports the timeouts: ++timeout=3600 # 1 hour ++long-timeout=14400 # 4 hours ++# ++# Drive is backwards compatible, use older modes (e.g. from above) as required ++mode1 blocksize=0 density=0x83 # 20GB + compression ++mode2 blocksize=0 density=0x82 # 20GB, no compression ++mode3 blocksize=0 density=0x81 # 10GB + compression (DLT2000 mode) with DLTtape III, 15+ with DLTtape IIIXT in 2000XT ++mode4 blocksize=0 density=0x80 # 10GB, no compression (DLT2000 mode) with DLTtape III, 15 with DLTtape IIIXT in 2000XT ++} ++ ++# DLT7000 ++manufacturer="QUANTUM" model = "DLT7000" { ++scsi2logical=1 ++can-bsr ++auto-lock=0 ++two-fms=0 ++drive-buffering=1 ++buffer-writes ++read-ahead=1 ++async-writes=1 ++can-partitions=0 ++fast-mteom=1 ++# ++# If your stinit supports the timeouts: ++timeout=3600 # 1 hour ++long-timeout=14400 # 4 hours ++# ++# Drive is backwards compatible, use older modes (e.g. from above) as required. ++mode1 blocksize=0 density=0x85 # 35GB + compression ++mode2 blocksize=0 density=0x84 # 35GB, no compression ++mode3 blocksize=0 density=0x83 # 20GB + compression (DLT4000 mode) ++mode4 blocksize=0 density=0x82 # 20GB, no compression (DLT4000 mode) ++} ++ ++# DLT8000 ++manufacturer="QUANTUM" model = "DLT8000" { ++scsi2logical=1 ++can-bsr=1 ++auto-lock=0 ++two-fms=0 ++drive-buffering=1 ++buffer-writes ++read-ahead=1 ++async-writes=1 ++can-partitions=0 ++fast-mteom=1 ++# ++# If your stinit supports the timeouts: ++timeout=3600 # 1 hour ++long-timeout=14400 # 4 hours ++# ++# Drive is backwards compatible to DLT7000, use older modes (e.g. from above) as required. Modes <10GB (<0x19) not supported! ++mode1 blocksize=0 density=0x89 # 40GB + compression ++mode2 blocksize=0 density=0x88 # 40GB, no compression ++mode3 blocksize=0 density=0x85 # 35GB + compression (DLT7000 mode) ++mode4 blocksize=0 density=0x84 # 35GB, no compression (DLT7000 mode) ++} ++ ++ ++# SDLT220 ++manufacturer="QUANTUM" model = "SuperDLT1" { ++scsi2logical=1 ++can-bsr=1 ++auto-lock=0 ++two-fms=0 ++drive-buffering=1 ++buffer-writes ++read-ahead=1 ++async-writes=1 ++can-partitions=0 ++fast-mteom=1 ++# ++# If your stinit supports the timeouts: ++timeout=3600 # 1 hour ++long-timeout=14400 # 4 hours ++# ++# Drive is backwards read compatible to DLT4000/7000/8000. Mode settings are only required for writing, so no need to define any other modes here. ++mode1 blocksize=0 density=0x48 compression=1 # 110 GB + compression ++mode2 blocksize=0 density=0x48 compression=0 # 110 GB, no ompression ++} ++ ++# SDLT320 ++manufacturer="QUANTUM" model = "SDLT320" { ++scsi2logical=1 ++can-bsr=1 ++auto-lock=0 ++two-fms=0 ++drive-buffering=1 ++buffer-writes ++read-ahead=1 ++async-writes=1 ++can-partitions=0 ++fast-mteom=1 ++# ++# If your stinit supports the timeouts: ++timeout=3600 # 1 hour ++long-timeout=14400 # 4 hours ++# ++# Drive is backwards write compatible to SDLT220 and read compatible to DLT4000/7000/8000. Mode settings are only required for writing, so we need only the SDL220/320 modes here ++mode1 blocksize=0 density=0x49 compression=1 # 160 GB + compression ++mode2 blocksize=0 density=0x49 compression=0 # 160 GB, no ompression ++mode3 blocksize=0 density=0x48 compression=1 # 110 GB + compression ++mode4 blocksize=0 density=0x48 compression=0 # 110 GB, no ompression ++} ++ ++# SDLT600 ++manufacturer="QUANTUM" model = "SDLT600" { ++scsi2logical=1 ++can-bsr=1 ++auto-lock=0 ++two-fms=0 ++drive-buffering=1 ++buffer-writes ++read-ahead=1 ++async-writes=1 ++can-partitions=0 ++fast-mteom=1 ++# ++# If your stinit supports the timeouts: ++timeout=3600 # 1 hour ++long-timeout=14400 # 4 hours ++# ++# Drive is backwards read compatible to SDLT220/320 and VS160. Mode settings are only required for writing, so we need only the native SDLT600 mode here. ++mode1 blocksize=0 density=0x4a compression=1 # 300 GB + compression ++mode2 blocksize=0 density=0x4a compression=0 # 300 GB, no ompression ++mode3 blocksize=0 density=0x4a compression=1 # 300 GB + compression ++mode4 blocksize=0 density=0x4a compression=0 # 300 GB, no ompression ++} ++ diff --git a/0003-mt-st-0.9b-manfix.patch b/0003-mt-st-0.9b-manfix.patch new file mode 100644 index 0000000..d22acef --- /dev/null +++ b/0003-mt-st-0.9b-manfix.patch @@ -0,0 +1,31 @@ +--- mt-st-0.9b/mt.1.manfix 2005-08-21 20:53:50.000000000 +0200 ++++ mt-st-0.9b/mt.1 2005-10-25 12:13:43.000000000 +0200 +@@ -48,20 +48,22 @@ + files. + The tape is positioned on the first block of the next file. + .IP fsfm +-Forward space ++Forward space past + .I count +-files. +-The tape is positioned on the last block of the previous file. ++file marks, then backward space one file record. ++This leaves the tape positioned on the last block of the file that is count-1 ++files past the current file. + .IP bsf + Backward space + .I count + files. + The tape is positioned on the last block of the previous file. + .IP bsfm +-Backward space ++Backward space past + .I count +-files. +-The tape is positioned on the first block of the next file. ++file marks, then forward space one file record. ++This leaves the tape positioned on the first block of the file that is count-1 ++files before the current file. + .IP asf + The tape is positioned at the beginning of the + .I count diff --git a/0004-mt-st-1.1-include.patch b/0004-mt-st-1.1-include.patch new file mode 100644 index 0000000..678fdda --- /dev/null +++ b/0004-mt-st-1.1-include.patch @@ -0,0 +1,24 @@ +--- mt-st-1.1/mt.c.mtio 2018-05-29 08:26:16.874145539 +0200 ++++ mt-st-1.1/mt.c 2018-05-29 08:32:03.940573221 +0200 +@@ -22,8 +22,9 @@ + #include + #include + #include ++#include + +-#include "mtio.h" ++#include + + #ifndef DEFTAPE + #define DEFTAPE "/dev/tape" /* default tape device */ +--- mt-st-1.1/stinit.c.mtio 2008-04-27 13:24:16.000000000 +0200 ++++ mt-st-1.1/stinit.c 2008-08-04 08:24:45.000000000 +0200 +@@ -22,7 +22,7 @@ + #include + #include + +-#include "mtio.h" ++#include + + #ifndef FALSE + #define TRUE 1 diff --git a/0005-mt-st-1.1-options.patch b/0005-mt-st-1.1-options.patch new file mode 100644 index 0000000..cf856cd --- /dev/null +++ b/0005-mt-st-1.1-options.patch @@ -0,0 +1,12 @@ +diff -up mt-st-1.1/stinit.c.options mt-st-1.1/stinit.c +--- mt-st-1.1/stinit.c.options 2013-07-23 11:55:33.000000000 +0200 ++++ mt-st-1.1/stinit.c 2013-07-23 11:56:09.000000000 +0200 +@@ -889,7 +889,7 @@ define_tape(int tapeno, FILE *dbf, devde + usage(int retval) + { + fprintf(stderr, +- "Usage: stinit [-h] [-v] [-f dbname] [-p] [drivename_or_number ...]\n"); ++ "Usage: stinit [-h] [-v] [--version] [-f dbname] [-p] [-r] [drivename_or_number ...]\n"); + exit(retval); + } + diff --git a/0006-mt-st-1.1-man.patch b/0006-mt-st-1.1-man.patch new file mode 100644 index 0000000..ae91b75 --- /dev/null +++ b/0006-mt-st-1.1-man.patch @@ -0,0 +1,63 @@ +From 78c0868407b59bbfdd1301fe5c1b57831b53c26e Mon Sep 17 00:00:00 2001 +From: Jan Chaloupka +Date: Thu, 21 Aug 2014 12:46:44 +0200 +Subject: [PATCH] mt missing options section + +--- + mt.1 | 33 ++++++++++++++++++--------------- + 1 file changed, 18 insertions(+), 15 deletions(-) + +diff --git a/mt.1 b/mt.1 +index 8ff5b63..7dccdee 100644 +--- a/mt.1 ++++ b/mt.1 +@@ -13,21 +13,7 @@ performs the given + which must be one of the tape operations listed below, on a tape + drive. The commands can also be listed by running the program with the + .I \-h +-option. The version of mt is printed with the +-.I \-v +-or +-.I \-\-version +-option. The path of the tape device on which to operate can be given with +-the +-.I \-f +-or +-.I \-t +-option. If neither of those options is given, and the environment +-variable +-.B TAPE +-is set, it is used. Otherwise, a default device defined in the file +-.I /usr/include/sys/mtio.h +-is used. ++option. + .PP + Some operations optionally take an argument or repeat count, which can be given + after the operation name and defaults to 1. The postfix +@@ -275,6 +261,23 @@ set the cleaning request interpretation parameters. + exits with a status of 0 if the operation succeeded, 1 if the + operation or device name given was invalid, or 2 if the operation + failed. ++.SH OPTIONS ++.TP ++.B \-h, \-\-help ++Print a usage message on standard output and exit successfully. ++.TP ++.B \-v, \-\-version ++Print version of mt. ++.TP ++.B \-f, \-t ++The path of the tape device on which to operate. ++If neither of those options is given, ++and the environment variable ++.B TAPE ++is set, it is used. ++Otherwise, a default device defined in the file ++.I /usr/include/sys/mtio.h ++is used. + .SH AUTHOR + The program is written by Kai Makisara . + .SH COPYRIGHT +-- +1.9.3 + diff --git a/mt-st-1.1.tar.gz b/mt-st-1.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..f7b4c643e7cef82b600c713c59b48186c03a7300 GIT binary patch literal 35749 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 literal 0 HcmV?d00001 diff --git a/mt-st.spec b/mt-st.spec new file mode 100644 index 0000000..223540e --- /dev/null +++ b/mt-st.spec @@ -0,0 +1,72 @@ +Name: mt-st +Version: 1.1 +Release: 25 +Summary: Tool to manage tape drives +License: GPL+ +URL: ftp://ftp.ibiblio.org/pub/linux/system/backup + +Source0: ftp://metalab.unc.edu/pub/Linux/system/backup/mt-st-%{version}.tar.gz +Source1: stinit.service +Patch0000: 0000-mt-st-1.1-redhat.patch +Patch0001: 0001-mt-st-1.1-SDLT.patch +Patch0002: 0002-mt-st-0.7-config-files.patch +Patch0003: 0003-mt-st-0.9b-manfix.patch +Patch0004: 0004-mt-st-1.1-include.patch +Patch0005: 0005-mt-st-1.1-options.patch +Patch0006: 0006-mt-st-1.1-man.patch + +BuildRequires: gcc systemd +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd + +%description +The mt-st package contains two programs: mt and stinit. Mt is basically a "standard" mt with +additional commands to send the ioctls specific to the Linux SCSI tape driver. Stinit is a program +to initialize the tape drive characteristics. + +%package_help + +%prep +%autosetup -p1 + +iconv -f ISO8859-1 -t UTF-8 -o README.stinit.new README.stinit +touch -r README.stinit README.stinit.new +mv README.stinit.new README.stinit + + +%build +make CFLAGS="%{build_cflags} %{build_ldflags}" + + +%install +%make_install +install -D -p -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/stinit.service + + +%post +%systemd_post stinit.service + +%preun +%systemd_preun stinit.service + +%postun +%systemd_postun_with_restart stinit.service + + +%files +%defattr(-,root,root) +%license COPYING +%{_bindir}/mt +%{_sbindir}/stinit +%{_unitdir}/stinit.service + + +%files help +%defattr(-,root,root) +%doc README README.stinit mt-st-1.1.lsm stinit.def.examples +%{_mandir}/man[18]/* + +%changelog +* Wed Dec 4 2019 openEuler Buildteam - 1.1-25 +- Package init diff --git a/stinit.service b/stinit.service new file mode 100644 index 0000000..2e95078 --- /dev/null +++ b/stinit.service @@ -0,0 +1,10 @@ +[Unit] +Description=Initialize SCSI Tape Drives + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/sbin/stinit -f /etc/stinit.def + +[Install] +WantedBy=multi-user.target