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}".