Changeset 8476

Show
Ignore:
Timestamp:
06/11/08 04:24:53 (2 years ago)
Author:
bzhou
Message:

mktemp: use update-alternatives

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/make/mktemp.mk

    r6515 r8476  
    4242# MKTEMP_IPK_VERSION should be incremented when the ipk changes. 
    4343# 
    44 MKTEMP_IPK_VERSION=1 
     44MKTEMP_IPK_VERSION=2 
    4545 
    4646# 
     
    8080# 
    8181$(DL_DIR)/$(MKTEMP_SOURCE): 
    82         $(WGET) -P $(DL_DIR) $(MKTEMP_SITE)/$(MKTEMP_SOURCE) 
     82        $(WGET) -P $(@D) $(MKTEMP_SITE)/$(@F) || \ 
     83        $(WGET) -P $(@D) $(SOURCES_NLO_SITE)/$(@F) 
    8384 
    8485# 
     
    106107$(MKTEMP_BUILD_DIR)/.configured: $(DL_DIR)/$(MKTEMP_SOURCE) $(MKTEMP_PATCHES) make/mktemp.mk 
    107108#       $(MAKE) <bar>-stage <baz>-stage 
    108         rm -rf $(BUILD_DIR)/$(MKTEMP_DIR) $(MKTEMP_BUILD_DIR
     109        rm -rf $(BUILD_DIR)/$(MKTEMP_DIR) $(@D
    109110        $(MKTEMP_UNZIP) $(DL_DIR)/$(MKTEMP_SOURCE) | tar -C $(BUILD_DIR) -xvf - 
    110111#       cat $(MKTEMP_PATCHES) | patch -d $(BUILD_DIR)/$(MKTEMP_DIR) -p1 
    111         mv $(BUILD_DIR)/$(MKTEMP_DIR) $(MKTEMP_BUILD_DIR
    112         cp -f $(SOURCE_DIR)/common/config.* $(MKTEMP_BUILD_DIR)/ 
    113         (cd $(MKTEMP_BUILD_DIR); \ 
     112        mv $(BUILD_DIR)/$(MKTEMP_DIR) $(@D
     113        cp -f $(SOURCE_DIR)/common/config.* $(@D)/ 
     114        (cd $(@D); \ 
    114115                $(TARGET_CONFIGURE_OPTS) \ 
    115116                CPPFLAGS="$(STAGING_CPPFLAGS) $(MKTEMP_CPPFLAGS)" \ 
     
    123124                --disable-nls \ 
    124125        ) 
    125         touch $(MKTEMP_BUILD_DIR)/.configured 
     126        touch $@ 
    126127 
    127128mktemp-unpack: $(MKTEMP_BUILD_DIR)/.configured 
     
    131132# 
    132133$(MKTEMP_BUILD_DIR)/.built: $(MKTEMP_BUILD_DIR)/.configured 
    133         rm -f $(MKTEMP_BUILD_DIR)/.built 
    134         $(MAKE) -C $(MKTEMP_BUILD_DIR
    135         touch $(MKTEMP_BUILD_DIR)/.built 
     134        rm -f $@ 
     135        $(MAKE) -C $(@D
     136        touch $@ 
    136137 
    137138# 
     
    143144# If you are building a library, then you need to stage it too. 
    144145# 
    145 $(MKTEMP_BUILD_DIR)/.staged: $(MKTEMP_BUILD_DIR)/.built 
    146       rm -f $(MKTEMP_BUILD_DIR)/.staged 
    147       $(MAKE) -C $(MKTEMP_BUILD_DIR) DESTDIR=$(STAGING_DIR) install 
    148       touch $(MKTEMP_BUILD_DIR)/.staged 
    149  
    150 mktemp-stage: $(MKTEMP_BUILD_DIR)/.staged 
     146#$(MKTEMP_BUILD_DIR)/.staged: $(MKTEMP_BUILD_DIR)/.built 
     147#     rm -f $(MKTEMP_BUILD_DIR)/.staged 
     148#     $(MAKE) -C $(MKTEMP_BUILD_DIR) DESTDIR=$(STAGING_DIR) install 
     149#     touch $(MKTEMP_BUILD_DIR)/.staged 
     150
     151#mktemp-stage: $(MKTEMP_BUILD_DIR)/.staged 
    151152 
    152153# 
     
    155156# 
    156157$(MKTEMP_IPK_DIR)/CONTROL/control: 
    157         @install -d $(MKTEMP_IPK_DIR)/CONTROL 
     158        @install -d $(@D) 
    158159        @rm -f $@ 
    159160        @echo "Package: mktemp" >>$@ 
     
    183184        rm -rf $(MKTEMP_IPK_DIR) $(BUILD_DIR)/mktemp_*_$(TARGET_ARCH).ipk 
    184185        install -d $(MKTEMP_IPK_DIR)/opt/bin 
    185         install -m 755 $(MKTEMP_BUILD_DIR)/mktemp $(MKTEMP_IPK_DIR)/opt/bin/mktemp 
     186        install -m 755 $(MKTEMP_BUILD_DIR)/mktemp $(MKTEMP_IPK_DIR)/opt/bin/mktemp-mktemp 
     187        $(STRIP_COMMAND) $(MKTEMP_IPK_DIR)/opt/bin/mktemp-mktemp 
    186188        $(MAKE) $(MKTEMP_IPK_DIR)/CONTROL/control 
     189        (echo "#!/bin/sh" ; \ 
     190         echo "update-alternatives --install /opt/bin/mktemp mktemp /opt/bin/mktemp-mktemp 50" ; \ 
     191        ) > $(MKTEMP_IPK_DIR)/CONTROL/postinst 
     192        (echo "#!/bin/sh" ; \ 
     193         echo "update-alternatives --remove mktemp /opt/bin/mktemp-mktemp" ; \ 
     194        ) > $(MKTEMP_IPK_DIR)/CONTROL/prerm 
     195        if test -n "$(UPD-ALT_PREFIX)"; then \ 
     196                sed -i -e '/^[  ]*update-alternatives /s|update-alternatives|$(UPD-ALT_PREFIX)/bin/&|' \ 
     197                        $(MKTEMP_IPK_DIR)/CONTROL/postinst $(MKTEMP_IPK_DIR)/CONTROL/prerm; \ 
     198        fi 
    187199        echo $(MKTEMP_CONFFILES) | sed -e 's/ /\n/g' > $(MKTEMP_IPK_DIR)/CONTROL/conffiles 
    188200        cd $(BUILD_DIR); $(IPKG_BUILD) $(MKTEMP_IPK_DIR) 
     
    205217mktemp-dirclean: 
    206218        rm -rf $(BUILD_DIR)/$(MKTEMP_DIR) $(MKTEMP_BUILD_DIR) $(MKTEMP_IPK_DIR) $(MKTEMP_IPK) 
     219 
     220# 
     221# Some sanity check for the package. 
     222# 
     223mktemp-check: $(MKTEMP_IPK) 
     224        perl scripts/optware-check-package.pl --target=$(OPTWARE_TARGET) $(MKTEMP_IPK)