view @ 1558:3a213739ee1c

Pipe stderr through maybe_quiet in
author Rob Landley <>
date Tue, 13 Nov 2012 13:55:10 -0600
parents 8e3d9443cce5
children bee6b26a006d
line wrap: on
line source


# Download all the source tarballs we haven't got up-to-date copies of.

# The tarballs are downloaded into the "packages" directory, which is
# created as needed.

source sources/ || exit 1

mkdir -p "$SRCDIR" || dienow

echo "=== Download source code."

# Note: set SHA1= blank to skip checksum validation.

# A blank SHA1 value means accept anything, and the download script
# prints out the sha1 of such files after downloading it.  So to update to
# a new version of a file, set SHA1= and update the URL, run ./,
# then cut and paste the sha1 from the output and run it again to confirm.

# Building a cross compile toolchain requires linux headers, uClibc,
# binutils, and gcc.

URL= \
SHA1=4d8d67d6754409bd10015d67d1ce7a04c0b001ba \
maybe_fork "download || dienow"

URL= \
SHA1=9beb98fddbd7246381b1dbb08cd9a170f03fd67b \
maybe_fork "download || dienow"

# 2.17 was the last GPLv2 release of binutils, but git commit
# 397a64b350470350c8e0adb2af84439ea0f89272 was the last GPLv2
# _version_ of binutils. This tarball has prebuilt release files
# so it builds without optional dependencies such as lex and yacc.

SHA1=f74f1ce2e62c516ba832f99a94289930be7869cf \
maybe_fork "download || dienow"

# 4.2.1 was the last GPLv2 release of gcc

URL= \
SHA1=43a138779e053a864bd16dfabcd3ffff04103213 \
maybe_fork "download || dienow"

# The g++ version must match gcc version.

URL= \
SHA1=8f3785bd0e092f563e14ecd26921cd04275496a6 \
maybe_fork "download || dienow"

# Building a native root filesystem requires linux and uClibc (above) plus
# BusyBox.  Adding a native toolchain requires binutils and gcc (above) plus
# make and bash.

URL= \
SHA1=919c946e03d5d2ee17316db06f846fbb07f39479 \
maybe_fork "download || dienow"

URL= \
SHA1=dd2e3684b13c0071d480e97b569041e69538e798 \
maybe_fork "download || dienow"

URL= \
SHA1=41ed86d941b9c8025aee45db56c0283169dcab3d \
maybe_fork "download || dienow"

# This version of bash is ancient, but it provides everything most package
# builds need and is less than half the size of current versions.  Eventually,
# either busybox ash or toysh should grow enough features to replace bash.

URL= \
SHA1=b3e158877f94e66ec1c8ef604e994851ee388b09 \
maybe_fork "download || dienow"

# These are optional parts of the native root filesystem.

URL= \
SHA1=f5582d206378d7daee6f46609c80204c1ad5c0f7 \
maybe_fork "download || dienow"

URL= \
SHA1=30663e8ff94f13c0553fbfb928adba91814e1b3a \
maybe_fork "download || dienow"

# The following packages are built and run on the host only.  (
# also builds host versions of many packages in the native root filesystem,
# but the following packages are not cross compiled for the target, and thus
# do not wind up in the system image.)

URL= &&
SHA1=9ace486ee1bad0a49b02194515e42573036f7392 \
maybe_fork "download || dienow"

URL= \
SHA1=24f9364fa3d4c0d7d00cb627b819d0e51055d6c5 \
maybe_fork "download || dienow"

URL= \
SHA1=858818fe6d358ec682d54ac5e106a2dd62628e7f \
maybe_fork "download || dienow"

URL= \
SHA1=e0944471ff68e215d3fecd464f30ea6ceb635fd7 \
RENAME="s/(squashfs)(.*)/\1-\2/" \
maybe_fork "download || dienow"

rm -f "$SRCDIR"/MANIFEST  # So cleanup_oldfiles doesn't warn about it.

echo === Got all source.

# Create a MANIFEST file listing package versions.

# This can optionally call source control systems (git, hg and svn) to get
# version information for the packages and build scripts.  These
# are intentionally excluded from the new path setup by, so
# just in case we've already run that use $OLDPATH for this.

PATH="$OLDPATH" do_manifest > "$SRCDIR"/MANIFEST || dienow