Files
buildroot/package/mtd/mtd.mk
Dario Binacchi 1124bc4b83 package/mtd: bump to version 2.3.1
See release announce:
2.3.1: https://lists.infradead.org/pipermail/linux-mtd/2026-April/113302.html
2.3.0: https://lists.infradead.org/pipermail/linux-mtd/2025-February/108248.html

Version 2.3.0 added the fsck.ubifs utility, so support it with
the new Kconfig option BR2_PACKAGE_MTD_FSCKUBIFS.

The new version also needs host-pkgconfig, as can be seen from the error
triggered during build tests:

checking pkg-config is at least version 0.9.0... ./configure: line 5613: buildroot/test-output/TestMtd/host/bin/pkg-config: No such file or directory
no
configure: error: pkg-config not found
make[1]: *** [package/pkg-generic.mk:263: buildroot/test-output/TestMtd/build/mtd-2.3.1/.stamp_configured] Error 1

Changelog: https://git.infradead.org/?p=mtd-utils.git;a=blob;f=CHANGELOG.md

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
[Julien:
 - add link to announce in commit log
 - split long host dependency line
 - reorder host dependencies alphabetically
 - fix MTD_INSTALL_DEPENDENCIES to MTD_DEPENDENCIES
]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2026-04-15 21:39:41 +02:00

178 lines
5.9 KiB
Makefile

