Hex Artifact Content

Artifact 9a72a1a5ae332a777a3092f8cc09d85219198f80:


0000: 23 21 20 2f 62 69 6e 2f 62 61 73 68 0a 0a 4f 55  #! /bin/bash..OU
0010: 54 46 49 4c 45 3d 22 24 31 22 0a 50 4b 47 3d 22  TFILE="$1".PKG="
0020: 24 32 22 0a 50 4b 47 56 45 52 3d 22 24 33 22 0a  $2".PKGVER="$3".
0030: 53 52 43 55 52 4c 3d 22 24 34 22 0a 50 4c 41 54  SRCURL="$4".PLAT
0040: 46 4f 52 4d 3d 22 24 35 22 0a 52 45 51 53 3d 22  FORM="$5".REQS="
0050: 24 36 22 0a 44 45 53 43 3d 22 24 37 22 0a 4c 49  $6".DESC="$7".LI
0060: 43 45 4e 53 45 3d 22 24 38 22 0a 54 4d 50 46 49  CENSE="$8".TMPFI
0070: 4c 45 3d 22 24 7b 54 4d 50 44 49 52 3a 2d 2f 74  LE="${TMPDIR:-/t
0080: 6d 70 7d 2f 72 65 71 66 69 6c 65 2d 24 24 24 7b  mp}/reqfile-$$${
0090: 52 41 4e 44 4f 4d 7d 24 7b 52 41 4e 44 4f 4d 7d  RANDOM}${RANDOM}
00a0: 24 7b 52 41 4e 44 4f 4d 7d 22 0a 65 78 70 6f 72  ${RANDOM}".expor
00b0: 74 20 4f 55 54 46 49 4c 45 20 50 4b 47 20 50 4b  t OUTFILE PKG PK
00c0: 47 56 45 52 20 53 52 43 55 52 4c 20 50 4c 41 54  GVER SRCURL PLAT
00d0: 46 4f 52 4d 20 52 45 51 53 20 44 45 53 43 20 54  FORM REQS DESC T
00e0: 4d 50 46 49 4c 45 0a 0a 56 41 4c 49 44 53 59 4e  MPFILE..VALIDSYN
00f0: 54 41 58 3d 31 0a 69 66 20 5b 20 2d 7a 20 22 24  TAX=1.if [ -z "$
0100: 7b 4f 55 54 46 49 4c 45 7d 22 20 5d 3b 20 74 68  {OUTFILE}" ]; th
0110: 65 6e 0a 09 65 63 68 6f 20 27 45 52 52 4f 52 3a  en..echo 'ERROR:
0120: 20 4f 75 74 70 75 74 20 6e 6f 74 20 73 70 65 63   Output not spec
0130: 69 66 69 65 64 27 20 3e 26 32 0a 09 56 41 4c 49  ified' >&2..VALI
0140: 44 53 59 4e 54 41 58 3d 30 0a 66 69 0a 69 66 20  DSYNTAX=0.fi.if 
0150: 5b 20 2d 7a 20 22 24 7b 50 4b 47 7d 22 20 5d 3b  [ -z "${PKG}" ];
0160: 20 74 68 65 6e 0a 09 65 63 68 6f 20 27 45 52 52   then..echo 'ERR
0170: 4f 52 3a 20 50 61 63 6b 61 67 65 20 6e 6f 74 20  OR: Package not 
0180: 73 70 65 63 69 66 69 65 64 27 20 3e 26 32 0a 09  specified' >&2..
0190: 56 41 4c 49 44 53 59 4e 54 41 58 3d 30 0a 66 69  VALIDSYNTAX=0.fi
01a0: 0a 69 66 20 5b 20 2d 7a 20 22 24 7b 50 4b 47 56  .if [ -z "${PKGV
01b0: 45 52 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 65 63  ER}" ]; then..ec
01c0: 68 6f 20 27 45 52 52 4f 52 3a 20 50 61 63 6b 61  ho 'ERROR: Packa
01d0: 67 65 20 76 65 72 73 69 6f 6e 20 6e 6f 74 20 73  ge version not s
01e0: 70 65 63 69 66 69 65 64 27 20 3e 26 32 0a 09 56  pecified' >&2..V
01f0: 41 4c 49 44 53 59 4e 54 41 58 3d 30 0a 66 69 0a  ALIDSYNTAX=0.fi.
0200: 69 66 20 5b 20 2d 7a 20 22 24 7b 50 4c 41 54 46  if [ -z "${PLATF
0210: 4f 52 4d 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 65  ORM}" ]; then..e
0220: 63 68 6f 20 27 45 52 52 4f 52 3a 20 50 6c 61 74  cho 'ERROR: Plat
0230: 66 6f 72 6d 20 6e 6f 74 20 73 70 65 63 69 66 69  form not specifi
0240: 65 64 27 20 3e 26 32 0a 09 56 41 4c 49 44 53 59  ed' >&2..VALIDSY
0250: 4e 54 41 58 3d 30 0a 66 69 0a 69 66 20 5b 20 2d  NTAX=0.fi.if [ -
0260: 7a 20 22 24 7b 44 45 53 43 7d 22 20 5d 3b 20 74  z "${DESC}" ]; t
0270: 68 65 6e 0a 09 65 63 68 6f 20 27 45 52 52 4f 52  hen..echo 'ERROR
0280: 3a 20 44 65 73 63 72 69 70 74 69 6f 6e 20 6e 6f  : Description no
0290: 74 20 73 70 65 63 69 66 69 65 64 27 20 3e 26 32  t specified' >&2
02a0: 0a 09 56 41 4c 49 44 53 59 4e 54 41 58 3d 30 0a  ..VALIDSYNTAX=0.
02b0: 66 69 0a 69 66 20 5b 20 22 24 7b 56 41 4c 49 44  fi.if [ "${VALID
02c0: 53 59 4e 54 41 58 7d 22 20 3d 20 22 30 22 20 5d  SYNTAX}" = "0" ]
02d0: 3b 20 74 68 65 6e 0a 09 65 63 68 6f 20 27 55 73  ; then..echo 'Us
02e0: 61 67 65 3a 20 63 72 65 61 74 65 5f 74 65 61 70  age: create_teap
02f0: 6f 74 20 3c 6f 75 74 70 75 74 3e 20 3c 70 6b 67  ot <output> <pkg
0300: 3e 20 3c 70 6b 67 76 65 72 3e 20 3c 73 72 63 75  > <pkgver> <srcu
0310: 72 6c 3e 20 3c 70 6c 61 74 66 6f 72 6d 3e 20 3c  rl> <platform> <
0320: 72 65 71 73 3e 20 3c 64 65 73 63 3e 27 20 3e 26  reqs> <desc>' >&
0330: 32 0a 09 65 78 69 74 20 31 0a 66 69 0a 0a 4f 55  2..exit 1.fi..OU
0340: 54 53 48 4f 52 54 3d 24 28 65 63 68 6f 20 22 24  TSHORT=$(echo "$
0350: 7b 4f 55 54 46 49 4c 45 7d 22 20 7c 20 73 65 64  {OUTFILE}" | sed
0360: 20 27 73 40 5e 2e 2a 2f 40 40 27 29 0a 54 45 58   's@^.*/@@').TEX
0370: 54 46 49 4c 45 3d 30 0a 69 66 20 5b 20 22 24 7b  TFILE=0.if [ "${
0380: 4f 55 54 53 48 4f 52 54 7d 22 20 3d 20 22 74 65  OUTSHORT}" = "te
0390: 61 70 6f 74 2e 74 78 74 22 20 5d 3b 20 74 68 65  apot.txt" ]; the
03a0: 6e 0a 09 54 45 58 54 46 49 4c 45 3d 31 0a 66 69  n..TEXTFILE=1.fi
03b0: 0a 69 66 20 5b 20 21 20 2d 65 20 22 24 7b 4f 55  .if [ ! -e "${OU
03c0: 54 46 49 4c 45 7d 22 20 5d 3b 20 74 68 65 6e 0a  TFILE}" ]; then.
03d0: 09 54 45 58 54 46 49 4c 45 3d 31 0a 66 69 0a 0a  .TEXTFILE=1.fi..
03e0: 72 6d 20 2d 66 20 22 24 7b 54 4d 50 46 49 4c 45  rm -f "${TMPFILE
03f0: 7d 22 0a 63 61 74 20 3c 3c 20 5f 5f 45 4f 46 5f  }".cat << __EOF_
0400: 5f 20 3e 20 22 24 7b 54 4d 50 46 49 4c 45 7d 22  _ > "${TMPFILE}"
0410: 0a 50 61 63 6b 61 67 65 20 24 7b 50 4b 47 7d 20  .Package ${PKG} 
0420: 24 7b 50 4b 47 56 45 52 7d 0a 4d 65 74 61 20 70  ${PKGVER}.Meta p
0430: 6c 61 74 66 6f 72 6d 20 20 20 20 20 20 20 20 20  latform         
0440: 20 20 24 7b 50 4c 41 54 46 4f 52 4d 7d 0a 4d 65    ${PLATFORM}.Me
0450: 74 61 20 72 73 6b 3a 3a 62 75 69 6c 64 3a 3a 64  ta rsk::build::d
0460: 61 74 65 20 20 20 24 28 64 61 74 65 20 2b 25 59  ate   $(date +%Y
0470: 2d 25 6d 2d 25 64 29 0a 4d 65 74 61 20 64 65 73  -%m-%d).Meta des
0480: 63 72 69 70 74 69 6f 6e 20 20 20 20 20 20 20 20  cription        
0490: 24 7b 44 45 53 43 7d 0a 5f 5f 45 4f 46 5f 5f 0a  ${DESC}.__EOF__.
04a0: 69 66 20 5b 20 2d 6e 20 22 24 7b 4c 49 43 45 4e  if [ -n "${LICEN
04b0: 53 45 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 65 63  SE}" ]; then..ec
04c0: 68 6f 20 22 4d 65 74 61 20 6c 69 63 65 6e 73 65  ho "Meta license
04d0: 20 20 20 20 20 20 20 20 20 20 20 20 24 7b 4c 49              ${LI
04e0: 43 45 4e 53 45 7d 22 20 3e 3e 20 22 24 7b 54 4d  CENSE}" >> "${TM
04f0: 50 46 49 4c 45 7d 22 0a 66 69 0a 65 63 68 6f 20  PFILE}".fi.echo 
0500: 22 24 7b 52 45 51 53 7d 22 20 7c 20 74 72 20 27  "${REQS}" | tr '
0510: 2c 27 20 22 5c 6e 22 20 7c 20 77 68 69 6c 65 20  ,' "\n" | while 
0520: 72 65 61 64 20 72 65 71 3b 20 64 6f 0a 09 72 65  read req; do..re
0530: 71 3d 22 24 28 65 63 68 6f 20 22 24 7b 72 65 71  q="$(echo "${req
0540: 7d 22 20 7c 20 73 65 64 20 27 73 40 5e 20 2a 40  }" | sed 's@^ *@
0550: 40 3b 73 40 20 2a 24 40 40 27 29 22 0a 09 69 66  @;s@ *$@@')"..if
0560: 20 5b 20 2d 7a 20 22 24 7b 72 65 71 7d 22 20 5d   [ -z "${req}" ]
0570: 3b 20 74 68 65 6e 0a 09 09 63 6f 6e 74 69 6e 75  ; then...continu
0580: 65 0a 09 66 69 0a 0a 09 69 66 20 65 63 68 6f 20  e..fi...if echo 
0590: 22 24 7b 72 65 71 7d 22 20 7c 20 67 72 65 70 20  "${req}" | grep 
05a0: 27 20 27 20 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20  ' ' >/dev/null; 
05b0: 74 68 65 6e 0a 09 09 72 65 71 3d 22 7b 24 7b 72  then...req="{${r
05c0: 65 71 7d 7d 22 0a 09 66 69 0a 0a 09 65 63 68 6f  eq}}"..fi...echo
05d0: 20 22 4d 65 74 61 20 72 65 71 75 69 72 65 20 20   "Meta require  
05e0: 20 20 20 20 20 20 20 20 20 20 24 7b 72 65 71 7d            ${req}
05f0: 22 0a 64 6f 6e 65 20 7c 20 73 6f 72 74 20 2d 75  ".done | sort -u
0600: 20 3e 3e 20 22 24 7b 54 4d 50 46 49 4c 45 7d 22   >> "${TMPFILE}"
0610: 0a 0a 69 66 20 5b 20 22 24 7b 54 45 58 54 46 49  ..if [ "${TEXTFI
0620: 4c 45 7d 22 20 3d 20 22 31 22 20 5d 3b 20 74 68  LE}" = "1" ]; th
0630: 65 6e 0a 09 63 61 74 20 22 24 7b 54 4d 50 46 49  en..cat "${TMPFI
0640: 4c 45 7d 22 20 3e 20 22 24 7b 4f 55 54 46 49 4c  LE}" > "${OUTFIL
0650: 45 7d 22 0a 65 6c 73 65 0a 09 28 0a 09 09 68 65  E}".else..(...he
0660: 61 64 20 2d 31 20 22 24 7b 4f 55 54 46 49 4c 45  ad -1 "${OUTFILE
0670: 7d 22 0a 09 09 65 63 68 6f 20 27 27 0a 09 09 65  }"...echo ''...e
0680: 63 68 6f 20 27 23 20 40 40 20 4d 65 74 61 20 42  cho '# @@ Meta B
0690: 65 67 69 6e 27 0a 09 09 73 65 64 20 27 73 40 5e  egin'...sed 's@^
06a0: 40 23 20 40 27 20 22 24 7b 54 4d 50 46 49 4c 45  @# @' "${TMPFILE
06b0: 7d 22 0a 09 09 65 63 68 6f 20 27 23 20 40 40 20  }"...echo '# @@ 
06c0: 4d 65 74 61 20 45 6e 64 27 0a 09 09 65 63 68 6f  Meta End'...echo
06d0: 20 27 27 0a 09 09 74 61 69 6c 20 2b 32 20 22 24   ''...tail +2 "$
06e0: 7b 4f 55 54 46 49 4c 45 7d 22 0a 09 29 20 3e 20  {OUTFILE}"..) > 
06f0: 22 24 7b 4f 55 54 46 49 4c 45 7d 2e 6e 65 77 22  "${OUTFILE}.new"
0700: 0a 09 63 61 74 20 22 24 7b 4f 55 54 46 49 4c 45  ..cat "${OUTFILE
0710: 7d 2e 6e 65 77 22 20 3e 20 22 24 7b 4f 55 54 46  }.new" > "${OUTF
0720: 49 4c 45 7d 22 0a 09 72 6d 20 2d 66 20 22 24 7b  ILE}"..rm -f "${
0730: 4f 55 54 46 49 4c 45 7d 2e 6e 65 77 22 0a 66 69  OUTFILE}.new".fi
0740: 0a 0a 72 6d 20 2d 66 20 22 24 7b 54 4d 50 46 49  ..rm -f "${TMPFI
0750: 4c 45 7d 22 0a                                   LE}".