dosfstools: bump to v3.0.27 & add ICONV support

Signed-off-by: David Bonnes <david.bonnes@gmail.com>
This commit is contained in:
David Bonnes 2015-02-02 22:25:38 +00:00
parent 45c7267ba5
commit 96d208380e
2 changed files with 139 additions and 0 deletions

109
utils/dosfstools/Makefile Normal file
View File

@ -0,0 +1,109 @@
#
# Copyright (C) 2006-2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=dosfstools
PKG_VERSION:=3.0.27
PKG_RELEASE:=1
PKG_LICENSE:=GPL-3.0+
PKG_LICENSE_FILES:=COPYING
PKG_MAINTAINER:=David Bonnes <david.bonnes@gmail.com>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://daniel-baumann.ch/files/software/dosfstools \
http://fossies.org/linux/misc
PKG_MD5SUM:=2e31e7bdf92998e41ed17de505a4a552
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
define Package/dosfstools/Default
SECTION:=utils
CATEGORY:=Utilities
URL:=http://www.daniel-baumann.ch/software/dosfstools/
SUBMENU:=Filesystem
DEPENDS:=$(ICONV_DEPENDS)
endef
define Package/dosfsck
$(call Package/dosfstools/Default)
TITLE:=fsck (fsck.fat) utility from dosfstools
endef
define Package/dosfslabel
$(call Package/dosfstools/Default)
TITLE:=fslabel (fatlabel) utility from dosfstools
endef
define Package/mkdosfs
$(call Package/dosfstools/Default)
TITLE:=mkfs (mkfs.fat) utility from dosfstools
endef
define Package/dosfsck/description
Utilities to create and check MS-DOS FAT filesystems.
(fsck.vfat and fsck.fat for checking integrity of FAT volumes)
endef
define Package/dosfslabel/description
Utilities to create and check MS-DOS FAT filesystems.
(fatlabel for reading and writing labels of FAT volumes)
endef
define Package/mkdosfs/description
Utilities to create and check MS-DOS FAT filesystems.
(mkfs.vfat and mkfs.fat for creating FAT volumes)
endef
LDFLAGS+=$(ICONV_LDFLAGS)
LDLIBS+=-liconv
define Build/Configure
endef
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
$(TARGET_CONFIGURE_OPTS) \
OPTFLAGS="$(TARGET_CFLAGS) -D_FILE_OFFSET_BITS=64" \
PREFIX="/usr" \
SBINDIR="/usr/sbin" \
LDFLAGS="$(LDFLAGS)" \
LDLIBS="$(LDLIBS)" \
all
$(MAKE) -C $(PKG_BUILD_DIR) \
$(TARGET_CONFIGURE_OPTS) \
OPTFLAGS="$(TARGET_CFLAGS) -D_FILE_OFFSET_BITS=64" \
PREFIX="$(PKG_INSTALL_DIR)/usr" \
SBINDIR="$(PKG_INSTALL_DIR)/usr/sbin" \
install-bin
endef
define Package/dosfsck/install
$(INSTALL_DIR) $(1)/lib/functions/fsck
$(INSTALL_DATA) ./files/dosfsck.sh $(1)/lib/functions/fsck/
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fsck.fat $(1)/usr/sbin/
(cd $(1)/usr/sbin; ln -sf fsck.fat fsck.msdos; ln -sf fsck.fat fsck.vfat; ln -sf fsck.fat dosfsck)
endef
define Package/dosfslabel/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fatlabel $(1)/usr/sbin/
endef
define Package/mkdosfs/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mkfs.fat $(1)/usr/sbin/
(cd $(1)/usr/sbin; ln -sf mkfs.fat mkfs.msdos; ln -sf mkfs.fat mkfs.vfat)
endef
$(eval $(call BuildPackage,dosfsck))
$(eval $(call BuildPackage,dosfslabel))
$(eval $(call BuildPackage,mkdosfs))

View File

@ -0,0 +1,30 @@
#!/bin/sh
# Copyright 2010 Vertical Communications
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
fsck_dosfsck() {
dosfsck -p "$device" 2>&1 | logger -t "fstab: dosfsck ($device)"
local status="$?"
case "$status" in
0|1) ;; #success
2) reboot;;
4) echo "dosfsck ($device): Warning! Uncorrected errors."| logger -t fstab
return 1
;;
*) echo "dosfsck ($device): Error $status. Check not complete."| logger -t fstab;;
esac
return 0
}
fsck_dos() {
fsck_dosfsck "$@"
}
fsck_vfat() {
fsck_dosfsck "$@"
}
append libmount_known_fsck "dos"
append libmount_known_fsck "vfat"