Mercurial > hg > aboriginal
annotate sources/functions.sh @ 1184:aa8992b35e15
Make extract_package directly callable, and do so where necessary.
author | Rob Landley <rob@landley.net> |
---|---|
date | Sat, 31 Jul 2010 21:49:01 -0500 |
parents | 61e7e9be8eb4 |
children | 8651437b2b44 |
rev | line source |
---|---|
840 | 1 #!/bin/echo "This file is sourced, not run" |
2 | |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
3 # Lots of reusable functions. This file is sourced, not run. |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
4 |
919
8b69eeb17ebf
Break up sources/functions.sh starting with some of the more obviously independent ones.
Rob Landley <rob@landley.net>
parents:
915
diff
changeset
|
5 source sources/utility_functions.sh |
8b69eeb17ebf
Break up sources/functions.sh starting with some of the more obviously independent ones.
Rob Landley <rob@landley.net>
parents:
915
diff
changeset
|
6 |
1090
affef1edbdba
Cleanup "FROM_ARCH" mess. Rename FROM_ARCH->HOST_ARCH, make stage script responsible for setting HOST_ARCH (not includes.sh). Also, remove HOST_UTILS variable, only build uClibc utils for non-simple compilers and bypass uClibc's (weird) makefile for the utils directory.
Rob Landley <rob@landley.net>
parents:
1084
diff
changeset
|
7 # Output path to cross compiler. |
915
a541c5a96ff3
Don't actually replace cross-compiler with cross-static, when you build both use $PATH to select which one to use.
Rob Landley <rob@landley.net>
parents:
904
diff
changeset
|
8 |
a541c5a96ff3
Don't actually replace cross-compiler with cross-static, when you build both use $PATH to select which one to use.
Rob Landley <rob@landley.net>
parents:
904
diff
changeset
|
9 cc_path() |
a541c5a96ff3
Don't actually replace cross-compiler with cross-static, when you build both use $PATH to select which one to use.
Rob Landley <rob@landley.net>
parents:
904
diff
changeset
|
10 { |
a541c5a96ff3
Don't actually replace cross-compiler with cross-static, when you build both use $PATH to select which one to use.
Rob Landley <rob@landley.net>
parents:
904
diff
changeset
|
11 local i |
a541c5a96ff3
Don't actually replace cross-compiler with cross-static, when you build both use $PATH to select which one to use.
Rob Landley <rob@landley.net>
parents:
904
diff
changeset
|
12 |
1090
affef1edbdba
Cleanup "FROM_ARCH" mess. Rename FROM_ARCH->HOST_ARCH, make stage script responsible for setting HOST_ARCH (not includes.sh). Also, remove HOST_UTILS variable, only build uClibc utils for non-simple compilers and bypass uClibc's (weird) makefile for the utils directory.
Rob Landley <rob@landley.net>
parents:
1084
diff
changeset
|
13 # Output cross it if exists, else simple. If neither exists, output simple. |
affef1edbdba
Cleanup "FROM_ARCH" mess. Rename FROM_ARCH->HOST_ARCH, make stage script responsible for setting HOST_ARCH (not includes.sh). Also, remove HOST_UTILS variable, only build uClibc utils for non-simple compilers and bypass uClibc's (weird) makefile for the utils directory.
Rob Landley <rob@landley.net>
parents:
1084
diff
changeset
|
14 |
944
fc134a13357e
Largeish refactoring and cleanup of compiler build:
Rob Landley <rob@landley.net>
parents:
942
diff
changeset
|
15 for i in "$BUILD"/{,simple-}cross-compiler-"$1/bin" |
915
a541c5a96ff3
Don't actually replace cross-compiler with cross-static, when you build both use $PATH to select which one to use.
Rob Landley <rob@landley.net>
parents:
904
diff
changeset
|
16 do |
a541c5a96ff3
Don't actually replace cross-compiler with cross-static, when you build both use $PATH to select which one to use.
Rob Landley <rob@landley.net>
parents:
904
diff
changeset
|
17 [ -e "$i/$1-cc" ] && break |
a541c5a96ff3
Don't actually replace cross-compiler with cross-static, when you build both use $PATH to select which one to use.
Rob Landley <rob@landley.net>
parents:
904
diff
changeset
|
18 done |
a541c5a96ff3
Don't actually replace cross-compiler with cross-static, when you build both use $PATH to select which one to use.
Rob Landley <rob@landley.net>
parents:
904
diff
changeset
|
19 echo -n "$i:" |
a541c5a96ff3
Don't actually replace cross-compiler with cross-static, when you build both use $PATH to select which one to use.
Rob Landley <rob@landley.net>
parents:
904
diff
changeset
|
20 } |
a541c5a96ff3
Don't actually replace cross-compiler with cross-static, when you build both use $PATH to select which one to use.
Rob Landley <rob@landley.net>
parents:
904
diff
changeset
|
21 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
22 read_arch_dir() |
744
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
23 { |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
24 # Get target platform from first command line argument. |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
25 |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
26 ARCH_NAME="$1" |
817
a6cb42614a1d
Rename build/sources to build/packages to reduce confusion (since sources/packages got moved up to just packages, and this contains the extracted contents of that). And use $SOURCES instead of $TOP/sources in a few places.
Rob Landley <rob@landley.net>
parents:
815
diff
changeset
|
27 if [ ! -f "${SOURCES}/targets/${ARCH_NAME}/settings" ] |
744
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
28 then |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
29 echo "Supported architectures: " |
817
a6cb42614a1d
Rename build/sources to build/packages to reduce confusion (since sources/packages got moved up to just packages, and this contains the extracted contents of that). And use $SOURCES instead of $TOP/sources in a few places.
Rob Landley <rob@landley.net>
parents:
815
diff
changeset
|
30 (cd "${SOURCES}/targets" && ls) |
744
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
31 |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
32 exit 1 |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
33 fi |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
34 |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
35 # Read the relevant config file. |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
36 |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
37 ARCH="$ARCH_NAME" |
817
a6cb42614a1d
Rename build/sources to build/packages to reduce confusion (since sources/packages got moved up to just packages, and this contains the extracted contents of that). And use $SOURCES instead of $TOP/sources in a few places.
Rob Landley <rob@landley.net>
parents:
815
diff
changeset
|
38 CONFIG_DIR="${SOURCES}/targets" |
744
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
39 source "${CONFIG_DIR}/${ARCH}/settings" |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
40 |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
41 # Which platform are we building for? |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
42 |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
43 export WORK="${BUILD}/temp-$ARCH_NAME" |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
44 |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
45 # Say "unknown" in two different ways so it doesn't assume we're NOT |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
46 # cross compiling when the host and target are the same processor. (If host |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
47 # and target match, the binutils/gcc/make builds won't use the cross compiler |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
48 # during root-filesystem.sh, and the host compiler links binaries against the |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
49 # wrong libc.) |
984
9840847885e8
Add export_if_blank and make lots of build paths overrideable.
Rob Landley <rob@landley.net>
parents:
973
diff
changeset
|
50 export_if_blank CROSS_HOST=`uname -m`-walrus-linux |
1090
affef1edbdba
Cleanup "FROM_ARCH" mess. Rename FROM_ARCH->HOST_ARCH, make stage script responsible for setting HOST_ARCH (not includes.sh). Also, remove HOST_UTILS variable, only build uClibc utils for non-simple compilers and bypass uClibc's (weird) makefile for the utils directory.
Rob Landley <rob@landley.net>
parents:
1084
diff
changeset
|
51 export_if_blank CROSS_TARGET=${ARCH}-unknown-linux |
744
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
52 |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
53 # Setup directories and add the cross compiler to the start of the path. |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
54 |
844
ea9af6c73dbf
Use the ARCH_NAME rather than ARCH when making stage directories. The only place we don't run check_for_base_arch is system-image, and here we want this to differ because of the kernels.
Mark Miller <mark@mirell.org>
parents:
840
diff
changeset
|
55 STAGE_DIR="$BUILD/${STAGE_NAME}-${ARCH_NAME}" |
783
db06a8c1bfed
Lots of changes to move buildall.sh functionality into build.sh.
Rob Landley <rob@landley.net>
parents:
778
diff
changeset
|
56 |
1099
3c6263354ca9
Blank $STAGE_DIR before adjusting $PATH so building the cross-compiler stage doesn't get confused if it dies during the uClibc++ build and gets re-run (adjusting the path to point to the cross compiler we're about to delete and rebuild). Make NO_CLEANUP explicit in system-image.sh so it can rebuild zImage and squashfs independently by default.
Rob Landley <rob@landley.net>
parents:
1098
diff
changeset
|
57 blank_tempdir "$STAGE_DIR" |
3c6263354ca9
Blank $STAGE_DIR before adjusting $PATH so building the cross-compiler stage doesn't get confused if it dies during the uClibc++ build and gets re-run (adjusting the path to point to the cross compiler we're about to delete and rebuild). Make NO_CLEANUP explicit in system-image.sh so it can rebuild zImage and squashfs independently by default.
Rob Landley <rob@landley.net>
parents:
1098
diff
changeset
|
58 blank_tempdir "$WORK" |
3c6263354ca9
Blank $STAGE_DIR before adjusting $PATH so building the cross-compiler stage doesn't get confused if it dies during the uClibc++ build and gets re-run (adjusting the path to point to the cross compiler we're about to delete and rebuild). Make NO_CLEANUP explicit in system-image.sh so it can rebuild zImage and squashfs independently by default.
Rob Landley <rob@landley.net>
parents:
1098
diff
changeset
|
59 |
915
a541c5a96ff3
Don't actually replace cross-compiler with cross-static, when you build both use $PATH to select which one to use.
Rob Landley <rob@landley.net>
parents:
904
diff
changeset
|
60 export PATH="$(cc_path "$ARCH")$PATH" |
1090
affef1edbdba
Cleanup "FROM_ARCH" mess. Rename FROM_ARCH->HOST_ARCH, make stage script responsible for setting HOST_ARCH (not includes.sh). Also, remove HOST_UTILS variable, only build uClibc utils for non-simple compilers and bypass uClibc's (weird) makefile for the utils directory.
Rob Landley <rob@landley.net>
parents:
1084
diff
changeset
|
61 [ ! -z "$HOST_ARCH" ] && [ "$HOST_ARCH" != "$ARCH" ] && |
affef1edbdba
Cleanup "FROM_ARCH" mess. Rename FROM_ARCH->HOST_ARCH, make stage script responsible for setting HOST_ARCH (not includes.sh). Also, remove HOST_UTILS variable, only build uClibc utils for non-simple compilers and bypass uClibc's (weird) makefile for the utils directory.
Rob Landley <rob@landley.net>
parents:
1084
diff
changeset
|
62 PATH="$(cc_path "$HOST_ARCH")$PATH" |
744
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
63 |
944
fc134a13357e
Largeish refactoring and cleanup of compiler build:
Rob Landley <rob@landley.net>
parents:
942
diff
changeset
|
64 DO_CROSS="CROSS_COMPILE=${ARCH}-" |
798
2c9f22daa8fe
Allow target settings to specify BUILD_STATIC.
Rob Landley <rob@landley.net>
parents:
796
diff
changeset
|
65 |
744
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
66 return 0 |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
67 } |
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
727
diff
changeset
|
68 |
820
d1a88d878e18
Factor out and unify binutils, gcc, and ccwrap builds.
Rob Landley <rob@landley.net>
parents:
818
diff
changeset
|
69 # Note that this sources the file, rather than calling it as a separate |
d1a88d878e18
Factor out and unify binutils, gcc, and ccwrap builds.
Rob Landley <rob@landley.net>
parents:
818
diff
changeset
|
70 # process. That way it can set environment variables if it wants to. |
d1a88d878e18
Factor out and unify binutils, gcc, and ccwrap builds.
Rob Landley <rob@landley.net>
parents:
818
diff
changeset
|
71 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
72 build_section() |
820
d1a88d878e18
Factor out and unify binutils, gcc, and ccwrap builds.
Rob Landley <rob@landley.net>
parents:
818
diff
changeset
|
73 { |
1084
b52ba5df878d
Don't build anything statically in host-tools.sh, glibc is broken.
Rob Landley <rob@landley.net>
parents:
1083
diff
changeset
|
74 # Don't build anything statically in host-tools, glibc is broken. |
b52ba5df878d
Don't build anything statically in host-tools.sh, glibc is broken.
Rob Landley <rob@landley.net>
parents:
1083
diff
changeset
|
75 # See http://people.redhat.com/drepper/no_static_linking.html for |
b52ba5df878d
Don't build anything statically in host-tools.sh, glibc is broken.
Rob Landley <rob@landley.net>
parents:
1083
diff
changeset
|
76 # insane rant from the glibc maintainer about why he doesn't care. |
b52ba5df878d
Don't build anything statically in host-tools.sh, glibc is broken.
Rob Landley <rob@landley.net>
parents:
1083
diff
changeset
|
77 is_in_list $1 $BUILD_STATIC && [ ! -z "$ARCH" ] && STATIC_FLAGS="--static" |
b52ba5df878d
Don't build anything statically in host-tools.sh, glibc is broken.
Rob Landley <rob@landley.net>
parents:
1083
diff
changeset
|
78 |
938
609bc05b0d6a
Teach build_section to run "*.build" sections (with setupfor/cleanup called for them) as well as "*.sh" sections which do their own setup/cleanup.
Rob Landley <rob@landley.net>
parents:
936
diff
changeset
|
79 if [ -e "$SOURCES/sections/$1".build ] |
609bc05b0d6a
Teach build_section to run "*.build" sections (with setupfor/cleanup called for them) as well as "*.sh" sections which do their own setup/cleanup.
Rob Landley <rob@landley.net>
parents:
936
diff
changeset
|
80 then |
609bc05b0d6a
Teach build_section to run "*.build" sections (with setupfor/cleanup called for them) as well as "*.sh" sections which do their own setup/cleanup.
Rob Landley <rob@landley.net>
parents:
936
diff
changeset
|
81 setupfor "$1" |
609bc05b0d6a
Teach build_section to run "*.build" sections (with setupfor/cleanup called for them) as well as "*.sh" sections which do their own setup/cleanup.
Rob Landley <rob@landley.net>
parents:
936
diff
changeset
|
82 . "$SOURCES/sections/$1".build |
609bc05b0d6a
Teach build_section to run "*.build" sections (with setupfor/cleanup called for them) as well as "*.sh" sections which do their own setup/cleanup.
Rob Landley <rob@landley.net>
parents:
936
diff
changeset
|
83 cleanup |
609bc05b0d6a
Teach build_section to run "*.build" sections (with setupfor/cleanup called for them) as well as "*.sh" sections which do their own setup/cleanup.
Rob Landley <rob@landley.net>
parents:
936
diff
changeset
|
84 else |
609bc05b0d6a
Teach build_section to run "*.build" sections (with setupfor/cleanup called for them) as well as "*.sh" sections which do their own setup/cleanup.
Rob Landley <rob@landley.net>
parents:
936
diff
changeset
|
85 echo "=== build section $1" |
609bc05b0d6a
Teach build_section to run "*.build" sections (with setupfor/cleanup called for them) as well as "*.sh" sections which do their own setup/cleanup.
Rob Landley <rob@landley.net>
parents:
936
diff
changeset
|
86 . "$SOURCES"/sections/"$1".sh |
609bc05b0d6a
Teach build_section to run "*.build" sections (with setupfor/cleanup called for them) as well as "*.sh" sections which do their own setup/cleanup.
Rob Landley <rob@landley.net>
parents:
936
diff
changeset
|
87 fi |
820
d1a88d878e18
Factor out and unify binutils, gcc, and ccwrap builds.
Rob Landley <rob@landley.net>
parents:
818
diff
changeset
|
88 } |
d1a88d878e18
Factor out and unify binutils, gcc, and ccwrap builds.
Rob Landley <rob@landley.net>
parents:
818
diff
changeset
|
89 |
530
ea7a010e5c47
Add ldd/readelf/ldconfig to cross and native toolchains, and teach build to fallback to stable miniconfig when miniconfig-alt is absent.
Rob Landley <rob@landley.net>
parents:
494
diff
changeset
|
90 # Find appropriate miniconfig file |
ea7a010e5c47
Add ldd/readelf/ldconfig to cross and native toolchains, and teach build to fallback to stable miniconfig when miniconfig-alt is absent.
Rob Landley <rob@landley.net>
parents:
494
diff
changeset
|
91 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
92 getconfig() |
530
ea7a010e5c47
Add ldd/readelf/ldconfig to cross and native toolchains, and teach build to fallback to stable miniconfig when miniconfig-alt is absent.
Rob Landley <rob@landley.net>
parents:
494
diff
changeset
|
93 { |
1082
255488af0bbb
Convert unstable() to is_in_list() taking the list to check as the second argument.
Rob Landley <rob@landley.net>
parents:
1081
diff
changeset
|
94 for i in $(is_in_list $1 $USE_UNSTABLE && echo {$ARCH_NAME,$ARCH}/miniconfig-alt-$1) \ |
581
9dffdd74c186
More changes for initramfs and hw- targets with a base architecture.
Rob Landley <rob@landley.net>
parents:
567
diff
changeset
|
95 {$ARCH_NAME,$ARCH}/miniconfig-$1 |
9dffdd74c186
More changes for initramfs and hw- targets with a base architecture.
Rob Landley <rob@landley.net>
parents:
567
diff
changeset
|
96 do |
1152
2f39d1bfb2fd
Add baseconfig-linux, the infrastructure to use it, and move over the arm targets. (You can override with a miniconfig-linux or miniconfig-uClibc in the appropriate target directory.)
Rob Landley <rob@landley.net>
parents:
1107
diff
changeset
|
97 [ -f "$CONFIG_DIR/$i" ] && cat "$CONFIG_DIR/$i" && return |
581
9dffdd74c186
More changes for initramfs and hw- targets with a base architecture.
Rob Landley <rob@landley.net>
parents:
567
diff
changeset
|
98 done |
530
ea7a010e5c47
Add ldd/readelf/ldconfig to cross and native toolchains, and teach build to fallback to stable miniconfig when miniconfig-alt is absent.
Rob Landley <rob@landley.net>
parents:
494
diff
changeset
|
99 |
1152
2f39d1bfb2fd
Add baseconfig-linux, the infrastructure to use it, and move over the arm targets. (You can override with a miniconfig-linux or miniconfig-uClibc in the appropriate target directory.)
Rob Landley <rob@landley.net>
parents:
1107
diff
changeset
|
100 # Output baseconfig, then append $1_CONFIG (converting $1 to uppercase) |
2f39d1bfb2fd
Add baseconfig-linux, the infrastructure to use it, and move over the arm targets. (You can override with a miniconfig-linux or miniconfig-uClibc in the appropriate target directory.)
Rob Landley <rob@landley.net>
parents:
1107
diff
changeset
|
101 cat "$SOURCES/baseconfig-$1" |
2f39d1bfb2fd
Add baseconfig-linux, the infrastructure to use it, and move over the arm targets. (You can override with a miniconfig-linux or miniconfig-uClibc in the appropriate target directory.)
Rob Landley <rob@landley.net>
parents:
1107
diff
changeset
|
102 eval "echo \"\${$(echo $1 | tr a-z A-Z)_CONFIG}\"" |
530
ea7a010e5c47
Add ldd/readelf/ldconfig to cross and native toolchains, and teach build to fallback to stable miniconfig when miniconfig-alt is absent.
Rob Landley <rob@landley.net>
parents:
494
diff
changeset
|
103 } |
ea7a010e5c47
Add ldd/readelf/ldconfig to cross and native toolchains, and teach build to fallback to stable miniconfig when miniconfig-alt is absent.
Rob Landley <rob@landley.net>
parents:
494
diff
changeset
|
104 |
815
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
105 # Find all files in $STAGE_DIR newer than $CURSRC. |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
106 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
107 recent_binary_files() |
815
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
108 { |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
109 PREVIOUS= |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
110 (cd "$STAGE_DIR" || dienow |
1183
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
111 find . -depth -newer "$CURSRC/FWL-TIMESTAMP" \ |
815
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
112 | sed -e 's/^.//' -e 's/^.//' -e '/^$/d' |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
113 ) | while read i |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
114 do |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
115 TEMP="${PREVIOUS##"$i"/}" |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
116 |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
117 if [ $[${#PREVIOUS}-${#TEMP}] -ne $[${#i}+1] ] |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
118 then |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
119 # Because the expanded $i might have \ chars in it, that's why. |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
120 echo -n "$i" |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
121 echo -ne '\0' |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
122 fi |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
123 PREVIOUS="$i" |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
124 done |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
125 } |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
126 |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
127 # Strip the version number off a tarball |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
128 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
129 cleanup() |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
130 { |
815
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
131 # If package build exited with an error, do not continue. |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
132 |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
133 [ $? -ne 0 ] && dienow |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
134 |
815
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
135 if [ ! -z "$BINARY_PACKAGE_TARBALLS" ] |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
136 then |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
137 TARNAME="$PACKAGE-$STAGE_NAME-${ARCH_NAME}".tar.bz2 |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
138 echo -n Creating "$TARNAME" |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
139 { recent_binary_files | xargs -0 tar -cjvf \ |
1012
4d59b8946220
Bugfix by David Seikel: don't append .tar.bz2 twice to BINARY_PACKAGE_TARBALLS.
Rob Landley <rob@landley.net>
parents:
1010
diff
changeset
|
140 "$BUILD/${TARNAME}" -C "$STAGE_DIR" || dienow |
815
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
141 } | dotprogress |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
142 fi |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
143 |
567
5619a7375b74
Add NO_CLEANUP option to config.
Rob Landley <rob@landley.net>
parents:
534
diff
changeset
|
144 if [ ! -z "$NO_CLEANUP" ] |
5619a7375b74
Add NO_CLEANUP option to config.
Rob Landley <rob@landley.net>
parents:
534
diff
changeset
|
145 then |
815
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
146 echo "skip cleanup $PACKAGE $@" |
567
5619a7375b74
Add NO_CLEANUP option to config.
Rob Landley <rob@landley.net>
parents:
534
diff
changeset
|
147 return |
5619a7375b74
Add NO_CLEANUP option to config.
Rob Landley <rob@landley.net>
parents:
534
diff
changeset
|
148 fi |
5619a7375b74
Add NO_CLEANUP option to config.
Rob Landley <rob@landley.net>
parents:
534
diff
changeset
|
149 |
815
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
150 # Loop deleting directories |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
151 |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
152 cd "$WORK" || dienow |
1183
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
153 for i in $WORKDIR_LIST |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
154 do |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
155 echo "cleanup $i" |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
156 rm -rf "$i" || dienow |
1183
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
157 done |
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
158 WORKDIR_LIST= |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
159 } |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
160 |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
161 # Give filename.tar.ext minus the version number. |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
162 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
163 noversion() |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
164 { |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
165 echo "$1" | sed -e 's/-*\(\([0-9\.]\)*\([_-]rc\)*\(-pre\)*\([0-9][a-zA-Z]\)*\)*\(\.tar\..z2*\)$/'"$2"'\6/' |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
166 } |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
167 |
440
59fe5a276991
Add getversion() and wait4background(), useful to build wrappers.
Rob Landley <rob@landley.net>
parents:
436
diff
changeset
|
168 # Given a filename.tar.ext, return the versino number. |
59fe5a276991
Add getversion() and wait4background(), useful to build wrappers.
Rob Landley <rob@landley.net>
parents:
436
diff
changeset
|
169 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
170 getversion() |
440
59fe5a276991
Add getversion() and wait4background(), useful to build wrappers.
Rob Landley <rob@landley.net>
parents:
436
diff
changeset
|
171 { |
59fe5a276991
Add getversion() and wait4background(), useful to build wrappers.
Rob Landley <rob@landley.net>
parents:
436
diff
changeset
|
172 echo "$1" | sed -e 's/.*-\(\([0-9\.]\)*\([_-]rc\)*\(-pre\)*\([0-9][a-zA-Z]\)*\)*\(\.tar\..z2*\)$/'"$2"'\1/' |
59fe5a276991
Add getversion() and wait4background(), useful to build wrappers.
Rob Landley <rob@landley.net>
parents:
436
diff
changeset
|
173 } |
59fe5a276991
Add getversion() and wait4background(), useful to build wrappers.
Rob Landley <rob@landley.net>
parents:
436
diff
changeset
|
174 |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
175 # Give package name, minus file's version number and archive extension. |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
176 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
177 basename() |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
178 { |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
179 noversion $1 | sed 's/\.tar\..z2*$//' |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
180 } |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
181 |
1010
98dbfffd3b0a
Allow existing extracted source directry to be patched if necessary, even if tarball doesn't exist. (This lets a git bisect happen in situ under build/packages.)
Rob Landley <rob@landley.net>
parents:
998
diff
changeset
|
182 # Apply any patches to this package |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
183 patch_package() |
1010
98dbfffd3b0a
Allow existing extracted source directry to be patched if necessary, even if tarball doesn't exist. (This lets a git bisect happen in situ under build/packages.)
Rob Landley <rob@landley.net>
parents:
998
diff
changeset
|
184 { |
98dbfffd3b0a
Allow existing extracted source directry to be patched if necessary, even if tarball doesn't exist. (This lets a git bisect happen in situ under build/packages.)
Rob Landley <rob@landley.net>
parents:
998
diff
changeset
|
185 ls "$PATCHDIR/${PACKAGE}"-* 2> /dev/null | sort | while read i |
98dbfffd3b0a
Allow existing extracted source directry to be patched if necessary, even if tarball doesn't exist. (This lets a git bisect happen in situ under build/packages.)
Rob Landley <rob@landley.net>
parents:
998
diff
changeset
|
186 do |
98dbfffd3b0a
Allow existing extracted source directry to be patched if necessary, even if tarball doesn't exist. (This lets a git bisect happen in situ under build/packages.)
Rob Landley <rob@landley.net>
parents:
998
diff
changeset
|
187 if [ -f "$i" ] |
98dbfffd3b0a
Allow existing extracted source directry to be patched if necessary, even if tarball doesn't exist. (This lets a git bisect happen in situ under build/packages.)
Rob Landley <rob@landley.net>
parents:
998
diff
changeset
|
188 then |
98dbfffd3b0a
Allow existing extracted source directry to be patched if necessary, even if tarball doesn't exist. (This lets a git bisect happen in situ under build/packages.)
Rob Landley <rob@landley.net>
parents:
998
diff
changeset
|
189 echo "Applying $i" |
1162
9ea6b72beabc
Fix patching so sha1-for-source.txt only gets updated _after_ patch successfully applies (race with signal delivery), and make dienow output go to stderr instead of stdout.
Rob Landley <rob@landley.net>
parents:
1158
diff
changeset
|
190 (cd "${SRCTREE}/${PACKAGE}" && |
9ea6b72beabc
Fix patching so sha1-for-source.txt only gets updated _after_ patch successfully applies (race with signal delivery), and make dienow output go to stderr instead of stdout.
Rob Landley <rob@landley.net>
parents:
1158
diff
changeset
|
191 patch -p1 -i "$i" && |
9ea6b72beabc
Fix patching so sha1-for-source.txt only gets updated _after_ patch successfully applies (race with signal delivery), and make dienow output go to stderr instead of stdout.
Rob Landley <rob@landley.net>
parents:
1158
diff
changeset
|
192 sha1file "$i" >> "$SHA1FILE") || |
1098
8f72a8d4acc3
Add ALLOW_PATCH_FAILURE config switch to continue despite failed patches.
Rob Landley <rob@landley.net>
parents:
1094
diff
changeset
|
193 ([ -z "$ALLOW_PATCH_FAILURE" ] && dienow) |
1010
98dbfffd3b0a
Allow existing extracted source directry to be patched if necessary, even if tarball doesn't exist. (This lets a git bisect happen in situ under build/packages.)
Rob Landley <rob@landley.net>
parents:
998
diff
changeset
|
194 fi |
98dbfffd3b0a
Allow existing extracted source directry to be patched if necessary, even if tarball doesn't exist. (This lets a git bisect happen in situ under build/packages.)
Rob Landley <rob@landley.net>
parents:
998
diff
changeset
|
195 done |
98dbfffd3b0a
Allow existing extracted source directry to be patched if necessary, even if tarball doesn't exist. (This lets a git bisect happen in situ under build/packages.)
Rob Landley <rob@landley.net>
parents:
998
diff
changeset
|
196 } |
98dbfffd3b0a
Allow existing extracted source directry to be patched if necessary, even if tarball doesn't exist. (This lets a git bisect happen in situ under build/packages.)
Rob Landley <rob@landley.net>
parents:
998
diff
changeset
|
197 |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
198 # Extract tarball named in $1 and apply all relevant patches into |
817
a6cb42614a1d
Rename build/sources to build/packages to reduce confusion (since sources/packages got moved up to just packages, and this contains the extracted contents of that). And use $SOURCES instead of $TOP/sources in a few places.
Rob Landley <rob@landley.net>
parents:
815
diff
changeset
|
199 # "$BUILD/packages/$1". Record sha1sum of tarball and patch files in |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
200 # sha1-for-source.txt. Re-extract if tarball or patches change. |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
201 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
202 extract_package() |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
203 { |
1184
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
204 mkdir -p "$SRCTREE" || dienow |
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
205 |
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
206 # Figure out whether we're using an unstable package. |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
207 |
1184
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
208 PACKAGE="$1" |
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
209 is_in_list "$PACKAGE" $USE_UNSTABLE && PACKAGE=alt-"$PACKAGE" |
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
210 |
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
211 # Announce to the world that we're cracking open a new package |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
212 |
1184
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
213 echo "=== $PACKAGE ($ARCH_NAME $STAGE_NAME)" |
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
214 set_titlebar "$ARCH_NAME $STAGE_NAME $PACKAGE" |
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
215 |
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
216 # Find tarball, and determine type |
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
217 |
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
218 FILENAME="$(echo "$SRCDIR/${PACKAGE}-"*.tar*)" |
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
219 DECOMPRESS="" |
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
220 [ "$FILENAME" != "${FILENAME/%\.tar\.bz2/}" ] && DECOMPRESS="j" |
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
221 [ "$FILENAME" != "${FILENAME/%\.tar\.gz/}" ] && DECOMPRESS="z" |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
222 |
665
17fc6a3bffa4
Allow build to run with build/sources but not source tarballs. (Makes build-static-toolchains.sh slightly easier.)
Rob Landley <rob@landley.net>
parents:
662
diff
changeset
|
223 # If the source tarball doesn't exist, but the extracted directory is there, |
17fc6a3bffa4
Allow build to run with build/sources but not source tarballs. (Makes build-static-toolchains.sh slightly easier.)
Rob Landley <rob@landley.net>
parents:
662
diff
changeset
|
224 # assume everything's ok. |
17fc6a3bffa4
Allow build to run with build/sources but not source tarballs. (Makes build-static-toolchains.sh slightly easier.)
Rob Landley <rob@landley.net>
parents:
662
diff
changeset
|
225 |
1184
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
226 SHA1FILE="$SRCTREE/$PACKAGE/sha1-for-source.txt" |
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
227 if [ ! -e "$FILENAME" ] && [ -e "$SRCTREE/$PACKAGE" ] |
1010
98dbfffd3b0a
Allow existing extracted source directry to be patched if necessary, even if tarball doesn't exist. (This lets a git bisect happen in situ under build/packages.)
Rob Landley <rob@landley.net>
parents:
998
diff
changeset
|
228 then |
1184
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
229 # If the sha1sum file isn't there, re-patch the package. |
1010
98dbfffd3b0a
Allow existing extracted source directry to be patched if necessary, even if tarball doesn't exist. (This lets a git bisect happen in situ under build/packages.)
Rob Landley <rob@landley.net>
parents:
998
diff
changeset
|
230 [ ! -e "$SHA1FILE" ] && patch_package |
98dbfffd3b0a
Allow existing extracted source directry to be patched if necessary, even if tarball doesn't exist. (This lets a git bisect happen in situ under build/packages.)
Rob Landley <rob@landley.net>
parents:
998
diff
changeset
|
231 return 0 |
98dbfffd3b0a
Allow existing extracted source directry to be patched if necessary, even if tarball doesn't exist. (This lets a git bisect happen in situ under build/packages.)
Rob Landley <rob@landley.net>
parents:
998
diff
changeset
|
232 fi |
676
112dc7b787d3
Fix hg 665 so it actually works. (Make setupfor work when build/sources/package exists but there's no packages/package-*.tar* file.)
Rob Landley <rob@landley.net>
parents:
668
diff
changeset
|
233 |
1184
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
234 # Check the sha1 list from the previous extract. If the source is already |
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
235 # up to date (including patches), keep it. |
665
17fc6a3bffa4
Allow build to run with build/sources but not source tarballs. (Makes build-static-toolchains.sh slightly easier.)
Rob Landley <rob@landley.net>
parents:
662
diff
changeset
|
236 |
1184
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
237 SHA1TAR="$(sha1file "$FILENAME")" |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
238 SHALIST=$(cat "$SHA1FILE" 2> /dev/null) |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
239 if [ ! -z "$SHALIST" ] |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
240 then |
1184
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
241 for i in "$SHA1TAR" $(sha1file "$PATCHDIR/$PACKAGE"-* 2>/dev/null) |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
242 do |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
243 # Is this sha1 in the file? |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
244 if [ -z "$(echo "$SHALIST" | sed -n "s/$i/$i/p" )" ] |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
245 then |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
246 SHALIST=missing |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
247 break |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
248 fi |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
249 # Remove it |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
250 SHALIST="$(echo "$SHALIST" | sed "s/$i//" )" |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
251 done |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
252 # If we matched all the sha1sums, nothing more to do. |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
253 [ -z "$SHALIST" ] && return 0 |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
254 fi |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
255 |
1184
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
256 # Re-extract the package, deleting the old one (if any).. |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
257 |
1184
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
258 echo -n "Extracting '$PACKAGE'" |
989
93830ce35f85
Make extract use unique temporary directories so it's parallelizable.
Rob Landley <rob@landley.net>
parents:
988
diff
changeset
|
259 ( |
990
00704bb2c556
Add FORK=1 support to download.sh, and work around bash's $$ refusing to give an actual unique $PID for subshells by groveling around in /proc to find something usable.
Rob Landley <rob@landley.net>
parents:
989
diff
changeset
|
260 UNIQUE=$(readlink /proc/self) |
00704bb2c556
Add FORK=1 support to download.sh, and work around bash's $$ refusing to give an actual unique $PID for subshells by groveling around in /proc to find something usable.
Rob Landley <rob@landley.net>
parents:
989
diff
changeset
|
261 trap 'rm -rf "$BUILD/temp-'$UNIQUE'"' EXIT |
1184
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
262 rm -rf "$SRCTREE/$PACKAGE" 2>/dev/null |
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
263 mkdir -p "$BUILD"/{temp-$UNIQUE,packages} || dienow |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
264 |
1184
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
265 { tar -xv${DECOMPRESS} -f "$FILENAME" -C "$BUILD/temp-$UNIQUE" || dienow |
989
93830ce35f85
Make extract use unique temporary directories so it's parallelizable.
Rob Landley <rob@landley.net>
parents:
988
diff
changeset
|
266 } | dotprogress |
93830ce35f85
Make extract use unique temporary directories so it's parallelizable.
Rob Landley <rob@landley.net>
parents:
988
diff
changeset
|
267 |
1184
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
268 mv "$BUILD/temp-$UNIQUE/"* "$SRCTREE/$PACKAGE" && |
989
93830ce35f85
Make extract use unique temporary directories so it's parallelizable.
Rob Landley <rob@landley.net>
parents:
988
diff
changeset
|
269 echo "$SHA1TAR" > "$SHA1FILE" |
93830ce35f85
Make extract use unique temporary directories so it's parallelizable.
Rob Landley <rob@landley.net>
parents:
988
diff
changeset
|
270 ) |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
271 |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
272 [ $? -ne 0 ] && dienow |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
273 |
1010
98dbfffd3b0a
Allow existing extracted source directry to be patched if necessary, even if tarball doesn't exist. (This lets a git bisect happen in situ under build/packages.)
Rob Landley <rob@landley.net>
parents:
998
diff
changeset
|
274 patch_package |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
275 } |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
276 |
961
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
277 # Confirm that a file has the appropriate checksum (or exists but SHA1 is blank) |
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
278 # Delete invalid file. |
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
279 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
280 confirm_checksum() |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
281 { |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
282 SUM="$(sha1file "$SRCDIR/$FILENAME" 2>/dev/null)" |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
283 if [ x"$SUM" == x"$SHA1" ] || [ -z "$SHA1" ] && [ -f "$SRCDIR/$FILENAME" ] |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
284 then |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
285 if [ -z "$SHA1" ] |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
286 then |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
287 echo "No SHA1 for $FILENAME ($SUM)" |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
288 else |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
289 echo "Confirmed $FILENAME" |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
290 fi |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
291 |
760
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
292 # Preemptively extract source packages? |
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
293 |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
294 [ -z "$EXTRACT_ALL" ] && return 0 |
1184
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
295 extract_package "$(basename "$FILENAME")" |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
296 return $? |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
297 fi |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
298 |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
299 # If there's a corrupted file, delete it. In theory it would be nice |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
300 # to resume downloads, but wget creates "*.1" files instead. |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
301 |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
302 rm "$SRCDIR/$FILENAME" 2> /dev/null |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
303 |
961
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
304 return 1 |
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
305 } |
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
306 |
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
307 # Attempt to obtain file from a specific location |
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
308 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
309 download_from() |
961
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
310 { |
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
311 # Return success if we already have a valid copy of the file |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
312 |
961
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
313 confirm_checksum && return 0 |
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
314 |
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
315 # If we have another source, try to download file from there. |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
316 |
965 | 317 [ -z "$1" ] && return 1 |
961
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
318 wget -t 2 -T 20 -O "$SRCDIR/$FILENAME" "$1" || |
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
319 (rm "$SRCDIR/$FILENAME"; return 2) |
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
320 touch -c "$SRCDIR/$FILENAME" |
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
321 |
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
322 confirm_checksum |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
323 } |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
324 |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
325 # Confirm a file matches sha1sum, else try to download it from mirror list. |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
326 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
327 download() |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
328 { |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
329 FILENAME=`echo "$URL" | sed 's .*/ '` |
683
3c09987974c8
Allow UNSTABLE=squashfs to download cvs snapshot with 4.0 support (but still not equivalent to genext2fs -D or gen_cpio_init's text file input, for creating /dev/console without root access).
Rob Landley <rob@landley.net>
parents:
676
diff
changeset
|
330 [ -z "$RENAME" ] || FILENAME="$(echo "$FILENAME" | sed -r "$RENAME")" |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
331 ALTFILENAME=alt-"$(noversion "$FILENAME" -0)" |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
332 |
595
161e2bca18f4
Add slightly more debugging/status info to download.
Rob Landley <rob@landley.net>
parents:
582
diff
changeset
|
333 echo -ne "checking $FILENAME\r" |
161e2bca18f4
Add slightly more debugging/status info to download.
Rob Landley <rob@landley.net>
parents:
582
diff
changeset
|
334 |
768
27f007ea2129
Keep unstable tarballs around even when you do a build that doesn't use 'em.
Rob Landley <rob@landley.net>
parents:
767
diff
changeset
|
335 # Update timestamps on both stable and unstable tarballs (if any) |
961
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
336 # so cleanup_oldfiles doesn't delete stable when we're building unstable |
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
337 # or vice versa |
1b971ccf5193
More code cleanups (rename try_checksum to confirm_checksum).
Rob Landley <rob@landley.net>
parents:
959
diff
changeset
|
338 |
768
27f007ea2129
Keep unstable tarballs around even when you do a build that doesn't use 'em.
Rob Landley <rob@landley.net>
parents:
767
diff
changeset
|
339 touch -c "$SRCDIR"/{"$FILENAME","$ALTFILENAME"} 2>/dev/null |
27f007ea2129
Keep unstable tarballs around even when you do a build that doesn't use 'em.
Rob Landley <rob@landley.net>
parents:
767
diff
changeset
|
340 |
959
5a2afff0d00c
Rename try_download() to download_from().
Rob Landley <rob@landley.net>
parents:
944
diff
changeset
|
341 # If unstable version selected, try from listed location, and fall back |
5a2afff0d00c
Rename try_download() to download_from().
Rob Landley <rob@landley.net>
parents:
944
diff
changeset
|
342 # to PREFERRED_MIRROR. Do not try normal mirror locations for unstable. |
5a2afff0d00c
Rename try_download() to download_from().
Rob Landley <rob@landley.net>
parents:
944
diff
changeset
|
343 |
1082
255488af0bbb
Convert unstable() to is_in_list() taking the list to check as the second argument.
Rob Landley <rob@landley.net>
parents:
1081
diff
changeset
|
344 if is_in_list "$(basename "$FILENAME")" $USE_UNSTABLE |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
345 then |
959
5a2afff0d00c
Rename try_download() to download_from().
Rob Landley <rob@landley.net>
parents:
944
diff
changeset
|
346 FILENAME="$ALTFILENAME" |
5a2afff0d00c
Rename try_download() to download_from().
Rob Landley <rob@landley.net>
parents:
944
diff
changeset
|
347 SHA1= |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
348 # Download new one as alt-packagename.tar.ext |
959
5a2afff0d00c
Rename try_download() to download_from().
Rob Landley <rob@landley.net>
parents:
944
diff
changeset
|
349 download_from "$UNSTABLE" || |
5a2afff0d00c
Rename try_download() to download_from().
Rob Landley <rob@landley.net>
parents:
944
diff
changeset
|
350 ([ ! -z "$PREFERRED_MIRROR" ] && |
5a2afff0d00c
Rename try_download() to download_from().
Rob Landley <rob@landley.net>
parents:
944
diff
changeset
|
351 download_from "$PREFERRED_MIRROR/$ALTFILENAME") |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
352 return $? |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
353 fi |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
354 |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
355 # If environment variable specifies a preferred mirror, try that first. |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
356 |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
357 if [ ! -z "$PREFERRED_MIRROR" ] |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
358 then |
959
5a2afff0d00c
Rename try_download() to download_from().
Rob Landley <rob@landley.net>
parents:
944
diff
changeset
|
359 download_from "$PREFERRED_MIRROR/$FILENAME" && return 0 |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
360 fi |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
361 |
959
5a2afff0d00c
Rename try_download() to download_from().
Rob Landley <rob@landley.net>
parents:
944
diff
changeset
|
362 # Try original location, then mirrors. |
582
d66eae57a344
Move mirror list into download.sh.
Rob Landley <rob@landley.net>
parents:
581
diff
changeset
|
363 # Note: the URLs in mirror list cannot contain whitespace. |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
364 |
959
5a2afff0d00c
Rename try_download() to download_from().
Rob Landley <rob@landley.net>
parents:
944
diff
changeset
|
365 download_from "$URL" && return 0 |
582
d66eae57a344
Move mirror list into download.sh.
Rob Landley <rob@landley.net>
parents:
581
diff
changeset
|
366 for i in $MIRROR_LIST |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
367 do |
959
5a2afff0d00c
Rename try_download() to download_from().
Rob Landley <rob@landley.net>
parents:
944
diff
changeset
|
368 download_from "$i/$FILENAME" && return 0 |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
369 done |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
370 |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
371 # Return failure. |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
372 |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
373 echo "Could not download $FILENAME" |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
374 echo -en "\e[0m" |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
375 return 1 |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
376 } |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
377 |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
378 # Clean obsolete files out of the source directory |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
379 |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
380 START_TIME=`date +%s` |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
381 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
382 cleanup_oldfiles() |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
383 { |
1094
fb9423e8bd09
Move wait into cleanup_oldfiles.
Rob Landley <rob@landley.net>
parents:
1090
diff
changeset
|
384 # wait for asynchronous downloads to complete |
fb9423e8bd09
Move wait into cleanup_oldfiles.
Rob Landley <rob@landley.net>
parents:
1090
diff
changeset
|
385 |
fb9423e8bd09
Move wait into cleanup_oldfiles.
Rob Landley <rob@landley.net>
parents:
1090
diff
changeset
|
386 wait |
fb9423e8bd09
Move wait into cleanup_oldfiles.
Rob Landley <rob@landley.net>
parents:
1090
diff
changeset
|
387 |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
388 for i in "${SRCDIR}"/* |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
389 do |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
390 if [ -f "$i" ] && [ "$(date +%s -r "$i")" -lt "${START_TIME}" ] |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
391 then |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
392 echo Removing old file "$i" |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
393 rm -rf "$i" |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
394 fi |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
395 done |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
396 } |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
397 |
1183
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
398 # Create a working directory under TMPDIR, deleting existing contents (if any), |
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
399 # and tracking created directories so cleanup can delete them automatically. |
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
400 |
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
401 blank_workdir() |
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
402 { |
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
403 WORKDIR_LIST="$1 $WORKDIR_LIST" |
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
404 NO_CLEANUP= blank_tempdir "$WORK/$1" |
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
405 cd "$WORK/$1" || dienow |
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
406 } |
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
407 |
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
408 # Extract package $1 |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
409 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
410 setupfor() |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
411 { |
897
850da666acc6
Redo command recording: no longer RECORD_COMMMANDS config entry, now sources/more/record-commands.sh run to set up the wrapper (either before or after host-tools.sh). General cleanup and simplification of code this interacted with, plus clean up bit rot in the reporting.
Rob Landley <rob@landley.net>
parents:
844
diff
changeset
|
412 export WRAPPY_LOGPATH="$BUILD/logs/cmdlines.${ARCH_NAME}.${STAGE_NAME}.setupfor" |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
413 |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
414 # Make sure the source is already extracted and up-to-date. |
1184
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
415 extract_package "$1" || exit 1 |
760
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
416 |
1183
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
417 # Delete old working copy (even in the NO_CLEANUP case) then make a new |
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
418 # tree of links to the package cache. |
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
419 |
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
420 echo "Snapshot '$PACKAGE'..." |
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
421 |
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
422 if [ -z "$REUSE_CURSRC" ] |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
423 then |
1183
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
424 blank_workdir "$PACKAGE" |
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
425 CURSRC="$(pwd)" |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
426 fi |
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
427 |
623
6f7f4d9011af
Add SNAPSHOT_SYMLINK option so extracted source packages can live in a different filesystem than the build directory.
Rob Landley <rob@landley.net>
parents:
595
diff
changeset
|
428 [ -z "$SNAPSHOT_SYMLINK" ] && LINKTYPE="l" || LINKTYPE="s" |
1183
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
429 cp -${LINKTYPE}fR "$SRCTREE/$PACKAGE/"* "$CURSRC" |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
430 |
1158 | 431 if [ $? -ne 0 ] |
432 then | |
433 echo "$PACKAGE not found. Did you run download.sh?" >&2 | |
434 dienow | |
435 fi | |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
436 |
1183
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
437 cd "$CURSRC" || dienow |
897
850da666acc6
Redo command recording: no longer RECORD_COMMMANDS config entry, now sources/more/record-commands.sh run to set up the wrapper (either before or after host-tools.sh). General cleanup and simplification of code this interacted with, plus clean up bit rot in the reporting.
Rob Landley <rob@landley.net>
parents:
844
diff
changeset
|
438 export WRAPPY_LOGPATH="$BUILD/logs/cmdlines.${ARCH_NAME}.${STAGE_NAME}.$1" |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
439 |
815
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
440 # Ugly bug workaround: timestamp granularity in a lot of filesystems is only |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
441 # 1 second, so find -newer misses things installed in the same second, so we |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
442 # make sure it's a new second before we start actually doing anything. |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
443 |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
444 if [ ! -z "$BINARY_PACKAGE_TARBALLS" ] |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
445 then |
1183
61e7e9be8eb4
Add blank_workdir and make setupfor and cleanup use it. This means you can run an entire build.sh with NO_CLEANUP=1 on.
Rob Landley <rob@landley.net>
parents:
1162
diff
changeset
|
446 touch "$CURSRC/FWL-TIMESTAMP" || dienow |
815
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
447 TIME=$(date +%s) |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
448 while true |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
449 do |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
450 [ $TIME != "$(date +%s)" ] && break |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
451 sleep .1 |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
452 done |
8129df56091b
Extended setupfor/cleanup to create binary package tarballs if the configure option BINARY_PACKAGE_TARBALLS is set. These tarballs extract into the current directory and add all the changed files installed by this package build, so you can pick and choose when assembling your own filesystem.
Rob Landley <rob@landley.net>
parents:
798
diff
changeset
|
453 fi |
428
c88e25996320
Split function definitions out from include.sh.
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
454 } |
440
59fe5a276991
Add getversion() and wait4background(), useful to build wrappers.
Rob Landley <rob@landley.net>
parents:
436
diff
changeset
|
455 |
464
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
456 # Figure out what version of a package we last built |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
457 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
458 get_download_version() |
464
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
459 { |
724
3ccce25660f4
Make MANIFEST generation less brittle.
Rob Landley <rob@landley.net>
parents:
720
diff
changeset
|
460 getversion $(sed -n 's@URL=.*/\(.[^ ]*\).*@\1@p' "$TOP/download.sh" | grep ${1}-) |
464
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
461 } |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
462 |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
463 # Identify subversion or mercurial revision, or release number |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
464 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
465 identify_release() |
464
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
466 { |
1082
255488af0bbb
Convert unstable() to is_in_list() taking the list to check as the second argument.
Rob Landley <rob@landley.net>
parents:
1081
diff
changeset
|
467 if is_in_list "$1" $USE_UNSTABLE |
464
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
468 then |
767
dc19e20734ca
Use the git magic tarball comment field to get the version number of unstable git packages for MANIFEST.
Rob Landley <rob@landley.net>
parents:
762
diff
changeset
|
469 for i in "b" "" |
dc19e20734ca
Use the git magic tarball comment field to get the version number of unstable git packages for MANIFEST.
Rob Landley <rob@landley.net>
parents:
762
diff
changeset
|
470 do |
dc19e20734ca
Use the git magic tarball comment field to get the version number of unstable git packages for MANIFEST.
Rob Landley <rob@landley.net>
parents:
762
diff
changeset
|
471 FILE="$(echo "$SRCDIR/alt-$1-"*.tar.$i*)" |
dc19e20734ca
Use the git magic tarball comment field to get the version number of unstable git packages for MANIFEST.
Rob Landley <rob@landley.net>
parents:
762
diff
changeset
|
472 if [ -f "$FILE" ] |
dc19e20734ca
Use the git magic tarball comment field to get the version number of unstable git packages for MANIFEST.
Rob Landley <rob@landley.net>
parents:
762
diff
changeset
|
473 then |
1102
5c9a877f3f32
Suppress error messages from manfiest generation.
Rob Landley <rob@landley.net>
parents:
1099
diff
changeset
|
474 GITID="$(${i}zcat "$FILE" 2> /dev/null | git get-tar-commit-id 2>/dev/null)" |
767
dc19e20734ca
Use the git magic tarball comment field to get the version number of unstable git packages for MANIFEST.
Rob Landley <rob@landley.net>
parents:
762
diff
changeset
|
475 if [ ! -z "$GITID" ] |
dc19e20734ca
Use the git magic tarball comment field to get the version number of unstable git packages for MANIFEST.
Rob Landley <rob@landley.net>
parents:
762
diff
changeset
|
476 then |
dc19e20734ca
Use the git magic tarball comment field to get the version number of unstable git packages for MANIFEST.
Rob Landley <rob@landley.net>
parents:
762
diff
changeset
|
477 # The first dozen chars should form a unique id. |
dc19e20734ca
Use the git magic tarball comment field to get the version number of unstable git packages for MANIFEST.
Rob Landley <rob@landley.net>
parents:
762
diff
changeset
|
478 |
dc19e20734ca
Use the git magic tarball comment field to get the version number of unstable git packages for MANIFEST.
Rob Landley <rob@landley.net>
parents:
762
diff
changeset
|
479 echo $GITID | sed 's/^\(................\).*/git \1/' |
dc19e20734ca
Use the git magic tarball comment field to get the version number of unstable git packages for MANIFEST.
Rob Landley <rob@landley.net>
parents:
762
diff
changeset
|
480 return |
dc19e20734ca
Use the git magic tarball comment field to get the version number of unstable git packages for MANIFEST.
Rob Landley <rob@landley.net>
parents:
762
diff
changeset
|
481 fi |
dc19e20734ca
Use the git magic tarball comment field to get the version number of unstable git packages for MANIFEST.
Rob Landley <rob@landley.net>
parents:
762
diff
changeset
|
482 fi |
dc19e20734ca
Use the git magic tarball comment field to get the version number of unstable git packages for MANIFEST.
Rob Landley <rob@landley.net>
parents:
762
diff
changeset
|
483 done |
dc19e20734ca
Use the git magic tarball comment field to get the version number of unstable git packages for MANIFEST.
Rob Landley <rob@landley.net>
parents:
762
diff
changeset
|
484 |
760
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
485 # Need to extract unstable packages to determine source control version. |
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
486 |
1184
aa8992b35e15
Make extract_package directly callable, and do so where necessary.
Rob Landley <rob@landley.net>
parents:
1183
diff
changeset
|
487 extract_package "$1" >&2 |
817
a6cb42614a1d
Rename build/sources to build/packages to reduce confusion (since sources/packages got moved up to just packages, and this contains the extracted contents of that). And use $SOURCES instead of $TOP/sources in a few places.
Rob Landley <rob@landley.net>
parents:
815
diff
changeset
|
488 DIR="${BUILD}/packages/alt-$1" |
760
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
489 |
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
490 if [ -d "$DIR/.svn" ] |
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
491 then |
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
492 ( cd "$DIR"; echo subversion rev \ |
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
493 $(svn info | sed -n "s/^Revision: //p") |
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
494 ) |
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
495 return 0 |
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
496 elif [ -d "$DIR/.hg" ] |
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
497 then |
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
498 ( echo mercurial rev \ |
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
499 $(hg tip | sed -n 's/changeset: *\([0-9]*\).*/\1/p') |
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
500 ) |
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
501 return 0 |
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
502 fi |
464
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
503 fi |
760
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
504 |
2537f30c2397
Improve version detection for MANIFEST file. Still doesn't detect version for git archive output because git hasn't got any equivalent of mercurial's .hg_archive.txt file.
Rob Landley <rob@landley.net>
parents:
744
diff
changeset
|
505 echo release version $(get_download_version $1) |
464
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
506 } |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
507 |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
508 # Create a README identifying package versions in current build. |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
509 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
510 do_readme() |
464
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
511 { |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
512 # Grab FWL version number |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
513 |
662
1fa9eb882e3b
Allow FWL revision number to be overridden in MANIFEST (for releases).
Rob Landley <rob@landley.net>
parents:
647
diff
changeset
|
514 [ -z "$FWL_VERS" ] && |
787
23bff7aa79eb
Teach buildall.sh to use new build.sh infrastructure, and replace doforklog with orthogonal maybe_fork and maybe_quiet functions.
Rob Landley <rob@landley.net>
parents:
783
diff
changeset
|
515 FWL_VERS="mercurial rev $(cd "$TOP"; hg tip 2>/dev/null | sed -n 's/changeset: *\([0-9]*\).*/\1/p')" |
662
1fa9eb882e3b
Allow FWL revision number to be overridden in MANIFEST (for releases).
Rob Landley <rob@landley.net>
parents:
647
diff
changeset
|
516 |
464
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
517 cat << EOF |
662
1fa9eb882e3b
Allow FWL revision number to be overridden in MANIFEST (for releases).
Rob Landley <rob@landley.net>
parents:
647
diff
changeset
|
518 Built on $(date +%F) from: |
464
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
519 |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
520 Build script: |
662
1fa9eb882e3b
Allow FWL revision number to be overridden in MANIFEST (for releases).
Rob Landley <rob@landley.net>
parents:
647
diff
changeset
|
521 Firmware Linux (http://landley.net/code/firmware) $FWL_VERS |
464
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
522 |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
523 Base packages: |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
524 uClibc (http://uclibc.org) $(identify_release uClibc) |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
525 BusyBox (http://busybox.net) $(identify_release busybox) |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
526 Linux (http://kernel.org/pub/linux/kernel) $(identify_release linux) |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
527 |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
528 Toolchain packages: |
915
a541c5a96ff3
Don't actually replace cross-compiler with cross-static, when you build both use $PATH to select which one to use.
Rob Landley <rob@landley.net>
parents:
904
diff
changeset
|
529 Binutils (http://www.gnu.org/software/binutils/) $(identify_release binutils) |
464
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
530 GCC (http://gcc.gnu.org) $(identify_release gcc-core) |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
531 gmake (http://www.gnu.org/software/make) $(identify_release make) |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
532 bash (ftp://ftp.gnu.org/gnu/bash) $(identify_release bash) |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
533 |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
534 Optional packages: |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
535 Toybox (http://landley.net/code/toybox) $(identify_release toybox) |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
536 distcc (http://distcc.samba.org) $(identify_release distcc) |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
537 uClibc++ (http://cxx.uclibc.org) $(identify_release uClibc++) |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
538 EOF |
99e039a4b8bc
Move README generation to functions.sh, clean up build-all-target.sh option parsing.
Rob Landley <rob@landley.net>
parents:
461
diff
changeset
|
539 } |
685
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
540 |
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
541 # When building with a base architecture, symlink to the base arch name. |
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
542 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
543 link_arch_name() |
685
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
544 { |
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
545 [ "$ARCH" == "$ARCH_NAME" ] && return 0 |
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
546 |
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
547 rm -rf "$BUILD/$2" && |
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
548 ln -s "$1" "$BUILD/$2" || dienow |
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
549 } |
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
550 |
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
551 # Check if this target has a base architecture that's already been built. |
915
a541c5a96ff3
Don't actually replace cross-compiler with cross-static, when you build both use $PATH to select which one to use.
Rob Landley <rob@landley.net>
parents:
904
diff
changeset
|
552 # If so, link to it and exit now. |
685
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
553 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
554 check_for_base_arch() |
685
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
555 { |
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
556 # If we're building something with a base architecture, symlink to actual |
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
557 # target. |
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
558 |
898
db0f536aee7c
Fix hw-target builds so prerequisites build if they don't already exist.
Rob Landley <rob@landley.net>
parents:
897
diff
changeset
|
559 if [ "$ARCH" != "$ARCH_NAME" ] |
685
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
560 then |
783
db06a8c1bfed
Lots of changes to move buildall.sh functionality into build.sh.
Rob Landley <rob@landley.net>
parents:
778
diff
changeset
|
561 link_arch_name $STAGE_NAME-{"$ARCH","$ARCH_NAME"} |
db06a8c1bfed
Lots of changes to move buildall.sh functionality into build.sh.
Rob Landley <rob@landley.net>
parents:
778
diff
changeset
|
562 [ -e $STAGE_NAME-"$ARCH".tar.bz2 ] && |
db06a8c1bfed
Lots of changes to move buildall.sh functionality into build.sh.
Rob Landley <rob@landley.net>
parents:
778
diff
changeset
|
563 link_arch_name $STAGE_NAME-{"$ARCH","$ARCH_NAME"}.tar.bz2 |
685
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
564 |
898
db0f536aee7c
Fix hw-target builds so prerequisites build if they don't already exist.
Rob Landley <rob@landley.net>
parents:
897
diff
changeset
|
565 if [ -e "$BUILD/$STAGE_NAME-$ARCH" ] |
db0f536aee7c
Fix hw-target builds so prerequisites build if they don't already exist.
Rob Landley <rob@landley.net>
parents:
897
diff
changeset
|
566 then |
db0f536aee7c
Fix hw-target builds so prerequisites build if they don't already exist.
Rob Landley <rob@landley.net>
parents:
897
diff
changeset
|
567 echo "=== Using existing ${STAGE_NAME}-$ARCH" |
db0f536aee7c
Fix hw-target builds so prerequisites build if they don't already exist.
Rob Landley <rob@landley.net>
parents:
897
diff
changeset
|
568 |
db0f536aee7c
Fix hw-target builds so prerequisites build if they don't already exist.
Rob Landley <rob@landley.net>
parents:
897
diff
changeset
|
569 return 1 |
db0f536aee7c
Fix hw-target builds so prerequisites build if they don't already exist.
Rob Landley <rob@landley.net>
parents:
897
diff
changeset
|
570 else |
db0f536aee7c
Fix hw-target builds so prerequisites build if they don't already exist.
Rob Landley <rob@landley.net>
parents:
897
diff
changeset
|
571 mkdir -p "$BUILD/$STAGE_NAME-$ARCH" || dienow |
db0f536aee7c
Fix hw-target builds so prerequisites build if they don't already exist.
Rob Landley <rob@landley.net>
parents:
897
diff
changeset
|
572 fi |
685
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
573 fi |
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
574 } |
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
575 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
576 create_stage_tarball() |
685
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
577 { |
1033
87b3a69ca71c
Delete empty build/temp-* directories when we're done with them.
Rob Landley <rob@landley.net>
parents:
1012
diff
changeset
|
578 # Remove the temporary directory, if empty |
87b3a69ca71c
Delete empty build/temp-* directories when we're done with them.
Rob Landley <rob@landley.net>
parents:
1012
diff
changeset
|
579 |
87b3a69ca71c
Delete empty build/temp-* directories when we're done with them.
Rob Landley <rob@landley.net>
parents:
1012
diff
changeset
|
580 rmdir "$WORK" 2>/dev/null |
87b3a69ca71c
Delete empty build/temp-* directories when we're done with them.
Rob Landley <rob@landley.net>
parents:
1012
diff
changeset
|
581 |
685
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
582 # Handle linking to base architecture if we just built a derivative target. |
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
583 |
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
584 cd "$BUILD" || dienow |
783
db06a8c1bfed
Lots of changes to move buildall.sh functionality into build.sh.
Rob Landley <rob@landley.net>
parents:
778
diff
changeset
|
585 link_arch_name $STAGE_NAME-{$ARCH,$ARCH_NAME} |
685
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
586 |
988
30e4bab11f9e
Rename SKIP_STAGE_TARBALLS to NO_STAGE_TARBALLS (for consistency), and make system-image.sh use it instead of doing it by hand.
Rob Landley <rob@landley.net>
parents:
984
diff
changeset
|
587 if [ -z "$NO_STAGE_TARBALLS" ] |
685
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
588 then |
783
db06a8c1bfed
Lots of changes to move buildall.sh functionality into build.sh.
Rob Landley <rob@landley.net>
parents:
778
diff
changeset
|
589 echo -n creating "$STAGE_NAME-${ARCH}".tar.bz2 |
685
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
590 |
783
db06a8c1bfed
Lots of changes to move buildall.sh functionality into build.sh.
Rob Landley <rob@landley.net>
parents:
778
diff
changeset
|
591 { tar cjvf "$STAGE_NAME-${ARCH}".tar.bz2 "$STAGE_NAME-${ARCH}" || dienow |
685
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
592 } | dotprogress |
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
593 |
783
db06a8c1bfed
Lots of changes to move buildall.sh functionality into build.sh.
Rob Landley <rob@landley.net>
parents:
778
diff
changeset
|
594 link_arch_name $STAGE_NAME-{$ARCH,$ARCH_NAME}.tar.bz2 |
685
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
595 fi |
90ab1a1f4db5
Teach build not to rebuild base architecture toolchains. Factor out some common code while there.
Rob Landley <rob@landley.net>
parents:
683
diff
changeset
|
596 } |
776
37c083cca810
Move doforklog to sources/functions.sh.
Rob Landley <rob@landley.net>
parents:
773
diff
changeset
|
597 |
796
5f793a1ca658
Teach host-tools.sh to create multiple symlinks in fallback directories for ccache and distcc.
Rob Landley <rob@landley.net>
parents:
787
diff
changeset
|
598 # Create colon-separated path for $HOSTTOOLS and all fallback directories |
5f793a1ca658
Teach host-tools.sh to create multiple symlinks in fallback directories for ccache and distcc.
Rob Landley <rob@landley.net>
parents:
787
diff
changeset
|
599 # (Fallback directories are to support ccache and distcc on the host.) |
5f793a1ca658
Teach host-tools.sh to create multiple symlinks in fallback directories for ccache and distcc.
Rob Landley <rob@landley.net>
parents:
787
diff
changeset
|
600 |
1081
e992bc65b048
Remove unnecessary "function" label from shell functions.
Rob Landley <rob@landley.net>
parents:
1067
diff
changeset
|
601 hosttools_path() |
796
5f793a1ca658
Teach host-tools.sh to create multiple symlinks in fallback directories for ccache and distcc.
Rob Landley <rob@landley.net>
parents:
787
diff
changeset
|
602 { |
5f793a1ca658
Teach host-tools.sh to create multiple symlinks in fallback directories for ccache and distcc.
Rob Landley <rob@landley.net>
parents:
787
diff
changeset
|
603 local X |
5f793a1ca658
Teach host-tools.sh to create multiple symlinks in fallback directories for ccache and distcc.
Rob Landley <rob@landley.net>
parents:
787
diff
changeset
|
604 |
5f793a1ca658
Teach host-tools.sh to create multiple symlinks in fallback directories for ccache and distcc.
Rob Landley <rob@landley.net>
parents:
787
diff
changeset
|
605 echo -n "$HOSTTOOLS" |
5f793a1ca658
Teach host-tools.sh to create multiple symlinks in fallback directories for ccache and distcc.
Rob Landley <rob@landley.net>
parents:
787
diff
changeset
|
606 X=1 |
5f793a1ca658
Teach host-tools.sh to create multiple symlinks in fallback directories for ccache and distcc.
Rob Landley <rob@landley.net>
parents:
787
diff
changeset
|
607 while [ -e "$HOSTTOOLS/fallback-$X" ] |
5f793a1ca658
Teach host-tools.sh to create multiple symlinks in fallback directories for ccache and distcc.
Rob Landley <rob@landley.net>
parents:
787
diff
changeset
|
608 do |
5f793a1ca658
Teach host-tools.sh to create multiple symlinks in fallback directories for ccache and distcc.
Rob Landley <rob@landley.net>
parents:
787
diff
changeset
|
609 echo -n ":$HOSTTOOLS/fallback-$X" |
5f793a1ca658
Teach host-tools.sh to create multiple symlinks in fallback directories for ccache and distcc.
Rob Landley <rob@landley.net>
parents:
787
diff
changeset
|
610 X=$[$X+1] |
5f793a1ca658
Teach host-tools.sh to create multiple symlinks in fallback directories for ccache and distcc.
Rob Landley <rob@landley.net>
parents:
787
diff
changeset
|
611 done |
5f793a1ca658
Teach host-tools.sh to create multiple symlinks in fallback directories for ccache and distcc.
Rob Landley <rob@landley.net>
parents:
787
diff
changeset
|
612 } |