Skip to content

Commit

Permalink
Third party tape backends for LTFS
Browse files Browse the repository at this point in the history
For now, we only have NetBSD port of HPE LTFS 4.3.1 ltotape
  • Loading branch information
manu0401 committed Feb 20, 2019
0 parents commit 8613ff9
Show file tree
Hide file tree
Showing 26 changed files with 6,443 additions and 0 deletions.
6 changes: 6 additions & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
ACLOCAL_AMFLAGS = -I m4

nobase_pkginclude_HEADERS = config.h

SUBDIRS = messages src/tape_drivers/netbsd/ltotape

1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# ltfs-backends
51 changes: 51 additions & 0 deletions autogen.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/bin/sh
#
#
# OO_Copyright_BEGIN
#
#
# Copyright 2010, 2018 IBM Corp. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. Neither the name of the copyright holder nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
#
# OO_Copyright_END
#

# Bootstrap LTFS

mkdir -p build-aux

aclocal

if [ -x /usr/local/bin/glibtoolize ]; then
glibtoolize
else
libtoolize
fi

autoconf
autoheader
automake --add-missing --copy
113 changes: 113 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.69])
AC_INIT([ltfs-plugins], [0.1], [[email protected]])
AC_CONFIG_SRCDIR([src/tape_drivers/netbsd/ltotape/ltotape.c])
AC_CONFIG_MACRO_DIRS([m4])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
AC_CONFIG_HEADERS([config.h])
AC_PROG_CC
AM_PROG_AR
AC_PROG_LIBTOOL


# Checks for header files.
AC_CHECK_HEADERS([fcntl.h inttypes.h stdlib.h string.h sys/file.h sys/ioctl.h unistd.h])

# Checks for typedefs, structures, and compiler characteristics.
AC_CHECK_HEADER_STDBOOL
AC_TYPE_SIZE_T
AC_TYPE_UINT16_T
AC_TYPE_UINT32_T
AC_TYPE_UINT64_T
AC_TYPE_UINT8_T

# Checks for library functions.
AC_CHECK_FUNCS([memset strerror strstr])

dnl
dnl Check for pkg-config
dnl
if test -z "$PKG_CONFIG"
then
AC_PATH_PROG(PKG_CONFIG, pkg-config, [no])
fi
if test "x${PKG_CONFIG}" = "xno"
then
AC_MSG_ERROR([pkg-config was not found])
fi

dnl
dnl Check for genrb
dnl
AC_PATH_PROG(GENRB, genrb, no)
if test "x${GENRB}" = "xno"
then
AC_MSG_ERROR([genrb was not found])
fi

dnl
dnl Check for pkgdata
dnl
AC_PATH_PROG(PKGDATA, pkgdata, no)
if test "x${PKGDATA}" = "xno"
then
AC_MSG_ERROR([pkgdata was not found])
fi

dnl
dnl Check for ICU
dnl
ICU_MODULE_CFLAGS="`icu-config --cppflags 2> /dev/null`";
ICU_MODULE_LIBS="`icu-config --ldflags 2> /dev/null`";
if test -z "$ICU_MODULE_LIBS"
then
PKG_CHECK_MODULES([ICU_MODULE], [icu >= 0.21])
fi

AC_MSG_CHECKING([use latest ICU])
AC_ARG_ENABLE([icu_6x],
[AS_HELP_STRING([--enable-icu-6x],[Support handling of ICU 6x functions])],
[icu_6x=$enableval],
[icu_6x=no]
)
AC_MSG_RESULT([$icu_6x])

if test "x${icu_6x}" = "xyes"
then
AC_MSG_CHECKING(for ICU version)
ICU_MODULE_VERSION="`icu-config --version 2> /dev/null`";
if test "${ICU_MODULE_VERSION%%.*}" -ge "60"
then
AM_EXTRA_CPPFLAGS="${AM_EXTRA_CPPFLAGS} -D ICU6x"
fi
AC_MSG_RESULT([$ICU_MODULE_VERSION])
fi

