fakeroot: convert to the autotools infrastructure
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 2 Mar 2010 21:56:33 +0000 (22:56 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fri, 9 Apr 2010 09:04:33 +0000 (11:04 +0200)
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/fakeroot/Config.in
package/fakeroot/fakeroot.mk

index 679b6b2ca85bcb25cf32c96badfe15adf20d77fa..186b717d4e4c771b150e9437f3a41e046f687ba8 100644 (file)
@@ -4,7 +4,3 @@ config BR2_PACKAGE_FAKEROOT
          Run commands in an environment faking root privileges.
 
          http://joostje.op.het.net/fakeroot/
-
-# dummy for fakeroot-source
-config BR2_HOST_FAKEROOT
-       bool
index d525a4f620c8dd72c54162d43841846fe8f13104..a8eff52253a576d7a41646df09e306d57ea03015 100644 (file)
 FAKEROOT_VERSION:=1.9.5
 FAKEROOT_SOURCE:=fakeroot_$(FAKEROOT_VERSION).tar.gz
 FAKEROOT_SITE:=http://snapshot.debian.net/archive/2008/04/27/debian/pool/main/f/fakeroot/
-FAKEROOT_CAT:=$(ZCAT)
-FAKEROOT_SOURCE_DIR:=$(BUILD_DIR)/fakeroot-$(FAKEROOT_VERSION)
-FAKEROOT_DIR1:=$(BUILD_DIR)/fakeroot-$(FAKEROOT_VERSION)-host
-FAKEROOT_DIR2:=$(BUILD_DIR)/fakeroot-$(FAKEROOT_VERSION)-target
+FAKEROOT_LIBTOOL_PATCH=NO
+HOST_FAKEROOT_LIBTOOL_PATCH=NO
 
-$(DL_DIR)/$(FAKEROOT_SOURCE):
-        $(call DOWNLOAD,$(FAKEROOT_SITE),$(FAKEROOT_SOURCE))
-
-fakeroot-source: $(DL_DIR)/$(FAKEROOT_SOURCE)
-
-$(FAKEROOT_SOURCE_DIR)/.unpacked: $(DL_DIR)/$(FAKEROOT_SOURCE)
-       $(FAKEROOT_CAT) $(DL_DIR)/$(FAKEROOT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+define FAKEROOT_PATCH_FAKEROOT_IN
        # If using busybox getopt, make it be quiet.
        $(SED) "s,getopt --version,getopt --version 2>/dev/null," \
-               $(FAKEROOT_SOURCE_DIR)/scripts/fakeroot.in
-       toolchain/patch-kernel.sh $(FAKEROOT_SOURCE_DIR) package/fakeroot/ \*.patch
-       touch $@
-
-
-#############################################################
-#
-# build fakeroot for use on the host system
-#
-#############################################################
+               $(@D)/scripts/fakeroot.in
+endef
 
-$(FAKEROOT_DIR1)/.configured: $(FAKEROOT_SOURCE_DIR)/.unpacked
-       mkdir -p $(FAKEROOT_DIR1)
-       (cd $(FAKEROOT_DIR1); rm -rf config.cache; \
-               CC="$(HOSTCC)" \
-               $(FAKEROOT_SOURCE_DIR)/configure $(QUIET) \
-               --prefix=$(HOST_DIR)/usr \
-       )
-       touch $@
+FAKEROOT_POST_PATCH_HOOKS += FAKEROOT_PATCH_FAKEROOT_IN
 
-$(FAKEROOT_DIR1)/faked: $(FAKEROOT_DIR1)/.configured
-       $(MAKE) -C $(FAKEROOT_DIR1)
-       touch -c $@
-
-$(HOST_DIR)/usr/bin/fakeroot: $(FAKEROOT_DIR1)/faked
-       $(MAKE) -C $(FAKEROOT_DIR1) install
-       touch -c $@
-
-host-fakeroot: $(HOST_DIR)/usr/bin/fakeroot
-
-host-fakeroot-clean:
-       -$(MAKE) -C $(FAKEROOT_DIR1) clean
-
-host-fakeroot-dirclean:
-       rm -rf $(FAKEROOT_DIR1)
-
-
-#############################################################
-#
-# build fakeroot for use on the target system
-#
-#############################################################
-
-$(FAKEROOT_DIR2)/.configured: $(FAKEROOT_SOURCE_DIR)/.unpacked
-       mkdir -p $(FAKEROOT_DIR2)
-       (cd $(FAKEROOT_DIR2); rm -rf config.cache; \
-               $(TARGET_CONFIGURE_OPTS) \
-               $(TARGET_CONFIGURE_ARGS) \
-               $(FAKEROOT_SOURCE_DIR)/configure $(QUIET) \
-               --target=$(GNU_TARGET_NAME) \
-               --host=$(GNU_TARGET_NAME) \
-               --build=$(GNU_HOST_NAME) \
-               --prefix=/usr \
-               --exec-prefix=/usr \
-               --bindir=/usr/bin \
-               --sbindir=/usr/sbin \
-               --libdir=/usr/lib/libfakeroot \
-               --sysconfdir=/etc \
-               --datadir=/usr/share \
-               --localstatedir=/var \
-               --mandir=/usr/share/man \
-               --infodir=/usr/share/info \
-               $(DISABLE_NLS) \
-       )
-       touch $@
-
-$(FAKEROOT_DIR2)/faked: $(FAKEROOT_DIR2)/.configured
-       $(MAKE) CC=$(TARGET_CC) -C $(FAKEROOT_DIR2)
-       touch -c $@
-
-$(TARGET_DIR)/usr/bin/fakeroot: $(FAKEROOT_DIR2)/faked
-       $(MAKE) DESTDIR=$(TARGET_DIR) -C $(FAKEROOT_DIR2) install
-       -mv $(TARGET_DIR)/usr/bin/$(ARCH)-linux-faked \
+define FAKEROOT_RENAME_TARGET_BINARIES
+       -mv $(TARGET_DIR)/usr/bin/$(ARCH)-*-faked \
                $(TARGET_DIR)/usr/bin/faked
-       -mv $(TARGET_DIR)/usr/bin/$(ARCH)-linux-fakeroot \
+       -mv $(TARGET_DIR)/usr/bin/$(ARCH)-*-fakeroot \
                $(TARGET_DIR)/usr/bin/fakeroot
-ifneq ($(BR2_HAVE_INFOPAGES),y)
-       rm -rf $(TARGET_DIR)/usr/share/info
-endif
-ifneq ($(BR2_HAVE_MANPAGES),y)
-       rm -rf $(TARGET_DIR)/usr/share/man
-endif
-       rm -rf $(TARGET_DIR)/share/locale
-       rm -rf $(TARGET_DIR)/usr/share/doc
-       touch -c $@
-
-fakeroot: $(TARGET_DIR)/usr/bin/fakeroot
+endef
 
-fakeroot-clean:
-       -$(MAKE) -C $(FAKEROOT_DIR2) clean
-       rm -f $(TARGET_DIR)/usr/bin/fake{d,root}
-
-fakeroot-dirclean:
-       rm -rf $(FAKEROOT_DIR2)
-
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_FAKEROOT),y)
-TARGETS+=fakeroot
-endif
+FAKEROOT_POST_INSTALL_TARGET_HOOKS += FAKEROOT_RENAME_TARGET_BINARIES
 
-ifeq ($(BR2_HOST_FAKEROOT),y)
-HOST_SOURCE+=fakeroot-source
-endif
+$(eval $(call AUTOTARGETS,package,fakeroot))
+$(eval $(call AUTOTARGETS,package,fakeroot,host))