Changeset 99cbe83 in freewrt for tools


Ignore:
Timestamp:
May 29, 2007, 4:04:00 PM (19 years ago)
Author:
Thorsten Glaser <tg@…>
Children:
f8dbec3
Parents:
694c80f
Message:

the treebreaker ☺

overhaul the fetch'n'checksum system to be more bsd-like

  • make fetch, make checksum supported
  • future expansion possibilities already prepared: – more distfiles than just one – check sizes of downloaded files (size matters!!!!!111) – more hashes than just MD5 – recursive fetch/checksum targets – PERMIT_{SOURCES,DISTFILES}=Yes/«reason» – licence issues
  • download.pl dies

quirks:

  • GNU make only has a poor excuse for a .for loop
  • some things (esp. toolchain and target/linux) now have a ${WRKDIR} where they didn't have it before
  • ${WRKDIR}/.checksum_done – no comment… it was necessary because otherwise everything will get rebuilt every time (did I mention that GNU make sucks?)
  • I had troubles tracking the dependency problems down because GNU make, unlike BSD make, doesn't have good debugging
  • DISTFILES -> FULLDISTFILES
  • DL_DIR -> DISTDIR
  • PKG_SOURCE -> DISTFILES
  • PKG_SOURCE_URL -> MASTER_SITES
  • no @SF and @GNU any more, use BSD network.template syntax (feel free to add more master sites)
  • GNU make doesn't really strip whitespaces from variables… (did I mention how much better BSD make is?)
  • echo 'LOCAL_DISTFILES=/path/to/distfiles' >>${TOPDIR}/prefs.mk will save the need to download 'em, Closes: #102
  • MASTER_SITES now *must* have the trailing slashes (there may be a few that don't and a few with double ones, please fix them)

I've tested that a normal build (unchanged .config from the default) works
on GNU/Linux. There's definitively room for improvement, but most of that
will come with the NFO system only. Fixes appreciated.

This work sponsored by AurISP, part of the NFO conversion project ☻

git-svn-id: svn://www.freewrt.org/trunk/freewrt@2678 afb5a338-a214-0410-bd46-81f09a774fd1

Location:
tools
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • tools/afdisk/Makefile

    r694c80f r99cbe83  
    1818compile: prepare $(WRKBUILD)/afdisk
    1919
    20 install: compile
     20install:
    2121        mkdir -p $(STAGING_TOOLS)/bin
    2222        rm -f $(STAGING_TOOLS)/bin/afdisk $(TOPDIR)/lbin/afdisk
  • tools/brcm-utils/Makefile

    r694c80f r99cbe83  
    1616        mkdir -p $(STAGING_TOOLS)/bin
    1717        $(CP) $(UTILS_BUILD_DIR)/* $(STAGING_TOOLS)/bin/
    18 install: compile
     18install:
    1919package:
    2020clean:
  • tools/cxxtools/Makefile

    r694c80f r99cbe83  
    99PKG_RELEASE:=           1
    1010PKG_MD5SUM:=            83ab81e0d5f937f0d87ba72a4aa51e11
    11 PKG_SOURCE_URL:=        http://www.tntnet.org/download
     11MASTER_SITES:=          http://www.tntnet.org/download/
    1212
    1313include $(TOPDIR)/rules.mk
    1414include ../rules.mk
     15#include ${TOPDIR}/mk/fetch.mk
    1516
    1617$(WRKBUILD)/.configured: ${WRKBUILD}/.prepared
     
    3435        $(CP) $(WRKBUILD)/include/cxxtools $(STAGING_TOOLS)/include
    3536
    36 source: $(DL_DIR)/$(PKG_SOURCE)
     37source: ${_CHECKSUM_COOKIE}
    3738prepare: ${WRKBUILD}/.prepared
    3839compile: $(WRKBUILD)/cxxtools-config $(STAGING_TOOLS)/bin/cxxtools-config
  • tools/failsafe/Makefile

    r694c80f r99cbe83  
    1616        mkdir -p $(STAGING_TOOLS)/bin
    1717        $(CP) $(UTILS_BUILD_DIR)/* $(STAGING_TOOLS)/bin/
    18 install: compile
     18install:
    1919package:
    2020clean:
  • tools/fwcf/Makefile

    r694c80f r99cbe83  
    88include ${TOPDIR}/package/fwcf/Makefile.inc
    99include ../rules.mk
     10#include ${TOPDIR}/mk/fetch.mk
    1011
    1112EXTRA_SRCS=
     
    1920        cd ${WRKBUILD} && SRCS='${EXTRA_SRCS}' gmake
    2021
    21 source:
     22source: fetch
    2223prepare: ${WRKBUILD}/.prepared
    2324
    2425compile: ${WRKBUILD}/fwcf.helper.out
    2526
    26 install: compile
     27install:
    2728        mkdir -p ${STAGING_TOOLS}/bin
    2829        rm -f ${STAGING_TOOLS}/bin/fwcf.helper
  • tools/genext2fs/Makefile

    r694c80f r99cbe83  
    88PKG_VERSION:=           1.4-rc1
    99PKG_MD5SUM:=            664431bf6737df1c265500e1f0b5d40c
    10 PKG_SOURCE:=            $(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
    11 PKG_SOURCE_URL:=        http://ftp.debian.org/debian/pool/main/g/genext2fs
     10DISTFILES:=             $(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
     11MASTER_SITES:=          http://ftp.debian.org/debian/pool/main/g/genext2fs/
    1212WRKDIST=                ${WRKDIR}/${PKG_NAME}-1.4rc1
    1313
    1414include $(TOPDIR)/rules.mk
    1515include ../rules.mk
     16#include ${TOPDIR}/mk/fetch.mk
    1617
    1718$(WRKBUILD)/genext2fs: $(WRKBUILD)/.prepared
     
    2223        $(CP) $< $@
    2324
    24 source: $(DL_DIR)/$(PKG_SOURCE)
     25source: ${_CHECKSUM_COOKIE}
    2526prepare: $(WRKBUILD)/.prepared
    2627compile: $(STAGING_TOOLS)/bin/genext2fs
  • tools/jffs2/Makefile

    r694c80f r99cbe83  
    99PKG_MD5SUM=             1f42c2cae08eb9e7b52d0c188f8d6338
    1010
    11 PKG_SOURCE=             mtd_20050122.orig.tar.gz
    12 PKG_SOURCE_URL=         http://ftp.debian.org/debian/pool/main/m/mtd
     11DISTFILES=              mtd_20050122.orig.tar.gz
     12MASTER_SITES=           http://ftp.debian.org/debian/pool/main/m/mtd/
    1313WRKDIST=                ${WRKDIR}/${PKG_NAME}-${PKG_VERSION}.orig
    1414
    1515include $(TOPDIR)/rules.mk
    1616include ../rules.mk
     17#include ${TOPDIR}/mk/fetch.mk
    1718
    1819$(WRKBUILD)/util/mkfs.jffs2: ${WRKBUILD}/.prepared
     
    2627        $(CP) $< $@
    2728
    28 source: $(DL_DIR)/$(PKG_SOURCE)
     29source: ${_CHECKSUM_COOKIE}
    2930prepare: ${WRKBUILD}/.prepared
    3031compile: $(WRKBUILD)/util/mkfs.jffs2 $(STAGING_TOOLS)/bin/mkfs.jffs2
  • tools/lzma/Makefile

    r694c80f r99cbe83  
    88PKG_VERSION:=           432
    99PKG_MD5SUM:=            155c1ebce5bc6710ae7ecc926226d9d7
    10 PKG_SOURCE_URL:=        @SF/sevenzip
    11 PKG_SOURCE:=            $(PKG_NAME)$(PKG_VERSION).tar.bz2
     10MASTER_SITES:=          ${MASTER_SITE_SOURCEFORGE:=sevenzip/}
     11DISTFILES:=             $(PKG_NAME)$(PKG_VERSION).tar.bz2
    1212WRKDIST=                ${WRKDIR}
    1313CRLF_WORKAROUND:=       y
     
    2020include $(TOPDIR)/rules.mk
    2121include ../rules.mk
     22#include ${TOPDIR}/mk/fetch.mk
    2223
    2324$(LZMA_ALONE_DIR)/lzma $(LZMA_LIB_DIR)/liblzma.a: $(WRKBUILD)/.built
     
    3031        $(CP) $^ $(WRKBUILD)
    3132
    32 lzma-source: $(DL_DIR)/$(PKG_SOURCE)
     33lzma-source: ${_CHECKSUM_COOKIE}
    3334
    3435lzma-clean:
     
    4243#############################################################
    4344
     45source: lzma-source
    4446prepare: ${WRKBUILD}/.prepared
    4547compile: lzma
  • tools/mkimage/Makefile

    r694c80f r99cbe83  
    88PKG_VERSION:=           1.1.4
    99PKG_MD5SUM:=            096cac66046326659b97eeded007ec73
    10 PKG_SOURCE:=            $(PKG_NAME)-$(PKG_VERSION).tar.bz2
    11 PKG_SOURCE_URL:=        ftp://ftp.denx.de/pub/u-boot
     10DISTFILES:=             $(PKG_NAME)-$(PKG_VERSION).tar.bz2
     11MASTER_SITES:=          ftp://ftp.denx.de/pub/u-boot/
    1212
    1313include $(TOPDIR)/rules.mk
    1414include ../rules.mk
     15#include ${TOPDIR}/mk/fetch.mk
    1516
    1617$(WRKBUILD)/tools/mkimage: $(WRKBUILD)/.prepared
     
    2526        $(CP) $< $@
    2627
    27 source: $(DL_DIR)/$(PKG_SOURCE)
     28source: ${_CHECKSUM_COOKIE}
    2829prepare: $(WRKBUILD)/.prepared
    2930compile: $(WRKBUILD)/tools/mkimage $(STAGING_TOOLS)/bin/mkimage
  • tools/mkpasswd/Makefile

    r694c80f r99cbe83  
    1616        mkdir -p $(STAGING_TOOLS)/bin
    1717        $(CP) $(UTILS_BUILD_DIR)/* $(STAGING_TOOLS)/bin/
    18 install: compile
     18install:
    1919package:
    2020clean:
  • tools/paxmirabilis/Makefile

    r694c80f r99cbe83  
    4242compile: prepare ${WRKBUILD}/pax
    4343
    44 install: compile
     44install:
    4545        mkdir -p $(STAGING_TOOLS)/bin
    4646        -rm -f $(STAGING_TOOLS)/bin/{pax,cpio,tar} ${TOPDIR}/lbin/{pax,cpio,tar}
  • tools/sed/Makefile

    r694c80f r99cbe83  
    99PKG_RELEASE:=           1
    1010PKG_MD5SUM:=            928f0e06422f414091917401f1a834d0
    11 PKG_SOURCE_URL:=        ftp://ftp.gnu.org/gnu/sed
     11MASTER_SITES:=          ftp://ftp.gnu.org/gnu/sed/
    1212
    1313include $(TOPDIR)/rules.mk
    1414include ../rules.mk
     15#include ${TOPDIR}/mk/fetch.mk
    1516
    1617$(WRKBUILD)/.configured: ${WRKBUILD}/.prepared
     
    2930        $(MAKE) -C $(WRKBUILD)
    3031
    31 source:
     32source: ${_CHECKSUM_COOKIE}
    3233prepare: ${WRKBUILD}/.prepared
    3334
    3435compile: $(WRKBUILD)/sed/sed
    3536
    36 install: compile
     37install:
    3738        mkdir -p $(STAGING_TOOLS)/bin
    3839        rm -f $(STAGING_TOOLS)/bin/sed ${TOPDIR}/lbin/sed
  • tools/squashfs/Makefile

    r694c80f r99cbe83  
    88PKG_VERSION:=           3.0
    99PKG_MD5SUM:=            9fd05d0bfbb712f5fb95edafea5bc733
    10 PKG_SOURCE:=            $(PKG_NAME)$(PKG_VERSION).tar.gz
    11 PKG_SOURCE_URL:=        @SF/squashfs
     10DISTFILES:=             $(PKG_NAME)$(PKG_VERSION).tar.gz
     11MASTER_SITES:=          ${MASTER_SITE_SOURCEFORGE:=squashfs/}
    1212WRKDIST=                ${WRKDIR}/${PKG_NAME}${PKG_VERSION}
    1313
    1414include $(TOPDIR)/rules.mk
    1515include ../rules.mk
     16#include ${TOPDIR}/mk/fetch.mk
    1617
    1718$(WRKBUILD)/squashfs-tools/mksquashfs-lzma: ${WRKBUILD}/.prepared
     
    2526        $(CP) $< $@
    2627
    27 source: $(DL_DIR)/$(PKG_SOURCE)
     28source: ${_CHECKSUM_COOKIE}
    2829prepare: ${WRKBUILD}/.prepared
    2930compile: $(WRKBUILD)/squashfs-tools/mksquashfs-lzma $(STAGING_TOOLS)/bin/mksquashfs-lzma
  • tools/tntnet/Makefile

    r694c80f r99cbe83  
    99PKG_RELEASE:=           2
    1010PKG_MD5SUM:=            2108da4e68b22b2e6260c21964cee685
    11 PKG_SOURCE_URL:=        http://www.tntnet.org/download
     11MASTER_SITES:=          http://www.tntnet.org/download/
    1212
    1313include $(TOPDIR)/rules.mk
     
    3939        $(CP) $< $@
    4040
    41 source: $(DL_DIR)/$(PKG_SOURCE)
     41source: ${_CHECKSUM_COOKIE}
    4242prepare: ${WRKBUILD}/.prepared
    4343compile: $(WRKBUILD)/sdk/tools/ecppc/ecppc $(STAGING_TOOLS)/bin/ecppc
Note: See TracChangeset for help on using the changeset viewer.