[package] update e2fsprogs to 1.41.9, add support for ext4 (#5748)
[openwrt/svn-archive/archive.git] / package / e2fsprogs / Makefile
1 #
2 # Copyright (C) 2006-2008 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=e2fsprogs
11 ifneq ($(findstring "0.9.29",$(CONFIG_UCLIBC_VERSION)),"0.9.29")
12 PKG_VERSION:=1.41.9
13 PKG_MD5SUM:=52f60a9e19a02f142f5546f1b5681927
14 else
15 PKG_VERSION:=1.40.11
16 PKG_MD5SUM:=004cea70d724fdc7f1a952dffe4c9db8
17 endif
18 PKG_RELEASE:=1
19
20 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
21 PKG_SOURCE_URL:=@SF/e2fsprogs
22
23 include $(INCLUDE_DIR)/package.mk
24
25 define Package/e2fsprogs/Default
26 URL:=http://e2fsprogs.sourceforge.net/
27 SUBMENU:=Filesystem
28 endef
29
30 define Package/e2fsprogs
31 $(call Package/e2fsprogs/Default)
32 SECTION:=utils
33 CATEGORY:=Utilities
34 TITLE:=Ext2/3/4 filesystem utilities
35 DEPENDS:=+libblkid +libuuid +libext2fs +libpthread
36 endef
37
38 define Package/e2fsprogs/description
39 This package contains essential ext2 filesystem utilities which consists of
40 e2fsck, mke2fs, debugfs, dumpe2fs, tune2fs, and most of the other core ext2
41 filesystem utilities.
42 endef
43
44 define Package/libuuid
45 $(call Package/e2fsprogs/Default)
46 SECTION:=libs
47 CATEGORY:=Libraries
48 TITLE:=DCE compatible Universally Unique Identifier library
49 endef
50
51 define Package/libuuid/description
52 Library for generating DCE compatible Universally Unique Identifiers.
53 endef
54
55 define Package/uuidgen
56 $(call Package/e2fsprogs)
57 DEPENDS:=libuuid
58 TITLE:=Command line utility to create a new UUID value
59 endef
60
61 define Package/uuidgen/description
62 uuidgen program creates a new universally unique identifier (UUID)
63 using the libuuid library. The new UUID can reasonably be considered
64 unique among all UUIDs created on the local system, and among UUIDs
65 created on other systems in the past and in the future.
66 endef
67
68 define Package/libblkid
69 $(call Package/e2fsprogs/Default)
70 SECTION:=libs
71 CATEGORY:=Libraries
72 TITLE:=block device id library
73 endef
74
75 define Package/libblkid/description
76 The blkid library which allows system programs like fsck and mount to
77 quickly and easily find block devices by filesystem UUID and LABEL.
78 endef
79
80 define Package/libext2fs
81 $(call Package/e2fsprogs/Default)
82 SECTION:=libs
83 CATEGORY:=Libraries
84 TITLE:=ext2/3/4 filesystem library
85 endef
86
87 define Package/libext2fs/description
88 libext2fs is a library which can access ext2, ext3 and ext4 filesystems.
89 endef
90
91 define Package/tune2fs
92 $(call Package/e2fsprogs)
93 TITLE:=Ext2 Filesystem tune utility
94 DEPENDS:=e2fsprogs
95 endef
96
97 define Package/resize2fs
98 $(call Package/e2fsprogs)
99 TITLE:=Ext2 Filesystem resize utility
100 DEPENDS:=e2fsprogs
101 endef
102
103 define Package/badblocks
104 $(call Package/e2fsprogs)
105 TITLE:=Ext2 Filesystem badblocks utility
106 DEPENDS:=e2fsprogs
107 endef
108
109 define Package/blkid
110 $(call Package/e2fsprogs)
111 TITLE:=Command-line utility to locate/print block device attributes
112 DEPENDS:=libuuid libblkid
113 endef
114
115 CONFIGURE_ARGS += \
116 --enable-shared \
117 --enable-static \
118 --disable-rpath \
119 --enable-elf-shlibs \
120 --enable-dynamic-e2fsck \
121 --disable-tls
122
123 define Build/Prepare
124 $(call Build/Prepare/Default)
125 $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/config/
126 endef
127
128 define Build/Compile
129 $(MAKE) -C $(PKG_BUILD_DIR)/util \
130 BUILDCC="$(HOSTCC)" \
131 CFLAGS="" \
132 CPPFLAGS="" \
133 LDFLAGS="" \
134 subst
135 $(MAKE) -C $(PKG_BUILD_DIR) \
136 BUILDCC="$(HOSTCC)" \
137 DESTDIR="$(PKG_INSTALL_DIR)" \
138 all install
139 endef
140
141 define Build/InstallDev
142 $(MAKE) -C $(PKG_BUILD_DIR) \
143 BUILDCC="$(HOSTCC)" \
144 DESTDIR="$(1)" \
145 install-libs
146 $(MAKE) -C $(PKG_BUILD_DIR)/lib/ext2fs \
147 BUILDCC="$(HOSTCC)" \
148 DESTDIR="$(1)" \
149 install
150 endef
151
152 define Package/e2fsprogs/install
153 $(INSTALL_DIR) $(1)/usr/sbin
154 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/e2fsck $(1)/usr/sbin/
155 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mke2fs $(1)/usr/sbin/
156 ln -sf mke2fs $(1)/usr/sbin/mkfs.ext2
157 ln -sf mke2fs $(1)/usr/sbin/mkfs.ext3
158 ln -sf mke2fs $(1)/usr/sbin/mkfs.ext4
159 $(INSTALL_DIR) $(1)/usr/lib
160 $(CP) $(foreach lib,com_err e2p,$(PKG_INSTALL_DIR)/usr/lib/lib$(lib).so.*) $(1)/usr/lib/
161 $(INSTALL_DIR) $(1)/etc/init.d
162 $(INSTALL_BIN) ./files/e2fsck.init $(1)/etc/init.d/e2fsck
163
164 endef
165
166 define Package/libuuid/install
167 $(INSTALL_DIR) $(1)/usr/lib
168 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libuuid.so.* $(1)/usr/lib/
169 endef
170
171 define Package/uuidgen/install
172 $(INSTALL_DIR) $(1)/usr/bin
173 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/uuidgen $(1)/usr/bin/
174 endef
175
176 define Package/libblkid/install
177 $(INSTALL_DIR) $(1)/usr/lib
178 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libblkid.so.* $(1)/usr/lib/
179 endef
180
181 define Package/libext2fs/install
182 $(INSTALL_DIR) $(1)/usr/lib
183 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libext2fs.so* $(1)/usr/lib/
184 endef
185
186 define Package/tune2fs/install
187 $(INSTALL_DIR) $(1)/usr/sbin
188 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/tune2fs $(1)/usr/sbin/
189 endef
190
191 define Package/resize2fs/install
192 $(INSTALL_DIR) $(1)/usr/sbin
193 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/resize2fs $(1)/usr/sbin/
194 endef
195
196 define Package/badblocks/install
197 $(INSTALL_DIR) $(1)/usr/sbin
198 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/badblocks $(1)/usr/sbin/
199 endef
200
201 define Package/blkid/install
202 $(INSTALL_DIR) $(1)/usr/sbin
203 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/blkid $(1)/usr/sbin/
204 endef
205
206 $(eval $(call BuildPackage,e2fsprogs))
207 $(eval $(call BuildPackage,libuuid))
208 $(eval $(call BuildPackage,uuidgen))
209 $(eval $(call BuildPackage,libblkid))
210 $(eval $(call BuildPackage,libext2fs))
211 $(eval $(call BuildPackage,tune2fs))
212 $(eval $(call BuildPackage,resize2fs))
213 $(eval $(call BuildPackage,badblocks))
214 $(eval $(call BuildPackage,blkid))