summaryrefslogtreecommitdiff
path: root/filesystems/ltfs
diff options
context:
space:
mode:
Diffstat (limited to 'filesystems/ltfs')
-rw-r--r--filesystems/ltfs/Makefile52
-rw-r--r--filesystems/ltfs/distinfo3
-rw-r--r--filesystems/ltfs/files/patch-src_tape__drivers_freebsd_cam_cam__tc.c11
-rw-r--r--filesystems/ltfs/pkg-descr3
-rw-r--r--filesystems/ltfs/pkg-message15
-rw-r--r--filesystems/ltfs/pkg-plist54
6 files changed, 138 insertions, 0 deletions
diff --git a/filesystems/ltfs/Makefile b/filesystems/ltfs/Makefile
new file mode 100644
index 000000000000..15a3f5985c9d
--- /dev/null
+++ b/filesystems/ltfs/Makefile
@@ -0,0 +1,52 @@
+PORTNAME= ltfs
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.4.6.2
+DISTVERSIONSUFFIX= -10513
+CATEGORIES= filesystems sysutils
+
+MAINTAINER= kbowling@FreeBSD.org
+COMMENT= Reference implementation of LTFS for stand-alone tape drive
+WWW= https://github.com/LinearTapeFileSystem/ltfs
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libicudata.so:devel/icu \
+ libpkg.so:${PKG_ORIGIN} \
+ libuuid.so:misc/e2fsprogs-libuuid
+
+USES= autoreconf compiler:c11 fuse gnome libtool:build pkgconfig \
+ python shebangfix ssl
+
+USE_GITHUB= yes
+GH_ACCOUNT= LinearTapeFileSystem
+USE_GNOME= libxml2
+USE_LDCONFIG= yes
+
+SHEBANG_FILES= src/utils/ltfs_ordered_copy
+
+GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
+
+CONFIGURE_ARGS+= --enable-icu-6x
+
+#INSTALL_TARGET= install-strip
+
+OPTIONS_DEFINE= DEBUG SNMP
+OPTIONS_SUB= yes
+
+DEBUG_DESC= Build without optimization and extended debug flags
+SNMP_DESC= SNMP trap support
+
+DEBUG_CONFIGURE_ON= --enable-debug
+DEBUG_CONFIGURE_OFF= --enable-fast
+
+SNMP_LIB_DEPENDS= libnetsnmp.so:net-mgmt/net-snmp
+SNMP_USES= perl5
+SNMP_CONFIGURE_ENABLE= snmp
+
+post-install:
+ @${RM} ${STAGEDIR}${DATADIR}/ltfs
+ @${RMDIR} ${STAGEDIR}${DATADIR}
+
+.include <bsd.port.mk>
diff --git a/filesystems/ltfs/distinfo b/filesystems/ltfs/distinfo
new file mode 100644
index 000000000000..bdad82fb2bfd
--- /dev/null
+++ b/filesystems/ltfs/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1721794312
+SHA256 (LinearTapeFileSystem-ltfs-v2.4.6.2-10513_GH0.tar.gz) = 3ea9b210507f6bb2c9cd8f9d92f0c2ee321e24241dc5a402e557409a71531c91
+SIZE (LinearTapeFileSystem-ltfs-v2.4.6.2-10513_GH0.tar.gz) = 629281
diff --git a/filesystems/ltfs/files/patch-src_tape__drivers_freebsd_cam_cam__tc.c b/filesystems/ltfs/files/patch-src_tape__drivers_freebsd_cam_cam__tc.c
new file mode 100644
index 000000000000..d4be8240818e
--- /dev/null
+++ b/filesystems/ltfs/files/patch-src_tape__drivers_freebsd_cam_cam__tc.c
@@ -0,0 +1,11 @@
+--- src/tape_drivers/freebsd/cam/cam_tc.c.orig 2023-09-17 04:20:07 UTC
++++ src/tape_drivers/freebsd/cam/cam_tc.c
+@@ -1241,7 +1241,7 @@ static int camtape_get_next_block_to_xfer(void *device
+ camtape_process_errors(softc, rc, msg, "READPOS", true);
+ else {
+ pos->partition = ext_data.partition;
+- pos->block = scsi_8btou64(ext_data.last_object)
++ pos->block = scsi_8btou64(ext_data.last_object);
+ ltfsmsg(LTFS_DEBUG, 30398D, "next-block-to-xfer",
+ (unsigned long long) pos->block, 0, 0, softc->drive_serial);
+ }
diff --git a/filesystems/ltfs/pkg-descr b/filesystems/ltfs/pkg-descr
new file mode 100644
index 000000000000..910dcd0a543f
--- /dev/null
+++ b/filesystems/ltfs/pkg-descr
@@ -0,0 +1,3 @@
+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.
diff --git a/filesystems/ltfs/pkg-message b/filesystems/ltfs/pkg-message
new file mode 100644
index 000000000000..a0fee2742d98
--- /dev/null
+++ b/filesystems/ltfs/pkg-message
@@ -0,0 +1,15 @@
+[
+{ type: install
+ message: <<EOM
+This only works with IBM Enterprise Tape, or IBM-branded LTO-5 and 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)
+EOM
+}
+]
diff --git a/filesystems/ltfs/pkg-plist b/filesystems/ltfs/pkg-plist
new file mode 100644
index 000000000000..60e9532496db
--- /dev/null
+++ b/filesystems/ltfs/pkg-plist
@@ -0,0 +1,54 @@
+bin/ltfs
+bin/ltfs_ordered_copy
+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/errormap.h
+include/ltfs/libltfs/arch/signal_internal.h
+include/ltfs/libltfs/arch/time_internal.h
+include/ltfs/libltfs/config_file.h
+include/ltfs/libltfs/dcache_ops.h
+include/ltfs/libltfs/iosched_ops.h
+include/ltfs/libltfs/kmi_ops.h
+include/ltfs/libltfs/ltfs_error.h
+include/ltfs/libltfs/ltfs_fsops.h
+include/ltfs/libltfs/ltfs_locking_new.h
+include/ltfs/libltfs/ltfs_locking_old.h
+include/ltfs/libltfs/ltfs_locking.h
+include/ltfs/libltfs/ltfs_thread.h
+include/ltfs/libltfs/ltfs_types.h
+include/ltfs/libltfs/ltfs.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_ops.h
+include/ltfs/libltfs/tape.h
+include/ltfs/libltfs/uthash_ext.h
+include/ltfs/libltfs/uthash.h
+include/ltfs/libltfs/xml.h
+include/ltfs/tape_drivers/ibm_tape.h
+include/ltfs/tape_drivers/spc_op_codes.h
+include/ltfs/tape_drivers/ssc_op_codes.h
+include/ltfs/tape_drivers/tape_drivers.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
+share/man/man1/ltfs_ordered_copy.1.gz
+share/man/man8/ltfs-sde.8.gz
+share/man/man8/ltfsck.8.gz
+share/man/man8/mkltfs.8.gz
+%%SNMP%%share/snmp/LTFS-MIB.txt
+%%SNMP%%share/snmp/LtfsSnmpTrapDef.txt