diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/lustre/Manifest b/sdk_container/src/third_party/coreos-overlay/net-fs/lustre/Manifest new file mode 100644 index 0000000000..2b7bbe6c52 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/net-fs/lustre/Manifest @@ -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 diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/lustre/files/lustre-2.15-configure-ac.patch b/sdk_container/src/third_party/coreos-overlay/net-fs/lustre/files/lustre-2.15-configure-ac.patch new file mode 100644 index 0000000000..d35100f1bc --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/net-fs/lustre/files/lustre-2.15-configure-ac.patch @@ -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 + diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/lustre/lustre-2.15.91.ebuild b/sdk_container/src/third_party/coreos-overlay/net-fs/lustre/lustre-2.15.91.ebuild new file mode 120000 index 0000000000..3f16576ea0 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/net-fs/lustre/lustre-2.15.91.ebuild @@ -0,0 +1 @@ +lustre-9999.ebuild \ No newline at end of file diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/lustre/lustre-2.16.61.ebuild b/sdk_container/src/third_party/coreos-overlay/net-fs/lustre/lustre-2.16.61.ebuild new file mode 120000 index 0000000000..3f16576ea0 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/net-fs/lustre/lustre-2.16.61.ebuild @@ -0,0 +1 @@ +lustre-9999.ebuild \ No newline at end of file diff --git a/sdk_container/src/third_party/coreos-overlay/net-fs/lustre/lustre-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/net-fs/lustre/lustre-9999.ebuild new file mode 100644 index 0000000000..a7c62091c6 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/net-fs/lustre/lustre-9999.ebuild @@ -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 +}