dnl
dnl test for ENOMEDIUM
dnl
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <errno.h>],[
#ifndef ENOMEDIUM
#error no ENOMEDIUM
#endif])],[],[AM_CPPFLAGS="${AM_CPPFLAGS} -DENOMEDIUM=EAGAIN"])


AM_CPPFLAGS="${AM_CPPFLAGS} `${PKG_CONFIG} --cflags ltfs`"
AM_CPPFLAGS="${AM_CPPFLAGS} `${PKG_CONFIG} --cflags fuse`"
AM_CPPFLAGS="${AM_CPPFLAGS} -DIBM_LTFS_BUILD -DGENERIC_OEM_BUILD"
AM_CPPFLAGS="${AM_CPPFLAGS} ${ICU_MODULE_CFLAGS}"
#AM_CPPFLAGS="${AM_CPPFLAGS} -DENOMEDIUM=EAGAIN"

AM_CONDITIONAL([CHK_MESSAGE], [test "x${use_msg_check}" = "xyes"])

AC_SUBST(CFLAGS)
AC_SUBST(AM_CPPFLAGS)
AC_SUBST(AM_EXTRA_CPPFLAGS)
AC_SUBST(AM_CFLAGS)
AC_SUBST(AM_LDFLAGS)

AC_CONFIG_FILES([Makefile messages/Makefile src/tape_drivers/netbsd/ltotape/Makefile])
AC_OUTPUT
69 changes: 69 additions & 0 deletions messages/Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
##
##
## OO_Copyright_BEGIN
##
##
## Copyright 2010, 2018 IBM Corp. All rights reserved.
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## 1. Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## 2. Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## 3. Neither the name of the copyright holder nor the names of its
## contributors may be used to endorse or promote products derived from
## this software without specific prior written permission.
##
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
## AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
## ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
## LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
## CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
## SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
## INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
## CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
## ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
## POSSIBILITY OF SUCH DAMAGE.
##
##
## OO_Copyright_END
##
######################################################################################
##
## COMPONENT NAME: IBM Linear Tape File System
##
## FILE NAME: Makefile.osx
##
## DESCRIPTION: Automake template for LTFS message libraries on Linux.
##
## AUTHOR: Brian Biskeborn
## IBM Almaden Research Center
## [email protected]
##
######################################################################################

RESOURCES = \
driver_ltotape_dat.a

.PHONY: all $(RESOURCES) clean-local
if CHK_MESSAGE
all: $(RESOURCES) ../src/ltfsmsg.h
else
all: $(RESOURCES)
endif

$(RESOURCES):
@./make_message_src.sh $@

if CHK_MESSAGE
../src/ltfsmsg.h: $(RESOURCES)
./print_error_messages.py > ../src/ltfsmsg.h
endif

clean-local:
rm -rf $(RESOURCES) */work
rm -f ../src/ltfsmsg.h
37 changes: 37 additions & 0 deletions messages/driver_ltotape/en.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
//
// %Z% %I% %W% %G% %U%
//
// ZZ_Copyright_BEGIN
//
//
// Licensed Materials - Property of Hewlett Packard Enterprise Development LP
//
// HPE StoreOpen Standalone Version 2.0.1
//
// (C) Copyright 2015, 2016 Hewlett Packard Enterprise Development LP
//
// This file is part of the HPE StoreOpen Standalone
//
// The HPE StoreOpen Standalone is free software;
// you can redistribute it and/or modify it under the terms of the GNU Lesser
// General Public License as published by the Free Software Foundation,
// version 2.1 of the License.
//
// The HPE StoreOpen Standalone is distributed in the
// hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
// implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// or download the license from <http://www.gnu.org/licenses/>.
//
//
// ZZ_Copyright_END
//

en:table {
// This resource intentionally left blank.
}

37 changes: 37 additions & 0 deletions messages/driver_ltotape/en_US.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
//
// %Z% %I% %W% %G% %U%
//
// ZZ_Copyright_BEGIN
//
//
// Licensed Materials - Property of Hewlett Packard Enterprise Development LP
//
// HPE StoreOpen Standalone Version 2.0.1
//
// (C) Copyright 2015, 2016 Hewlett Packard Enterprise Development LP
//
// This file is part of the HPE StoreOpen Standalone
//
// The HPE StoreOpen Standalone is free software;
// you can redistribute it and/or modify it under the terms of the GNU Lesser
// General Public License as published by the Free Software Foundation,
// version 2.1 of the License.
//
// The HPE StoreOpen Standalone is distributed in the
// hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
// implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// or download the license from <http://www.gnu.org/licenses/>.
//
//
// ZZ_Copyright_END
//

en_US:table {
// This resource intentionally left blank.
}

Loading

0 comments on commit 8613ff9

Please sign in to comment.