summaryrefslogtreecommitdiff
path: root/filesystems/ltfs
diff options
context:
space:
mode:
authorRobert Clausecker <fuz@FreeBSD.org>2024-09-27 12:48:46 +0200
committerRobert Clausecker <fuz@FreeBSD.org>2024-11-06 16:17:35 +0100
commit6e2da9672f79f44048d597f0f61e4646cdeade9d (patch)
treec92e4b3158e3419e8cec38e00227d08dcdaab3e9 /filesystems/ltfs
parentmath/sdpa: speed up build (diff)
filesystems: add new category for file systems and related utilities
The filesystems category houses file systems and file system utilities. It is added mainly to turn the sysutils/fusefs-* pseudo-category into a proper one, but is also useful for the sundry of other file systems related ports found in the tree. Ports that seem like they belong there are moved to the new category. Two ports, sysutils/fusefs-funionfs and sysutils/fusefs-fusepak are not moved as they currently don't fetch and don't have TIMESTAMP set in their distinfo, but that is required to be able to push a rename of the port by the pre-receive hook. Approved by: portmgr (rene) Reviewed by: mat Pull Request: https://github.com/freebsd/freebsd-ports/pull/302 PR: 281988
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