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