9d6bc164feda9b048e68c5a79c85a649398d069d
[openwrt-10.03/.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.5
13 PKG_MD5SUM:=e218df6c84fc17c1126d31de9472a76c
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 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/ext3 filesystem library
85 endef
86
87 define Package/libext2fs/description
88 libext2fs is a library which can access ext2 and ext3 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         $(INSTALL_DIR) $(1)/usr/lib
159         $(CP) $(foreach lib,com_err e2p,$(PKG_INSTALL_DIR)/usr/lib/lib$(lib).so.*) $(1)/usr/lib/
160         $(INSTALL_DIR) $(1)/etc/init.d
161         $(INSTALL_BIN) ./files/e2fsck.init $(1)/etc/init.d/e2fsck
162
163 endef
164
165 define Package/libuuid/install
166         $(INSTALL_DIR) $(1)/usr/lib
167         $(CP) $(PKG_INSTALL_DIR)/usr/lib/libuuid.so.* $(1)/usr/lib/
168 endef
169
170 define Package/uuidgen/install
171         $(INSTALL_DIR) $(1)/usr/bin
172         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/uuidgen $(1)/usr/bin/
173 endef
174
175 define Package/libblkid/install
176         $(INSTALL_DIR) $(1)/usr/lib
177         $(CP) $(PKG_INSTALL_DIR)/usr/lib/libblkid.so.* $(1)/usr/lib/
178 endef
179
180 define Package/libext2fs/install
181         $(INSTALL_DIR) $(1)/usr/lib
182         $(CP) $(PKG_INSTALL_DIR)/usr/lib/libext2fs.so* $(1)/usr/lib/
183 endef
184
185 define Package/tune2fs/install
186         $(INSTALL_DIR) $(1)/usr/sbin
187         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/tune2fs $(1)/usr/sbin/
188 endef
189
190 define Package/resize2fs/install
191         $(INSTALL_DIR) $(1)/usr/sbin
192         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/resize2fs $(1)/usr/sbin/
193 endef
194
195 define Package/badblocks/install
196         $(INSTALL_DIR) $(1)/usr/sbin
197         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/badblocks $(1)/usr/sbin/
198 endef
199
200 define Package/blkid/install
201         $(INSTALL_DIR) $(1)/usr/sbin
202         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/blkid $(1)/usr/sbin/
203 endef
204
205 $(eval $(call BuildPackage,e2fsprogs))
206 $(eval $(call BuildPackage,libuuid))
207 $(eval $(call BuildPackage,uuidgen))
208 $(eval $(call BuildPackage,libblkid))
209 $(eval $(call BuildPackage,libext2fs))
210 $(eval $(call BuildPackage,tune2fs))
211 $(eval $(call BuildPackage,resize2fs))
212 $(eval $(call BuildPackage,badblocks))
213 $(eval $(call BuildPackage,blkid))