-#
-# Copyright (C) 2007 OpenWrt.org
+#
+# Copyright (C) 2007-2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
PKG_NAME:=file
-PKG_VERSION:=4.26
+PKG_VERSION:=5.05
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=ftp://ftp.astron.com/pub/file/
-PKG_MD5SUM:=74cd5466416136da30a4e69f74dbc7a0
+PKG_MD5SUM:=0b429063710457be2bd17a18389cb018
+
+PKG_FIXUP:=libtool
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-define Package/libmagic
- SECTION:=libs
- CATEGORY:=Libraries
- DEPENDS:=+zlib
- TITLE:=Determines file type using 'magic' numbers
+define Package/file/Default
+ TITLE:=File type determination
URL:=ftp://ftp.astron.com/pub/file/
+ MAINTAINER:=Luka Perkov <openwrt@lukaperkov.net>
endef
define Package/file
+$(call package/file/Default)
SECTION:=utils
CATEGORY:=Utilities
+ TITLE+= utility
DEPENDS:=+libmagic
- TITLE:=Determines file type using 'magic' numbers
- URL:=ftp://ftp.astron.com/pub/file/
endef
-define Package/file/description
- File tests each argument in an attempt to classify it. There
- are three sets of tests, performed in this order: filesystem
- tests, magic number tests, and language tests. The first test
- that succeeds causes the file type to be printed.
-
- Starting with version 4, the file command is not much more than
- a wrapper around the "magic" library.
+define Package/libmagic
+$(call package/file/Default)
+ SECTION:=libs
+ CATEGORY:=Libraries
+ TITLE+= library
+ DEPENDS:=+zlib
endef
-TARGET_CFLAGS += $(FPIC)
-
CONFIGURE_ARGS += \
--enable-shared \
--enable-static \
- --disable-rpath \
- --without-libiconv-prefix \
- --without-libintl-prefix \
-
-MAKE_FLAGS += \
- -C $(PKG_BUILD_DIR)/src \
- DESTDIR="$(PKG_INSTALL_DIR)" \
- all install \
-
-define Build/Prepare
- $(call Build/Prepare/Default)
- chmod -R u+w $(PKG_BUILD_DIR)
+
+MAKE_PATH := src
+
+TARGET_CFLAGS += $(FPIC)
+
+define Build/Compile/magic
+ ( cd $(PKG_BUILD_DIR)/magic/Magdir; \
+ for f in `ls`; do \
+ cat $$$${f}; \
+ done \
+ ) > $(PKG_BUILD_DIR)/magic/magic
endef
+Hooks/Compile/Post += Build/Compile/magic
-define Build/InstallDev
- mkdir -p $(1)/usr/include
- $(CP) $(PKG_INSTALL_DIR)/usr/include/magic.h $(1)/usr/include/
- mkdir -p $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libmagic.{a,so*} $(1)/usr/lib/
+define Build/Install/magic
+ $(INSTALL_DIR) $(PKG_INSTALL_DIR)/usr/share/file
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/magic/magic $(PKG_INSTALL_DIR)/usr/share/file/
endef
+Hooks/Install/Post += Build/Install/magic
-define Package/libmagic/install
+define Build/InstallDev
+ $(INSTALL_DIR) $(1)/usr/include
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/magic.h $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libmagic.so.* $(1)/usr/lib/
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libmagic.{a,so*} $(1)/usr/lib/
endef
define Package/file/install
$(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_DIR) $(1)/usr/share/file
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/file $(1)/usr/bin
- (cd $(PKG_BUILD_DIR)/magic/Magdir; rm -f magic.mime; for file in `ls`; do cat $$$${file} >> magic.mime; done)
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/magic/Magdir/magic.mime $(1)/usr/share/file/magic
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/file $(1)/usr/bin/
+ $(INSTALL_DIR) $(1)/usr/share/misc
+ $(SED) "/^#/d" $(PKG_INSTALL_DIR)/usr/share/file/magic
+ $(SED) "/^$$$$/d" $(PKG_INSTALL_DIR)/usr/share/file/magic
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/file/magic $(1)/usr/share/misc/
+endef
+
+define Package/libmagic/install
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libmagic.so.* $(1)/usr/lib/
endef
-$(eval $(call BuildPackage,libmagic))
$(eval $(call BuildPackage,file))
+$(eval $(call BuildPackage,libmagic))