Skip to content
Snippets Groups Projects
Commit fac1153f authored by Nicolas Thill's avatar Nicolas Thill
Browse files

Use common rules and templates, uniformize package Makefile, split package in...

Use common rules and templates, uniformize package Makefile, split package in sub-packages, add kernel version to kmod package

SVN-Revision: 663
parent efe2803a
No related branches found
No related tags found
No related merge requests found
config BR2_PACKAGE_FUSE
select BR2_PACKAGE_LIBPTHREAD
tristate "fuse (Filesystem in USErspace)"
bool "fuse (Filesystem in USErspace)"
default n
help
With FUSE it is possible to implement a fully functional
......@@ -21,3 +21,19 @@ config BR2_PACKAGE_FUSE
Depends: libpthread
config BR2_PACKAGE_KMOD_FUSE
depends BR2_PACKAGE_FUSE
tristate "kmod-fuse (FUSE kernel module)"
default m
config BR2_PACKAGE_LIBFUSE
depends BR2_PACKAGE_FUSE
tristate "libfuse (FUSE library)"
default m
config BR2_PACKAGE_FUSE_UTILS
depends BR2_PACKAGE_FUSE
tristate "fuse-utils (FUSE utilities)"
default m
......@@ -2,56 +2,117 @@
include $(TOPDIR)/rules.mk
PKG_NAME := fuse
PKG_VERSION := 2.2.1
PKG_RELEASE := 1
PKG_MD5SUM := 250d89b9c7b6ecf531df60c67f75737d
PKG_SOURCE_SITE := @SF/fuse
PKG_SOURCE_FILE := $(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_CAT := zcat
PKG_SOURCE_DIR := $(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR)
I_KMOD_FUSE := $(PACKAGE_DIR)/kmod-fuse_$(LINUX_VERSION)+$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
I_LIBFUSE := $(PACKAGE_DIR)/libfuse_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
I_FUSE_UTILS := $(PACKAGE_DIR)/fuse-utils_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
$(DL_DIR)/$(PKG_SOURCE_FILE):
mkdir -p $(DL_DIR)
$(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE_FILE) $(PKG_MD5SUM) $(PKG_SOURCE_SITE)
$(PKG_BUILD_DIR)/ipkg/rules: $(DL_DIR)/$(PKG_SOURCE_FILE)
mkdir -p $(TOOL_BUILD_DIR)
rm -rf $(PKG_BUILD_DIR)
$(PKG_SOURCE_CAT) $(DL_DIR)/$(PKG_SOURCE_FILE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
$(PATCH) $(PKG_BUILD_DIR) ./patches
cp -fpR ./ipkg $(PKG_BUILD_DIR)/
find $(PKG_BUILD_DIR) -name CVS | xargs rm -rf
chmod a+x $(PKG_BUILD_DIR)/ipkg/rules
touch $(PKG_BUILD_DIR)/ipkg/rules
$(I_KMOD_FUSE) $(I_LIBFUSE) $(I_FUSE_UTILS): $(PKG_BUILD_DIR)/ipkg/rules
cd $(PKG_BUILD_DIR); \
TOPDIR="$(TOPDIR)" IPKG_RULES_INC="$(TOPDIR)/rules.mk" \
./ipkg/rules package
$(IPKG_STATE_DIR)/info/kmod-fuse.list: $(I_KMOD_FUSE)
$(IPKG) install $(I_KMOD_FUSE)
$(IPKG_STATE_DIR)/info/libfuse.list: $(I_LIBFUSE)
$(IPKG) install $(I_LIBFUSE)
$(IPKG_STATE_DIR)/info/fuse-utils.list: $(I_FUSE_UTILS)
$(IPKG) install $(I_FUSE_UTILS)
source: $(DL_DIR)/$(PKG_SOURCE_FILE)
prepare: $(PKG_BUILD_DIR)/ipkg/rules
compile: $(I_KMOD_FUSE) $(I_FUSE_UTILS)
install: $(IPKG_STATE_DIR)/info/kmod-fuse.list $(IPKG_STATE_DIR)/info/libfuse.list $(IPKG_STATE_DIR)/info/fuse-utils.list
clean:
rm -rf $(PKG_BUILD_DIR)
rm -f $(I_KMOD_FUSE) $(I_LIBFUSE) $(I_FUSE_UTILS)
PKG_NAME:=fuse
PKG_VERSION:=2.2.1
PKG_RELEASE:=1
PKG_MD5SUM:=250d89b9c7b6ecf531df60c67f75737d
PKG_SOURCE_URL:= \
@SF/$(PKG_NAME) \
http://nthill.free.fr/openwrt/sources/$(PKG_NAME)/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_CAT:=zcat
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
include $(TOPDIR)/package/templates.mk
$(eval $(call PKG_template,KMOD_FUSE,kmod-fuse,$(LINUX_VERSION)+$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_template,LIBFUSE,libfuse,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_template,FUSE_UTILS,fuse-utils,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
COMPILE_TARGETS += install-dev
CLEAN_TARGETS += uninstall-dev
include $(TOPDIR)/package/rules.mk
$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
(cd $(PKG_BUILD_DIR); \
rm -rf config.{cache,status} ; \
touch configure.in ; \
touch aclocal.m4 ; \
touch Makefile.in ; \
touch include/config.h.in ; \
touch configure ; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--program-prefix="" \
--program-suffix="" \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--datadir=/usr/share \
--includedir=/usr/include \
--infodir=/usr/share/info \
--libdir=/usr/lib \
--libexecdir=/usr/lib/locate \
--localstatedir=/var/lib \
--mandir=/usr/share/man \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
$(DISABLE_LARGEFILE) \
$(DISABLE_NLS) \
--enable-shared \
--enable-static \
--enable-kernel-module \
--enable-lib \
--enable-util \
--disable-example \
--disable-auto-modprobe \
--with-kernel=$(LINUX_DIR) \
);
touch $(PKG_BUILD_DIR)/.configured
$(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/.configured
$(MAKE) -C $(PKG_BUILD_DIR)
touch $(PKG_BUILD_DIR)/.built
$(PKG_BUILD_DIR)/.installed: $(PKG_BUILD_DIR)/.built
mkdir -p $(PKG_INSTALL_DIR)
$(MAKE) -C $(PKG_BUILD_DIR) \
DESTDIR="$(PKG_INSTALL_DIR)" \
install
touch $(PKG_BUILD_DIR)/.installed
$(IPKG_KMOD_FUSE): $(IDIR_KMOD_FUSE)/CONTROL/control $(PKG_BUILD_DIR)/.installed
mkdir -p $(IDIR_KMOD_FUSE)/lib/modules/$(LINUX_VERSION)
cp -fpR $(PKG_INSTALL_DIR)/lib/modules/$(LINUX_VERSION)/kernel/fs/fuse/fuse.o \
$(IDIR_KMOD_FUSE)/lib/modules/$(LINUX_VERSION)/
$(RSTRIP_KMOD) $(IDIR_KMOD_FUSE)
mkdir -p $(PACKAGE_DIR)
$(IPKG_BUILD) $(IDIR_KMOD_FUSE) $(PACKAGE_DIR)
$(IPKG_LIBFUSE): $(IDIR_LIBFUSE)/CONTROL/control $(PKG_BUILD_DIR)/.installed
mkdir -p $(IDIR_LIBFUSE)/usr/lib
cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libfuse.so.* $(IDIR_LIBFUSE)/usr/lib/
chmod 0644 $(IDIR_LIBFUSE)/usr/lib/lib*.so*
$(RSTRIP) $(IDIR_LIBFUSE)
mkdir -p $(PACKAGE_DIR)
$(IPKG_BUILD) $(IDIR_LIBFUSE) $(PACKAGE_DIR)
$(IPKG_FUSE_UTILS): $(IDIR_FUSE_UTILS)/CONTROL/control $(PKG_BUILD_DIR)/.installed
mkdir -p $(IDIR_FUSE_UTILS)/usr/bin
cp -fpR $(PKG_INSTALL_DIR)/usr/bin/fusermount $(IDIR_FUSE_UTILS)/usr/bin/
$(RSTRIP) $(IDIR_FUSE_UTILS)
mkdir -p $(PACKAGE_DIR)
$(IPKG_BUILD) $(IDIR_FUSE_UTILS) $(PACKAGE_DIR)
$(STAGING_DIR)/usr/lib/libfuse.so: $(PKG_BUILD_DIR)/.installed
mkdir -p $(PKG_INSTALL_DIR)/usr/include
cp -fpR $(PKG_INSTALL_DIR)/usr/include/fuse* $(STAGING_DIR)/usr/include/
mkdir -p $(PKG_INSTALL_DIR)/usr/lib
cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libfuse.{a,so*} $(STAGING_DIR)/usr/lib/
mkdir -p $(PKG_INSTALL_DIR)/usr/lib/pkgconfig
cp -fpR $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/fuse.pc $(STAGING_DIR)/usr/lib/pkgconfig/
install-dev: $(STAGING_DIR)/usr/lib/libfuse.so
uninstall-dev:
rm -rf $(STAGING_DIR)/usr/include/fuse*
rm -rf $(STAGING_DIR)/usr/lib/libfuse.{a,so*}
rm -rf $(STAGING_DIR)/usr/lib/pkgconfig/fuse.pc
Package: libfuse-dev
Priority: optional
Section: devel
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Nico <nthill@free.fr>
Source: http://nthill.free.fr/openwrt/sources/fuse2/
Description: Filesystem in Userspace (development files)
#!/usr/bin/make -f
ifneq ($(strip ${IPKG_RULES_INC}),)
include $(IPKG_RULES_INC)
endif
##
PKG_VERSION := $(shell cat ./ipkg/version)
CURRENT_DIR := $(shell pwd)
INSTALL_DIR ?= $(CURRENT_DIR)/ipkg-install
unexport INSTALL_DIR
I_KMOD_FUSE := ipkg/kmod-fuse
I_LIBFUSE := ipkg/libfuse
I_LIBFUSE_DEV := ipkg/libfuse-dev
I_FUSE_UTILS := ipkg/fuse-utils
BUILD_DEPS = \
CONFIGURE_OPTS = \
--enable-shared \
--enable-static \
--enable-kernel-module \
--enable-lib \
--enable-util \
--disable-example \
--disable-auto-modprobe \
--with-kernel=$(LINUX_DIR) \
##
all: package
.stamp-configured: $(BUILD_DEPS)
touch configure.in
touch aclocal.m4
touch Makefile.in
touch include/config.h.in
touch configure
rm -rf config.cache
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--program-prefix="" \
--program-suffix="" \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--datadir=/usr/share \
--includedir=/usr/include \
--infodir=/usr/share/info \
--libdir=/usr/lib \
--libexecdir=/usr/lib/locate \
--localstatedir=/var/lib \
--mandir=/usr/share/man \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
$(DISABLE_LARGEFILE) \
$(DISABLE_NLS) \
$(CONFIGURE_OPTS) \
touch .stamp-configured
.stamp-built: .stamp-configured
$(MAKE) \
touch .stamp-built
$(INSTALL_DIR)/usr/bin/fusermount: .stamp-built
mkdir -p $(INSTALL_DIR)
$(MAKE) \
DESTDIR="$(INSTALL_DIR)" \
install
rm -f $(INSTALL_DIR)/usr/lib/libfuse.la
configure: .stamp-configured
build: .stamp-built
install: $(INSTALL_DIR)/usr/bin/fusermount
package: $(INSTALL_DIR)/usr/bin/fusermount
mkdir -p $(I_KMOD_FUSE)/lib/modules/$(LINUX_VERSION)
cp -fpR $(INSTALL_DIR)/lib/modules/$(LINUX_VERSION)/kernel/fs/fuse/fuse.o \
$(I_KMOD_FUSE)/lib/modules/$(LINUX_VERSION)/
$(TARGET_CROSS)strip --remove-section=.comment --remove-section=.note \
$(I_KMOD_FUSE)/lib/modules/$(LINUX_VERSION)/*.o
mkdir -p $(I_LIBFUSE)/usr/lib
cp -fpR $(INSTALL_DIR)/usr/lib/libfuse.so.* $(I_LIBFUSE)/usr/lib/
$(STRIP) $(I_LIBFUSE)/usr/lib/*
mkdir -p $(I_LIBFUSE_DEV)/usr/include
cp -fpR $(INSTALL_DIR)/usr/include/fuse* $(I_LIBFUSE_DEV)/usr/include/
mkdir -p $(I_LIBFUSE_DEV)/usr/lib
cp -fpR $(INSTALL_DIR)/usr/lib/libfuse.{a,so*} $(I_LIBFUSE_DEV)/usr/lib/
mkdir -p $(I_LIBFUSE_DEV)/usr/lib/pkgconfig
cp -fpR $(INSTALL_DIR)/usr/lib/pkgconfig/fuse.pc $(I_LIBFUSE_DEV)/usr/lib/pkgconfig/
mkdir -p $(I_FUSE_UTILS)/usr/bin
cp -fpR $(INSTALL_DIR)/usr/bin/fusermount $(I_FUSE_UTILS)/usr/bin/
$(STRIP) $(I_FUSE_UTILS)/usr/bin/*
chmod 0755 ipkg/*/CONTROL/
chmod 0644 ipkg/*/CONTROL/control
perl -pi -e "s/^Arch.*:.*/Architecture: $(ARCH)/g" ipkg/*/CONTROL/control
ifneq ($(strip $(PKG_VERSION)),)
perl -pi -e "s/^Vers.*:.*/Version: $(PKG_VERSION)/g" ipkg/*/CONTROL/control
perl -pi -e "s/^Vers.*:.*/Version: $(LINUX_VERSION)+$(PKG_VERSION)/g" $(I_KMOD_FUSE)/CONTROL/control
endif
$(IPKG_BUILD) $(I_KMOD_FUSE) $(IPKG_TARGET_DIR)
$(IPKG_BUILD) $(I_LIBFUSE) $(IPKG_TARGET_DIR)
$(IPKG_BUILD) $(I_LIBFUSE_DEV) $(IPKG_TARGET_DIR)
$(IPKG_BUILD) $(I_FUSE_UTILS) $(IPKG_TARGET_DIR)
clean:
-$(MAKE) \
DESTDIR="$(INSTALL_DIR)" \
install clean
rm -rf .stamp-* \
$(I_KMOD_FUSE)/lib
$(I_LIBFUSE)/usr
$(I_LIBFUSE_DEV)/usr
$(I_FUSE_UTILS)/usr
control:
@cat $(I_KMOD_FUSE)/CONTROL/control
@echo
@cat $(I_LIBFUSE)/CONTROL/control
@echo
@cat $(I_LIBFUSE_DEV)/CONTROL/control
@echo
@cat $(I_FUSE_UTILS)/CONTROL/control
@echo
.PHONY: configure build install package clean control
2.2.1-1
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment