############################################################# # # iproute2htb # # HTB support, some cleanups and package support by # Andre Beckedorf # ############################################################# IPROUTE2HTB_DIR=$(BUILD_DIR)/iproute2-htb #IPROUTE2HTB_SOURCE_URL=ftp://ftp.inr.ac.ru/ip-routing/ #IPROUTE2HTB_SOURCE=iproute2-2.4.7-now-ss020116-try.tar.gz #Use the debian source for now, as the .ru site has availability problems IPROUTE2HTB_SOURCE_URL=http://ftp.debian.org/debian/pool/main/i/iproute/ IPROUTE2HTB_SOURCE=iproute_20010824.orig.tar.gz IPROUTE2HTB_PATCH:=iproute_20010824-8.diff.gz IPROUTE2HTB_PATCH_2:=iproute2-cross-ar-20010824.patch IPROUTE2HTB_PATCH_3_URL=http://katastrophos.net/wrt54g/sources/ IPROUTE2HTB_PATCH_3:=htb3.6_tc.diff.gz IPROUTE2HTB_IPKTARGET=iproute-htb.ipk IPROUTE2HTB_IPKSRC:=iproute-pkg.tar.gz IPROUTE2HTB_IPKSITE:=http://katastrophos.net/wrt54g/sources/ $(DL_DIR)/$(IPROUTE2HTB_SOURCE): $(WGET) -P $(DL_DIR) $(IPROUTE2HTB_SOURCE_URL)$(IPROUTE2HTB_SOURCE) $(DL_DIR)/$(IPROUTE2HTB_PATCH): $(WGET) -P $(DL_DIR) $(IPROUTE2HTB_SOURCE_URL)/$(IPROUTE2HTB_PATCH) $(DL_DIR)/$(IPROUTE2HTB_PATCH_3): $(WGET) -P $(DL_DIR) $(IPROUTE2HTB_PATCH_3_URL)$(IPROUTE2HTB_PATCH_3) $(DL_DIR)/$(IPROUTE2HTB_IPKSRC): $(WGET) -P $(DL_DIR) $(IPROUTE2HTB_IPKSITE)/$(IPROUTE2HTB_IPKSRC) iproute2htb-source: $(DL_DIR)/$(IPROUTE2HTB_SOURCE) #$(DL_DIR)/$(IPROUTE2HTB_PATCH) $(IPROUTE2HTB_DIR)/.unpacked: $(DL_DIR)/$(IPROUTE2HTB_SOURCE) $(DL_DIR)/$(IPROUTE2HTB_PATCH) $(DL_DIR)/$(IPROUTE2HTB_PATCH_3) rm -rf $(IPROUTE2HTB_DIR).orig $(IPROUTE2HTB_DIR) mkdir $(IPROUTE2HTB_DIR) zcat $(DL_DIR)/$(IPROUTE2HTB_SOURCE) | tar -C $(IPROUTE2HTB_DIR) -xvf - mv -f $(IPROUTE2HTB_DIR)/iproute2/* $(IPROUTE2HTB_DIR) #zcat $(DL_DIR)/$(IPROUTE2HTB_PATCH) | patch -p1 -d $(IPROUTE2HTB_DIR) cat $(SOURCE_DIR)/$(IPROUTE2HTB_PATCH_2) | patch -p1 -d $(IPROUTE2HTB_DIR) # apply htb patch zcat $(DL_DIR)/$(IPROUTE2HTB_PATCH_3) | patch -p1 -d $(IPROUTE2HTB_DIR) # fun sed hacks. $(SED) "s:-O2:${TARGET_CFLAGS}:g" $(IPROUTE2HTB_DIR)/Makefile ifeq ($(ARCH),i386) @# needed on atleast i386.. however breaks on mipsel $(SED) 's:-I\.\./include-glibc::g' $(IPROUTE2HTB_DIR)/Makefile endif touch $(IPROUTE2HTB_DIR)/.unpacked $(IPROUTE2HTB_DIR)/.configured: $(IPROUTE2HTB_DIR)/.unpacked $(SED) "s,-I/usr/include/db3,," $(IPROUTE2HTB_DIR)/Makefile $(SED) "s,^KERNEL_INCLUDE.*,KERNEL_INCLUDE=$(LINUX_DIR)/include," \ $(IPROUTE2HTB_DIR)/Makefile $(SED) "s,^LIBC_INCLUDE.*,LIBC_INCLUDE=$(STAGING_DIR)/include," \ $(IPROUTE2HTB_DIR)/Makefile # For now disable compiling of the misc directory because it seems to fail rm -rf $(IPROUTE2HTB_DIR)/misc $(SED) "s, misc,," $(IPROUTE2HTB_DIR)/Makefile touch $(IPROUTE2HTB_DIR)/.configured $(IPROUTE2HTB_DIR)/tc/tc: $(IPROUTE2HTB_DIR)/.configured $(MAKE) -C $(IPROUTE2HTB_DIR) $(TARGET_CONFIGURE_OPTS) KERNEL_INCLUDE=$(LINUX_DIR)/include $(STRIP) --strip-unneeded $(IPROUTE2HTB_DIR)/tc/tc $(TARGET_DIR)/usr/sbin/tc: $(IPROUTE2HTB_DIR)/tc/tc @# Make sure our $(TARGET_DIR)/usr/sbin/ exists. -mkdir -p $(TARGET_DIR)/usr/sbin/ @# Copy The tc binary cp -af $(IPROUTE2HTB_DIR)/tc/tc $(TARGET_DIR)/usr/sbin/ && \ $(STRIP) $(TARGET_DIR)/usr/sbin/tc iproute2htb: $(TARGET_DIR)/usr/sbin/tc iproute2htb-clean: $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(IPROUTE2HTB_DIR) uninstall -$(MAKE) -C $(IPROUTE2HTB_DIR) clean iproute2htb-dirclean: rm -rf $(IPROUTE2HTB_DIR) iproute2htb-ipk: $(IPROUTE2HTB_IPKTARGET) $(IPROUTE2HTB_IPKTARGET): $(IPROUTE2HTB_DIR)/ipkg/rules (cd $(IPROUTE2HTB_DIR); ipkg-buildpackage ) $(IPROUTE2HTB_DIR)/ipkg/rules: $(IPROUTE2HTB_DIR)/tc/tc $(DL_DIR)/$(IPROUTE2HTB_IPKSRC) tar -C $(IPROUTE2HTB_DIR) -zxf $(DL_DIR)/$(IPROUTE2HTB_IPKSRC)