net-fs/lustre: Add ebuild

2.15.x doesn't build against kernel 6.12, 2.16.61 is the working one.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
This commit is contained in:
Jeremi Piotrowski 2025-12-01 13:58:15 +01:00
parent 24dfc54706
commit e8e146db2e
5 changed files with 134 additions and 0 deletions

View File

@ -0,0 +1,2 @@
DIST lustre-2.15.91.tar.gz 46836162 BLAKE2B b0dc9741721d566e88e7aaae16755ffd6ce8a1d6999dd00f541a50ad46e522d86b9a0240f293811e9a93b3a0f5275bca11f9199cc50f0f5642b077b977026a7d SHA512 31c6cbfb8da738d09876c3a19b5dd7aac1c4a655034c8e468b16c43eadaae1278bc7a12b88d59c5eeed1e49d454e222cf131b059b36b864e3fb1a1be49bbbace
DIST lustre-2.16.61.tar.gz 47348902 BLAKE2B de93456855fca860c9dd5c262e04dcd8af65ce139ba08ee9ad52bbdf834a6acfb9c41cf4732edcf6b90ab87cc047cd57b1e30df2afcb84e2aeb818b3cc128d94 SHA512 48d5e301a2d49c4b24372baed46ea3097037fea6b076a94f00b0a761681c69429994fa7c348e42b8bf816e63485fc8646aa8c030b0108449b32b5229af0dfbeb

View File

@ -0,0 +1,18 @@
diff --git a/configure.ac b/configure.ac
index 4000a38aa8..b5917dd618 100644
--- a/configure.ac
+++ b/configure.ac
@@ -14,6 +14,13 @@ AC_INIT([Lustre], m4_esyscmd_s([./LUSTRE-VERSION-GEN]),
AC_CONFIG_AUX_DIR([config])
AC_CONFIG_MACRO_DIR([config])
+m4_ifdef([AC_CONFIG_MACRO_DIRS], [
+AC_CONFIG_MACRO_DIRS([libcfs/autoconf lnet/autoconf lustre/autoconf])
+], [
+AC_CONFIG_MACRO_DIR([libcfs/autoconf])
+AC_CONFIG_MACRO_DIR([lnet/autoconf])
+AC_CONFIG_MACRO_DIR([lustre/autoconf])
+])
LC_CONFIG_SRCDIR

View File

@ -0,0 +1 @@
lustre-9999.ebuild

View File

@ -0,0 +1 @@
lustre-9999.ebuild

View File

@ -0,0 +1,112 @@
# Copyright 2025 Flatcar Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit libtool autotools bash-completion-r1 linux-mod-r1 systemd toolchain-funcs
DESCRIPTION="Lustre client filesystem modules and utilities"
HOMEPAGE="https://github.com/microsoft/amlFilesystem-lustre"
MY_PN=amlFilesystem-lustre
if [[ ${PV} == 9999* ]]; then
SRC_URI=""
else
SRC_URI="https://github.com/microsoft/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 ~amd64"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE=""
RESTRICT="test"
COMMON_DEPEND="
dev-libs/libnl:3
dev-libs/libpcre2:=
dev-libs/libyaml:=
dev-libs/openssl:=
sys-apps/keyutils
sys-apps/util-linux
sys-fs/e2fsprogs
sys-libs/libselinux
sys-libs/ncurses:=
sys-libs/readline:=
sys-libs/zlib
"
DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}"
BDEPEND="
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
"
S="${WORKDIR}/${MY_PN}-${PV}"
DOCS=( ChangeLog README )
pkg_setup() {
linux-mod-r1_pkg_setup
[[ -n ${KV_DIR} ]] || die "Unable to determine kernel source directory"
[[ -n ${KV_OUT_DIR} ]] || die "Unable to determine kernel build directory"
}
src_prepare() {
if [[ "${PV}" == 2.15* ]]; then
eapply "${FILESDIR}/${PN}-2.15-configure-ac.patch"
fi
eapply_user
eautoreconf
}
src_configure() {
local myeconfargs=(
--disable-server
--enable-client
--disable-doc
--disable-manpages
--disable-tests
--disable-mpitests
--disable-efence
--disable-gss
# --bindir="${EPREFIX}/usr/bin"
# --sbindir="${EPREFIX}//sbin"
# --libdir="${EPREFIX}/usr/$(get_libdir)"
# --sysconfdir="${EPREFIX}/etc"
# --with-bash-completion-dir="$(get_bashcompdir)"
--with-linux="${KV_DIR}"
--with-linux-obj="${KV_OUT_DIR}"
# --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
)
set_arch_to_kernel
econf "${myeconfargs[@]}"
}
src_compile() {
emake "${MODULES_MAKEARGS[@]}"
}
src_install() {
emake "${MODULES_MAKEARGS[@]}" DESTDIR="${ED}" install
if use modules-compress; then
ko2iblnd=$(find "${ED}"/lib/modules -name "ko2iblnd.ko*")
test -n "${ko2iblnd}" || die "module ko2iblnd.ko not found"
# replace symlink with copy of file
target="$(readlink -f "${ko2iblnd}")"
rm -f "${ko2iblnd}" || die "remove symlink"
cp -a "${target}" "${ko2iblnd}" || die "copy module"
fi
modules_post_process
# Drop DKMS helper that is not used on Flatcar
rm -f "${ED}"/etc/sysconfig/dkms-lustre || die
einstalldocs
}
pkg_postinst() {
linux-mod-r1_pkg_postinst
}