c327e5d14bf8951ba505979cdb66231853d1f4bd
[openwrt/staging/wigyori.git] / package / utils / e2fsprogs / Makefile
1 #
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.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=e2fsprogs
11 PKG_VERSION:=1.43.6
12 PKG_HASH:=c9b226234ee878a8d89951f3b155cec7416dd0ec09c932c855f1b1df8ad93402
13 PKG_RELEASE:=1
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
16 PKG_SOURCE_URL:=@KERNEL/linux/kernel/people/tytso/e2fsprogs/v$(PKG_VERSION)/
17 PKG_LICENSE:=GPL-2.0
18
19 PKG_BUILD_DEPENDS:=util-linux
20 PKG_INSTALL:=1
21
22 PKG_BUILD_PARALLEL:=1
23
24 include $(INCLUDE_DIR)/package.mk
25
26 define Package/e2fsprogs/Default
27 URL:=http://e2fsprogs.sourceforge.net/
28 SUBMENU:=Filesystem
29 endef
30
31 define Package/e2fsprogs
32 $(call Package/e2fsprogs/Default)
33 SECTION:=utils
34 CATEGORY:=Utilities
35 TITLE:=Ext2/3/4 filesystem utilities
36 DEPENDS:=+libuuid +libext2fs
37 endef
38
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.
42 endef
43
44 define Package/libext2fs
45 $(call Package/e2fsprogs/Default)
46 SECTION:=libs
47 CATEGORY:=Libraries
48 DEPENDS:=+libuuid +libblkid
49 TITLE:=ext2/3/4 filesystem library
50 endef
51
52 define Package/libext2fs/description
53 libext2fs is a library which can access ext2, ext3 and ext4 filesystems.
54 endef
55
56 define Package/tune2fs
57 $(call Package/e2fsprogs)
58 TITLE:=Ext2 Filesystem tune utility
59 DEPENDS:= +e2fsprogs
60 endef
61
62 define Package/resize2fs
63 $(call Package/e2fsprogs)
64 TITLE:=Ext2 Filesystem resize utility
65 DEPENDS:= +e2fsprogs
66 endef
67
68 define Package/badblocks
69 $(call Package/e2fsprogs)
70 TITLE:=Ext2 Filesystem badblocks utility
71 DEPENDS:= +e2fsprogs
72 endef
73
74 define Package/dumpe2fs
75 $(call Package/e2fsprogs)
76 TITLE:=Ext2 Filesystem information dumping utility
77 DEPENDS:= +e2fsprogs
78 endef
79
80 define Package/e2freefrag
81 $(call Package/e2fsprogs)
82 TITLE:=Ext2 Filesystem free space fragmentation information utility
83 DEPENDS:= +e2fsprogs
84 endef
85
86 define Package/filefrag
87 $(call Package/e2fsprogs)
88 TITLE:=Ext2 Filesystem file fragmentation report utility
89 DEPENDS:= +e2fsprogs
90 endef
91
92 define Package/debugfs
93 $(call Package/e2fsprogs)
94 TITLE:=Ext2 Filesystem debugger
95 DEPENDS:= +e2fsprogs
96 endef
97
98 define Package/chattr
99 $(call Package/e2fsprogs)
100 TITLE:=Ext2 Filesystem chattr utility
101 DEPENDS:= +e2fsprogs
102 endef
103
104 define Package/lsattr
105 $(call Package/e2fsprogs)
106 TITLE:=Ext2 Filesystem lsattr utility
107 DEPENDS:= +e2fsprogs
108 endef
109
110 TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections
111
112 CONFIGURE_ARGS += \
113 --disable-testio-debug \
114 --enable-elf-shlibs \
115 --disable-libuuid \
116 --disable-libblkid \
117 --disable-uuidd \
118 --disable-tls \
119 --disable-nls \
120 --disable-rpath \
121 --disable-threads \
122 --disable-fuse2fs
123
124 define Build/Prepare
125 $(call Build/Prepare/Default)
126 $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/config/
127 endef
128
129 define Build/Compile
130 +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/util \
131 BUILDCC="$(HOSTCC)" \
132 CFLAGS="" \
133 CPPFLAGS="" \
134 LDFLAGS="" \
135 V=$(if $(findstring c,$(OPENWRT_VERBOSE)),1,) \
136 subst
137 +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
138 LDFLAGS=-Wl,--gc-sections \
139 BUILDCC="$(HOSTCC)" \
140 DESTDIR="$(PKG_INSTALL_DIR)" \
141 ELF_OTHER_LIBS="$(TARGET_LDFLAGS) -luuid" \
142 SYSLIBS="$(TARGET_LDFLAGS) -ldl -L$(PKG_BUILD_DIR)/lib/ -l:libcom_err.so.0.0" \
143 V=$(if $(findstring c,$(OPENWRT_VERBOSE)),1,) \
144 all
145 endef
146
147 define Build/InstallDev
148 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
149 $(CP) $(PKG_BUILD_DIR)/lib/ext2fs/ext2fs.pc $(1)/usr/lib/pkgconfig
150 $(CP) $(PKG_BUILD_DIR)/lib/et/com_err.pc $(1)/usr/lib/pkgconfig
151
152 $(INSTALL_DIR) $(1)/usr/lib
153 $(CP) $(PKG_BUILD_DIR)/lib/libext2fs.{so,a}* $(1)/usr/lib
154 $(CP) $(PKG_BUILD_DIR)/lib/libcom_err.{so,a}* $(1)/usr/lib
155
156 $(INSTALL_DIR) $(1)/usr/include/ext2fs
157 $(CP) $(PKG_BUILD_DIR)/lib/ext2fs/*.h $(1)/usr/include/ext2fs
158 $(INSTALL_DIR) $(1)/usr/include/et
159 $(CP) $(PKG_BUILD_DIR)/lib/et/*.h $(1)/usr/include/et
160 endef
161
162 define Package/e2fsprogs/conffiles
163 /etc/e2fsck.conf
164 endef
165
166 define Package/e2fsprogs/install
167 $(INSTALL_DIR) $(1)/usr/sbin
168 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/e2fsck $(1)/usr/sbin/
169 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mke2fs $(1)/usr/sbin/
170 $(LN) mke2fs $(1)/usr/sbin/mkfs.ext2
171 $(LN) mke2fs $(1)/usr/sbin/mkfs.ext3
172 $(LN) mke2fs $(1)/usr/sbin/mkfs.ext4
173 $(LN) e2fsck $(1)/usr/sbin/fsck.ext2
174 $(LN) e2fsck $(1)/usr/sbin/fsck.ext3
175 $(LN) e2fsck $(1)/usr/sbin/fsck.ext4
176 $(INSTALL_DIR) $(1)/usr/lib
177 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libe2p.so.* $(1)/usr/lib/
178 $(INSTALL_DIR) $(1)/etc/init.d
179 $(INSTALL_DIR) $(1)/lib/functions/fsck
180 $(INSTALL_DATA) ./files/e2fsck.sh $(1)/lib/functions/fsck/
181 $(INSTALL_DATA) ./files/e2fsck.conf $(1)/etc/e2fsck.conf
182 endef
183
184 define Package/libcom_err/install
185 endef
186
187 define Package/libext2fs/install
188 $(INSTALL_DIR) $(1)/usr/lib
189 $(CP) \
190 $(PKG_INSTALL_DIR)/usr/lib/libext2fs.so.* \
191 $(PKG_INSTALL_DIR)/usr/lib/libcom_err.so.* \
192 $(1)/usr/lib/
193 endef
194
195 define Package/libext2fs/install_lib
196 $(INSTALL_DIR) $(1)/usr/lib
197 $(CP) $(PKG_BUILD_DIR)/lib/ext2fs/libext2fs.a $(1)/usr/lib/libext2fs_pic.a
198 endef
199
200 define Package/tune2fs/install
201 $(INSTALL_DIR) $(1)/usr/sbin
202 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/tune2fs $(1)/usr/sbin/
203 $(LN) tune2fs $(1)/usr/sbin/findfs
204 endef
205
206 define Package/resize2fs/install
207 $(INSTALL_DIR) $(1)/usr/sbin
208 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/resize2fs $(1)/usr/sbin/
209 endef
210
211 define Package/badblocks/install
212 $(INSTALL_DIR) $(1)/usr/sbin
213 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/badblocks $(1)/usr/sbin/
214 endef
215
216 define Package/dumpe2fs/install
217 $(INSTALL_DIR) $(1)/usr/sbin
218 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dumpe2fs $(1)/usr/sbin/
219 endef
220
221 define Package/e2freefrag/install
222 $(INSTALL_DIR) $(1)/usr/sbin
223 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/e2freefrag $(1)/usr/sbin/
224 endef
225
226 define Package/filefrag/install
227 $(INSTALL_DIR) $(1)/usr/sbin
228 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/filefrag $(1)/usr/sbin/
229 endef
230
231 define Package/debugfs/install
232 $(INSTALL_DIR) $(1)/usr/sbin
233 $(INSTALL_DIR) $(1)/usr/lib
234 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/debugfs $(1)/usr/sbin/
235 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libss.so.* $(1)/usr/lib/
236 endef
237
238 define Package/chattr/install
239 $(INSTALL_DIR) $(1)/usr/bin
240 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/chattr $(1)/usr/bin/
241 endef
242
243 define Package/lsattr/install
244 $(INSTALL_DIR) $(1)/usr/bin
245 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lsattr $(1)/usr/bin/
246 endef
247
248 $(eval $(call BuildPackage,e2fsprogs))
249 $(eval $(call BuildPackage,libext2fs))
250 $(eval $(call BuildPackage,tune2fs))
251 $(eval $(call BuildPackage,resize2fs))
252 $(eval $(call BuildPackage,badblocks))
253 $(eval $(call BuildPackage,dumpe2fs))
254 $(eval $(call BuildPackage,e2freefrag))
255 $(eval $(call BuildPackage,filefrag))
256 $(eval $(call BuildPackage,debugfs))
257 $(eval $(call BuildPackage,chattr))
258 $(eval $(call BuildPackage,lsattr))