aboutsummaryrefslogtreecommitdiff
path: root/sysutils/ltfs
diff options
context:
space:
mode:
authorKevin Bowling <kbowling@FreeBSD.org>2019-01-19 02:15:19 +0000
committerKevin Bowling <kbowling@FreeBSD.org>2019-01-19 02:15:19 +0000
commita5ba51a47ea70148661bca12a18c503cdcd06d96 (patch)
tree52dd149efaaa185fea101dfad70f30d078fcb4b8 /sysutils/ltfs
parent58b212206425b5db9a25fbd3c83f4b2bdb439b2e (diff)
downloadports-a5ba51a47ea70148661bca12a18c503cdcd06d96.tar.gz
ports-a5ba51a47ea70148661bca12a18c503cdcd06d96.zip
New port: sysutils/ltfs: LTFS for stand alone tape drive
Add a new port for the FUSE based LTFS reference implementation Reviewed by: ken Approved by: timur (mentor) Sponsored by: BBOX.io Differential Revision: https://reviews.freebsd.org/D18841
Notes
Notes: svn path=/head/; revision=490697
Diffstat (limited to 'sysutils/ltfs')
-rw-r--r--sysutils/ltfs/Makefile35
-rw-r--r--sysutils/ltfs/distinfo3
-rw-r--r--sysutils/ltfs/files/patch-src_tape__drivers_freebsd_cam_Makefile.am12
-rw-r--r--sysutils/ltfs/pkg-descr5
-rw-r--r--sysutils/ltfs/pkg-message9
-rw-r--r--sysutils/ltfs/pkg-plist43
6 files changed, 107 insertions, 0 deletions
diff --git a/sysutils/ltfs/Makefile b/sysutils/ltfs/Makefile
new file mode 100644
index 000000000000..7dbb0c24c1df
--- /dev/null
+++ b/sysutils/ltfs/Makefile
@@ -0,0 +1,35 @@
+# Created by: Kevin Bowling <kbowling@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= ltfs
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.4.1.0
+DISTVERSIONSUFFIX= -10219
+CATEGORIES= sysutils
+
+MAINTAINER= kbowling@FreeBSD.org
+COMMENT= Reference implementation of LTFS for stand alone tape drive
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE = ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libicudata.so:devel/icu \
+ libnetsnmp.so:net-mgmt/net-snmp \
+ libpkg.so:ports-mgmt/pkg \
+ libuuid.so:misc/e2fsprogs-libuuid
+
+USES= autoreconf fuse gnome libtool:build pkgconfig ssl
+
+CONFIGURE_ARGS+= --enable-icu-6x
+GH_ACCOUNT= LinearTapeFileSystem
+GNU_CONFIGURE= yes
+INSTALL_TARGET= install-strip
+USE_GITHUB= yes
+USE_GNOME= libxml2
+USE_LDCONFIG= yes
+
+post-install:
+ @${RM} ${STAGEDIR}${DATADIR}/ltfs
+ @${RMDIR} ${STAGEDIR}${DATADIR}
+
+.include <bsd.port.mk>
diff --git a/sysutils/ltfs/distinfo b/sysutils/ltfs/distinfo
new file mode 100644
index 000000000000..72dd4123d80a
--- /dev/null
+++ b/sysutils/ltfs/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1547089187
+SHA256 (LinearTapeFileSystem-ltfs-v2.4.1.0-10219_GH0.tar.gz) = c157ce5c62158a03778077e1ebffae3d6489cc5d984e04b402a45037e0030785
+SIZE (LinearTapeFileSystem-ltfs-v2.4.1.0-10219_GH0.tar.gz) = 560077
diff --git a/sysutils/ltfs/files/patch-src_tape__drivers_freebsd_cam_Makefile.am b/sysutils/ltfs/files/patch-src_tape__drivers_freebsd_cam_Makefile.am
new file mode 100644
index 000000000000..75839e2a65b1
--- /dev/null
+++ b/sysutils/ltfs/files/patch-src_tape__drivers_freebsd_cam_Makefile.am
@@ -0,0 +1,12 @@
+--- src/tape_drivers/freebsd/cam/Makefile.am.orig 2019-01-10 03:47:31 UTC
++++ src/tape_drivers/freebsd/cam/Makefile.am
+@@ -56,6 +56,6 @@ libtape_cam_la-ibm_tape.lo: ../../ibm_tape.c
+ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtape_cam_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CRC_OPTIMIZE) -MT libtape_cam_la-ibm_tape.lo -MD -MP -c -o libtape_cam_la-ibm_tape.lo ../../ibm_tape.c
+
+ install-exec-hook:
+- mkdir -p $(libdir)/ltfs
+- for f in $(lib_LTLIBRARIES); do rm -f $(libdir)/$$f; done
+- for f in $(BASENAMES); do mv $(libdir)/$$f* $(libdir)/ltfs; done
++ mkdir -p $(DESTDIR)$(libdir)/ltfs
++ for f in $(lib_LTLIBRARIES); do rm -f $(DESTDIR)$(libdir)/$$f; done
++ for f in $(BASENAMES); do mv $(DESTDIR)$(libdir)/$$f* $(DESTDIR)$(libdir)/ltfs; done
diff --git a/sysutils/ltfs/pkg-descr b/sysutils/ltfs/pkg-descr
new file mode 100644
index 000000000000..baef0bb14f63
--- /dev/null
+++ b/sysutils/ltfs/pkg-descr
@@ -0,0 +1,5 @@
+Linear Tape File System (LTFS) is a filesystem to mount a LTFS formatted tape
+in a tape drive. Once LTFS mounts a LTFS formatted tape as filesystem, users
+can access to the tape via filesystem API.
+
+WWW: https://github.com/LinearTapeFileSystem/ltfs
diff --git a/sysutils/ltfs/pkg-message b/sysutils/ltfs/pkg-message
new file mode 100644
index 000000000000..dc5227b9a931
--- /dev/null
+++ b/sysutils/ltfs/pkg-message
@@ -0,0 +1,9 @@
+This only works with IBM-branded LTO-5 or newer tape drives, although there is
+a file backend for simulation purposes.
+
+You will only be able to read and write tapes with a blocksize <= MAXPHYS,
+which is 128KB by default. Put the following in your kernel config file and
+recompile/reinstall to allow reading and writing tapes up to the maximum LTFS
+blocksize of 1MB:
+
+options MAXPHYS=(1024*1056)
diff --git a/sysutils/ltfs/pkg-plist b/sysutils/ltfs/pkg-plist
new file mode 100644
index 000000000000..85c8bc6c6e88
--- /dev/null
+++ b/sysutils/ltfs/pkg-plist
@@ -0,0 +1,43 @@
+bin/ltfs
+bin/ltfsck
+bin/mkltfs
+etc/ltfs.conf
+etc/ltfs.conf.local
+include/ltfs/config.h
+include/ltfs/libltfs/arch/arch_info.h
+include/ltfs/libltfs/arch/signal_internal.h
+include/ltfs/libltfs/arch/time_internal.h
+include/ltfs/libltfs/dcache_ops.h
+include/ltfs/libltfs/iosched_ops.h
+include/ltfs/libltfs/kmi_ops.h
+include/ltfs/libltfs/ltfs.h
+include/ltfs/libltfs/ltfs_error.h
+include/ltfs/libltfs/ltfs_fsops.h
+include/ltfs/libltfs/ltfs_locking.h
+include/ltfs/libltfs/ltfs_thread.h
+include/ltfs/libltfs/ltfs_types.h
+include/ltfs/libltfs/ltfslogging.h
+include/ltfs/libltfs/ltfstrace.h
+include/ltfs/libltfs/plugin.h
+include/ltfs/libltfs/queue.h
+include/ltfs/libltfs/tape.h
+include/ltfs/libltfs/tape_ops.h
+include/ltfs/libltfs/uthash.h
+include/ltfs/libltfs/uthash_ext.h
+lib/libltfs.a
+lib/libltfs.so
+lib/libltfs.so.0
+lib/libltfs.so.0.0.0
+lib/ltfs/libiosched-fcfs.so
+lib/ltfs/libiosched-unified.so
+lib/ltfs/libkmi-flatfile.so
+lib/ltfs/libkmi-simple.so
+lib/ltfs/libtape-cam.so
+lib/ltfs/libtape-file.so
+lib/ltfs/libtape-itdtimg.so
+libdata/pkgconfig/ltfs.pc
+man/man8/ltfs-sde.8.gz
+man/man8/ltfsck.8.gz
+man/man8/mkltfs.8.gz
+share/snmp/LTFS-MIB.txt
+share/snmp/LtfsSnmpTrapDef.txt