################################################################################
#
# mtd
#
################################################################################
MTD_VERSION = 2.3.1
MTD_SOURCE = mtd-utils-$(MTD_VERSION).tar.bz2
MTD_SITE = https://infraroot.at/pub/mtd
MTD_LICENSE = GPL-2.0
MTD_LICENSE_FILES = COPYING
MTD_CPE_ID_VENDOR = mtd-utils_project
MTD_CPE_ID_PRODUCT = mtd-utils
MTD_INSTALL_STAGING = YES
MTD_DEPENDENCIES = host-pkgconf
MTD_LDFLAGS = $(TARGET_LDFLAGS)
ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
MTD_DEPENDENCIES += libexecinfo
MTD_LDFLAGS += -lexecinfo
endif
ifeq ($(BR2_PACKAGE_LZO),y)
MTD_DEPENDENCIES += lzo
MTD_CONF_OPTS += --with-lzo
else
MTD_CONF_OPTS += --without-lzo
endif
ifeq ($(BR2_PACKAGE_ZLIB),y)
MTD_DEPENDENCIES += zlib
MTD_CONF_OPTS += --with-zlib
else
MTD_CONF_OPTS += --without-zlib
endif
MTD_CONF_ENV += LDFLAGS="$(MTD_LDFLAGS)"
ifeq ($(BR2_PACKAGE_MTD_JFFS_UTILS),y)
MTD_CONF_OPTS += --with-jffs
else
MTD_CONF_OPTS += --without-jffs
endif
ifeq ($(BR2_PACKAGE_MTD_UBIFS_UTILS),y)
MTD_DEPENDENCIES += util-linux
MTD_CONF_OPTS += --with-ubifs
# crypto needs linux/hash_info.h
ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12)$(BR2_PACKAGE_OPENSSL),yy)
MTD_DEPENDENCIES += openssl
MTD_CONF_OPTS += --with-crypto
else
MTD_CONF_OPTS += --without-crypto
endif
ifeq ($(BR2_PACKAGE_ZSTD),y)
MTD_DEPENDENCIES += zstd
MTD_CONF_OPTS += --with-zstd
else
MTD_CONF_OPTS += --without-zstd
endif
else
MTD_CONF_OPTS += --without-ubifs
endif
ifeq ($(BR2_PACKAGE_MTD_UBIHEALTHD),y)
MTD_CONF_OPTS += --enable-ubihealthd
else
MTD_CONF_OPTS += --disable-ubihealthd
endif
ifeq ($(BR2_PACKAGE_MTD_TESTS),y)
MTD_CONF_OPTS += --with-tests
else
MTD_CONF_OPTS += --without-tests
endif
# If extended attributes are required, the acl package must
# also be enabled which will also include the attr package.
ifeq ($(BR2_PACKAGE_ACL),y)
MTD_DEPENDENCIES += acl
MTD_CONF_OPTS += --with-xattr
else
MTD_CONF_OPTS += --without-xattr
endif
HOST_MTD_DEPENDENCIES = \
host-acl \
host-lzo \
host-pkgconf \
host-util-linux \
host-zlib \
host-zstd
HOST_MTD_CONF_OPTS = \
--with-jffs \
--with-ubifs \
--without-crypto \
--without-tests
MKFS_JFFS2 = $(HOST_DIR)/sbin/mkfs.jffs2
SUMTOOL = $(HOST_DIR)/sbin/sumtool
MTD_TARGETS_$(BR2_PACKAGE_MTD_DOCFDISK) += docfdisk
MTD_TARGETS_$(BR2_PACKAGE_MTD_DOC_LOADBIOS) += doc_loadbios
MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASHCP) += flashcp
MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_ERASE) += flash_erase
MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_LOCK) += flash_lock
MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_DUMP) += flash_otp_dump
MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_INFO) += flash_otp_info
MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_LOCK) += flash_otp_lock
MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_WRITE) += flash_otp_write
MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_ERASE) += flash_otp_erase
MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_UNLOCK) += flash_unlock
MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_CHECK) += ftl_check
MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_FORMAT) += ftl_format
MTD_TARGETS_$(BR2_PACKAGE_MTD_JFFS2DUMP) += jffs2dump
MTD_TARGETS_$(BR2_PACKAGE_MTD_LSMTD) += lsmtd
MTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSJFFS2) += mkfs.jffs2
MTD_TARGETS_$(BR2_PACKAGE_MTD_MTD_DEBUG) += mtd_debug
MTD_TARGETS_$(BR2_PACKAGE_MTD_MTDPART) += mtdpart
MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDDUMP) += nanddump
MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDTEST) += nandtest
MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDWRITE) += nandwrite
MTD_TARGETS_$(BR2_PACKAGE_MTD_NFTLDUMP) += nftldump
MTD_TARGETS_$(BR2_PACKAGE_MTD_NFTL_FORMAT) += nftl_format
MTD_TARGETS_$(BR2_PACKAGE_MTD_RECV_IMAGE) += recv_image
MTD_TARGETS_$(BR2_PACKAGE_MTD_RFDDUMP) += rfddump
MTD_TARGETS_$(BR2_PACKAGE_MTD_RFDFORMAT) += rfdformat
MTD_TARGETS_$(BR2_PACKAGE_MTD_SERVE_IMAGE) += serve_image
MTD_TARGETS_$(BR2_PACKAGE_MTD_SUMTOOL) += sumtool
MTD_TARGETS_$(BR2_PACKAGE_MTD_MTDINFO) += mtdinfo
MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIATTACH) += ubiattach
MTD_TARGETS_$(BR2_PACKAGE_MTD_UBICRC32) += ubicrc32
MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIDETACH) += ubidetach
MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIFORMAT) += ubiformat
MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIHEALTHD) += ubihealthd
MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIMKVOL) += ubimkvol
MTD_TARGETS_$(BR2_PACKAGE_MTD_UBINFO) += ubinfo
MTD_TARGETS_$(BR2_PACKAGE_MTD_UBINIZE) += ubinize
MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIRENAME) += ubirename
MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIRMVOL) += ubirmvol
MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIRSVOL) += ubirsvol
MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIUPDATEVOL) += ubiupdatevol
MTD_TARGETS_$(BR2_PACKAGE_MTD_UBIBLOCK) += ubiblock
MTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSUBIFS) += mkfs.ubifs
MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_READTEST) += flash_readtest
MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_SPEED) += flash_speed
MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_STRESS) += flash_stress
MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_TORTURE) += flash_torture
MTD_TARGETS_$(BR2_PACKAGE_MTD_INTEGCK) += integck
MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDBITERRS) += nandbiterrs
MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDPAGETEST) += nandpagetest
MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDSUBPAGETEST) += nandsubpagetest
MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDFLIPBITS) += nandflipbits
MTD_TARGETS_$(BR2_PACKAGE_MTD_FSCKUBIFS) += fsck.ubifs
define MTD_INSTALL_TARGET_CMDS
$(foreach f,$(MTD_TARGETS_y), \
$(INSTALL) -D -m 0755 $(@D)/$(f) $(TARGET_DIR)/usr/sbin/$(notdir $(f))
)
endef
# Those libraries are not installed by "make install", but are needed
# by other packages, such as swupdate.
define MTD_INSTALL_LIBS
$(INSTALL) -D -m 0755 $(@D)/include/libmtd.h $(STAGING_DIR)/usr/include/libmtd.h
$(INSTALL) -D -m 0755 $(@D)/include/libubi.h $(STAGING_DIR)/usr/include/libubi.h
$(INSTALL) -D -m 0755 $(@D)/include/mtd/ubi-media.h $(STAGING_DIR)/usr/include/mtd/ubi-media.h
$(INSTALL) -D -m 0755 $(@D)/libmtd.a $(STAGING_DIR)/usr/lib/libmtd.a
$(INSTALL) -D -m 0755 $(@D)/libubi.a $(STAGING_DIR)/usr/lib/libubi.a
endef
MTD_POST_INSTALL_STAGING_HOOKS += MTD_INSTALL_LIBS
$(eval $(autotools-package))
$(eval $(host-autotools-package))