Hex Artifact Content

Artifact 9bc2bb209146a96e52dccb224fbf898e645a8184:


0000: 23 21 20 2f 62 69 6e 2f 62 61 73 68 0a 0a 50 41  #! /bin/bash..PA
0010: 54 48 3d 22 24 7b 48 4f 4d 45 7d 2f 72 6f 6f 74  TH="${HOME}/root
0020: 2f 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 65 72 73  /cross-compilers
0030: 3a 24 7b 50 41 54 48 7d 3a 2f 73 62 69 6e 3a 2f  :${PATH}:/sbin:/
0040: 75 73 72 2f 73 62 69 6e 3a 2f 75 73 72 2f 6c 6f  usr/sbin:/usr/lo
0050: 63 61 6c 2f 73 62 69 6e 22 0a 65 78 70 6f 72 74  cal/sbin".export
0060: 20 50 41 54 48 0a 0a 56 45 52 53 49 4f 4e 3d 22   PATH..VERSION="
0070: 24 31 22 0a 0a 69 66 20 5b 20 2d 7a 20 22 24 7b  $1"..if [ -z "${
0080: 56 45 52 53 49 4f 4e 7d 22 20 5d 3b 20 74 68 65  VERSION}" ]; the
0090: 6e 0a 09 65 63 68 6f 20 27 55 73 61 67 65 3a 20  n..echo 'Usage: 
00a0: 6d 61 6b 65 2d 72 65 6c 65 61 73 65 20 3c 63 61  make-release <ca
00b0: 63 6b 65 79 5f 76 65 72 73 69 6f 6e 3e 27 20 3e  ckey_version>' >
00c0: 26 32 0a 09 65 78 69 74 20 31 0a 66 69 0a 0a 66  &2..exit 1.fi..f
00d0: 6f 72 20 64 69 72 20 69 6e 20 2e 2e 2f 2e 2e 2f  or dir in ../../
00e0: 61 72 63 68 69 76 65 2f 20 2e 2e 2f 61 72 63 68  archive/ ../arch
00f0: 69 76 65 2f 20 2e 2e 3b 20 64 6f 0a 09 43 41 43  ive/ ..; do..CAC
0100: 4b 45 59 5f 54 41 52 42 41 4c 4c 3d 22 24 28 72  KEY_TARBALL="$(r
0110: 65 61 64 6c 69 6e 6b 20 2d 66 20 22 24 7b 64 69  eadlink -f "${di
0120: 72 7d 2f 63 61 63 6b 65 79 2d 24 7b 56 45 52 53  r}/cackey-${VERS
0130: 49 4f 4e 7d 2e 74 61 72 2e 67 7a 22 29 22 0a 0a  ION}.tar.gz")"..
0140: 09 69 66 20 5b 20 2d 66 20 22 24 7b 43 41 43 4b  .if [ -f "${CACK
0150: 45 59 5f 54 41 52 42 41 4c 4c 7d 22 20 5d 3b 20  EY_TARBALL}" ]; 
0160: 74 68 65 6e 0a 09 09 62 72 65 61 6b 0a 09 66 69  then...break..fi
0170: 0a 64 6f 6e 65 0a 0a 69 66 20 5b 20 21 20 2d 66  .done..if [ ! -f
0180: 20 22 24 7b 43 41 43 4b 45 59 5f 54 41 52 42 41   "${CACKEY_TARBA
0190: 4c 4c 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 65 63  LL}" ]; then..ec
01a0: 68 6f 20 22 54 61 72 62 61 6c 6c 20 6e 6f 74 20  ho "Tarball not 
01b0: 66 6f 75 6e 64 22 20 3e 26 32 0a 0a 09 65 78 69  found" >&2...exi
01c0: 74 20 31 0a 66 69 0a 0a 23 20 43 72 65 61 74 65  t 1.fi..# Create
01d0: 20 52 50 4d 2c 20 53 52 50 4d 2c 20 61 6e 64 20   RPM, SRPM, and 
01e0: 53 6c 61 63 6b 77 61 72 65 20 70 61 63 6b 61 67  Slackware packag
01f0: 65 0a 23 23 20 43 72 65 61 74 65 20 52 50 4d 2f  e.## Create RPM/
0200: 53 52 50 4d 0a 28 0a 09 65 76 61 6c 20 22 24 28  SRPM.(..eval "$(
0210: 73 65 74 75 70 2d 63 63 20 78 38 36 5f 36 34 2d  setup-cc x86_64-
0220: 72 65 64 68 61 74 35 2d 6c 69 6e 75 78 29 22 0a  redhat5-linux)".
0230: 0a 09 6d 6b 64 69 72 20 2d 70 20 7e 2f 72 70 6d  ..mkdir -p ~/rpm
0240: 62 75 69 6c 64 2f 53 50 45 43 53 20 7e 2f 72 70  build/SPECS ~/rp
0250: 6d 62 75 69 6c 64 2f 53 4f 55 52 43 45 53 0a 0a  mbuild/SOURCES..
0260: 09 63 70 20 22 24 7b 43 41 43 4b 45 59 5f 54 41  .cp "${CACKEY_TA
0270: 52 42 41 4c 4c 7d 22 20 7e 2f 72 70 6d 62 75 69  RBALL}" ~/rpmbui
0280: 6c 64 2f 53 4f 55 52 43 45 53 2f 20 7c 7c 20 65  ld/SOURCES/ || e
0290: 78 69 74 20 31 0a 09 74 61 72 20 2d 78 4f 66 20  xit 1..tar -xOf 
02a0: 22 24 7b 43 41 43 4b 45 59 5f 54 41 52 42 41 4c  "${CACKEY_TARBAL
02b0: 4c 7d 22 20 63 61 63 6b 65 79 2d 24 7b 56 45 52  L}" cackey-${VER
02c0: 53 49 4f 4e 7d 2f 63 61 63 6b 65 79 2e 73 70 65  SION}/cackey.spe
02d0: 63 20 3e 20 7e 2f 72 70 6d 62 75 69 6c 64 2f 53  c > ~/rpmbuild/S
02e0: 50 45 43 53 2f 63 61 63 6b 65 79 2d 24 7b 56 45  PECS/cackey-${VE
02f0: 52 53 49 4f 4e 7d 2e 73 70 65 63 20 7c 7c 20 65  RSION}.spec || e
0300: 78 69 74 20 31 0a 0a 09 72 70 6d 62 75 69 6c 64  xit 1...rpmbuild
0310: 20 2d 2d 74 61 72 67 65 74 20 78 38 36 5f 36 34   --target x86_64
0320: 2d 72 65 64 68 61 74 35 2d 6c 69 6e 75 78 20 2d  -redhat5-linux -
0330: 62 61 20 7e 2f 72 70 6d 62 75 69 6c 64 2f 53 50  ba ~/rpmbuild/SP
0340: 45 43 53 2f 63 61 63 6b 65 79 2d 24 7b 56 45 52  ECS/cackey-${VER
0350: 53 49 4f 4e 7d 2e 73 70 65 63 20 7c 7c 20 65 78  SION}.spec || ex
0360: 69 74 20 31 0a 29 0a 0a 28 0a 09 65 76 61 6c 20  it 1.)..(..eval 
0370: 22 24 28 73 65 74 75 70 2d 63 63 20 78 38 36 5f  "$(setup-cc x86_
0380: 36 34 2d 72 65 64 68 61 74 35 2d 6c 69 6e 75 78  64-redhat5-linux
0390: 20 33 32 29 22 0a 09 72 70 6d 62 75 69 6c 64 20   32)"..rpmbuild 
03a0: 2d 2d 74 61 72 67 65 74 20 69 33 38 36 2d 72 65  --target i386-re
03b0: 64 68 61 74 35 2d 6c 69 6e 75 78 20 2d 62 61 20  dhat5-linux -ba 
03c0: 7e 2f 72 70 6d 62 75 69 6c 64 2f 53 50 45 43 53  ~/rpmbuild/SPECS
03d0: 2f 63 61 63 6b 65 79 2d 24 7b 56 45 52 53 49 4f  /cackey-${VERSIO
03e0: 4e 7d 2e 73 70 65 63 20 7c 7c 20 65 78 69 74 20  N}.spec || exit 
03f0: 31 0a 29 0a 0a 23 20 43 72 65 61 74 65 20 44 65  1.)..# Create De
0400: 62 69 61 6e 20 70 61 63 6b 61 67 65 20 66 72 6f  bian package fro
0410: 6d 20 52 50 4d 0a 6d 6b 64 69 72 20 2d 70 20 7e  m RPM.mkdir -p ~
0420: 2f 72 70 6d 62 75 69 6c 64 2f 44 45 42 0a 22 24  /rpmbuild/DEB."$
0430: 28 64 69 72 6e 61 6d 65 20 22 24 30 22 29 2f 72  (dirname "$0")/r
0440: 70 6d 32 64 65 62 22 20 7e 2f 72 70 6d 62 75 69  pm2deb" ~/rpmbui
0450: 6c 64 2f 52 50 4d 53 2f 69 33 38 36 2f 63 61 63  ld/RPMS/i386/cac
0460: 6b 65 79 2d 24 7b 56 45 52 53 49 4f 4e 7d 2d 31  key-${VERSION}-1
0470: 2e 69 33 38 36 2e 72 70 6d 20 7e 2f 72 70 6d 62  .i386.rpm ~/rpmb
0480: 75 69 6c 64 2f 44 45 42 2f 63 61 63 6b 65 79 5f  uild/DEB/cackey_
0490: 24 7b 56 45 52 53 49 4f 4e 7d 2d 31 5f 69 33 38  ${VERSION}-1_i38
04a0: 36 2e 64 65 62 0a 22 24 28 64 69 72 6e 61 6d 65  6.deb."$(dirname
04b0: 20 22 24 30 22 29 2f 72 70 6d 32 64 65 62 22 20   "$0")/rpm2deb" 
04c0: 7e 2f 72 70 6d 62 75 69 6c 64 2f 52 50 4d 53 2f  ~/rpmbuild/RPMS/
04d0: 78 38 36 5f 36 34 2f 63 61 63 6b 65 79 2d 24 7b  x86_64/cackey-${
04e0: 56 45 52 53 49 4f 4e 7d 2d 31 2e 78 38 36 5f 36  VERSION}-1.x86_6
04f0: 34 2e 72 70 6d 20 7e 2f 72 70 6d 62 75 69 6c 64  4.rpm ~/rpmbuild
0500: 2f 44 45 42 2f 63 61 63 6b 65 79 5f 24 7b 56 45  /DEB/cackey_${VE
0510: 52 53 49 4f 4e 7d 2d 31 5f 61 6d 64 36 34 2e 64  RSION}-1_amd64.d
0520: 65 62 0a 0a 23 20 43 72 65 61 74 65 20 53 6c 61  eb..# Create Sla
0530: 63 6b 77 61 72 65 20 70 61 63 6b 61 67 65 0a 6d  ckware package.m
0540: 6b 64 69 72 20 2d 70 20 7e 2f 72 70 6d 62 75 69  kdir -p ~/rpmbui
0550: 6c 64 2f 54 47 5a 0a 0a 57 4f 52 4b 44 49 52 3d  ld/TGZ..WORKDIR=
0560: 22 24 7b 54 4d 50 44 49 52 3a 2d 2f 74 6d 70 7d  "${TMPDIR:-/tmp}
0570: 2f 63 61 63 6b 65 79 2d 62 75 69 6c 64 2d 24 24  /cackey-build-$$
0580: 24 7b 52 41 4e 44 4f 4d 7d 24 7b 52 41 4e 44 4f  ${RANDOM}${RANDO
0590: 4d 7d 24 7b 52 41 4e 44 4f 4d 7d 22 0a 57 4f 52  M}${RANDOM}".WOR
05a0: 4b 44 49 52 49 4e 53 54 52 4f 4f 54 3d 22 24 7b  KDIRINSTROOT="${
05b0: 57 4f 52 4b 44 49 52 7d 2f 72 6f 6f 74 22 0a 65  WORKDIR}/root".e
05c0: 78 70 6f 72 74 20 57 4f 52 4b 44 49 52 20 57 4f  xport WORKDIR WO
05d0: 52 4b 44 49 52 49 4e 53 54 52 4f 4f 54 0a 0a 6d  RKDIRINSTROOT..m
05e0: 6b 64 69 72 20 2d 70 20 22 24 7b 57 4f 52 4b 44  kdir -p "${WORKD
05f0: 49 52 7d 22 20 22 24 7b 57 4f 52 4b 44 49 52 49  IR}" "${WORKDIRI
0600: 4e 53 54 52 4f 4f 54 7d 22 0a 63 64 20 22 24 7b  NSTROOT}".cd "${
0610: 57 4f 52 4b 44 49 52 7d 22 20 7c 7c 20 65 78 69  WORKDIR}" || exi
0620: 74 20 31 0a 0a 74 61 72 20 2d 78 66 20 22 24 7b  t 1..tar -xf "${
0630: 43 41 43 4b 45 59 5f 54 41 52 42 41 4c 4c 7d 22  CACKEY_TARBALL}"
0640: 0a 0a 63 64 20 22 63 61 63 6b 65 79 2d 24 7b 56  ..cd "cackey-${V
0650: 45 52 53 49 4f 4e 7d 22 20 7c 7c 20 65 78 69 74  ERSION}" || exit
0660: 20 31 0a 0a 63 61 73 65 20 22 24 28 75 6e 61 6d   1..case "$(unam
0670: 65 20 2d 6d 29 22 20 69 6e 0a 09 78 38 36 5f 36  e -m)" in..x86_6
0680: 34 29 0a 09 09 41 52 43 48 3d 78 38 36 5f 36 34  4)...ARCH=x86_64
0690: 0a 09 09 4c 49 42 44 49 52 3d 2f 75 73 72 2f 6c  ...LIBDIR=/usr/l
06a0: 69 62 36 34 0a 09 09 3b 3b 0a 09 69 3f 38 36 29  ib64...;;..i?86)
06b0: 0a 09 09 41 52 43 48 3d 69 34 38 36 0a 09 09 4c  ...ARCH=i486...L
06c0: 49 42 44 49 52 3d 2f 75 73 72 2f 6c 69 62 0a 09  IBDIR=/usr/lib..
06d0: 09 3b 3b 0a 09 2a 29 0a 09 09 65 63 68 6f 20 22  .;;..*)...echo "
06e0: 55 6e 6b 6e 6f 77 6e 20 41 52 43 48 22 20 3e 26  Unknown ARCH" >&
06f0: 32 0a 0a 09 09 65 78 69 74 20 31 0a 09 09 3b 3b  2....exit 1...;;
0700: 0a 65 73 61 63 0a 0a 2e 2f 63 6f 6e 66 69 67 75  .esac.../configu
0710: 72 65 20 2d 2d 70 72 65 66 69 78 3d 2f 75 73 72  re --prefix=/usr
0720: 20 2d 2d 6c 69 62 64 69 72 3d 24 7b 4c 49 42 44   --libdir=${LIBD
0730: 49 52 7d 0a 6d 61 6b 65 0a 6d 61 6b 65 20 69 6e  IR}.make.make in
0740: 73 74 61 6c 6c 20 44 45 53 54 44 49 52 3d 22 24  stall DESTDIR="$
0750: 7b 57 4f 52 4b 44 49 52 49 4e 53 54 52 4f 4f 54  {WORKDIRINSTROOT
0760: 7d 22 0a 0a 6d 6b 64 69 72 20 22 24 7b 57 4f 52  }"..mkdir "${WOR
0770: 4b 44 49 52 49 4e 53 54 52 4f 4f 54 7d 2f 69 6e  KDIRINSTROOT}/in
0780: 73 74 61 6c 6c 22 0a 63 61 74 20 3c 3c 20 5f 5f  stall".cat << __
0790: 45 4f 46 5f 5f 20 3e 20 22 24 7b 57 4f 52 4b 44  EOF__ > "${WORKD
07a0: 49 52 49 4e 53 54 52 4f 4f 54 7d 2f 69 6e 73 74  IRINSTROOT}/inst
07b0: 61 6c 6c 2f 73 6c 61 63 6b 2d 64 65 73 63 22 0a  all/slack-desc".
07c0: 63 61 63 6b 65 79 3a 20 47 6f 76 65 72 6d 65 6e  cackey: Govermen
07d0: 74 20 53 6d 61 72 74 63 61 72 64 20 50 4b 43 53  t Smartcard PKCS
07e0: 23 31 31 20 50 72 6f 76 69 64 65 72 0a 63 61 63  #11 Provider.cac
07f0: 6b 65 79 3a 0a 63 61 63 6b 65 79 3a 20 43 41 43  key:.cackey: CAC
0800: 4b 65 79 20 70 72 6f 76 69 64 65 73 20 61 20 73  Key provides a s
0810: 74 61 6e 64 61 72 64 20 69 6e 74 65 72 66 61 63  tandard interfac
0820: 65 20 28 50 4b 43 53 23 31 31 29 20 66 6f 72 20  e (PKCS#11) for 
0830: 73 6d 61 72 74 63 61 72 64 73 20 63 6f 6e 6e 65  smartcards conne
0840: 63 74 65 64 0a 63 61 63 6b 65 79 3a 20 74 6f 20  cted.cackey: to 
0850: 61 20 50 43 2f 53 43 20 63 6f 6d 70 6c 69 61 6e  a PC/SC complian
0860: 74 20 72 65 61 64 65 72 2e 20 20 49 74 20 70 65  t reader.  It pe
0870: 72 66 6f 72 6d 73 20 61 20 73 69 6d 69 6c 61 72  rforms a similar
0880: 20 66 75 6e 63 74 69 6f 6e 20 74 6f 0a 63 61 63   function to.cac
0890: 6b 65 79 3a 20 22 43 6f 6f 6c 4b 65 79 22 2c 20  key: "CoolKey", 
08a0: 62 75 74 20 6f 6e 6c 79 20 73 75 70 70 6f 72 74  but only support
08b0: 73 20 47 6f 76 65 72 6e 6d 65 6e 74 20 53 6d 61  s Government Sma
08c0: 72 74 63 61 72 64 73 2e 20 20 49 74 20 73 75 70  rtcards.  It sup
08d0: 70 6f 72 74 73 20 61 6c 6c 0a 63 61 63 6b 65 79  ports all.cackey
08e0: 3a 20 47 6f 76 65 72 6e 6d 65 6e 74 20 53 6d 61  : Government Sma
08f0: 72 74 63 61 72 64 73 20 74 68 61 74 20 69 6d 70  rtcards that imp
0900: 6c 65 6d 65 6e 74 20 74 68 65 20 47 6f 76 65 72  lement the Gover
0910: 6e 6d 65 6e 74 20 53 6d 61 72 74 63 61 72 64 0a  nment Smartcard.
0920: 63 61 63 6b 65 79 3a 20 49 6e 74 65 72 6f 70 65  cackey: Interope
0930: 72 61 62 69 6c 69 74 79 20 53 70 65 63 69 66 69  rability Specifi
0940: 63 61 74 69 6f 6e 20 28 47 53 43 2d 49 53 29 20  cation (GSC-IS) 
0950: 76 32 2e 31 20 6f 72 20 6e 65 77 65 72 2e 0a 63  v2.1 or newer..c
0960: 61 63 6b 65 79 3a 0a 63 61 63 6b 65 79 3a 0a 63  ackey:.cackey:.c
0970: 61 63 6b 65 79 3a 0a 63 61 63 6b 65 79 3a 0a 5f  ackey:.cackey:._
0980: 5f 45 4f 46 5f 5f 0a 63 61 74 20 3c 3c 20 5f 5f  _EOF__.cat << __
0990: 45 4f 46 5f 5f 20 3e 20 22 24 7b 57 4f 52 4b 44  EOF__ > "${WORKD
09a0: 49 52 49 4e 53 54 52 4f 4f 54 7d 2f 69 6e 73 74  IRINSTROOT}/inst
09b0: 61 6c 6c 2f 73 6c 61 63 6b 2d 72 65 71 75 69 72  all/slack-requir
09c0: 65 64 22 0a 70 63 73 63 2d 6c 69 74 65 0a 5f 5f  ed".pcsc-lite.__
09d0: 45 4f 46 5f 5f 0a 0a 63 64 20 22 24 7b 57 4f 52  EOF__..cd "${WOR
09e0: 4b 44 49 52 49 4e 53 54 52 4f 4f 54 7d 22 20 7c  KDIRINSTROOT}" |
09f0: 7c 20 65 78 69 74 20 31 0a 6d 61 6b 65 70 6b 67  | exit 1.makepkg
0a00: 20 2d 6c 20 79 20 2d 63 20 6e 20 22 24 7b 57 4f   -l y -c n "${WO
0a10: 52 4b 44 49 52 7d 2f 63 61 63 6b 65 79 2d 24 7b  RKDIR}/cackey-${
0a20: 56 45 52 53 49 4f 4e 7d 2d 24 7b 41 52 43 48 7d  VERSION}-${ARCH}
0a30: 2d 31 2e 74 67 7a 22 0a 67 7a 69 70 20 2d 64 63  -1.tgz".gzip -dc
0a40: 20 22 24 7b 57 4f 52 4b 44 49 52 7d 2f 63 61 63   "${WORKDIR}/cac
0a50: 6b 65 79 2d 24 7b 56 45 52 53 49 4f 4e 7d 2d 24  key-${VERSION}-$
0a60: 7b 41 52 43 48 7d 2d 31 2e 74 67 7a 22 20 7c 20  {ARCH}-1.tgz" | 
0a70: 74 61 72 64 79 20 2d 55 73 65 72 20 72 6f 6f 74  tardy -User root
0a80: 20 2d 47 72 6f 75 70 20 72 6f 6f 74 20 7c 20 67   -Group root | g
0a90: 7a 69 70 20 2d 39 20 3e 20 22 24 7b 57 4f 52 4b  zip -9 > "${WORK
0aa0: 44 49 52 7d 2f 63 61 63 6b 65 79 2d 24 7b 56 45  DIR}/cackey-${VE
0ab0: 52 53 49 4f 4e 7d 2d 24 7b 41 52 43 48 7d 2d 31  RSION}-${ARCH}-1
0ac0: 2e 74 67 7a 2e 6e 65 77 22 0a 6d 76 20 22 24 7b  .tgz.new".mv "${
0ad0: 57 4f 52 4b 44 49 52 7d 2f 63 61 63 6b 65 79 2d  WORKDIR}/cackey-
0ae0: 24 7b 56 45 52 53 49 4f 4e 7d 2d 24 7b 41 52 43  ${VERSION}-${ARC
0af0: 48 7d 2d 31 2e 74 67 7a 2e 6e 65 77 22 20 22 24  H}-1.tgz.new" "$
0b00: 7b 57 4f 52 4b 44 49 52 7d 2f 63 61 63 6b 65 79  {WORKDIR}/cackey
0b10: 2d 24 7b 56 45 52 53 49 4f 4e 7d 2d 24 7b 41 52  -${VERSION}-${AR
0b20: 43 48 7d 2d 31 2e 74 67 7a 22 0a 63 70 20 22 24  CH}-1.tgz".cp "$
0b30: 7b 57 4f 52 4b 44 49 52 7d 2f 63 61 63 6b 65 79  {WORKDIR}/cackey
0b40: 2d 24 7b 56 45 52 53 49 4f 4e 7d 2d 24 7b 41 52  -${VERSION}-${AR
0b50: 43 48 7d 2d 31 2e 74 67 7a 22 20 7e 2f 72 70 6d  CH}-1.tgz" ~/rpm
0b60: 62 75 69 6c 64 2f 54 47 5a 0a 0a 23 20 43 6c 65  build/TGZ..# Cle
0b70: 61 6e 75 70 0a 72 6d 20 2d 72 66 20 22 24 7b 57  anup.rm -rf "${W
0b80: 4f 52 4b 44 49 52 7d 22 0a                       ORKDIR}".