Hex Artifact Content

Artifact 44af0f063b5664cb4a279d2e55adad50080b4496:


0000: 23 21 20 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20  #! /usr/bin/env 
0010: 62 61 73 68 0a 0a 76 65 72 73 69 6f 6e 3d 22 24  bash..version="$
0020: 31 22 0a 76 65 72 73 69 6f 6e 5f 72 65 6c 65 61  1".version_relea
0030: 73 65 3d 27 31 27 0a 70 6c 61 74 66 6f 72 6d 3d  se='1'.platform=
0040: 22 24 28 75 6e 61 6d 65 20 2d 6d 29 22 0a 75 72  "$(uname -m)".ur
0050: 6c 3d 22 68 74 74 70 3a 2f 2f 72 6b 65 65 6e 65  l="http://rkeene
0060: 2e 6f 72 67 2f 64 65 76 65 6c 2f 61 70 70 66 73  .org/devel/appfs
0070: 2f 61 70 70 66 73 2d 24 7b 76 65 72 73 69 6f 6e  /appfs-${version
0080: 7d 2e 74 61 72 2e 67 7a 22 0a 6d 61 6b 65 5f 61  }.tar.gz".make_a
0090: 72 67 73 3d 28 0a 09 70 72 65 66 69 78 3d 2f 75  rgs=(..prefix=/u
00a0: 73 72 0a 09 73 62 69 6e 64 69 72 3d 2f 73 62 69  sr..sbindir=/sbi
00b0: 6e 0a 09 6d 61 6e 64 69 72 3d 2f 75 73 72 2f 6d  n..mandir=/usr/m
00c0: 61 6e 0a 29 0a 0a 69 66 20 5b 20 21 20 2d 66 20  an.)..if [ ! -f 
00d0: 27 2f 65 74 63 2f 73 6c 61 63 6b 77 61 72 65 2d  '/etc/slackware-
00e0: 76 65 72 73 69 6f 6e 27 20 5d 3b 20 74 68 65 6e  version' ]; then
00f0: 0a 09 65 63 68 6f 20 27 54 68 69 73 20 73 63 72  ..echo 'This scr
0100: 69 70 74 20 69 73 20 6d 65 61 6e 74 20 74 6f 20  ipt is meant to 
0110: 62 65 20 72 75 6e 20 6f 6e 20 61 20 53 6c 61 63  be run on a Slac
0120: 6b 77 61 72 65 20 73 79 73 74 65 6d 2e 27 20 3e  kware system.' >
0130: 26 32 0a 0a 09 65 78 69 74 20 31 0a 66 69 0a 0a  &2...exit 1.fi..
0140: 69 66 20 5b 20 2d 7a 20 22 24 7b 76 65 72 73 69  if [ -z "${versi
0150: 6f 6e 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 65 63  on}" ]; then..ec
0160: 68 6f 20 27 55 73 61 67 65 3a 20 6d 61 6b 65 2d  ho 'Usage: make-
0170: 73 6c 61 63 6b 77 61 72 65 2d 70 61 63 6b 61 67  slackware-packag
0180: 65 20 3c 76 65 72 73 69 6f 6e 3e 27 20 3e 26 32  e <version>' >&2
0190: 0a 0a 09 65 78 69 74 20 31 0a 66 69 0a 0a 77 6f  ...exit 1.fi..wo
01a0: 72 6b 64 69 72 3d 22 24 7b 54 4d 50 44 49 52 3a  rkdir="${TMPDIR:
01b0: 2d 2f 74 6d 70 7d 2f 61 70 70 66 73 2d 73 6c 61  -/tmp}/appfs-sla
01c0: 63 6b 77 61 72 65 2d 70 61 63 6b 61 67 65 2d 24  ckware-package-$
01d0: 7b 76 65 72 73 69 6f 6e 7d 2d 24 24 24 7b 52 41  {version}-$$${RA
01e0: 4e 44 4f 4d 7d 24 7b 52 41 4e 44 4f 4d 7d 24 7b  NDOM}${RANDOM}${
01f0: 52 41 4e 44 4f 4d 7d 22 0a 70 61 63 6b 61 67 65  RANDOM}".package
0200: 3d 22 61 70 70 66 73 2d 24 7b 76 65 72 73 69 6f  ="appfs-${versio
0210: 6e 7d 2d 24 7b 70 6c 61 74 66 6f 72 6d 7d 2d 24  n}-${platform}-$
0220: 7b 76 65 72 73 69 6f 6e 5f 72 65 6c 65 61 73 65  {version_release
0230: 7d 2e 74 78 7a 22 0a 6d 6b 64 69 72 20 22 24 7b  }.txz".mkdir "${
0240: 77 6f 72 6b 64 69 72 7d 22 20 7c 7c 20 65 78 69  workdir}" || exi
0250: 74 20 31 0a 0a 28 0a 09 50 41 54 48 3d 22 24 7b  t 1..(..PATH="${
0260: 50 41 54 48 7d 3a 2f 73 62 69 6e 3a 2f 6f 70 74  PATH}:/sbin:/opt
0270: 2f 61 70 70 66 73 2f 72 6b 65 65 6e 65 2e 6f 72  /appfs/rkeene.or
0280: 67 2f 74 61 72 64 79 2f 70 6c 61 74 66 6f 72 6d  g/tardy/platform
0290: 2f 6c 61 74 65 73 74 2f 62 69 6e 22 0a 0a 09 73  /latest/bin"...s
02a0: 65 74 20 2d 78 0a 0a 09 63 64 20 22 24 7b 77 6f  et -x...cd "${wo
02b0: 72 6b 64 69 72 7d 22 20 7c 7c 20 65 78 69 74 20  rkdir}" || exit 
02c0: 31 0a 0a 09 69 6e 73 74 61 6c 6c 64 69 72 3d 22  1...installdir="
02d0: 24 28 70 77 64 29 2f 69 6e 73 74 61 6c 6c 65 64  $(pwd)/installed
02e0: 22 0a 0a 09 77 67 65 74 20 2d 4f 20 61 70 70 66  "...wget -O appf
02f0: 73 2e 74 61 72 2e 67 7a 20 22 24 7b 75 72 6c 7d  s.tar.gz "${url}
0300: 22 0a 09 74 61 72 20 2d 78 66 20 61 70 70 66 73  "..tar -xf appfs
0310: 2e 74 61 72 2e 67 7a 20 7c 7c 20 65 78 69 74 20  .tar.gz || exit 
0320: 31 0a 0a 09 63 64 20 22 61 70 70 66 73 2d 24 7b  1...cd "appfs-${
0330: 76 65 72 73 69 6f 6e 7d 22 20 7c 7c 20 65 78 69  version}" || exi
0340: 74 20 31 0a 0a 09 6d 61 6b 65 20 22 24 7b 6d 61  t 1...make "${ma
0350: 6b 65 5f 61 72 67 73 5b 40 5d 7d 22 20 7c 7c 20  ke_args[@]}" || 
0360: 65 78 69 74 20 31 0a 09 6d 61 6b 65 20 22 24 7b  exit 1..make "${
0370: 6d 61 6b 65 5f 61 72 67 73 5b 40 5d 7d 22 20 44  make_args[@]}" D
0380: 45 53 54 44 49 52 3d 22 24 7b 69 6e 73 74 61 6c  ESTDIR="${instal
0390: 6c 64 69 72 7d 22 20 69 6e 73 74 61 6c 6c 20 7c  ldir}" install |
03a0: 7c 20 65 78 69 74 20 31 0a 0a 09 63 64 20 22 24  | exit 1...cd "$
03b0: 7b 69 6e 73 74 61 6c 6c 64 69 72 7d 22 20 7c 7c  {installdir}" ||
03c0: 20 65 78 69 74 20 31 0a 0a 09 6d 6b 64 69 72 20   exit 1...mkdir 
03d0: 69 6e 73 74 61 6c 6c 20 7c 7c 20 65 78 69 74 20  install || exit 
03e0: 31 0a 09 63 61 74 20 3c 3c 20 5c 5f 45 4f 46 5f  1..cat << \_EOF_
03f0: 20 3e 20 69 6e 73 74 61 6c 6c 2f 73 6c 61 63 6b   > install/slack
0400: 2d 64 65 73 63 20 7c 7c 20 65 78 69 74 20 31 0a  -desc || exit 1.
0410: 61 70 70 66 73 3a 20 61 70 70 66 73 20 28 41 70  appfs: appfs (Ap
0420: 70 20 46 69 6c 65 73 79 73 74 65 6d 29 0a 61 70  p Filesystem).ap
0430: 70 66 73 3a 0a 61 70 70 66 73 3a 20 41 70 70 46  pfs:.appfs: AppF
0440: 53 20 69 73 20 61 20 6d 61 6e 69 66 65 73 74 2d  S is a manifest-
0450: 62 61 73 65 64 20 46 55 53 45 20 66 69 6c 65 73  based FUSE files
0460: 79 73 74 65 6d 20 74 68 61 74 20 6c 61 7a 69 6c  ystem that lazil
0470: 79 20 66 65 74 63 68 65 73 20 66 69 6c 65 73 20  y fetches files 
0480: 6f 76 65 72 20 48 54 54 50 2e 0a 61 70 70 66 73  over HTTP..appfs
0490: 3a 20 49 74 20 69 73 20 69 6e 74 65 6e 64 65 64  : It is intended
04a0: 20 74 6f 20 62 65 20 61 20 75 6e 69 76 65 72 73   to be a univers
04b0: 61 6c 20 70 61 63 6b 61 67 69 6e 67 20 66 6f 72  al packaging for
04c0: 6d 61 74 2e 0a 61 70 70 66 73 3a 0a 61 70 70 66  mat..appfs:.appf
04d0: 73 3a 0a 61 70 70 66 73 3a 0a 61 70 70 66 73 3a  s:.appfs:.appfs:
04e0: 0a 61 70 70 66 73 3a 0a 61 70 70 66 73 3a 0a 61  .appfs:.appfs:.a
04f0: 70 70 66 73 3a 0a 5f 45 4f 46 5f 0a 0a 09 6d 61  ppfs:._EOF_...ma
0500: 6b 65 70 6b 67 20 2d 63 20 6e 20 2d 6c 20 79 20  kepkg -c n -l y 
0510: 22 2e 2e 2f 24 7b 70 61 63 6b 61 67 65 7d 22 20  "../${package}" 
0520: 7c 7c 20 65 78 69 74 20 31 0a 0a 09 69 66 20 5b  || exit 1...if [
0530: 20 22 24 28 69 64 20 2d 75 29 22 20 21 3d 20 27   "$(id -u)" != '
0540: 30 27 20 5d 3b 20 74 68 65 6e 0a 09 09 73 65 74  0' ]; then...set
0550: 20 2d 6f 20 70 69 70 65 66 61 69 6c 0a 09 09 78   -o pipefail...x
0560: 7a 20 2d 64 63 20 22 2e 2e 2f 24 7b 70 61 63 6b  z -dc "../${pack
0570: 61 67 65 7d 22 20 7c 20 74 61 72 64 79 20 2d 55  age}" | tardy -U
0580: 73 65 72 20 30 20 2d 47 72 6f 75 70 20 30 20 7c  ser 0 -Group 0 |
0590: 20 78 7a 20 2d 39 63 20 3e 20 22 2e 2e 2f 24 7b   xz -9c > "../${
05a0: 70 61 63 6b 61 67 65 7d 2e 6e 65 77 22 20 7c 7c  package}.new" ||
05b0: 20 65 78 69 74 20 31 0a 09 09 6d 76 20 22 2e 2e   exit 1...mv "..
05c0: 2f 24 7b 70 61 63 6b 61 67 65 7d 2e 6e 65 77 22  /${package}.new"
05d0: 20 22 2e 2e 2f 24 7b 70 61 63 6b 61 67 65 7d 22   "../${package}"
05e0: 20 7c 7c 20 65 78 69 74 20 31 0a 09 66 69 0a 29   || exit 1..fi.)
05f0: 20 7c 7c 20 65 78 69 74 20 31 0a 0a 6d 76 20 22   || exit 1..mv "
0600: 24 7b 77 6f 72 6b 64 69 72 7d 2f 24 7b 70 61 63  ${workdir}/${pac
0610: 6b 61 67 65 7d 22 20 2e 0a 0a 72 6d 20 2d 72 66  kage}" ...rm -rf
0620: 20 22 24 7b 77 6f 72 6b 64 69 72 7d 22 0a 0a 65   "${workdir}"..e
0630: 78 69 74 20 30 0a                                xit 0.