2 # Copyright (C) 2006-2014 OpenWrt.org
3 # Copyright 2010 Vertical Communications
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR)/rules.mk
12 PKG_HASH:=54b3f21123a531a6a536b9cdcc21344b0122a72790dbe4dacc98e64db25e4a24
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
16 PKG_SOURCE_URL:=@KERNEL/linux/kernel/people/tytso/e2fsprogs/v$(PKG_VERSION)/
19 PKG_BUILD_DEPENDS:=util-linux
24 include $(INCLUDE_DIR)/package.mk
26 define Package/e2fsprogs/Default
27 URL:=http://e2fsprogs.sourceforge.net/
31 define Package/e2fsprogs
32 $(call Package/e2fsprogs/Default)
35 TITLE:=Ext2/3/4 filesystem utilities
36 DEPENDS:=+libuuid +libext2fs
39 define Package/e2fsprogs/description
40 This package contains essential ext2 filesystem utilities which consists of
41 e2fsck, mke2fs and most of the other core ext2 filesystem utilities.
44 define Package/libext2fs
45 $(call Package/e2fsprogs/Default)
49 TITLE:=ext2/3/4 filesystem library
52 define Package/libext2fs/description
53 libext2fs is a library which can access ext2, ext3 and ext4 filesystems.
56 define Package/tune2fs
57 $(call Package/e2fsprogs)
58 TITLE:=Ext2 Filesystem tune utility
62 define Package/resize2fs
63 $(call Package/e2fsprogs)
64 TITLE:=Ext2 Filesystem resize utility
68 define Package/badblocks
69 $(call Package/e2fsprogs)
70 TITLE:=Ext2 Filesystem badblocks utility
74 define Package/dumpe2fs
75 $(call Package/e2fsprogs)
76 TITLE:=Ext2 Filesystem information dumping utility
80 define Package/e2freefrag
81 $(call Package/e2fsprogs)
82 TITLE:=Ext2 Filesystem free space fragmentation information utility
86 define Package/filefrag
87 $(call Package/e2fsprogs)
88 TITLE:=Ext2 Filesystem file fragmentation report utility
92 define Package/debugfs
93 $(call Package/e2fsprogs)
94 TITLE:=Ext2 Filesystem debugger
99 $(call Package/e2fsprogs)
100 TITLE:=Ext2 Filesystem chattr utility
104 define Package/lsattr
105 $(call Package/e2fsprogs)
106 TITLE:=Ext2 Filesystem lsattr utility
110 TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections
113 ac_cv_lib_pthread_sem_init=no
116 --disable-testio-debug \
117 --enable-elf-shlibs \
126 $(call Build/Prepare/Default)
127 $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/config/
131 +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/util \
132 BUILDCC="$(HOSTCC)" \
136 V=$(if $(findstring c,$(OPENWRT_VERBOSE)),1,) \
138 +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
139 LDFLAGS=-Wl,--gc-sections \
140 BUILDCC="$(HOSTCC)" \
141 DESTDIR="$(PKG_INSTALL_DIR)" \
142 LIBBLKID="$(PKG_BUILD_DIR)/lib/libblkid.a -luuid" \
143 ELF_OTHER_LIBS="$(TARGET_LDFLAGS) -luuid" \
144 SYSLIBS="$(TARGET_LDFLAGS) -ldl -L$(PKG_BUILD_DIR)/lib/ -l:libcom_err.so.0.0" \
145 V=$(if $(findstring c,$(OPENWRT_VERBOSE)),1,) \
149 define Build/InstallDev
150 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
151 $(CP) $(PKG_BUILD_DIR)/lib/ext2fs/ext2fs.pc $(1)/usr/lib/pkgconfig
152 $(CP) $(PKG_BUILD_DIR)/lib/et/com_err.pc $(1)/usr/lib/pkgconfig
154 $(INSTALL_DIR) $(1)/usr/lib
155 $(CP) $(PKG_BUILD_DIR)/lib/libext2fs.{so,a}* $(1)/usr/lib
156 $(CP) $(PKG_BUILD_DIR)/lib/libcom_err.{so,a}* $(1)/usr/lib
158 $(INSTALL_DIR) $(1)/usr/include/ext2fs
159 $(CP) $(PKG_BUILD_DIR)/lib/ext2fs/*.h $(1)/usr/include/ext2fs
160 $(INSTALL_DIR) $(1)/usr/include/et
161 $(CP) $(PKG_BUILD_DIR)/lib/et/*.h $(1)/usr/include/et
164 define Package/e2fsprogs/conffiles
168 define Package/e2fsprogs/install
169 $(INSTALL_DIR) $(1)/usr/sbin
170 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/e2fsck $(1)/usr/sbin/
171 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mke2fs $(1)/usr/sbin/
172 $(LN) mke2fs $(1)/usr/sbin/mkfs.ext2
173 $(LN) mke2fs $(1)/usr/sbin/mkfs.ext3
174 $(LN) mke2fs $(1)/usr/sbin/mkfs.ext4
175 $(LN) e2fsck $(1)/usr/sbin/fsck.ext2
176 $(LN) e2fsck $(1)/usr/sbin/fsck.ext3
177 $(LN) e2fsck $(1)/usr/sbin/fsck.ext4
178 $(INSTALL_DIR) $(1)/usr/lib
179 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libe2p.so.* $(1)/usr/lib/
180 $(INSTALL_DIR) $(1)/etc/init.d
181 $(INSTALL_DIR) $(1)/lib/functions/fsck
182 $(INSTALL_DATA) ./files/e2fsck.sh $(1)/lib/functions/fsck/
183 $(INSTALL_DATA) ./files/e2fsck.conf $(1)/etc/e2fsck.conf
186 define Package/libcom_err/install
189 define Package/libext2fs/install
190 $(INSTALL_DIR) $(1)/usr/lib
192 $(PKG_INSTALL_DIR)/usr/lib/libext2fs.so.* \
193 $(PKG_INSTALL_DIR)/usr/lib/libcom_err.so.* \
197 define Package/libext2fs/install_lib
198 $(INSTALL_DIR) $(1)/usr/lib
199 $(CP) $(PKG_BUILD_DIR)/lib/ext2fs/libext2fs.a $(1)/usr/lib/libext2fs_pic.a
202 define Package/tune2fs/install
203 $(INSTALL_DIR) $(1)/usr/sbin
204 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/tune2fs $(1)/usr/sbin/
205 $(LN) tune2fs $(1)/usr/sbin/findfs
208 define Package/resize2fs/install
209 $(INSTALL_DIR) $(1)/usr/sbin
210 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/resize2fs $(1)/usr/sbin/
213 define Package/badblocks/install
214 $(INSTALL_DIR) $(1)/usr/sbin
215 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/badblocks $(1)/usr/sbin/
218 define Package/dumpe2fs/install
219 $(INSTALL_DIR) $(1)/usr/sbin
220 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dumpe2fs $(1)/usr/sbin/
223 define Package/e2freefrag/install
224 $(INSTALL_DIR) $(1)/usr/sbin
225 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/e2freefrag $(1)/usr/sbin/
228 define Package/filefrag/install
229 $(INSTALL_DIR) $(1)/usr/sbin
230 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/filefrag $(1)/usr/sbin/
233 define Package/debugfs/install
234 $(INSTALL_DIR) $(1)/usr/sbin
235 $(INSTALL_DIR) $(1)/usr/lib
236 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/debugfs $(1)/usr/sbin/
237 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libss.so.* $(1)/usr/lib/
240 define Package/chattr/install
241 $(INSTALL_DIR) $(1)/usr/bin
242 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/chattr $(1)/usr/bin/
245 define Package/lsattr/install
246 $(INSTALL_DIR) $(1)/usr/bin
247 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lsattr $(1)/usr/bin/
250 $(eval $(call BuildPackage,e2fsprogs))
251 $(eval $(call BuildPackage,libext2fs))
252 $(eval $(call BuildPackage,tune2fs))
253 $(eval $(call BuildPackage,resize2fs))
254 $(eval $(call BuildPackage,badblocks))
255 $(eval $(call BuildPackage,dumpe2fs))
256 $(eval $(call BuildPackage,e2freefrag))
257 $(eval $(call BuildPackage,filefrag))
258 $(eval $(call BuildPackage,debugfs))
259 $(eval $(call BuildPackage,chattr))
260 $(eval $(call BuildPackage,lsattr))