nvme-cli: Add new package
authorLuca Barbato <redacted>
Tue, 11 Jul 2023 14:01:16 +0000 (14:01 +0000)
committerTianling Shen <redacted>
Tue, 18 Jul 2023 13:26:46 +0000 (21:26 +0800)
Signed-off-by: Luca Barbato <redacted>
libs/libnvme/Makefile [new file with mode: 0644]
utils/nvme-cli/Makefile [new file with mode: 0644]

diff --git a/libs/libnvme/Makefile b/libs/libnvme/Makefile
new file mode 100644 (file)
index 0000000..0a459cc
--- /dev/null
@@ -0,0 +1,57 @@
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Copyright (C) 2023 Luca Barbato
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libnvme
+PKG_VERSION:=1.5
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://github.com/linux-nvme/libnvme/archive/refs/tags/v$(PKG_VERSION)
+PKG_HASH:=f73ba1edde059b2d5e7c1048ad4f895e6047bff241c94b34a7aff5894779d086
+
+PKG_LICENSE:=GPL-2.0-or-later
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Luca Barbato <lu_zero@luminem.org>
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/meson.mk
+
+define Package/libnvme
+  SECTION:=utils
+  CATEGORY:=Libraries
+  SUBMENU:=Filesystem
+  TITLE:=C Library for NVM Express on Linux
+  URL:=https://github.com/linux-nvme/libnvme
+  DEPENDS:=+libjson-c
+endef
+
+define Package/libnvme/description
+  This is the libnvme development C library. libnvme provides type
+  definitions for NVMe specification structures, enumerations, and
+  bit fields, helper functions to construct, dispatch, and decode
+  commands and payloads, and utilities to connect, scan, and manage
+  nvme devices on a Linux system.
+endef
+
+MESON_ARGS += \
+       -Dopenssl=disabled -Dpython=disabled -Dlibdbus=disabled -Dkeyutils=disabled
+
+define Package/libnvme/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnvme*.so* $(1)/usr/lib/
+endef
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include/nvme
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/nvme/*.h $(1)/usr/include/nvme
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnvme*.so* $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libnvme*.pc $(1)/usr/lib/pkgconfig/
+endef
+
+$(eval $(call BuildPackage,libnvme))
diff --git a/utils/nvme-cli/Makefile b/utils/nvme-cli/Makefile
new file mode 100644 (file)
index 0000000..b76efa9
--- /dev/null
@@ -0,0 +1,40 @@
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Copyright (C) 2023 Luca Barbato
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=nvme-cli
+PKG_VERSION:=2.5
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://github.com/linux-nvme/nvme-cli/archive/refs/tags/v$(PKG_VERSION)
+PKG_HASH:=e84bdba276aadcddda8cf5d412e934cc5673af15132ea02180deb5d06af73146
+
+PKG_LICENSE:=GPL-2.0-or-later
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Luca Barbato <lu_zero@luminem.org>
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/meson.mk
+
+define Package/nvme-cli
+  SECTION:=utils
+  CATEGORY:=Utilities
+  SUBMENU:=Filesystem
+  TITLE:=NVMe management command line interface
+  URL:=https://nvmexpress.org/
+  DEPENDS:=+libnvme 
+endef
+
+define Package/nvme-cli/description
+  NVM-Express user space tooling for Linux.
+endef
+
+define Package/nvme-cli/install
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(CP) $(PKG_INSTALL_DIR)/usr/sbin/nvme $(1)/usr/sbin/
+endef
+
+$(eval $(call BuildPackage,nvme-cli))
git clone https://git.99rst.org/PROJECT