Hex Artifact Content

Artifact f1d1c682804b6c71e7b0ba0d682228b21bd1fe4d:


0000: 23 21 20 2f 62 69 6e 2f 62 61 73 68 0a 0a 69 66  #! /bin/bash..if
0010: 20 5b 20 21 20 2d 78 20 22 2e 2f 70 6c 61 74 66   [ ! -x "./platf
0020: 6f 72 6d 22 20 5d 3b 20 74 68 65 6e 0a 09 65 63  orm" ]; then..ec
0030: 68 6f 20 27 45 52 52 4f 52 3a 20 50 6c 61 74 66  ho 'ERROR: Platf
0040: 6f 72 6d 20 73 63 72 69 70 74 20 6e 6f 74 20 66  orm script not f
0050: 6f 75 6e 64 3a 20 2e 2f 70 6c 61 74 66 6f 72 6d  ound: ./platform
0060: 27 20 3e 26 32 0a 0a 09 65 78 69 74 20 31 0a 66  ' >&2...exit 1.f
0070: 69 0a 0a 43 4c 45 41 4e 4f 4e 4c 59 3d 30 0a 44  i..CLEANONLY=0.D
0080: 49 53 54 43 4c 45 41 4e 3d 30 0a 69 66 20 5b 20  ISTCLEAN=0.if [ 
0090: 22 24 31 22 20 3d 20 22 63 6c 65 61 6e 22 20 5d  "$1" = "clean" ]
00a0: 3b 20 74 68 65 6e 0a 09 43 4c 45 41 4e 4f 4e 4c  ; then..CLEANONL
00b0: 59 3d 31 0a 66 69 0a 69 66 20 5b 20 22 24 31 22  Y=1.fi.if [ "$1"
00c0: 20 3d 20 22 64 69 73 74 63 6c 65 61 6e 22 20 5d   = "distclean" ]
00d0: 3b 20 74 68 65 6e 0a 09 43 4c 45 41 4e 4f 4e 4c  ; then..CLEANONL
00e0: 59 3d 31 0a 09 44 49 53 54 43 4c 45 41 4e 3d 31  Y=1..DISTCLEAN=1
00f0: 0a 66 69 0a 65 78 70 6f 72 74 20 43 4c 45 41 4e  .fi.export CLEAN
0100: 4f 4e 4c 59 20 44 49 53 54 43 4c 45 41 4e 0a 0a  ONLY DISTCLEAN..
0110: 23 20 42 75 69 6c 64 20 61 6c 6c 20 61 70 70 72  # Build all appr
0120: 6f 70 72 69 61 74 65 20 64 69 72 65 63 74 6f 72  opriate director
0130: 69 65 73 0a 66 61 69 6c 65 64 64 69 72 73 3d 22  ies.faileddirs="
0140: 22 0a 66 6f 72 20 64 69 72 20 69 6e 20 2a 2f 3b  ".for dir in */;
0150: 20 64 6f 0a 09 65 78 70 6f 72 74 20 64 69 72 0a   do..export dir.
0160: 0a 09 69 66 20 5b 20 21 20 2d 66 20 22 24 7b 64  ..if [ ! -f "${d
0170: 69 72 7d 2f 62 75 69 6c 64 2e 73 68 22 20 5d 3b  ir}/build.sh" ];
0180: 20 74 68 65 6e 0a 09 09 63 6f 6e 74 69 6e 75 65   then...continue
0190: 0a 09 66 69 0a 0a 09 66 61 69 6c 65 64 3d 30 0a  ..fi...failed=0.
01a0: 09 28 0a 09 09 63 64 20 22 24 7b 64 69 72 7d 22  .(...cd "${dir}"
01b0: 20 7c 7c 20 65 78 69 74 20 31 0a 0a 09 09 72 6d   || exit 1....rm
01c0: 20 2d 66 20 22 62 75 69 6c 64 2e 6c 6f 67 22 0a   -f "build.log".
01d0: 09 09 72 6d 20 2d 72 66 20 22 62 75 69 6c 64 22  ..rm -rf "build"
01e0: 20 22 6f 75 74 22 0a 09 09 69 66 20 5b 20 22 24   "out"...if [ "$
01f0: 7b 44 49 53 54 43 4c 45 41 4e 7d 22 20 3d 20 22  {DISTCLEAN}" = "
0200: 31 22 20 5d 3b 20 74 68 65 6e 0a 09 09 09 72 6d  1" ]; then....rm
0210: 20 2d 72 66 20 22 73 72 63 22 0a 09 09 66 69 0a   -rf "src"...fi.
0220: 09 09 69 66 20 5b 20 22 24 7b 43 4c 45 41 4e 4f  ..if [ "${CLEANO
0230: 4e 4c 59 7d 22 20 3d 20 22 31 22 20 5d 3b 20 74  NLY}" = "1" ]; t
0240: 68 65 6e 0a 09 09 09 65 78 69 74 20 30 0a 09 09  hen....exit 0...
0250: 66 69 0a 0a 09 09 2e 2f 62 75 69 6c 64 2e 73 68  fi...../build.sh
0260: 20 32 3e 26 31 20 7c 20 74 65 65 20 22 62 75 69   2>&1 | tee "bui
0270: 6c 64 2e 6c 6f 67 22 20 7c 7c 20 65 78 69 74 20  ld.log" || exit 
0280: 31 0a 09 29 20 7c 7c 20 66 61 69 6c 65 64 3d 31  1..) || failed=1
0290: 0a 0a 09 69 66 20 5b 20 22 24 7b 66 61 69 6c 65  ...if [ "${faile
02a0: 64 7d 22 20 3d 20 22 31 22 20 5d 3b 20 74 68 65  d}" = "1" ]; the
02b0: 6e 0a 09 09 72 6d 20 2d 72 66 20 22 24 7b 64 69  n...rm -rf "${di
02c0: 72 7d 2f 6f 75 74 22 0a 09 09 66 61 69 6c 65 64  r}/out"...failed
02d0: 64 69 72 73 3d 22 24 7b 66 61 69 6c 65 64 64 69  dirs="${faileddi
02e0: 72 73 7d 20 24 7b 64 69 72 7d 22 0a 09 66 69 0a  rs} ${dir}"..fi.
02f0: 64 6f 6e 65 0a 0a 23 20 4c 65 74 20 74 68 65 20  done..# Let the 
0300: 75 73 65 72 20 6b 6e 6f 77 20 77 68 61 74 20 66  user know what f
0310: 61 69 6c 65 64 20 74 6f 20 62 75 69 6c 64 0a 69  ailed to build.i
0320: 66 20 5b 20 2d 6e 20 22 24 7b 66 61 69 6c 65 64  f [ -n "${failed
0330: 64 69 72 73 7d 22 20 5d 3b 20 74 68 65 6e 0a 09  dirs}" ]; then..
0340: 65 63 68 6f 20 22 54 68 65 20 66 6f 6c 6c 6f 77  echo "The follow
0350: 69 6e 67 20 66 61 69 6c 65 64 20 74 6f 20 62 75  ing failed to bu
0360: 69 6c 64 3a 24 7b 66 61 69 6c 64 64 69 72 73 7d  ild:${failddirs}
0370: 22 0a 66 69 0a 0a 23 20 43 72 65 61 74 65 20 74  ".fi..# Create t
0380: 61 72 66 69 6c 65 20 6f 66 20 62 75 69 6c 74 20  arfile of built 
0390: 70 61 63 6b 61 67 65 73 0a 50 4c 41 54 46 4f 52  packages.PLATFOR
03a0: 4d 3d 22 24 28 2e 2f 70 6c 61 74 66 6f 72 6d 29  M="$(./platform)
03b0: 22 0a 44 41 54 45 43 4f 44 45 3d 22 24 28 64 61  ".DATECODE="$(da
03c0: 74 65 20 2b 25 59 25 6d 25 64 25 48 25 4d 29 22  te +%Y%m%d%H%M)"
03d0: 0a 4f 55 54 46 49 4c 45 42 41 53 45 3d 22 74 63  .OUTFILEBASE="tc
03e0: 6c 70 6b 67 73 2d 24 7b 50 4c 41 54 46 4f 52 4d  lpkgs-${PLATFORM
03f0: 7d 2d 24 7b 44 41 54 45 43 4f 44 45 7d 22 0a 74  }-${DATECODE}".t
0400: 61 72 20 2d 63 66 20 2d 20 2a 2f 6f 75 74 20 2a  ar -cf - */out *
0410: 2f 62 75 69 6c 64 2e 6c 6f 67 20 7c 20 62 7a 69  /build.log | bzi
0420: 70 32 20 2d 39 63 20 3e 20 22 24 7b 4f 55 54 46  p2 -9c > "${OUTF
0430: 49 4c 45 42 41 53 45 7d 2e 74 61 72 2e 62 7a 32  ILEBASE}.tar.bz2
0440: 22 0a 0a 65 78 69 74 20 30 0a                    "..exit 0.